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

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 87

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

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

ГЛАВА 1. ОБЗОР СУЩЕСТВУЮЩИХ ПОДХОДОВ ОБНАРУЖЕНИЯ ВПО И СПОСОБОВ ПРОТИВОДЕЙСТВИЯ ИМ

1.1 Методы обнаружения вредоносных программ

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


Поэтому современные антивирусы используют значительно более продвинутые методы. В силу того, что термин сигнатура появился еще в 80е годы 20го века многие пользователи считают технологию устаревшей, однако это не так. Антивирусная запись — это запись, а стоящая за ней технология может быть, как классической, простенькой, так и суперсовременной, и навороченной, нацеленной на детектирование самых запутанных и высокотехнологичных вредоносных файлов или даже целых семейств ВПО. Поэтому важно иметь в виду, что само по себе слово «сигнатура» на самом деле не говорит ничего о продвинутости или примитивности, однако все это продолжают по старинке называть сигнатурами. Теперь, имея представление о том, что такое сигнатура, вернемся к самому методу обнаружения. Обнаружение, основанное на сигнатурах ни что иное как сравнение исследуемого файла или пакета с записями в антивирусных базах – сигнатурами.

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

Статический программный анализ приложения – еще один из методов обнаружения ВПО. Данный метод заключается в анализе ПО без непосредственного запуска исследуемой программы. Зачастую подвергается анализу какая-либо версия исходного кода, однако анализ некоторых форм объектного кода также возможен. Хочется отметить, что наравне со статическим программным анализом существует ручной анализ – непрограммный. Несмотря на схожесть этих методов не стоит их путать. Главное отличие заключается в том, что статический программный анализ осуществляется при помощи специализированного ПО в то время как ручной анализ ни что иное как систематическая проверка исходного кода разработчиком.

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


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

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

Еще один из наиболее популярных в наши дни методов обнаружения ВПО - Эвристический анализ. Он используется для детектирования ранее неизвестных компьютерных вирусов, а также новых вариантов ВПО, уже существующих на просторах интернета. Данный вид анализа, по сути, представляет собой экспертную систему, которая определяет степень восприимчивости системы по отношению к конкретной угрозе/риску при помощи различных правил принятия решений или весовых методов.

Многокритериальный анализ – один из способов «взвешивания», который отличается от статического анализа, опирающегося на доступную информацию/статистику.

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

1.2. Способы борьбы с методами обнаружения угроз

Первое, что приходит на ум и о чем сразу хочется упомянуть это – Обфускация. Все гениальное просто и яркий тому пример – обфускация кода. Если стоит задача не быть обнаруженным, то нет ничего проще и логичней, чем просто взять и «запутать» код с сохранением его функциональности. Сразу становится очевидно, что обнаружение с использованием сигнатур не способно оказать достойного сопротивления обфусцирофанному объекту. Статистический и ручной анализ также существенно осложняются, что также является плюсом для этого метода. Подводя итог, мы имеем метод, который затрудняет статический анализ и изменяет хеш-сигнатуры бинарного файла. Данная техника позволяет обойти приличное число антивирусов, но конечный успех зависит от глубины обфускации.


Использование упаковщика – следующий метод противодействия обнаружению. Его суть, как и в случае с обфускацией, довольно проста. Упаковщик сжимает исходный файл и объединяет сжатые данные с кодом распаковки в один исполняемый файл. Когда сжатый исполняемый файл запускается, вначале программа распаковки воссоздает первоначальный код из сжатого файла, после чего происходит выполнение. Стоит заметить, что при таком случае защиты от обнаружения для эффективной работы антивирусам необходимо, сканируя упакованный образец ВПО, определить алгоритм сжатия и распаковать исполняемый файл. В свою очередь злоумышленник будет стремиться сделать все, чтоб максимально осложнить жизнь антивирусным программам. Поскольку упакованные файлы сложнее проанализировать, отсюда следует немаловажное требование к самому упаковщику – непроприетарность. Подводя итог, мы имеем еще один метод, который значительно усложняет статистический анализ, а при должной подготовке (наличие «незасвеченного» упаковщика) оставляет метод обнаружения с использованием сигнатур без единого шанса на обнаружение. Однако стоит отметить тот факт, что при упаковке объекта значительно возрастает его энтропия, что делает объект довольно подозрительным для метода обнаружения ВПО с использованием энтропии.

Мы не будем подробно останавливаться на крипторах, пермутации и генерации мусора, а лишь упомянем об этих методах. Каждый из них имеет право на жизнь, но выделять их как самостоятельные методы в этой работе нецелесообразно, так как генерация мусора и пермутация напрямую относятся к методу обфускации кода, а использование крипторов ни что иное, как упаковка с использованием алгоритмов шифрования вместо алгоритмов сжатия. Для уточнения скажем, что генерация мусора, как следует из названия, метод усложняющий анализ кода посредствам добавления «ненужных» инструкций, а пермутация – это перестановка логических блоков в теле ВПО с целью повысить нагрузку на движок антивируса.

Следующий метод защиты от обнаружения является симбиозом вышеперечисленных методов. Он заключается в том, что для упаковки ВПО каждый раз используется новый ключ, чаще всего зависимый от каких-либо параметров атакуемого объекта, например, от объема файла. Также этот метод допускает использование технологии обфускации, генерации мусора и пермуатации. В итоге мы имеем метод, использование которого позволяет бороться почти со всеми вышеперечисленными методами обнаружения ВПО. Постоянно меняющаяся энтропия, изменения сигнатур и приемы обфускации создают серьезные проблемы в задаче обнаружения, однако не все способы обнаружения остались беззащитны. Все также опасным остается эвристический метод, а также существует вероятность выявления сигнатур декриптора, что позволит посредствам добавления их в базы антивирусов сделать метод обнаружения с использованием сигнатур снова эффективным.


Учитывая слабости полиморфизма, был придуман еще более надежный метод защиты от обнаружения. Им стала эволюционировавшая версия полиморфизма – метаморфизм. Стремясь избавиться от слабости в виде постоянных сигнатур декриптора, было найдено решение – генерация нового кода декриптора в каждом новом поколении вирусов. ВПО подобного типа получило название MtE-вирусы.

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

Имея существенную угрозу в виде песочницы, перед злоумышленниками стоял вопрос о методе противодействия. Таким методом стала «антипесочница». Идея метода, следующая: при попадании в систему необходимо было определить является ли она виртуальной. Если выяснялось, что имеет место виртуализация, проявление деструктивных свойств откладывалось либо по заданному таймеру, либо до выхода из виртуальной среды. В итоге, можно сделать вывод о том, что и наличие песочницы не гарантирует обнаружения ВПО. Метод «антипесочницы» почти не имеет ценности как самостоятельный алгоритм, зато является очень важным элементом при построении комплексной системы защиты от обнаружения.

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

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

Антивирус лаборатории Касперского – Internet Security 2017