Как избежать клавиатурных шпионов при аутентификации доступа - PullRequest
7 голосов
/ 02 августа 2010

Что касается заголовка, что можно сделать, чтобы отключить регистрацию нажатий клавиш / клавиш при аутентификации доступа?

Я только что опубликовал соответствующий вопрос ( как хранить и проверить выбранные цифры при случайном выборе из пароля) ) с просьбой дать совет относительно выбора случайных цифр с PIN-кода / пароля. Какие еще разумно ненавязчивые методы могут быть?

Любые решения приветствуются.

Ответы [ 8 ]

6 голосов
/ 02 августа 2010

Одно из решений для победы над клавиатурными шпионами - не заботиться о том, что они перехватывают вводимый вами текст.

Одноразовые пароли (поиск: "OTP") - это одно из решений.Аутентификация с помощью смарт-карты - это другое.

5 голосов
/ 02 августа 2010

Аппаратный кейлоггер не будет обманут каким-либо решением, требующим использования клавиатуры. Таким образом, чтобы обойти их, вам понадобится ввод только через мышь. Но программные кейлоггеры можно остановить, добавив хук клавиатуры в свой собственный код, который захватывает клавиши и который не вызывает следующую хук-процедуру в списке хуков. Но перехваты клавиатуры, как правило, запускают антивирусное программное обеспечение, если оно используется неправильно, и будут вызывать ошибки, если вы используете их в любой динамической библиотеке с неверным параметром.
И, в основном, кейлоггер будет использовать комбинацию клавиш для захвата нажатий клавиш. Добавив свой собственный брелок поверх вредоносного брелка, вы отключите кейлоггер.
Тем не менее, есть кейлоггеры, которые прячутся глубже в ядре, поэтому вы вскоре получите кейлоггер, который снова обойдет вашу безопасность .

Но не слишком сосредотачивайтесь на опасности кейлоггеров. Это всего лишь один из многих методов, которые хакеры используют для получения всех видов информации об аккаунте. Хуже того, вы никак не можете защитить своих пользователей от уловок социальной инженерии. По сути, хакерам проще всего получить информацию об учетной записи, просто запросив эту информацию у своих жертв. С помощью поддельных сайтов, ложных приложений и всевозможных других уловок они могут просто собирать любую информацию, которую вы пытаетесь защитить, блокируя кейлоггеры. Но кейлоггеры просто не самая большая опасность.


Одним из предложений было использование изображений милых котят (или щенков), по которым пользователь мог щелкнуть. Вы можете использовать набор из 10 картинок и позволить пользователю выбрать четыре из них в качестве своего «пин-кода». Затем всякий раз, когда пользователю нужно ввести свой код, отображать картинки в произвольном порядке, чтобы хакеры не использовали его местоположение. Если это веб-приложение, присвойте изображениям случайное имя и просто сообщите серверу, какой именно. Чтобы сделать его еще более сложным, вы можете создать 10 наборов из 10 изображений, где каждое изображение отображает один объект, но с несколько иной точки зрения, под другим углом или другим цветом. Набор 1 - это стул, набор 2 - стол, набор - 3 котенка, набор - четыре щенка и т. Д. Пользователю тогда просто нужно запомнить: стол, котенка, стул, щенка. (Или щенок, стул, стул, стол. Или котенок, щенок, щенок, щенок ...)

5 голосов
/ 02 августа 2010

У вас может быть изображение с кликабельностью и буквами на нем.Ваши пользователи будут очень злы, хотя ...

2 голосов
/ 02 августа 2010

Вы можете разрешить использование только экранной клавиатуры для ввода пароля.

Или вы можете написать модуль (например, на flash) для распознавания паролей от руки (с помощью мыши или фото).

1 голос
/ 02 августа 2010

Портал онлайн-банкинга моего банка имеет хороший способ, который я нахожу очень ненавязчивым.При создании учетной записи вы определяете 6-значный PIN-код (в дополнение к обычному паролю).После ввода пароля вам будет предложено ввести 2 цифры 6-значного PIN-кода в двух случайных положениях.Например, если ваш PIN-код - 654321, он запросит цифры 2 и 5, и вы нажмете 5 и 2 (на нем есть цифровая клавиша с цифрами для нажатия).Даже если вы введете цифры с помощью клавиатуры, это все равно будет безопасно, поскольку злоумышленник не будет знать, какие цифры у вас запрашиваются (если он не захватывает также и экран, возможно, с помощью бури).

Итак, короткий ответ: запрашивайте только некоторые части пароля / PIN-кода в произвольном порядке.Использование пользователем мыши повышает безопасность.

Еще одна идея: если у вас есть PIN-код (цифровой пароль), попросите пользователя изменить некоторые цифры, например, «2-я цифра плюс 3, 4-я цифра минус 1».

1 голос
/ 02 августа 2010

Как насчет изменения стандартного пароля. Например, у вас может быть список слов и программа пропускает случайные буквы из каждого слова. В дополнение к этому из списка исключается одно слово, которое пользователь должен запомнить, и набрать его.
Если слова образуют предложение, пользователям было бы легче его запомнить, но, с другой стороны, создание предложения было бы более сложным, поскольку вам нужно было бы использовать слова, которые невозможно угадать из контекста предложения. Другой вариант этого может заключаться в том, чтобы программа в произвольном порядке попросила пользователя заменить все буквы i на 1 или a на 4 или поместить произнесенную букву R после каждой третьей буквы A или что-то подобное.

Как правило, есть пароль, который будет изменен случайным образом, и инструкции по его отображению для пользователя.

Теперь, когда я об этом думаю, я не уверен, насколько ненавязчивы мои идеи ...

1 голос
/ 02 августа 2010

Предполагая, что захватывается только клавиатура, а не ввод мыши, вы можете ввести пароль не по порядку, перемещая курсор с помощью мыши.

Мне действительно больше нравится однократный подход.

1 голос
/ 02 августа 2010

Единственный реальный способ - это правильный второй фактор аутентификации: Либо что-то, чем является человек: отпечаток пальца, сканирование радужной оболочки глаза.Или что-то, что у них есть: список одноразовых паролей / генератор;крипто-генератор.

...