High-Tech

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

Шпион - ловушка

К самым популярным в определенной среде решениям можно причислить кейлоггеры, реализованные по алгоритму создания самых простых клавиатурных ловушек. Принцип такого решения построен на возможностях, имеющихся и предусмотренных в ОС. Такая ловушка умеет считывать данные одновременно с их обработкой легальными приложениями, которые входят в состав ОС, подключаясь к самым обычным процессам, таким как csrss.exe. Высокую результативность и доступность методике обеспечивает то, что с ее помощью имеется возможность организовать перехват любых, без ограничений, нажатий клавиатуры ПК. В связи с тем, что ловушка получает доступ к контролю любого системного потока, мимо нее не сможет проскочить ни одно нажатие клавиши. Кроме того подкупает простота в создании приложения подобного плана. От программиста не требуется глубоких познаний – достаточно иметь понимание азов в наиболее известных языках, как Delphi или Visual C++. Потребуется также знание Win32API. Но при этом нужно понимать, что такой метод ведет к тому, что придется создавать дополнительную DLL библиотеку. Несмотря на свою достаточно высокую эффективность данного способа и при несомненной его простоте, это и будет его самым большим минусом. Суть в том, что задача по обнаружению такого приложения, которое отягощено библиотекой DLL, значительно упрощается, да и процедурные потоки регистрации событий имеют ряд нежелательных ограничений.

Опросы клавиатуры

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

Драйвера клавиатуры

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

Аппаратные кейлоггеры

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