Смекни!
smekni.com

Защита программ от компьютерных вирусов (стр. 5 из 5)

ANTIVIR

она переходит к диалогу с пользователем, если командой

ANTIVIR /AUTO

реализуется режим автоматического контроля.

При контроле загрузочных секторов программа использует меры, позволяющие ей обнаруживать так называемые вирусы—невидимки. Такие вирусы контролируют обращение к функциям и прерываниям ДОС, а также к прерыванию $13 BIOS и при попытке чтения зараженного вирусом участка диска «подсовывают» программе сохраненную вирусом копию незараженного участка. Единственным способом обнаружения таких вирусов является непосредственное обращение к контроллеру диска или прямой вызов прерывания $13в постоянной памяти BIOS. Поскольку BIOS обычно учитывает особенности конкретного контроллера диска, второй путь будет более простым, однако для его реализации необходимо каким-то образом определить начало в BIOS программы, обрабатывающей прерывание $13 (сразу после загрузки ДОС вектор $13 перехватывается программами 1ВМ10.СОМ и показывает на резидентную в оперативной памяти часть ДОС). Для определения «чистого» вектора $13 в программе используется мультиплексное прерывание $2F, которое для подфункции $13 возвращает в регистрах DS'.DX требуемый адрес. Поскольку при этом прежнее содержимое регистров DS'.DX автоматически помещается в вектор $13, это прерывание необходимо вызывать дважды подряд с промежуточным запоминанием регистров DS'.DX в стеке (см. процедуру BuildArch в программе ANTIVIR). В ходе контроля загрузочных секторов программа переназначает обычно пустующий вектор $62 так, чтобы он указывал на вход в обработчик $13, и использует затем этот вектор для скрытого от вируса чтения секторов жесткого диска. К сожалению этот прием нельзя использовать для контроля архивных файлов, так как в последнее время широкое распространение получили программы динамического сжатия/раскрытия информации (самыми популярными из таких программ являются DoubleSpace и Stacker). Контроль динамически сжатых дисков непосредственным чтением секторов невозможен, так как в этом случае отключается не только возможный вирус, но и резидентная программа—деархиватор. В результате не удается найти начальный сектор защищаемого файла и проверить PSP программы.

5. Некоторые рекомендации

1) Вставляйте имя модуля F_Anti в предложение Uses-«вакцинация» программы при ее рождении гарантирует стойкий иммунитет на весь срок ее эксплуатации.

2) Если Вы часто используете ЕХЕ-файлы, содержащие инструментальные программы (например, пс.ехе, lexicon.exe и т.п.), рекомендую поставить на них фаг Fag.prg. Кстати, если Вы устанавливаете фаг на программу, защищенную средствами модуля F_Anti, встроенный в нее контроль обнаружит инородное тело фага.

3) Все СОМ—файлы операционной программы и слишком громоздкие ЕХЕ-файлы следует защитить программой Antivir. Вызов этой программы в автоматическом режиме (с ключом /AUTO) полезно включить в файл AUTOEXEC.BAT.

4) Старайтесь как можно чаще архивировать на дискетах жизненно важные для Вас (и Вашего компьютера) файлы.