Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Разрушающих программных средств




Классификация механизмов распознавания

 

Для рассмотрения существующих механизмов распознавания вредоносного кода выделим стадии жизненного цикла любой вредоносной программы. Ими являются следующие стадии:

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

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

Для классификации существующих механизмов распознавания РПС воспользуемся признаком активности вредоносной программы на момент ее анализа, т. е. рассмотрим механизмы распознавания в зависимости от того, на какой стадии жизненного цикла вредоносной программы данный механизм может функционировать. Выделим стадию, в которой находится вредоносный код (рис. 2.4).

К первой группе механизмов, распознающих наличие вредоносного кода в неактивном состоянии, относятся:

1) сигнатурные анализаторы;

2) инспекторы изменений;

3) эвристические анализаторы;

4) структурные анализаторы.

 

 

Рис. 2.4. Классификация механизмов распознавания
вредоносных программ

 

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

Выделяют два типа сигнатур:

1) сплошные, со строго определенной последовательностью байт. Например: Win 95/ WinVir -14 = a14001e87201baa801b9ae0290e82f01;

2) разряженные (регулярные), состоящие из нескольких сплошных сигнатур, между которыми располагается любое или строго определенное количество байт, значения которых могут быть любыми (Win 32/ Vir -3 = EB::3A::::1EEB::CD209CEB::CD20EB:: CD2060). Двоеточиями или знаками вопроса обычно обозначают произвольный байт данных.

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

1) поиск подстроки, представляющей собой сигнатуру, в файле;

2) поиск по контрольным суммам [5]. Особенностью данного подхода является то, что вместо сигнатуры длиной 10–12 байт в базе данных антивирусного средства хранится ее контрольная сумма длиной 4 байта, а также местоположение сигнатуры в зараженном файле. Очевидным преимуществом применения данной модификации сигнатурного поиска является существенно меньшая по занимаемому дисковому пространству база данных сигнатур;

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

Процесс распознавания вредоносных программ при сигнатурном анализе состоит в определении принадлежности (вхождении) любой сигнатуры, содержащейся в базе данных, антивирусного средства анализируемому файлу.

Очевидными достоинствами данного подхода являются:

100 %-процентное обнаружение известных антивирусному средству штаммов вредоносных программ;

высокая скорость анализа файлов.

Недостатками являются:

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

2) огромный размер базы данных антивирусной программы (~200–300 тыс. записей).

Инспекторы изменений – механизм распознавания разрушающих программных средств, позволяющий определить факт заражения файла по средствам вычисления контрольной суммы и сравнения ее с эталонной контрольной суммой файла [5].

В процессе обнаружения вредоносных программ при данном подходе необходимо вычислить контрольную сумму файла и сравнить ее с эталонной контрольной суммой. Следовательно, для программной реализации инспектора изменений необходимо наличие незараженных файлов для вычисления эталонной контрольной суммы. Данное ограничение инспекторов изменений делает возможным применение его только в совокупности с другими механизмами распознавания программ с потенциально опасными последствиями, в качестве механизма ускорения вторичного анализа файлов. При этом при первой проверке файлов применяется сигнатурный, эвристический или любой другой механизм распознавания вредоносных программ и если файл считается незараженным, то вычисляется его контрольная сумма и заносится в базу данных инспектора изменений. При последующих проверках файла на наличие вредоносного кода используется только проверка на соответствие контрольной суммы файла эталонной. Примерами применения данного механизма на практике являются технологии iChecker (AVP Касперского) и UltraFast (Panda Software).

Достоинства инспекторов изменений:

1) вероятность обнаружения известных, модифицированных или новых вредоносных программ стремится к 100 %;

2) высокая скорость анализа файлов.

Недостатки:

1) необходимо иметь базу данных эталонных контрольных сумм всех файлов, которую создать практически невозможно;

2) ряд файлов подвергаются постоянному изменению (например, файлы документов Microsoft Office), поэтому вычисление их контрольных сумм бессмысленно;

3) база данных инспекторов изменений огромна и составляет сотни тысяч записей.

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

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

В настоящее время выделяют два типа эвристических анализаторов [5, 14]:

1) статические, основанные на эвристическом анализе исследуемого файла без его выполнения (моделирование процесса выполнения);

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

Процесс распознавания вредоносных программ механизмом эвристического анализа состоит из следующих этапов:

1) определения "аномальности" структуры анализируемого файла: сопоставление точки входа в программу с последней секцией файла (точка входа, расположенная в последней секции файла, сигнализирует о его нестандартной структуре), количества секций, последовательности их следования, их названия и т. п.;

2) поиска сигнатур (подстрок), специфичных для вредоносного кода (например, поиск подстроки " *.exe ", являющейся шаблоном поиска жертвы исполняемого файла вирусом, и т. п.);

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

4) принятия решения о наличие факта заражения исследуемого файла.

Самым сложным этапом эвристического анализа является этап принятия решения о наличии вредосносного кода в исследуемом файле. Для решения данной задачи в настоящее время применяется несколько методов:

1) гистограммный;

2) основанный на поиске эвристических масок;

3) основанный на применении нейронных сетей.

Гистограммный метод по определению факта зараженности файла заключается в построении гистограмм встречаемости определенных событий при эмуляции программного кода [15]. Для определения факта зараженности исследуемого файла необходимо сформировать эталонные гистограммы для каждой разновидности вредоносных программ. Принятие решения осуществляется на основе совпадения всех условий эталонной гистограммы. Например, на рисунке 2.5 представлена гистограмма встречаемости пяти событий, произошедших в ходе выполнения некоторой программы. Файл считается зараженным, если одновременно выполняются следующие условия:

 

(1.4)

 

где A, B, C, D, E – некоторые события, произошедшие в процессе выполнения анализируемой программы.

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

 

 

Рис. 2.5. Гистограмма встречаемости пяти абстрактных событий,

произошедших во время выполнения программы

 

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

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

Впервые нейросетевой механизм обнаружения вредоносного кода был исследован компанией IBM для обнаружения загрузочных РПС [16]. При этом входной слой нейронной сети состоял из 50 нейронов, каждый из которых сигнализировал о наличии или отсутствии определенной триграммы байт, потенциально входящей в зараженный загрузочный сектор. Выходом нейронной сети являются 2 нейрона: первый сигнализирует о наличии вируса, второй – об его отсутствии.

Вероятность распознавания вирусов с применением данного механизма равна ~75 % при вероятности ложных срабатываний, равной 15–20 %. Очевидно, что данный подход не нашел широкого применения.

Поведенческие блокираторы ("проактивные" механизмы) – группа механизмов, осуществляющих распознавание разрушающих программных средств на стадии их активности [17, 18], основанное на контроле активности процессов в памяти. Очевидно, что данная группа механизмов обнаружения вирусов и программных закладок функционирует в тот момент времени, когда вредоносный код уже запущен и выполняет деструктивные функции.

Классы потенциально опасных операций, контролируемые поведенческими блокираторами:

1) запуск других приложений;

2) несанкционированное обращение к сети;

3) доступ к адресному пространству других приложений;

4) изменение конфигурации и перенастройка ОС (обращение к реестру);

5) аномальный файловый ввод/вывод.

Очевидными достоинствами такого подхода являются:

– возможность распознавания принципиально нового класса вредоносных программ или модифицированных штаммов программ с потенциально опасными последствиями;

– блокирование уже запущенных вредоносных программ;

– восстановление всех изменений, произошедших в процессе функционирования вредоносного кода.

Недостатками поведенческих блокираторов являются:

– высокая вероятность ложных срабатываний;

– включение пользователей в процесс принятия решений.

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

Существует несколько способов программной реализации антивирусных средств:

1) программы-детекторы определяют наличие вирусов в оперативной памяти, файлах и загрузочных секторах дисков, но не удаляют их. Эти средства достаточно распространены и основаны на сканировании памяти компьютера, файлов на дисках, загрузочных секторов дисков с целью обнаружения известных автору антивирусной программы типов вирусов. Важнейшей характеристикой таких программ является оперативность добавления возможности обнаружения новых типов вирусов в очередных версиях программы. Наиболее известными программами данного типа являются программы Dr.WEB, NOD 32, AVP Касперского и др.;

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

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

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 1386; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.