Реферат Вирусы 5
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Проявление наличия вируса в работе на ПЭВМ
Все действия вируса могут выполняться достаточно быстро и без выдачи каких-либо сообщений, поэтому пользователю очень трудно заметить, что в компьютере происходит что-то необычное.
Пока на компьютере заражено относительно мало программ, наличие вируса может быть практически незаметно. Однако по прошествии некоторого времени на компьютере начинает твориться что-то странное, например:
Ø некоторые программы перестают работать или начинают работать неправильно;
Ø на экран выводятся посторонние сообщения, символы и т.д.;
Ø работа на компьютере существенно замедляется;
Ø некоторые файлы оказываются испорченными и т.д.
К этому моменту, как правило, уже достаточно много (или даже большинство) программ являются зараженными вирусом, а некоторые файлы и диски - испорченными. Более того, зараженные программы с одного компьютера могли быть перенесены с помощью дискет или по локальной сети на другие компьютеры.
Некоторые виды вирусов ведут себя еще более коварно. Они вначале незаметно заражают большое число программ или дисков, а потом причиняют очень серьезные повреждения, например, формируют весь жесткий диск на компьютере. А бывают вирусы, которые стараются вести себя как можно более незаметно, но понемногу и постепенно портят данные на жестком диске компьютера.
Таким образом, если не предпринимать мер по защите от вируса, то последствия заражения компьютера могут быть очень серьезными.
Разновидности компьютерных вирусов
Каждая конкретная разновидность вируса может заражать только один или два типа файлов. Чаще всего встречаются вирусы, заражающие исполнимые файлы. Некоторые вирусы заражают и файлы, и загрузочные области дисков. Вирусы, заражающие драйверы устройств, встречаются крайне редко, обычно такие вирусы умеют заражать и исполнимые файлы.
В последнее время получили распространение вирусы нового типа - вирусы, имеющие файловую систему на диске. Эти вирусы обычно называются DIR. Такие вирусы прячут свое тело в некоторый участок диска (обычно - в последний кластер диска) и помечают его в таблице размещения файлов (FAT) как конец файла.
Чтобы предотвратить свое обнаружение, некоторые вирусы применяют довольно хитрые приемы маскировки. Я расскажу о двух из них: "невидимых" и самомодифицирующихся вирусах.
"НЕВИДИМЫЕ" вирусы. Многие резидентные вирусы (и файловые, и загрузочные) предотвращают свое обнаружение тем, что перехватывают обращения DOS (и тем самым прикладных программ) к зараженным файлам и областям диска и выдают их в исходном (незараженном) виде. Разумеется, этот эффект наблюдается только на зараженном компьютере - на "чистом" компьютере изменения в файлах и загрузочных областях диска можно легко обнаружить.
САМОМОДИФИЦИРУЮЩИЕСЯ вирусы. Другой способ, применяемый вирусами для того, чтобы укрыться от обнаружения, - модификация своего тела. Многие вирусы хранят большую часть своего тела в закодированном виде, чтобы с помощью дизассемблеров нельзя было разобраться в механизме их работы. Самомодифицирующиеся вирусы используют этот прием и часто меняют параметры этой кодировки, а, кроме того, изменяют и свою стартовую часть, которая служит для раскодировки остальных команд вируса. Таким образом, в теле подобного вируса не имеется ни одной постоянной цепочки байтов, по которой можно было бы идентифицировать вирус. Это, естественно, затрудняет нахождение таких вирусов программами-детекторами.
Методы защиты от компьютерных вирусов
Каким бы не был вирус, пользователю необходимо знать основные методы защиты от компьютерных вирусов.
Для защиты от вирусов можно использовать:
Ø общие средства защиты информации, которые полезны также и как страховка от физической порчи дисков, неправильно работающих программ или ошибочных действий пользователя;
Ø профилактические меры, позволяющие уменьшить вероятность заражения вирусом;
Ø специализированные программы для защиты от вирусов.
Общие средства защиты информации полезны не только для защиты от вирусов. Имеются две основные разновидности этих средств:
Ø копирование информации - создание копий файлов и системных областей дисков;
Ø разграничение доступа предотвращает несанкционированное использование информации, в частности, защиту от изменений программ и данных вирусами, неправильно работающими программами и ошибочными действиями пользователей.
Несмотря на то, что общие средства защиты информации очень важны для защиты от вирусов, все же их недостаточно. Необходимо и применение специализированных программ для защиты от вирусов. Эти программы можно разделить на несколько видов: детекторы, доктора (фаги), ревизоры, доктора-ревизоры, фильтры и вакцины (иммунизаторы).
ПРОГРАММЫ-ДЕТЕКТОРЫ позволяют обнаруживать файлы, зараженные одним из нескольких известных вирусов. Эти программы проверяют, имеется ли в файлах на указанном пользователем диске специфическая для данного вируса комбинация байтов. При ее обнаружении в каком-либо файле на экран выводится соответствующее сообщение. Многие детекторы имеют режимы лечения или уничтожения зараженных файлов. Следует подчеркнуть, что программы-детекторы могут обнаруживать только те вирусы, которые ей "известны". Программа Scan фирмы McAfee Associates и Aidstest Д.Н.Лозинского позволяют обнаруживать около 9000 вирусов, но всего их более двадцати тысяч! Некоторые программы-детекторы, например Norton AntiVirus или AVSP фирмы "Диалог-МГУ", могут настраивать на новые типы вирусов, им необходимо лишь указать комбинации байтов, присущие этим вирусам. Тем не мнение невозможно разработать такую программу, которая могла бы обнаруживать любой заранее неизвестный вирус.
Таким образом, из того, что программа не опознается детекторами как зараженная, не следует, что она здорова - в ней могут сидеть какой-нибудь новый вирус или слегка модифицированная версия старого вируса, неизвестные программам-детекторам.
Многие программы-детекторы (в том числе и Aidstest) не умеют обнаруживать заражение "невидимыми" вирусами, если такой вирус активен в памяти компьютера. Дело в том, что для чтения диска они используют функции DOS, а они перехватываются вирусом, который говорит, что все хорошо. Правда, Aidstest и другие детекторы пытаются выявить вирус путем просмотра оперативной памяти, но против некоторых "хитрых" вирусов это не помогает. Так что надежный диагноз программы-детекторы дают только при загрузке DOS с "чистой", защищенной от записи дискеты, при этом копия программы-детектора также должна быть запущена с этой дискеты.
Некоторые детекторы (скажем ADinf фирмы "Диалог-Наука") умеют ловить "невидимые" вирусы, даже когда они активны. Для этого они читают диск, не используя вызовы DOS. Правда, этот метод работает не на всех дисководах.
Большинство программ-детекторов имеют функцию "доктора", т.е. они пытаются вернуть зараженные файлы или области диска в их исходное состояние. Те файлы, которые не удалось восстановить, как правило, делаются неработоспособными или удаляются.
Большинство программ-докторов умеют "лечить" только от некоторого фиксированного набора вирусов, поэтому они быстро устаревают. Но некоторые программы могут обучаться не только способам обнаружения, но и способам лечения новых вирусов. К таким программам относится AVSP фирмы "Диалог-МГУ".
ПРОГРАММЫ-РЕВИЗОРЫ имеют две стадии работы. Сначала они запоминают сведения о состоянии программ и системных областей дисков (загрузочного сектора и сектора с таблицей разбиения жесткого диска). Предполагается, что в этот момент программы и системные области дисков не заражены. После этого с помощью программы-ревизора можно в любой момент сравнить состояние программ и системных областей дисков с исходным. О выявленных несоответствиях сообщается пользователю.
Чтобы проверка состояния программ и дисков проходила при каждой загрузке операционной системы, необходимо включить команду запуска программы-ревизора в командный файл AUTOEXEC.BAT. Это позволяет обнаружить заражение компьютерным вирусом, когда он еще не успел нанести большого вреда. Более того, та же программа-ревизор сможет найти поврежденные вирусом файлы.
Многие программы-ревизоры являются довольно "интеллектуальными" - они могут отличать изменения в файлах, вызванные, например, переходом к новой версии программы, от изменений, вносимых вирусом, и не поднимают ложной тревоги. Дело в том, что вирусы обычно изменяют файлы весьма специфическим образом и производят одинаковые изменения в разных программных файлах. Понятно, что в нормальной ситуации такие изменения практически никогда не встречаются, поэтому программа-ревизор, зафиксировав факт таких изменений, может с уверенностью сообщить, что они вызваны именно вирусом.
Другие программы часто используют различные полумеры – пытаются обнаружить вирус в оперативной памяти, требуют вызовы из первой строки файла AUTOEXEC.BAT, надеясь работать на "чистом" компьютере, и т.д. Увы, против некоторых "хитрых" вирусов все это бесполезно.
Для проверки того, не изменился ли файл, некоторые программы-ревизоры проверяют длину файла. Но эта проверка недостаточна - некоторые вирусы не изменяют длину зараженных файлов. Более надежная проверка - прочесть весь файл и вычислить его контрольную сумму. Изменить файл так, чтобы его контрольная сумма осталась прежней, практически невозможно.
В последнее время появились очень полезные гибриды ревизоров и докторов, т.е. ДОКТОРА-РЕВИЗОРЫ,- программы, которые не только обнаруживают изменения в файлах и системных областях дисков, но и могут в случае изменений автоматически вернуть их в исходное состояние. Такие программы могут быть гораздо более универсальными, чем программы-доктора, поскольку при лечении они используют заранее сохраненную информацию о состоянии файлов и областей дисков. Это позволяет им вылечивать файлы даже от тех вирусов, которые не были созданы на момент написания программы.
Но они могут лечить не от всех вирусов, а только от тех, которые используют "стандартные", известные на момент написания программы, механизмы заражения файлов.
Существуют также ПРОГРАММЫ-ФИЛЬТРЫ, которые располагаются резидентно в оперативной памяти компьютера и перехватывают те обращения к операционной системе, которые используются вирусами для размножения и нанесения вреда, и сообщают о них пользователя. Пользователь может разрешить или запретить выполнение соответствующей операции.
Некоторые программы-фильтры не "ловят" подозрительные действия, а проверяют вызываемые на выполнение программы на наличие вирусов. Это вызывает замедление работы компьютера.
Однако преимущества использования программ-фильтров весьма значительны – они позволяют обнаружить многие вирусы на самой ранней стадии, когда вирус еще не успел размножиться и что-либо испортить. Тем самым можно свести убытки от вируса к минимуму.
ПРОГРАММЫ-ВАКЦИНЫ, или ИММУНИЗАТОРЫ, модифицируют программы и диски таким образом, что это не отражается на работе программ, но тот вирус, от которого производится вакцинация, считает эти программы или диски уже зараженными. Эти программы крайне неэффективны.
AIDSTEST
В нашей стране, как уже было сказано выше, особую популярность приобрели антивирусные программы, совмещающие в себе функции детекторов и докторов. Самой известной из них является программа AIDSTEST Д.Н. Лозинского. В Украине практически на каждом IBM-совместимом персональном компьютере есть одна из версий этой программы. Одна из последних версия обнаруживает более 8000 вирусов.
Aidstest для своего нормального функционирования требует, чтобы в памяти не было резидентных антивирусов, блокирующих запись в программные файлы, поэтому их следует выгрузить, либо, указав опцию выгрузки самой резидентной программе, либо воспользоваться соответствующей утилитой.
При запуске Aidstest проверяет себя оперативную память на наличие известных ему вирусов и обезвреживает их. При этом парализуются только функции вируса, связанные с размножением, а другие побочные эффекты могут оставаться. Поэтому программа после окончания обезвреживания вируса в памяти выдает запрос о перезагрузке. Следует обязательно последовать этому совету, если оператор ПЭВМ не является системным программистом, занимающимся изучением свойств вирусов. При чем следует перезагрузиться кнопкой RESET, так как при "теплой перезагрузке" некоторые вирусы могут сохраняться. Вдобавок, лучше запустить машину и Aidstest с защищённой от записи дискеты, так как при запуске с зараженного диска вирус может записаться в память резидентом и препятствовать лечению.
Aidstest тестирует свое тело на наличие известных вирусов, а также по искажениям в своем коде судит о своем заражении неизвестным вирусом. При этом возможны случаи ложной тревоги, например при сжатии антивируса упаковщиком. Программа не имеет графического интерфейса, и режимы ее работы задаются с помощью ключей. Указав путь, можно проверить не весь диск, а отдельный подкаталог.
Как показала практика, самый оптимальный режим для ежедневной работы задается ключами /g (проверка всех файлов, а не только с расширением EXE,COM,SYS) и /s (медленная проверка). Увеличение времени при таких опциях практически не ощутимо, зато вероятность обнаружения на порядок выше.
При обычном тестировании не следует ставить ключ /f (исправление зараженных программ и стирание не подлежащих восстановлению), даже с ключом /q (выдавать запрос об удалении файла), поскольку любая программа, в том числе и антивирусная, не застрахована от ошибок. Ключ /f следует использовать тогда, когда Aidstest, а также другие антивирусы указывают на наличие вируса в каком-либо файле. При этом следует перезапустить компьютер с защищённой от записи дискеты, так как система может быть заражена резидентным вирусом, и тогда лечение будет неэффективным, а то и просто опасным. При обнаружении вируса в ценном файле следует переписать его на дискету, а ещё лучше - на электронный, диск и там попытаться вылечить с помощью указания Aidstest-у опции /f. Если попытка не увенчается успехом, то надо удалить все зараженные копии файла и проверить диск снова. Если в файле содержится важная информация, которую стирать жалко, то можно заархивировать файл и подождать выхода новой версии Aidstest или другого антивируса, способной лечить этот тип вируса. Для ускорения процесса можно направить зараженный файл в качестве образца Лозинскому.
Для создания в файле протокола работы программы Aidstest служит ключ /p. Протокол оказывается нужным, когда пользователь не успевает просмотреть имена зараженных файлов. Для поддержки антивирусного программно - аппаратного комплекса Sheriff (далее будет рассмотрен подробнее), служит ключ /z.
DOCTOR WEB
В последнее время стремительно растет популярность другой антивирусной программы - Doctor Web. Dr.Web так же, как и Aidstest относится к классу детекторов - докторов, но в отличие от последнего, имеет так называемый "эвристический анализатор" - алгоритм, позволяющий обнаруживать неизвестные вирусы. "Лечебная паутина", как переводится с английского название программы, стала ответом отечественных программистов на нашествие самомодифицирующихся вирусов-мутантов. Последние при размножении модифицируют свое тело так, что не остается ни одной характерной цепочки байт, присутствовавшей в исходной версии вируса. Dr.Web можно назвать антивирусом нового поколения по сравнению с Aidstest и его аналогами.
Управление режимами также как и в Aidstest осуществляется с помощью ключей. Пользователь может указать программе, тестировать как весь диск, так и отдельные подкаталоги или группы файлов, либо же отказаться от проверки дисков и тестировать только оперативную память. В свою очередь можно тестировать либо только базовую память, либо, вдобавок, ещё и расширенную (указывается с помощью ключа /H). Как и Aidstest Doctor Web может создавать отчет о работе (ключ /P), загружать знакогенератор Кириллицы (ключ /R), поддерживает работу с программно-аппаратным комплексом Sheriff (ключ /Z).
Но, конечно, главной особенностью "Лечебной паутины" является наличие эвристического анализатора, который подключается ключом /S. Баланса между скоростью и качеством можно добиться, указав ключу уровень эвристического анализа: 0 - минимальный, 1 - оптимальный, 2 - максимальный; при этом, естественно, скорость уменьшается пропорционально увеличению качества. К тому же Dr.Web позволяет тестировать файлы, вакцинированные CPAV, а также упакованные LZEXE, PKLITE, DIET. Для этого следует указать ключ /U (при этом распаковка файлов будет произведена на текущем устройстве) или /U диск: (где диск: - устройство, на котором будет производиться распаковка), если дискета, с которой запущен Doctor Web защищена от записи. Многие программы упакованы таким способом, хотя пользователь может и не подозревать об этом. Если ключ /U не установлен, то Doctor Web может пропустить вирус, забравшийся в запакованную программу.
Важной функцией является контроль заражения тестируемых файлов резидентным вирусом (ключ /V). При сканировании памяти нет стопроцентной гарантии, что "Лечебная паутина" обнаружит все вирусы, находящиеся там. Так вот, при задании функции /V Dr.Web пытается воспрепятствовать оставшимся резидентным вирусам заразить тестируемые файлы.
Тестирование винчестера Dr.Web-ом занимает на много больше времени, чем Aidstest-ом, поэтому не каждый пользователь может себе позволить тратить столько времени на ежедневную проверку всего жесткого диска. Таким пользователям можно посоветовать более тщательно (с опцией /S2) проверять принесенные извне дискеты. Если информация на дискете находится в архиве (а в последнее время программы и данные переносятся с машины на машину только в таком виде; даже фирмы-производители программного обеспечения, например Borland, пакуют свою продукцию), следует распаковать его в отдельный каталог на жестком диске и сразу же, не откладывая, запустить Dr.Web, задав ему в качестве параметра вместо имени диска полный путь к этому подкаталогу. И все же нужно хотя бы раз в две недели производить полную проверку "винчестера" на вирусы с заданием максимального уровня эвристического анализа.
Так же как и в случае с Aidstest при начальном тестировании не стоит разрешать программе лечить файлы, в которых она обнаружит вирус, так как нельзя исключить, что последовательность байт, принятая в антивирусе за шаблон может встретиться в здоровой программе. Если по завершении тестирования Dr.Web выдаст сообщения о том, что нашел вирусы, нужно запустить его с опцией /P (если эта опция не была указана) для того, чтобы посмотреть, какой файл заражен. После этого нужно скопировать файл на дискету или на электронный диск и попытаться удалить, указав "Лечебной паутине" ключ /F. При неудачном лечении следует поступить так же, как в аналогичной ситуации, описанной выше для программы Aidstest.
Для ежедневной работы с дискетами можно посоветовать следующую конфигурацию: web <имя диска>/A /S2 /V /O /U /H , где /A - проверять все файлы, /S2 - эвристический анализатор, /V - проверять заражение резидентным вирусом, /O - выводить сообщение OK для незараженных файлов, /U - проверять запакованные (но не архивированные!) файлы, /H - тестировать верхнюю память.
Чтобы все время не набирать одну и ту же последовательность ключей, можно включить в меню пользователя (USER MENU) оболочки NORTON COMMANDER (или ДОС-НАВИГАТОР, если используется последняя) пункты вызова Dr.Web и Aidstest, либо создать командный файл. Это не только сэкономит время, но и позволит уменьшить объем переменных окружения DOS, так как теперь не нужно будет указывать в команде PATH файла AUTOEXEC.BAT подкаталог с антивирусными программами (некоторые делают это для оперативного обращения к антивирусам).
AVSP
(Anti-Virus Software Protection)
Интересным программным продуктом является антивирус AVSP. Эта программа сочетает в себе и детектор, и доктор, и ревизор, и даже имеет некоторые функции резидентного фильтра (запрет записи в файлы с атрибутом READ ONLY). Антивирус может лечить как известные, так и неизвестные вирусы, при чем о способе лечения последних программе может сообщить сам пользователь. К тому же AVSP может лечить самомодифицирующиеся и Stealth-вирусы (невидимки).
При запуске AVSP появляется система окон с меню и информация о состоянии программы. Очень удобна контекстная система подсказок, которая дает пояснения к каждому пункту меню. Она вызывается классически, клавишей F1, и меняется при переходе от пункта к пункту. Так же не маловажным достоинством в наш век Windows-ов и "Полуосей"(OS/2) является поддержка мыши. Существенный недостаток интерфейса AVSP - отсутствие возможности выбора пунктов меню нажатием клавиши с соответствующей буквой, хотя это несколько компенсируется возможностью выбрать пункт, нажав ALT и цифру, соответствующую номеру этого пункта.
В состав пакета AVSP входит также резидентный драйвер AVSP.SYS, который позволяет обнаруживать большинство невидимых вирусов (кроме вирусов типа Ghost-1963 или DIR), дезактивировать вирусы на время своей работы, а также запрещает изменять READ ONLY файлы. Устанавливается он классически, в файле CONFIG.SYS. Размещать строку в файле желательно ближе к началу, так как в драйверах тоже может содержаться вирус, и чем больше их запустится до начала функционирования AVSP.SYS, тем выше вероятность, что этот драйвер окажется бесполезным. AVSP.SYS можно разместить сразу же за драйверами менеджеров верхней памяти (HIMEM,EMM386,QEMM и др.). Для подключения защиты READ ONLY файлов в AUTOEXEC.BAT следует включить строку вызывающую файл AVSPMONI.EXE, так же входящий в пакет, с параметром ON (естественно эта строка должна быть также одной из первых). Теперь при попытке снять атрибут или записаться в READ ONLY файл прозвучит длинный сигнал, и операция не будет выполнена. Снять защиту можно либо запустив AVSPMONI.EXE с параметром OFF, либо в основной программе AVSP.EXE. Для этого нужно войти в пункт "Исследование изменений в файлах" и отметить нужные файлы клавишей "пробел" (можно также отметить группу файлов клавишей "+"). После этого нужно нажать клавишу F8, и атрибут READ ONLY будет снят. Поставить файлы под защиту можно клавишей F7.
Ещё одна функция AVSP.SYS - отключение на время работы AVSP.EXE резидентных вирусов, правда вместе с вирусами драйвер отключает и некоторые другие резидентные программы. Для проверки этого факта мною были загружены две программы-пародии на вирусы: одна переворачивает экран, а другая превращает в бегущие волновые линии вертикальные прямые (например, вертикальные образующие панелей программы Norton Commander). При запуске AVSP вернул экран в нормальное состояние, но "волны" на боках рамок остались, правда, они и не перемещались, а стояли на месте. При вызове другого пункта меню его прямые боковые рамки также превращались в волнистые, хотя и неподвижные. Из этого можно сделать вывод, что AVSP не полностью отключает резидентные программы. Более странно повёл себя ADinf: произведя тестирование в "перевёрнутом" виде он выдал, что вирусов не обнаружено, после чего "повис" (правда, выйти из этого состояния удалось клавишами CTRL/BREAK).
При первом запуске AVSP следует протестировать систему на наличие известных вирусов, выбрав пункты меню "Поиск и удаление вирусов" и "Комплексная проверка". При этом проверяется оперативная память, BOOT-сектор и файлы. После этого (если вирусов не обнаружено) нужно создать таблицы данных о файлах и системных областях, выбрав в основном меню пункт "Данные о файлах и вирусах" и подменю "Создание файлов данных". При этом на диске в каталоге /AVSP будут созданы файлы DISKDATA.DTL (данные о размерах и контрольных суммах файлов), MBOOT.DTL (копия Master Boot сектора) и BOOT.DTL (копия DOS Boot сектора). Теперь при комплексной проверке AVSP будет сравнивать файлы на диске с информацией, содержащейся в этих файлах данных. Эта информация может быть использована для анализа изменений, произошедших в файлах и Boot-секторах, а также для поиска и лечения неизвестных вирусов. Причем в ряде случаев можно восстанавливать даже файлы, испорченные неизвестным вирусом.
Указать программе, что именно нужно проверять, пользователь может с помощью пункта "Установка параметров". Можно установить проверку размеров файлов, их контрольных сумм, наличие в них вирусов, либо все это вместе. Для этого нужно установить "флажки" напротив соответствующих пунктов. Так же можно указать, что именно проверять (Boot-сектор, память, или файлы). Как и в большинстве антивирусных программ, здесь пользователю предоставляется возможность выбрать между скоростью и качеством. Суть скоростной проверки заключается в том, что просматривается не весь файл, а только его начало; при этом удается обнаружить большинство вирусов. Если же вирус пишется в середину, либо файл заражён несколькими вирусами (при этом "старые" вирусы как бы оттесняются в середину "молодым") то программа его и не заметит. Поэтому следует установить оптимизацию по качеству, тем более что в AVSP качественное тестирование занимает не намного больше времени, чем скоростное.
Все операции, например поиск вирусов, могут производиться на текущем диске (по умолчанию), по текущему пути, а также на всех дисках. Для того чтобы поменять путь или диск следует нажать клавишу TAB. Во время работы информация о пути выводится в верхнем левом углу.
Для проверки компьютера на наличие известных вирусов нужно в основном меню выбрать пункт "Поиск и удаление вирусов". После этого можно выбрать либо режим "Проверка наличия вирусов", либо режим "Комплексная проверка". В первом случае будет произведена проверка файлов и загрузочных секторов на известные вирусы, а во втором - будут проверены не только файлы и BOOT-сектора, но и память. К тому же программа сравнит состояние системы с данными, сохраненными в файлах DISKDATA.DTL , MBOOT.DTL и BOOT.DTL.
Сначала программа произведет предварительный проход для оценки объема предстоящей работы, а затем просмотрит все программные файлы. В любой момент пользователь может нажать ESC для прерывания просмотра или пробел для временной остановки. По умолчанию AVSP проверяет размеры файлов. Если размер изменен, то проверяется контрольная сумма и строится карта изменения файла. Если файл новый, то он проверяется на наличие известных вирусов. Во время проверки диска в окно, расположенное в правой части экрана могут выводиться различные сообщения, например, об изменении размера файла. После проверки их все можно будет просмотреть, выбрав в меню пункт "Просмотр Сообщений". Иногда может быть выдано сообщение о подозрительных файлах. Это означает, что по некоторым признакам можно судить о том, что файл либо заражен новым вирусом, либо он ранее был им заражен, но после лечения характерные для вируса признаки остались. Такое сообщение выдается также о файлах, у которых странное время создания. Например, у меня AVSP "ругается" на файл PCXSHOW.EXE, у которого время создания 3:53.60. Интересен тот факт, что антивирус не "ругается" на свою демонстрационную программу (AVSP_DEM.EXE), у которой дата создания 11.11.2011 года, а время 11:11, да ещё к тому же размер - пять шестёрок. Вероятно, при написании программы автор вспомнил, что ещё существуют устаревшие машины, у которых нет CMOS, и дата вводится при загрузке.
При комплексной проверке AVSP выводит также имена файлов, в которых произошли изменения, а также так называемую карту изменений. Если у большинства изменённых файлов она одинаковая, то, вероятнее всего, в систему "закрался" какой-то вирус. Чаще всего в такой ситуации программа сама "заподозрит" неладное и предложит внести информацию о нём в библиотеку. При этом шаблон вируса будет выбран автоматически.
При автоматическом определении новых вирусов AVSP может допустить множество ошибок. Как раз в те дни, когда я занимался написанием работы, со мной произошел именно такой случай. При проверке жесткого диска AVSP выдал сообщение "Найден неизвестный вирус! " и выдал запрос о занесении шаблона вируса в библиотеку. Взглянув на имя файла, я сразу понял, что наличие в нем вируса маловероятно, так как это был самораспаковывающийся архив RAR-а, который я создал за несколько минут до запуска антивируса, перепаковав два файла, один из которых был также SFX-архивом с тем же именем, что и получившийся. Решив посмотреть, что будет дальше, я установил опцию создания отчета и повторно запустил комплексную проверку. Вот фрагмент этого отчета:
Директория
C:\TOOLS\UTILIT
C:\TOOLS\UTILIT
SPEED200.EXE:
SPEED200.EXE: Новый
TB.EXE:
TB.EXE: Новый
Директория
C:\USER\MUSIC\ROCK
C:\USER\MUSIC\ROCK
ROCK.EXE:
ROCK.EXE: Новый
PTTM.COM:
PTTM.COM: Новый
PSYCHO.EXE:
PSYCHO.EXE: Новый
Директория
C:\DISK_ARH
C:\DISK_ARH
DERIVE.EXE:
DERIVE.EXE: Изменен
- Изменение размера: 22053 (был 170496,стал 192549)
- Возможный вирус: TP-940128
После ответа на запрос AVSP-а о занесении вируса в библиотеку, программа вывела составленный ею шаблон на экран. Дизассемблировав клавишей TAB код шаблона, я увидел следующую последовательность команд:
push es
push cs
pop ds
mov cx,[000ch]
mov si, cx
dec si
Такая последовательность команд, а особенно две первые (сохранение соответствующих регистров) встречаются в начале многих исполнимых программ. При повторном запуске комплексной проверки AVSP "находил" вирус в каждой второй EXE-программе:
Директория
C:\ANTIVIR
C:\ANTIVIR
AIDSTEST.EXE:
AIDSTEST.EXE: Заражен
- Вирус ERU-37
Директория
C:\ANTIVIR\ADINF
C:\ANTIVIR\ADINF
REVIS.EXE:
REVIS.EXE: Заражен
- Вирус ERU-37
Директория
C:\DOS
C:\DOS
MEMMAKER.EXE:
MEMMAKER.EXE: Заражен
- Вирус ERU-37
MSAV.EXE:
MSAV.EXE: Заражен
- Вирус ERU-37
<<<< Работа прервана (диск C:) >>>>
Так что при автоматическом определении шаблона следует не полениться проверить, действительно ли это вирус и не будет ли этот шаблон встречаться в здоровых программах.
Если в процессе AVSP обнаружит известный вирус, то следует предпринять те же действия, как и при работе с Aidstest и Dr.Web: скопировать файл на диск, перезагрузиться с резервной дискеты и запустить AVSP. Желательно также, чтобы при этом в память был загружен драйвер AVSP.SYS, так как он помогает основной программе лечить Stealth-вирусы. После этого нужно выбрать пункт меню "Удаление вирусов". Если в библиотеке программы VIRUSES.INF есть информация о том, как лечить данный вирус, то файл будет вылечен, и AVSP выдаст соответствующее сообщение. При отсутствии в библиотеке информации о способе лечения данного вируса программа попытается автоматически восстановить файл при помощи информации, сохраненной в файлах данных DISKDATA.DTL. Если файл вылечить не удастся, то, возможно, это "вирус-невидимка". Узнать поподробнее о том, что же за вирус "залез" в систему можно в режиме просмотра сообщений. Для этого нужно подвести курсор на название вируса и нажать ENTER.
Если автоматически файл восстановить не удалось то можно либо, как всегда, удалить его, либо попытаться самостоятельно обучить AVSP уничтожать вирус. Правда, для написания "лекарства" даже на макроязыке AVSP-а нужно иметь опыт в системном программировании и знать хотя бы азы ассемблера. Ведь и в медицине таблетки в неумелых руках приносят больше вреда, чем пользы. Если у пользователя есть модем, то он может послать в сеть "электронное объявление" с вопросом о способе лечения вируса. При этом следует выбирать достаточно известные станции, а не любительские BBS, в которые лазают только любители GIF-ов и анекдотов про поручика Ржевского.
Для внесения и редактирования информации о вирусах в меню "Данные о файлах и о вирусах" есть подменю "Изменение информации о вирусах". При выборе этого пункта программа выводит на экран список всех известных ей вирусов. По списку можно передвигаться с помощью стрелок. Чтобы получить более полную информацию о вирусе, нужно, подведя курсор к его имени, нажать ENTER. Вся эта информация находится в файле VIRUSES.INF, который можно редактировать не только с помощью AVSP в пункте "Изменение информации о вирусах", но и как обычный текстовый файл. Чтобы внести информацию о новом вирусе с помощью AVSP нужно нажать F2 , программа спросит об имени вируса, а когда пользователь введет это имя, программа выдаст таблицу, аналогичную той, что выводится при автоматическом задании шаблона. В эту таблицу нужно занести все известные об этом вирусе данные. В AVSP существует возможность задавать шаблон не только обычных, но и самомодифицирующихся вирусов. Это осуществляется посредством заменителей символов в мнемонических командах, также составляющих макроязык антивируса. Опытные программисты могут внести также последовательность макрокоманд, задающую способ лечения файла. В любой момент можно отказаться от редактирования, нажав ESC или записать информацию в библиотеку, нажав ENTER.
Но, конечно, полностью все возможности программы реализуются в руках человека, знакомого с ассемблером и системным программированием. В AVSP имеется возможность просматривать файлы в разных форматах. При входе в режим просмотра на экран выводятся две колонки: слева содержимое просматриваемого файла в виде шестнадцатеричных кодов, а справа - в виде ASCII-кодов. Кроме того, выводится полезная системная информация, которая поможет при написании процедуры удаления вируса. Передвигая курсор, можно перейти на любой адрес, есть также функции поиска шаблонов, сравнения файлов. Можно установить, в каком формате будет просматриваться, например, заголовок: как у EXE-файла, SYS-файла или в формате загрузочного сектора. При этом хорошо реализован сам просмотр заголовка: его системные ячейки представлены в виде таблицы: слева значение ячейки, справа - пояснение.
Ещё одной полезной функцией является встроенный дизассемблер. С его помощью можно разобраться есть ли в файле вирус или при проверке диска произошло ложное срабатывание AVSP. Кроме того, можно попытаться выяснить способ заражения, принцип действия вируса, а также место, куда он "спрятал" замещённые байты файла (если мы имеем дело с таким типом вируса). Все это позволит написать процедуру удаления вируса и восстановить запорченные файлы. Для полного счастья не хватает только трассировщика, хотя в неумелых руках такая функция может привести к заражению ещё большего количества данных. В режиме дизассемблера между мнемоническими командами можно перемещаться, используя стрелки. Чтобы перейти по смещению, указанному в команде перехода, нужно нажать клавишу F7.
Ещё одна полезная функция - выдача наглядной карты изменений. Особенно ясно я это понял, когда у меня возникло подозрение в отношении одного из файлов (который не должен был, вроде бы, меняться) в ревизоре ADinf, в котором нет такой функции. Карта изменений позволяет оценить, соответствуют ли эти изменения вирусу или нет, а также сузить область поиска тела вируса при дизассемблировании. При её построении красный прямоугольник используется для изображения изменённого блока, синий - неизменённого, а прозрачный - нового.
Если есть подозрение, что в систему забрался Stealth-вирус, можно запустить AVSP с параметром /D с жесткого диска, а затем загрузиться с чистой системной дискеты и запустить AVSP без параметров. Если результаты проверки контрольных сумм отличаются в обоих случаях, то подозрения оправданы. В программе AVSP есть два алгоритма нейтрализации "невидимок" и оба они работают только при наличии активного вируса в памяти. То, что происходит при реализации этих алгоритмов похоже на фильм ужасов или конец Света: все файлы копируются в файлы данных, а потом стираются. Спасаются только файлы с атрибутом SYSTEM. В Adinf процесс удаления Stealth-ов реализован гораздо проще. Может, конечно, способ борьбы с "невидимками" в AVSP и надёжней, но как-то это не особо приятное развлечение - перепахивать весь "винт", да к тому же и небезопасное.
Программа AVSP контролирует также и состояние загрузочных секторов. Если заражен BOOT-сектор на дискете и антивирус не может его вылечить, то следует стереть загрузочный код. Дискета при этом станет несистемной, но данные при этом не потеряются. С "винчестером" так лихо поступать нельзя. При обнаружении изменений в одном из BOOT-секторов жесткого диска AVSP предложит его сохранить в некотором файле, а затем попытается удалить вирус. Если это программе сделать не удастся, то она предложит восстановить прежнее состояние загрузочного сектора. Вообще, "винчестер" - вещь капризная, поэтому перед подобной операцией желательно "скинуть" нужные данные на дискеты. Что уж говорить про операции с BOOT-секторами, если были случаи, когда "винт" "самоочищался" при участии Speed Disk-а и Disk Fix-а. Правда, тому, кто лечил с помощью AVSP Стелз-вирусы уже ничего не страшно.
Microsoft Antivirus
В состав современных версий MS-DOS (например 7.10) входит антивирусная программа Microsoft Antivirus (MSAV). Этот антивирус может работать в режимах детектора-доктора и ревизора.
MSAV имеет дружественный интерфейс в стиле MS-Windows, естественно, поддерживается мышь. Хорошо реализована контекстная помощь: подсказка есть практически к любому пункту меню, к любой ситуации. Универсально реализован доступ к пунктам меню: для этого можно использовать клавиши управления курсором, ключевые клавиши (F1-F9), клавиши, соответствующие одной из букв названия пункта, а также мышь. Флажки установок в пункте меню Options можно устанавливать как клавишей ПРОБЕЛ, так и клавишей ENTER. Серьёзным неудобством при использовании программы является то, что она сохраняет таблицы с данными о файлах не в одном файле, а разбрасывает их по всем директориям. Вот и кочуют файлики CHKLIST.MS при обмене программами от пользователя к пользователю, захламляя каталог и место на диске.
При запуске программа загружает собственный знакогенератор и читает дерево каталогов текущего диска, после чего выходит в главное меню. Не понятно, зачем читать дерево каталогов сразу при запуске: ведь пользователь может и не захотеть проверять текущий диск. В главном меню можно сменить диск (Select new drive), выбрать между проверкой без удаления вирусов (Detect) и с их удалением (Detect&Clean). При запуске проверки диска (как в режиме удаления, так и без него) программа сначала сканирует память на наличие известных ей вирусов. При этом выводится индикация проделанной работы в виде цветной полоски и процента выполненной работы. После сканирования памяти MSAV принимается за проверку непосредственно диска.
При первой проверке MSAV создает в каждой директории, содержащей исполнимые файлы, файлы CHKLIST.MS, в которые записывает информацию о размере, дате, времени, атрибутах, а также контрольную сумму контролируемых файлов. При последующих проверках программа будет сравнивать файлы с информацией в CHKLIST.MS-файлах. Если изменились размер и дата, то программа сообщит об этом пользователю и запросит о дальнейших действиях: обновить информацию (Update), установить дату и время в соответствие с данными в CHKLIST.MS (Repair), продолжить, не обращая внимания на изменения в данном файле (Continue), прервать проверку (Stop). Если изменилась контрольная сумма, то MSAV выведет такое же окно, только вместо пункта Repair будет пункт Delete (удалить), так как программа не может восстановить содержимое файла. При обнаружении вируса в режиме Detect&Clean программа удалит этот вирус. Проверку диска в обоих режимах можно приостановить, либо полностью прервать, нажав ESC (или F3) и ответив на соответствующий вопрос программы. Во время сканирования диска выводится информация о проделанной работе: процент обработанных каталогов и процент обработанных файлов в текущем каталоге. Эта информация выдается также наглядно, в виде цветной полоски, как и при проверке памяти. В конце проверки MSAV выдает отчет в виде таблицы, в которой сообщается о количестве проверенных жестких дисков и гибких дисков, о количестве проверенных, инфицированных и вылеченных файлов. Кроме того, выводится время сканирования.
В меню Options можно сконфигурировать программу по собственному желанию. Здесь можно установить режим поиска вирусов-невидимок (Anti-Stealth), проверки всех (а не только исполнимых) файлов (Check All Files), а также разрешить или запретить создавать таблицы CHKLIST.MS (Create New Checksums). К тому же можно задать режим сохранения отчета о проделанной работе в файле. Если установить опцию Create Backup, то перед удалением вируса из зараженного файла его копия будет сохранена с расширением *.VIR
Находясь в основном меню, можно просмотреть список вирусов, известных программе MSAV, нажав клавишу F9. При этом выведется окно с названиями вирусов. Чтобы посмотреть более подробную информацию о вирусе, нужно подвести курсор к его имени и нажать ENTER. Можно быстро перейти к интересующему вирусу, набрав первые буквы его имени. Информацию о вирусе можно вывести на принтер, выбрав соответствующий пункт меню.
ADINF
(Advanced Diskinfoscope)
ADinf относится к классу программ-ревизоров. Антивирус имеет высокую скорость работы, способен с успехом противостоять вирусам, находящимся в памяти. Он позволяет контролировать диск, читая его по секторам через BIOS и не используя системные прерывания DOS, которые может перехватить вирус. Программа ADinf получила первый приз на Втором Всесоюзном конкурсе антивирусных программ в 1990 году, а также второй приз на конкурсе Borland Contest'93.
В отличие от AVSP, в котором пользователю приходится самому анализировать, заражена ли машина Stealth-вирусом, загружаясь сначала с винчестера, а потом с эталонной дискеты, в ADinf эта операция происходит автоматически. Это происходит благодаря оригинальному алгоритму противодействия этим "вирусам-невидимкам", суть которого заключается в том, что сначала диск читается непосредственно через BIOS, а потом - с помощью DOS. Если информация будет отличаться, то в системе Стелз-вирус. ADinf был единственным антивирусом, который летом 1991 года обнаружил вирус DIR, построенный на принципиально новом способе заражения и маскировки.
Для лечения заражённых файлов применяется модуль ADinf Cure Module, не входящий в пакет ADinf и поставляющийся отдельно. Принцип работы модуля - сохранение небольшой базы данных, описывающей контролируемые файлы. Работая совместно, эти программы позволяют обнаружить и удалить около 97% файловых вирусов и 100% вирусов в загрузочном секторе. К примеру, нашумевший вирус SatanBug был легко обнаружен, и заражённые им файлы автоматически восстановлены. Причем, даже те пользователи, которые приобрели ADinf и ADinf Cure Module за несколько месяцев до появления этого вируса, смогли без труда от него избавиться. Подробнее о лечащем модуле я ничего рассказать не могу, так как у меня его нет.
В отличие от других антивирусов Advansed Diskinfoscope не требует загрузки с эталонной, защищённой от записи дискеты. При загрузке с винчестера надежность защиты не уменьшается.
ADinf имеет хорошо выполненный дружественный интерфейс, который в отличие от AVSP реализован не в текстовом, а в графическом режиме. Программа работает непосредственно с видеопамятью, минуя BIOS, при этом поддерживаются все графические адаптеры. Наличие большого количества ключей позволяет пользователю создать максимально удобную для него конфигурацию системы. Можно установить, что именно нужно контролировать: файлы с заданными расширениями, загрузочные сектора, наличие сбойных кластеров, новые файлы на наличие Stealth-вирусов, файлы из списка неизменяемых и т.д. По своему желанию пользователь может запретить проверять некоторые каталоги (это нужно, если каталоги являются рабочими и в них всё время происходят изменения). Имеется возможность изменять способ доступа к диску (BIOS, Int13h или Int25h/26h), редактировать список расширений проверяемых файлов, а также назначить каждому расширению собственный вьюер, с помощью которого будут просматриваться файлы с этим расширением. Также имеются различные прибомбасы типа обновления вместе с таблицами и файла TREEINFO.NCD (этот файл реализовывает возможность быстрого перехода по дереву каталогов в программе Norton Commander). В традициях современного программного обеспечения реализована работа с мышью. Как и вся продукция фирмы "ДиалогНаука", ADinf поддерживает программно-аппаратный комплекс Sheriff.
При инсталляции ADinf в систему имеется возможность изменить имя основного файла ADINF.EXE и имя таблиц, при этом пользователь может задать любое имя. Это очень полезная функция, так как в последнее время появилось множество вирусов, "охотящихся" за антивирусами (например, есть вирус, который изменяет программу Aidstest так, что она вместо заставки фирмы "ДиалогНаука" пишет: "Лозинский - пень"), в том числе и за ADinf.
Полезной функцией является возможность работы с DOS, не выходя из программы. Это бывает полезно, когда нужно запустить внешний антивирус для лечения файла, если у пользователя нет лечащего блока ADinf Cure Module.
Ещё одна интересная функция - запрещение работы с системой при обнаружении изменений на диске. Эта функция полезна, когда за терминалами работают пользователи, не имеющие ещё большого опыта в общении с компьютером. Такие пользователи, по незнанию или по халатности, могут проигнорировать сообщение ADinf и продолжить работу как ни в чём не бывало, что может привести к тяжёлым последствиям. Если же установлен ключ -Stop в строке вызова Adinf AUTOEXEC.BAT, то при обнаружении изменений на диске программа потребует позвать системного программиста, обслуживающего данный терминал, а если пользователь нажмет ESC или ENTER, то система перезагрузится и все повторится снова. И всё же эта функция продумана не до конца, так как продолжение работы возможно при нажатии клавиши F10. Ведь большинство пользователей, даже если они впервые сели за компьютер, даже при минимальном на то желании смогут продолжить работу, воспользовавшись "правилом научного тыка", то есть, нажав на все клавиши подряд. Для повышения надёжности защиты от таких пользователей следовало бы ввести хотя бы какой-нибудь простенький пароль.
Принцип работы 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.