2. Программа-ревизор ADINF

We use cookies. Read the Privacy and Cookie Policy

2. Программа-ревизор ADINF

От всех существующих в настоящее время антивирусных программ ADinf (автор — Д.Мостовой) отличается тем, что он работает с диском непосредственно по секторам через BIOS, не используя DOS, что позволяет успешно обнаруживать казавшиеся невидимыми так называемые Stealth-вирусы, берущие на себя более 20-ти функций DOS, а также вирусы в дисковом драйвере, в том числе новые вирусы, неизвестные ранее. Этого не может ни одна другая антивирусная программа!

— Advanced Diskinfoscope в настоящее время является единственной антивирусной программой, которая при загрузке DOS с винчестера (а не с заклеенной дискеты, как того требуют все остальные программы), при правильном использовании, обнаруживает ВСЕ существующие в настоящее время вирусы.

— Кроме борьбы с вирусами ADinf позволяет следить за целостностью и сохранностью информации на винчестере и за всеми происходящими на диске изменениями, что бывает особенно полезно на "персональных ЭВМ коллективного пользования", широко распространенных в нашей стране.

— Расширение ревизора ADinf — программа ADinf Cure Module (файл ADinfExt.exe), поддерживает небольшую дополнительную базу данных, описывающую файлы, хранящиеся на диске.

В случае обнаружения вируса она позволяет немедленно и надежно вылечить вашу машину. Лечению таким способом поддаются до 97 % существующих и, что самое главное, новых, неизвестных на настоящий момент вирусов.

Принцип работы ревизора ADinf

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

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

Проверки, производимые ревизором

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

При последующих запусках программа проверяет диски в следующей последовательности:

— Проверяется объем оперативной памяти, доступной DOS, и переменные BIOS.

— Проверяются MASTER-BOOT BOOT MASTER-BOOT сектор проверяется при проверке логического диска С:, а на машинах IBM PC AT D: (для второго физического винчестера). Если обнаружены изменения этих секторов, то можно в режиме диалога сравнить системные таблицы, которые были до и после изменения, и по желанию восстановить прежний сектор. После восстановления измененный сектор сохраняется В файле на диске для последующего анализа.

— Проверяется список номеров сбойных кластеров. Некоторые вирусы помечают хороший кластер как сбойный и "селятся" в нем. ADinf предупредит вас об этом.

— Проверяется дерево каталогов диска. Ищутся вновь заведенные и уничтоженные подкаталоги.

— Проверяются файлы. Ищутся новые, удаленные с диска, переименованные, перемещенные из одного подкаталога в другой и изменившиеся файлы. Проверяется изменение длины и контрольной суммы файла.

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

К "подозрительным" изменениям относятся:

— Изменение файла без изменения даты и времени (как поступают большинство из грамотно написанных вирусов);

— Изменение файла с появлением странной даты (число больше 31, месяц больше 12 или год больше текущего). Такими датами некоторые вирусы "помечают" зараженные файлы.

— Изменение файла с появлением странного времени (минут больше 59, часов больше 23 или секунд больше 58).

— Изменение файла, имя которого указано в списке неизменяемых файлов.

Требования к оборудованию

Программа работает на IBM PC XT AT и PS2 с одним пли двумя жесткими дисками и с одним или двумя дисководами для гибких дисков. Программа тестировалась в среде MS-DOS, PC-DOS версии 3.20 — 6.02, а также в среде DR-DOS 5.00 и 6.00. Novell DOS 7.00 и Compaq-DOS 3.31. Программа работает непосредственно с видеопамятью, минуя BIOS. Поддерживаются все графические адаптеры (Hercules, CGA, EGA, VGA). Обеспечивается полная совместимость с MS Windows, DESQview, кэшем HyperDisk версий больше 4.50.

Использование программы

Программа ADinf может запускаться

— из файла AUTOEXEC.BAT;

— из командной строки DOS.

Запуск ADinf из файла AUTOEXEC ВАТ

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

ADinf — d — a — b — l [каталог для протокола>] <диск> [<диск>… <диск>]

Например, предполагая, что программа записана в каталоге C: ADINF.

Более подробно ключи программы рассмотрены ниже.

Запуск ADinf из командной строки DOS

При запуске из командной строки Advanced Diskinfoscope ADinf может работать в пакетном и диалоговом режимах.

Запуск в пакетном режиме

В пакетном режиме ADinf последовательно проверяет диски в соответствии с параметрами, ладанными в командной строке. Для запуска ADinf в пакетном режиме необходимо набрать команду вида:

>ADinf [<ключ>…<ключ>] <диск> [<диск>…<диск>]

Например, если набрать команду

>C: ADINFADinf С: D: Е:,

то будут последовательно проверены диски С: D: и E:. В этом примере предполагается, что программа ADinf находится в подкаталоге ADINF.

Ключи программы

Ключи программы задаются в командной строке. Они должны начинаться со знака "-" или "/" и могут задаваться как маленькими, так и заглавными буквами. Знаком "*" помечены ключи, работающие только в пакетном режиме запуска программы ADinf.

1) * Ключ — а устанавливает режим для AUTOEXEC.BAT, в котором исключены некоторые малозначащие диалоговые остановки.

2) * Ключ — Ь отменяет закрашивание фона экрана и оставляет "прозрачный" фон. Такой режим, на наш взгляд, улучшает эстетическое восприятие программы при запуске в файле AUTOEXEC.BAT.

3) Ключ — сl[<путь>] позволяет записать протокол проверки на диск в каталог, указанный после ключа — cl. Например — clC: ADINF. Если указать ключ — cl без пути, то протокол будет записан в текущий каталог. Если файл с протоколом существует, то протокол дописывается в существующий файл. Протокол проверки можно также записать, не задавая ключа — cl, а выбрав вариант "Записать протокол изменений" из меню после просмотра результатов проверки диска.

4) Ключ — co[lor] — использовать цвета для цветного монитора.

5) * Ключ — d включает режим работы 1 раз в сутки, что экономит ваше время при перезагрузках, если вызов программы ADinf стоит в файле AUTOEXEC.BAT.

6) Ключ — е — не ставить атрибут Hidden файлам с таблицами.

7) Ключ — f включает режим быстрой проверки без расчета контрольных сумм файлов. В этом режиме невозможно обновление информации в таблице. Этот ключ аналогичен включению опции "Режим fast" в диалоговом режиме работы программы.

8) Ключ — g — отменить контроль Hard Disk Parameter Table в области переменных BIOS.

9) Ключ — i включает "информационный" режим, при котором после проверок диска таблицы не обновляются. Этот ключ аналогичен включению опции "Режим info" в диалоговом режиме работы программы. Нельзя использовать одновременно ключи — i и — d.

10) Ключ — l|<путь>] позволяет записать протокол проверки на диск в каталог, указанный после ключа — l. Например — lC: ADINF. Если указать ключ — l без пути, то протокол будет записан в текущий каталог. От ключа — cl отличается тем, что дозапись в существующий файл не производится и файл протокола замещает существовавший.

11) Ключ — m — не использовать мышь.

12) Ключ — mo[no] — использовать цвета для монохромного монитора. ADinf автоматически определяет, цветной или монохромный монитор присутствует в системе. Однако, если вы хотите на цветном мониторе получить черно-белое изображение, используйте этот ключ.

Часто это бывает полезно на переносных компьютерах с LCD VGA мониторами.

13) Ключ — n принудительно отменяет заставку программы там, где она должна быть. По умолчанию заставка выдается в диалоговом режиме. В остальных случаях в целях экономии времени она отсутствует.

14) Ключ — nam — No Arrow Mouse — использовать стандартный курсор мышц.

15) Ключ — nr — не ожидать ретрейсов при работе с CGA-адаптером.

16) Ключ — os тем, кому больше нравился старый стиль оформления ADinf (до версии 9.00), позволяет запустить ADinf в прежнем стиле (Old Style). При использовании этого ключа не производится загрузка шрифта в знакогенератор адаптеров EGA VGA, поэтому он может быть полезен, если возникают конфликты ADinf с какими-либо резидентными программами, например русификаторами.

17) Ключ — р включает режим "PERSONAL", предусмотренный специально для пользователей "персональных ЭВМ коллективного пользования". В обычном режиме программа ADinf создает свои таблицы в корневом каталоге контролируемых дисков. В режиме "PERSONAL" таблицы создаются в том каталоге, где находится программа ADinf. Вы можете иметь копию этой программы в своем каталоге или на дискете и, приходя на машину, смотреть, что изменилось во время вашего отсутствия. Этот ключ аналогичен опции "Таблицы личные" в диалоговом режиме работы программы.

Однако, этим режимом надо пользоваться достаточно осторожно.

Если вы придете с дискетой, на которой построены таблицы для одной машины, на другую машину, то ничего хорошего вы не обнаружите. А если вы попытаетесь восстановить MASTER-BOOT или BOOT сектор, то я вам не завидую.

18) Ключ — r — работа в среде DR-DOS. Программа ADinf определяет, что она находится в среде DR-DOS по номеру версии системы.

Если на запрос версии система отвечает 3.31 (что верно для DR-DOS 5.00 и 6.00), то программа не использует недокументированные возможности MS-DOS. В последующих версиях системы DR-DOS может измениться возвращаемый номер версии. Если программа зависает при запуске в среде DR-DOS версий старше, чем 5,00, попробуйте запустить ее с ключем — r. Этот ключ необходимо использовать также при работе в Compaq-DOS или другой операционной системе, не полностью совместимой с MS-DOS.

19) Ключ — s отключает звуковое сопровождение программы. Этот ключ аналогичен опции "Звук выключен" в диалоговом режиме работы программы.

20) Ключ — Setup задает каталог или полное имя для записи файла с запоминаемым состоянием ADinf. По умолчанию файл с именем A-Dinf- записывается в тот же каталог, где расположена программа ADinf.exe. Переназначить каталог для записи файла с установками бывает необходимо, если ADinf установлен на защищенный от записи раздел диска. Для этого необходимо задать путь в строке запуска ADinf в виде:

ADinf — Sctup: D: READWR

В этом примере состояние программы будет сохраняться в файле с полным именем

D: READWRA-Dinf-.

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

ADinf — Setup: My_Setup

будет использован файл Му_Sеtuр, расположенный в каталоге D: SET.

ПРИМЕЧАНИЕ. В случае некорректного задания полного пути или полного имени файл с установками не записывается без выдачи диагностического сообщения.

21) Ключ — Stop. Если за вирусную безопасность на фирме отвечает системный программист, который настраивает программы защиты, а на компьютерах работают только пользователи, не знакомые с системными тонкостями, то ADinf необходимо настроить так, чтобы он никогда не сообщал об изменениях. Это достигается правильным выбором списка расширении контролируемых файлов и назначением рабочих каталогов. При задании ключа — Stop в строке вызова ADinf из AUTOEXEC.BAT любое изменение, зафиксированное ревизором ADinf, будет приводить к выдаче сообщения о необходимости вызвать системного программиста, и продолжать работать на машине до прихода ответственного системного программиста будет нельзя.

Внимание системным программистам!

1. После добавления этого ключа в строку вызова ADinf в файле AUTOEXEC.BAT не забудьте обновить таблицы ревизора, иначе ADinf при следующей проверке диска зафиксирует изменение файла AUTOEXEC.BAT и не даст продолжить работу.

2. Когда ADinf останавливается, выдавая сообщение о необходимости вызвать системного программиста, нажатие на клавиши <Esc> или <Еnter> приводит к перезагрузке компьютера. Выйти из этого состояния можно только нажав клавишу <F10>. Однако не говорите об этом своим пользователям!

22) * Ключ — w включает режим построения новых таблиц для диска.

23) Ключ -13 отключает проверку, показывает ли вектор прерывания в область BIOS. Отключать эту проверку необходимо, если на компьютере используется Shadow Bios, допускающий запись в область адресов ПЗУ. В этом случае только при первом запуске ADinf на машине необходимо отключить использование Shadow Bios, чтобы ADinf смог найти и запомнить адрес обработчика Int 13h. Затем можно включить использование Shadow Bios и запускать ADinf с ключем -13.

24) Ключ -76 отменяет обработку прерывания 76h.

Если при запуске ADinf в командной строке не указано ни одно имя диска, то программа запускается в диалоговом режиме работы.

Например:

C: ADINF>ADinf

При запуске ADinf в диалоговом режиме верхняя строка содержит основное меню диалогового режима. Это меню содержит следующие альтернативы: ADinf, ДИСКИ, РАБОТА, ОПЦИИ, КОНЕЦ. При запуске ADinf автоматически входит в меню "РАБОТА", раздел "ПРОВЕРИТЬ ВСЕ". Для проверки всех дисков, на которых были созданы таблицы ADinf, достаточно просто нажать на <Enter>.

Вы можете перемещаться по альтернативам, используя клавиши перемещения курсора вправо и влево или манипулятор мышь. Для выбора альтернативы необходимо нажать на клавишу <Ввод>.

Мы не будем детально описывать работу Adinf в диалоговом режиме, поскольку общение с программой в этом режиме не вызывает сложностей благодаря "дружественному" интерфейсу на русском языке.

Кроме того, в стандартную поставку программного продукта входит текстовый файл с подробным описанием работы ревизора Adinf.

Работа с дискетами

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

Чтобы быть спокойным за "здоровье" своих дискет и дискет, передаваемых кому-либо, ADinf позволяет снабдить дискету таблицей-сертификатом с полной информацией о содержимом. Перед передачей дискет создайте на них таблицы ADinf. Если у получателя дискет установлен Advanced Diskinfoscope, то он сможет проверить целостность находящейся на дискете информации. А вы, получив такую дискету, можете быстро проверить, не заражена ли она вирусом.

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

Полезные замечания

1. Перед тем, как первый раз создавать таблицы ADinf, проверьте свой диск на наличие известных вирусов с помощью какой-нибудь надежной антивирусной программы, например Aidstest или SCAN.

2. Проверяйте свой диск несколько раз в день, особенно если вы пользовались дискетами.

3. Программа ADinf BIOS читает диск, обращаясь непосредственно в BIOS.

Эти обращения не могут контролироваться не только вирусами, но и другими резидентными программами. Поэтому могут возникнуть проблемы при использовании ADinf (SmartDrv и др.), оптимизирующими не только чтение с диска, но и запись на диск. Если кэширование оптимизирует только чтение данных, то ADinf и программа кэширования пытаются одновременно обратиться в BIOS, что недопустимо. При использовании кэширования, оптимизирующего запись, можно рекомендовать следующее.

Во-первых, можно выключать кэширование записи на диск перед запуском ADinf, а после окончании работы ADinf включать опять.

Например, при использовании программы SmartDrv.exe для отключения кэширования записи на диски С: и D: необходимо выдать команду SmartDrv С D, а для включения кэширования SmartDrv С+ D+.

Второй способ заключается в том, что в ADinf можно назначить доступ ко всем дискам кроме диска С: через Int 13h. Для этого надо войти в меню ОПЦИИ->НАСТРОЙКИ->ОБРАЩЕНИЕ К ДИСКАМ. ADinf начнет работать через кэш и конфликты прекратятся, однако надо помнить, что надежность обнаружения вирусов при этом снижается.

ПРИМЕЧАНИЕ. Начиная с версии 9.00 ADinf полностью поддерживает совместимость с программой кэширования HypcrDisk версий выше 4.50. При использовании этой программы перечисленные выше проблемы не возникают.