Главная идея и цель кейлоггера заключается в том, чтобы внедриться между любыми 2-мя звеньями в цепи прохождения сигнала от нажатия пользователем клавиш на клавиатуре до появления символов на экране — это может быть аппаратные «жучки» в самой клавиатуре, на проводе или в системном блоке компьютера, видеонаблюдение, перехват запросов ввода-вывода, подмена системного драйвера клавиатуры, драйвер-фильтр в клавиатурном стеке, перехват функций ядра любым методом (заменой адресов в системных таблицах, сплайсингом кода функции и т.п.), перехват функций DLL в пользовательском режиме, наконец, опрос клавиатуры типичным задокументированным способом.
Но практика показывает, что чем труднее подход, тем менее вероятно его использование в широкораспространяемых троянских вредоносных программах и более вероятно его использование в целевых троянах для кражи корпоративной, личной, финансовой и конфиденциальной информации.
Все клавиатурные шпионы можно условно разделить на 2 группы.
- Аппаратные
- Программные
Первая группа кейлоггеров представляет собой маленькие приспособления, которые могут быть прикреплены к клавиатуре, проводу или установлены в самом системном блоке компьютера.
Вторая группа кейлоггеров — это специально написанное программное обеспечение, предназначенное для отслеживания, перехвата нажатий клавиш на клавиатуре и ведения журнала набранных символов.
Самые популярные подходы к построению программных кейлоггеров:
- системная ловушка на сообщения о нажатии клавиш клавиатуры (устанавливается с помощью функции WinAPI SetWindowsHook, для того чтобы перехватить сообщения, посылаемые оконной процедуре, — чаще всего пишется на C);
- циклический опрос клавиатуры (с помощью функции WinAPI Get(Async)KeyState, GetKeyboardState — чаще всего пишется на VisualBasic, реже на Borland Delphi);
- драйвер-фильтр стека клавиатурных драйверов ОС Windows (требует специальных знаний, пишется на C).
Мы очень подробно рассмотрим всевозможные способы построения кейлоггеров во 2-ой части нашей статьи. Пока же приведем немного статистики.
Приблизительное распределение указанных типов кейлоггеров изображено на следующей диаграмме:
В последнее время заметна тенденция применения в кейлоггерах методов сокрытия (маскировки) своих файлов — так, чтобы их невозможно было обнаружить вручную или с помощью антивирусного по. Даные способы принято называть rootkit-технологиями.
Можно отметить два основных типа технологий сокрытия, применяемых кейллоггерами:
- с использованием методов сокрытия пользовательского режима (UserMode);
- с использованием методов сокрытия режима ядра операционной системы (KernelMode).
Примерное распределение применяемых кейлоггерами технологий сокрытия изображено на следующей диаграмме:
Продолжение в следующей статье.
где взять кейлоггер для мака?
Кейлогг на чей комп устанавливать надо?
На компьютер человека за действиями которого необходимо следить.
А можно чтоб стояло несколько кейлоггеров вместе?
Мики, можно, вопрос — нужно ли.