Есть ли способ обнаружить программное обеспечение регистрации ключей? - PullRequest
6 голосов
/ 17 мая 2011

Я мог бы написать программу для обнаружения вредоносного (или не вредоносного) программного обеспечения, которое регистрирует ключи (регистрирует нажатия клавиш для получения информации).

  1. Какая тактика будет использоваться?
    • Есть ли определенный код для поиска?
    • Есть ли определенные местоположения, которые я должен искать?
  2. Я предпочитаю Java или Perl, так как свободно владею этими языками
    • Будут ли работать эти языки?
    • Есть ли лучший язык для этого случая?
  3. Что будет использоваться?
    • Код?
    • Алгоритмы?
    • Функция?

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Я думаю, это зависит от того, что вы пытаетесь сделать. Если вы ищете известные программы кейлогинга, вы можете использовать любое программное обеспечение, которое может выполнять поиск в файловой системе для просмотра сигнатур файлов. Тем не менее, похоже, что вы хотите обнаружить неизвестные программы. Я не верю, что это строго возможно. Приложения ведения блога могут пассивно прослушивать нажатия клавиш, поэтому нет активной подписи, которую вы могли бы искать. Вероятно, было бы легче понять программное обеспечение, которое должно работать на вашем компьютере, а затем обнаружить любое новое программное обеспечение, которое начинает работать. Это не обязательно будет программное обеспечение для регистрации нажатий клавиш, но это будет неавторизованное программное обеспечение (или, по крайней мере, еще не авторизованное программное обеспечение).

Нажатия клавиш передаются в систему как события, на которые вы можете подписаться в своем приложении. Так игры и другие программы используют ввод с клавиатуры. Вся система знает, когда нажата клавиша и какой она была. Вы не можете знать, кто слушает.

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

2 голосов
/ 17 мая 2011

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

В этом случае единственной надеждой на обнаружение клавиатурных шпионов является проверка цепочки драйверов в поисках нестандартных драйверов (но некоторые регистраторы ключей могут заразить стандартные драйверы), что не особенно просто в Windows-land(такой низкий уровень проверки).

Нужно подключиться к антивирусным / антивирусным хукам, чтобы иметь возможность реально получить доступ не только к определениям цепочки драйверов, но и к реальному исполняемому коду для обнаруженияесли происходит какое-то ведение журнала ключей, и это сложно, полно бюрократии и почти невозможно исправить во всем, кроме C / C ++

...