Смекни!
smekni.com

Анализ антивирусных программ (стр. 3 из 6)

· изменение атрибутов файлов;

· прямая запись на диск по абсолютному адресу;

· запись в загрузочные сектора диска.

· загрузка резидентной программы.

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

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

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

2.1.1.3 Методики антивирусных программ

Существует несколько основополагающих методов поиска вирусов, которые применяются антивирусными программами:

· Сканирование

· Эвристический анализ

· Обнаружение изменений

· Резидентные мониторы

Антивирусные программы могут реализовывать все перечисленные выше методики, либо только некоторые из них.

Сканирование

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

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

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


Эвристический анализ

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

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

Обнаружение изменений

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

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

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

Резидентные мониторы

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

2.1.1.4 Краткий обзор антивирусных программ

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

В настоящее время серьезный антивирус должен уметь распознавать не менее 25000 вирусов. Это не значит, что все они находятся "на воле". На самом деле большинство из них или уже прекратили свое существование или находятся в лабораториях и не распространяются. Реально можно встретить 200-300 вирусов, а опасность представляют только несколько десятков из них.

Существует множество антивирусных программ. Рассмотрим наиболее известные из них.

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 файлы.

Ещё одна функция AVSP.SYS - отключение на время работы AVSP.EXE резидентных вирусов, правда вместе с вирусами драйвер отключает и некоторые другие резидентные программы. При первом запуске AVSP следует протестировать систему на наличие известных вирусов. При этом проверяется оперативная память, BOOT-сектор и файлы. В ряде случаев можно восстанавливать даже файлы, испорченные неизвестным вирусом. Можно установить проверку размеров файлов, их контрольных сумм, наличие в них вирусов, либо все это вместе. Так же можно указать, что именно проверять (Boot-сектор, память, или файлы). Как и в большинстве антивирусных программ, здесь пользователю предоставляется возможность выбрать между скоростью и качеством. Суть скоростной проверки заключается в том, что просматривается не весь файл, а только его начало; при этом удается обнаружить большинство вирусов. Если же вирус пишется в середину, либо файл заражён несколькими вирусами (при этом "старые" вирусы как бы оттесняются в середину "молодым") то программа его и не заметит. Поэтому следует установить оптимизацию по качеству, тем более что в AVSP качественное тестирование занимает не намного больше времени, чем скоростное.

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

Если в процессе AVSP обнаружит известный вирус, то следует предпринять те же действия, как и при работе с Dr.Web: скопировать файл на диск, перезагрузиться с резервной дискеты и запустить AVSP. Желательно также, чтобы при этом в память был загружен драйвер AVSP.SYS, так как он помогает основной программе лечить Stealth-вирусы.

Ещё одной полезной функцией является встроенный дизассемблер. С его помощью можно разобраться, есть ли в файле вирус или при проверке диска произошло ложное срабатывание AVSP. Кроме того, можно попытаться выяснить способ заражения, принцип действия вируса, а также место, куда он "спрятал" замещённые байты файла (если мы имеем дело с таким типом вируса). Все это позволит написать процедуру удаления вируса и восстановить испорченные файлы. Ещё одна полезная функция - выдача наглядной карты изменений. Карта изменений позволяет оценить, соответствуют ли эти изменения вирусу или нет, а также сузить область поиска тела вируса при дизассемблировании.

В программе AVSP есть два алгоритма нейтрализации стелс-вирусов ("невидимок") и оба они работают только при наличии активного вируса в памяти. Вот, что происходит при реализации этих алгоритмов: все файлы копируются в файлы данных, а потом стираются. Спасаются только файлы с атрибутом SYSTEM. В Adinf процесс удаления Stealth-ов реализован гораздо проще.

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