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

Антивирусное программное обеспечение обычно использует два отличных друг от друга метода для выполнения своих задач:

1. Обнаружение подозрительного поведения любой из программ, похожего на поведение заражённой программы

2. Сканирование файлов для поиска известных вирусов, соответствующих определению в антивирусных базах.

 

Методы, которые используют антивирусные средства




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

Рассмотрим эти методы.

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


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

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

Определение сигнатуры вируса очень сложная задача. Необходимо тщательно изучить принцип работы вируса и сравнить программы, зараженные данным вирусом, и незараженные. Кроме того, сигнатура не должна содержаться в других программах, иначе возможны ложные срабатывания.

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

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

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

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

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

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


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

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

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

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

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

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


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

4. Метод резидентного сторожа.


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

5. Вакцинирование программ.


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

Что такое ложные тревоги?

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

Ложные тревоги делят на два типа:

· ложная позитивная (положительная);

· ложная негативная (отрицательная).

Ложная позитивная тревога - это когда антивирусное средство сообщает о наличии вируса, а на самом деле его нет.

Ложная негативная тревога - это когда антивирусное средство говорит, что вируса нет, а на самом деле он есть.

Некоторые специалисты ложные тревоги называют ошибками антивирусов, причем ложные негативные тревоги (несрабатывания) называются ошибками первого рода, а ложные позитивные тревоги - ошибками второго рода.

В идеале антивирус должен обнаруживать все возможные вирусы и не должен вызывать ложных тревог.

НОВОЕ НА САЙТЕ

28 апреля 2017 года

Компания «Доктор Веб» информирует об обновлении обслуживания перехвата трафика Dr.Web Net filtering Service (11.1.11.04270) в ряде прод... Антивирус Dr.Web

28 апреля 2017 года

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

28 апреля 2017 года

В апреле был найден Android-троянец, предназначенный для кибершпионажа. тоже в прошедшем месяце в каталоге гугл Play было выявлено чуточку банкеров... Вирусные новости

26 апреля 2017 года

Компания «Доктор Веб» информирует об обновлении агента SpIDer Agent for Windows (11.0.12.04210), управляющего обслуживания Dr.Web Contr... Антивирус Dr.Web

20 апреля 2017 года

Компания «Доктор Веб» предостерегает об обнаружении новейшей уязвимости в пользующемся популярностью офисном пакете Microsoft Office. О... Горячая лента угроз и предупреждений о вирусной опасности!

20 апреля 2017 года

Компания «Доктор Веб» информирует об обновлении ингридиента Dr.Web Enterprise Agent for Windows setup (11.0.3.04181) в продукте Dr.Web ... Антивирус Dr.Web