Лазейка в Windows позволила загружать вредоносные драйверы уровня ядра

Лазейка в Windows позволила загружать вредоносные драйверы уровня ядра

Лазейка в Windows позволила загружать вредоносные драйверы уровня ядра

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

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

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

 

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

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

  • Пользователь обновил компьютер с более ранних версий ОС на Windows 10 1607.
  • Функция Secure Boot отключена в BIOS.
  • Драйверы были подписаны с помощью сертификата, выданного до 29 июля 2015 года (обратите внимание на этот пункт).

Об активности китайских киберпреступников рассказали специалисты Cisco Talos. Находчивые злоумышленники использовали инструменты с открытым исходным кодом — HookSignTool и FuckCertVerify — для модификации даты подписи вредоносных драйверов. Указав там число до 29 июля 2015 года, атакующие как раз очень удачно вписывались в третье исключение.

HookSignTool впервые появился в 2019 году на одном из китайских хакерских форумов. Инструмент задействует перехват Windows API вместе с легитимной подписью кода для пометки драйверов.

 

Интересно, что HookSignTool работает неидеально, оставляя в фейковой подписи артефакты. Благодаря этому исследователи всегда могут идентифицировать драйверы, подписанные HookSignTool.

 

В отдельном отчете Cisco описывается реальный пример — драйвер RedDriver, который как раз подписан с помощью HookSignTool.

Другой инструмент, получивший имя FuckCertVerify, китайские хакеры использовали для изменения временных меток подписи. Он доступен на GitHub с декабря 2018 года в качестве инструмента для читинга в играх.

Как отметили представители Microsoft, корпорация уже прикрыла лазейку и отозвала опасные сертификаты.

Вышла утилита RKN Block Checker для диагностики блокировок

Разработчик Дмитрий Виноградов представил утилиту RKN Block Checker с открытым исходным кодом. Она помогает понять, почему конкретный сайт не открывается: это обычная сетевая проблема или блокировка на стороне провайдера / регуляторной инфраструктуры.

Проект написан на Python и опубликован под лицензией MIT. Утилита работает из командной строки и проверяет соединение по цепочке DNS → TCP → TLS → HTTP.

Идея простая: не просто выдать вердикт, что сайт недоступен, а показать, на каком именно уровне всё сломалось. Например, если системный DNS не даёт нормальный ответ, а Cloudflare DoH возвращает корректный адрес, это может указывать на DNS-подмену. Если TCP-соединение на 443-й порт сбрасывается, речь может идти о блокировке на уровне IP.

Если TCP проходит, но соединение рвётся на TLS-рукопожатии с SNI, это уже похоже на работу DPI / ТСПУ. А если сайт открывается, но вместо страницы приходит заглушка провайдера или код 451, утилита фиксирует и такой сценарий.

 

Автор отдельно подчёркивает, что смысл RKN Block Checker не в том, чтобы заменить браузер. Браузер и так сообщает, что сайт не открылся. Здесь задача другая — разложить проблему по слоям и дать пользователю более понятную картину, где именно произошёл сбой и на что это похоже.

Утилита сравнивает ответы системного DNS и DNS over HTTPS через Cloudflare, проверяет обычное TCP-подключение, запускает TLS-handshake с SNI целевого домена и затем делает HTTP-запрос. Вердикт выставляется по первому уровню, на котором возникла ошибка.

 

У проекта есть и ограничения. Пока поддерживается только IPv4. Списки целей жёстко заданы в коде и включают около 20 сайтов на категорию, поэтому инструмент не поймает все частные случаи. Кроме того, это разовая проверка без повторов и долгосрочного мониторинга, хотя JSON-вывод можно использовать в cron для регулярных запусков.

RSS: Новости на портале Anti-Malware.ru