Конструкция процессоров Intel Haswell дает возможность обойти защиту памяти операционной системы
Группе исследователей из университета штата Нью-Йорк и Калифорнийского университета удалось найти способ обхода защиты памяти операционной системы с помощью случайного распределения адресного пространства (ASLR) на компьютерах с процессорами серии Intel Haswell.
ASLR применяется для предотвращения использования для взлома системы ошибок, связанных с распределением памяти. При этом вредоносный код должен быть вставлен в память по заранее известному адресу, но в системе с ASLR участки памяти программам выделяются случайным образом, и взломщик не может его узнать. Однако, как выяснили исследователи, в процессорах Intel Haswell имеется буфер для механизма предсказания адресов перехода по условиям (BTB) - в современных процессорах эти механизмы широко применяются для повышения быстродействия. Он хранит адреса перехода по недавно исполненным командам. Адреса можно извлечь и узнать, какие команды по ним расположены. А поскольку буфер является общим для приложений, работающих на одном ядре процессора, можно найти совпадения и вычислить по ним таблицу адресов ASLR. В экспериментах такие вычисления занимали всего около 60 миллисекунд. Авторы предлагают как аппаратные, так и программные методы защиты от подобного взлома.