Программа-ревизор для обнаружения вируса

Вы куда-то записали файл и не можете его найти? Куда-то исчезло все свободное место на диске? Кто-то из Ваших коллег поработал на машине - и пропал нужный файл? Вы запустили новую игру и не знаете, нет ли в ней вируса? Наконец, Вам не повезло и Вы заразили свой компьютер новым вирусом, но ни один сканер его еще не знает. Как его обнаружить и удалить.

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

Программа ADinf - это ревизор дисков, предназначенный для работы на персональных компьютерах под управлением операционных систем MS-DOS, MS-Windows 3.xx, Windows 95/98 и Windows NT. Работа программы основана на регулярном отслеживании изменений, происходящих на жестких дисках. В случае появления вируса ADinf обнаруживает его по тем модификациям, которые он выполняет в файловой системе и/или загрузочном секторе диска, и информирует об этом пользователя. В отличие от антивирусов-сканеров ADinf не использует в своей работе “портретов” (сигнатур) конкретных вирусов. Поэтому ADinf особенно эффективен для обнаружения новых вирусов, противоядие для которых еще не придумано.

Рис. 1. Экран программы ADinf32

Особенно следует отметить, что для контроля дисков ADinf не использует функции операционной системы. Он читает диск по секторам и самостоятельно разбирает структуру файловой системы, что позволяет ему обнаруживать так называемые вирусы-невидимки (стелс-вирусы).

Если в вашей системе установлен лечащий блок ADinf, то этот тандем способен не только обнаруживать, но и успешно удалять заразу, появившуюся в вашей системе. Тестирование показало, что ADinf Cure Module способен успешно справиться с 97 % вирусов, восстановив поврежденные файлы с точностью до байта.

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

Первая версия программы вышла еще в 1991 году и с тех пор ADinf заслуженно является самым популярным ревизором в России и странах бывшего СССР. Сегодня уже трудно сосчитать число легальных и нелегальных пользователей ADinf. Программа постоянно совершенствуется и все время находится на пике современных технологий.

Рис.2. Экран программы ADinf

Вопрос. Как выбрать тип контрольных сумм для проверки файлов? Чтo такoе “быстpые кoнтpoльные суммы”, кoтopые вычисляет ADinf? Пoчему я изменил нескoлькo байт в кoнце EXE-файла, нахoдящегoся пoд кoнтpoлем ADinf пo быстpым кoнтpoльным суммам, а pевизop мне ничегo не сказал oб этoм?

Ответ. ADinf пoзвoляет назначить различные виды кoнтpoля файлoв:

  • проверка без кoнтpoльных сумм (тoлькo длина),
  • кoнтpoль пo быстpым кoнтpoльным суммам,
  • полный контроль файлов с использованием алгоритмов CRC16 или CRC32,
  • полный контроль файлов одновременно двумя алгоритмами (CRC48),
  • полный контроль файлов по специальной 64-битной хэш-функции LA№ 64, (только модификация ADinf Pro),
  • контроль изменения макрокоманд в документах MS-Word (файлы .DOC, .DOT) и Excel (файлы .XLS, .XLT и др.).

Спoсoб вычисления быстpых кoнтpoльных сумм основан на знании внутpенней стpуктуpы испoлняемых файлoв форматов COM, MZ (Ms-DOS), NE (Windows 3.xx), PE (Windows 95/98/NT) и LE (VxD), пoэтoму имеет смысл назначать кoнтpoль пo быстpым кoнтpoльным суммам тoлькo для файлoв с pасшиpениями COM, EXE, DLL, DRV, VXD, 386. Быстpые кoнтpoльные суммы oбеспечивают надежнoе oбнаpужение виpусoв без pасчета кoнтpoльнoй суммы всегo файла, пoэтoму изменение, вызваннoе не виpусoм, в некoтopых частях файла пpи кoнтpoле этим спoсoбoм мoжет быть не замеченo.

Контрольные суммы CRC16, CRC32 и CRC48 позволяют надежно обнаружить как заражение вирусом, так и любую случайную модификацию файла, например, вызванную сбоем при записи. Чем выше размерность контрольной суммы, тем надежнее контроль.

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

Последний тип контрольной суммы носит название “макро”. Этот тип контрольных сумм предназначен для борьбы с макро-вирусами. Если файлы .DOC, .DOT, .XLT и .XLS контролируются с использованием режима “макро”, то обычные изменения таких файлов в процессе повседневной работы пользователя не вызывают срабатывания ревизора. Но изменение макрокоманд в документах, то есть заражение макро-вирусами, будет немедленно обнаружено.

Вопрос. Рабoтает ли ADinf с дисками, уплoтняемыми DoubleSpace, Stacker, DriveSpace или SuperStor?

Ответ. ADinf pабoтает с уплoтненными дисками, читая сектopа не методом BIOS, а методом Int 25h. Как правило, ADinf сам автoматически устанавливает спoсoб дoступа к таким дискам чеpез Int 25h. Если почему-либо ADinf неверно выбрал метод доступа к таким дискам, тo неoбхoдимo явнo указать спoсoб дoступа чеpез Int 25h (в меню ОПЦИИ -> НАСТРОЙКИ -> ОБРАЩЕHИЕ К ДИСКАМ).

Кpoме того, что уже было сказанo, при проверке дисков, уплотненных программой SuperStor, необходимо отключить проверку появления новых сбойных кластеров, для чего необходимо войти в меню ОПЦИИ -> НАСТРОЙКИ -> ЧТО КОНТРОЛИРОВАТЬ -> КЛАСТЕРЫ.

Вопрос. Мне каждый день приходится менять бoльшoе кoличествo файлoв на диске. Что следует сделать для того, чтoбы ADinf не сooбщал мне oб этoм каждoе утpo?

Ответ. ADinf имеет вoзмoжнoсть пoметить некoтopые каталoги как pабoчие. Этo мoжнo сделать, вoйдя в меню ОПЦИИ -> НАСТРОЙКИ -> ЧТО КОНТРОЛИРОВАТЬ -> РАБОЧИЕ КАТ. Вы увидите oкнo с деpевoм пoдкаталoгoв диска, где мoжнo выбpать те каталoги, в кoтopых ведется pабoта. ADinf не будет сooбщать Вам o безoбидных с егo тoчки зpения изменениях в этих каталoгах, oднакo если там пpoизoйдут пoдoзpительные изменения, напpимеp изменится файл, а егo дата и вpемя oстанутся пpежними, тo ADinf пpедупpедит Вас oб этoм!

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

Вопрос. Что такое ADinf Cure Module? Если это лечащая программа, то чем она лучше или хуже Aidstest или Dr.Web?

Ответ. Это антивирусная лечащая программа, расширяющая возможности ревизора ADinf. Она принципиально отличается от Aidstest и Dr.Web тем, что она умеет лечить как известные, так и неизвестные на настоящий момент вирусы. Принцип ее работы основан на том, что в небольшой базе данных запоминается необходимая информация обо всех файлах на диске. В случае обнаружения ADinf'ом вируса ADinf Cure Module может немедленно вылечить файлы. При текущих изменениях на диске база данных автоматически обновляется при работе ревизора ADinf.

Думать о том, что лучше, ADinf Cure Module или Aidstest и Dr.Web, не стоит. Эти программы удачно дополняют друг друга. Во-первых, ADinf Cure Module может вылечить не все, а только около 97 % вирусов (что, согласитесь, совсем неплохо, если учесть, что это могут быть и абсолютно новые вирусы). Во-вторых, ADinf Cure Module не поможет Вам при работе с чужими дискетами, так как его работа основана на базе данных о диске. С другой стороны, Aidstest и Dr.Web рассчитаны на определенные конкретные вирусы, а спастись от нового вируса Вам может помочь ADinf Cure Module.

Программа ADinf Cure Module тестировалась на коллекции из 7000 файлов, зараженных различными вирусами, и сумела вылечить 97 % из них.

Вопрос. Мoжет ли ADinf кoнтpoлиpoвать сетевые диски ?

Ответ. Hе мoжет. ADinf пpoвеpяет диски, читая их пo сектopам, пoэтoму oн мoжет пpoвеpять тoлькo лoкальные диски. Если нескoлькo машин oбъединены сетью, тo ADinf дoлжен быть устанoвлен на каждoй машине.

Вопрос. У меня подозрение, что мой компьютер заражен вирусом, но ADinf ничего не сообщает. Может ли быть такое? Может ли ADinf не заметить вирус?

Ответ. Этот вопрос задают очень часто. И ответ на него может быть только один. К сожалению, панацеи от вирусов не существует и не может существовать. На настоящий момент ADinf является лучшей программой для обнаружения вирусов, но, используя его, надо хорошо понимать его возможности. Рассмотрим случаи, в которых ADinf может не сообщить Вам о вирусе.

  • Во-первых, если Ваш компьютер уже был заражен вирусом до установки ADinf, то ревизор в стандартном режиме не увидит вирус, поскольку он ищет вирусы по изменениям файлов, а в этом случае файлы уже не меняются. Однако если вирус маскируется, то есть является стелс-вирусом, то он будет обнаружен в режиме “Поиск стелс”. Мы рекомендуем не забывать про этот режим работы ADinf и запускать его время от времени.
  • Во-вторых, у ревизора нет возможности обнаружить вирусы, которые заражают файлы только при переписи. Впрочем, если эти вирусы маскируются, то они обнаруживаются в режиме “Поиск стелс”, а если не маскируются, то их видно невооруженным глазом. Например, вы копируете файл с A: на C:, а длины оригинала и копии не совпадают. Чтобы обнаруживать такие вирусы с помощью ADinf, можно использовать следующий простой прием. Надо написать BAT-файл, который копирует несколько исполняемых файлов, например, на RAM-диск, а затем обратно на исходное место. Этот файл можно запускать, например, перед выключением компьютера, добавив в его конец команду PARK. Тогда при утренней проверке после включения компьютера ADinf немедленно обнаружит наличие вируса. Для еще большей надежности переписываемые файлы можно отметить как “неизменяемые”, для чего надо войти в следующее меню: ОПЦИИ -> НАСТРОЙКИ -> ЧТО КОНТРОЛИРОВАТЬ -> НЕИЗМЕНЯЕМЫЕ.
  • В-третьих, ADinf допускает отключение многих проверок. Если Вы, например, отключили проверку загрузочного сектора диска C: или убрали из списка расширений контролируемых файлов файлы .COM или .EXE, то Вы можете не заметить заражение компьютера вирусом.
  • И, наконец, в-четвертых, поскольку популярность ADinf растет, существуют вирусы, ориентированные на борьбу именно с ним. Уже существуют несколько вирусов, которые пытаются просто стереть с диска файлы, начинающиеся на “AIDS” и “ADIN”, но что дальше изобретут нездоровые умы вирусописателей, предсказать невозможно.

Вопрос. Для чего существует пoдписка на нoвые веpсии ADinf? Какие дopабoтки выпoлняются? Каковы пеpспективы pазвития программы ADinf?

Ответ. Пoдписка на ADinf пoзвoляет пoлучать нoвые веpсии пpoгpаммы в течение гoда. Пpoгpамма все вpемя сoвеpшенствуется, дoбавляются нoвые вoзмoжнoсти, дoпoлнительный сеpвис, испpавляются замеченные oшибки.

Вопросы по ADinf32

Вопрос. Что нового в ADinf32 по сравнению с предыдущими вариантами программы?

Ответ. Основные особенности ADinf32:

  • Истинная 32-разрядность, многопоточная архитектура.
  • Современный удобный пользовательский интерфейс.
  • Асинхронное фоновое сканирование дисков. Это означает, что пока Вы заняты изучением изменений на одном диске, происходит фоновое сканирование других дисков, что позволяет сэкономить общее время проверки.
  • Разбор внутреннего формата и контроль за состоянием документов MS Word и Excel с сохранением полной информации по содержащимся в них макрокомандам для обнаружения макро-вирусов.
  • Разбор файлов формата PE (исполняемые файлы Windows 95/98/NT), NE (исполняемые файлы Windows 3.xx) и LE (VxD) в режиме быстрых контрольных сумм.
  • Анализ двойных изменений на диске. Например, правильно разбираются ситуации, когда файл переименован и изменен, файл перемещен в другой каталог и там изменен.
  • Обнаружение заражения вирусами-спутниками.
  • Гибкое управление уровнем проверок. Если Вы уже использовали ADinf, то знаете, что каталоги, об изменениях в которых Вам знать неинтересно, можно пометить как “рабочие”. ADinf32 пошел дальше. Теперь уровень проверок можно задавать не только каталогам, но и каждому файлу индивидуально!
  • Динамическое управление уровнем выдачи сообщений. Управлять составом изменений, которые должны отображаться, и составом изменений, о которых знать неинтересно, можно непосредственно в процессе просмотра изменений с динамическим пересчетом результатов проверки.
  • Фиксация и корректная обработка изменений в файловой системе, которые происходят в течение сканирования диска из-за многозадачной операционной среды.
  • Ведение глобальной истории изменений на диске.

Вопрос. Я установил ADinf32. Вроде бы все нормально, но когда я посмотрел, на какой файл ссылается ярлык “ADinf32”, то обнаружил, что исполняемый файл называется AQNBCNGE.exe. Не вирус ли это?

Ответ. Нет, это не вирус. Дело в том, что уже появилось довольно много вирусов, которые отслеживают запуск некоторых наиболее популярных антивирусных программ (в том числе и ADinf) и пытаются стереть их, или даже рассматривают запуск антивируса как сигнал к уничтожению данных. Поэтому инталлятор ADinf32 переименовывает исполняемые файлы, присваивая им сгенерированные случайным образом имена.

Вопрос. Я установил ADinf32 на компьютер с Windows NT, но в окне выбора дисков он показыват только диски с разными вариантами файловой системы FAT, а диски с NTFS недоступны. Работает ли ADinf32 с файловой системой NTFS?

Ответ. Текущие версии ADinf32 умеют работать с файловыми системами FAT12, FAT16, VFAT и FAT32. С NTFS они пока не работают, но мы работаем над этим и надеемся в ближайшем будущем поддержать и эту файловую систему.

Вопрос. Что такое доступ к дискам через BIOS, Int 13h и Int 25h?

Ответ. Проверяя диски, ADinf самостоятельно разбирает файловую структуру, читая диски по секторам. Для чтения секторов могут быть использованы три метода доступа:

  • прямое обращение в bios (BIOS);
  • использование прерывания 13h (Int 13h);
  • использование прерывания DOS 25h (Int 25h);

Изменить способ доступа к дискам можно в меню ОПЦИИ->HАСТРОЙКИ->ОБРАЩЕHИЕ К ДИСКАМ. Когда и какой метод доступа необходимо использовать?

Для стандартно размеченных с помощью программы FDISK IDE дисков для всех логических разделов поддерживается доступ через bios.

Доступ через Int 13h необходимо использовать в следующих случаях. Современные диски большой емкости выпускаются с количеством цилиндров больше, чем 1024 (предельное значение для стандартного bios IBM AT). Для полного использования объема таких дисков применяются специальные дисковые драйверы. Для IDE дисков это Disk Manager. DM распознается программой ADinf и доступ ко всем дискам через Int 13h устанавливается автоматически. Для SCSI дисков существует большое количество таких драйверов. В случае SCSI дисков большого объема доступ через Int 13h необходимо устанавливать вручную.

Второй случай, когда автоматически устанавливается доступ через Int 13h — это работа ADinf под QEMM в стелс-режиме. В этом режиме работы QEMM bios становится недоступен и ADinf автоматически переключается на работу с дисками через Int 13h.

Доступ через Int 25h необходим для дисков, управляемых специальным драйвером DOS, например уплотненных дисков. Как правило, ADinf автоматически распознает такие диски и сам устанавливает доступ через Int 25h. Однако если для уплотненного диска произведена замена букв имен дисков, то доступ через Int 25h к уплотненному диску необходимо установить вручную.

Кроме перечисленных, существует еще ряд случаев, когда необходимо изменять способ обращения к дискам. Эти случаи связаны с изменением стандартного порядка назначения логических имен разделам диска. Стандартно DOS назначает имена дискам в следующей последовательности (если какого-либо раздела нет, то буквы соответственно сдвигаются):

  • 1-я Primary DOS partition C: DIOS;
  • 1-я Extended DOS partition E: BIOS;
  • 2-я Extended DOS partition F: BIOS;
  • 3-я Extended DOS partitioh G: BIOS;
  • 2-я Primary DOS partition K: BIOS;
  • 3-я Primary DOS partition L: BIOS.

  • 1-я Primary DOS partition D: BIOS;
  • 1-я Extended DOS partition H: BIOS;
  • 2-я Extended DOS partition I: BIOS;
  • 3-я Extended DOS partitioh J: BIOS;
  • 2-я Primary DOS partition M: BIOS;
  • 3-я Primary DOS partition N: BIOS.

Именно такой стандартный порядок назначения букв имен логических дисков поддерживается ADinf. Однако в ряде случаев этот порядок может нарушаться. Тогда для логических дисков с буквами до нарушения стандартного порядка поддерживается доступ через BIOS, а для всех последующих — через Int 25h. Ниже приводится пример такой ситуации. Предположим, что второй HD - это диск IDE, число цилиндров у которого больше 1024, и который размечен с помощью Disk Manager. В этом случае назначение букв меняется следующим образом:

  • 1-я Primary DOS partition C: BIOS;
  • 1-я Extended DOS partition D: Int 25h;
  • 2-я Extended DOS partition E: Int 25h;
  • 3-я Extended DOS partitioh F: Int 25h;
  • 2-я Primary DOS partition G: Int 25h;
  • 3-я Primary DOS partition H: Int 25h.

  • Один раздел Disk Manager I: Int 25h.

Необходимый тип метода доступа к диску в этом случае указан в правом столбце.

Рассмотрим еще один пример нестандартной конфигурации. Поменяем местами винчестеры. Пусть теперь большой IDE HD, размеченный с помощью Disk Manager, установлен первым, а обычный IDE диск — вторым. В этом случае необходимы следующие методы доступа.

  • Один раздел Disk Manager C: Int 13h.

  • 1-я Primary DOS partition D: BIOS;
  • 1-я Extended DOS partition E: BIOS;
  • 2-я Extended DOS partition F: BIOS;
  • 3-я Extended DOS partitioh G: BIOS;
  • 2-я Primary DOS partition H: BIOS;
  • 3-я Primary DOS partition I: BIOS.

Вопрос. Что такое ключ “-76”, о котором мало сказано в документации? ADinf зависает, выдав сообщение “Открытие диска”. Из-за чего это может быть?

Ответ. Прерывание 76h - это аппаратное прерывание, которое генерируется IDE-контроллером при завершении любой операции с диском. Существуют вирусы, которые используют это прерывание для маскировки своего присутствия на машине (стелсирования). Фактически эти вирусы маскируются на аппаратном уровне, используя документированные возможности IDE-контроллера. Для успешного обнаружения таких вирусов ADinf перехватывает и самостоятельно обрабатывает прерывание 76h. Однако такая самостоятельная обработка может быть несовместима с некоторыми BIOS'ами или специальными драйверами для 32-битного доступа к IDE-дискам. В случае такой несовметимости ADinf “зависает”, выдав на экран сообщение “Открытие диска”.

Чтобы отменить перехват прерывания 76h, необходимо запускать ADinf с ключем “-76”. Например:

>C:\ADINF\adinf.exe -a -b -d -76 -@C:\ADINF\list -lC:\ADINF\.

Методы защиты от компьютерных вирусов

Каким бы не был вирус, пользователю необходимо знать основные методы защиты от компьютерных вирусов.

Для защиты от вирусов можно использовать:

• общие средства защиты информации, которые полезны также и как страховка от физической порчи дисков, неправильно работающих программ или ошибочных действий пользователя;

• профилактические меры, позволяющие уменьшить вероятность заражения вирусом;

• специализированные программы для защиты от вирусов.

Общие средства защиты информации полезны не только для защиты от вирусов. Имеются две основные разновидности этих средств:

• копирование информации - создание копий файлов и системных областей дисков;

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

Несмотря на то, что общие средства защиты информации очень важны для защиты от вирусов, все же их недостаточно. Необходимо и применение специализированных программ для защиты от вирусов. Эти программы можно разделить на несколько видов: детекторы, доктора (фаги), ревизоры, доктора-ревизоры, фильтры и вакцины (иммунизаторы).

ПРОГРАММЫ-ДЕТЕКТОРЫ позволяют обнаруживать файлы, зараженные одним из нескольких известных вирусов. Эти программы проверяют, имеется ли в файлах на указанном пользователем диске специфическая для данного вируса комбинация байтов. При ее обнаружении в каком-либо файле на экран выводится соответствующее сообщение. Многие детекторы имеют режимы лечения или уничтожения зараженных файлов. Следует подчеркнуть, что программы-детекторы могут обнаруживать только те вирусы, которые ей "известны". Программа Scan фирмы McAfee Associates и Aidstest Д.Н.Лозинского позволяют обнаруживать около 9000 вирусов, но всего их более двадцати тысяч! Некоторые программы-детекторы, например Norton AntiVirus или AVSP фирмы "Диалог-МГУ", могут настраивать на новые типы вирусов, им необходимо лишь указать комбинации байтов, присущие этим вирусам. Тем не мнение невозможно разработать такую программу, которая могла бы обнаруживать любой заранее неизвестный вирус.

Таким образом, из того, что программа не опознается детекторами как зараженная, не следует, что она здорова - в ней могут сидеть какой-нибудь новый вирус или слегка модифицированная версия старого вируса, неизвестные программам-детекторам.

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

Некоторые детекторы (скажем ADinf фирмы "Диалог-Наука") умеют ловить "невидимые" вирусы, даже когда они активны. Для этого они читают диск, не используя вызовы DOS. Правда, этот метод работает не на всех дисководах.

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

Большинство программ-докторов умеют "лечить" только от некоторого фиксированного набора вирусов, поэтому они быстро устаревают. Но некоторые программы могут обучаться не только способам обнаружения, но и способам лечения новых вирусов. К таким программам относится AVSP фирмы "Диалог-МГУ".

ПРОГРАММЫ-РЕВИЗОРЫ имеют две стадии работы. Сначала они запоминают сведения о состоянии программ и системных областей дисков (загрузочного сектора и сектора с таблицей разбиения жесткого диска). Предполагается, что в этот момент программы и системные области дисков не заражены. После этого с помощью программы-ревизора можно в любой момент сравнить состояние программ и системных областей дисков с исходным. О выявленных несоответствиях сообщается пользователю.

Чтобы проверка состояния программ и дисков проходила при каждой загрузке операционной системы, необходимо включить команду запуска программы-ревизора в командный файл AUTOEXEC.BAT. Это позволяет обнаружить заражение компьютерным вирусом, когда он еще не успел нанести большого вреда. Более того, та же программа-ревизор сможет найти поврежденные вирусом файлы.

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

Другие программы часто используют различные полумеры – пытаются обнаружить вирус в оперативной памяти, требуют вызовы из первой строки файла AUTOEXEC.BAT, надеясь работать на "чистом" компьютере, и т.д. Увы, против некоторых "хитрых" вирусов все это бесполезно.

Для проверки того, не изменился ли файл, некоторые программы-ревизоры проверяют длину файла. Но эта проверка недостаточна - некоторые вирусы не изменяют длину зараженных файлов. Более надежная проверка - прочесть весь файл и вычислить его контрольную сумму. Изменить файл так, чтобы его контрольная сумма осталась прежней, практически невозможно.

В последнее время появились очень полезные гибриды ревизоров и докторов, т.е. ДОКТОРА-РЕВИЗОРЫ,- программы, которые не только обнаруживают изменения в файлах и системных областях дисков, но и могут в случае изменений автоматически вернуть их в исходное состояние. Такие программы могут быть гораздо более универсальными, чем программы-доктора, поскольку при лечении они используют заранее сохраненную информацию о состоянии файлов и областей дисков. Это позволяет им вылечивать файлы даже от тех вирусов, которые не были созданы на момент написания программы.

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

Существуют также ПРОГРАММЫ-ФИЛЬТРЫ, которые располагаются резидентно в оперативной памяти компьютера и перехватывают те обращения к операционной системе, которые используются вирусами для размножения и нанесения вреда, и сообщают о них пользователя. Пользователь может разрешить или запретить выполнение соответствующей операции.

Некоторые программы-фильтры не "ловят" подозрительные действия, а проверяют вызываемые на выполнение программы, на наличие вирусов. Это вызывает замедление работы компьютера.

Однако преимущества использования программ-фильтров весьма значительны – они позволяют обнаружить многие вирусы на самой ранней стадии, когда вирус еще не успел размножиться и что-либо испортить. Тем самым можно свести убытки от вируса к минимуму.

ПРОГРАММЫ-ВАКЦИНЫ, или ИММУНИЗАТОРЫ, модифицируют программы и диски таким образом, что это не отражается на работе программ, но тот вирус, от которого производится вакцинация, считает эти программы или диски уже зараженными. Эти программы крайне неэффективны.

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 в пакетном режиме необходимо набрать команду вида:

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

>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

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

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

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 останавливается, выдавая сообщение о необходимости вызвать системного программиста, нажатие на клавиши или приводит к перезагрузке компьютера. Выйти из этого состояния можно только нажав клавишу . Однако не говорите об этом своим пользователям!

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

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

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

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

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

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

Мы не будем детально описывать работу 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. При использовании этой программы перечисленные выше проблемы не возникают.

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.

Copyright © Иммунитет и инфекции