Как работают средства, открывающие пароли? - PullRequest
4 голосов
/ 19 января 2010

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

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

Мои запросы

  1. Как один процесс получает доступ к информации другого программного обеспечения?
  2. Каковы его ограничения?
  3. Какую практику я могу использовать для предотвращения этого?

Редактировать : Да, хранение пароля с фиктивными данными является наиболее часто используемым решением для этого. Но все же та же теория может быть применена к другому случаю, верно? Например, внешняя программа может читать ваши электронные письма, шпионская программа может записывать ваши действия и т. Д. И даже мы можем реализовать некоторые интересные функции, такие как поддержка перетаскивания из IE в Mozilla:)

Так что в этом случае наиболее эффективным Решение будет "Блокировка" механизм. Есть какой-либо способ сделать это? (Избегайте доступа к ресурсам процесса ???)

Ответы [ 4 ]

2 голосов
/ 19 января 2010

Как сказал Шелковистый, это просто вопрос отправки сообщений Windows, есть очень простой источник , который показывает все поля пароля одновременно.Простая контрмера - это поле пароля, содержащее фиктивные символы вместо реального пароля.Вы можете захватить то, что набирается, сохранить его в переменной и заменить его пустым символом в поле пароля.

2 голосов
/ 19 января 2010

Возможно, найдя элемент управления и отправив сообщение в текстовое поле, в котором символ «пароль» заменяется пустым (то есть он будет повторно получен).

Итак:

  1. Посылая им сообщения Windows

  2. Я не могу вспомнить, но я уверен, что вам просто нужна ручка окна.

  3. Не отображать пароль в поле пароля вообще. Просто держите его где-то в памяти и показывайте только в том случае, если пользователь специально запрашивает его.

0 голосов
/ 19 января 2010

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

Чтобы раскрыть пароль, хранимое хеш-значение необходимо сравнить с чем-либо с известным хеш-значением или, в случае сломанной хеш-функции, хеш-значение можно угадать в переданное значение. Последней из этих возможностей является метод, используемый взломщиками паролей Cisco, если вы можете войти в коробку, потому что Cisco использует заведомо слабую хеш-функцию. В более поздних версиях Windows используется хеш-функция NTLM, которая очень сильна. В этом случае вы должны сравнить сохраненные хеш-значения с известными хеш-значениями. Этот метод называется радужным столом. Типичный алфавитно-цифровой и 7-битный пароль ASCII, состоящий из 14 символов, имеет радужную таблицу размером 64 ГБ. Вот почему более длинные пароли значительно лучше, так как для сравнения значения хеш-функции с миллиардами других значений потребуется несколько минут.

0 голосов
/ 19 января 2010

IIRC эта "слабость" была устранена начиная с Windows XP SP2?В любом случае, я уверен, что стандартный элемент управления текстовым полем Windows, который используется для паролей, получил обновление, так что вы не могли просто использовать такие инструменты, как Spy ++, чтобы посмотреть на фактический текст, который был замаскирован.

...