Клавиатурные шпионы. принципы работы и методы обнаружения. часть i
Содержание:
- Программа LanAgent
- KEYLOGGER: WHY YOU NEED TO KEEP TABS ON YOUR KID`S KEYLOGGING ACTIVITIES
- Использование кейлоггеров
- All In One Keylogger
- Вступление
- Объект воздействия
- Рост популярности кейлоггеров у злоумышленников
- Принципы построения кейлоггеров
- Особенности выбора
- Настройка и прошивка платы ESP8266
- Как собрать?
- Для чего нужен кейлоггер ?
- Клавиатурные шпионы
- Особенности выбора
- Слежение за клавиатурным вводом при помощи ловушек
Программа LanAgent
LanAgent перехватывает все нажатия клавиш на клавиатуре. И набираемый текст, и нажатия системных клавиш. При этом предусмотрена функция, позволяющая оставить только сам текст.
Разумеется, учитывается язык ввода программы. В том числе даже экзотические языки.
Чтобы показать цельный текст, вместо набора отдельных слов, агент копит набираемые символы у себя в памяти, а в базу истории их запишет при смене окон программ или после некоторого периода отсутствия новых нажатий клавиш.
Благодаря этому, если пользователь пишет длинное письмо или заполняет документ в Word, то, в результате, можно просмотреть его также одним перехваченным текстом.
Как видно на скрине, сохраняется не только сам текст, а еще и время, когда он был набран, в какой программе это происходило, имя пользователя компьютера.
Указание программ, в которых были нажаты клавиши, помогает не просто быстрее сориентироваться в смысле текста, а еще и отфильтровать все перехваченное. Например, оставить только текст, набранный в Ворде.
Если больше интересует не содержимое набранных документов, а текст переписки в скайпе, почте или сообщений соц. сетей, то его удобнее будет просмотреть не среди логов кейлоггера, а прямо отдельными сообщениями.
LanAgent перехватывает целиком сообщения соц сетей, письма и переписку мессенджеров. Так с ними удобнее работать и искать в них нарушения.
Вот так выглядит история перехваченных сообщений соц. сетей:
А вот так – перехваченная почта:
А так, поисковые запросы, набираемые в яндексе или google:
Важное замечание: LanAgent никогда НЕ разрабатывался для перехвата чужих паролей!
Да, некоторые пароли, набираемые на клавиатуре компьютера, например в браузерах или других программах, будут перехвачены. Также как и любой другой текст.
Но, ещё раз подчеркивается, программа не ориентирована на такие цели.
Задачи LanAgent в обнаружении подозрительных действий пользователей на компьютере, анализе переписки и выявлении в ней ключевых слов, оповещении об угрозах
LanAgent изначально разрабатывался для работы в компьютерной сети. У него есть отдельно серверная часть с централизованной базой данных. И следящий модуль – который и обеспечивает перехват всех действий, совершаемых на компьютере, в том числе перехват клавиатуры.
Тем не менее, можно все части программы поставить и на один компьютер и тогда слежение будет происходит за ним самим.
Если по какой-то причине серверный компьютер недоступен, то собранные данные могут временно хранится на контролируемом ПК. При восстановлении связи они будут переданы на сервер и дальше вы сможете их просматривать не зависимо от того, включен ли сейчас компьютер, за которым настроен контроль.
Установка агента на контролируемые ПК скрытом режиме возможна, если они находятся в локальной сети предприятия. В процессе работы следящий модуль себя никак не обнаруживает
Иконок в системном трее не создает, надписей на экран не выводит.
Важно отметить, что LanAgent – средство повышения безопасности, а не ее преодоления. Он НЕ использует средств распространения по типу вирусов
И для установки следящего модуля потребуются права администратора на компьютере, на котором производится установка.
В заключении еще раз нужно отметить, что клавиатурный шпион (или keylogger) это лишь одна из функций программного обеспечения LanAgent.
Скачайте клавиатурного шпиона
бесплатную 15-дневную ознакомительную версию LanAgent
СКАЧАТЬ
KEYLOGGER: WHY YOU NEED TO KEEP TABS ON YOUR KID`S KEYLOGGING ACTIVITIES
A keylogger for Android can be a lifesaver. Think about it. The Internet is a fantastic tool, offering you instant communication with anyone. It opens up huge possibilities for adults and kids. But without parental supervision, those possibilities can turn dangerous and destructive.
The more connected your kids become, the higher their chances are to be exposed to the dangers that exist online and come across violent and inappropriate content — things that can harm them. That`s why when it comes to kid`s safety, parental control software is so crucial.
Software can`t do everything, but it can make parents` lives much easier, especially when your kids are getting older and want more independence. When choosing the right software for your needs, pay attention to phone keylogger solutions. They’re an integral part of sophisticated monitoring and a recommended part of any parent’s arsenal for more peace of mind. New to keylogging software? Below we will explain the ins and outs of a keylogger app and why you need it.
Использование кейлоггеров
Далее нужно разобраться, является ли использование кейлоггера законным использованием легального ПО или же это мошенническое действие совершенное в преступных целях?
Несанкционированная установка кейлоггера или программных продуктов, включающих в себя кейлоггер в качестве модуля — это установка без ведома и согласия владельца (администратора) персонального компьютера или другой автоматизированной системы. Как правило, такие программные продукты имеют возможность конфигурирования и получения «скомплектованного» установочного исполняемого файла, который доставляется на компьютер жертвы при помощи различных нелегальных схем (фишинг, персонифицированный спам, социальная инженерия) и при инсталляции не выводит никаких сообщений и не создает окон на экране. То есть процесс установки кейлоггера происходит без непосредственного физического доступа к компьютеру пользователя и зачастую не требует наличия прав администратора системы. Такие кейлоггеры часто входят в состав вредоносного шпионского ПО и используются для кражи конфиденциальной информации (логины и пароли, данные банковских карт и прочее).
Санкционированное применение кейлоггера — это использование кейлоггера с ведома и при согласии владельца или администратора безопасности персонального компьютера. Как правило, санкционированно устанавливаемые мониторинговые программные продукты требуют физического доступа к компьютеру и наличия прав администратора для конфигурирования и инсталляции, что исключает (или, по крайней мере, минимизирует) возможность несанкционированного использования таких программ.
Лучшее программное обеспечение для мониторинга компьютера
Одна из лучших программ наблюдения, которую мы протестировали, благодаря своей богатой функциональности, гибкости и простому в понимании интерфейсу. Можно использовать для того чтобы контролировать домашний ПК, выполнять Родительский контроль и контроль работника.
Читать полный обзор
All In One Keylogger
Простой в использовании и достаточно мощный кейлоггер All In One Keylogger обеспечивает всем необходимым функционалом для отслеживания действий за компьютером.
Из основных функций отметим:
- Отслеживание нажатий клавиш с возможностью включения/выключения регистрации несимвольных (CTRL, SHIFT, ALT и т.д.) клавиш.
- Отслеживание отправленных/принятых сообщения мессенджерах с удобным хранением логов переписок в Skype, QIP, Yahoo, ISQ, Live Messenger, AIM и других.
- Регистрация данных, заносимых в буфер обмена (CTRL+C).
- Настройка приложений, в которых не будут отслеживаться действия пользователя и наоборот.
- Создание скриншотов (снимков экрана) по времени, при каждом клике мышью, клавиш Tab или Enter. Имеется возможность настройки качества снимков, автоматического уменьшения размеров и других параметров.
- Запись звука с микрофона и видео с веб-камер (если подключены к компьютеру).
- Различные настройки ведения логов — включение, выключение и удаление по времени и другим параметрам, отправка на электронную почту, FTP-сервер, сетевую папку на компьютер в локальной сети, USB-диск в соответствии с различными условиями.
- Различные способы скрытия следов пребывания программы на компьютере — самоудаление в установленное время, скрытие процесса в «Диспетчере задач», удаление записей из системных журналов и другие.
- Защита доступа в программу паролем, открытие окна приложения по заданной комбинации клавиш или путем набора пароля с клавиатуры в любом месте (другом открытом окне, рабочем столе и т.д.).
- Хранение логов в зашифрованном виде (их можно просматривать только в самой программе). Но при необходимости логии могут быть экспортированы в различные типы файлов — текстовые, HTML, изображения и т.д.
Кейлоггер All In One Keylogger работает во всех версиях Windows, начиная с Win 2000 (32-бит и 64-бит). Интерфейс не имеет поддержки русского языка. Бесплатная версия программы не имеет функциональных ограничений, но работает только в течение одной недели с момента установки.
Вступление
Не так давно я написал пост как можно отслеживать действия пользователей с помощью CSS, на который получил вопрос формата «можно ли собрать данные формы с помощью CSS». Возможно, c первого взгляда, покажется что это невозможно
Но давайте посмотрим на CSS селекторы, принимая во внимание, что применять их мы будем к тегу input type=»text»
В первую очередь, кажется логичным использовать для этих целей селектор атрибутов
вида input, который позволяет выбрать поля текстовое содержание которых начинается с строки «login».
Мы можем сгенерировать словарь слов, и создать множество CSS правил по шаблону jsfiddle:
У данного подхода есть значительный недостаток, такая схема будет отправлять запросы только в случае, если у тега input изначально был установлен атрибут value на серверной стороне. С другой стороны, бывает так, что после отправки формы пользователю возвращается та же самая форма (с уже заполненными полями) но с списком необходимых исправлений. В таком случае наш метод отработает на 100%.
Напишем небольшой скрипт, для генерации CSS с нужными комбинациями:
Таким образом мы получим 58905 правил, которые после обработки GZIP, вмещаются в файл размером 350K. В случае если на странице-жертве будет обнаружено поле, в котором текст совпадает с одним из наших правил (скажем, начинается со слова «XXXX») — мы получим GET запрос на x.x/save/XXXX.
Объект воздействия
Проникновение программного кейлоггера в компьютер происходит легко и незаметно. Шпион может попасть в систему вместе с нелицензионным ПО, незаметно загрузиться при посещении сайтов, при открытии файла, прикрепленного к электронному письму, и даже быть встроенным в другое приложение. Кроме того, существуют легальные кейлоггеры, например программа Punto Switcher от компании «Яндекс». Она не только автоматически переключает раскладку клавиатуры (что является ее основной функциональностью), но и имеет опцию ведения дневника, записывая в текстовый файл все нажатия клавиш. Зная об этом, злоумышленники устанавливают ее на компьютеры жертв, так как Punto Switcher не детектируется антивирусными программами.
Кейлоггеры (keyloggers) вмешиваются в работу компьютера, но не вредят операционной системе. Из-за отсутствия деструктивных функций, а также ввиду возможности легального использования их относят к нежелательным программам, а не ко вредоносным. Действительно, регистратор нажатий клавиш может служить как хорошим средством управления безопасностью, так и результативным средством ее нарушения. Увидеть тонкую грань между этими функциями помогут только цели, с которыми применялся кейлоггер.
Итак, применение клавиатурного шпиона может быть санкционированным и несанкционированным. При санкционированном использовании аппаратного или программного кейлоггера пользователь ПК или ноутбука, инженер безопасности либо владелец автоматизированной системы ставится в известность о его наличии. В таком случае кейлоггеры называются мониторинговыми продуктами и выполняют ряд полезных функций. В частности, регистраторы нажатий клавиш санкционированно применяются в государственных учреждениях, в частных компаниях, на производствах и в других различных организациях
Установка кейлоггеров дает возможность определить попытки передачи важной информации третьим лицам или набора паролей доступа, а также исследовать инциденты, связанные с компьютером. Клавиатурные шпионы помогают контролировать использование компьютерной техники в личных целях или в нерабочее время, а также получить информацию с жесткого диска ПК, если по какой-то причине нет пароля доступа
Кейлоггер позволяет определить, насколько оперативно и грамотно персонал может реагировать на воздействия извне. Кроме того, кейлоггеры встраиваются в DLP-продукты с целью контроля переписки персонала для предотвращения передачи секретной информации. С помощью регистратора нажатий клавиш можно восстановить важную информацию после нарушения работы ОС.
Несанкционированное применение кейлоггера состоит во внедрении программы или аппаратного устройства без согласия и без ведома владельца или оператора. Такие регистраторы считаются шпионскими продуктами и обычно связаны с противозаконной деятельностью. Объектами воздействия несанкционированного применения кейлоггеров (keyloggers) могут быть частные лица, банковские и финансовые системы, компании большого и малого бизнеса, государственные структуры и т.д.
Незаконное использование аппаратных устройств или фиксирующих программ дает злоумышленнику возможность получить важную корпоративную информацию, номера счетов, пароли в системах платежей, коды к учетным данным, доступ к просмотру электронной почты. С помощью кейлоггеров осуществляется шпионаж в сфере политики и экономики, открывается доступ к тайнам коммерческих структур и государственных учреждений, системам криптографической защиты информации, становится возможным завладение чужими денежными средствами, использование учетных записей в своих целях.
Рост популярности кейлоггеров у злоумышленников
Популярность кейлоггеров у злоумышленников подтверждают различные компании, работающие в сфере компьютерной безопасности.
В отчете компании VeriSign отмечается, что в последние годы наблюдается бурный рост числа вредоносных программ, имеющих функциональность кейлоггера.
В одном из отчетов компании Symantec сообщается о том, что около половины вредоносного ПО, найденного ее аналитиками за последний год, не представляет прямой угрозы для компьютеров, а используется киберпреступниками с целью сбора персональной информации владельцев ПК.
В соответствии с расчетом, проведенным аналитиком института SANS Джоном Бамбенеком (John Bambenek), только на территории США к концу 2004 года около 10 млн. компьютеров были заражены одной из вредоносных программ, содержащих функции кейлоггера. На основе этого расчета сумма, которую американские пользователи электронных платежных систем рискуют потерять, составляет ни много ни мало 24,3 миллиарда долларов.
«Лаборатория Касперского» постоянно фиксирует появление новых вредоносных программ с функциями клавиатурных шпионов. Одно из первых вирусных предупреждений о вредоносной программе с функцией кейлоггера — троянской программе TROJ_LATINUS.SVR — было опубликовано «Лабораторией Касперского» на специализированном ресурсе www.securelist.com 15 июня 2001 года. После этого стабильно появлялись новые версии кейлоггеров. В настоящий момент в антивирусных базах «Лаборатории Касперского» присутствует информация более чем о 300 семейств специализированных кейлоггеров. В эту цифру не входят кейлоггеры, включенные в сложные вредоносные программы, в которых функциональность клавиатурного шпиона не является главной.
Большинство современных вредоносных программ представляет собой гибридные угрозы, в которых используется множество технологий, поэтому почти в любой категории вредоносных программ могут быть программы, одной из функций которых является слежение за клавиатурным вводом.
Принципы построения кейлоггеров
Большинство современных вредоносных программ представляет собой гибридные угрозы, в которых используется множество технологий, поэтому почти в любой категории вредоносных программ могут быть программы, одной из функций которых является слежение за клавиатурным вводом. На следующем графике показана динамика роста числа шпионских программ, ежемесячно обнаруживаемых «Лабораторией Касперского». Большинство этих программ используют технологии кейлоггеров.
Принципиальная идея кейлоггера состоит в том, чтобы внедриться между любыми двумя звеньями в цепи прохождения сигнала от нажатия пользователем клавиш на клавиатуре до появления символов на экране — это может быть видеонаблюдение, аппаратные «жучки» в самой клавиатуре, на проводе или в системном блоке компьютера, перехват запросов ввода-вывода, подмена системного драйвера клавиатуры, драйвер-фильтр в клавиатурном стеке, перехват функций ядра любым способом (подменой адресов в системных таблицах, сплайсингом кода функции и т.п.), перехват функций DLL в пользовательском режиме, наконец, опрос клавиатуры стандартным задокументированным способом.
Однако практика показывает, что чем сложнее подход, тем менее вероятно его применение в широкораспространяемых троянских программах и более вероятно его использование в целевых троянцах для кражи корпоративной финансовой информации.
Все кейлоггеры можно условно разделить на аппаратные и программные. Первые представляют собой небольшие устройства, которые могут быть закреплены на клавиатуре, проводе или в системном блоке компьютера. Вторые — это специально написанные программы, предназначенные для отслеживания нажатий клавиш на клавиатуре и ведения журнала нажатых клавиш.
Наиболее популярные технические подходы к построению программных кейлоггеров:
- системная ловушка на сообщения о нажатии клавиш клавиатуры (устанавливается с помощью функции WinAPI SetWindowsHook, для того чтобы перехватить сообщения, посылаемые оконной процедуре, — чаще всего пишется на C);
- циклический опрос клавиатуры (с помощью функции WinAPI Get(Async)KeyState, GetKeyboardState — чаще всего пишется на VisualBasic, реже на Borland Delphi);
- драйвер-фильтр стека клавиатурных драйверов ОС Windows (требует специальных знаний, пишется на C).
Мы очень детально рассмотрим различные методы построения кейлоггеров во второй части нашей статьи. Пока же приведем немного статистики.
Примерное распределение указанных типов кейлоггеров показано на следующей диаграмме:
В последнее время отмечается тенденция использования в кейлоггерах методов сокрытия (маскировки) своих файлов — так, чтобы их нельзя было найти вручную или с помощью антивирусного сканера. Такие методы принято называть rootkit-технологиями. Можно выделить два основных типа технологий сокрытия, используемых кейллоггерами:
- с использованием методов сокрытия пользовательского режима (UserMode);
- с использованием методов сокрытия режима ядра операционной системы (KernelMode).
Примерное распределение используемых кейлоггерами технологий сокрытия показано на следующей диаграмме:
Особенности выбора
Что же такое по своей сути клавиатурный шпион? Это программа, которая, строго говоря, напрямую никак не связана с клавиатурой.
Она устанавливается в память компьютера и действует на жестком диске. Часто признаков ее деятельности не видно на компьютере, если не искать их целенаправленно.
Такая программа косвенно взаимодействует с клавиатурой, то есть работает с программой на ПК, которая преобразует сигналы, поступающие на процессор в результате нажатия кнопок, в текст при печати.
То есть, направлено действие такого софта на сбор информации, вводимой через клавиатуру.
Такие утилиты бывают разного типа – с помощью некоторых можно просмотреть весь набранный с клавиатуры текст, с помощью других – только тот, что был набран в браузере или в каком либо выбранном приложении.
Некоторые программы предоставляют возможность настройки таких показателей, другие нет.
Также они отличаются друг от друга по степени скрытности. Например, деятельность одних очевидна, на Рабочем столе остается ярлык и т. д., такие программы подойдут для контроля деятельности, например, детей.
Следы присутствия и деятельности других не заметны вовсе – они действуют скрыто и подойдут для установки на чужой компьютер, когда факт установки необходимо скрыть от стороннего пользователя.
Учитывая такое разнообразие, выбрать максимально подходящий софт может быть достаточно сложно.
В данном материале представлен ТОП лучших программ, которые можно использовать для этой цели. Среди них проще выбрать подходящую.
Настройка и прошивка платы ESP8266
ESP8266 — это непросто WI-FI шилд, это высоко интегрированный микроконтроллер со своим набором интерфейсов.
С базовой прошивкой плата ESP8266 используется в виде моста UART WIFI и управляется с помощью AT-команд. В нашем проекте такая прошивка не имеет смысла, так как модуль сам независимо может работать без дополнительных микроконтроллеров, если в него загрузить другую прошивку. Прошить модуль можно с помощью USB-Serial адаптера. Подробное описание, как это сделать, мы оформили в отдельную статью.
Загрузка скетча
Модуль ESP8266 будет создавать TCP-сервер и передавать на него данные о нажатых клавишах клавиатуры, полученные через Serial соединение с платой Iskra Mini. Реализацию такого моста вы можете найти среди стандартных примеров из библиотеки ESP8266.
Для этого зайдите в меню:
Файл
Образцы
ESP8266WIFI
WiFiTelnetToSerial
и загрузите в плату ESP8266 открывшийся скетч, предварительно указав вместо звёздочек имя и пароль Wi-Fi сети, к которой необходимо подключиться нашей ESP-шке.
const char* ssid = "**********"; const char* password = "**********";
При прошивке на плате ESP8266 будет мигать синий светодиод.
Плата прошита теперь можно приступать к сборке устройства.
Как собрать?
- Используя руководство по плате Iskra Mini прошейте её приведённым ниже.
- Прошейте плату ESP8266 используя инструкцию написанную выше.
- Установите плату Iskra Mini на Breadboard.
- Линии питания и земли платформы Iskra Mini соедините с помощью проводов «папа-папа» с верхними рельсами питания и земли макетной платы, по ним будет идти напряжение 5 вольт. Соедините верхнюю и нижнюю рельсу земли макетной платы проводом «папа-папа».
-
Так как плата ESP8266 работает строго от 3,3 вольт, соберём регулятор напряжения на основе микросхемы LM317 и подключим его выход к нижним рельсам питания и земли макетной платы. Для этого соберите схему приведенную ниже, где:
- регулятор напряжения;
- керамический конденсатор 100 нФ;
- электролитический конденсатор 10 мкФ;
- резистор 220 Ом;
- потенциометр 10 кОм;
- входное напряжение 5 вольт;
- выходное регулируемое напряжение.
- Подключите напряжение 5 вольт к верхним рельсам питания и земли. С помощью мультиметра и потенциометра отрегулируйте выходное напряжения на 3,3 вольта.
- Возьмите плату ESP8266 и с помощью проводов «мама-папа» соедините пины и с нижними рельсами питания 3,3 В и земли макетной платы.
- Управляющий пины и платформы Iskra Mini соедините с пинами и платы ESP8266, причём пин платформы Iskra Mini соедините с платой ESP8266 через резисторный делитель напряжения, чтобы своим высоким сигналом не спалить ESP8266.
- С помощью проводов «мама-папа» подтяните пины , и платы ESP8266 к питанию через резисторы 10 кОм.
- Возьмите USB удлинитель «мама-папа» и разрежьте его пополам. Далее зачистите с обеих сторон все его контакты и соедините их с макетной платой через 2 заранее установленных клеммника.
-
Воспользовавшись цветовой маркировкой USB соедините контакты USB удлинителя через клеммник следующим образом:
- красный провод — питание верхней рельсы макетной платы;
- чёрный провод — земля макетной платы;
- жёлтый провод — к цифровому пину платы Iskra Mini;
- белый провод — к цифровому пину платы Iskra Mini;В итоге получилась схема, приведенная ниже.
- Перенесём готовое устройство на Perfboard для устойчивости и компактности.
- В заключении установим кейлогер в удобный и компактный корпус.
Для чего нужен кейлоггер ?
Специфика программы не оставляет тени сомнения на применение таких утилит: она позволяет шпионить за пользователем, передавая напечатанные на клавиатуре символы. Другой вопрос: кем и против кого?
- вполне понятна забота родителей о путешествующих по сети чадах, чья сетевая деятельность начинает беспокоить отца и мать, которые не желают, однако, открыто идти на конфликт с ребёнком, запрещая всё и вся. Не раз такие утилиты просто выручали, сигнализируя о появлении у ребёнка в социальной сети друга, который «немного» старше и собирается реализовать свои больные фантазии.
- вполне законно желание работодателя, когда он хочет убедиться, что работник тратит своё время за компьютером с пользой. И, если оно не так, предъявить претензии доказательно. Заодно убедиться, что пара секретов не «ушла на сторону».
- наконец, незаконное подключение к компьютеру пользователя с целю украсть набираемые пароли, логины и прочее.
Клавиатурные шпионы
Статус многих хакерских утилит постоянно балансирует на грани между легитимным и вредоносным. С одной стороны — любая программа всего лишь инструмент, ответственность за который ложится на пользователя. С другой — ее функции могут считаться потенциально опасными, особенно если в ней реализовано глубокое внедрение в систему, а при написании кода были использованы спорные трюки.
Само слово «кейлоггер» — это устоявшееся, но некорректное название. Первые утилиты этого класса действительно записывали в лог только нажатия клавиш и вели себя почти как обычные программы. По мере развития они научились скрывать свою активность все лучше и собирать гораздо больше данных о действиях за компьютером, на котором были запущены.
Именно возможность скрытого запуска позволила отнести их в конце девяностых к «потенциально вредоносным» на радость производителям антивирусов. С распространением доступного интернета в клавиатурных шпионах появились функции отправки логов и удаленного управления. Это дало повод классифицировать их уже как трояны и бэкдоры, из-за чего одни авторы забросили выпуск обновлений, а другие приняли вызов и стали искать методы обхода антивирусов.
Теперь клавиатурные шпионы приходится скрывать не только от пользователя, но и от антивирусных сканеров. Совершенствование способов маскировки стало не разовой необходимостью, а постоянным процессом. Терпения на него редко хватало даже у истинных хакеров, поскольку кейлоггеры они писали в основном забавы ради. К примеру, актуальность потерял Ghost Spy — лучший кейлоггер своего времени.
Большинство других разработчиков стали продавать под видом крутых клавиатурных шпионов более простые программы для «родительского контроля». Они слабо маскируют свое присутствие в системе, а для нормальной работы обычно требуется добавить их в исключения антивируса и создать разрешающие правила файрвола. Получается прямо как в анекдоте про таджикский вирус, который лишь выводил на экран сообщение: «Мы не умеем программировать, поэтому удалите свои файлы сами».
Конечно, родительский контроль, перехват паролей и шпионаж — далеко не единственное назначение этих программ. Вариантов использования может быть много: некоторые кейлоггеры позволяют искать украденные ноутбуки, попутно собирая доказательства вины и протоколируя все действия воров, а удаленное прослушивание и подключение к веб-камере — это отличные охранные функции.
В статье использованы материалы сайта x@ker.ru
Особенности выбора
Рассматривая возможность установки такой программы, стоит знать, что некоторые утилиты показывают все, что было написано на клавиатуре. Другие же записывают информацию только с браузера или одного приложения, которое выберет пользователь.
Кроме того, есть утилиты с гибкими настройками, где можно подключать и отключать запись, а также есть те, в которых это невозможно регулировать.
Программы для слежки за клавиатурой отличаются друг от друга тем, насколько они открыты для пользователя. Варианты попроще очевидны, ведь в результате их деятельности файл с записью сохраняется на рабочий стол, где его сложно не заметить. Они подойдут для того, чтобы контролировать маленьких детей.
Другие утилиты работают скрытно, запись сохраняется в секретной папке или приходит пользователю на почту. Подобные утилиты нужны для того, чтобы факт слежки остался незаметным. Их устанавливают для контроля подростков или для того, чтобы убедиться в безопасности своих файлов на рабочем компьютере.
Есть платные утилиты — у них более широкий функционал, а также бесплатные версии. Учитывая то, сколько есть производителей подобного софта, а также то, как много показателей нужно учесть перед тем, как устанавливать программу, выбор кажется очень сложным.
Слежение за клавиатурным вводом при помощи ловушек
Данная методика является классической для клавиатурных шпионов. Суть метода состоит в применении механизма ловушек (hook) операционной системы. Ловушки позволяют наблюдать за сообщениями, которые обрабатываются окнами других программ. Установка и удаление ловушек производится при помощи хорошо документированных функций APIбиблиотеки user32.dll (функция SetWindowsHookEx позволяет установить ловушку, UnhookWindowsHookEx — снять ее). При установке ловушки указывается тип сообщений, для которых должен вызываться обработчик ловушки. В частности, есть два специальных типа ловушки WH_KEYBOARDи WH_MOUSE- для регистрации событий клавиатуры и мыши соответственно. Ловушка может быть установлена для заданного потока и для всех потоков системы. Ловушка для всех потоков системы очень удобна для построения клавиатурного шпиона.
Код обработчика событий ловушки должен быть расположен в DLL. Это требование связано с тем, что DLLс обработчиком ловушки проецируется системой в адресное пространство всех GUIпроцессов. Интересной особенностью является то, что проецирование DLLпроисходит не в момент установки ловушки, а при получении GUIпроцессом первого сообщения, удовлетворяющего параметрам ловушки.
На прилагаемом компакт-диске имеется демонстрационный «клавиатурный шпион», построенный на основе ловушки. Он регистрирует клавиатурный ввод во всех GUIприложениях и дублирует вводимый текст на своем окне. Данный пример можно использовать для тестирования программ, противодействующих клавиатурных шпионам.
Методика ловушек достаточно проста и эффективна, но у нее есть ряд недостатков. Первым недостатком можно считать то, что DLLс ловушкой проецируется в адресное пространство всех GUIпроцессов, что может применяться для обнаружения клавиатурного шпиона. Кроме того, регистрация событий клавиатуры возможна только для GUIприложений, это легко проверить при помощи демонстрационной программы.