Keylogger: что это и как работает. Что такое кейлоггер

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

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

Сейчас они могут не только фиксировать клавиатурные нажатия, но и:

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

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

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

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

К примеру, кейлоггеры могут быть полезны:

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

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

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

Есть много разновидностей кейлоггеров

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

После тестирования более 60 распространённых кейлоггеров можно сделать такие выводы:

  • Метод работы. Большая часть клавиатурных шпионов использует самые примитивные методы сбора информации. То есть это говорит, о том, что при своей работе они никак не маскируются и имеют примитивную защиту. То есть понятно, обычный пользователь их скрытой работы не видит, но стоит только провести элементарную проверку и они элементарно вычисляются. Но, как мы наблюдали описания многих из них - все они якобы полностью незаметны, как видим это далеко не так.
  • Лишь около 10% имеют более сложную структуру работы, в том числе методы защиты.

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

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

На борьбу с ними выступают такие типы программ:
  • Антикейлоггеры
  • Antispyware-приложения

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

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

Стоит отметить, что клавиатурные шпионы вирусами не являются, поскольку не могут размножить себя. В виду этого они именуются, как потенциально опасное программное обеспечение. Иногда функция обнаружения такого ПО может быть отключена в антивирусе, поэтому, если считаете, что лишняя осторожность не помешает то следуют её всё таки включить.

Подытожив, можно сделать некоторые выводы

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

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

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

Кейлоггер - что это такое? Какая опасность от них исходит? Можно ли использовать в своих интересах кейлоггер? Что это за собой влечёт?

Общая информация

В современном информационном мире очень остро стоит вопрос безопасности. Среди всего разнообразия зловредов отдельно стоит программа-кейлоггер. Что она собой представляет? Какие опасности таит? Как с ними бороться? Те, кто хорошо знает английский язык, наверняка перевели название программы и поняли, что разговор будет вестись о клавиатурном регистраторе. Именно так и переводится их название - keylogger. Но на просторах бывшего СССР их официальное название - клавиатурные шпионы. В чем же заключается их особенность?

Когда программа попадает на компьютер, то она начинает выполнять свои задачи в виде шпионских функций без ведома, участия и согласия человека. Стоит задать вопрос «Кейлоггер - что это такое?», как выясняется, что многие даже не представляют себе, чем же является подобная программа. И из этого следует тот печальный факт, что многие пользователи элементарно недооценивают их угрозу. А зря. Ведь главная цель этих программ - это красть и передавать своему создателю логины и пароли учетных записей пользователя, кошельков, банковских приложений.

Как они работают?

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

История развития

Стоит упомянуть, что кейлоггер для Windows - явление не новое. Первые подобные программы являлись ровесниками MS-DOS. Тогда это были обычные обработчики прерываний клавиатуры, размер которых колебался около отметки в 1 Кб. И с тех пор их основная функция так и не изменилась. Они до сих пор в первую очередь осуществляют скрытную регистрацию клавиатурного ввода, записывают собранную информацию и передают её своему создателю. Может возникнуть вопрос: "Если они так примитивны, то почему многочисленные антивирусные приложения не отлавливают кейлоггеры?". Ведь это несложная программа. И тем не менее справиться специализированным приложениям довольно сложно. Дело в том, что кейлоггер - это не вирус и не троян. И чтобы найти его, необходимо устанавливать специальные расширения и модули. К тому же этих вредоносных программ так много, что против них бессилен и сигнатурный поиск, считающийся одним из самых передовых решений защиты.

Распространение

Как же они попадают на компьютеры пользователей? Существует большое количество путей распространения. Есть и кейлоггер с отправкой на почту всем, кто есть в адресной книге, могут они распространяться и под видом иных программ или же идя в качестве дополнения к ним. Допустим, человек скачивает нелицензионную версию какого-то приложения с совершенно стороннего сайта. Он сам устанавливает себе основное приложение, а вместе с ним - и кейлоггер. Или может на email приходили от знакомых странные сообщения с вложенными файлами? Вполне возможно, что это действовал кейлоггер с отправкой на почту. Открытие письма не несёт в себе угрозы на большинстве сервисов, поскольку это просто набор текста. А вот приложения к нему могут таить в себе опасность. При выявлении подобной ситуации лучше всего будет избавиться от потенциально опасных файлов. Ведь удаленный кейлоггер не опасен и ничем не сможет навредить.

Распространение через почту

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

Создание и использование

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

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

Это самый простой тип, базирующийся на одном общем принципе работы. Суть программы заключается в том, что это приложение внедряется в процесс передачи сигнала от момента, когда была нажата клавиша, и до отображения символа на экране. Для этого широко используются хуки. В операционных системах так называется механизм, задачей которого является перехват сообщений системы, во время которого используется особая функция, которая является частью Win32API. Как правило, из представленного инструментария чаще всего применяют WH_Keyboard, немногим реже - WH_JOURNALRECORD. Особенность последнего заключается в том, что он не требует наличия отдельной динамической библиотеки, благодаря чему вредоносная программа более быстро распространяется по сети. Хуки считывают всю информацию, что передаётся с аппаратуры ввода. Этот подход довольно эффективен, но имеет ряд недостатков. Так, необходимо создавать отдельную динамическую библиотеку. А она будет отображаться в адресном пространстве процессов, благодаря чему выявить клавиатурный регистратор будет более легко. Чем и пользуются защитники.

Иные методы

Первоначально необходимо упомянуть о таком примитивном до смешного методе, как периодический опрос состояния клавиатуры. В этом случае запускается процесс, который раз 10-20 на секунду проверяет, не были ли нажаты/отпущены определённые клавиши. Все изменения при этом фиксируются. Популярно также создание на базе драйвера. Это довольно эффективный метод, который имеет две реализации: разработка своего фильтра или же своего специализированного программного обеспечения для устройства ввода. Популярны и руткиты. Они реализованы таким образом, чтобы перехватывать данные во время обмена между клавиатурой и управляющим процессом. Но самыми надёжными считаются считывания информации. Хотя бы потому, что обнаружить их программными средствами чрезвычайно сложно, буквально невозможно.

А как с мобильными платформами?

Нами уже было рассмотрено понятие «кейлоггер», что это, как они создаются. Но при рассмотрении информации прицел был на персональные компьютеры. Но ещё больше, чем ПК, существует множество различных мобильных платформ. А что же в случае с ними? Рассмотрим, как работает кейлоггер для "Андроид". В целом принцип функционирования похож с тем, что описывалось в статье. Но нет обычной клавиатуры. Поэтому они нацеливаются на виртуальную, которая выводится на экран, когда пользователь планирует что-то ввести. А затем стоит ввести информацию - как она сразу же будет передана творцу программы. Поскольку система безопасности на мобильных платформах хромает, то кейлоггер для андроид может успешно и длительный срок работать и распространяться. Поэтому всегда, когда скачиваете приложение, необходимо обдумывать права, которые им предоставляются. Так, если программа для чтения книг просит доступа к интернету, клавиатуре, различным административным сервисам мобильного устройства, это причина задуматься о том, а не вредоносный ли это субъект. Это же в полной мере относится и к тем приложениям, которые есть в официальных магазинах - ведь они проверяются не вручную, а автоматикой, которая не отличается совершенством.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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