Эволюция технологий самозащиты вредоносных программ
«Лаборатория Касперского», ведущий разработчик систем защиты от вирусов, хакерских атак и спама, публикует аналитическую статью «Эволюция технологий самозащиты вредоносных программ» (с полной версией статьи можно ознакомиться на информационно-аналитическом портале Viruslist.com). Автор материала — один из ведущих антивирусных экспертов компании Алиса Шевченко.
В своей статье Алиса прослеживает пути зарождения «инстинкта самосохранения» вредоносных программ, эволюцию технологий их самозащиты под давлением все более жестких условий борьбы с антивирусами и оценивает дальнейшие перспективы развития этих технологий.
По мере развития систем противодействия вредоносным программам авторы последних вынуждены искать все новые способы, с помощью которых их творения могли бы защищать себя от антивирусов. Основные способы самозащиты вредоносных программ — затруднение детектирования антивирусами, затруднение анализа кода специалистами, сокрытие в системе и, собственно, нарушение работы защитного ПО (антивирусов, файерволов).
До последних лет работа антивирусов была основана исключительно на анализе кода файла, поэтому самозащита вредоносных программ начиналась с технологий модификации кода. В связи с этим появились полиморфизм и метаморфизм, позволяющие вредоносной программе полностью мутировать при создании своей копии, сохраняя функционал неизменным. Подобная метаморфоза значительно затрудняет ее детектирование. Шифрование и обфускация прежде всего нацелены на затруднение анализа кода, но, будучи реализованными определенным образом, они оказываются разновидностями полиморфизма.
Еще одним способом затруднения детектирования вредоносных программ антивирусным ПО является использование действующих по принципу архиваторов программ-упаковщиков (пакеров). Пакеры используются активно, растут их многообразие и изощренность упаковки кода. Многие современные упаковщики способны не только сжимать исходный файл, но и снабжать дополнительными функциями самозащиты, затрудняющими его распаковку и анализ при помощи отладчика.
Сокрытие в системе также помогает вредоносным программам защититься от детектирования. Впервые вредоносная программа стала невидимой в операционной системе DOS в 1990 году; данная технология получила название stealth-технологии. В начале 2000-х она возродилась на новом уровне в ОС Windows под именем rootkit-технологии. Чаще всего встречаются руткиты, механизм работы которых основан на модификации цепочки системных вызовов. Другой распространенный тип — руткиты, изменяющие системные данные. Вектор современного руткит-движения направлен в сторону виртуализации и использования функций оборудования.
Со временем полиморфизм и смежные с ним технологии потеряли свою актуальность. Это связано с развитием антивирусных технологий и вытеснением сигнатурных методов детектирования поведенческими, благодаря чему приемы модификации кода все меньше способны препятствовать обнаружению вредоносных программ антивирусами. Да и для большинства современных троянцев, не имеющих функции саморазмножения, полиморфизм в принципе не является эффективным способом самозащиты.
В связи с появлением поведенческих анализаторов вредоносным программам остается лишь «прицельно отстреливать» отдельные проявления или функции антивирусов. «Вне неизбежной необходимости этот способ самозащиты не был бы так популярен, поскольку он является слишком невыгодным с точки зрения обеспечения максимально универсальной защиты», — отмечает автор статьи.
Вместе с тем, технологии, затрудняющие анализ кода специалистами (в частности, обфускация), в отличие от полиморфизма, не теряют своей актуальности и сегодня.
Принципиальная уязвимость вредоносных программ перед поведенческими анализаторами антивирусных приложений задает вероятный вектор дальнейшей эволюции. А. Шевченко считает, что теперь вирусописатели будут учиться обходить поведенческий анализатор путем повышения «самоосознания» вируса.
Автор статьи делает прогноз, какие направления самозащиты вредоносных программ будут развиваться интенсивнее остальных:
- Руткиты. Невидимость в системе всегда дает преимущества — даже если уже не спасает от детектирования. Наиболее вероятно появление новых типов бестелых вредоносных программ и, немного позже, использование технологий виртуализации.
- Обфускация и шифрование. Затруднение анализа кода сохранит актуальность.
- Противодействие средствам защиты, основанной на поведенческом анализе. Здесь можно ожидать появления каких-то новых технологий, поскольку те, что используются сейчас (целевое нападение на антивирусы), не являются эффективными. Возможно, это будут какие-то способы детектирования виртуальной среды или некое шифрование поведенческих паттернов.
В заключение А. Шевченко рассуждает о том, что противостояние вирусописателей и антивирусных компаний (и, как следствие, беспокойство пользователей) — это своего рода «гонка вооружений», в которой достижения одной стороны неизбежно провоцируют активность другой. Полного прекращения гонки можно не ждать, но препятствовать ее ускорению вполне в силах всех трех сторон этого бессмысленного и бесконечного процесса.
