Сигнатурный антивирусный анализ – это один из методов антивирусной защиты, заключающийся в выявлении характерных идентифицирующих свойств каждого вируса и поиске вирусов при сравнении файлов с выявленными свойствами. Одним из важных свойств сигнатурного анализа является точное определение типа вируса. Это позволяет занести в базу как сигнатуры, так и способы лечения вируса.
Сигнатурой вируса называют совокупность тех или иных свойств, позволяющих однозначно идентифицировать нахождение вируса в файле, включая тот случай, когда сам файл является вирусом. В качестве сигнатуры атаки могут выступать: строка символов, семантическое выражение на специальном языке, формальная математическая модель и др.
Несмотря на стремительное развитие технологий, большая часть атак выявляется сигнатурным методом, и от того, насколько качественно пишутся сигнатуры, зависит точность работы всех методов, построенных на базе сигнатурного анализа (в том числе машинное обучение).
Заблуждение первое: сигнатуры — это что-то устаревшее
Обнаружение аномалий и признаков атак в сетевом трафике с использованием TCN-автокодировщика
Так исторически сложилось, что антивирусные базы в разговоре и даже статьях часто называют сигнатурами. В действительности же классические сигнатуры, пожалуй, ни один антивирус не использует уже лет 20.
Проблема возникла из-за того, что с самого начала — а это восьмидесятые годы — понятие «сигнатуры» не было определено четко. Например, отдельной статьи про них в «Википедии» нет даже сейчас, а в статье про вредоносные программы понятие «сигнатуры» используется без определения — как нечто всем известное.
Давайте же это определение дадим. Классическая вирусная сигнатура — это непрерывная последовательность байтов, характерная для той или иной вредоносной программы. То есть она содержится в этом вредоносном файле и не содержится в чистых файлах.
Современные антивирусы используют множество методов обнаружения и нейтрализации вредоносных программ. Самый старый и надежный из них — Сигнатурный метод. Сигнатура — в переводе означает подпись.
Принцип работы этого метода прост. Как вы знаете, каждая программа представляет собой набор байтов, причем этот набор у разных программ различается. Так вот, раньше вирусной сигнатурой называли последовательность байтов, характерную для вируса. Чтобы ее определить, необходимо было получить вирус, исследовать его в лаборатории и найти такую последовательность.
Сигнатурный анализ — одна из самых старых и востребованных технологий обеспечения защиты приложений. Связано это с тем, что атаки на веб-приложения в большинстве случаев производятся на основе уже известных уязвимостей с использованием готовых инструментальных средств.
Причем интенсивность таких атак в открытом интернете настолько велика, что публичные веб-приложения подвергаются им практически ежеминутно. В теории механизм защиты, основанный на машинном обучении и составляющий эталонную модель, перекрывает необходимость использования сигнатурного анализа.
Некоторые производители WAF в связи с этим отказываются от концепции наработок сигнатур. Однако есть ряд ситуаций, когда данный механизм защиты крайне полезен — например, в период обучения эталонной модели сигнатуры являются дополнительным рубежом защиты от эксплуатирования известных уязвимостей. Кроме того, запросы, которые были признаны нелегитимными, не подаются на вход процессу машинного обучения, что делает обучение более чистым. WAF должен обладать широкой и актуальной базой сигнатур для всех разновидностей веб-приложений. Более того, производителю желательно содержать собственный исследовательский центр, который будет агрегировать актуальные угрозы, чтобы своевременно формировать обновления.
Антивирусы и их применение.
Сигнатурный анализ файлов
Технология сигнатурного анализа применяется в различных сценариях защиты, где требуется быстрая идентификация объекта на наличие угрозы. В сценарии электронной почты она необходима для проверки вложенных файлов.
Глоссарий
Сигнатура – описанный фрагмент кода, однозначно идентифицирующий зловредный объект.
Статические данные – собранная информация об объекте без его исполнения. Технология обладает высокой обобщающей способностью и производительностью.
Гибкий хеш – строится на основе признаков таким образом, чтобы он был одинаков у группы файлов.
Область – часть пространства объектов, которой соответствует гибкий хеш, либо обученная модель.
Динамические данные – информация об объекте, собираемая в момент его исполнения или эмуляции, в том числе о его поведении.
Вредоносный сценарий – последовательность действий, реализующих атаку.
Ложное срабатывание – ошибочное заключение детектора о том, что чистый объект является вредоносным.
Уязвимость нулевого дня – допущенные ошибки в коде, позволяющие злоумышленнику использовать недокументированные возможности исполнения программы длякомпрометации системы, при это для исправления ошибок еще недоступен патч.
Поведенческий анализ – видит реальное поведение, а не предполагаемую (эмулируемую) картину действий, которая анализируется на этапе предотвращения вторжения.
Сам сигнатурный метод детектирования обладает рядом преимуществ, благодаря которым при анализе файлов он применяется первым. Вот основные из них:
высокая скорость детектирования;
минимальный уровень ложных срабатываний;
нетребовательность к вычислительным ресурсам защищаемого узла.
Такой метод детектирования ограничен количеством сигнатур, находящихся в пополняемой базе данных. По этой причине сигнатурный анализ работает в паре с анализом эвристическим.
Сигнатурный анализ
Термин «сигнатура» происходит от английского слова signature, означающего «подпись», или же в переносном смысле «характерная черта, нечто идентифицирующее».
Сигнатурный анализ заключается в выявлении характерных идентифицирующих черт каждого вируса и поиске вирусов путем сравнения файлов с выявленными чертами.
Сигнатурой вируса будет считаться совокупность черт, позволяющих однозначно идентифицировать наличие вируса в файле (включая случаи, когда файл целиком является вирусом). Все вместе сигнатуры известных вирусов составляют антивирусную базу.
Эта технология предполагает непрерывное отслеживание новых экземпляров зловредов, их описание и включение в базу сигнатур. Задачу выделения сигнатур, как правило, решают люди – эксперты в области компьютерной вирусологии, способные выделить код вируса из кода программы и сформулировать его характерные черты в форме, наиболее удобной для поиска. В наиболее простых случаях могут применяться специальные автоматизированные средства выделения сигнатур, например, для несложных по структуре троянов или червей, которые не заражают другие программы, а целиком являются вредоносными программами.
Практически в каждой компании, выпускающей антивирусы, есть своя группа экспертов, выполняющая анализ новых вирусов и пополняющая антивирусную базу новыми сигнатурами. По этой причине антивирусные базы в разных антивирусах отличаются. Тем не менее между антивирусными компаниями существует договоренность об обмене образцами вирусов, а значит, рано или поздно сигнатура нового вируса попадает в антивирусные базы практически всех антивирусов. Лучшим же антивирусом будет тот, для которого сигнатура нового вируса была выпущена раньше всех.
Часто для обнаружения семейства похожих вирусов используется одна сигнатура, и поэтому количество сигнатур не всегда равно количеству обнаруживаемых вирусов. Соотношение количества сигнатур и числа известных вирусов для каждой антивирусной базы свое. Если же учесть, что антивирусные компании обмениваются образцами вирусов, можно с высокой долей уверенности считать, что антивирусные базы наиболее известных антивирусов эквивалентны. Важное дополнительное свойство сигнатур – точное и гарантированное определение типа вируса. Это свойство позволяет занести в базу не только сами сигнатуры, но и способы лечения вируса.
Главные критерии эффективности сигнатурного метода – это скорость реакции на новые угрозы, частота обновлений, максимальное число обнаруженных угроз.
Главный недостаток сигнатурного метода – задержка при реакции на новые угрозы. Для получения сигнатуры необходимо иметь образец вируса. Создать его сигнатуру невозможно, пока вирус не попал на анализ к экспертам. Поэтому сигнатуры всегда появляются только через некоторое время после появления нового вируса.
С момента появления вируса в сети Интернет до выпуска первых сигнатур обычно проходит несколько часов, и все это время вирус способен заражать компьютеры почти беспрепятственно. Именно поэтому традиционный сигнатурный метод непригоден для оперативной защиты от вновь появляющихся вирусов.
Источник: swinopes.livejournal.com
Общие сведения
Антивирусные программы — это программы, основной задачей которых является защита именно от вирусов, или точнее, от вредоносных программ.
Методы и принципы защиты теоретически не имеют особого значения, главное чтобы они были направлены на борьбу с вредоносными программами. Но на практике дело обстоит несколько иначе: практически любая антивирусная программа объединяет в разных пропорциях все технологии и методы защиты от вирусов, созданные к сегодняшнему дню.
Из всех методов антивирусной защиты можно выделить две основные группы:
- Сигнатурные методы — точные методы обнаружения вирусов, основанные на сравнении файла с известными образцами вирусов
- Эвристические методы — приблизительные методы обнаружения, которые позволяют с определенной вероятностью предположить, что файл заражен
Сигнатурный анализ
Слово сигнатура в данном случае является калькой на английское signature, означающее «подпись» или же в переносном смысле «характерная черта, нечто идентифицирующее». Собственно, этим все сказано. Сигнатурный анализ заключается в выявлении характерных идентифицирующих черт каждого вируса и поиска вирусов путем сравнения файлов с выявленными чертами.
Сигнатурой вируса будет считаться совокупность черт, позволяющих однозначно идентифицировать наличие вируса в файле (включая случаи, когда файл целиком является вирусом). Все вместе сигнатуры известных вирусов составляют антивирусную базу.
Задачу выделения сигнатур, как правило, решают люди — эксперты в области компьютерной вирусологии, способные выделить код вируса из кода программы и сформулировать его характерные черты в форме, наиболее удобной для поиска. Как правило — потому что в наиболее простых случаях могут применяться специальные автоматизированные средства выделения сигнатур. Например, в случае несложных по структуре троянов или червей, которые не заражают другие программы, а целиком являются вредоносными программами.
Практически в каждой компании, выпускающей антивирусы, есть своя группа экспертов, выполняющая анализ новых вирусов и пополняющая антивирусную базу новыми сигнатурами. По этой причине антивирусные базы в разных антивирусах отличаются. Тем не менее, между антивирусными компаниями существует договоренность об обмене образцами вирусов, а значит рано или поздно сигнатура нового вируса попадает в антивирусные базы практически всех антивирусов. Лучшим же антивирусом будет тот, для которого сигнатура нового вируса была выпущена раньше всех.
Одно из распространенных заблуждений насчет сигнатур заключается в том, каждая сигнатура соответствует ровно одному вирусу или вредоносной программе. И как следствие, антивирусная база с большим количеством сигнатур позволяет обнаруживать больше вирусов. На самом деле это не так. Очень часто для обнаружения семейства похожих вирусов используется одна сигнатура, и поэтому считать, что количество сигнатур равно количеству обнаруживаемых вирусов, уже нельзя.
Соотношение количества сигнатур и количества известных вирусов для каждой антивирусной базы свое и вполне может оказаться, что база с меньшим количеством сигнатур в действительности содержит информацию о большем количестве вирусов. Если же вспомнить, что антивирусные компании обмениваются образцами вирусов, можно с высокой долей уверенности считать, что антивирусные базы наиболее известных антивирусов эквивалентны.
Важное дополнительное свойство сигнатур — точное и гарантированное определение типа вируса. Это свойство позволяет занести в базу не только сами сигнатуры, но и способы лечения вируса. Если бы сигнатурный анализ давал только ответ на вопрос, есть вирус или нет, но не давал ответа, что это за вирус, очевидно, лечение было бы не возможно — слишком большим был бы риск совершить не те действия и вместо лечения получить дополнительные потери информации.
Другое важное, но уже отрицательное свойство — для получения сигнатуры необходимо иметь образец вируса. Следовательно, сигнатурный метод непригоден для защиты от новых вирусов, т. к. до тех пор, пока вирус не попал на анализ к экспертам, создать его сигнатуру невозможно. Именно поэтому все наиболее крупные эпидемии вызываются новыми вирусами. С момента появления вируса в сети Интернет до выпуска первых сигнатур обычно проходит несколько часов, и все это время вирус способен заражать компьютеры почти беспрепятственно. Почти — потому что в защите от новых вирусов помогают дополнительные средства защиты, рассмотренные ранее, а также эвристические методы, используемые в антивирусных программах.
Источник: studfile.net
Принципы использования сигнатурного анализа для обнаружения вредоносных программ
Статья посвящена описанию принципов обнаружения вредоносных программ методом сигнатурного анализа и его применению в работе антивирусных систем.
Сигнатурный анализ является одним из методов обнаружения вредоносных программ (вирусов, троянских коней, червей и т.п.) и используется во многих современных антивирусных системах (АВС). Этот метод обнаружения вирусов заключается в проверке наличия в принимаемых файлах сигнатур вирусов.
Для проведения проверки АВС необходим набор сигнатур вредоносных программ -далее по тексту вирусов, который хранится в антивирусной базе системы.
Сигнатурой вируса можно считать совокупность черт, позволяющих однозначно идентифицировать наличие вируса в файле (включая случаи, когда файл целиком является вирусом). Такая сигнатура должна содержать только уникальные строки из этого файла, настолько характерные для вируса, чтобы гарантировать минимальную возможность ложного срабатывания.
С одной стороны, для того чтобы повысить вероятность правильной диагностики вируса, сигнатура должна быть достаточно длинной — как минимум 8-12 байт, а еще лучше 64 байта. С другой стороны, учитывая огромное число существующих к настоящему моменту вирусов (сотни тысяч), увеличение длины сигнатуры увеличит и без того большой объем базы данных сигнатур.
В общем случае метод, основанный на анализе сигнатур, реализуется следующим образом [1]. Поддерживается база данных сигнатур для известных атак с возможностью пополнения без потерь в производительности. В результате анализа происходит сопоставление регистрируемой последовательности событий известным сигнатурам атак. В случае соответствия выдается сигнал о попытке вторжения.
Дальнейшие действия определяются алгоритмами модуля реакции: удаление вируса или оповещение. Рассмотрим принцип сигнатурного анализа на следующем примере. Пусть поток входных данных (событий) имеет вид:
Пусть теперь распознавание происходит относительно сигнатуры:
Тогда, в случае работы алгоритма по правилам дискретной аппроксимации получим:
A xx^DxA xxCxxxх.
х — обозначает отсутствие символа, образующего сигнатуру в потоке исходных данных. Т.е. атака распознана. Стоит отметить, что в случае использования правила «немедленного следования» распознавания бы не произошло.
Поиск вирусных сигнатур на уровне битов можно в простейшем случае представить в виде алгоритма поиска строки в тексте. Простейшую процедуру поиска подстрок можно
интерпретировать графически как скольжение «шаблона» с образцом по тексту, в процессе которого отмечается, для каких сдвигов все символы шаблона равны соответствующим символам текста.
Эти определения проиллюстрированы на рисунке 1. В примере, представленном на рисунке, предлагается найти все вхождения образца Р=аЬаа в тексте Т=аЬсаЬааЬсаЬас. Образец встречается в тексте только один раз, со сдвигом s=3. Говорят, что сдвиг s является допустимым. Каждый символ образца соединен вертикальной линией с соответствующим символом в тексте.
Рис. 1. Задача поиска подстрок
Рассмотрим работу простейшего файлового вируса, поражающего .EXE-файлы и не являющегося резидентным. Получив управление при запуске зараженной программы, вирус ищет на доступном диске файлы с расширением .EXE. Найдя подходящий файл, вирус записывает свой код за последним оператором (т.е. в «хвост») этой программы, а затем на место первых трех байт этой программы записывает код короткого перехода по адресу входа в свою программу, предварительно сохранив исходные три байта в своей внутренней области данных или в стеке.
Чтобы найти в теле вируса последовательность кодов, которую можно было использовать в качестве сигнатуры, прежде всего, нужен двоичный (исполняемый) код вируса. Такой код можно получить, оттранслировав вирус с помощью макроассемблера. При этом макроассемблером необходимо создать листинг данного вируса, поскольку листинг содержит как ассемблерные команды, так и перемещаемый двоичный код [2].
Полученная в результате сигнатура (двоичный код) вируса может быть использована в качестве образца Р при решении задачи поиска подстроки. При совпадении сигнатуры образца и соответствующего фрагмента текста, можно говорить о наличии вируса в исходном тексте и принимать меры к его изоляции.
Литература
1. Корт С.С. Теоретические основы защиты информации. — М.: Гелиос-АРВ, 2004 (печатное издание).
2. Хижняк: П.Л. Пишем вирус и. антивирус. / Под общей редакцией И.М.Овсянниковой. — М: ИНТО, 1991. — 90 с.
ОБНАРУЖЕНИЕ ВИРУСОВ СИГНАТУРНЫЙ АНАЛИЗ СИГНАТУРА ВИРУСА ВРЕДОНОСНАЯ ПРОГРАММА virus detection signature analysis virus signature malware
Источник: uchimsya.com