Принцип работы 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.
Если изменения не относятся к разряду подозрительных, то после выдачи таблицы изменений можно нажать ESC. При этом программа спросит, нужно ли обновлять данные о диске в таблицах или не нужно, а также нужно ли создавать файл в отчетом о проделанной работе. После выбора одного из пунктов программа выполняет затребованное действие и завершает свою работу.
ИМЯ | AIDSTEST | DR.WEB | AVSP | ADINF | MSAV | |
Версия | 1723 | 4.0 | 2.95 | 12.00 | DOS 7.10 | |
Т И П | Фильтр | - | - | + | - | - |
Доктор | + | + | + | - | + | |
Ревизор | - | - | + | + | + | |
Детектор | + | + | + | - | + | |
Колличество вирусов | 9000 | 7100 | 276 * | - | 2546 | |
Поддержка мыши | - | + | + | + | + | |
Оконный интерфейс | - | + | + | + | + | |
Обнаружение Stealth-вирусов | - | - | + | + | + | |
Обнаружение неиз-вестных вирусов | - | + | + | + | + | |
Время работы при задании соответст-вующих режимов ** | /g /s | /a /s2 /v /o /u | Качество, ***/все файлы | По умолчанию | По умолча-нию с кон-трольными суммами | |
2,5 мин | 23 мин | 4 мин/ 11 мин | 1 мин | 1 мин 20 сек |
Сноски таблицы:
* -- Имеется возможность самостоятельного пополнения данных о вирусах.
** -- Данные о быстродействии приведены для машины 486DX2-66 с жестким диском 270 MB, заполненным на 97%.
*** -- Файлы с расширениями *.com, *.exe, *.ov?, *.bin, *.sys.
Заключение
На мой взгляд, из всех отечественных программ, рассмотренных здесь, ADinf является самой полной, логически завершенной антивирусной системой. Остальные программы находятся, как бы в стадии развития. Программы-фаги, в принципе, не могут достигнуть логического завершения, так как должны развиваться, чтобы противостоять новым вирусам, хотя Dr.Web уже пошел по пути усовершенствования интерфейса. Высок потенциал у программы AVSP, которая при соответствующей доработке (упрощении алгоритмов поиска Stealth-вирусов, введении низкоуровневой защиты, улучшении интерфейса) может занять высокие позиции в среде антивирусов.
Ни один тип антивирусных программ по отдельности не дает полной защиты от вирусов. Лучшей стратегией защиты от вирусов является многоуровневая, "эшелонированная" оборона. Средствам разведки в "обороне" от вирусов соответствуют программы-детекторы, позволяющие проверять вновь полученное программное обеспечение на наличие вирусов. На переднем крае обороны находятся программы-фильтры. Эти программы могут первыми сообщить о работе вируса и предотвратить заражение программ и дисков. Второй эшелон обороны составляют программы-ревизоры, программы-доктора и доктора-ревизоры. Самый глубокий эшелон обороны - это средства разграничения доступа. Они не позволяют вирусам и неверно работающим программам, даже если они проникли в компьютер, испортить важные данные.
В "стратегическом резерве" находятся архивные копии информации. Это позволяет восстановить информацию при её повреждении. Это неформальное описание позволяет лучше понять методику применения антивирусных средств.