Вы используете устаревший браузер!

Страница может отображаться некорректно.

Антивирусная неправда

Антивирусная неправда

Другие выпуски этой рубрики (57)
  • добавить в избранное
    Добавить в закладки

Про новость ни о чем

Прочитали: 4614 Комментариев: 107 Рейтинг: 121

13 декабря 2017

Трубы возвестили о том, что антивирус пал:

Портал The Hacker News сообщает об обнаружении уязвимости, которая позволяет запускать исполняемый код так, что он не определяется антивирусными программами, при этом эксплоит не оставляет следов в файловой системе.

https://habrahabr.ru/post/344376

Призраки в системе! КроликВирус есть, но его как бы нет. Как же можно обойти системы контроля? Начнем с самого «жареного»:

Проверенные антивирусные решения, которые пропускают эксплоит на 07.12.2017 (из источника): Windows Defender, Kaspersky Endpoint Protection 14, AVG Internet Security, ESET NOD 32, Symantec Endpoint Protection 14, Trend Micro, Avast, McAfee VSE 8.8, Panda Antivirus, Qihoo 360

Что тут интересного? Вовсе не отсутствие «Доктор Веб», как может показаться. Здесь отсутствуют конфигурации антивирусов. Какие защитные модули были установлены? Файловый монитор? Система проверки трафика?.. Отметим этот факт – и вернемся к нему позже.

А пока обратим внимание на заголовок новости: «Найдена уязвимость во всех версиях Windows». Казалось бы, ужас и кошмар. Но откроем первоисточник – и увидим: "attack works on all modern versions of Microsoft Windows operating system, starting from Windows Vista to the latest version of Windows 10" («атаке подвержены все современные версии Windows, от Vista до 10»). Совсем иной смысл, не так ли? Уязвимость есть далеко не во всех версиях Windows. Но на что ни пойдешь ради красного словца!

Как же работает уязвимость?

Технология, использованная в эксплоите, получила название Process Doppelgänging (от «доппельгангер» — «двойник»), и использует технологию NTFS Transactions для сокрытия следов и запуска малвари. Общая схема эксплоита выглядит так:

На первом этапе создается транзакция NTFS на изменение какого-либо легитимного файла Windows, его тело заменяется на вредоносный код. Транзакция не закрывается.

Второй этап — создание копии измененного файла в памяти (memory section). В память попадает вредоносный код, при этом, так как не было фактического обращения к файловой системе, антивирусы не реагируют на обращение к ФС.

Третий этап — откат транзакции NTFS. Файл не менялся, следов на диске нет, но в памяти уже засел зловред.

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

Суть уязвимости в том, что файловая система NTFS – это не просто файлы, каталоги и ссылки на них. NTFS больше похожа на базу данных. И компания Microsoft неоднократно пыталась превратить эту файловую систему в полноценную базу данных. Последний раз это было при разработке печально известной Windows Vista.

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

ReFS будет основана на NTFS и сохранит совместимость по ключевым направлениям, но в то же время это будет совершенно другая архитектура. Некоторые фичи и семантики NTFS будут ликвидированы, в том числе поддержка коротких имен, ID объектов, компрессия, шифрование на уровне файлов (EFS), дисковые лимиты (квоты), потоки данных, транзакции, разреженные файлы, расширенные атрибуты и жесткие ссылки.

Ключевые функции ReFS

  • Целостность метаданных с контрольными суммами.
  • Integrity streams: метод записи данных на диск для дополнительной защиты данных при повреждении части диска.
  • Транзакционная модель "allocate on write" (copy on write)
  • Организация пулов и виртуализация для более простого создания разделов и управления файловой системой.
  • Сегментация последовательных данных (data sriping) для повышения производительности, избыточная запись для отказоустойчивости.
  • Поддержка техники чистки диска в фоновом режиме (disk scrubbing) для выявления скрытых ошибок.
  • Спасение данных вокруг повреждённого участка на диске.
  • Общие пулы хранения данных между машинами для дополнительной отказоустойчивости и балансировки нагрузки.

В дополнение, ReFS унаследует многие функции и семантики NTFS, включая шифрование BitLocker, списки контроля доступа (ACL), журнал USN, уведомления об изменениях, символьные ссылки, точки соединения (junction points), точки монтирования (mount points), точки повторной обработки (reparse points), снимки тома, ID файлов и oplock.

https://habrahabr.ru/post/136464/

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

Что такое транзакции?

Транза́кция (англ. transaction, от лат. transactio — соглашение, договор) — минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью.

https://ru.wikipedia.org/wiki/Транзакция_(значения)

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

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

Идея была интересной. Помните наши выпуски про теневые копии и откат изменений? Это и есть транзакции.

#drweb

Microsoft Windows Vista: первое знакомство

Однако:

А что, транзакции в NTFS еще живы, что-ли? Их ввели в Висте, а в Win7 уже пометили, как deprecated — потому что разработчики фичу не оценили.

Сама транзакция может быть довольно длительной, и за это время данные, сбрасываемые на диск, могут меняться. Вот этот момент и заметили хакеры.

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

«На первом этапе создается транзакция NTFS на изменение какого-либо легитимного файла Windows, его тело заменяется на вредоносный код». То есть на момент запуска вредоносного файла некто уже заразил систему (антивирус этого не заметил), запустился (здесь тоже защита не сработала) и начал «хакать» NTFS.

Скажем проще. Предположим, есть охраняемый завод. Периметр под напряжением, злобные овчарки на территории и т. п. И вот вы идете «на дело» при отключенном периметре и спящих овчарках. Взламываете замок. Замок уязвим – это несомненно, но главный вопрос: а как вы проникли на территорию и добрались до этого замка (есть ли более глобальная уязвимость)?

Соответственно, к новости возникают вопросы. Мы вполне допускаем, что с помощью всяких хитрых финтов что-то можно запустить, но:

  • Как проник на машину вредоносный компонент, который после запуска начал использовать уязвимость файловой системы? Чудес не бывает. Прежде всего троянец должен проникнуть на ПК. Через уязвимость, скачивание с сайта или еще как-то. Предположим, проверку трафика можно обойти через передачу объекта в закрытой сессии, но любой новый объект в системе должен проверяться – тем более перед запуском. В этот момент троянец и ловится (мы так ловили WannaCry).
  • В статье не отображено главное: знал ли антивирус нового троянца. Еcли нет, то о чем тогда тест?
  • Был ли известен антивирусу компонент, запускаемый с помощью уязвимости?
  • Предположим, что антивирус троянца знал. Уязвимость позволяет обойти один компонент — файловый монитор, проверяющий файлы при запуске. Какие еще компоненты антивируса работали в системе? Почему они не отреагировали? В современных антивирусах присутствует антируткит. Он, в частности, проверяет все запущенные процессы для обнаружения в том числе и бестелесных троянцев. Почему он не сработал?
  • Файловый монитор может работать в двух режимах — обычном и параноидальном. В каком режиме работал файловый монитор в тесте? Неизвестно.

Итого – новость ни о чем. Уязвимость, возможно, и есть, но вот бессилен ли антивирус, если установлены все компоненты, – большой вопрос.

Антивирусная правДА! рекомендует

Можно обойти любой из компонентов антивируса, идеального модуля защиты не существует. Один в поле не воин, и поэтому все вместе компоненты антивируса позволяют обеспечить надежную защиту, даже если один из них дает сбой. Именно поэтому мы так настойчиво рекомендуем использовать Dr.Web Security Space, а не Антивирус Dr.Web. Его защита дороже (на 10%), но существенно надежнее – при том, что и лишних компонентов в нем нет.

Оцените выпуск

Сделайте репост

Необходимо войти на страницу выпуска через аккаунт на сайте «Доктор Веб» (или создать аккаунт). Аккаунт должен быть связан с вашим аккаунтом в социальной сети. Видео о связывании аккаунта.


Нам важно ваше мнение

Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.

Комментарии пользователей


 
На страницу: