Защита от keylogger. Программы - клавиатурные шпионы, выбираем keylogger. Виды информации, которые могут контролироваться

Защита от 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, скомпрометирована, то могут использоваться друге средства атаки, помимо кейлоггера. В этом случае перечень действий по противодействию атаке будет зависеть от конкретной ситуации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • англ. keylogger
  • англ. key logger
  • англ. keystroke logger
  • англ. key recorder
  • англ. key trapper
  • англ. key capture program
  • англ. key snooper
  • русск. кейлоггер

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

  • англ. keystroke recording device
  • англ. hardware keylogger
  • русск. аппаратный кейлоггер

Виды информации, которые могут контролироваться

  • нажатия клавиш на клавиатуре
  • нажатия клавиш мышки
  • дата и время нажатия

Классификация

по типу

Программные кейлоггеры принадлежат к той группе программных продуктов, которые осуществляют контроль над деятельностью пользователя персонального компьютера. Первоначально программные продукты этого типа предназначались исключительно для записи информации о нажатиях клавиш клавиатуры, в том числе и системных, в специализированный журнал регистрации (Log-файл), который впоследствии изучался человеком, установившим эту программу. Log-файл мог отправляться по сети на сетевой диск, ftp сервер в сети Интернет, по Email и т.д. В настоящее время программные продукты, сохранившие "по старинке" данное название, выполняют много дополнительных функций - это перехват информации из окон, перехват кликов мыши, перехват буфера обмена, "фотографирование" снимков экрана и активных окон, ведение учета всех полученных и отправленных Email, мониторинг файловой активности, мониторинг системного реестра, мониторинг очереди заданий, отправленных на принтер, перехват звука с микрофона и видео-изображения с веб-камеры, подключенных к компьютеру и т.д., т.е. они, на самом деле, относятся к совершенно другому классу программных продуктов, а именно к мониторинговым программным продуктам .

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

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

по месту хранения Log файла

  • жесткий диск
  • память
  • реестр
  • расшаренный, т.е. общедоступный (shared) сетевой диск
  • удаленный сервер

по методу отправки Log файла

  • e-mail (без участия пользователя)
  • ftp (без участия пользователя)
  • http (https - безопасное соединение по Интернет) (без участия пользователя)
  • любой вариант беспроводной связи (радиодиапазон, инфракрасный диапазон, Bluetooth, WiFi и т.п.)
  • по локальной сети

по методу применения

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

Несанкционированное применение - установка кейлоггера (в том числе аппаратных или программных продуктов, включающих в себя кейлоггер в качестве модуля) происходит без ведома владельца (администратора безопасности) автоматизированной системы или без ведома владельца конкретного персонального компьютера. Несанкционированно применяемые кейлоггеры (программные или аппаратные) именуются как или шпионские устройства. Несанкционированное применение, как правило, связано с незаконной деятельностью (illegal activity). Как правило, несанкционированно устанавливаемые шпионские программные продукты имеют возможность конфигурирования и получения "скомплектованного" исполнимого файла, который при инсталляции не выводит никаких сообщений и не создает окон на экране, а также имеют встроенные средства доставки и дистанционной установки сконфигурированного модуля на компьютер пользователя, т.е. процесс инсталлирования происходит без непосредственного физического доступа к компьютеру пользователя и зачастую не требует наличия прав администратора системы;

Санкционированное применение - установка кейлоггера (в том числе аппаратных или программных продуктов, включающих в себя кейлоггер в качестве модуля) происходит с ведома владельца (администратора безопасности) автоматизированной системы или с ведома владельца конкретного персонального компьютера. Санкционированно применяемые кейлоггеры (программные или аппаратные) именуется как мониторинговые программные продукты (англ. employee monitoring software, parental control software, access control software, personnel security programs и т.п.) Как правило, санкционированно устанавливаемые программые продукты требуют физического доступа к компьютеру пользователя и обязательного наличия прав администратора для конфигурирования и инсталляции;

по включению в сигнатурные базы

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

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

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

Цели применения

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

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

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

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

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

Методы защиты от несанкционированно установленных кейлоггеров

Защита от "известных" несанкционированно установленных программных кейлоггеров:

Защита от "неизвестных" несанкционированно установленных программных кейлоггеров:

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

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

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

Защита от несанкционированно установленных аппаратных кейлоггеров:

  • тщательный внешний и внутренний осмотр компьютерных систем;
  • использование виртуальных клавиатур;

Ссылки

  • HARDWARE KEYLOGGER PS/2 and USB Example of Hardware Keylogger PS/2 and USB
  • Keylogger.Org Независимое сравнение самых популярных кейлоггеров
  • First Step Data Capture - Key Stroke Loggers Кейлоггеры - первый шаг сбора данных. SANS Institute.
  • W32.Dumaru.Y@mm Описание одного из известных вирусов, включающего в себя модуль программного кейлоггера.
  • Наблюдаемость вычислительных систем как неотъемлемая часть комплекса средств защиты в автоматизированной системе
  • The Extent of Systematic Monitoring of Employee E-mail and Internet Use Обзор мониторинговых программных продуктов, применяемых для контоля за действиями сотрудников в корпорациях США. Andrew Schulman
  • Computer And Internet Surveillance in the Workplace: Rough Notes Компьютерное и интернет наблюдение за рабочими местами. Andrew Schulman
  • Детальное описание конструкции аппаратного кейлоггера

Наши компьютеры, ноутбуки, нетбуки! А тут еще непонятная дрянь, называемая кейлоггер. 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 сети;
  • С помощью скрипта на веб-страницах, использующего особенности интернет-браузеров и позволяющие программам запускаться автоматически, как только пользователь посетил страницу;
  • Через уже установленную вирусную программу, умеющую скачивать и устанавливать в систему себе подобных.

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

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

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows