Кейлоггер - клавиатурный шпион

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

Принцип действия кейлоггера

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

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

 
Автономные мини-девайсы, на вид похожи на подслушивающие «жучки». Встраиваются в корпус клавиатуры либо системный блок ПК, прикрепляются к соединительным кабелям. Регистрируют данные без какой-либо программной поддержки (драйверов, шпионских модулей в ОС). Не требуют автономного питания, работают в режиме 24/7. Оснащены собственным носителем информации для хранения полученных логов. Некоторые модели аппаратных кейлоггеров могут сохранять до 20 млн. символов (нажатий клавиш) в формате юникод.   
 
Аппаратный кейлоггер
 

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

 
Программы кейлоггеры - приложения (вредоносные и доверенные, в зависимости от задачи использования), осуществляющие перехват нажатых клавиш исключительно программными методами. Ведут журнал логов (файл с зарегистрированными действиями), а затем отправляют на заданный FTP-сервер, электронную почту, либо на диск другого ПК из местной локальной сети. 
 
Для регистрации событий (действий пользователя) могут использовать следующие алгоритмические подходы:
 
  • Беспрерывный опрос (сканирование) клавиатуры при помощи системных функций WinApi — GetKeyboardState, GetAsyncKeyState. В большинстве случаев реализуется на Visual Basic и иногда на Delphi;
  • Программная ловушка на основе функции SetWindowsHook , захватывающая сообщения (нажатия клавиш), отправляемые активному окну. Пишется на C/C++;
  • Фильтр стека драйверов клавиатуры Windows. Технически один из самых сложных вариантов. Реализуется на С. 

Кейлоггеры тщательно скрывают свои файлы в системе от антивирусных программ и визуального обнаружения посредством rootkit-технологий:

  • KernelMode — сокрытие режима ядра ОС;
  • UserMode — сокрытие пользовательского режима.
KernelMode является наиболее распространённым методом маскировки: применяется более чем в 80% клавиатурных шпионов. 
 
Современные модификации кейлоггеров умеют отслеживать не только устройства ввода, но и работу реестра, задания отправленные на принтер, манипуляции с файлами/папками. А также перехватывать видеопоток веб-камеры. 
 

Область применения

Легальное ПО

 
В этой категории программы-шпионы позиционируются как лицензионный программный продукт (платный или бесплатный) от конкретного разработчика (компании, фирмы), призванный помочь пользователю в решении таких задач, как:
 
  • восстановление важной информации после сбоя системы или вирусной атаки (функция «чёрного ящика»);
  • контроль эксплуатации ПК на производстве и в офисах;
  • запись действий на производственных компьютерных системах с целью исследования реагирования на внештатные, аварийные ситуации обслуживающего персонала;
  • выявление попыток ручного подбора паролей (несанкционированный физический доступ к ПК);
  • документирование компьютерных инциндентов;
  • отслеживание некорректных действий пользователя (в том числе и умышленных);
  • создание режима «родительский контроль» (тотальное отслеживание действий ребёнка на ПК: работа с программами, активность в сети, время/дата и длительность пребывания на веб-сайтах).
К лучшим кейлоггерам (легальным) относятся следующие:
 

Elite Keylogger

 
Элитный клавиатурный шпион — вполне справедливое название для этого программного решения. Наделён богатейшим функционалом: контроль за буфером обмена, хранение системных паролей, создание скриншотов рабочего стола и отдельных окон. Остаётся невидим для большинства актуальных антивирусов, поскольку ежедневно обновляет и «пересобирает» свои исполнительные файлы. Предоставляет возможность копировать собранные логи на USB-флешку, в случае отсутствия сетевого соединения на компьютере, за которым он шпионит. 
 
Elite keylogger
 

AutoKeySpy 

 
Бесплатное приложение (free) с понятным интерфейсом. Помимо регистрации событий в отдельный текстовый файл, ведёт статистику посещённых веб-страниц, фиксирует время запуска программ, включение/выключение ПК, через заданные промежутки времени делает скриншоты. Собранные данные отсылает на FTP-сервер или электронный почтовый ящик (в зависимости от настройки). Имеет крохотные размеры (чуть больше 1 Мб). Тщательно маскируется под системные процессы Windows. Вероятность детектирования AutoKeySpy в ОС практически приравнивается нулю. 
 

Mipko Personal Monitor (экс KGB Spy)

 
Разработчики рекомендуют своё приложение родителям, которые желают контролировать поведение детей во время работы за компьютером. В большей степени, Mipko Personal Monitor функционально ориентирован именно на эту задачу. Отслеживание переписки в чатах и соцсетях, реагирование на заданные ключевые слова (например, блокирование), создание снимков экрана и другие опции надёжно ограничивают подрастающее поколение от посещения нежелательных веб-ресурсов и негативной активности. Является одним из самых популярных кейлоггеров.
 

Хакерские программы

 
На службе у хакеров кейлоггеры приравниваются к вирусам; собственно, таковыми и являются. Действуют как трояны — собирают конфиденциальную информацию владельца ПК и отправляют через сетевое соединение (интернет, локальную сеть) своему «хозяину». Иногда их комбинируют с другими зловредами. Так, в августе 2006г. хакерам удалось выкрасть 1 млн. долл. в банке Nordea (Швеция) при помощи вируса Haxdoor — троянца с встроенным перехватчиком действий на клавиатуре.
 

Распространяются и внедряются в ОС хакерские кейлоггеры такими же методами, как и другое вредоносное ПО:

  • При посещении инфицированной веб-страницы, специальный скрипт, использующий уязвимость браузера, скрытно загружает и инсталлирует шпион на ПК пользователя;
  • Открытие замаскированного исполняемого файла, прикреплённого к электронному письму;
  • Специальный троян, ранее проникнувший в систему, скрытно загружает кейлоггер с хакерского сервера;
  • Запуск инфицированного инсталлятора доверенной программы.

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

  • получать логины/пароли к различным ресурсам Интернета, а также платёжным системам;
  • узнавать номера кредитных карт;
  • перехватывать все текстовые сообщения, которые вводит пользователь на заражённом компьютере. 
 

Способы защиты от кейлоггеров

 
В сигнатурные базы ведущих антивирусных и антишпионских программ включены сигнатуры (наборы характеристик кода) практически всех известных кейлоггеров. И в случае целевой атаки на систему, они достаточно успешно детектируют зловредные программы данного класса. 
 
Но случается и так, что сигнатура перехватчика остаётся неизвестной для антивируса: «системный сторож» не замечает присутствие клавиатурного шпиона в ОС. Всё дело в том, что более опытные хакеры/программисты, создавая кейлоггер, тщательно маскируют его «внутреннее строение». От неизвестных перехватчиков действий пользователя предпринимаются специализированные способы защиты (применительно к конкретной пользовательской задаче):
  1. Использование антивируса/фаервола с модулем проактивной защиты, предотвращающим заражение ПК. (Проактивная система блокирует подозрительную активность приложений и не использует сигнатурные технологиии.)
  2. Ввод логина и пароля на веб-сайтах с виртуальной клавиатуры. Либо автоматическая авторизация с менеджера паролей (например, KeePass заполняет поля входа указанными данными и при этом не использует буфер обмена).
  3. Использование одноразовых паролей при осуществлении финансовых операций (денежных переводов, оплаты и т.д.). Они создаются в автономных генераторах — брелках eToken PASS, или присылаются на мобильный телефон в SMS.
 
Брелок eToken PASS
 
Будьте во всеоружии — научитесь защищаться от клавиатурных шпионов и использовать их для контролирования чужих действий. Поделитесь этой информацией со своими друзьями и товарищами в соц. сетях (кнопки для репоста ниже), помогите им обеспечить информационную безопасность на своих ПК.
 
Читать дальше: