Открыть сервис

Кейлоггер

Кейлоггер (от англ. keylogger, key — клавиша и logger — регистратор) — это программное обеспечение или аппаратное устройство, предназначенное для скрытой регистрации нажатий клавиш на клавиатуре компьютера, ноутбука или мобильного устройства. Кейлоггеры относятся к классу шпионского программного обеспечения (шпионского ПО, spyware) и могут использоваться как в легитимных целях (например, родительский контроль, мониторинг сотрудников, отладка программного обеспечения), так и для незаконного сбора конфиденциальной информации (паролей, номеров банковских карт, личной переписки).

История

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

В 1990-е годы, с распространением интернета и электронной почты, кейлоггеры начали активно использоваться злоумышленниками. В 1996 году был зафиксирован первый случай массового распространения кейлоггера через вредоносное вложение в электронном письме (троян Win32/Keylogger). В 2000-е годы кейлоггеры стали неотъемлемой частью многих банковских троянов (например, Zeus, SpyEye), которые перехватывали данные для входа в системы дистанционного банковского обслуживания.

Аппаратные кейлоггеры появились несколько позже, в конце 1990-х — начале 2000-х годов, и представляли собой компактные устройства, подключаемые между клавиатурой и компьютером (PS/2 или USB-переходники). С развитием мобильных технологий появились кейлоггеры для смартфонов, работающие на уровне операционной системы (Android, iOS) или встраиваемые в сторонние клавиатуры.

Классификация

Кейлоггеры делятся на два основных типа по способу реализации: программные и аппаратные.

Программные кейлоггеры

Программные кейлоггеры — это приложения, устанавливаемые на устройство пользователя. Они работают на уровне операционной системы или прикладного программного обеспечения. Основные подтипы:

  • Системные кейлоггеры — перехватывают системные вызовы, связанные с обработкой клавиатурного ввода (например, функции GetAsyncKeyState в Windows, read() в Linux). Они могут быть реализованы в виде драйверов устройств или динамических библиотек (DLL).
  • Кейлоггеры на основе перехвата API — внедряются в процессы приложений (например, браузеров, текстовых редакторов) и перехватывают сообщения Windows (WM_KEYDOWN, WM_CHAR) или аналогичные события в других ОС.
  • Кейлоггеры на уровне ядра — наиболее скрытые, работают на уровне ядра операционной системы, перехватывая прерывания от клавиатуры до того, как они будут обработаны пользовательскими приложениями. Обнаружение таких кейлоггеров требует специальных средств.
  • Формграбберы (form grabbers) — специализированные кейлоггеры, которые перехватывают данные, вводимые в веб-формы, до их отправки на сервер. Часто используются в банковских троянах.
  • Кейлоггеры для мобильных устройств — работают на Android (через Accessibility Service или как сторонние клавиатуры) или iOS (ограниченно, в основном через джейлбрейк или вредоносные профили).

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

Аппаратные кейлоггеры — это физические устройства, подключаемые к компьютеру или встраиваемые в его периферию. Они не требуют установки программного обеспечения и не оставляют следов в операционной системе.

  • Клавиатурные снифферы — устройства, подключаемые между клавиатурой и компьютером (через разъем PS/2 или USB). Они записывают нажатия клавиш во внутреннюю память, которая может быть считана злоумышленником при физическом доступе.
  • Встраиваемые кейлоггеры — устанавливаются непосредственно внутрь корпуса клавиатуры или компьютера (например, на системную плату). Могут быть реализованы на основе микроконтроллеров.
  • Беспроводные кейлоггеры — перехватывают радиосигнал от беспроводных клавиатур (Bluetooth, Wi-Fi, RF). Для этого используются специальные приемники (снифферы), настроенные на частоту работы клавиатуры.
  • Кейлоггеры на основе оптических камер — не являются устройствами в традиционном смысле, но могут использоваться для визуального наблюдения за клавиатурой (например, скрытая камера, направленная на клавиатуру).

Принцип работы

Программные кейлоггеры

Принцип работы программного кейлоггера зависит от его типа, но в общем виде включает следующие этапы:

  1. Установка — кейлоггер внедряется в систему (например, через вредоносное ПО, драйвер или расширение браузера).
  2. Перехват — программа регистрирует события нажатия и отпускания клавиш. В Windows это может быть реализовано через глобальные хуки (SetWindowsHookEx), в Linux — через перехват системных вызовов (ptrace, /dev/input/eventX).
  3. Логирование — перехваченные данные (код клавиши, время нажатия, контекст — активное окно, приложение) записываются в файл (обычно в зашифрованном виде) или отправляются на удаленный сервер.
  4. Сокрытие — многие кейлоггеры маскируются под легитимные процессы (например, svchost.exe, explorer.exe), используют руткиты для скрытия своих файлов и процессов от антивирусных программ.

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

Аппаратные кейлоггеры работают на физическом уровне. Например, USB-кейлоггер подключается между клавиатурой и USB-портом компьютера. Он эмулирует клавиатуру для компьютера (принимает сигналы от клавиатуры и передает их дальше) и одновременно записывает все нажатия в свою энергонезависимую память. Для считывания данных злоумышленнику необходимо физически извлечь устройство и подключить его к своему компьютеру.

Применение

Легитимное применение

  • Родительский контроль — программы для мониторинга активности детей в интернете (например, KidLogger, MSpy).
  • Корпоративный мониторинг — контроль действий сотрудников на рабочих компьютерах (в соответствии с локальными нормативными актами и трудовым законодательством).
  • Аудит безопасности — тестирование систем на устойчивость к перехвату ввода (пентест).
  • Отладка программного обеспечениязапись последовательности действий пользователя для воспроизведения ошибок.
  • Судебная экспертиза — сбор доказательств в ходе расследования компьютерных преступлений (с санкции суда).

Нелегитимное применение

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

Методы обнаружения и защиты

Обнаружение

  • Антивирусное ПО — современные антивирусы (Kaspersky, Dr.Web, ESET) обнаруживают большинство известных программных кейлоггеров по сигнатурам и эвристическому анализу.
  • Анализ процессов — в Windows можно использовать диспетчер задач или сторонние утилиты (Process Explorer) для выявления подозрительных процессов, загружающих DLL-библиотеки для перехвата клавиш.
  • Проверка хуков — утилиты (например, RootkitRevealer, GMER) позволяют обнаружить глобальные хуки клавиатуры, установленные кейлоггером.
  • Физический осмотр — для выявления аппаратных кейлоггеров необходимо проверить разъемы клавиатуры, USB-порты и внутренние компоненты компьютера.
  • Анализ сетевого трафика — подозрительная активность (отправка данных на неизвестные серверы) может указывать на наличие кейлоггера.

Защита

  • Использование антивирусов и брандмауэров — регулярное обновление баз и сканирование системы.
  • Двухфакторная аутентификация (2FA) — даже при перехвате пароля злоумышленник не сможет войти в систему без второго фактора (одноразовый код, биометрия).
  • Виртуальные клавиатуры — экранные клавиатуры (например, в Windows, мобильных ОС) не генерируют аппаратных нажатий, что затрудняет перехват для аппаратных кейлоггеров.
  • Менеджеры паролей — автоматический ввод паролей (через буфер обмена или API) снижает риск перехвата с клавиатуры.
  • Шифрование трафика — использование HTTPS, VPN, SSH защищает передаваемые данные от перехвата на уровне сети.
  • Физическая защита — проверка целостности устройств, использование клавиатур с защитой от аппаратных кейлоггеров (например, с оптическим интерфейсом).

Правовой статус

В большинстве стран мира, включая Российскую Федерацию, использование кейлоггеров без согласия пользователя является незаконным. В России ответственность за незаконный сбор информации (в том числе с помощью кейлоггеров) наступает по нескольким статьям Уголовного кодекса РФ:

  • Статья 138 УК РФ — «Нарушение тайны переписки, телефонных переговоров, почтовых, телеграфных или иных сообщений».
  • Статья 272 УК РФ — «Неправомерный доступ к компьютерной информации».
  • Статья 273 УК РФ — «Создание, использование и распространение вредоносных компьютерных программ».

Легитимное применение кейлоггеров (например, в рамках родительского контроля или корпоративного мониторинга) должно соответствовать законодательству о защите персональных данных (ФЗ-152 «О персональных данных») и трудовому кодексу, в частности, требовать уведомления и согласия пользователя.

См. также

  • Шпионское программное обеспечение
  • Троянская программа
  • Руткит
  • Клавиатурный шпион
  • Антивирусная программа

Источники

  • Кейлоггеры: виды, принципы работы и методы защиты // Журнал «Хакер», 2021.
  • Титов А. В. «Методы обнаружения программных кейлоггеров в операционных системах семейства Windows» // Вестник МГТУ им. Н. Э. Баумана, 2019.
  • Петров С. И. «Компьютерная безопасность: защита от шпионского ПО» // Издательство «БХВ-Петербург», 2020.
  • Уголовный кодекс Российской Федерации, статьи 138, 272, 273.
  • Федеральный закон «О персональных данных» от 27.07.2006 № 152-ФЗ.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →