2010-08-02 4 views
7

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

Я только что разместил связанный с этим вопрос (how-to-store-and-verify-digits-chosen-at-random-from-a-pin-password), прося совета для выбора случайных цифр с PIN-кода/пароля. Какие еще могут быть относительно ненавязчивые методы?

Оценены все решения.

+0

Вы уверены, что кейлогеры - ваша главная забота? И если да, то как? Это звучит как датированный вектор атаки IMHO. – bzlm

+2

@bzlm - Keyloggers теперь «датированы»? Мне уже пришлось выбросить мою микрофильмирующую камеру с сигаретой и мои жучки-телефонные трубки. Наверное, мне лучше вернуться в штаб-квартиру для новых технологий! –

+0

Датированный? вы, ребята, должны проверить продажи клавиатурных шпионов на ebay ... И они по-прежнему являются самым простым и дешевым способом перехвата всей аутентификации/безопасности/шифрования/хэширования. Если вы, ребята, думаете, что это старая шляпа, тогда я снова подумаю. Даже биометрические данные являются обнюхивающими. – andora

ответ

5

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

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


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

+0

Принято как наиболее полный ответ, с подсказкой для Павла для предложения вспышки. – andora

5

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

+6

Используйте фотографии симпатичных котят вместо букв. Все любят симпатичных котят. Никто не будет сумасшедшим! :) – bzlm

+0

@bzlm: cool ;-) – andora

+0

И если вы супер параноидально случайным образом перетасовываете буквы/цифры/котята каждый раз, когда вы их показываете (чтобы сделать пользователей еще более безумными) :) – Jaka

2

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

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

+1

Интересное использование вспышки! thx +1 – andora

1

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

6

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

Одноразовые пароли (поиск: «OTP») являются одним из решений. Проверка подлинности на смарт-карте - другая.

+0

Хорошая точка, спасибо +1 – andora

1

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

Мне очень нравится одноразовый подход.

1

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

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

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

+0

Интересно - совсем как система «capcha» - thx – andora

1

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

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

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

+0

Я только заметил, что у вас была такая же идея в вашем другом вопросе. Извините, что не читал. – jkramer

+0

+1 за упоминание бури! – AndrejaKo

+0

Он запрашивает только две цифры? Это означает, что у хакера есть шанс 1 из 100 на правильное угадывание! Это шанс сделать так, чтобы попытаться взломать такие аккаунты! Я бы потребовал, по крайней мере, четырехзначный ввод. Тем не менее, есть дополнительный пароль, который им нужно угадать в первую очередь. –

Смежные вопросы