Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Методы определения полиморфик-вирусов
На рис. 6 показана работа программы, инфицированной вирусом (а), и программы, инфицированной зашифрованным вирусом (б). В первом случае схема работы вируса выглядит следующим образом, идет выполнение программы, в какой-то момент начинает выполняться код вируса и затем опять идет выполнение программы. В случае с зашифрованной программой все сложнее. Идет выполнение программы, потом включается дешифратор, который расшифровывает вирус, затем отрабатывает вирус и опять идет исполнение кода основной программы. Код вируса в каждом случае зашифрован по-разному. Если в случае нешифрованного вируса эталонное сравнение позволяет «узнать» вирус по некоторой постоянной сигнатуре, то в зашифрованном виде сигнатура не видна. При этом искать дешифратор практически невозможно, поскольку он очень маленький и детектировать такой компактный элемент бесполезно, потому что резко увеличивается количество ложных срабатываний. В подобном случае прибегают к технологии эмуляции процессора (антивирусная программа эмулирует работу процессора для того, чтобы проанализировать исполняемый код вируса). Если обычно условная цепочка состоит из трех основных элементов: ЦПУ à ОС à Программа (рис. 7),— то при эмуляции процессора в такую цепочку добавляется эмулятор, о котором программа ничего не знает и, условно говоря, «считает», что она работает с центральной операционной системой. Таким образом, эмулятор как бы воспроизводит работу программы в некотором виртуальном пространстве или реконструирует ее оригинальное содержимое. Эмулятор всегда способен прервать выполнение программы, контролирует ее действия, не давая ничего испортить, и вызывает антивирусное сканирующее ядро.
Рис. 7 Схема работы эмулятора процессора Эвристический анализ Для того чтобы размножаться, вирус должен совершать какие-то конкретные действия, копирование в память, запись в сектора и т. д. Эвристический анализатор (который является частью антивирусного ядра) содержит список таких действий, просматривая выполняемый код программы, определяет, что она делает, исходя из этого приходит к выводу, является ли данная программа вирусом или нет. Принципиальное отличие эвристического анализатора от поведенческого блокиратора состоит в том, что последний не рассматривает программу как набор команд. Блокиратор отслеживает действия программы в процессе ее работы, а эвристический анализатор начинает работу до выполнения программы. Первый эвристический анализатор появился в начале 90-х годов.
Дата добавления: 2015-06-30; просмотров: 233; Нарушение авторских прав Мы поможем в написании ваших работ! |