Как найти клавиатурный вирус

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

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


При возникновении неких событии ввода (нажатии клавиш, перемещении мыши) события обрабатываются соответствующим драйвером и помещается в системную очередь аппаратного ввода. В системе имеется особый поток необработанного ввода, называемый RIT ( Raw Input Thread ), который извлекает события из системной очереди и преобразует их в сообщения. Полученные сообщения помещаются в конец очереди виртуального ввода одного из потоков (виртуальная очередь потока называется VIQ – Virtualized Input Queue ). При этом RIT сам выясняет, в очередь какого конкретно потока необходимо поместить событие. Для событий мыши поток определяется поиском окна, над которым расположен курсор мыши. Клавиатурные события отправляются только одному потоку – так называемому активному потоку (т.е. потоку, которому принадлежит окно, с которым работает пользователь). На самом деле это не совсем так - в частности, на рисунке показан поток A , не имеющий очереди виртуального ввода. В данном случае получатся, что потоки A и B совместно используют одну очередь виртуального ввода. Это достигается при помощи вызова API функции AttachThreadInput , которая позволяет одному потоку подключиться к очереди виртуального ввода другого потока.

Следует отметить, что поток необработанного ввода отвечает за обработку специальных сочетаний клавиш, в частности Alt + Tab и Ctrl + Alt + Del .

Слежение за клавиатурным вводом при помощи ловушек

Данная методика является классической для клавиатурных шпионов. Суть метода состоит в применении механизма ловушек ( hook ) операционной системы. Ловушки позволяют наблюдать за сообщениями, которые обрабатываются окнами других программ. Установка и удаление ловушек производится при помощи хорошо документированных функций API библиотеки user 32. dll (функция SetWindowsHookEx позволяет установить ловушку, UnhookWindowsHookEx - снять ее). При установке ловушки указывается тип сообщений, для которых должен вызываться обработчик ловушки. В частности, есть два специальных типа ловушки WH_KEYBOARD и WH_MOUSE - для регистрации событий клавиатуры и мыши соответственно. Ловушка может быть установлена для заданного потока и для всех потоков системы. Ловушка для всех потоков системы очень удобна для построения клавиатурного шпиона.

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

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

Слежение за клавиатурным вводом при помощи опроса клавиатуры

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

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

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

Слежение за клавиатурным вводом при помощи перехвата API функций

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

Простейшим способом может быть перехват функций GetMessage, PeekMessage и TranslateMessage библиотеки User 32, что позволит вести мониторинг всех сообщений, получаемых GUI приложениями.

Клавиатурный шпион на базе драйвера

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

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

  • Установка устройства слежения в разрыв кабеля клавиатуры (например, устройство может быть выполнено в виде переходника PS /2);
  • Встраивание устройства слежения в клавиатуру;
  • Считывание данных путем регистрации ПЭМИН (побочных электромагнитных излучений и наводок);
  • Визуальное наблюдение за клавиатурой

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

Пример клавиатурного шпиона

В настоящее время сотни клавиатурных шпионов, рассмотрим в качестве примера достаточно распространенную коммерческую программу 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/)…. Этот список можно продолжать очень долго, однако в большинстве случаев современные клавиатурные шпионы имеют примерно одинаковую базовую функциональность и различаются сервисными функциями и качеством маскировки в системе.

Методики поиска клавиатурных шпионов

  1. Поиск по сигнатурам. Данный метод не отличается от типовых методик поиска вирусов. Сигнатурный поиск позволяет однозначно идентифицировать клавиатурные шпионы, при правильном выборе сигнатур вероятность ошибки практически равна нулю. Однако сигнатурный сканер сможет обнаруживать заранее известные и описанные в его базе данных объекты;
  2. Эвристически алгоритмы. Как очевидно из названия, это методики поиска клавиатурного шпиона по его характерным особенностям. Эвристический поиск носит вероятностный характер. Как показала практика, этот метод наиболее эффективен для поиска клавиатурных шпионов самого распространенного типа – основанных на ловушках. Однако подобные методики дают много ложных срабатываний. Мои исследования показали, что существуют сотни безопасных программ, не являющихся клавиатурными шпионами, но устанавливающих ловушки для слежения за клавиатурным вводом и мышью. Наиболее распространенный примеры - программы Punto Switcher , словарь Lingvo , программное обеспечение от мультимедийных клавиатур и мышей;
  3. Мониторинг API функций, используемых клавиатурными шпионами. Данная методика основана на перехвате ряда функций, применяемых клавиатурным шпионом – в частности, функций SetWindowsHookEx, UnhookWindowsHookEx, GetAsyncKeyState, GetKeyboardState. Вызов данных функций каким либо приложением позволяет вовремя поднять тревогу, однако проблемы многочисленных ложных срабатываний будут аналогичны методу 2;
  4. Отслеживание используемых системой драйверов, процессов и сервисов. Это универсальная методика, применимая не только против клавиатурных шпионов. В простейшем случае можно применять программы типа Kaspersky Inspector или Adinf , которые отслеживают появление в системе новых файлов.

Программы для поиска и удаления клавиатурных шпионов

  1. Любой антивирусный продукт. Все антивирусы в той или иной мере могут находить клавиатурные шпионы, однако клавиатурный шпион не является вирусом и в результате пользы от антивируса мало;
  2. Утилиты, реализующие механизм сигнатурного поиска и эвристические механизмы поиска. Примером может служить утилита AVZ , сочетающая сигнатурный сканер и систему обнаружения клавиатурных шпионов на базе ловушек;
  3. Специализированные утилиты и программы, предназначенные для обнаружения клавиатурных шпионов и блокирования их работы. Подобные программы наиболее эффективны для обнаружения и блокирования клавиатурных шпионов, поскольку как правило могут блокировать практически все разновидности клавиатурных шпионов.

Из специализированных программ интерес могут представлять коммерческие продукты PrivacyKeyboard и Anti-keylogger (http://www.bezpeka.biz/). Интерфейс программы Anti-keylogger показан на рисунке:


Тестирование программы показало, что она эффективно противодействует клавиатурным шпионам, основанным на применении ловушек, циклического опроса и клавиатурного драйвера-фильтра.

Другим примером может служить программа Advanced Anti Keylogger (http://www.anti-keylogger.net).


В режиме обучения данная программа по логике работы напоминает Firewall – при обнаружении подозрительной активности выводится предупреждение с указанием имени и описания программы. Пользователь может выбрать действие на сеанс (разрешить, запретить), или создать постоянное правило для правило для приложения. В ходе тестов Advanced Anti Keylogger уверенно обнаружил все основные разновидности клавиатурных шпионов (на базе ловушки, циклического опроса, драйвера-фильтра). Настройки программы защищаются паролем, который задается в ходе инсталляции.

Заключение

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

Как искать клавиатурных шпионов

Как бы хитры не были кейлоггеры, но и их можно обнаружить. Существует несколько способов.

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

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

  • Мониторинг API-функций, который используют шпионы

Способ основан на перехвате ряда функций, применяемых клавиатурными шпионами, таких, как SetWindowsHookEx, UnhookWindowsHookEx, GetAsyncKeyState, GetKeyboardState.

Отслеживание драйверов, процессов, сервисов, используемых системой

Способ годится не только для отслеживания кейлоггеров. Самый простой вариант использования - применение программы типа Kaspersky Inspector, отслеживающей появление в системе новых файлов.

Как защититься от кейлоггеров

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

  • Установка антивирусного продукта;
  • Поддержка актуальной базы данных.

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

Вообще, так как кейлогееры нацелены на шпионаж за конфиденциальными данными, то следует прибегнуть к следующим способам безопасности:

Использование одноразовых паролей/двухфакторная аутентификация

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

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


Поиск и удаление клавиатурных шпионов

Какими же способами защититься от этой нечистой силы?

  • Любая антивирусная программа
  • Утилиты с механизмами сигнатурного и эвристического поиска (например, AVZ).
  • Утилиты и программы, направленные на обнаружение клавиатурных шпионов и блокировку их работы. Такой способ защиты наиболее эффективен, так как данное ПО блокирует,какправило, практически все виды кейлоггеров.

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

К примеру, англоязычный бесплатный софт Advanced Spyware Remover - избавляет от рекламных программ, звонильщиков, программ-шпионов, кейлоггеров, троянов и т.д.


Правда, стоит заметить, что программа не обновлялась 3 года.


Если обратить внимание на что-то посвежее, то можно воспользоваться Spyware Terminator 2012 (правда, небезвозмездно). Утилита способна обнаружить и удалить почти все виды вредоносного ПО. Встроенная система безопасности активирует защиту приложений и системы, мониторит утилиты, непосредственно взаимодействующие с сетью.

Privacy Keyboard/Anti-keylogger - специализированныйкоммерческий продукт против клавиатурных шпионов. Имеется защита от:

  • перехвата буфера обмена,
  • перехвата нажатий клавиатуры,
  • перехвата текста из окон

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

Anti-keylogger имеет бесплатный вариант, ограниченный временем использования – 10 рабочих сессий, каждая по 2 часа, что вполне достаточно для проверки ПК за один раз.

Итак, что же имеем:

  1. Кейлоггеры позиционируются как легальное ПО, но многие из могут быть использованы для кражи персональной информации пользователей.
  2. Сегодня кейлоггеры, вместе с фишингом и и т.п., стали одним из основных методов электронного мошенничества.
  3. Отмечается рост числа вредоносных программ с функциональностью кейлоггеров.
  4. Распространение программных кейлоггеров на основе rootkit-технологий, что делает их невидимыми для пользователя и антивирусных сканеров.
  5. Для обнаружения факта шпионажа с помощью клавиатурных шпионов требуется использование специализированных средств защиты.
  6. Необходимость в многоуровневой защите (антивирусные продукты с функцией детектирования опасного ПО, средства проактивной защиты, виртуальная клавиатура).

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


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

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

Вводная

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

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

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

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

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

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

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

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

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

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

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

Вариация 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 -устройства, вроде "флешки", карты памяти и тп;
  • Визуальное "наблюдение" за клавиатурой/экраном;
  • Прочее.

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

Что ж. Теперь двинемся далее.

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

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

Можно выделить следующие методы распространения кейлоггеров (без учета случаев покупки и установки их заботливым супругом/ой и использования кейлоггеров службами безопасности организаций):

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

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

Методики поиска клавиатурных шпионов

  1. Поиск по сигнатурам.
    Данный метод не отличается от типовых методик поиска вирусов. Сигнатурный поиск позволяет однозначно идентифицировать клавиатурные шпионы, при правильном выборе сигнатур вероятность ошибки практически равна нулю. Однако сигнатурный сканер сможет обнаруживать заранее известные и описанные в его базе данных объекты, так что эта база должна быть большой и ее нужно постоянно обновлять;
  2. Эвристические алгоритмы.
    Это методики поиска клавиатурного шпиона по его характерным особенностям. Эвристический поиск носит вероятностный характер, и он наиболее эффективен для поиска клавиатурных шпионов самого распространенного типа – основанного на ловушках, однако подобные методики дают много ложных срабатываний. Некоторые исследования показали, что существуют сотни безопасных программ, не являющихся клавиатурными шпионами, но устанавливающих ловушки для слежения за клавиатурным вводом и мышью. Наиболее распространенные примеры – программа Punto Switcher, программное обеспечение от мультимедийных клавиатур и мышей;
  3. Мониторинг API-функций, используемых клавиатурными шпионами.
    Данная методика основана на перехвате ряда функций, применяемых клавиатурным шпионом, в частности, функций SetWindowsHookEx , UnhookWindowsHookEx, GetAsyncKeyState, GetKeyboardState . Вызов данных функций каким-либо приложением позволяет вовремя поднять тревогу, однако проблемы многочисленных ложных срабатываний будут аналогичны методу 2 ;
  4. Отслеживание используемых системой драйверов, процессов и сервисов.
    Это универсальная методика, применимая не только против клавиатурных шпионов. В простейшем случае можно применять программы типа Kaspersky Inspector , которые отслеживают появление в системе новых файлов.

Чаще всего, - это всё то, что касается методик поиска, теперь пройдемся по способам защиты как от программных, так и от аппаратных кейлоггеров.

Обобщенные способы защиты от keylogger

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

  • Устанавливается антивирусный продукт;
  • Поддерживается актуальное состояние баз.

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

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

Подробнее про методологию безопасности

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

  • Использование одноразовых паролей/двухфакторная аутентификация;
  • Использование систем проактивной защиты;
  • Использование виртуальных клавиатур;
  • Использование No-script расширений для браузеров.

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

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

Аппаратная защита

Для получения одноразовых паролей могут использоваться специальные аппаратные устройства:

  • В виде "брелка"-токена (например, Blizzard eToken ):



В случае использования устройства генерации пароля в виде "брелка", алгоритм получения доступа к защищенной информационной системе таков:

  1. Пользователь подключается к интернету и открывает диалоговое окно для ввода персональных данных;
  2. Далее пользователь нажимает на кнопку ключа для генерации одноразового пароля, после этого пароль на 15 секунд появляется на ЖК -дисплее брелка;
  3. Пользователь вводит в диалоговом окне свой логин, персональный PIN -код и сгенерированное значение одноразового пароля (обычно PIN -код и ключ вводятся последовательно в одно поле passcode);
  4. Введённые значения проверяются на стороне сервера, после чего принимается решение о том, имеет ли право их владелец на работу с закрытыми данными.

При использовании устройства в виде калькулятора для генерации пароля пользователь набирает свой PIN -код на клавиатуре устройства и нажимает кнопку.

Наиболее разумное и современное решение

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


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

По сути они являются аппаратными, т.к для генерации используется отдельное устройство (телефон, планшет и тп) с установленным на него ПО, вроде Google Authenticator .

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

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


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

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

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

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

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


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

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

Впрочем.. Идем далее.

Программы для поиска и удаления кейлоггеров

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

Собственно, вот весь арсенал, который может нам оказаться полезным:

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

Из бесплатных условно-специализированных решений стоит присмотреться к:

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

Давайте полегоньку закругляться.

Маленькие такие итоги

Теперь давайте еще раз подытожим все, что было сказано. Итак, по пунктам:

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

Вот как-то так. Теперь к послесловию.

Послесловие

Что хочется сказать в заключение.

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

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

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.

Copyright © Иммунитет и инфекции