Как работает самозащита антивируса

Обновлено: 06.07.2024

Исследователи применили к антивирусным продуктам доступные универсальные техники атак.

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

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

«Самозащита антивируса и ее обход в ряде случаев означает обход всего механизма детектирования вредоносного кода. Этот прием часто используется при реализации целенаправленных атаках или в программах с деструктивным, блокирующим данное ПО функционалом», - сообщается в отчете Digital Security.

Под самозащитой антивируса исследователи подразумевают обеспечение безопасности собственных файлов, директорий, интерфейсов, конфигурационных данных в реестре и процессов. Для анализа эксперты отобрали ряд самых популярных решений – McAfee, ESET, Symantec, AVG, Avira, Dr. Web, Kaspersky, Panda и Avast.

В ходе проверки продуктов использовалась специальная программа, которая получает на вход в качестве параметров данные о технике и цели, и применялись доступные универсальные методы, не нацеленные на конкретный продукт и не использующие их архитектурные слабости. В общей сложности исследователи применили шесть видов атак – Proxy Inject, Duplicate Handle, Shim engine, PageFile, RegSafe (RegStore) и Reparse-Point. За каждую отраженную атаку антивирусный продукт получал по баллу.

Наилучшие результаты (6 баллов из 6) продемонстрировал Kaspersky Internet Security 15. На втором месте расположился AVAST Free Antivirus (5 баллов из 6), которому не удалось отразить атаку RegSafe (RegStore). Немного хуже оказался результат DrWeb 10 (4,5 балла из 6) – антивирус не отразил атаку RegSafe (RegStore) и проактивно отразил Proxy Inject. Наихудшие показатели продемонстрировали McAfee Total Security 2015, AVG Internet Security 2015, Trend Micro Antivirus+ 2015 и Panda Internet Security 2015, заработавшие только по 2 балла.

«Очевидно, некоторые компании попросту не отслеживают эволюцию публичных методов атак, лишь подтверждая тем самым абсурдность выбранной ими архитектуры. […] И пока ситуация не изменится, атакующие всегда будут на шаг впереди защиты.», - сделали вывод исследователи из Digital Security.

Как показывает практика, любой антивирус по дизайну уязвим, и реализовать очередной метод обхода в отношении него не является большой проблемой.

Нашему исследовательскому центру было интересно проверить, как разработчики антивирусных решений следят за наличием описаний методов атак на просторах интернета. И всегда ли для атаки на антивирус необходимо обнаружить в нем 0-day уязвимость или достаточно просто найти полезную информацию на форумах?

Введение

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

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

После внедрения вредоносного кода внутрь процесса антивируса он способен долго и незаметно существовать в системе пользователя, что, несомненно, является следствием главного логического изъяна архитектуры самозащиты, равно как и методики использования доверенных списков процессов.

Самозащита антивируса

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

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

  1. Защита собственных файлов и директорий
    • Обычно реализована файловым фильтром уровня ядра.
  2. Защита собственных конфигурационных данных в реестре
    • Реализуется при помощи совокупности перехватов и/или RegistryCallback-интерфейса ядра.
  3. Защита интерфейсов антивируса
    • Контроль доступа к различным управляющим интерфейсам в ring0.
  4. Защита собственных процессов
    • Реализации варьируются, это может быть совокупность различных перехватов системных функций ядра, типов объекта, использование callback’а на создание процесса.
  • Глобальное отключение/блокирование антивируса
  • Манипулирование белыми списками
  • Скрытое функционирование в супер-привилегированном процессе
  • Обход правил межсетевого экрана

Методология тестирования

Рассматриваемые антивирусные решения
Среда тестирования

Тестирование методов проходило на операционной системе Windows 7, x86_64/x86_32, которая устанавливалась на виртуальной машине VMware. Кроме того, отдельные решения были инсталлированы на физическое железо (обусловлено использованием механизмов аппаратной виртуализации VT-x/AMD-V).

Применяемые техники

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

Все техники, используемые в данном тестировании, доступны на открытых ресурсах Интернета на протяжении 1-3 лет. Их код не демонстрируется намеренно. Ссылки на публичные источники, описывающие данные техники, могут быть предоставлены только антивирусным компаниям только по их официальному запросу.

Были выбраны такие техники, как: ProxyInject, Duplicate Handle, Reparse Point, PageFile, RegSafe/RegRestore и Shim Engine. За более подробным описание техник советуем обратится к оригинальному тексту исследования “Самозащита антивирусов”.
И для тестирования была использована специальная программа, которая получает на вход в качестве параметров данные о технике и цели.


Результаты

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


Стоит понимать, что, помимо данных техник, существует множество других (недоступных публично), которые также нацелены на внедрение в работу антивирусного продукта или на прекращение его работы. И естественно, есть универсальные инструменты и ориентированные на конкретный антивирусный продукт.

Выводы

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

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

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

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


26 февраля 2014

Среди огромного количества вирусов существуют особо хитрые представители, которые идут нетривиальным путем и сначала вредят вашей защите, то есть антивирусу, а потом уже разворачиваются по полной в вашей ОС. Как защитить защиту вашего компьютера от вредоносного воздействия? И в каких случаях может понадобиться отключение подобной защиты? Об этом сегодняшний совет.

Функция самозащиты в Kaspersky Internet Security позволяет блокировать все попытки изменения и удаления файлов самого антивирусного продукта, а также процессов памяти и записей в системном реестре.

По умолчанию данная опция в Kaspersky Internet Security включена. Но раз эта опция доступна для отключения, значит, в каких-то случаях это может понадобиться. В каких? Рассмотрим один из наиболее распространенных примеров.

Вы установили Kaspersky Internet Security и заметили резкое уменьшение свободного пространства на жестком диске. Проверьте папку Kaspersky Lab:

  • ОС Windows XP: C:Documents and SettingsAll UsersApplication DataKaspersky Lab
  • ОС Windows Vista/7/8: C:Program DataKaspersky Lab.

Если вы обнаружили текстовые файлы или файлы с расширением *.log большого размера, то, скорее всего, у вас включена постоянная запись трассировок (логов) продукта (о том, как это проверить и выключить запись, читайте здесь). Просто так удалить эти файлы не получится, продукт расценит это как несанкционированное вторжение, и сработает как раз функция самозащиты. Поэтому в данном случае эту опцию необходимо временно отключить. Но потом не забудьте включить ее снова для обеспечения стабильной и безопасной работы вашего компьютера!

Чтобы включить/отключить самозащиту продукта:

1. Откройте Kaspersky Internet Security и в правом нижнем углу окна нажмите на ссылку Настройка.
2. В окне Настройка выберите раздел Дополнительно и нажмите на пункт Самозащита.
3. Если для программы включена защита паролем, введите установленный пароль и нажмите Продолжить.
4. Установите/снимите флажок Включить самозащиту.

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

Какие антивирусы имеют эффективную самозащиту?

Простое решение

Отчет лаборатории AV-Test показывает, что даже самые лучшие программы имеют как минимум одну ошибку на 2000 строк кода. Проблема заключается в том, что основная версия антивирусной программы содержит не тысячи, а миллионы строк кода. А это гарантирует большое совокупное количество ошибок. Конечно, не каждая ошибка представляет уязвимость для вредоносных атак, но определенная их часть все же содержит реальную угрозу безопасности.

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

Существуют две признанные технологии, которые позволяют помешать большинству эксплойтам. Предотвращение выполнения данных (Data Execution Prevention, DEP) просто блокирует выполнение кода в зонах памяти, размеченных специально для хранения данных. Данная функция сама по себе уже ограничивает возможности эксплойтов.

Рандомизация адресного пространства (Address Space Layout Randomization, ASLR) - еще одна технология, которая случайным образом перераспредлеяет секторы памяти, используемые программой. Таким образом, атакующая программа не может определить местонахождение нужного сектора для выполнения уязвимого кода. Обе методики широко используются ОС Windows. Для большинства современных компиляторов внедрение каждой из этих защитных технологий происходит очень быстро и просто.

Методика тестирования

Исследователи AV-Test собрали 24 антивирусных продукта для домашних пользователей и 8 решений корпоративного уровня. Для каждого продукта специалисты выполняли простые записи. Они перечисляли все исполняемые файлы, библиотеки DLL, драйвера и файлы .sys, ассоциированные с конкретной программы, а также наличие или отсутствие технологий DEP и ASLR. 32-битные и 64-битные программы оценивались раздельно.

Какие антивирусы имеют эффективную самозащиту?

Результаты тестирования варьируются в широком диапазоне. ESET NOD32 Smart Security оказался единственным потребительским продуктом со 100-процентных покрытием. Symantec Endpoint Protection стал единственным решением корпоративного уровня с полным внедрением технологий DEP и ALSR. Avira, G Data, McAfee и AVG полностью защищают свои продукт с помощью техник DEP и ALSR. Тем не менее, покрытие 32-битных версии варьируется в диапазоне от 90 до 100 процентов.

На другом конце итоговой таблицы расположился eScan Internet Security с 17,5-процентным покрытием и Kingsoft Antivirus с 19-процентным покрытием. Кроме того, Kingsoft не использует DEP для защиты 64-битных версий продуктов.

Учитывая, что реализацию данных защитных механизмов произвести очень просто на стадии компиляции, странно, что некоторые вендоры игнорируют их. AV-Test получил многочисленные объяснения на этот счет. Некоторые вендоры используют сторонние библиотеки, которые не были компилированы компанией-разработчиком. Другие вендоры сообщили об использовании запатентованных технологий безопасности, которые несовместимы с DEP и ALSR. А представители некоторых компании объяснили, что определенные файлы не используются активно программой, поэтому их защита необязательна.

Защита, Производительность, Юзабилити

Кроме отчета о самозащите антивирусов, AV-Test обнародовала результаты последнего тестирования защиты, производительности и юзабилити. Результаты тестирования Вы можете посмотреть в таблице.

AV-Test: Лучшие антивирусы для Windows 8.1 (64 bit): Общее количество баллов


Общее количество баллов, набранных в тестировании защиты, производительности и юзабилити

Kaspersky Internet Security набрал максимальные 18 баллов, повторив свой прошлый результат. Avira Antivirus Pro также присоединилась к Kaspersky и получила на 1,5 балла больше, чем в прошлый раз. Среди падений можно выделить ZoneAlarm и Vipre, которые набрали на 3,5 балла меньше, чем в прошлый раунд тестирования. ZoneAlarm провалил тест на производительность, его показатель в испытании упал с 6 баллов до 2,5. Vipre потерял баллы во всех трех категориях оценки. Итоговый результат в 8,5 баллов не дотягивает до порогового значения в 10 баллов и не позволяет продукту пройти сертификацию.

AV-Test расширяет спектр тестирований, проводя новые испытания, как например, проверка самозащиты антивирусных продуктов. Полученные данные позволят вендорам задуматься о внедрении технологий DEP и ALSR. Возможно, существуют причины пропустить включение механизмов для определенных файлов, но в остальных случаях нужно просто щелкнуть переключателем!

PR55.RP55

Newbie Перенести тему невозможно ( точнее говоря в этом нет смысла - все темы кроме ESET и uVS - закрыты ) Несколько лет назад создали алгоритм идентификации по набору текста. Каждый человек набирая текст имеет свой почерк ( это заметили ещё в первую мировую войну - когда человек работал на ключе - радиопередатчике ) Сейчас работают машинные алгоритмы. Думаю и с курсором та же история. ( всё сводиться к накоплению статистических данных - чем больше их обьём тем надёжнее идентификация ) Во всех странах есть своё законодательство. И считывание чужой информации - равносильно её краже. Если _специалисты этим и занимаются - то только в рамках борьбы с орг. преступностью. т.е. в рамках расследования инцидентов и слежки за подозреваемыми. + читаем лицензионное соглашение к программе. И ? Яндекс - зарабатывает на рекламе. Он может и должен интересоваться местоположением потенциального клиента. Чем он интересуется - какие рядом находятся места отдыха - аэропорты - магазины и т.д. и пользователю выдаётся контекстная реклама. Моторика человека индивидуальна . Но речь не о 100% результате, а % совпадении\схожести. Но нужен образец для сравнения. Такая технология разрабатывалась. Приминяется ли она на практике - не интересовался. ----------- Вообще форум мёрт. Рекомендую найти другой форум.

Newbie

PR55.RP55

Хотелось бы чтобы Инфо. ( для создания\настройки критерия ) Содержало информацию: CPU: 96.75% * Внимание превышен 15% Порог. CPU: 483.75% * Внимание превышен 15% Порог. так как нагрузка плавает и невозможно задать точное значение.

Ego Dekker

Домашние антивирусы ESET были обновлены до версии 15.0.18.

santy

RP55, отслеживание процессов, задач, cmdline для закрытых процессов начинается с момента загрузки системы. (потому и важна перезагрузка системы после применения твиков) все записи событий выполняются системой, uVS здесь только меняет настройки системы для расширенной записи в журналы системы. А затем использует эти записи для формирования образа автозапуска охватывая период с момента начала загрузки системы. это дает возможность понять - откуда развивается атака: из системы, из локальной сети, или из внешней сети. Если нужен более расширенный анализ событий в системе - изучаем возможности Sysmon. Выше уже приводилась утилита (Chainsaw), которая как раз работает с расширенными журналами событий и приложений.

Читайте также: