Клавиатурные шпионы
Содержание:
- Пример клавиатурного шпиона
- Обнаружение и удаление
- Как удалить Keylogger
- Методики поиска клавиатурных шпионов
- Слежение за клавиатурным вводом при помощи опроса клавиатуры
- Что это?
- All In One Keylogger
- Драйвер-фильтр
- Особенности выбора
- А как с мобильными платформами?
- Kickidler | бесплатно/$9 | Win | Mac | Lin
- SC-KeyLog
- Настройка и прошивка платы ESP8266
- Принципы построения кейлоггеров
- Аппаратные клавиатурные устройства
- ПРИМЕР ИСПОЛЬЗОВАНИЯ КЕЙЛОГГЕРОВ
- Клавиатурный шпион на базе руткит-технологии в KernelMode
Пример клавиатурного шпиона
В настоящее время сотни клавиатурных шпионов, рассмотрим в качестве примера достаточно распространенную коммерческую программу ActualSpy (http://www.actualspy.ru). Данная программа может регистрировать клавиатурный ввод (с регистрацией заголовка окна и имени программы), снимать скриншоты экрана по расписанию, регистрировать запуск/останов программ, следить за буфером обмена, принтером, создаваемыми пользователем файлами. Кроме того, в программе реализовано слежение за Интернет-соединениями и посещаемыми сайтами. ActualSpy выбран в качестве примера
Программа имеет простейшую маскировку от обнаружения – она не видна в стандартном списке задач Windows. Для анализа собранной информации программа формирует протоколы в формате HTML. Принцип работы программы ActualSpy основан на ловушке, регистрирующей события клавиатуры.
В качестве других примеров могут выступить SpyAgent (http://www.spytech-web.com), ActMon (http://www.actmon.com),SpyBuddy (http://www.actmon.com), PC Activity Monitor (http://www.keyloggers.com), KGB Spy (http://www.refog.ru/)…. Этот список можно продолжать очень долго, однако в большинстве случаев современные клавиатурные шпионы имеют примерно одинаковую базовую функциональность и различаются сервисными функциями и качеством маскировки в системе.
Обнаружение и удаление
Обнаружить вредоносные кейлоггеры весьма непросто, так как они ведут себя не всегда так, как многие другие вредоносные программы. Они не выискивают ценную информацию и не пересылают ее на удаленный сервер, они не пытаются уничтожить данные на зараженной машине. Клавиатурные шпионы делают свою работу тихо и незаметно. Антивирусные программы могут сканировать, обнаруживать и уничтожать все известные им варианты клавиатурных шпионов. Однако кейлоггеры, предназначенные для целевой атаки на конкретного пользователя, выявить непросто, так как чаще всего они не зарегистрированы в качестве известного вредоносного софта. Тем не менее рано или поздно, но они обнаруживаются, как только начинают проявлять себя путем несанкционированной отправки данных на удаленный сервер.
Если пользователь подозревает, что на его компьютере установлен клавиатурный шпион, то ряд приемов поможет защититься от вредителя. Например, загружать операционную систему с компакт-диска или USB-накопителя, а также пользоваться виртуальной экранной клавиатурой. Существуют и специализированные защитные инструменты, например, безопасный ввод реализован в Kaspersky Internet Security
Как удалить Keylogger
Способ 1. Если вы обнаружили кейлоггер в диспетчере задач, удалите дублируемую копию Winlogon.
Способ 2. Если вы обнаружили неизвестную программу, установленную в вашей системе, удалите эту программу.
Эти два являются самыми простыми способами обнаружения и удаления кейлоггера вручную из вашей системы. Ручные методы закладывают основу для защиты компьютера от вредоносной деятельности и, таким образом, помогают предотвратить кражу любых данных.
Кроме того, на рынке доступно программное обеспечение, которое может помочь обнаружить клавиатурные шпионы и удалить их с компьютера. Вы можете узнать, как обнаружить кейлоггер и удалить его с компьютера , установив программное обеспечение, способное обнаруживать и удалять вредоносный инструмент.
Программное обеспечение сканирует компьютер любого вредоносного файла, который способен красть информацию, хранящуюся в нем, и отправлять его хакерам.
Программное обеспечение не только сканирует компьютер, но также предотвращает или защищает компьютер, отключая автоматическую установку любой программы, которая может быть подвержена риску.
Keylogger стал серьезной угрозой, поскольку большее число людей использует цифровые гаджеты для различных задач. Будь то онлайн-транзакция или частные чаты, кейлогеры могут взломать детали и записать все, что вы набираете, с помощью клавиатуры нашего устройства.
Аппаратное обеспечение Keylogger:
Аппаратный кейлоггер поставляется в виде USB-устройств, которые могут быть подключены к компьютерной системе. Этот конкретный тип кейлоггера встроен в заднюю часть центрального процессора (CPU) и снимает активность клавиатуры.
Программное обеспечение Keylogger:
Программный кейлоггер встроен в программное обеспечение и программу, установленные или устанавливаемые на ваш компьютер. Когда мы устанавливаем какое-либо программное обеспечение в компьютерной системе, автоматически создаются определенные файлы. Эти файлы могут быть злыми и могут записывать и красть информацию с компьютера.
Независимо от того, какой тип кейлоггера на вашем компьютере влияет, каждый кейлоггер может привести к необратимым потерям.
Поэтому крайне важно своевременно обнаружить кейлоггер, чтобы предотвратить кражу любых важных данных. Существует также один трюк для предотвращения потери каких-либо типов информации через клавиатуру, вы можете хранить данные, такие как имя пользователя и пароль, в блокноте, а также копировать и вставлять детали, когда это необходимо
Существует также один трюк для предотвращения потери каких-либо типов информации через клавиатуру, вы можете хранить данные, такие как имя пользователя и пароль, в блокноте, а также копировать и вставлять детали, когда это необходимо.
Тем не менее, в этом случае вам нужно будет дополнительно осознавать данные, хранящиеся в блокноте, поскольку хакеры могут красть информацию. Риск взлома повсюду, но он не должен мешать нам использовать цифровые гаджеты.
Используйте интеллектуальные устройства, проявляя бдительность. Не допускайте, чтобы что-то вроде кейлоггера мешало вам продвигаться вперед по вашему пути. Убедитесь, что ваша компьютерная система обновлена, и все ее программы функционируют должным образом.
Запуск антивирусного программного обеспечения регулярно также может помочь защитить ваш компьютер, когда вы в сети, а также в автономном режиме.
Методики поиска клавиатурных шпионов
Несмотря на всю изощренность клавиатурных шпионов для их «отлова» (поиска) существуют свои, довольно успешные методики. Приведем самые распространенные из них:
-
Поиск по сигнатурам.
Данный метод не отличается от типовых методик поиска вирусов. Сигнатурный поиск позволяет однозначно идентифицировать клавиатурные шпионы, при правильном выборе сигнатур вероятность ошибки практически равна нулю. Однако сигнатурный сканер сможет обнаруживать заранее известные и описанные в его базе данных объекты, так что эта база должна быть большой и ее нужно постоянно обновлять; -
Эвристические алгоритмы.
Это методики поиска клавиатурного шпиона по его характерным особенностям. Эвристический поиск носит вероятностный характер, и он наиболее эффективен для поиска клавиатурных шпионов самого распространенного типа – основанного на ловушках, однако подобные методики дают много ложных срабатываний. Некоторые исследования показали, что существуют сотни безопасных программ, не являющихся клавиатурными шпионами, но устанавливающих ловушки для слежения за клавиатурным вводом и мышью. Наиболее распространенные примеры – программа Punto Switcher, программное обеспечение от мультимедийных клавиатур и мышей; -
Мониторинг API-функций, используемых клавиатурными шпионами.
Данная методика основана на перехвате ряда функций, применяемых клавиатурным шпионом, в частности, функций SetWindowsHookEx, UnhookWindowsHookEx, GetAsyncKeyState, GetKeyboardState. Вызов данных функций каким-либо приложением позволяет вовремя поднять тревогу, однако проблемы многочисленных ложных срабатываний будут аналогичны методу 2; -
Отслеживание используемых системой драйверов, процессов и сервисов.
Это универсальная методика, применимая не только против клавиатурных шпионов. В простейшем случае можно применять программы типа Kaspersky Inspector, которые отслеживают появление в системе новых файлов.
Чаще всего, — это всё то, что касается методик поиска, теперь пройдемся по способам защиты как от программных, так и от аппаратных кейлоггеров.
Слежение за клавиатурным вводом при помощи опроса клавиатуры
Данная методика основана на периодическом опросе состояния клавиатуры. Для опроса состояния клавиш в системе предусмотрена специальная функция GetKeyboardState, возвращающая массив из 255 байт, в котором каждый байт содержит состояние определенной клавиши на клавиатуре. Данный метод уже не требует внедрения DLLв GUIпроцессы и в результате шпион менее заметен.
Однако изменение статуса клавиш происходит в момент считывания потоком клавиатурных сообщений из его очереди, и в результате подобная методика работает только для слежения за GUIприложениями. От этого недостатка свободна функция GetAsyncKeyState, возвращающая состояние клавиши на момент вызова функции.
На прилагаемом компакт-диске имеется демонстрационный «клавиатурный шпион», построенный на основе циклического опроса клавиатуры – приложение KD2.
Недостатком клавиатурных шпионов такого типа является необходимость периодического опроса состояния клавиатуры с достаточно высокой скоростью, не менее 10-20 опросов в секунду.
Что это?
Хотелось ли вам когда нибудь пошпионить за вашим другом, соседом или коллегой по работе? Узнать что он или она так внимательно печатает и почему из за этого радуется или наоборот нервничает. Теперь это возможно с помощью клавиатурного шпиона.
Суть его довольна проста: он перехватывает данные с USB-клавиатуры и раздаёт их по Wi-Fi. Всё что надо сделать это подключить его между клавиатурой и компьютером. А потом зайти на созданный сервер и шпионить.
Статья носит образовательный характер и демонстрирует
возможность беспроводной передачи данных с использованием Wi-Fi модуля.
Описанное в качестве примера устройство не производится и не
продается компанией Амперка.
Вы не можете использовать подобное устройство для негласного сбора данных в соответствии со статьёй 138 УК РФ.
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-бит). Интерфейс не имеет поддержки русского языка. Бесплатная версия программы не имеет функциональных ограничений, но работает только в течение одной недели с момента установки.
Драйвер-фильтр
Работа кейлоггеров данного типа основана на установке драйвера, подключаемого к драйверу клавиатуры в качестве фильтра. Пример реализации фильтра клавиатуры приведен в DDK, и данный шпион является одним из самых простых в плане как реализации, так и обнаружения.
Клавиатурный шпион этого типа может быть построен по одной из двух схем:
- драйвер-фильтр в сочетании с управляющим приложением, которое выполняет установку, загрузку и настройку драйвера. Драйвер передает информацию о нажимаемых клавишах управляющему приложению, которое производит обработку и протоколирование полученных данных;
- полностью автономный драйвер самостоятельно ведет запись событий. В данном случае требуется только произвести первичную установку драйвера в систему, после чего установившее драйвер приложение может самоуничтожиться. Возможно решение и без приложения-инсталлятора — в этом случае драйвер устанавливается при помощи INF-файла.
В момент загрузки драйвер должен подключиться к стеку клавиатурного драйвера посредством функций IoCreateDevice и IoAttachDevice. В большинстве известных реализаций фильтр подключается к стеку устройства «\\Device\\KeyboardClass0», являющегося драйвером класса и реализующего общую функциональность для клавиатур различных типов (рис. 1).
Рис. 1
Для клавиатурного шпиона будут представлять интерес только прерывания типа IRP_MJ_READ, поскольку на основе их анализа можно получить коды клавиш. Источником этих IRP-запросов является процесс csrss.exe, а точнее — принадлежащий этому процессу поток необработанного ввода RawInputThread. Посылаемое этим потоком прерывание сначала попадает к драйверу-фильтру шпиона (шаг 1), который устанавливает свой обработчик завершения при помощи функции IoSetCompletionRoutine и передает IRP драйверу Kbdclass (шаг 2). Тот, в свою очередь, помечает IRP как ожидающий завершения и ставит в очередь. При возникновении клавиатурных событий Kbdclass извлекает из очереди ожидающий завершения IRP, вносит в его буфер информацию о нажатых клавишах и завершает IRP. А поскольку в IRP установлен адрес обработчика завершения, то будет произведен вызов этого обработчика (шаг 3). Обработчик может проанализировать содержимое буфера и передать содержащуюся там информацию системе протоколирования (шаг 4). Далее IRP возвращается в поток RawInputThread, а затем весь процесс повторяется. Естественно, что наличие корректно написанного драйвера-фильтра никак не сказывается на работе приложений и обеспечивает глобальный перехват клавиатурного ввода.
Обнаружение описанного шпиона не представляет особой сложности, — для его поиска достаточно изучить стек клавиатурного драйвера на предмет наличия неопознанных драйверов-фильтров.
Особенности выбора
Что же такое по своей сути клавиатурный шпион? Это программа, которая, строго говоря, напрямую никак не связана с клавиатурой.
Она устанавливается в память компьютера и действует на жестком диске. Часто признаков ее деятельности не видно на компьютере, если не искать их целенаправленно.
Такая программа косвенно взаимодействует с клавиатурой, то есть работает с программой на ПК, которая преобразует сигналы, поступающие на процессор в результате нажатия кнопок, в текст при печати.
То есть, направлено действие такого софта на сбор информации, вводимой через клавиатуру.
Такие утилиты бывают разного типа – с помощью некоторых можно просмотреть весь набранный с клавиатуры текст, с помощью других – только тот, что был набран в браузере или в каком либо выбранном приложении.
Некоторые программы предоставляют возможность настройки таких показателей, другие нет.
Также они отличаются друг от друга по степени скрытности. Например, деятельность одних очевидна, на Рабочем столе остается ярлык и т. д., такие программы подойдут для контроля деятельности, например, детей.
Следы присутствия и деятельности других не заметны вовсе – они действуют скрыто и подойдут для установки на чужой компьютер, когда факт установки необходимо скрыть от стороннего пользователя.
Учитывая такое разнообразие, выбрать максимально подходящий софт может быть достаточно сложно.
В данном материале представлен ТОП лучших программ, которые можно использовать для этой цели. Среди них проще выбрать подходящую.
А как с мобильными платформами?
Нами уже было рассмотрено понятие «кейлоггер», что это, как они создаются. Но при рассмотрении информации прицел был на персональные компьютеры. Но ещё больше, чем ПК, существует множество различных мобильных платформ. А что же в случае с ними? Рассмотрим, как работает кейлоггер для «Андроид». В целом принцип функционирования похож с тем, что описывалось в статье. Но нет обычной клавиатуры. Поэтому они нацеливаются на виртуальную, которая выводится на экран, когда пользователь планирует что-то ввести. А затем стоит ввести информацию – как она сразу же будет передана творцу программы. Поскольку система безопасности на мобильных платформах хромает, то кейлоггер для андроид может успешно и длительный срок работать и распространяться. Поэтому всегда, когда скачиваете приложение, необходимо обдумывать права, которые им предоставляются. Так, если программа для чтения книг просит доступа к интернету, клавиатуре, различным административным сервисам мобильного устройства, это причина задуматься о том, а не вредоносный ли это субъект. Это же в полной мере относится и к тем приложениям, которые есть в официальных магазинах – ведь они проверяются не вручную, а автоматикой, которая не отличается совершенством.
Kickidler | бесплатно/$9 | Win | Mac | Lin
В Kickidler функция кейлоггера интегрирована с записью видео, то есть можно посмотреть историю того, что было на экране пользователя, когда он набирал определенную комбинацию клавиш. Это дает наиболее полную информацию о действиях сотрудника. Также есть фильтр по ключевым словам и выгрузка истории нажатия клавиш в эксель.
Система собирает информацию обо всех нажатиях клавиш во всех программах:
Нажатые клавиши отображаются в режиме реального времени, или в виде отчета. Есть отчет об интенсивности нажатия клавиш, из чего можно узнать, например, печатал ли сотрудник или изредка нажимал на пробел.
Собранную информацию (текст, видео и все нарушения рабочего распорядка) можно просмотреть на единой временной шкале – что абсолютно точно позволит выяснить, чем занимался сотрудник в конкретный момент времени.
Для чего нужен кейлоггер:
- Предотвращение утечек информации (DLP – Data Leak Prevention)
- Контроль использования конфиденциальных данных (DLP – Data Loss Protection)
- Анализ эффективности работы при вводе текста с клавиатуры
Дополнительный функционал: контроль нарушений, запись видео, онлайн-мониторинг, учет эффективности использования рабочего времени.
Kickidler работает на компьютерах с любой операционной системой: Windows, Linux и Mac OS. Есть бесплатная версия программы – до 6 сотрудников.
SC-KeyLog
Это объемная и функциональная программа шпион, которая распространяется бесплатно.
Помимо отслеживания конкретно информации вводимой с клавиатуры, в состоянии также собирать информацию о кликах мыши, адресах посещенных сайтов, паролях, открытых окнах в браузере.
Дает полную информацию обо всех действиях, производимых на компьютере. При этом формируемый файл можно просмотреть удаленно с другого устройства.
Позитив:
- Возможность удаленного доступа к файлу с другого устройства;
- Отсутствие следов деятельности программы на компьютере при правильных настройках;
- Разнообразие собираемых данных – практически информация обо всех действиях на ПК может быть доступна.
Негатив:
- Сохраняет пароли только не выше NT0;
- Слишком простое меню и неэстетичный дизайн;
- Достаточно неудобный формат отображения результата.
А что же говорят пользователи, которые активно применяют этот софт? «Абсолютна незаметна для пользователя», «Данные исправно приходят на почту».
Настройка и прошивка платы 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 будет мигать синий светодиод.
Плата прошита теперь можно приступать к сборке устройства.
Принципы построения кейлоггеров
Большинство современных вредоносных программ представляет собой гибридные угрозы, в которых используется множество технологий, поэтому почти в любой категории вредоносных программ могут быть программы, одной из функций которых является слежение за клавиатурным вводом. На следующем графике показана динамика роста числа шпионских программ, ежемесячно обнаруживаемых «Лабораторией Касперского». Большинство этих программ используют технологии кейлоггеров.
Принципиальная идея кейлоггера состоит в том, чтобы внедриться между любыми двумя звеньями в цепи прохождения сигнала от нажатия пользователем клавиш на клавиатуре до появления символов на экране — это может быть видеонаблюдение, аппаратные «жучки» в самой клавиатуре, на проводе или в системном блоке компьютера, перехват запросов ввода-вывода, подмена системного драйвера клавиатуры, драйвер-фильтр в клавиатурном стеке, перехват функций ядра любым способом (подменой адресов в системных таблицах, сплайсингом кода функции и т.п.), перехват функций DLL в пользовательском режиме, наконец, опрос клавиатуры стандартным задокументированным способом.
Однако практика показывает, что чем сложнее подход, тем менее вероятно его применение в широкораспространяемых троянских программах и более вероятно его использование в целевых троянцах для кражи корпоративной финансовой информации.
Все кейлоггеры можно условно разделить на аппаратные и программные. Первые представляют собой небольшие устройства, которые могут быть закреплены на клавиатуре, проводе или в системном блоке компьютера. Вторые — это специально написанные программы, предназначенные для отслеживания нажатий клавиш на клавиатуре и ведения журнала нажатых клавиш.
Наиболее популярные технические подходы к построению программных кейлоггеров:
- системная ловушка на сообщения о нажатии клавиш клавиатуры (устанавливается с помощью функции WinAPI SetWindowsHook, для того чтобы перехватить сообщения, посылаемые оконной процедуре, — чаще всего пишется на C);
- циклический опрос клавиатуры (с помощью функции WinAPI Get(Async)KeyState, GetKeyboardState — чаще всего пишется на VisualBasic, реже на Borland Delphi);
- драйвер-фильтр стека клавиатурных драйверов ОС Windows (требует специальных знаний, пишется на C).
Мы очень детально рассмотрим различные методы построения кейлоггеров во второй части нашей статьи. Пока же приведем немного статистики.
Примерное распределение указанных типов кейлоггеров показано на следующей диаграмме:
В последнее время отмечается тенденция использования в кейлоггерах методов сокрытия (маскировки) своих файлов — так, чтобы их нельзя было найти вручную или с помощью антивирусного сканера. Такие методы принято называть rootkit-технологиями. Можно выделить два основных типа технологий сокрытия, используемых кейллоггерами:
- с использованием методов сокрытия пользовательского режима (UserMode);
- с использованием методов сокрытия режима ядра операционной системы (KernelMode).
Примерное распределение используемых кейлоггерами технологий сокрытия показано на следующей диаграмме:
Аппаратные клавиатурные устройства
В последние годы получили страшное развитие, миниатюрнейшие размеры и чрезвычайную разумность. на вид их иногда сложно заметить, реже, — отличить от флешки, а в случае с банкоматами их вообще можно различать лишь профессионал.
В старом варианте выглядело это как-то так:
Т,е помимо программных средств шпионажа за работой пользователя существуют и аппаратные, которые обладают несомненным достоинством – их нельзя обнаружить программными методами.
Варианты реализации аппаратных кейлоггеров:
- Установка устройства слежения в «разрыв» кабеля клавиатуры;
- Встраивание устройства слежения в клавиатуру;
- Установка USB-устройства, вроде «флешки», карты памяти и тп;
- Визуальное «наблюдение» за клавиатурой/экраном;
- Прочее.
Мило, не так ли? Надо признать, что такая гадость наиболее зловредна, но и подсадить её несколько сложнее, — она требует непосредственного физического доступа к устройству.
Что ж. Теперь двинемся далее.
ПРИМЕР ИСПОЛЬЗОВАНИЯ КЕЙЛОГГЕРОВ
Рассмотрим использование кейлоггеров на примере программы Spyrix Free Keylogger. Это бесплатная версия приложения Spyrix с ограниченным функционалом. Однако наиболее востребованные функции доступны и в этой версии:
- Регистрация нажатий клавиш.
- Контроль запуска/остановки приложений.
- Считывание буфера обмена.
- Контроль подключения/отключения носителей информации (USB, HDD, SD).
- B даже удаленный просмотр экрана компьютера через личный кабинет (правда, это возможно лишь в течение 50 дней с момента регистрации учетной записи).
Регистрация нажатий клавиш при помощи Spyrix. Здесь все очень просто. Сразу после установки программа начнет выполнять свою основную задачу. Можно попробовать напечатать что-нибудь с клавиатуры, например — ввести адрес сайта в поисковую строку браузера, а затем отрыть в программе Spyrix вкладку «События клавиатуры»:
В центре окна отобразится название программы, в которую с клавиатуры был введен текст (в данном случае — «firefox.exe»), а также сам введенный текст (колонка «Содержание»). Как можно заметить, Spyrix зарегистрировал не только сам введенный в браузер адрес (softsalad.ru), но еще и нажатие клавиши «Enter», т.е. был зафиксирован и переход на сайт.
Кроме того, Spyrix время от времени (в соответствии с настройками) делает скриншоты экрана, что позволяет наглядно увидеть действия пользователя за компьютером. Все снимки экрана можно найти во вкладке «Снимок экрана»:
Можно кликнуть по скриншоту, чтобы посмотреть его в полноразмерном формате:
А так выглядит веб-страница личного кабинета в системе Spyrix:
Т.е. все действия пользователя за компьютером дублируются в онлайн-хранилище, куда можно зайти с любого браузера для удаленного контроля.
Конечно, в платной версии Spyrix гораздо больше полезных функций, обеспечивающих еще более строгий контроль действий пользователя. Но и того, что есть, достаточно для общего понимания функционирования кейлоггеров, в т.ч. и вредоносных, ведь последние делают все то же самое, только скрытно.
Клавиатурный шпион на базе руткит-технологии в KernelMode
Принцип действия шпиона данного типа аналогичен UserMode, но в данном случае производится перехват одной или нескольких функций win32k.sys. Как и в случае с UserMode, наибольший интерес для перехватчика представляет функция PeekMessage и ее аналоги, поскольку это позволяет производить мониторинг и модификацию абсолютно всех получаемых программой сообщений без установки ловушки или фильтра.
На рис. 3 перехватчик показан условно, поскольку для его установки существуют разные методики, в частности:
- перехват SYSCALL и INT 2E;
- перехват функции с подменой адреса в соответствующей ячейке таблицы KeServiceDescriptorTableShadow. Единственной сложностью для создателя подобного шпиона является поиск этой таблицы, которая не экспортируется ядром и не документирована. Однако известны пути преодоления этой проблемы, а средства для этого можно найти в Интернете;
- модификация машинного кода win32k.sys. Для этого тоже необходим поиск таблицы KeServiceDescriptorTableShadow. При этом возможна интересная ситуация: функция может быть уже перехвачена (например, антикейлоггером), и тогда будет произведена модификация машинного кода перехватчика, что еще больше усложнит обнаружение шпиона.
Рис. 3
Алгоритм работы шпиона весьма прост. Приложение вызывает функцию библиотеки user32.dll (шаг 1; в качестве примера рассмотрим вызов PeekMessage). Функция PeekMessage в user32.dll по своей сути является переходником, а в конечном счете при помощи SYSCALL в Windows XP или INT 2E в Windows NT и Windows 2000 будет произведен вызов функции ядра (шаг 2). Этот вызов будет перехвачен шпионом (местоположение перехватчика зависит от методики перехвата). Перехватчик, в свою очередь, вызовет реальную функцию (шаг 3) и проанализирует возвращенные ей результаты. В случае успешного извлечения из очереди сообщения нужного шпиону типа он произведет его анализ и за-протоколирует результаты (шаг 4). Работа шпиона абсолютно незаметна для всех приложений, и обнаружить его можно только специальными программами, производящими поиск перехватов и модификации машинного кода модулей ядра.
***
Итак, мы рассмотрели несколько эффективных методик, которые могут применяться при построении клавиатурных шпионов. На основании вышеизложенного можем дать следующие рекомендации:
следует акцентировать внимание на перехватах функций user32.dll;
необходим контроль штатных драйверов по каталогу Microsoft для своевременного обнаружения подмены драйвера;
нужно производить анализ на предмет наличия KernelMode-перехватов и модификации машинного кода win32k.sys при помощи антируткитов;
вследствие того что практически любой клавиатурный шпион сохраняет протоколы, мониторинг файловых операций в процессе активного ввода информации с клавиатуры позволяет обнаружить кейлоггер почти любого типа. Исключение составляют специализированные программы, протоколирующие ввод только в определенных приложениях или в заданных окнах, например в окне ввода пароля.