Wednesday, November 13, 2013

Методы обхода ASLR в новейших Zero-Day эксплоитах

ASLR (Address Space Layout Randomization) является одним из наиболее эффективных механизмов защиты в современных операционных системах. Но данный метод не является совершенным. Многие современные APT (advanced persistent threat) уже научились использовать инновационные технологии для обхода ASLR.

Рассмотрим наиболее известные методы байпаса, которые были обнаружены за последний год:
  • Использование non-ASLR модулей
  • Изменение BSTR длина/нулевое окончание
  • Модификация объектов Array

Ниже будет подробно рассмотрена каждая из техник.

Non-ASLR модули

Этот способ является наиболее популярным и простым при эксплуатации. Два популярных non-ASLR модуля, которые используются в IE, и при этом не защищены ASLR: MSVCR71.DLL и HXDS.DLL.

MSVCR71.DLL используется JRE 1.6.x и поставляется из Microsoft Visual C Runtime Library, которая была скомпилирована без опции / DYNAMICBASE. Загрузка библиотеки происходит в пространство процесса IE и имеет постоянный адрес в следующих комбинациях ОС/браузерах:

Windows 7 и Internet Explorer 8
Windows 7 и Internet Explorer 9

HXDS.DLL поставляется из пакета MS Office 2010/2007, и собрана без поддержки ASLR. Впервые данный вектор был описан здесь, и в настоящее время является основным методом обхода ASLR для IE 8/9 на Windows 7. Эта библиотека загружается, когда браузер обращается по адресу начинающемуся с «ms-help://».

Данный метод использовался по крайней мере один раз в следующих эксплоитах: CVE-2013-3893, CVE2013-1347, CVE-2012-4969, CVE-2012-4792.

Недостатки

Требуется наличие в системе non-ASLR модулей, которые поставляются со старыми версиями ПО JRE 1.6 и Office 2007/2010, и загружаются лишь в IE8 и IE9. Обновление программ до последних версий делает данный вектор атаки невозможным.

Модификация BSTR

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

Read more: Habrahabr.ru