Методы перехвата и навязывания информации

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

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

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

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

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

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

Перехват может происходить в основном следующими способами:

· встраиванием в цепочку прерывания int 9h;

· анализом содержания клавиатурного порта или буфера клавиш по таймерному прерыванию.

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

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

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

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

Активизирующими событиями в данном случае являются, как правило, открытие файла (int 21h, функция 3Dh), его закрытие либо уничтожение. Вообще говоря, активизирующим событием может быть и что-то иное.

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

Закладки, перехватывающие уничтожаемые файлы, достаточно часто встречались в различных компьютерных системах. Они все имели почти идентичный фрагмент кода, что говорит о предположительно одном авторе. Как правило, закладки внедрялись в локальную сеть. Место сохранения "спасенных" файлов — сервер. Точный ущерб от этой простой закладки не определен, но фрагменты конфиденциальной информации почти всегда находились в файле-области сохранения.

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

Весьма интересна с точки зрения модели "перехват" технология аутентификации пользователей в защищенной сетевой операционной среде Windows NT. В момент старта системы появляется приглашение нажать сочетание клавиш Ctrl-Alt-Del. При нажатии клавиш системный процесс WinLogon, отвечающий за запрос паролей пользователей, загружает динамическую библиотеку MSGINA.DLL. Данная библиотека отвечает за диалог с пользователем, ввод пароля, проверку его правильности (аутентификация) и передачу результата опознания пользователя и его данных (имени, имени домена) обратно в WinLogon. Функции данной библиотеки описаны в файле Winwlx.h, и существует штатный механизм замены исходной библиотеки на пользовательскую. Для этого необходимо добавить ключ-строку (string) GinaDLL в реестр \ Registry \ Machine \ Software \ Microsoft \ Windows NT \ Current Version \ Winlogon GinaDLL = <путь к модифицированной библиотеке>

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

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

Интересный пример статического искажения удалось выявить при применении одной из систем электронной подписи. При передаче документов электронная подпись под ними, как правило, верна (электронный документ не искажен) и неверная подпись редка. Злоумышленник – сотрудник отдела информатизации – исправил в.ЕХЕ модуле программы слово "НЕКОРРЕКТНО" (в смысле неверная подпись под искаженным документом) на "КОРРЕКТНО".

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: