Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вирусы-антивирусники.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
115.71 Кб
Скачать

Алгоритм «сравнение с эталоном»

Самый старый алгоритм — это алгоритм, в котором вирус определяется классическим ядром по некоторой маске. Смысл данного алгоритма заключается в использовании статистических методов. Маска должна быть, с одной стороны, маленькой, чтобы объем файла был приемлемых размеров, с другой стороны — настолько большой, что­бы избежать ложных срабатываний (когда «свой» воспринимается как «чужой», и на­оборот).

Алгоритм «контрольной суммы»

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

Рис. 6 Схемы работы программы, инфицированной незашифрованным вирусом, и программы,

инфицированной зашифрованным вирусом

Методы определения полиморфик-вирусов

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

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

В подобном случае прибегают к технологии эмуляции процессора (антивирусная програм­ма эмулирует рабо­ту процессора для того, чтобы проана­лизировать испол­няемый код виру­са). Если обычно условная цепочка состоит из трех ос­новных элементов: ЦПУ ОС Программа (рис. 7),— то при эмуляции процессора в такую цепочку добавляется эмулятор, о котором программа ничего не знает и, условно говоря, «считает», что она работает с центральной операционной систе­мой. Таким образом, эмулятор как бы вос­производит работу программы в некотором виртуальном пространстве или реконструиру­ет ее оригинальное содержимое. Эмулятор всегда способен прервать выполнение про­граммы, контролирует ее действия, не давая ничего испортить, и вызывает антивирусное сканирующее ядро.

Рис. 7 Схема работы эмулятора процессора

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

Для того чтобы размножаться, вирус должен совершать какие-то конкретные действия, ко­пирование в память, запись в сектора и т. д. Эв­ристический анализатор (который является частью антивирусного ядра) содержит список таких действий, просматривая выполняемый код программы, определяет, что она делает, исходя из этого приходит к выводу, является ли данная программа вирусом или нет. Прин­ципиальное отличие эвристического анализа­тора от поведенческого блокиратора состоит в том, что последний не рассматривает про­грамму как набор команд. Блокиратор отсле­живает действия программы в процессе ее ра­боты, а эвристический анализатор начинает работу до выполнения программы. Первый эв­ристический анализатор появился в начале 90-х годов.