А. Белоус - Кибероружие и кибербезопасность. О сложных вещах простыми словами

Тут можно читать онлайн А. Белоус - Кибероружие и кибербезопасность. О сложных вещах простыми словами - бесплатно ознакомительный отрывок. Жанр: Прочая околокомпьтерная литература, издательство Инфра-Инженерия, год 2020. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

А. Белоус - Кибероружие и кибербезопасность. О сложных вещах простыми словами краткое содержание

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

Кибероружие и кибербезопасность. О сложных вещах простыми словами - читать онлайн бесплатно ознакомительный отрывок

Кибероружие и кибербезопасность. О сложных вещах простыми словами - читать книгу онлайн бесплатно (ознакомительный отрывок), автор А. Белоус
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Возможно решение и без приложения-инсталлятора — в этом случае драйвер устанавливается при помощи INF-файла.

В момент загрузки драйвер должен подключиться к стеку клавиатурного драйвера посредством функций IoCreateDevice и IoAttachDevice. В большинстве известных реализаций фильтр подключается к стеку устройства «\\DeviceWKeyboardClassO», являющегося драйвером класса и реализующего общую функциональность для клавиатур различных типов (рис. 8.14).

Рис 814 Примеры подключения драйвера к стеку клавиатуры Для клавиатурного - фото 160

Рис. 8.14. Примеры подключения драйвера к стеку клавиатуры

Для клавиатурного шпиона будут представлять интерес только прерывания типа IRPMJREAD, поскольку на основе их анализа можно получить коды клавиш. Источником этих IRP-запросов является процесс csrss.exe, а точнее — принадлежащий этому процессу поток необработанного ввода RawInputThread. Посылаемое этим потоком прерывание сначала попадает к драйверу-фильтру шпиона (шаг 1), который устанавливает свой обработчик завершения при помощи функции IoSetCompletionRoutine и передает IRP драйверу Kbdclass (шаг 2). Тот, в свою очередь, помечает IRP как ожидающий завершения и ставит в очередь. При возникновении клавиатурных событий Kbdclass извлекает из очереди ожидающий завершения IRP, вносит в его буфер информацию о нажатых клавишах и завершает IRP. А поскольку в IRP установлен адрес обработчика завершения, то будет произведен вызов этого обработчика (шаг 3). Обработчик может проанализировать содержимое буфера и передать содержащуюся там информацию системе протоколирования (шаг 4). Далее IRP возвращается в поток RawInputThread, а затем весь процесс повторяется. Естественно, что наличие корректно написанного драйвера-фильтра никак не сказывается на работе приложений и обеспечивает глобальный перехват клавиатурного ввода.

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

8.5.2.7. Клавиатурные шпионы на базе руткит-технологии в UserMode

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

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

Рис 815 Принципы организации перехвата функций Работа этого шпиона - фото 161

Рис. 8.15. Принципы организации перехвата функций

Работа этого шпиона организована следующим образом. Приложение вызывает функцию PeekMessage для того, чтобы узнать, есть ли в очереди сообщения указанного типа. Этот вызов перехватывается по руткит-принципу (методика в данном случае не имеет значения). Затем перехватчик вызывает реальную функцию PeekMessage из user32.dll и анализирует возвращаемые результаты. Если функция возвращает true, это означает, что сообщение было в очереди и что оно извлечено в тот буфер, указатель на который передается в качестве первого параметра функции. В этом случае перехватчик проверяет сообщения в буфере на предмет обнаружения сообщений типа WM KEYDOWN (нажатие клавиши), WMKEYUP (отпускание клавиши), WM CHAR (посылается окну после обработки WM KEYDOWN при помощи TranslatcMcssage). При выявлении подобного сообщения можно узнать код нажимаемой клавиши и передать его системе протоколирования и анализа (шаг 4). Далее управление возвращается приложению (шаг 5), которое не знает о наличии перехватчика.

Подобный клавиатурный шпион очень опасен, так как:

• он не обнаруживается стандартными методиками поиска клавиатурных шпионов;

• возможно внедрение перехватчика по определенным условиям, в результате чего он внедряется не во все GUI-процессы, а в строго определенные (например, в процессы браузера или в приложение типа WebMoney);

• против него бесполезны экранные клавиатуры и прочие средства борьбы с клавиатурными шпионами;

• кроме перехвата функций PeekMessage и GetMessage, могут быть перехвачены функции копирования информации при работе с буфером обмена (OpenClipboard, CloseClipboard, GetClipboardData, SetClipboardData), опроса состояния клавиатуры (GetKeyState, GetAsyncKeyState, GetKeyboardState) и другие функции user32.dll, что усиливает опасность шпиона, а перехват функций типа CreateWindow позволяет отслеживать создание окон.

8.5.2.8. Клавиатурный шпион на базе руткит-технологии в KernelMode

Хотя о руктит-технологиях более подробно мы поговорим в следующем разделе, здесь кратко рассмотрим принцип его действия. Принцип действия шпиона данного типа аналогичен UserMode, но в данном случае производится перехват одной или нескольких функций win32k.sys. Как и в случае с UserMode, наибольший интерес для перехватчика представляет функция PeekMessage и ее аналоги, поскольку это позволяет производить мониторинг и модификацию абсолютно всех получаемых программой сообщений без установки ловушки или фильтра.

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

• перехват SYSCALL и INT 2Е;

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

• модификация машинного кода win32k.sys. Для этого тоже необходим поиск таблицы KeServiceDescriptorTableShadow. При этом возможна интересная ситуация: функция может быть уже перехвачена (например, антикейлогтером), и тогда будет произведена модификация машинного кода перехватчика, что еще больше усложнит обнаружение шпиона.

Рис 816 Клавиатурный шпион на базе руткиттехнологии в KernelMode Алгоритм - фото 162

Рис. 8.16. Клавиатурный шпион на базе руткит-технологии в KernelMode

Алгоритм работы шпиона весьма прост. Приложение вызывает функцию библиотеки user32.dll (шаг 1); в качестве примера рассмотрим вызов PeekMessage). Функция PeekMessage в user32.dll по своей сути является переходником, а в конечном счете при помощи SYSCALL в Windows ХР или INT 2Е в Windows NT и Windows 2000 будет произведен вызов функции ядра (шаг 2). Этот вызов будет перехвачен шпионом (местоположение перехватчика зависит от методики перехвата). Перехватчик, в свою очередь, вызовет реальную функцию (шаг 3) и проанализирует возвращенные ей результаты. В случае успешного извлечения из очереди сообщения нужного шпиону типа он произведет его анализ и за-протоколирует результаты (шаг 4). Работа шпиона абсолютно незаметна для всех приложений, и обнаружить его можно только специальными программами, производящими поиск перехватов и модификации машинного кода модулей ядра.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


А. Белоус читать все книги автора по порядку

А. Белоус - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Кибероружие и кибербезопасность. О сложных вещах простыми словами отзывы


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


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x