На конференции BSides, прошедшей в Лас-Вегасе, исследователи компании enSilo представили доклад о новой технике атак — Turning Tables. Метод специалистов позволяет обмануть защитные механизмы ядра и внести изменения в таблицы страниц.
Таблицы страниц используются во всех операционных системах, не только в Windows, и применяются для хранения данных о маппинге виртуальной и физической памяти. Так, виртуальные адреса используются различным ПО и процессами ОС, тогда как физические адреса использует железо, в частности, подсистема RAM.
Так как физическая память (RAM) ограничена, операционные системы создают страницы, называемые shared code page, где различные процессы могут хранить общий код и обращаться к нему, когда он потребуется.
Идея Turning Tables заключается в создании вредоносного кода, который изменит содержимое shared code page, что негативным образом скажется на поведении процессов, в том числе и с более высокими привилегиями. В итоге атакующий получает возможность повысить свои привилегии до более высокого уровня (например, SYSTEM).
Также исследователи утверждают, что методика Turning Tables может использоваться для вмешательства в работу приложений, работающих в песочнице. К примеру, Turning Tables может использоваться для «отравления» браузера Chrome, который работает в защищенной среде.
Хуже того, по данным enSilo, подобные атаки в теории могут представлять опасность и для macOS и Linux, так как таблицы страниц используются и здесь. Впрочем, специалисты признаются, что не изучали это направление атак, пока сконцентрировавшись на Windows. Как видно на иллюстрации ниже, в случае операционной системы Microsoft, методика Turning Tables позволяет преодолеть практически все защитные механизмы ОС, представленные разработчиками в последние годы.
Полное выступление специалистов enSilo на конференции BSides можно увидеть ниже. Временная отметка 8:57:26.