Московский государственный технический университет
им. Н.Э. Баумана
Калужский филиал
© 2003 Bob Johnson
Методические указания по выполнению лабораторных работ по курсу «Информационная безопасность»
«Создание антивирусного программного обеспечения с применением языка программирования низкого уровня»
Калуга, 2001
Содержание
Введение.................................................................................................................. 3
Требования.............................................................................................................. 4
Общие принципы создания антивирусного монитора............................................. 5
Общие сведения об устройстве Windows................................................................ 6
Структура VxD файла.............................................................................................. 9
Интерфейс драйвера и Windows-приложения....................................................... 15
Средства Windows, используемые при создании антивирусного монитора.......... 18
Алгоритм функционирования антивирусного монитора для Windows-9x............ 23
Заключение............................................................................................................ 32
Приложение – полный исходный текст антивирусного монитора........................ 33
В связи с широким использованием компьютерной техники во всех областях человеческой жизни остро встает вопрос о защите информации, которая собирается, хранится и обрабатывается с помощью ЭВМ.
Под защитой информации следует понимать не только информационную безопасность (т.е. защиту от несанкционированного доступа), но и защиту информации от повреждения, изменения и удаления в результате сбоев в программном и/или аппаратном обеспечении. Отдельно следует рассмотреть защиту информации от вредоносных программ или вирусов, написанных специально для ее искажения, уничтожения или иных неблагоприятных действий.
В данной работе пойдет речь о том, как самостоятельно написать полностью функциональный антивирусный монитор, функционирующий под управлением ОС Windows 95 OSR2, 98 или МЕ с использованием языка программирования низкого уровня (ассемблера).
Для правильного понимания нижеизложенной информации от читателя требуются некоторые начальные знания, а именно:
– Знание ассемблера процессора Intel 386 (или более новой модели), включая 32-разрядное программирование в защищенном режиме.
– Наличие начальных знаний в области устройства и работы Windows 32.
Для создания полнофункционального антивирусного монитора необходимо использование драйвера виртуального устройства (VxD), поэтому требуется наличие следующего программного обеспечения:
– Microsoft Macro Assembler v6 (более известен как MASM).
– Windows 98 DDK (Driver Development Kit – пакет для создание драйверов).
Итак, мы подошли к этапу определения общих принципов и алгоритмов работы нашего антивирусного монитора. Для этого рассмотрим подробнее процесс проникновения вируса в незараженный компьютер.
1. На компьютер поступила новая информация – файл или несколько файлов, среди которых имеется вирус.
2. В результате действия какого-либо автоматизированного программного обеспечения или в результате неосторожных действий пользователя, файл, содержащий вирус, был открыт для просмотра (применимо к макровирусам) или исполнения.
3. Код вируса, содержащийся в файле, получил управление.
4. Вирус начал свое распространение посредством заражения новых файлов компьютера.
Антивирусный монитор должен предотвратить возможность попадания вируса в компьютер. Для этого он должен отслеживать все файлы компьютера и проверять их на наличие вируса.
Однако, отслеживать все файлы компьютера практически невозможно – т.к. современный объем информации, хранимый жестким диском компьютера очень велик.
Исходя из последовательности действий, ведущих к проникновению вируса в компьютер, можно прийти к выводу, что нет необходимости отслеживать все файлы компьютера – достаточно отслеживать только те из них, которые в данный момент открыты (т.е. просматриваются, редактируются и выполняются).
Антивирусный монитор должен получить доступ к информации в таком файле еще до того, как к ней получит доступ сама операционная система. Звучит достаточно интересно… Однако это вполне возможно.
Для реализации такого монитора необходимо, чтобы он встраивался в ядро операционной системы и получал доступ ко всем открываемым ею файлам. Затем он должен проверять наличие вируса в каждом из открываемых файлов, и если вирус действительно присутствует, запретить доступ к такому файлу и предпринять какие-либо действия по уведомлению пользователя о наличии вируса.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.