Защита от эксплойтов. Защита конечных устройств, или почему антивирус не панацея. Старый новый защитник

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

Для пользователя наиболее опасным сценарием является использование злоумышленниками эксплойта, который позволяет удаленно установить код в ОС. В таком случае человеку достаточно посетить скомпрометированный веб-ресурс для заражения вредоносным кодом (drive-by). Если на вашем компьютере установлена уязвимая версия ПО: браузера или плагинов к нему, то вероятность того, что вы сможете заразиться вредоносным кодом очень высока.

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

  • Браузеры (MS Internet Explorer, Google Chrome, Apple Safari OS X, Mozilla Firefox и др.).
  • Плагины для браузеров (Adobe Flash Player, Oracle Java, MS Silverlight).
В случае особых таргетированных атак или атак типа «watering hole», злоумышленники могут использовать 0day уязвимости в ПО и ОС. Подобное название носят уязвимости, которые на момент использования их злоумышленниками еще не были закрыты вендором.

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

Современные выпуски Microsoft Windows: Windows 7, 8 и 8.1 имеют встроенные механизмы, которые позволяют защитить пользователя от деструктивных действий эксплойтов. К таким возможностям относятся:

  • Механизмы DEP & ASLR , которые значительно затрудняют возможность эксплуатирования той или иной уязвимости в ПО и ОС за счет наложения ограничений на использование памяти не подлежащей исполнению и размещение программ в памяти по произвольным адресам. DEP & ASLR на Windows 7+ используются на максимально возможном уровне.
  • User Account Control, UAC , который был доработан начиная с Windows 7 и требует подтверждение от пользователя на запуск программ, которым необходимо изменение системных настроек и создание файлов в системных каталогах.
  • Фильтр SmartScreen для ОС (начиная с Windows 8 для ОС), который помогает предотвратить загрузку вредоносного ПО пользователем из интернета на основе его репутационной информации Microsoft.
  • Специальный «расширенный защищенный режим» (Enhanced Protected Mode) для браузера Internet Explorer (начиная с IE 10). На Windows 8 позволяет запускать вкладки браузера в контексте изолированных процессов, которые ограничены в выполнении определенных действий. Для Windows 7 x64 позволяет запускать вкладки браузера как отдельные 64-битные процессы.

PDF-файлы

Файлы, предназначенные для открытия в программах Adobe Reader, Acrobat имеют формат PDF и являются достаточно опасными, особенно, если получены из неблагонадежных источников. Adobe расширили PDF до маскимально возможного уровня, позволяя встраивать туда всевозможное содержимое. Одним из основных преимуществ использования документов в формата PDF является кроссплатформенность при условии доступности ридера (Adobe Reader) для необходимой вам платформы.

Во многих случаях злоумышленники используют именно вредоносные PDF-файлы для доставки вредоносных программ пользователю. В случае если используемая версия Adobe Reader является уязвимой, существует высокая вероятность заражения компьютера.

В виду высоких рисков использования PDF-документов из небезопасных источников, а также учитывая нерасторопность пользователей в вопросах безопасности, современные версии Adobe Reader имеют специальный «Защищенный режим» просмотра документов или «sandboxing» (Защита в изолированной программной среде). При использовании такого режима, коду из PDF файла полностью запрещается выполнение определенных потенциально опасных функций.


Рис. Настройки режима «sandbox» в Adobe Reader.

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

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

Рис. Всплывающая подсказка, указывающая на активный защищенный режим просмотра.

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

Adobe Flash Player

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

Как и другое ПО от Adobe, Flash Player регулярно обновляется в рамках выпускаемых компанией серий обновлений (Adobe Security Bulletins). Большинство из этих уязвимостей имеют тип Remote Code Execution, это говорит о том, что злоумышленники могут использовать ту или иную уязвимость для удаленного исполнения кода.

Производители веб-браузеров как и Adobe не сидят на месте и встраивают специальные механизмы защиты от эксплойтов, которые используют плагины Flash Player. Такие браузеры как MS Internet Explorer (v10 на Windows 8), Google Chrome и Safari OS X (новейшей версии) запускают проигрыватель Flash Player в контексте sandbox-процесса (т. е. песочницы), ограничивая доступ этому процессу ко многим системным ресурсам, местам в файловой системе и работе с сетью.

Очень важной функцией является своевременное обновление плагина Flash Player для браузера. Такие браузеры как Google Chrome и Internet Explorer 10 автоматически обновляются с выходом новой версии Flash Player, таким образом проигрыватель для них будет обновлен автоматически.

Для проверки вашей версии Adobe Flash Player воспользуйтесь офиц. источником Adobe .

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

Для Google Chrome.

«Настройки»->«Показать дополнительные настройки»->«Настройки контента»-> «Отключить отдельные модули».

Для Internet Explorer.

«Сервис»->«Настроить надстройки».

ESET Exploit Blocker

Является надстройкой над проактивной защитой в новейших версиях антивирусных продуктов седьмого поколения ESET Smart Security и ESET NOD32 Antivirus. В отличие от обычного статического обнаружения по сигнатурам, модуль Exploit Blocker анализирует поведение приложения на предмет совершения им подозрительных действий и приемов, которыми пользуются эксплойты. После обнаружения подобных действий, они подвергаются анализу и вредоносный процесс немедленно блокируется. Некоторые подобные действия подвергаются дополнительному анализу в нашем облаке, что предоставляет дополнительные возможности по защите пользователей от таргетированных атак и атак с применением 0day эксплойтов.

MS Internet Explorer и Google Chrome

Мы уже писали в начале нашего материала, что наиболее предпочтительным методом атаки на пользователей для злоумышленников является удаленное исполнение кода через браузер (drive-by download). Так или иначе, вне зависимости от установленных плагинов сам браузер может содержать и, потенциально, содержит определенное количество уязвимостей. Если уязвимость уже исследована разработчиками и для нее выпущено обновление, пользователь может установить обновление и не беспокоиться, что злоумышленники скомпрометируют его ОС. С другой стороны, если злоумышленники используют еще неизвестную уязвимость, т. е. ту, которая не была закрыта (0day), ситуация для пользователя осложняется.

Многие современные веб-браузеры и ОС имеют в своем составе технологию изоляции процесса приложения, не допуская таким образом выполнения каких-либо действий, которые браузеру выполнять не положено. В общем случае такая техника называется sandboxing и позволяет накладывать ограничения на действия, выполняемые процессом. Одним из примеров такой изоляции является тот факт, что современные браузеры (напр. Internet Explorer и Chrome) исполняют свои вкладки как отдельные процессы в ОС, позволяя таким образом задавать разрешение на выполнение тех или иных действий конкретной вкладке, а также обеспечивая стабильность работы самого браузера. В случае, если одна из вкладок зависнет, пользователь может завершить ее не завершая другие.

В современных версиях браузера MS Internet Explorer (IE10 & 11) имеется специальная технология sandboxing, которая называется «Enhanced Protected Mode» (Расширенный Защищенный Режим). Этот режим позволяет ограничивать действия процесса вкладки или плагина и таким образом затруднять возможности эксплуатации браузера для злоумышленников.


Рис. Режим sandboxing для Internet Explorer, который стал доступен начиная с 10-й версии.

Enhanced Protected Mode (EPM) был доработан для Windows 8. Если вы используете EPM в Windows 7 x64, то эта возможность обеспечивает запуск вкладок браузера как 64-битных процессов (по умолчанию IE запускает свои вкладки как 32-битные процессы). Заметьте, что по умолчанию EPM выключен.


Рис. Демонстрация работы EPM на Windows 7 x64 [с использованием MS Process Explorer ]. С включенной опцией, процессы вкладок браузера запускаются как 64-битные, что затрудняет их возможность эксплуатации для установки вредоносного кода.

Начиная с Windows 8, Microsoft ввели поддержку изоляции действий процесса (sandboxing) на уровне ОС. Технология получила название «AppContainer» и позволяет максимально возможно использовать преимущества такого режима для EPM. Процессы вкладок Internet Explorer с активной функцией EPM работают в режиме AppContainer. Кроме этого, в Windows 8 режим EPM включен по умолчанию.

Рис. Демонстрация работы EPM на Windows 8, для вкладок включен AppContainer (aka sandboxing).


Рис. Различия в работе EPM на Windows 7 & 8.

Google Chrome как и IE также имеет специальные возможности по предотвращению атак типа drive-by download. Но в отличие от него, режим sandboxing для Chrome работает постоянно и не требует дополнительных действий по его включению со стороны пользователя.

Режим sandboxing для Chrome означает, что процессы вкладок запускаются с пониженными привилегиями, что не позволяет им выполнять различные системные действия.


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


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

Кроме этого режима, Google Chrome имеет возможности по блокированию вредоносных URL-адресов или сайтов, которые были занесены в черный список Google как распространяющие вредоносное ПО (Google Safe Browsing). Такая возможность похожа на базу URL в Internet Explorer SmartScreen.


Рис. Google Safe Browsing в Google Chrome в действии.

По отношению к браузеру и ОС представляет из себя виртуальную машину (или среду JRE) для исполнения приложений Java. Платформенная независимость таких приложений делает Java очень популярной в использовании, на сегодняшний день ее используют на более чем трех млрд. устройств.

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

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

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


Рис. Настройки обновлений для Java. Проверка обновлений включена по умолчанию, пользователь уведомляется перед операцией их загрузки.

Для полного отключения Java во всех используемых в системе браузерах следует снять настройку «Enable Java content in the browser» в апплете Java.


Рис. Снятие галочки «Enable Java content in browser» полностью отключает возможность использования плагинов в установленных браузерах.

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


Рис. Интерфейс EMET.

Инструмент Enhanced Mitigation Experience Toolkit (EMET) использует превентивные методы по блокированию различных действий эксплойтов для защиты приложений от атак. Несмотря на то, что современные Windows 7 и Windows 8 имеют встроенные, включенные по-умолчанию, возможности DEP и ASLR, направленные на смягчение (mitigation) последствий эксплуатирования, EMET позволяет ввести новые возможности блокирования действий эксплойтов, а также включить DEP или ASLR принудительно для нужных процессов (усилить защиту системы на более старых версиях ОС).

EMET настраивается отдельно для каждого приложения, т. е. чтобы защитить приложение через этот инструмент вам нужно задать его в соответствующем списке. Кроме этого имеется список приложений, для которых EMET включен по умолчанию, например, браузер Internet Explorer, Java, программы пакеты Microsoft Office.

Более подробную информацию об использовании EMET и обзор его возможностей см. на нашем корпоративном блоге .

Некоторые компоненты Windows, которым мы не уделяли особого внимание выше, также могут использоваться злоумышленниками для удаленного исполнения кода или повышения привилегий.


Рис. Статистика исправлений различных компонентов Windows в рамках месячных обновлений patch tuesday. Рейтинг показывает компоненты, которые обновлялись чаще остальных за первое полугодие 2013 года.

На приведенном выше рейтинге видно, что для браузера Internet Explorer закрывалось наибольшее количество уязвимостей, в рамках двенадцати обновлений было закрыто более пятидесяти уязвимостей, причем шесть из них имели статус is-being-exploited-in-the-wild на момент закрытия, т. е. находились в активной эксплуатации злоумышленниками.

Вторым наиболее исправляемым компонентом является известный драйвер подсистемы windows – win32k.sys, который обеспечивает работу графической системы ОС в режиме ядра. Уязвимости в этом компоненте используются злоумышленниками для повышения привилеги в системе, напр. обхода ограничений, накладываемых UAC.

Обратите внимание, что по умолчанию в Windows 7 & 8 имеется возможность автоматической доставки обновлений пользователю. Проверить обновления можно также через панель управления.

The Security Architecture of the Chromium Browser link
Understanding IE Enhanced Protected Mode link

Теги: Добавить метки

Этой осенью Windows 10 обновилась до версии 1709 с кодовым названием Fall Creators Update или Redstone 3. Среди множества изменений нас прежде всего заинтересовала улучшенная защита от неизвестных зловредов. В Microsoft приняли ряд мер для противодействия троянам-шифровальщикам и эксплоитам. Насколько же они оказались успешны?

Старый новый защитник

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

Еще один старый-новый компонент, появившийся в Redstone 3, называется «Защита от эксплоитов». Windows Defender Exploit Guard, или просто EG, включается через «Центр безопасности Защитника Windows» в разделе «Управление приложениями и браузером».

Технически Exploit Guard - это бывшая служебная программа Enhanced Mitigation Experience Toolkit со слегка выросшим набором функций и новым интерфейсом. EMET появилась еще во времена Windows Vista, теперь же ее поддержка прекращена, а Exploit Guard занял ее место. Он относится к средствам продвинутой защиты от угроз (Advanced Threat Protection), наряду с менеджером подключаемых устройств Device Guard и защитником приложений Application Guard. Злые языки поговаривают, что в Microsoft изначально хотели представить общий компонент Advanced System Security Guard, но аббревиатура вышла совсем неблагозвучной.

Защита от эксплоитов

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

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

Поэтому настройка Exploit Guard - это такие же вилы, какими ранее было использование EMET. На моей памяти многие администраторы месяцами вникали в тонкости настроек, а затем просто прекращали использовать ограничительные функции из-за многочисленных жалоб пользователей.

Если же безопасность превыше всего и требуется закрутить гайки потуже, то самыми востребованными функциями Exploit Guard были (со времен EMET) и остаются:

  • DEP (Data Execution Prevention) - предотвращение выполнения данных. Не позволяет запустить на исполнение фрагмент кода, оказавшийся в не предназначенной для этого области памяти (например, в результате ошибки переполнения стека);
  • случайное перераспределение памяти - предотвращает атаку по известным адресам;
  • отключение точек расширения - препятствует внедрению DLL в запускаемые процессы (см. про обход UAC, где этот метод широко использовался);
  • команда DisallowChildProcessCreation - запрещает указанному приложению создавать дочерние процессы;
  • фильтрация таблиц адресов импорта (IAF) и экспорта (EAF) - не позволяет (вредоносному) процессу выполнять перебор таблиц адресов и обращаться к странице памяти системных библиотек;
  • CallerCheck - проверяет наличие прав на вызов конфиденциальных API;
  • SimExec - имитация выполнения. Проверяет перед реальным исполнением кода, кому вернутся вызовы конфиденциальных API.

Команды могут быть переданы через PowerShell. Например, запрет создавать дочерние процессы выглядит так:

Set-ProcessMitigation -Name исполняемый_файл.exe -Enable DisallowChildProcessCreation

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

Поэтому смысл от использования Exploit Guard будет только в том случае, если есть возможность задействовать сразу несколько защитных функций, не вызывая сбой хотя бы в работе основных приложений. На практике это редко удается. Вот пример профиля EG, конвертированного из EMET, который вообще вызывает сваливание Windows 10 в BSoD. Когда-то в «Хакере» была рубрика «Западлостроение», и Exploit Guard бы в нее отлично вписался.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!

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

Как возникают эксплойты?

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

Как распознать эксплойт?

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

Как устранить эксплойт?

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

Как пресечь попытки хакеров воспользоваться уязвимостями сторонних программ
  • Убедитесь, что вы установили самые свежие обновления безопасности и патчи для всех программ
  • Чтобы быть в безопасности онлайн и оставаться в курсе событий, устанавливайте все обновления сразу после их выпуска
  • Установите и используйте антивирус класса премиум, который способен автоматически обновлять установленные программы
Обезопасьте себя от эксплойтов

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

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

Для тех, кто не осилил: краткое содержание

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

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

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

Тестовый стенд будет представлять собой среднестатистическую конфигурацию пользовательской рабочей станции с предустановленной ОС Windows 7 Ultimate Edition (дефолтовые настройки безопасности) с предустановленным ПО: Adobe Flash Player 10.x (не самая последняя версия, но самая распространенная), Java JDK/JRE 1.6.0.25, Adobe Acrobat 10.x., Internet Explorer 8.0.x.

Методика тестирования простая: заходим по вредоносной ссылке, которая содержит сплоит-пак Blackhole v 2.0.1, и наблюдаем результат. Если дроппер связки успешно загрузил наш notepad.exe, значит, система скомпрометирована, а если окно «Блокнота» не появилось, то проводим разбор полетов (уведомил ли антивирус пользователя и так далее), после чего делаем выводы.

Kaspersky Internet Security

В то время как корпорация Microsoft ищет универсальные способы борьбы с эксплойтами на уровне ОС (технологии ASLR и DEP оказались недостаточно совершенными), объявляя гонорары разработчикам, компания «Лаборатория Касперского» идет в этом направлении своим путем, анонсируя технологию «автоматизированной защиты от эксплойтов», которая, судя по тестам лаборатории MRG Effitas, показывает достойные результаты. Методология этого тестирования заключалась в использовании фреймворка Metasploit и предоставляемого им набора эксплойтов, основанных на уязвимостях, для которых на тот момент отсутствовал патч от официального вендора («уязвимости нулевого дня»). Система считалась защищенной, если в процессе запуска эксплойта блокировалась инициализация его полезной нагрузки.

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

Полностью независимым данное тестирование назвать сложно по той причине, что его инициатором выступила «Лаборатория Касперского», а значит, инновация по понятным временным причинам на момент тестов не имела аналогов. Посмотрим, как пользовательская защита «Kaspersky Internet Security 2013» выглядит со стороны злоумышленника. Отправляем браузер пользователя, рабочая станция которого находится под активной защитой данного продукта, по вредоносной ссылке, где находится наша связка. Процесс загрузки сразу же прерывается сообщением о вредоносном объекте. Вывод: 1day и прочие уязвимости из базы Blackhole exploit kit не прошли, эксплуатация уязвимости останавливается благодаря усиленной рандомизации адресного пространства, и дроппер связки попросту не инициализируется.

ESET Smart Security

Второй по доле рынка в России представитель антивирусной индустрии не делает прямых заявлений о борьбе с эксплойтами, а распределяет эту узкоспециализированную функцию по технологиям ESET Live Grid, ESET ThreatSense и ESET ThreatSense.Net. Первая представляет собой распределенный аналитический центр, который собирает данные о параметрах работы целевой информационной системы и проходящих в ней подозрительных процессах и оценивает риск каждого запущенного приложения на основе репутационной системы.

Технология ThreatSense - технология расширенной эвристики, которая непосредственно борется с инициализацией полезной нагрузки при эксплуатации уязвимости. При помощи результатов эвристических методов в сочетании с результатами эмуляции («песочница») и сигнатурных методов обнаружения вредоносного кода антивирусное программное обеспечение определяет, есть ли попытки заражения. Эффективность ThreatSense и расширенной эвристики демонстрируют отчеты о сертификации, предоставляемые независимым институтом IT-безопасности AV-TEST: в разделе «Защита» (именно в этом разделе отчета определяется способность программного продукта защищать рабочую станцию от начальной стадии жизненного цикла вредоносного ПО) антивирус успешно определил 90% экземпляров эксплойтов, использующих «уязвимости нулевого дня». Примечательно, что антивирусное решение «Лаборатории Касперского», проходившее сертификацию AV-TEST в этот же временной интервал (сентябрь - октябрь 2012 года), успешно определило 98% экземпляров аналогичного набора эксплойтов. Впрочем, известно, что самое честное тестирование антивирусы проходят в нашей хакерской лаборатории, поэтому давай закончим рассказывать о чужих результатах и посмотрим на свои собственные.

Переход по вредоносной ссылке для антивирусного решения компании ESET видимой реакции не вызывает - нет никаких уведомлений и записей в лог-файлах о том, что была обнаружена попытка эксплуатации уязвимости. Однако исполняемый файл «Блокнота» не загружен, из чего следует предположение, что антивирусное ПО не позволяет сплоиту отработать.

Norton Internet Security

Компания Symantec - первопроходец в технологии использования облачной инфраструктуры для защиты от вирусных угроз. Так называемая защита SONAR (Symantec Online Network for Advanced Response) предназначена для предотвращения последствий эксплуатации 0-day-уязвимостей с помощью поведенческого анализа целевых приложений и рейтинговой системы оценки уровня опасности. Один из ключевых факторов в реализации данной технологии - показатель уровня доверия сообщества (Norton Community Watch). Антивирусное приложение решает, принадлежит ли тот или иной файл к вредоносной среде, учитывая результаты статистических данных, получаемых от единой пользовательской базы знаний Norton Community Watch.

Отчет о сертификации AV-TEST последней версии продукта Symantec Norton Internet Security 2013 демонстрирует эффективность защиты SONAR версии 4.0 в 96% атак, направленных на эксплуатацию уязвимостей нулевого дня, векторами которых выступали веб-приложения, содержащие вредоносный код, и электронная почта. Данные, которые содержатся в разделе «Защита» отчета, также позволяют сделать вывод об оперативности обновления информации о новых образцах вредоносного кода в облачной базе знаний: ни один из конкурирующих в российском сегменте продуктов не показал стопроцентной защиты от известных экземпляров вредоносных программ, обнаруженных за последние два-три месяца. Примечателен и тот факт, что облачная инфраструктура SONAR оказалась на втором месте по уровню продуктивности в борьбе с эксплойтами, которую организовала компания MRG Effitas, и показала второй результат в тестировании после технологии AEP от «Лаборатории Касперского».

Отправленный по вредоносной ссылке, содержащей сплоит-пак, браузер пользователя спрашивает разрешение на выполнение Java-кода устаревшим плагином, и после положительного ответа мы наблюдаем его работу: связка благополучно эксплуатирует уязвимость и в качестве показателя своей успешной работы перенаправляет нас на страницу редиректа. Где все это время был Norton Internet Security? Ни одного уведомления о какой-либо подозрительной активности, никакой реакции на эксплуатацию. Однако дроппер связки не запускает наш notepad.exe. Причины этого потеряны где-то в недрах «молчаливого» продукта от Symantec. Панель статистики Blackhole сообщает нам об успешной загрузке нашего файла жертве.

Другие представители индустрии

Менее 13% рынка антивирусной защиты в России делят между собой такие вендоры, как «Доктор Веб», Trend Micro, McAfee и другие игроки. Прямых заявлений или анонсов технологий борьбы с эксплойтами от этих компаний за последний год в средствах массовой информации замечено не было, однако продукт Panda Cloud Antivirus, чей объем продаж в российском сегменте не попадает даже в долю погрешности, начиная с версии 2.1 имеет в наличии механизмы борьбы с данным типом угроз.

Облачная база знаний, где каждый пользователь может внести свой вклад, напоминает описанную выше инфраструктуру SONAR от Symantec. Технология Panda Security, основанная на распределенной среде, в настоящее время, по данным из отчетов AV-TEST, демонстрирует свои возможности в определении 0-day-эксплойтов в среднем лишь в 80–85% атак в зависимости от версии своего продукта. Возможно, эти цифры связаны с небольшой, но стабильно пополняющейся базой пользовательских сенсоров, на которые опирается данная технология.

Резюме

Встроенные средства Windows для борьбы с эксплуатацией уязвимостей «нулевого дня» не справляются с текущими версиями вредоносного кода, который пишется квалифицированными злоумышленниками. Техники обхода защит DEP (предотвращение выполнения данных) и ASLR (технология рандомизации адресного пространства) с успехом применяются в новых видах эксплойтов.

Kaspersky Internet Security 2013 отлично продемонстрировал свою технологию в действии, не дав сплоит-паку проэксплуатировать уязвимость на стороне пользователя и проинформировав последнего о наличии вредоносного содержимого. Norton Internet Security, в свою очередь, позволил эксплойту отработать и загрузить дроппер, но инициализация вредоносного кода (в нашем случае это был исполняемый файл notepad.exe) завершилась неудачей, причина которой так и осталась для пользователя загадкой - продукт не вывел никаких уведомлений и не отчитался о своих действиях. То же можно сказать и о продукте ESET, который «тихо», но, в отличие от Norton Internet Security, остановил загрузку вредоносного файла на сторону жертвы.

Денис Макрушин, ведущий специалист Cload.ru , defec.ru

Exploit Guard- новая функция безопасности Защитника Windows, которая была впервые представлена Microsoft в Windows 10 Fall Creators Update .

Защита от эксплойтов представляет собой интегрированную версию инструмента Microsoft EMET (Enhanced Mitigation Experience Toolkit), поддержка которого завершится в середине 2018 года.

Защита от использования уязвимостей включена по умолчанию, если активен Защитник Windows. Эта функция является единственной функцией Exploit Guard, которая не требует включения защиты в режиме реального времени.

Данную функцию можно настроить в Центре безопасности Защитника Windows , с помощью групповых политик или команд PowerShell.

Центр безопасности Защитника Windows

Пользователи Windows 10 могут настроить защиту от эксплойтов в Центре безопасности Защитника Windows.

  1. Используйте сочетание клавиша Windows + I для запуска приложения “Параметры”.
  2. Перейдите в “Обновление и безопасность”, затем выберите пункт “Защитник Windows”.
  3. Нажмите кнопку Открыть Центр безопасности Защитника Windows .
  4. Выберите панель “Управление приложениями и браузером”.
  5. На открывшейся странице выберите ссылку Параметры защиту от эксплойтов .

Все настройки разделены на две категории: Системные параметры и Параметры программ .

На вкладке Системные параметры выводится список всех доступных механизмов защиту с их статусом. В Windows 10 Fall Creators Update доступны следующие защиты:

  • Защита потока управления (CFG) - вкл. по умолчанию.
  • Предотвращение выполнения данных (DEP) - вкл. по умолчанию.
  • Принудительное случайное распределение для образов (обязательный ASLR) - выкл. по умолчанию.
  • Случайное распределение выделения памяти (низкий ASLR) - вкл. по умолчанию.
  • Проверить цепочки исключений (SEHOP) - вкл. по умолчанию.
  • Проверка целостности кучи - вкл. по умолчанию.

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

По умолчанию несколько программ добавлены в исключения, в частности svchost.exe, spools.exe, runtimebroker.exe, iexplore.exe и другие основные программы Windows. Обратите внимание, что вы можете переопределить эти исключения, выбрав файлы и нажав кнопку “Редактировать”.

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

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

Среди них:

  • Защита от произвольного кода (ACG)
  • Блокировка образов низкой целостности
  • Блокировка удаленных образов
  • Блокировка ненадежных шрифтов
  • Защита целостности кода
  • Отключение точек расширения
  • Отключение вызовов системы Win32k
  • Не разрешать дочерние процессы
  • Фильтрация адресов экспорта (EAF)
  • Фильтрация адресов импорта (IAF)
  • Имитация выполнения (SimExec)
  • Проверка вызовов API (CallerCheck)
  • Проверка использования дескриптора
  • Проверка целостности зависимостей образа
  • Проверка целостности стека (StackPivot)

PowerShell

Вы можете использовать командную строку PowerShell для установки, удаления или изменения списка мер. Доступны следующие команды:

Чтобы просмотреть все защитные меры указанного процесса: Get-ProcessMitigation -Name processName.exe

Чтобы установить защитную меру: Set-ProcessMitigation - - ,

Область действия: -System или -Name .

Действие: либо -Enable или -Disable .

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

  • Set-Processmitigation -System -Enable DEP
  • Set-Processmitigation -Name test.exe -Remove -Disable DEP
  • Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll, dllName2.dll

Импорт и экспорт конфигураций

Конфигурации можно импортировать и экспортировать. Данные операции можно сделать на странице “Параметров защиты эксплойтов” в Центре безопасности Защитника Windows, а также с помощью PowerShell или редактора групповых политик.

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

Использование настроек защиты от эксплойтов

Вы можете экспортировать конфигурации в приложении “Центр безопасности Защитника Windows”, но не импортировать их. Экспорт добавляет все меры уровня системы и уровня приложения.

Использование PowerShell для экспорта файла конфигурации

  1. Запустите команду: Get-ProcessMitigation -RegistryConfigFilePath filename.xml

Использование PowerShell для импорта файла конфигурации

  1. Откройте Powershell с правами администратора устройства.
  2. Запустите команду: Set-ProcessMitigation -PolicyFilePath filename.xml

Использование групповых политик для установки файла конфигурации

Вы можете установить файлы конфигураций с помощью редактора групповых политик:

  1. Нажмите клавишу Windows , введите gpedit.msc и выберите объект, предлагаемый службой поиска Windows.
  2. Перейдите в Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Exploit Guard в Защитнике Windows > Защита от эксплойтов .
  3. Выберите политику “Используйте общий набор параметров защиты от эксплойтов”.
  4. Выберите опцию “Включено”.
  5. Добавьте путь и имя файла конфигурации XML в поле “Параметры”.

Преобразование файла EMET

  1. Откройте Powershell с правами администратора устройства.
  2. Запустите команду: ConvertTo-ProcessMitigationPolicy -EMETFilePath emetFile.xml -OutputFilePath filename.xml

Измените emetFile.xml на путь и расположение файла конфигурации EMET.

Измените путь и filename.xml, указав требуемое местоположение и название файла.

Нашли опечатку? Выделите и нажмите Ctrl + Enter