Группа исследователей из Бингемтонского и Калифорнийского университетов опубликовали технику атаки, позволяющую восстановить раскладку памяти при использовании механизма защиты ASLR (Address space layout randomization) на системах с процессорами Intel.
Атака успешно продемонстрирована на системе с Linux и процессором Intel Haswell для предсказания рандомизированных адресов как для ядра, так и для пространства пользователя. В результате эксперимента смещение ASLR в ядре Linux удалось восстановить за 60 мс. Исследователи считают, что атака не специфична для Linux и также может быть применена к реализациям ASLR в Windows и macOS,
Метод является разновидностью атак по сторонним каналам (side-channel attacks) и основан на косвенном определении адресов, на которые осуществляется переход в процессе ветвления в коде программы, через инициирование коллизий в буфере предсказания ветвлений (Branch Target Buffer, BTB), используемом в процессоре для предсказания переходов и хранения таблицы истории переходов.
Циклично формируя обращения к различным адресам памяти атакующий добивается возникновения коллизии с командами перехода в рабочем процессе, на который направлена атака. В результате оценки времени реагирования, единичные факты существенного увеличения времени отклика воспринимаются как признак коллизии и сигнализируют, что адрес уже отражён другим процессом в BTB, что позволяет восстановить значение случайного смещения к известным командам перехода в процессе, защищённом ASLR.