Обнаружение изменений, или контроль целостности.

Классификация компьютерных вирусов и содержание основных методов борьбы с ними.

Понятие компьютерного вируса

Компьютерный вирус — это фрагмент исполняемого кода, который копирует себя в другую программу, модифицируя ее при этом.

Классификация

По среде обитания

· Файловые вирусы, которые внедряются в выполняемые файлы (*.СОМ, *.ЕХЕ, *.SYS, *.BAT, *.DLL).

· Загрузочные вирусы, которые внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий системный загрузчик винчестера (Master Boot Record).

· Макро-вирусы, которые внедряются в системы, использующие при работе макросы(например, Word, Excel).

Существуют и сочетания - например, файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора..

По способу заражения

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

· нерезидентные.

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

По степени опасности деструктивных (вредительских) воздействий

· безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске);

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

· опасные - вирусы, которые могут привести к серьезным сбоям в работе;

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

По алгоритму функционирования

· компаньон-вирусы (companion) - Алгоритм работы состоит в том, что они создают для ЕХЕ-файлов файлы-спутники, имеющие то же самое имя, но с расширением СОМ. При запуске такого файла DOS первым обнаружит и выполнит СОМ-файл, т.е. вирус, который затем запустит и ЕХЕ-файл;
вирусы-«черви» (worm) - вариант компаньон-вирусов. «Черви» не связывают свои копии с какими-то файлами. Они создают свои копии на дисках и в подкаталогах дисков.

· сетевые черви - «сетевые вирусы»;

· «паразитические» - все вирусы, которые при распространении своих копий обязательно изменяют содержимое дисковых секторов или файлов.

· «студенческие» - крайне примитивные вирусы, часто нерезидентные и содержащие большое число ошибок;

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

· «полиморфик»-вирусы (самошифрующиеся или вирусы-призраки, polymorphic) - достаточно труднообнаруживаемые вирусы, не содержащие ни одного постоянного участка кода.

· Макро-вирусы, которые внедряются в системы, использующие при работе макросы(например, Word, Excel).

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

Методы обнаружения вирусов:

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

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

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

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

При подозрении на вирус необходимо привести подозреваемый код к каноническому виду, подсчитать контрольную сумму и сравнить с эталоном.

Обнаружение изменений, или контроль целостности.

Контроль целостности основан на выполнении двух процедур:

· постановка на учет;

· контроль поставленного на учет.

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

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

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

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