Сайт о телевидении

Сайт о телевидении

» » Keylogger: что это и как работает. Дополнительные средства защиты. Посмотрим на концепцию keylogger "ов глужбе

Keylogger: что это и как работает. Дополнительные средства защиты. Посмотрим на концепцию keylogger "ов глужбе

В переводе с английского языка Keylogger - это регистратор нажатий клавиш. В большинстве статей можно найти следующую формулировку слова кейлоггер:

Что такое кейлоггер?

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

В данной статье мы будем говорить о том какие существуют типы кейлоггеров. О плюсах и минусах каждого такого устройства и будем давать рекомендации в выборе клавиатурного шпиона.

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

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

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

Аппаратные кейлоггеры бывают внешние — они выглядят как обычное компьютерное оборудование, и внутренние, которые устанавливаются, непосредственно, в саму клавиатуру. Кейлоггер может работать неограниченное количество времени, так как для его работы не нужен дополнительный источник питания. Такой аппаратный кейлоггер может сохранять до 20 млн. нажатий клавиш.

Минусы:

  • Нет возможности установить удалённо
  • Ограничение памяти
  • Для получения отчёта требуется физической доступ к компьютеру (если модель без Wi-Fi-модуля)
  • Может быть использован только в тех случаях когда жертва не разбирается в компьютерном оборудовании

Плюсы:

  • Клавиатурный шпион который не видят программные антивирусы и антишпионы
  • Не высокая цена по сравнению с акустическими кейлоггерами (но программные клавиатурные шпионы дешевле)
  • Передача отчетов через встроенный Wi-Fi (не во всех моделях)

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

Минусы:

  • Высокая цена
  • Приобретение данного оборудования не законно
  • Большой размер
  • Бывают ошибки точности распознавания системы акустического криптоанализа
  • Нет в свободной продаже

Плюсы:

  • Кейлоггер который не видят программные антивирусы и антишпионы
  • Работает на расстоянии
  • Не требуется физический доступ к компьютеру

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

Программные кейлоггеры самые распространённые на рынке клавиатурных шпионов. Перехват нажатий клавиш на клавиатуре может применяться обычными приложениями и часто используется для вызова функций приложения из другой программы с помощью «горячих клавиш» (hotkeys) или, к примеру, для переключения неверной раскладки клавиатуры (как это реализовано в программах Punto Switcher и Keyboard Ninja).

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

Существует большое количество легального программного обеспечения, которое применяется админами для в течение дня, или для наблюдения пользователем за активностью посторонних людей на своем рабочем или домашнем компьютере. Но где проходит граница между «законным» использованием «легального» ПО и его использованием в преступных целях? То же «легальное» ПО нередко применяется и в целях умышленного похищения конфиденциальной информации - к примеру, логинов и паролей.

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

Основная масса существующих на сегодняшний день кейлоггеров считаются легальными и продаются в сети в свободной продаже, так как создатели такого программного обеспечения декларируют множество оснований для применения клавиатурных шпионов, например:

  • для родителей: отслеживание за действиями детей в сети и оповещение родителей в случае попыток зайти на страницы «18+» (родительский контроль);
  • для ревнивых мужей и жен: наблюдение за действиями своей второй половины в сети в случае сомнения и подозрения на «виртуальную измену»;
  • для службы безопасности разных организаций: отслеживание прецедентов нецелевого применения персональных компьютеров, их использования в нерабочее время;
  • для службы безопасности компаний: отслеживание фактов набора на клавиатуре критичных слов и словосочетаний, которые составляют коммерческую тайну данной компании, и разглашение которых способно привести к материальному или другому ущербу;
  • для различных секретных служб и правоохранительных органов: проведение анализа и расследования инцидентов, связанных с использование персональных компьютеров;

Большое количество сегодняшних клавиатурных шпионов скрывают себя в системе (т.к. имеют ), что на много упрощает их внедрение и последующее использование. Это делает задачу выявления клавиатурных шпионов одной из приоритетных для антивирусных компаний.

В классификации вредоносных программ «Лаборатории Касперского» под кейлоггеры отведена специальная категория Trojan-Spy (скрытые шпионские программы), в которую входят программы, включающие в себя функции клавиатурных шпионов. Согласно определению Лабаратории Касперского Trojan-Spy, это программы которые осуществляют электронный шпионаж.

Минусы:

  • Некоторые кейлоггеры занесены в сигнатурную базу данных антивирусов и определяются ими как вредонос, из-за этого в процессе работы могут быть удаленны.

Плюсы:

  • Большой выбор
  • Техническая поддержка разработчиков
  • Для установки кейлоггера и получения отчётов не требуется наличие физического доступ к компьютеру

Какой кейлоггер лучше?

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

Какой выбрать кейлоггер решать вам. Главное не забывать что в некоторых случаях использование клавиатурных шпионов незаконно!

Некоторые основные разновидности компьютерных вирусов. Сегодня мы поговорим с вами про еще одну категорию вирусов – кейлоггеры, про которые обычные пользователи знают очень мало.

В переводе с английского Keylogger (Keyboard Logger) обозначает «клавиатурный регистратор». Однако на самом деле кейлоггер является программой-шпионом, отслеживающей все происходящие с клавиатурой действия.

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

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

Принципы работы программных кейлоггеров

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

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

Помимо рассмотренных нами программных, существуют также и аппаратные кейлоггеры, которые невозможно обнаружить программным путем:

  • Дополнительный «переходник» между клавиатурой и корпусом компьютера;
  • Встроенное в клавиатуру устройство;
  • Миниатюрная видеокамера, снимающая клавиатуру;
  • Неизвестное USB-устройство и др.

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

  • Родительского контроля;
  • Слежения за использованием рабочего времени сотрудниками компании;
  • Служб безопасности
  • Ревнивых супругов.

Как не стать жертвой кейлоггера

Чтобы защититься от рассматриваемого типа вредоносных программ, следует соблюдать несложные правила:

  • Активируйте в вашем антивирусе функцию обнаружения потенциально опасных программ (она обычно отключена по умолчанию);
  • Для доступа к банковским данным пользуйтесь двухфакторной идентификацией или одноразовым паролем.
  • Используйте проактивную защиту;
  • Для ввода важных данных пользуйтесь виртуальной клавиатурой.

Доброго времени суток, всем тем, кто зашел к нам на "огонек". Сегодня речь пойдет о том, что есть keylogger и как оно вообще работает.

Сегодня речь пойдет не о всем известных обычных «зловредах» ( , и т.п.), а о малознакомой (широкому кругу пользователей), но не менее опасной заразе, чем всякие другие.

Разобраться, что это такое, для чего они не нужны (чем опасны), какие бывают и как с ними бороться, - вот поистине достойная цель, которую нам и предстоит сегодня осилить.

Что ж, работы непочатый край, засучиваем рукава и вперед.
Читаем.

Вводная

Думаю, те из Вас, кто дружит с английским, уже догадались, что keylogger (в переводе, от сокращения keyboard logger ) означает – клавиатурный регистратор, можно сказать, что это так и есть, однако официальное их название (по науке) – клавиатурные шпионы.

Относится сия «нечисть» к классу – программ-шпионов, т.е. попадая на компьютер (ноутбук/нетбук/планшет и т.п.) пользователя, она выполняет свои грязные дела шпионские функции без Вашего на то ведома, согласия и участия.

Выглядит это примерно так:

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

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

По сути, keylogger фиксирует все действия пользователя на клавиатуре, т.е. это некий «репитер» (повторитель), готовый в любой момент «слить» (куда следует) все то, что он за Вами нафиксировал.

Перехват нажатий клавиш может использоваться обычными программами и часто применяется для вызова функций программы из другого приложения с помощью «горячих клавиш» (hotkeys ) или, например, для переключения неправильной раскладки клавиатуры (как Keyboard Ninja ).

Посмотрим на концепцию keylogger "ов глужбе

Также стоит отметить, что современные клавиатурные шпионы не просто записывают коды вводимых клавиш – они "привязывают" клавиатурный ввод к текущему окну и элементу ввода.

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

Записываемая информация сохраняется на диске, и большинство современных клавиатурных шпионов могут формировать различные отчеты (записывая их в специализированный журнал регистрации, т.е Log -файл), могут передавать их или http/ .

Кроме того, ряд современных keylogger ’ов пользуются RootKit- технологиями для маскировки следов своего присутствия в системе.

В общем, вот такая многогранная «зараза», при наличии которой на Вашем компьютере Вы даже чихнуть спокойно не сможете без её ведома:)

Примечание:
Стоит сказать, что кейлоггеры довольно древний тип проклятия появились еще во времена MS-DOS – тогда они представляли собой обработчики прерывания клавиатуры размером около 1 кб.

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

Вы скажите, что сейчас на рынке куча антивирусных пакетов, как платных, так и бесплатных (о которых мы писали в своих обзорах, это и и и т.п.), неужели так сложно отловить какой-то «неказистый» клавиатурный шпион?

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

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

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

Самым распространенным вариантом реализации является кейлоггер, устанавливающий клавиатурные ловушки, хуки (с ударом в боксе нет ничего общего:)).

В Windows хуком называется механизм перехвата сообщений системы, использующий особую функцию:

  • Для этой функции используют механизм Win32API . Большинство клавиатурных шпионов данного вида используют хук WH_Keyboard ;
  • Кроме хука WH_KEYBOARD используют также хук WH_JOURNALRECORD ;
  • Отличие между ними заключается в том, что WH_JOURNALRECORD не требуется наличия отдельной динамической библиотеки (DLL ), что упрощает распространение сей гадости по сети.

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

Также для создания такого шпиона не требуется особых знаний, кроме знания Visual C++ или Delphi и Win32API . Однако использование данного способа вынуждает программиста-хакера создавать отдельную динамическую библиотеку DLL .

Стоит сказать, что методика ловушек достаточно проста и эффективна, но у нее есть ряд недостатков. Первым недостатком можно считать то, что DLL с ловушкой отражается в адресное пространство всех GUI -процессов, что может применяться для обнаружения клавиатурного шпиона.

Вариация 2. Периодический опрос состояния клавиатуры

Примитивный до смешного метод, состоящий в циклическом опросе состояния клавиатуры с большой скоростью. Данный метод не требует внедрения DLL в GUI -процессы, и в результате шпион менее заметен.

Недостатком клавиатурных шпионов такого типа является необходимость периодического опроса состояния клавиатуры с достаточно высокой скоростью, не менее 10-20 опросов в секунду.

Этот метод применяется некоторыми коммерческими продуктами.

Вариация 3. Клавиатурный шпион на базе драйвера

Данный метод наиболее эффективен в сравнении с описанными выше. Возможны как минимум два варианта реализации этого метода – написание и клавиатуры вместо штатного или установка драйвера-фильтра. Этот метод (равно как и ловушка) является документированным методом слежения за клавиатурным вводом.

Вообще, чтобы было нагляднее ориентироваться, какие кейлоггеры наиболее популярны, приведу примерный процент их распространенности (см. изображение выше).

Вариация 4. Шпион-руткит

Может реализовываться как в UserMode , так и в режиме ядра (KernelMode ). В UserMode слежение за клавиатурным вводом может быть построено за счет перехвата обмена процесса csrss.exe драйвером клавиатуры или при помощи слежения за вызовами API -функций типа GetMessage и PeekMessage .

Во многих случаях от руткита-кейлоггера не спасает даже экранная клавиатура, которая часто преподносится как панацея от кейлоггера любого типа.

Аппаратные клавиатурные устройства

В последние годы получили страшное развитие, миниатюрнейшие размеры и чрезвычайную разумность. на вид их иногда сложно заметить, реже, - отличить от флешки, а в случае с банкоматами их вообще можно различать лишь профессионал.

В старом варианте выглядело это как-то так:

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

Варианты реализации аппаратных кейлоггеров:

  • Установка устройства слежения в "разрыв" кабеля клавиатуры;
  • Встраивание устройства слежения в клавиатуру;
  • Установка USB -устройства, вроде "флешки", карты памяти и тп;
  • Визуальное "наблюдение" за клавиатурой/экраном;
  • Прочее.

Мило, не так ли? Надо признать, что такая гадость наиболее зловредна, но и подсадить её несколько сложнее, - она требует непосредственного физического доступа к устройству.

Немного про проактивную защиту

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

Главный недостаток этого способа - необходимость активного участия пользователя для определения дальнейших действий с подозрительным кодом.

  • Если пользователь недостаточно технически подготовлен, из-за его некомпетентного решения кейлоггер может быть пропущен;
  • Если же участие пользователя в принятии решения системой проактивной защиты минимизировать, то keylogger может быть пропущен в следствии недостаточно жесткой политики безопасности системы.

Вот такая палка о двух концах. И чуть чуть выделим еще кое-что.

Виртуальная клавиатура как решение

Последний из рассматриваемых способов защиты как от программных, так и от аппаратных кейлоггеров - использование виртуальной клавиатуры.

Виртуальная клавиатура представляет собой программу, показывающую на экране изображение обычной клавиатуры, в которой с помощью мыши можно «нажимать» определенные клавиши.

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

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

Для проверки безопасности вводимых паролей через KeePass я решил написать простейший кейлоггер с дополнительным захватом данных из буфера обмена. Весь код занял несколько строчек на FreePascal.

Пароли, без дополнительных мер защиты и правильной настройки KeePass, как оказалось, достаточно уязвимы.

Код кейлоггера помещен в цикл Timer, который обновляется каждые 10 ms. Используются модули: Windows и ClipBrd.

//Сравниваем текущие состояние клавиш for f:= 0 to 255 do if a[f] <> GetAsyncKeyState(f) then begin //Реакция на отжатие клавиши if KeePass.Checked and (GetAsyncKeyState(f) = 0) then Memo1.Caption:= Memo1.Caption + chr(f); //Реакция на нажатие клавиши if not KeePass.Checked and (GetAsyncKeyState(f) <> 0) then Memo1.Caption:= Memo1.Caption + chr(f); end; //Сохраняем в массив текущее состояние клавиш for f:= 0 to 255 do a[f] := GetAsyncKeyState(f); //Запись при изменении в буфере обмена if s <> Clipboard.AsText then begin s:= Clipboard.AsText; Memo2.Caption:= Memo2.Caption + s + " "; end;
Программа Simple Logger выглядит так:

В окне -Keyboard- выводятся клавиши без учета регистра и языка ввода. Отображается символ, номер которого равен коду клавиши: chr(f). Можно доработать программу для корректного отображения всех символов, но это не требуется для настоящего исследования.

В окно -Clipboard- происходит копирование при изменении содержимого буфера.

Слабые места KeePass и их устранение

1. Ввод основного пароля

По умолчанию основной пароль в KeePass вводится без защищенного режима, поэтому он легко определяется в Simple Logger. Это самое критичное место в безопасности, т.к. здесь мы получаем доступ сразу ко всей базе паролей.

Для устранения проблемы необходимо включить настройку Безопасности «Вводить основной пароль в защищенном режиме (подобно UAC в Windows Vista и выше)». Этот режим не позволяет логгеру получить доступ к клавиатуре. Кроме того, в нем невозможно сделать скриншот для определения расположения Ключевого файла.

Данный режим включается только при вводе основного пароля. О защите остальных паролей будет идти речь дальше.

2. Буфер обмена

Simple Logger реагирует на изменение буфера обмена с частотой 100 раз в секунду. Таким образом, попадание пароля в буфер и его последующее удаление через несколько секунд не дает защиты в данном случае.

Для устранения этой проблемы можно использовать Автонабор.

3. Автонабор

Реакция на автонабор KeePass происходит на отжимание клавиши, а не нажатие. Это позволяет получить защиту от некоторых кейлоггеров. Для обхода этого в Simple Logger есть дополнительная настройка: «KeePass Auto-Type». Если она включена, то логгер срабатывает на отжимание клавиши.

При автонаборе через KeePass: MyLoginName LongPassword123

В Simple Logger появится запись:

Simple Logger ни как не учитывает сочетания клавиш. Как видите, клавиша Shift отобразилась в виде спецсимвола (похожего на «+») и «?». Shift отпускается как до, так и после заглавной буквы. Тем не менее, этого достаточно, чтобы понять пароль.

Для решения этой проблемы можно использовать настройку в KeePass «Двойное усложнение автонабора». В этом случае KeePass будет вводить часть пароля с клавиатуры, а часть через буфер обмена, перемешивая значения. Это позволяет обойти некоторые кейлоггеры.

Simple Logger на Двойное усложнение автонабора отреагирует следующим образом:

  • Вставка из буфера обмена «Ctrl + V» отобразилась как «V◄?»;
  • Стрелка влево – «%» (код клавиши и символ #37);
  • Стрелка вправо – «"» (код клавиши и символ #39).
Можно написать небольшой алгоритм и восстановить правильный пароль, используя данные из обоих окон. Эта настройка усложняет работу кейлоггера, но не гарантирует защиты – при желании пароль легко восстанавливается.

От кейлоггера, который «заточен» под KeePass, могут помочь дополнительные средства защиты.

4. Дополнительные средства защиты

В некоторых программных комплексах есть такие возможности как:
  • Защита ввода данных с аппаратной клавиатуры;
  • Защищённый браузер.
При включении защиты ввода данных с аппаратной клавиатуры Simple Logger уже не может получить данные при автонаборе KeePass, если они вводятся в браузере в форму для пароля. В этом случае слабым местом будет работа через буфер обмена.

При использовании защищенного браузера получить доступ к буферу обмена и клавиатуре средствами Simple Logger не удалось. Кроме того, не было возможности делать скриншоты.

Вместо заключения

Посмотрев, как наши сотрудники используют KeePass, я обнаружил, что некоторые:
  • не используют UAC;
  • не используют автонабор, просто копируя пароли через буфер;
  • оставляют программу открытой, уходя с рабочего места;
  • используют настройки по умолчанию, не настраивая политику безопасности.
Я менеджер в небольшой фирме, немного увлекаюсь программированием. Я не являюсь техническим специалистом или экспертом в области безопасности, поэтому буду рад, если более опытные специалисты укажут на недочеты моего небольшого исследования.

Я тестировал последнюю версию KeePass 2.36 в среде Windows 8.1. Справедливости ради надо отметить, что данная проблема не является только проблемой KeePass. Есть множество других хранителей паролей с большей или меньшей степенью надежности, но это тема уже другого исследования.

Ссылки

  1. Simple Logger на GitHub
    //Кому не страшно, в архиве «SimpleLogger_for_Win64.7z» можно найти exe-шник. Программа не позволяет вести полноценный кейлоггинг, предназначена для исследования безопасности и ознакомительных целей.
UPD (27.07.2017)

Плагин для браузера

Как заметил пользователь dartraiden , можно использовать модуль KeePassHttp совместно с дополнением для браузера PassIFox или ChromeIPass . Этот плагин (по заявлению разработчика) обеспечивает безопасное экспонирование записей KeePass через HTTP.

Данная связка позволяет автоматически заполнять логин и пароль в браузере, когда KeePass разблокирован. Simple Logger ни как не реагирует в данном случае.

Слабым местом ChromeIPass является генерация нового пароля, т.к. он копируется через буфер обмена и виден на экране. В этом случае, лучше генерировать новый пароль в самом KeePass.

Создание нового мастер пароля

Как заметил arthur_veber :
При замене мастер пароля, а так же при создании нового, не применяется безопасный режим.

В этом случае Simple Logger перехватывает вводимый в KeePass мастер пароль.

Не помогает и виртуальная экранная клавиатура от известного производителя, которая, как и автонабор KeePass, работает по событию на отжимание клавиши.

Советы здесь давать трудно. Наверное, нужно обратить внимание разработчиков на эту проблему.

Другие средства атаки

Как первым заметил пользователь qw1 , если система, на которой установлен KeePass, скомпрометирована, то могут использоваться друге средства атаки, помимо кейлоггера. В этом случае перечень действий по противодействию атаке будет зависеть от конкретной ситуации.

К сожалению, невозможно осветить в одной статье все меры защиты, которые необходимы для хранения паролей.

Теги: Добавить метки

Наши компьютеры, ноутбуки, нетбуки! А тут еще непонятная дрянь, называемая кейлоггер. Keylogger (англ., от сокращения keyboard logger) значит клавиатурный регистратор, но правильнее их называть клавиатурными шпионами, так как относится к классу spyware – программ-шпионов, которые, попав на компьютер пользователя, выполняют свои задачи без ведома самого пользователя, а тем более согласия и участия.

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


Keylogger характеризуется тем, что способен фиксировать нажатия клавишей пользователем на клавиатуре, а затем доставить полученные данные тому и туда, куда следует. Современные кейлоггеры умеют соотносить клавиатурный ввод с текущим окном и элементом ввода. Многие из них умеют отслеживать список работающих приложений, делают “фото” экрана по заданному расписанию или событию, шпионят за содержимым буфера обмена, скрытно следить за пользователем. Вся собранная информация сохраняется на диске, а затем записывается в Log-файл – что-то вроде журнала регистрации, данные могут быть переданы по электронной почте или http/ftp-протоколу. При этом, некоторые продвинутые используют RootKit-технологии, маскирую следы своего пребывания в системе.

Ну, неужели же так сложно отловить этих приятелей при наличии современных программ?

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

По каким принципам работают кейлоггеры?

Вообще, их общий принцип работы - внедриться в процесс прохождения сигнала от нажатия клавиши до появления символа на экране.

Клавиатурная ловушка

Самым частый вариант – установка клавиатурных ловушек - хуки В Windows хук - это перехват сообщений системы с использованием особого мехнизма Win32API. Большая часть клавиатурных шпионов этого типа пользуются хуком WH_Keyboard. Также может быть использован хук WH_JOURNALRECORD. Разница в том, что WH_JOURNALRECORD не требует наличия отдельной динамической библиотеки (DLL), упрощая распространение это вредоносного софта по сети.

Опрос состояния клавиатуры
Очень простой метод заключается в цикличном опросе состояния клавиатуры с большой скоростью. Не требуется внедрения DLL в GUI-процессы (GUI – графический пользовательский интерфейс). Недостаток подобных клавиатурных шпионов - в необходимости периодического опроса состояния клавиатуры с достаточно высокой скоростью (10-20 опросов в секунду).

Кейлоггер на базе драйвера
Метод более эффективный, по сравнению с описанными. Как минимум, метод возможно реализовать 2 способами: написать и установить в систему своего драйвера клавиатуры вместо штатного или установить драйвер-фильтр.

Клавиатурные ловушки составляют подавляющее большинство среди всех кейлоггеров.

Шпион-rootkit
Может быть реализован и в UserMode, и в режиме ядра (KernelMode). В UserMode слежение за клавиатурным вводом осуществляется за счет перехвата обмена процесса csrss.exe драйвером клавиатуры или при помощи слежения за вызовами API-функций типа GetMessage и PeekMessage. Часто от такого шпиона не спасает и экранная клавиатура, которую пытаются преподносить как средство от кейлоггеров любого типа.

Аппаратные клавиатурные устройства противопоставлены программным средствам шпионажа и их нельзя обнаружить программными методами.

Как реализовано:

  • Устанавливаются устройства слежения в разрыв кабеля клавиатуры (например, устройство в виде переходника PS/2);
  • Устройство слежения может быть встроено в клавиатуру;
  • И просто визуальное наблюдение за клавиатурой (например, миниатюрная камера, находящаяся над панелью ввод данных банкомата).

Каким же образом keylogger распространяются?

В принципе, таким же, как и любые вредоносные программ. Они могут попасть:

  • Из файла, полученного по электронной почте (поэтому стоит напомнить: не нужно открывать незнакомые файлы!)
  • Запуск файла из каталога, расположенного в общем доступе в peer-to-peer сети;
  • С помощью скрипта на веб-страницах, использующего особенности интернет-браузеров и позволяющие программам запускаться автоматически, как только пользователь посетил страницу;
  • Через уже установленную вирусную программу, умеющую скачивать и устанавливать в систему себе подобных.

Естественно, что подобные программы могут установить службы безопасности компаний, ну или же если вы являетесь пристальным объектом наблюдения со стороны вашей второй половины.

Оставьте свой комментарий!