Программа которая считывает нажатие клавиатуры

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

Название термина образовано слиянием английских слов «key» («клавиша») и «logger» («регистрирующее устройство»). Соответственно, keylogger — это регистратор нажатий клавиш. Впрочем, такой шпион может записывать информацию не только о том, на какие кнопки нажимает пользователь, но и о ряде других действий — например, о движениях мыши.

Кейлоггер также фиксирует время и дату нажатий, что немаловажно для построения хронологии событий. У термина есть альтернативные и синонимичные варианты: «keyboard logger», «key capture program», «key recorder» и другие. Иногда клавиатурного регистратора называют «снупером» — от английского слова «snooper», означающего человека, который сует нос в чужие дела.

Клавиатурный шпион из Punto Switcher | PC-Lessons.ru

По традициям русской орфографии более уместным является написание «кейлогер» (так же, как «блогер» вместо «блоггер»), но вариант с двойной «Г» встречается чаще.

Классификация кейлоггеров

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

Клавиатурные шпионы (кейлоггер, keylogger)

Аппаратный кейлоггер — это устройство малых размеров, подключаемое к ПК или внедряемое в него. Шпиона трудно обнаружить из-за труднодоступного расположения, малых размеров, схожести с обычным оборудованием для компьютеров. Например, компактный модуль, внешне похожий на переходник, устанавливают между кабелем клавиатуры и системным блоком; такое наружное приспособление может подключить любой пользователь (а затем и снять его в любое время, подсоединить к другому компьютеру и считать информацию). Существует визуальное наблюдение за клавиатурой, например за панелью банкомата, где вводится PIN-код. В данной ситуации роль аппаратного кейлоггера играет видеокамера.

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

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

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

Как создать макрос на клавиатуру или как зациклить нажатие клавиш на клавиатуре

  • устройство нельзя установить удаленно;
  • объем памяти хоть и велик, но ограничен;
  • для снятия данных нужно получить приспособление обратно, если у компьютера нет модуля Wi-Fi.

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

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

Объект воздействия

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

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

Читайте также:
Цель составить программу поиска потерявшегося туриста и программу его действий в аварийной ситуации

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

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

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

Несанкционированное применение кейлоггера состоит во внедрении программы или аппаратного устройства без согласия и без ведома владельца или оператора. Такие регистраторы считаются шпионскими продуктами и обычно связаны с противозаконной деятельностью. Объектами воздействия несанкционированного применения кейлоггеров (keyloggers) могут быть частные лица, банковские и финансовые системы, компании большого и малого бизнеса, государственные структуры и т.д.

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

Источник угрозы

Кто может внедрять клавиатурного шпиона и служить источником угрозы? Если говорить о санкционированном применении кейлоггеров, то они устанавливаются администраторами служб безопасности, сотрудниками правоохранительных органов, разных секретных служб. Подробнее о том, как используется кейлоггер в обеспечении безопасности данных, можно узнать в статье «Обзор Контура информационной безопасности SearchInform. Часть 2 — Сценарии применения».

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

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

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

Анализ риска

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

Компания Symantec сообщает, что примерно половина вредоносных программ и приложений применяется с целью сбора информации, а не для нанесения вреда компьютеру. Разработчики антивирусов ESET раскрыли вредоносную киберкампанию «Операция Liberpy», в ходе которой мошенники воровали персональные данные пользователей путем установки в систему программ-кейлоггеров. Детальную информацию об этом происшествии можно прочитать в статье «Эксперты ESET раскрыли операцию кибершпионажа». «Лаборатория Касперского» отмечает интенсивный рост числа программ, реализующих среди прочих рисков угрозу считывания нажатий клавиш, кнопок мыши и прочих действий пользователя. Это значит, что от кражи личных данных не застрахован ни один человек, пользующийся интернетом.

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

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

Читайте также:
Чем пополняется компьютерная программа при ее очередном усовершенствовании

Источник: www.anti-malware.ru

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

Книга

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

Клавиатурные шпионы — это программа для скрытной записи информации о нажимаемых пользователем клавишах. У термина «клавиатурный шпион» есть ряд синонимов: K eyboard L ogger, KeyLogger , кейлоггер; реже встречается термины «снупер», «snoop», «snooper» (от англ. snoop — буквально «человек, вечно сующий нос в чужие дела»)

Как правило, современные клавиатурные шпионы не просто записывает коды вводимых клавиш — он «привязывает» клавиатурный ввод к текущему окну и элементу ввода. Кроме того, многие клавиатурные шпионы отслеживают список запущенных приложений, умеют делать «снимки» экрана по заданному расписанию или событию, шпионить за содержимым буфера обмена и решать ряд задач, нацеленных на скрытное слежение за пользователем. Записываемая информация сохраняется на диске и большинство современных клавиатурных шпионов могут формировать различные отчеты, могут передавать их по электронной почте или http/ftp протоколу. Кроме того, ряд современных клавиатурных шпионов пользуются RootKit технологиями для маскировки следов своего присутствия в системе.

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

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

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

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

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

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

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

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

Читайте также:
Программы для диагностики автомобилей и чип тюнинга

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

На прилагаемом компакт-диске имеется демонстрационный «клавиатурный шпион», построенный на основе циклического опроса клавиатуры – приложение KD 2.

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

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

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

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

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

Звуковой кейлоггер. Определяем нажатые клавиши по звуку

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

Двухмерная спектрограмма «клика» отдельной клавиши на механической клавиатуре выглядит примерно так:

У каждой клавиши спектрограмма слегка отличается.

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

Теоретически, это даёт возможность:

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

В последние годы разработано несколько концептуальных разработок в этой области. Одним из первых появился инструмент под названием keytap от Георги Герганова (2018 год). Он обучается для конкретного пользователя (звук конкретной механической клавиатуры). Работает в том числе через браузер. Нужно включить в браузере поддержку WebAssembly pthreads и SharedArrayBuffer, а также дать разрешение на прослушивание микрофона, есть демо.

Для проверки этого кейлоггера рекомендуется начинать с двух клавиш, звучание которых максимально отличается, то есть максимально разнесённых друг от друга по расстоянию. Например, q и p в случае раскладки QWERTY. Если результат распознавания меньше 100%, то кейлоггер не работает.

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

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

В онлайн-демо есть определённые ограничения. Она работает только для текстов на английском языке. Требуется набрать минимум 100 символов осмысленного текста. Случайные нажатия клавиш не дадут результата. Лучше всего программа работает на громких механических клавиатурах.

Микрофон желательно включить на максимальную чувствительность.

Недавно вышла самая продвинутая версия keytap3 с более точной статистикой n-грамм. Она по-прежнему надёжно работает только с механическими клавиатурами и определяет текст на английском языке, но уже работает гораздо стабильнее. Например, страничку с демо-версией кейлоггера можно открыть на телефоне — и положить рядом с клавиатурой.

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

Для русского языка таких инструментов пока нет в открытом доступе. Хотя лингвистическая база для него существует, в том числе Национальный корпус русского языка (4,5 млн текстов), из которого можно получить частотность n-грамм в русскоязычных текстах. Очевидно, что частотность нажатия клавиш в русскоязычной раскладке сильно отличается от частотности букв английского языка. По тепловой карте довольно легко определить, на каком языке печатает пользователь (по крайней мере, несложно сделать бинарный выбор для пары русский/английский).

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

Чтобы предотвратить утечку информации по звуковому каналу, можно использовать утилиты вроде Unclack (для macOS) и Hushboard, которые автоматически отключают микрофон во время печати на клавиатуре. Кроме целей безопасности, они выполняют и более прозаичную функцию — автоматическое устранение посторонних шумов («клацания») во время видео/аудиоконференций.

  • кейлоггер
  • n-граммы
  • частотность букв
  • корпус языка
  • клавиатурный почерк
  • механическая клавиатура
  • Unclack
  • Hushboard
  • Блог компании GlobalSign
  • Информационная безопасность
  • Периферия
  • Звук

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru