Итак, мы рассмотрели способ, позволяющий придать вновь создаваемой программе свойства самоконтроля. А как быть с СОМ—файлами или защитить громоздкую программу? Кроме того, существуют вирусы, которые поражают ^е файлы, а загрузочные секторы дисков. Для таких вирусов (их называют загрузочными) контроль PSP может оказаться неэффективным. Одним из возможных способов решения задачи является разработка специальной про¬граммы, которая проверяет первый сектор наиболее важных ЕХЕ и СОМ-файлов при каждом включении ПК. Эта же программа может проверить главный загрузочный сектор или даже все загрузочные секторы на всех дисках, чтобы убедиться в отсутств1Щ загрузочных вирусов, а при их обнаружении удалить их.
Мною разработана программа AntiVir (прил.П9.1), реализующая описанные функции. Эта программа создает и поддерживает архив загрузочных секторов и секторов PSP. Она может работать в двух режимах-автоматическом и диалоговом.
В автоматическом режиме AntiVir проверяет текущее состояние загрузочных секторов и первых секторов для заданных файлов и сравнивает их с эталон¬ными копиями, хранящимися в архиве. В случае обнаружения отличий про¬грамма сообщает пользователю об этом и предлагает восстановить эталонное состояние соответствующих секторов.
В диалоговом режиме программа предоставляет пользователю возможность просмотреть и скорректировать список проверяемых файлов. Диалоговая часть реализована с помощью объектно-ориентированной библиотеки Turbo Vision. Выбор нужного режима осуществляется автоматически: если программа вы¬зывается командой ДОС
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, и использует затем этот вектор для скрытого от вируса чтения секторов жесткого диска. К сожалению, этот прием нельзя использовать для контроля архивных файлов, так как в последнее время широкое распростра¬нение получили программы динамического сжатия/раскрытия информации (самыми популярными из таких программ являются Double Space и Stacker). Контроль динамически сжатых дисков непосредственным чтением секторов невозможен, так как в этом случае отключается не только возможный вирус, но и резидентная программа—де архиватор. В результате не удается найти начальный сектор защищаемого файла и проверить PSP программы.
Статьи по теме:
КОНСТРУКТИВНО-ТЕХНОЛОГИЧЕСКИЕ ОСОБЕННОСТИ ЖГУТОВCASE-средстваHotMail своими руками, или Что может PHПОДГОТОВКА МОНТАЖНЫХ ПРОВОДОВАнтивирусные программыОбзор Конвертеров Для ВидеофайловСпособы краж в банковских информационно-вычислительных системахАвтоматическая Генерация Осмысленного Текста Возможна?Windows 7 - Окно В БудущееМетод простой итерацииУправление Памятью FreebsdРоссийские национальные IP-сетиМетодическая сущность деловой игрыОбзор Windows VistaСоциальные последствия информатизацииУправление расположением значков Microsoft Windows XPФизическое и логическое подключение жестких дисковНЕКОТОРЫЕ РЕКОМЕНДАЦИИОбщие моменты при организации ЛВСПроект СКСКибернетический подходПовышаем Права ПользователяПроизводственный и технологический процессыТипы Даных В С++ И Отличия От JavaВерсии языка Java. Средства разработкиAccessРисование многоугольников СПОСОБЫ СОВЕРШЕНИЯ КОМПЬЮТЕРНЫХ ПРЕСТУПЛЕНИЙТестирование От А До Я. Часть 1 - Основополагающие Принципы И ПодходыСравнение темпов развития ЭВМ с темпами эволюции человекаЭлектронная почтаКоманды для контроллера НГМДРезервное копирование данных. Стоит ли платить деньги?Копирование данных с компакт-диска Отражение и дублирование сервераИнформационные технологии в управлении банкомКак Правильно Выбрать БумагуВЫБОРКА ДАННЫХИзменение формата графического файла Прослушивание радиостанций Интернета История Браузера OperaУкротите вашу регистратуру Windows с програмным обеспечением чистки регистратурыРабота с дисками по средствам MS-DOSПроверка Софта На ЛицензионностьКоммутаторы NetGearСистемы электронной почтыSLOT MASKПричины кибернетикиГоризонтальная подсистемаМаркировка + контроль вскрытия с этикетками В-367Рисование произвольной линии Восстановление Windows Администрирование Windows XPИнформатизация общества: социальные условия, предпосылки и последствияIBM передаёт фреймворк ACTF в дар Eclipse