Как избежать клавиатурных перехватчиков при аутентификации доступа

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

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

Любой и все решения ценятся.

7
задан Community 23 May 2017 в 12:04
поделиться

8 ответов

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

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


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

5
ответ дан 6 December 2019 в 08:13
поделиться

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

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

6
ответ дан 6 December 2019 в 08:13
поделиться

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

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

2
ответ дан 6 December 2019 в 08:13
поделиться

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

5
ответ дан 6 December 2019 в 08:13
поделиться

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

1
ответ дан 6 December 2019 в 08:13
поделиться

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

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

1
ответ дан 6 December 2019 в 08:13
поделиться

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

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

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

1
ответ дан 6 December 2019 в 08:13
поделиться

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

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

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

1
ответ дан 6 December 2019 в 08:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: