Компьютерные вирусы

Страница: 12/15

Принцип работы ADinf основан на сохранении в таблице копии MASTER-BOOT и BOOT секторов, список номеров сбойных кластеров, схему дерева каталогов и информацию обо всех контролируемых файлах. Кроме того, программа запоминает и при каждом запуске проверяет, не изменился ли доступный DOS объем оперативной памяти (что бывает при заражении большинством загрузочных вирусов), количество установленных винчестеров, таблицы параметров винчестера в области переменных BIOS.

При первом запуске программа запоминает объем оперативной памяти, находит и запоминает адрес обработчика прерывания Int 13h в BIOS, который будет использоваться при всех последующих проверках, и строит таблицы для проверяемых дисков. При этом проверяется, показывал ли вектор прерывания 13h в BIOS перед загрузкой DOS.

При последующих запусках ADinf проверяет объем оперативной памяти, доступной DOS, переменные BIOS, загрузочные сектора, список номеров сбойных кластеров (так как некоторые вирусы, записавшись в кластер, помечают его, как сбойный, чтобы их не затёрли другие данные, а также не обнаружили примитивные антивирусы). К тому же антивирус ищет вновь созданные и уничтоженные подкаталоги, новые, удаленные, переименованные, перемещённые и изменившиеся файлы (проверяется изменение длины и контрольной суммы). Если ADinf обнаружит, что, изменился файл из списка неизменяемых, либо в файле произошли изменения без изменения даты и времени, а также наличие у файла странной даты (число больше 31, месяц больше 12 или год больше текущего) или времени (минут больше 59, часов больше 23 или секунд больше 59), то он выдаст предупреждение о том, что возможно заражение вирусом.

Если обнаружены изменения BOOT-секторов, то можно в режиме диалога сравнить системные таблицы, которые были до и после изменения, и по желанию восстановить прежний сектор. После восстановления измененный сектор сохраняется в файле на диске для последующего анализа. Новые сбойные кластеры (вернее информация о них в FAT) могут появиться после запуска какой-либо утилиты, лечащей диск (например, NDD) или благодаря действиям вируса. Если Adinf выдал сообщение, а пользователь не запускал никаких подобных утилит, то, скорее всего в компьютер забрался вирус. При получении такого сообщения следует продолжить проверку, внимательно следя за всеми сообщениями об изменениях файлов и загрузочных секторов. Если в системе действительно вирус, то такие сообщения не заставят себя долго ждать (ведь если все тело вируса будет находиться в "сбойном" кластере, ему никогда не передастся управление).

После проверки ADinf выдаёт сводную таблицу, сообщающую об изменениях на диске. По таблице можно перемещаться стрелками и просматривать подробную информацию, нажав ENTER на интересующем пункте. Существует возможность перехода к любому пункту с помощью "быстрых" клавиш. Изменившиеся файлы можно просмотреть в классическом режиме (шестнадцатеричный дамп / ASCII-коды) с помощью встроенного вьюера, который читает диск через BIOS. Можно также воспользоваться внешним вьюером, предварительно указав к нему путь. Подключив внешний редактор, можно отредактировать изменившийся файл.

Не совсем привычно выглядит форма, в которой ADinf сообщает об обнаруженных подозрительных изменениях: вместо выдачи сообщения о конкретных изменениях он выводит красное окно со списком всех возможных и помечает галочкой пункты, соответствующие изменениям, произошедшим в настоящий момент. Если после получения такого сообщения нажать ESC, то программа запросит о дальнейших действиях: обновить информацию о диске, не обновлять её, лечить (при наличии лечащего модуля ADinf Cure Module) или записать протокол. Для лечения можно воспользоваться внешним антивирусом, загрузив его из окна работы с DOS, которое вызывается комбинацией клавиш ALT+V.

Реферат опубликован: 28/07/2008