Клавиатурные шпионы. Принципы работы и методы обнаружения

Автор работы: Пользователь скрыл имя, 08 Октября 2012 в 20:05, реферат

Описание работы

В результате расследования выяснилось, что на компьютере Лопеса присутствовал вирусBackdoor.Win32.Apdoor (Backdoor.Сoreflood), который фиксирует все клавиатурные нажатия пользователя и через Интернет направляет их злоумышленникам. Именно таким образом к хакерам попали пароль и логин Джо Лопеса, который регулярно работал через Интернет со своим счетом в Bank of America.
Однако суд отказал истцу в возмещении ущерба, указав на то, что г-н Лопес пренебрег элементарными мерами предосторожности при работе со своим банковским счетом через Интернет: детектирование указанного вируса было добавлено в антивирусные базы почти всех производителей антивирусного ПО еще в 2003 году.

Файлы: 1 файл

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

— 97.10 Кб (Скачать файл)

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

Принципы построения кейлоггеров

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

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

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

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

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

циклический опрос клавиатуры (с помощью функции  WinAPI Get(Async)KeyState, GetKeyboardState — чаще всего пишется на VisualBasic, реже на Borland Delphi);

драйвер-фильтр стека клавиатурных драйверов ОС Windows (требует специальных знаний, пишется на C).

Мы очень  детально рассмотрим различные методы построения кейлоггеров во второй части нашей статьи. Пока же приведем немного статистики.

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

В последнее  время отмечается тенденция использования  в кейлоггерах методов сокрытия (маскировки) своих файлов — так, чтобы их нельзя было найти вручную или с помощью антивирусного сканера. Такие методы принято называть rootkit-технологиями. Можно выделить два основных типа технологий сокрытия, используемых кейллоггерами:

с использованием методов сокрытия пользовательского  режима (UserMode);

с использованием методов сокрытия режима ядра операционной системы (KernelMode).

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

Способы распространения кейлоггеров

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

при открытии файла, присоединенного к электронному письму;

при запуске  файла из каталога, находящегося в  общем доступе в peer-to-peer сети;

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

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

Методы защиты от кейлоггеров

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

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

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

использование одноразовых паролей / двухфакторная  аутентификация,

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

использование виртуальных клавиатур.

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

Для получения  одноразовых паролей могут использоваться специальные аппаратные устройства:

в виде брелка (например, Aladdin eToken NG OTP):

в виде «калькулятора» (например, RSA SecurID 900 Signing Token):

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

В случае использования устройства генерации  пароля в виде брелка, алгоритм получения  доступа к защищенной информационной системе таков:

пользователь  подключается к Интернету и открывает  диалоговое окно для ввода персональных данных;

далее пользователь нажимает на кнопку ключа для генерации  одноразового пароля, после этого  пароль на 15 секунд появляется на ЖК-дисплее  брелка;

пользователь  вводит в диалоговом окне свой логин, персональный PIN-код и сгенерированное  значение одноразового пароля (обычно PIN-код и ключ вводятся последовательно  в одно поле passcode);

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

При использовании  устройства в виде калькулятора для  генерации пароля пользователь набирает свой PIN-код на «клавиатуре» устройства и нажимает кнопку «>».

Генераторы  одноразовых паролей широко применяются  в банковской системе Европы, Азии, США и Австралии. Например, Lloyds TCB, один из самых крупных банков Великобритании, еще в ноябре 2005 года перешел на использование генераторов одноразовых паролей.

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

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

 
Пример срабатывания проактивной защиты 
Kaspersky Internet Security.

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

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

Идея  экранной клавиатуры не нова: в ОС Windows содержится встроенная экранная клавиатура, вызываемая через меню Start > Programs > Accessories > Accessibility > On-Screen Keyboard.

 
Вид экранной клавиатуры, встроенной в  ОС Windows.

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


Информация о работе Клавиатурные шпионы. Принципы работы и методы обнаружения