Программный кейлоггер
Аппаратный кейлоггер
Программные кейлоггеры принадлежат к той группе программных продуктов, которые осуществляют контроль над деятельностью пользователя персонального компьютера. Первоначально программные продукты этого типа предназначались исключительно для записи информации о нажатиях клавиш клавиатуры, в том числе и системных, в специализированный журнал регистрации (Log-файл), который впоследствии изучался человеком, установившим эту программу. Log-файл мог отправляться по сети на сетевой диск, ftp сервер в сети Интернет, по Email и т.д. В настоящее время программные продукты, сохранившие "по старинке" данное название, выполняют много дополнительных функций - это перехват информации из окон, перехват кликов мыши, перехват буфера обмена, "фотографирование" снимков экрана и активных окон, ведение учета всех полученных и отправленных Email, мониторинг файловой активности, мониторинг системного реестра, мониторинг очереди заданий, отправленных на принтер, перехват звука с микрофона и видео-изображения с веб-камеры, подключенных к компьютеру и т.д., т.е. они, на самом деле, относятся к совершенно другому классу программных продуктов, а именно к мониторинговым программным продуктам .
Аппаратные кейлоггеры представляют собой миниатюрные приспособления, которые могут быть прикреплены между клавиатурой и компьютером или встроены в саму клавиатуру. Они регистрируют все нажатия клавиш, сделанные на клавиатуре. Процесс регистрации абсолютно невидим для конечного пользователя. Аппаратные кейлоггеры не требуют установки какой-либо программы на компьютере, чтобы успешно перехватывать все нажатия клавиш. Когда аппаратный кейлоггер прикрепляется, абсолютно не имеет значения, в каком состоянии находится компьютер - включенном или выключенном. Время его работы не ограничено, т.к. он не требует для своей работы дополнительного источника питания. Объемы внутренней энергонезависимой памяти данных устройств позволяют записывать до 20 миллионов нажатий клавиш, причем с поддержкой юникода. Данные устройства могут быть выполнены в любом виде, так что даже специалист не в состоянии иногда определить их наличие при проведении информационного аудита. В зависимости от места прикрепления аппаратные кейлоггеры подразделяются на внешние и внутренние.
Акустические кейлоггеры представляют собой аппаратные устройства, которые вначале записывают звуки, создаваемые пользователем при нажати на клавиши клавиатуры компьютера, а затем анализирующие эти звуки и преобразовывающие их в текстовый формат.
Только метод применения кейлоггеров (в том числе аппаратных или программных продуктов, включающих в себя кейлоггер в качестве модуля) позволяет увидеть грань между управлением безопасностью и нарушением безопасности .
Несанкционированное применение - установка кейлоггера (в том числе аппаратных или программных продуктов, включающих в себя кейлоггер в качестве модуля) происходит без ведома владельца (администратора безопасности) автоматизированной системы или без ведома владельца конкретного персонального компьютера. Несанкционированно применяемые кейлоггеры (программные или аппаратные) именуются как или шпионские устройства. Несанкционированное применение, как правило, связано с незаконной деятельностью (illegal activity). Как правило, несанкционированно устанавливаемые шпионские программные продукты имеют возможность конфигурирования и получения "скомплектованного" исполнимого файла, который при инсталляции не выводит никаких сообщений и не создает окон на экране, а также имеют встроенные средства доставки и дистанционной установки сконфигурированного модуля на компьютер пользователя, т.е. процесс инсталлирования происходит без непосредственного физического доступа к компьютеру пользователя и зачастую не требует наличия прав администратора системы;
Санкционированное применение - установка кейлоггера (в том числе аппаратных или программных продуктов, включающих в себя кейлоггер в качестве модуля) происходит с ведома владельца (администратора безопасности) автоматизированной системы или с ведома владельца конкретного персонального компьютера. Санкционированно применяемые кейлоггеры (программные или аппаратные) именуется как мониторинговые программные продукты (англ. employee monitoring software, parental control software, access control software, personnel security programs и т.п.) Как правило, санкционированно устанавливаемые программые продукты требуют физического доступа к компьютеру пользователя и обязательного наличия прав администратора для конфигурирования и инсталляции;
Известные кейлоггеры. К данной категории кейлоггеры, сигнатура которых уже включена в сигнатурные базы основных известных фирм-производителей анти-шпионских программных продуктов и/или анти-вирусных программных продуктов.
Неизвестные кейлоггеры. К данной категории относятся кейлоггеры, сигнатура которых не включена в сигнатурные базы основных известных фирм-производителей анти-шпионских программных продуктов и/или анти-вирусных программных продуктов и, зачастую, никогда не будет в них включена по различным причинам:
Санкционированное применение кейлоггеров (в том числе аппаратных или программных продуктов, включающих в себя кейлоггер в качестве модуля) позволяет владельцу (администратору безопасности) автоматизированной системы или владельцу компьютера:
Применение модулей, включающих в себя кейлоггер, разработчиками коммерческих программных продуктов, позволяет последним:
Несанкционированное применение кейлоггеров (в том числе аппаратных или программных продуктов, включающих в себя кейлоггер в качестве модуля) позволяет злоумышленнику:
Защита от "известных" несанкционированно установленных программных кейлоггеров:
Защита от "неизвестных" несанкционированно установленных программных кейлоггеров:
Защита от "известных" и "неизвестных" несанкционированно установленных программных кейлоггеров включает в себя использование анти-шпионских программных продуктов и/или анти-вирусных программных продуктов известных производителей, которые для противодействия шпионским программным продуктам используют:
Защита от несанкционированно установленных аппаратных кейлоггеров:
Наши компьютеры, ноутбуки, нетбуки! А тут еще непонятная дрянь, называемая кейлоггер. 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. Часто от такого шпиона не спасает и экранная клавиатура, которую пытаются преподносить как средство от кейлоггеров любого типа.
Аппаратные клавиатурные устройства противопоставлены программным средствам шпионажа и их нельзя обнаружить программными методами.
Как реализовано:
В принципе, таким же, как и любые вредоносные программ. Они могут попасть:
Естественно, что подобные программы могут установить службы безопасности компаний, ну или же если вы являетесь пристальным объектом наблюдения со стороны вашей второй половины.
Оставьте свой комментарий!
В этой статье мы рассмотрим такой очень важный вопрос, особенно в наше неспокойное время - что такое кейлоггер или как его ещё называют клавиатурный шпион.
Изначально они имели простой функционал вроде - запись всех нажатий клавиш в специальный файл и впоследствии извлечение из этого файла злоумышленниками, паролей, логинов и другой подобной информации. Потом же список функций заметно расширился.
То есть, как можно видеть данные шпионы могут регистрировать всю деятельность пользователя, не оставляя без внимания почти ничего.
С одной стороны данной программное обеспечение очень часто используется в незаконных целях. К примеру, деятельность для незаконного получения паролей, логинов и другой информации, как обычных пользователей, так и фирм и организаций.
И применение их впоследствии в целях получения выгоды, в том числе и материальной. Но с другой стороны сегодня этот вид программ является легальным и может быть использован, в целях информирования не нанося никого вреда.
То есть получаем, данное семейство программ клавиатурных шпионов можно применять, как в хороших целях, так и в плохих незаконных, следствием, которых очень часто может стать не только административное, но и уголовное наказание. Теперь давайте разберём, техническую сторону этого вопроса. Дело в том, что кейлоггер в простом смысле — это шпион, в том числе и клавиатурный. Что это значит?
Значит то, что крохотные незаметные программки, собирают важную информацию (пароли, историю посещений веб сайтов и так далее) о пользователе компьютера незаметно для него. Проблемным местом в данном вопросе является то, что их часто не видят антивирусы. Опасность в том, что они не всегда расценивают их, как запрещённое ПО и в результате чего, просто пропускают их без внимания.
Причём написать их не так уж и сложно, чем и пользуются многие злоумышленники, внося время от времени различные изменения и нововведения.
Что интересно есть так же и аппаратные кейлоггеры. То есть они устанавливаются не программно, а технически. К примеру, размещение шпиона непосредственно в самой клавиатуре. Это достаточно популярное устройство. Следующее, аппаратный кейлоггер может встраиваться прямо в кабель, при этом маскируется под удлинитель или фильтр.
Но вернёмся к программным кейлоггерам. Это семейство клавиатурных шпионов очень разнообразно и очень часто, конкретный экземпляр может быть написан в единственном варианте профессиональным хакером для выполнения определённой задачи. Плюс то, что их достаточно легко скрыть от антивирусов, делает их очень опасной угрозой для личных данных.
Самыми продуктивными являются антикейлоггеры. Они могут оградить почти от всех разновидностей кейлоггеров, в том числе от аппаратных. В этом можно убедиться по независимым результатам тестирования независимой организации Anti-Keylogger.Org.
Что до антивирусов, то поначалу они могли обнаружить лишь те кейлоггеры, которые содержались в их базах. Но впоследствии начали выходить обновленные версии антивирусов, которые имели проактивную защиту. Она направлена на блокировку новых типов угроз, в том числе модификаций старых без наличия их в базах.
Стоит отметить, что клавиатурные шпионы вирусами не являются, поскольку не могут размножить себя. В виду этого они именуются, как потенциально опасное программное обеспечение. Иногда функция обнаружения такого ПО может быть отключена в антивирусе, поэтому, если считаете, что лишняя осторожность не помешает то следуют её всё таки включить.
Подытожив, можно сделать некоторые выводы
Кейлоггеры достаточно простые в написание программы. Новые, изменённые версии появляются с завидной скоростью. В результате, чего выявление их силами антивирусов на основе имеющихся баз часто достаточно затруднительно.
Наиболее эффективным методом борьбы с ними будет применение антикейлоггера. Но даже это не может гарантировать Вам полную защиту. Полностью очистить систему от клавиатурных шпионов можно лишь вручную, имея необходимые знания и опыт.
В данной статье мы рассмотрели вопрос - что такое кейлоггер, для чего он используется, в чем его суть, как можно от него защититься.
Некоторые основные разновидности компьютерных вирусов. Сегодня мы поговорим с вами про еще одну категорию вирусов – кейлоггеры, про которые обычные пользователи знают очень мало.
В переводе с английского Keylogger (Keyboard Logger) обозначает «клавиатурный регистратор». Однако на самом деле кейлоггер является программой-шпионом, отслеживающей все происходящие с клавиатурой действия.
Попав на компьютер пользователя, программы-кейлогеры перехватывают вводимую информацию и отправляют ее злоумышленникам. Другими словами вы, ничего не подозревая, можете отдать в чужие руки свои логины и пароли, а также данные банковских карт.
Опасность кейлоггеров в том, что многие антивирусные приложения не расценивают их как вредоносные программы. Для их обнаружения часто требуется специализированное программное обеспечение или дополнительные модули для вашего основного антивируса.
В основу работы данного вида вредоносных программ положен один общий принцип – они должны встать по пути прохождения сигнала от момента нажатия клавиши до появления символа на мониторе. Кейлоггеры используют следующие технические методы:
Помимо рассмотренных нами программных, существуют также и аппаратные кейлоггеры, которые невозможно обнаружить программным путем:
Кстати: кейлоггеры обоих типов могут быть вполне легальными, и использоваться для:
Чтобы защититься от рассматриваемого типа вредоносных программ, следует соблюдать несложные правила:
Для проверки безопасности вводимых паролей через 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- происходит копирование при изменении содержимого буфера.
Для устранения проблемы необходимо включить настройку Безопасности «Вводить основной пароль в защищенном режиме (подобно UAC в Windows Vista и выше)». Этот режим не позволяет логгеру получить доступ к клавиатуре. Кроме того, в нем невозможно сделать скриншот для определения расположения Ключевого файла.
Данный режим включается только при вводе основного пароля. О защите остальных паролей будет идти речь дальше.
Для устранения этой проблемы можно использовать Автонабор.
При автонаборе через KeePass: MyLoginName LongPassword123
В Simple Logger появится запись:
Simple Logger ни как не учитывает сочетания клавиш. Как видите, клавиша Shift отобразилась в виде спецсимвола (похожего на «+») и «?». Shift отпускается как до, так и после заглавной буквы. Тем не менее, этого достаточно, чтобы понять пароль.
Для решения этой проблемы можно использовать настройку в KeePass «Двойное усложнение автонабора». В этом случае KeePass будет вводить часть пароля с клавиатуры, а часть через буфер обмена, перемешивая значения. Это позволяет обойти некоторые кейлоггеры.
Simple Logger на Двойное усложнение автонабора отреагирует следующим образом:
От кейлоггера, который «заточен» под KeePass, могут помочь дополнительные средства защиты.
При использовании защищенного браузера получить доступ к буферу обмена и клавиатуре средствами Simple Logger не удалось. Кроме того, не было возможности делать скриншоты.
Я тестировал последнюю версию KeePass 2.36 в среде Windows 8.1. Справедливости ради надо отметить, что данная проблема не является только проблемой KeePass. Есть множество других хранителей паролей с большей или меньшей степенью надежности, но это тема уже другого исследования.
Данная связка позволяет автоматически заполнять логин и пароль в браузере, когда KeePass разблокирован. Simple Logger ни как не реагирует в данном случае.
Слабым местом ChromeIPass является генерация нового пароля, т.к. он копируется через буфер обмена и виден на экране. В этом случае, лучше генерировать новый пароль в самом KeePass.
При замене мастер пароля, а так же при создании нового, не применяется безопасный режим.
Не помогает и виртуальная экранная клавиатура от известного производителя, которая, как и автонабор KeePass, работает по событию на отжимание клавиши.
Советы здесь давать трудно. Наверное, нужно обратить внимание разработчиков на эту проблему.
К сожалению, невозможно осветить в одной статье все меры защиты, которые необходимы для хранения паролей.
Теги: Добавить метки