Проактивную антивирусную защиту, HIPS (Host-based Intrusion Prevention System, англ. «система предотвращения вторжений»), также можно отнести к разновидности антивирусной защиты на основе поведенческого анализа. Антивирус следит за запущенными приложениями и информируют пользователя о тех или иных действиях приложения. Решение о том, позволить или запретить программе выполнять какое-либо действие, принимает пользователь. Это — классический вариант реализации HIPS. Существует еще так называемый экспертный вариант, при котором антивирус самостоятельно блокирует действия тех или иных приложений на основе набора заложенных в него правил и разрешений. Пользователь может при необходимости добавить какую-либо программу в список исключений, разрешив ей выполнение тех или иных действий в защищаемой системе.
Методики противодействия антивирусам
К сожалению, борьба вирусописателей и производителей антивирусных программ носит перманентный характер: первые непрерывно изобретают все новые способы обхода антивирусной защиты, вторые стараются совершенствовать алгоритмы поиска и обнаружения вредоносного ПО. Давайте перечислим основные методики, которыми пользуются злоумышленники для противодействия антивирусным приложениям.
Переупаковка
Это самый распространенный и популярный метод, активно применяемый вирусописателями для обхода сигнатурного детекта. Как я уже упоминал, сигнатура является своего рода аналогом «отпечатков пальцев» каждого конкретного файла, при этом она уникальна для файлового объекта. Соответственно, если в файл будут внесены даже незначительные изменения, антивирус не сможет «опознать» его с помощью сигнатуры, и такой файл не будет детектироваться антивирусом до тех пор, пока не попадет в исследовательскую лабораторию антивирусной компании.
Наиболее простой способ изменить структуру файла, не меняя его функциональных возможностей, — «накрыть» его программным упаковщиком. Программные упаковщики сжимают содержимое файла приложения и дописывают к нему код, необходимый для распаковки и выполнения программы. Некоторые из них к тому же включают различные функции шифрования, затрудняющие анализ и исследование подобного приложения. Этим и пользуются злоумышленники.
При каждой повторной упаковке файла его сигнатура меняется и он становится «невидимым» для системы сигнатурного детектирования антивируса. Некоторые вирусописатели для затруднения исследования вируса или троянца упаковывают и шифруют свои творения в «несколько слоев» — тогда под одним упаковщиком прячется другой сжатый и зашифрованный объект, под ним — еще один, и вся конструкция напоминает в итоге этакую логическую «матрешку», добраться до «сердцевины» которой бывает порой весьма непросто.
Иногда киберпреступники применяют и иной метод: на сервере, с которого жертвам раздается вредоносное ПО, устанавливается специальный сценарий. При активизации этого сценария (например, при переходе пользователя по ссылке) скрипт извлекает из соответствующей директории сервера бинарный файл вируса или троянца, упаковывает его «на лету» и только после этого «отдает» его пользователю. Таким образом каждая жертва получает свой собственный, уникальный, экземпляр вредоносной программы, гарантированно не детектируемой по сигнатуре.
Обфускация
Обфускация (от англ. obfuscate — «запутывать», «сбивать с толку») — сознательное запутывание, усложнение кода вредоносной программы с сохранением ее функциональности в целях затруднения ее исследования и анализа. Для обфускации вирусописатели иногда добавляют в приложение различный «мусорный» код, ненужные инструкции, множественные переходы или вызовы различных функций и т. д. Существуют специальные утилиты — обфускаторы , созданные для запутывания кода приложений.
Обфускация приложений затрудняет реверс-инжиниринг, то есть декомпиляцию вредоносной программы и изучение ее функциональных возможностей на уровне кода, однако одновременно с этим усложняет вирусописателям отладку приложения, а в некоторых случаях увеличивает его размер и снижает быстродействие.
Антиотладка
Большинство современных вредоносных программ оснащено различными мощными механизмами антиотладки, препятствующими их исследованию. Ряд вирусов и троянцев в момент начала работы проверяют, не пытаются ли их запустить в изолированной среде («песочнице»), под отладчиком или в виртуальной машине. Осуществляется это разными методами, например попытками получить имена работающих процессов (и их сравнением с заданным списком), поиском характерных строк в заголовках открытых окон и т. д. Если вредоносное приложение определяет попытку запуска в виртуальной среде или под отладчиком, оно завершает свою работу.
Читать дальше
Конец ознакомительного отрывка
Купить книгу