Что такое поведенческий анализ в антивирусе
Мы поговорим о поведенческом анализе в современных ИБ-системах, насколько эта тема актуальна и востребована и откуда она возникла. В последнее время с легкой подачи Gartner термин UEBA (user and entity behavior analytics) или поведенческий анализ пользователей и сущностей как процесс кибербезопасности для детектирования внутренних угроз, атак или мошенничества, обрел высокую популярность среди вендоров и специалистов в сфере информационной безопасности.
Давайте попробуем разобраться, что же такое UEBA. Новый класс решений? Новый модуль в существующих решениях? Какие вообще задачи возлагаются на UEBA системы? Какие цели преследуются?
Итак, основные цели UEBA – оптимизация расследования инцидентов за счет сокращения времени расследования и числа сотрудников . Еще одна цель – повышение качества выявления инцидентов. То есть, по сути, предотвращение инцидентов, которые могут произойти в компании. И отсюда следует еще одна цель – прогнозирование или управление рисками информационной безопасности.
Причины актуальности и востребованности
В первую очередь, сильно возросло количество данных, с которыми приходится ежедневно работать офицерам ИБ. Развиваются технологии Big Data, причем не только как часть систем ИБ, но и систем, которые нужно защищать. В то же время растет компетенция злоумышленников, а атаки, которые изо дня в день проводятся с целью хищения информации или ее модификации в информационных системах принимает все более завуалированный вид. Их становится крайне сложно отличить от штатного, легитимного поведения пользователей. При этом даже обгоняя темпы роста угроз к информационным системы росли и системы защиты. Совокупность этих факторов привела к появлению нового класса решений, модулей информационной безопасности, которые и называются UEBA.
Из истории UEBA
На самом деле технология далеко не нова, IDS-системы или WAF – в середине 2000-х применяли поведенческий анализ к построению логики своей работы. Если мы говорим про IDS, они строили профили по хостам, WAF-системы с самого начала предполагали работу по построению профилей пользователей, того, как взаимодействуют пользователи - учетные записи с URL защищаемых систем.
Сейчас же появляются новые области и новые типы систем, в которые эта технология внедряется. А внедряться он стал потому, что появилась необходимость и техническое подкрепление для того, чтобы ее можно было внедрить.
Какие же были технические предпосылки для массового распространения технологии UEBA
Довольно частый - привычный подход к обеспечению информационной безопасности заключался в трех аспектах:
- Построение правил – политик безопасности.
- Работа системы с сигнатурами – те правила, которые заложил тот или иной вендор, обладая своей компетенциейв решении определенных задач.
- Человеческий анализ данных, которые попали под правила илипод сигнатуры.
Руководствуясь таким подходом можно решать только те задачи, которые подпали под ранее созданные правила. Несколько улучшило этот подход, минусы которого очевидны, внедрение систем класса Big Data. Точнее внедрение вендорами этой технологии в системы информационной безопасности. Это дало немного развязать руки сотрудникам информационной безопасности, потому что пропала жесткая необходимость настраивать те правила, по которым система должна сработать.
А учитывая, что у нас есть громадный архив перехваченной информации, и в случае если мы заранее не знаем информацию об инциденте и не можем ее описать с помощью политик безопасности мы этот инцидент можем расследовать с помощью ретроспективного анализа. Системы класса Big Data дали скорость поиска, но в то же время оставались «слепыми» перед более изощренными злоумышленниками. Поэтому логичным развитием такого подхода стало появление новых механизмов машинного обучения и поведенческого анализа в системах информационной безопасности. Как раз подобные системы и есть системы класса UEBA.
Отдельное решение или модуль в прикладных системах защиты?
Прежде чем говорить о том, что это за «серебряная пуля», которая будет решать любые задачи безопасности и не требовать при этом человеческих ресурсов, давайте посмотрим, что же такое UEBA – это отдельная система безопасности или часть тех больших прикладных систем защиты, которые уже есть в компаниях.
Одни эксперты говорят, что UEBA - это умная SIEM-система, в которую включена логика построения профилей не только пользователей, но и любых сущностей и возможность выявления отклонений для этих профилей. Другие говорят, что лучшим подходом является внедрение модулей UEBA в прикладные системы защиты.
Но идеальных универсальных систем на самом деле не существует, никакая SIEM-система не будет эффективно работать до тех пор, пока не будет подготовлены данные, которые мы сможем на нее подавать. Нет компаний, где кроме SIEM-системы не стоит ни одной прикладной системы информационной безопасности. С подходом UEBA ситуация такая же – когда мы внедряем в SIEM самый «умный» движок, которая позволяет выявлять отклонения, главная задача будет – подать на эту систему события, на основе которых она будет обучаться. Тут возникает вопрос, кто будет этим заниматься? Как раз прикладные системы, которые защищают целевые информационные системы в компании.
Поэтому логичным подходом будет интеграция модулей UEBA с целью усиления прикладных решений информационной безопасности.
Рассмотрим UEBA в разрезе прямой пользы для пользователя как перечень функциональных возможностей прикладной системы защиты информации. Для многих прикладных систем UEBA состоит из двух частей:
- Модель обучения – копит статистику по каждому пользователю в течение большого промежутка времени,строит профиль его работы.
Под выявлением отклонений понимаются две вещи: первая – принцип белых и черных списков, как и в старом подходе построения систем защиты данных, но в чем плюс, тут он строится в автоматическом режиме и строится под каждого пользователя. Тут нет необходимости строить черный список таблиц, к которым не должны подключаться, нет белого списка IP-адресов, к которым должны идти подключения систем и приложений. Система сама их строит и адаптируется под каждого пользователя. Понимая, где администратор, где рядовой пользователь, где сотрудник бухгалтерии, а где человек, который работает в клиентском отделе банка, например, и обслуживает клиентов. Все мы понимаем, что специфика их работы с данными, по сути, отличается.
Большой плюс системы с модулем UEBA - она автоматически настраивает политики безопасности точечно, причем под любого человека, который работает с системой, которого вы как сотрудник безопасности могли даже не знать.
В режиме выявления отклонений эти политики начинают автоматически проверять каждое действие, и если оно не подходит под среднестатистическую модель работы данного пользователя, система уведомляет офицера ИБ о случившемся инциденте.
Это всего один из примеров подхода по применению модуля UEBA в выявлении инсайдеров, то есть выявления фактов, когда люди, обладая легитимным доступом к данным начинают нестандартно работать, делать больше запросов или получать информацию по тем людям, по которым раньше не получали.
Такие задачи, конечно, можно решить альтернативным путем, но на это уйдет гораздо больше времени. Но одна из основных целей внедрения UEBA, согласно Gartner, - повышение качества решения задач при уменьшении времени на их решение.
В каком направлении эти системы будут развиваться?
Является ли UEBA панацеей от любых проблем, связанных с информационной безопасностью? Скорее, нет. Но то, что будут однозначно полезны для служб безопасности в практическом использовании – однозначно, да. Более того, внедрение этой технологии в любые прикладные системы защиты информации – это дело небольшого количества времени. И уже в ближайшие 2-3 года использование модуля UEBA в продуктах информационной безопасности станет привычным для работы сотрудников по информационной безопасности.
Формально, система поведенческого анализа антивируса - это механизм, построенный на технологии принятия решения о предоставлении доступа на основе анализа характера выполняемых объектом или программой действий. И, вероятно, для вас, читающих данные слова, эта фраза может звучать несколько пугающе, непонятно и слишком общо. Поэтому в рамках данной статьи будут изложены и пояснены некоторые важные аспекты, которые позволят даже самому начинающему пользователю понимать "что значат эти слова на самом деле".
Ложные обнаружения системами поведенческого анализа антивирусов
Как вы, наверное, уже поняли, системы поведенческого анализа антивирусов представляют из себя некий набор предположений и механизм по их отслеживанию. Но, там где есть предположения, всегда будет вероятность наличия ошибок или недочетов (неучтенных моментов). Так, например, антивирус может заблокировать одну из неизвестных антивирусу утилит безопасности (популярные средства безопасности обычно вносятся в специальный список исключений) просто потому, что утилита попыталась выполнить свое прямое назначение - повысить уровень безопасности, путем изменения настроек защиты операционной системы или, скажем, браузера. Или, например, если брать те же документы, то некоторые макросы специально могут перед закрытием документа вносить корректировки в соседние документы для автоматической синхронизации данных (скажем, запись значений ячеек таблиц из одной книги Excel в соседние книги). Такие действия система поведенческого анализа легко может посчитать вирусными и заблокировать. Если вам интересно, то в интернете можно найти массу казусов на этот счет.
Для решения таких "неказистых" ситуаций применяются разные средства, начиная от пользовательских списков исключений программ и заканчивая режимами обучения с профилями. Тем не мене, какой бы механизм не применялся для минимизации ложных обнаружений, вероятность последнего всегда будет существовать. В этом смысле проверка по базе сигнатур более выгодна (более подробно о ложном обнаружении антивирусами).
Теперь, вы знаете о системах поведенческого анализа антивирусов немного больше и не будете путаться в больших и громоздких словах.
— методика проверки приложения на потенциальную вредоносность: если ПО делает что-то, выходящее за пределы набора «допустимых» действий, антивирус блокирует его работу.
Поведенческий анализ
Помимо сигнатурного детектирования, большинство современных антивирусных программ используют те или иные механизмы поведенческого анализа. Поведенческий анализ можно отнести к разновидности вероятностного анализа — как это и следует из названия данного метода, антивирусная программа следит за поведением приложений и, если оно кажется ей подозрительным, блокирует работу потенциально опасной программы.
Один из безопасных методов исследовать поведение приложения — запустить его в так называемой песочнице (sandbox) — защищенном изолированном виртуальном контейнере, из которого приложение не может получить доступ к компонентам ОС и файловой системе. Если поведение программы вызывает у антивируса подозрения, например она выполняет инжект, модифицирует загрузочную запись или изменяет структуру исполняемого файла, она может быть признана потенциально опасной или вредоносной.
Как антивирусные компании пополняют базы?
Применительно к современным антивирусным технологиям само понятие «антивирус» — это скорее дань моде, нежели термин, правильно отражающий суть вещей. Классические файловые вирусы, то есть вредоносные программы, способные заражать исполняемые файлы или динамические библиотеки и распространяться без участия пользователя, сегодня очень большая редкость. Подавляющее большинство встречающихся сейчас в «дикой природе» вредоносов — это трояны, не способные ни к заражению файловых объектов, ни к саморепликации. Чуть реже в руки аналитиков попадаются черви: эти программы могут создавать свои копии на съемных носителях или сетевых дисках, «расползаться» по сети или каналам электронной почты, но файлы заражать не умеют. Все остальные традиционные категории вредоносного ПО отличаются друг от друга лишь базовым набором функций, но по своей архитектуре могут быть сведены к этим трем группам.Как образцы вредоносов попадают в вирусные лаборатории?
Каналов поступления новых семплов у антивирусных компаний традиционно несколько. Прежде всего, это онлайн-сервисы вроде VirusTotal, то есть серверы, на которых любой анонимный пользователь может проверить детектирование произвольного файла сразу десятком самых популярных антивирусных движков. Каждый загруженный образец вне зависимости от результатов проверки автоматически отправляется вендорам для более детального исследования. Очевидно, что с подобных ресурсов в вирусные лаборатории прилетает огромный поток мусора, включая совершенно безобидные текстовые файлы и картинки, поэтому на входе он фильтруется специально обученными роботами и только после этого передается по конвейеру дальше. Этими же сервисами успешно пользуются небольшие компании, желающие сэкономить на содержании собственных вирусных лабораторий. Они тупо копируют в свои базы чужие детекты, из-за чего регулярно испытывают эпические фейлы, когда какой-нибудь вендор в шутку или по недоразумению поставит вердикт infected на тот или иной компонент такого антивируса, после чего тот радостно переносит в карантин собственную библиотеку и с грохотом валится, вызывая баттхерт у пользователей и истерический хохот у конкурентов.
Второй канал — «самотек», подозрительные файлы, которые пользователи передают в вирлаб через сайт антивирусной компании, по запросу службы поддержки или выгружают из карантина.
Третий канал — ханипоты, специальные приманки для вирмейкеров в виде виртуальных серверов с открытыми наружу портами и логинами-паролями вроде root/root, куда некоторые ботоводы радостно заливают свои творения, дивясь криворукости админов. Наконец, четвертый путь — обмен базами между самими вендорами, но в последние годы в силу обострившейся конкуренции на рынке и сузившейся кормовой базы кооперация между антивирусными компаниями практически сошла на нет.После того как семпл попадает в вирусную лабораторию, он сортируется по типу файла и исследуется автоматическими средствами аналитики, которые могут установить вердикт по формальным или техническим признакам — например, по упаковщику. И только если роботам раскусить вредоноса не удалось, он передается вирусным аналитикам для проведения инструментального или ручного анализа.
Что делает система поведенческого анализа антивируса?
Система поведенческого анализа антивируса, по сути, состоит из двух частей. Первая, это большая база со списками разрешенных и неразрешенных действий, которые могут дополняться или изменяться (например, если система подразумевает режимы обучения и прочие механизмы). В более сложном представлении, это не только действия, но и цепочки действий (например, нельзя перед закрытием документа записывать часть себя в другие документы, как поступают некоторые вирусы), комплексы действий и прочее. Вторая, это система датчиков, которые позволяют отслеживать действия объектов и программ в системе.
Все вышесказанное означает, что система поведенческого анализа антивируса просто закрывает большую часть возможных дыр в системе, которыми могут воспользоваться вредоносные программы. Первая часть перечисляет весь набор, а вторая часть следит за тем, какие действия выполняются в системе. Например, первая часть гласит - никакие программы не должны иметь возможность отформатировать ваш диск без запроса вам; вторая же часть - отслеживает выполнение этого правила.
Тем не менее, тут важно заметить один тонкий момент, от того, что в базе есть какое-то правило, как из примера выше, вам не будет гарантировано то, что в системе такого никогда не случится. Хитрость заключается в датчиках (их количестве и качестве). Если злоумышленник нашел путь, как выполнять действия в обход датчиков, то система поведенческого анализа антивируса, увы, никак не поможет защитить операционную систему.
Алфавитный указатель
Пакет эксплойтов (exploit kit)
Парсер
Партнерская программа, партнерка
Пентест, тест на проникновение
Пентестер
Перебор по словарю
Переполнение буфера
Переполнение стека (Stack overflow)
Перехват TCP/IP (TCP/IP hijacking)
Перехват функции (хукинг)
Персистентность
Персональные данные
Песочница (sandbox)
Плагин
ПО с открытым исходным кодом
Побег из песочницы (Sandbox Escape)
Поведенческий анализ
Поверхность атаки
Подделка запросов со стороны сервера (SSRF)
Подмена DLL (DLL hijacking)
Подмена DNS (DNS spoofing)
Подмена MAC-адреса (MAC spoofing)
Подмена SIM-карты
Подстановка учетных данных
Поисковый робот
Полезная нагрузка (payload)
Полиморфизм
Политика BYOD
Порт TCP/IP
Посадочная страница, лендинг
Потенциально нежелательные программы
Потенциально опасная программа
Права cуперпользователя (root-доступ)
Предотвращение утечек информации (DLP)
Претекстинг (Pretexting)
Проверка концепции (proof of concept, PoC)
Программа-блокировщик
Программа-вымогатель как услуга (RaaS)
Программа-шифровальщик
Программно-определяемая сеть (SDN)
Программное обеспечение как услуга (Software as a Service, SaaS)
Программное обеспечение с закрытым исходным кодом (closed source software, проприетарное ПО)
Программный интерфейс приложения (application program interface, API)
Программный модуль
Продолжительные атаки повышенной сложности (advanced persistent threats, APT)
Прокси-сервер
Прошивка (Firmware)
О компании
Узнайте больше о том, кто мы, как мы работаем и почему наша главная цель – сделать цифровой мир безопасным для всех.
Бесплатные утилиты
Наши бесплатные утилиты помогают обеспечить защиту ваших устройств на базе Windows, Mac и Android.
Сигнатурное детектирование
Современные антивирусные программы используют несколько методик обнаружения вредоносных программ в различных их сочетаниях. Основная из них — это сигнатурное детектирование угроз.Данный метод детектирования малва��и основывается на создании так называемых сигнатур — уникальных цифровых идентификаторов файла, представляющих собой специальный набор байтов и получаемых на основе содержимого исследуемого файла. Фактически сигнатура — это своего рода «отпечаток пальцев» файла: с помощью сигнатуры можно однозначно идентифицировать тот или иной файл или приложение.
Схожим образом устроены хеши файлов, например SHA-1 или SHA-256, — при этом под хешированием в данном случае понимается преобразование содержимого файла с использованием однонаправленной математической функции (алгоритма криптографического хеширования), в результате которого получается уникальный набор шестнадцатеричных символов. Однонаправленной такая функция называется потому, что получить из файла хеш очень просто, а вот восстановить из хеша исходный файл уже невозможно. Вирусная сигнатура устроена несколько сложнее: помимо хеша, она содержит еще целый ряд уникальных признаков файла.Сигнатуры собираются в блок данных, называемый вирусными базами. Вирусные базы антивирусных программ периодически обновляются, чтобы добавить в них сигнатуры новых угроз, исследованных за истекшее с момента последнего обновления время.Антивирусная программа исследует хранящиеся на дисках (или загружаемые из интернета) файлы и сравнивает результаты исследования с сигнатурами, записанными в антивирусной базе.
В случае совпадения такой файл считается вредоносным. Данная методика сама по себе имеет значительный изъян: злоумышленнику достаточно изменить структуру файла на несколько байтов, и его сигнатура изменится. До тех пор пока новый образец вредоноса не попадет в вирусную лабораторию и его сигнатура не будет добавлена в базы, антивирус не сможет распознать и ликвидировать данную угрозу.
Связаться с нами
Наша главная цель – обеспечить вашу безопасность. Мы всегда готовы ответить на ваши вопросы и оказать техническую поддержку.
Для детектирования вновь появляющихся вредных программ существуют разные технологии, дополняющие традиционные методы «сигнатурного поиска» уже известных вирусов (сравнение с вирусными «масками»). Наличие наиболее важных из них и их качество усиливают общий уровень безопасности, обеспечиваемый каждым конкретным продуктом. К таким технологиям относятся эвристические технологии распознавания вредного кода и поведенческие блокираторы — методы проактивной защиты.
У производителей антивирусных программ периодически возникает желание придумать какую-нибудь совершенно новую технологию, которая разом решит все перечисленные в предыдущей главе проблемы — разработать этакую супер-таблетку, которая будет защищать от всех компьютерных болезней раз и навсегда. Защищать «проактивно», т.е. быть в состоянии определить вирус и удалить его еще до момента его создания и появления в сети — и так со всеми вновь появляющимися вредоносными программами.
Увы — не получается. Универсальные средства годятся против тех напастей, которые действуют по каким-либо устоявшимся законам. Компьютерные вирусы же никаким законам не подчиняются, поскольку являются творением не природы, а изощренного хакерского ума. Т.е. законы, которым подчиняются вирусы, постоянно меняются в зависимости от целей и желаний компьютерного андеграунда.
Для примера рассмотрим поведенческий блокиратор как конкурент традиционным антивирусным решениям, основанным на вирусных сигнатурах. Это два разных, не исключающих друг друга подхода к проверке на вирусы. Сигнатура — это небольшой кусок вирусного кода, который прикладывается к файлам, и антивирус смотрит, подходит он или нет. Поведенческий блокиратор же следит за действиями программ при их запуске и прекращает работу программы в случае её подозрительных или явно вредоносных действий (для этого у них есть специальный набор правил). У обоих методов есть и достоинства, и недостатки.
Достоинства сигнатурных сканеров — гарантированный отлов тех «зверей», которых они «знают в лицо». Недостаток — пропуск тех, которые им пока неизвестны. Также к минусам можно отнести большой объем антивирусных баз и ресурсоемкость. Достоинство поведенческого блокиратора — детектирование даже неизвестных вредоносных программ. Недостаток — пропуск некоторых даже уже давно известных вариантов, ведь поведение современных вирусов и троянских программ настолько разнообразно, что покрыть их всех единым набором правил просто нереально. К тому же, беда поведенческих блокираторов — ложные срабатывания (детектирование вируса в чистом файле), поскольку иногда вполне легальные программы ведут себя «подозрительно». Т.е. поведенческий блокиратор будет гарантированно пропускать что-то вредное и периодически блокировать работу чего-то весьма полезного.
Есть у поведенческого блокиратора и другой (врожденный) недостаток, а именно — неспособность бороться с принципиально новыми вирусами. Представим себе, что некая компания X разработала поведенческий антивирус AVX, который ловит 100% современной компьютерной фауны. Что сделают хакеры? Правильно — придумают принципиально иной метод инфицирования системы, незаметный AVX. И антивирусу AVX срочно потребуются обновления поведенческих правил — обновления. Потом снова обновления, поскольку хакеры и вирусописатели не спят. Потом — еще и еще обновления. И в результате мы придем к тому же сигнатурному сканеру, только сигнатуры будут «поведенческими», а не «кусками кода».
Это справедливо также и в отношении другого проактивного метода защиты — эвристического анализатора, суть которого заключается в анализе предполагаемого поведения программы до её запуска и вынесении вердикта — подозрительная программа или нет. Как только подобные антивирусные технологии начинают мешать хакерам атаковать свои жертвы, так сразу появляются новые вирусные технологии, позволяющие «обходить» эвристические методы защиты. Как только продукт с «продвинутыми» эвристиками и поведенческим блокиратором становится достаточно популярным — тут же эти «продвинутые» технологии перестают работать.
Таким образом, вновь изобретенные проактивные технологии работают довольно короткое время. Если «хакерам-пионерам» потребуется несколько недель или месяцев для преодоления проактивной обороны, то для хакеров-профессионалов это работа на один-два дня или даже на несколько часов, а может, даже и минут. Следовательно, поведенческий блокиратор или эвристический анализатор, каким бы эффективным он ни был, требует постоянных доработок и, соответственно, обновлений. При этом следует учесть, что добавление новой записи в базы сигнатурного антивируса — дело нескольких минут, а доводка и тестирование проактивных методов защиты занимает гораздо более длительное время. В результате оказывается, что во многих случаях скорость появления обновления от сигнатурных антивирусов многократно превышает аналогичные решения от проактивных технологий. Это доказано практикой — эпидемиями новых почтовых и сетевых червей, принципиально новых шпионских «агентов» и прочего криминального софта.
Это, конечно, не означает, что проактивные методы защиты бесполезны, нет. Они прекрасно справляются со своей частью работы и могут остановить некоторое количество компьютерной фауны, разработанной не шибко умелыми хакерами-программистами. И по этой причине они могут являться достойными дополнениями к традиционным сигнатурным сканерам — однако полагаться на них целиком и полностью нельзя.
Дискуссии о том, нужны ли антивирусы, или они совершенно бесполезны, не утихают с момента появления самих антивирусных приложений. Примерно столько же длится непрекращающаяся борьба между вирмейкерами и производителями защитного ПО: одни постоянно изобретают все новые и новые алгоритмы детектирования, другие стремятся во что бы то ни стало их обойти.
Как работают современные антивирусные программы и какие методы используют злоумышленники для борьбы с ними? Об этом — сегодняшняя статья.
Пробные версии
Попробуйте наши решения. Всего за несколько кликов вы можете скачать бесплатные пробные версии нашего продукта и проверить их в действии.
Продукты для дома
Наши передовые решения помогают защитить то, что для вас ценно. Узнайте больше о нашей удостоенной наград защите.
Методики противодействия антивирусам
К сожалению, борьба вирусописателей и производителей антивирусных программ носит перманентный характер: первые непрерывно изобретают все новые и новые способы обхода антивирусной защиты, вторые — стараются совершенствовать алгоритмы поиска и обнаружения вредоносного ПО. Давай перечислим основные методики, которыми пользуются вирмейкеры.
Что такое поведенческий анализ?
Достаточно часто, за словами поведенческий анализ видят что-то уникальное и передовое, способное обезопасить вашу систему по максимуму. Однако, это так и не так одновременно. Поэтому для начала необходимо понять, что означают слова "поведенческий анализ". Если по простому, то это умозаключения, которые делаются на основе наблюдения за объектом, другими словами "видим что-то странное - бьем тревогу". К примеру, если программа для редактирования изображений вдруг начала пытаться менять файлы операционной системы Windows или передавать ваши личные данные "куда-то" в интернет, то это, как минимум, странно и стоит такие действия запретить.
Исходя из всего выше сказанного и немного упростив определение, под поведенческим анализом можно понимать простое сравнение текущих действий со списками разрешенных и неразрешенных действий для данной программы или объекта. Другими словами, кто-то когда-то сел и записал все действия, которые разрешены и которые не разрешены для каждого типа программ, а затем стал использовать для определения вирусов, троянов и прочих вредоносных программ. И не более.
Поиск
Переупаковка
Самый распространенный и популярный метод, активно применяемый вирусописателями для обхода сигнатурного детекта. Как я уже говорил, сигнатуру можно назвать своего рода аналогом отпечатков пальцев каждого конкретного файла, при этом она уникальна для файлового объекта. Соответственно, если в файл будут внесены даже незначительные изменения, антивирус не сможет «опознать» его с помощью сигнатуры, и такой файл не будет детектироваться антивирусом до тех пор, пока не попадет в исследовательскую лабораторию.
Наиболее простой способ изменить структуру файла, не меняя его функциональных возможностей, — это «накрыть» его программным упаковщиком. Программные упаковщики сжимают содержимое файла приложения и дописывают к нему код, необходимый для распаковки и выполнения программы. Некоторые из них к тому же включают различные функции шифрования, затрудняющие анализ и исследование подобного приложения. Этим и пользуются злоумышленники.При каждой повторной упаковке файла его сигнатура меняется, и он становится «невидимым» для системы сигнатурного детектирования антивируса.
Некоторые вирусописатели, чтобы затруднить исследование вируса или трояна, упаковывают и шифруют свои творения в «несколько слоев» — тогда под одним упаковщиком прячется другой сжатый и зашифрованный объект, под ним — еще один, и вся конструкция напоминает в итоге эдакую логическую матрешку, добраться до «сердцевины» которой бывает весьма непросто.
Иногда хакеры применяют и иной метод: на сервере, с которого жертвам раздается вредоносное ПО, устанавливается специальный сценарий. При активизации этого сценария (например, при переходе пользователя по ссылке) он извлекает из соответствующей директории сервера бинарный файл вредоноса, упаковывает его на лету и только после этого «отдает» его пользователю. Таким образом каждая жертва получает свой собственный, уникальный экземпляр вредоносной программы, гарантированно не детектируемой по сигнатуре.
Эвристический анализ
Эвристический анализ — разновидность вероятностного анализа вредоносных программ, основанная на логических алгоритмах, позволяющих выявить и обезвредить потенциально опасное приложение. Эвристический анализ приходит пользователям на помощь в тех случаях, когда угрозу не удается обнаружить с помощью сигнатурного детектирования.Упрощая, основной принцип эвристического анализа можно описать следующим образом. Каждой функции, которую может реализовывать программа в операционной системе, назначается некий условный «рейтинг опасности». Какие-то действия приложения могут считаться менее опасными, другие — более.
Если по совокупности выполняемых приложением действий оно превышает некий условный «порог безопасности», оно признается потенциально вредоносным.Например, если программа работает в фоновом режиме, не имеет графического интерфейса, последовательно опрашивает удаленные серверы, а потом пытается скачать с них и запустить в системе какое-то приложение, она с высокой долей вероятности может оказаться троянцем-загрузчиком. Или утилитой обновления браузера Google Chrome. В этом, очевидно, и кроется основная ахиллесова пята эвристического метода анализа вирусных угроз — большая вероятность «фолс-позитива», ложного срабатывания.
Другой метод эвристического анализа — эмуляция исполнения программы. Антивирус загружает подозрительное приложение в собственную буферную память, разбирает код на инструкции и выполняет их по очереди, проверяя результат.Эвристический анализ применяется с целью выявить и обезвредить угрозы, еще неизвестные антивирусу — то есть те, сигнатуры которых на текущий момент отсутствуют в вирусных базах. Отсюда логически вытекает еще один недостаток эвристических алгоритмов — даже если неизвестную ранее угрозу удается обнаружить, ее далеко не всегда получается сразу «вылечить». Во многих случаях пользователю приходится ожидать появления очередного обновления вирусных баз, содержащего алгоритмы лечения конкретно для этой вредоносной программы.
Анатомия антивируса
Антивирусные программы различных производителей включают в себя разное число компонентов, и даже более того, одна и та же компания может выпускать несколько версий антивируса, включающих определенный набор модулей и ориентированных на различные сегменты рынка. Например, некоторые антивирусы располагают компонентом родительского контроля, позволяющего ограничивать доступ несовершеннолетних пользователей компьютера к сайтам определенных категорий или регулировать время их работы в системе, а некоторые — нет. Так или иначе, обычно современные антивирусные приложения обладают следующим набором функциональных модулей: антивирусный сканер — утилита, выполняющая поиск вредоносных программ на дисках и в памяти устройства по запросу пользователя или по расписанию; резидентный монитор — компонент, выполняющий отслеживание состояния системы в режиме реального времени и блокирующий попытки загрузки или запуска вредоносных программ на защищаемом компьютере;
брандмауэр (файрвол) — компонент, выполняющий мониторинг текущего соединения, включая анализ входящего и исходящего трафика, а также проверяющий исходный адрес и адрес назначения в каждом передаваемом с компьютера и поступающем на компьютер пакете информации — данные, поступающие из внешней среды на защищенный брандмауэром компьютер без предварительного запроса, отслеживаются и фильтруются.
Обфускация
Обфускация (от англ. obfuscate — «запутывать», «сбивать с толку») — сознательное запутывание, усложнение кода вредоносной программы с сохранением ее функциональности, чтобы затруднить ее исследование и анализ. В целях обфускации вирусописатели иногда добавляют в приложение «мусорный» код, ненужные инструкции, множественные переходы и многократные вызовы различных функций. Существуют специальные утилиты, созданные для запутывания кода приложений, — обфускаторы.Обфускация приложений затрудняет реверс-инжиниринг, то есть декомпиляцию вредоносной программы и изучение ее функциональных возможностей на уровне кода, однако одновременно с этим усложняет вирусописателям отладку приложения, а в некоторых случаях — увеличивает его размер и снижает быстродействие.
Какие преимущества дает система анализа поведения программ антивирусам?
Системы поведенческого анализа дают достаточно серьезные преимущества антивирусным программам. За счет закрытия возможных дыр в системе безопасности, такие механизмы позволяют блокировать неизвестные вирусы и вредоносные программы еще до того, как последние станут известными. Кроме того, поведенческие системы не занимаются анализом самих файлов, что позволяет им действовать в режиме реального времени, практически не нагружая ваш компьютер, в отличии от проверки всех данных файла по постоянно растущей базе вирусов.
Важно заметить, что многие вирусы, трояны и вредоносные программы используют одни и те же ошибки и возможности операционной системы. На практике это означает, что антивирусы со старыми базами сигнатур вирусов (специальный код, позволяющий определить наличие вируса в файле), но с хорошо сделанными системами анализа поведения программ, вполне могут достойно защищать компьютер в течении многих лет, конечно, при условии, что последний не стал целью упертого злоумышленника.
Тем не менее, стоит понимать, что потенциал систем поведенческого анализа изначально ограничен их базами правил и набором датчиков с их возможностями. Не стоит ждать от них того, что они не могут.
Проактивная защита (HIPS)
Проактивную антивирусную защиту (HIPS — Host-based Intrusion Prevention System, англ. «система предотвращения вторжений») также можно отнести к разновидности антивирусной защиты на основе поведенческого анализа. Антивирус следит за запущенными приложениями и информирует пользователя о тех или иных действиях программы. Решения о том, позволить или запретить программе выполнять какое-либо действие, принимает пользователь. Это классический вариант реализации HIPS.
Существует еще так называемый экспертный вариант, при котором антивирус самостоятельно блокирует действия тех или иных приложений на основе набора заложенных в него правил и разрешений. Пользователь может при необходимости добавить какую-либо программу в список исключений, разрешив ей выполнение любых или только выбранных действий в защищаемой системе.
Антиотладка
Послесловие
Алгоритмы детектирования вредоносного ПО, так же как и методы борьбы с антивирусами, совершенствуются с каждым днем. Однако уникальные алгоритмы обхода антивирусной защиты появляются крайне редко — как правило, вирмейкеры используют стандартные и давно проверенные на практике методики. Разработчики защитных программ, хорошо знающие все эти методики, часто оказываются на полшага впереди вирусописателей. Именно поэтому антивирусная защита все еще остается довольно эффективным методом борьбы с вредоносными и потенциально опасными программами — особенно для неопытных пользователей.
Читайте также: