Специалисты Google впервые создали приложение, которое использует электрические помехи, возникающие между ячейками памяти. Возникновение атак такого типа может принудить производителей вносить серьезные изменения в конструкцию выпускаемых микросхем.
Теоретической базой для создания таких приложений стали работы специалистов Intel и университета Карнеги-Меллона. В них говорилось о теоретической возможности изменения значения определенной ячейки памяти путем обращения к соседним ячейкам микросхемы. Данный процесс получил название «переключение битов».
Стремясь максимально увеличить емкость чипа памяти, компании упаковывают ячейки памяти все плотнее. В результате память DRAM все сильнее подвержена электрическим помехам. Электрические наводки известны давно, однако данное явление всегда интересовало специалистов с позиции надежности. Однако последние исследования показали, что переключение отдельных битов может быть гораздо опаснее.
Для тестов использовались 29 ноутбуков на платформе x86. Оказалось, что многие из них уязвимы к воздействиям такого рода. Все устройства использовали ОЗУ DDR DRAM, модели компьютеров не раскрываются.
Эксплойты Google, использующие технику rowhammering, постоянно обращались к ячейкам одного ряда. Это позволило изменить значение битов соседних ячеек.
Техника rowhammering позволила создать эксплойт для осуществления атаки, в ходе которой программный код смог повысить свои привилегии и выйти из песочницы программы Chrome (ограничивает функционал программ, открытых в среде обозревателя). Обход песочницы позволяет программы получать прямой доступ к ОС.
Второй эксплойт использовал новую технологию для получения прав уровня ядра. В этом случае изменения касались таблицы страниц, которая служит для корректной работы виртуальной памяти. Атака позволяла коду получить полный доступ к физической памяти ПК.
Новое поколение ОЗУ (DDR4 DRAM) слабее подвержено таким манипуляциям. Однако соответствующие решения внедрялись разработчиками исключительно для повышения надежности чипов.