Группа исследователей из Свободного университета Амстердама разработала новую усовершенствованную версию атаки RowHammer, который позволяет изменять содержимое отдельных битов в памяти на основе микросхем DRAM, чтобы защитить целостность применяемых кодов исправления ошибок (ECC).
Атака может быть проведена удаленно с непривилегированным доступом к системе.Поскольку уязвимость RowHammer может искажать содержимое отдельных битов в памяти, циклически считывая данные из соседних ячеек памяти.
Индекс
Что такое уязвимость RowHammer?
Группа исследователей объясняет уязвимость RowHammer тем, что этоe на основе структуры памяти DRAM, потому что в основном это двумерная матрица ячеек, каждая из которых состоит из конденсатора и транзистора.
Таким образом, непрерывное считывание одной и той же области памяти приводит к колебаниям напряжения и аномалиям, которые вызывают небольшую потерю заряда в соседних ячейках.
Если интенсивность считывания достаточно велика, ячейка может потерять достаточно большое количество заряда, и следующий цикл регенерации не успеет восстановить свое исходное состояние, что приведет к изменению значения сохраненных данных в ячейке.
Новый вариант RowHammer
До сих пор, Использование ECC считалось самым надежным способом защиты от проблем, описанных выше.
Перо исследователям удалось разработать метод изменения указанных битов памяти это не активировало механизм исправления ошибок.
Метод может использоваться на серверах с памятью ECC для изменения данных, заменить вредоносный код и изменить права доступа.
Например, в описанных выше атаках RowHammer, когда злоумышленник обращался к виртуальной машине, вредоносные обновления системы загружались путем изменения имени хоста, способного загрузить и изменить логику проверки имени хоста. Цифровая подпись.
Как работает этот новый вариант?
Что объясняют исследователи эта новая атака заключается в том, что пошаговое руководство ECC полагается на функции исправления ошибок- Если один бит изменен, ECC исправит ошибку, если два бита подняты, будет выдано исключение и программа будет принудительно завершена, но если три бита изменяются одновременно, ECC может не заметить изменения.
Чтобы определить условия, при которых проверка ECC не работает, Был разработан метод проверки, подобный методу гонки, который позволяет оценить возможность атаки для определенного адреса в памяти.
Метод основан на том, что при исправлении ошибки время считывания увеличивается, и возникающая задержка вполне измерима и заметна.
Атака сводится к последовательным попыткам изменить каждый бит индивидуально, определяя успех изменения появлением задержки, вызванной настройкой ECC.
Следовательно, поиск машинного слова выполняется с тремя переменными битами. На последнем этапе необходимо убедиться, что три изменяемых бита в двух местах различны, а затем попытаться изменить их значение за один проход.
О демо
Исследователи успешно продемонстрировали возможность атаки на четыре разных сервера с памятью DDR3. (теоретически уязвима и память DDR4), три из которых были оснащены процессорами Intel (E3-1270 v3, Xeon E5-2650 v1, Intel Xeon E5-2620 v1) и один AMD (Opteron 6376).
En Демонстрация показывает, что поиск требуемой комбинации битов в лабораторных условиях на простаивающем сервере занимает около 32 минут.
Совершить атаку на работающий сервер намного сложнее из-за наличия помех, возникающих из-за активности приложения.
В производственных системах поиск необходимой комбинации сменных бит может занять до недели.
Будьте первым, чтобы комментировать