Содержание статьи
- Обходим всю современную киберзащиту майкрософтовского Edge
- Что такое CFG
- Что такое shims («прокладки»)
- Новый тренд в разработке эксплоитов: атаки, ориентированные на данные
- Windows отдувается за уязвимости Linux: увеличиваем привилегии через WSL
- Big Data на службе выявления не охраняемых CFG-подсистемой «ворот»
- 16 байт, которые позволили обойти CFG-защиту
- Реверсим движок Windows Defender
Обходим всю современную киберзащиту майкрософтовского Edge
В Windows 10 по умолчанию активированы такие защитные механизмы, как ASLR (Address Space Layout Randomization — рандомизация распределения адресного пространства), DEP (Data Execution Prevention — предотвращение выполнения кода, размещенного в сегменте данных) и CFG (Control Flow Guard — охрана потока управления). Благодаря им киберзлодею значительно сложнее манипулировать памятью операционной системы. Самый перспективный из этих защитных механизмов — CFG. Если атакуемое приложение защищено механизмом CFG, то руки взломщика остаются связанными, даже если у него есть произвольный доступ (на запись и на чтение) ко всему адресному пространству оперативной памяти.
Однако хакеры не сидят на месте и постоянно придумывают все новые и новые трюки для обхода непрерывно совершенствующихся механизмов киберзащиты. В этой презентации докладчик (инженер из Trend Micro) делится некоторыми из разработанных им трюков. В том числе:
- Трюк, при помощи которого можно обойти CFG и DEP и обеспечить себе возможность произвольного выполнения кода. На примере браузера Edge этот трюк эксплуатирует темную сторону системного механизма «прокладок» и не требует применения традиционной техники ROP.
- Трюк, при помощи которого можно обойти ASLR. Эксплуатируя логические недоработки в механизме «сборщика мусора», который используется в языках программирования для управления памятью при работе с динамическими переменными (в частности, в таких популярных JS-движках, как jscript9 и chakra), злодей может обойти ASLR без необходимости эксплуатировать какую-либо уязвимость.
![](/uploads/posts/2022-08/01.jpg)
Новый тренд в разработке эксплоитов: атаки, ориентированные на данные
Поскольку практически все разработчики приложений стали повально делать акцент на контроле целостности потока управления (в частности, пользоваться майкрософтовским механизмом CFG), традиционные методы эксплуатации уязвимостей (направленные на захват контрольного потока) стали трудноосуществимы. Как теперь жить хакерам? Неужели им придется повесить на крюк свои черные шляпы и отправиться на моря проживать свои неправедно нажитые капиталы?
Оказывается — нет, о хакерской пенсии речь пока не идет. Взломщики начали искать способ эксплуатировать уязвимости, не затрагивая потока управления... и нашли его. Они придумали атаку, ориентированную на данные (DOA, data-oriented attack), принципиальное отличие которой в том, что она направлена на фальсификацию в приложении критических данных, а не на то, чтобы изменить поток управления.
DOA-атаки позволяют злодею в числе прочего подключать к приложению нежелательные или отключенные модули (и затем эксплуатировать уязвимости, содержащиеся в коде этих модулей) и изменять атрибуты у некоторых страниц оперативной памяти. Первый вариант для киберзлодеев в особенности интересен, потому что современные приложения, как правило, тянут за собой прицепом большие куски невостребованного бинарного кода, который вроде бы к программе отношения не имеет, но волочится за ней мертвым грузом. Порой для DOA-атаки достаточно изменить лишь несколько битов данных. В докладе продемонстрировано на примере браузера Edge (Windows 10), как при помощи DOA-атаки можно обходить защитные механизмы CFG/DEP.
Скачать:
Скриншоты:
Важно:
Все статьи и материал на сайте размещаются из свободных источников. Приносим свои глубочайшие извинения, если Ваша статья или материал была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.