id: Гость   вход   регистрация
текущее время 14:27 29/03/2024
Владелец: SATtva (создано 10/03/2015 20:06), редакция от 10/03/2015 20:06 (автор: SATtva) Печать
Категории: уязвимости, хард
http://www.pgpru.com/Новости/2015/ПродемонстрированоИспользованиеУязвимостиВDRAM-памятиДляПовышенияПривилегийВСистеме
создать
просмотр
редакции
ссылки

10.03 // Продемонстрировано использование уязвимости в DRAM-памяти для повышения привилегий в системе


Исследователи безопасности из группы Zero, созданной компанией Google для предотвращения атак, совершаемых с использованием ранее неизвестных уязвимостей, продемонстрировали реальность создания рабочих эксплоитов, использующих уязвимость RowHammer, вызванную особенностями работы современных чипов памяти DRAM.


Изначально проблема с памятью DRAM скептически оценивалась многими экспертами, которые считали, что проблема ограничена лишь возможностью совершения отказа в обслуживании, а применение уязвимости для проведения более серьёзных атак считалось нереалистичным. Исследователи сумели опровергнуть данное мнение и задействовали уязвимость для совершения реальных атак, имеющих критический уровень опасности. Подготовлено два эксплоита, которые можно использовать в обычных условиях на штатном потребительском оборудовании. Первый эксплоит позволяет организовать выполнение кода с правами ядра системы. Второй вариант атаки даёт возможность обойти sandbox-изоляцию Native Client в браузере Chrome (CVE-2015-0565).


В качестве методов блокирования проявления проблемы, кроме внесения изменений на аппаратном уровне, упоминается ряд обходных путей защиты, которые можно применить на уровне ОС или выпустив обновления BIOS и прошивок. Например, повышение частоты обновления DRAM существенно затрудняет проведение атаки, а использование счётчиков производительности CPU позволяет выявлять факты осуществления атак. В Native Client блокировать уязвимость удалось добавив в систему верификации кода запрет на использование инструкции CLFLUSH.


В отчёте также указывается на важность публичного обнародования сведений о выявляемых проблемах. Судя по всему производители знали об уязвимости уже давно, о чём свидетельствуют представленные в стандарте LPDDR4 два метода защиты от уязвимости, но не спешили реализовать исправления и не предупредили пользователей, так как считали уязвимость неопасной и влияющей только на стабильность.


Напомним, что в прошлом году группа исследователей обратила внимание на достаточно простой способ проявления эффекта искажения содержимого отдельных битов памяти DRAM – повреждение отдельных битов DRAM-памяти можно инициировать путём цикличного чтения данных из соседних ячеек памяти (простой цикл с чтением содержимого памяти и очисткой кэша). Проблема обусловлена особенностью работы памяти DRAM, которая формируется как двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора.


Состояние сохранённого в ячейке значения определяется тем, заряжен или нет конденсатор. Для поддержания заряда применяется цикл регенерации. При выполнении непрерывного чтения одной и той же области памяти из-за постоянного открытия и закрытия линии WL (Word Line), которая управляет транзисторами доступа, возникают флуктуации напряжения, которые могут привести к аномалии, вызывающей небольшую потерю заряда соседних ячеек. Если интенсивность чтения достаточно большая, то ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить его первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных.


Источник: http://www.opennet.ru/opennews/art.shtml?num=41817


 
На страницу: 1, 2 След.
Комментарии [скрыть комментарии/форму]
— SATtva (10/03/2015 20:15)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Примечательно, что, согласно первой публикации о rowhammer с OpenNet,

... старые чипы DRAM, выпущенные до 2011 года, значительно более устойчивы к возникновению подобных ошибок. Из более ста протестированных новых модулей памяти, выпущенных в 2012 и 2013 годах, все без исключения оказались подвержены проблеме.

Так что,

Судя по всему производители знали АНБ знало об уязвимости уже давно, о чём свидетельствуют представленные в стандарте LPDDR4 два метода защиты от уязвимости, но не спешили реализовать исправления и не предупредили пользователей заставило производителей молчать, чтобы не лишать TAO хлеба ...
— Гость (10/03/2015 21:10)   <#>
Какая программа рута должна давать? Тещу эту, она уже которую минуту пишет:

Iteration XXX (after YYY.YYs)
XX.XXX nanosec per iteration: X.XXXXXX sec for XXXXXXX iterations
check
(check took 0.XXXXXXs)

Надо писать в файл, потом анализировать его содержимое? Или оно в цикле будет крутиться не до бесконечности, потом что-то информативное напишет?
— Гость (10/03/2015 21:31)   <#>

Судя по ссылкам, [1], [2], работает, пока не поймает баг. Если поймает, останавливается и пишет сообщение на экран.

Запрет на чтение списка чужих процессов как-то может на это влиять?
— Гость (10/03/2015 21:36)   <#>
Запустил это, результаты:



Другой тест больше полчаса в цикле крутится, ничего не находит. Что делать, как пофиксить? SATtva, unknown и остальные, у вас тесты работают?
— Гость (10/03/2015 21:44)   <#>
Есть третий тест, но там надо грузить машину с кастомной iso. Как тот тест соотносится с первыми двумя (выше по треду)? Первых недостаточно для диагностики проблемы?
— unknown (11/03/2015 09:36, исправлен 11/03/2015 09:43)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Оригинал новости. Персонального презентационного сайта у этой дыры нет, но вики-страницу уже пилят.

— Гость (11/03/2015 13:33)   <#>
unknown, какие у вас результаты тестов? Эксплоит работает? Рута получает?
— unknown (11/03/2015 13:41)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
А мне неинтересно :)
— Гость (11/03/2015 13:50)   <#>

Память на дискретных KT315? Сколько квадратных километров занимает гигабайт?
— unknown (11/03/2015 14:05)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
[off]
Не, пока ещё на замкнутых временных петлях. Скоро можно будет переходить на струны. А так кое-где ещё даже и квантовые модули завалялись.
[/off]
— Гость (11/03/2015 14:25)   <#>

Неинтересно, может ли зловред, запущенный от юзера на вашем ПК, легко получить рута? SATtva'е тоже неинтересно?
— Гость (11/03/2015 20:46)   <#>
Из обсуждения на LORе:

Исходная работа – filehttps://www.ece.cmu.edu/~safari/pubs/kim-isca14.pdf

Section 6.3 В частности Table 5. Uncorrectable multi-bit errors

ECC подвержена, но наступить на такую ошибку практически нереально.

Посмотрел, что там пишут:

We were unable to identify any distinct pattern or skew. By chance, however, some victim cells could still end up being located near each other. For the three modules, Table 5 shows how many 64-bit words in their full address-space (0-2GB) contain 1, 2, 3, or 4 victim cells. While most words have just a single victim, there are also some words with multiple victims. This has an important consequence for error-correction codes (ECC). For example, SECDED (single error-correction, double error-detection) can correct only a single-bit error within a 64-bit word. If a word contains two victims, however, SECDED cannot correct the resulting double-bit error. And for three or more victims, SECDED cannot even detect the multi-bit error, leading to silent data corruption. Therefore, we conclude that SECDED is not failsafe against disturbance errors. // Стр. 8

2. Correct errors. Server-grade systems employ ECC modules with extra DRAM chips, incurring a 12.5% capacity overhead. However, even such modules cannot correct multi-bit disturbance errors (Section 6.3). Due to their high cost, ECC modules are rarely used in consumer-grade systems. // Стр. 10

Не знаю, правильно ли интерпретировал факты этот товарищ. То, что ECC подвержена ошибкам, написано напрямую, а тот факт, что это не проэксплоитить, я не вижу, откуда им взят.
— unknown (11/03/2015 22:14)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Где-то в пересказах новости утверждали, что ECC затрудняет атаку, но не убирает её принципиально. К тому же, не все материнки поддерживают. Остаётся разве что переход на DDR4 на новом железе, с новыми багами.
— sentaus (11/03/2015 23:21, исправлен 11/03/2015 23:27)   профиль/связь   <#>
комментариев: 1060   документов: 16   редакций: 32
Где-то в пересказах новости утверждали, что ECC затрудняет атаку, но не убирает её принципиально.

В ECC вроде ошибка в 1 бите может быть исправлена, а в 2 битах обнаружена, но не исправлена – это по идее должно приводить к останову с ошибкой памяти. Соответственно, если в процессе атаки ни разу на этот случай не попасть, то атака будет успешна. Вероятность вроде выглядит невысокой, но тут я ни в чём не уверен. :)

— Гость (12/03/2015 00:13)   <#>

Случаи, вы хотели сказать? Т.е. нужно, чтоб было минимум 3 ошибки (чтобы и не исправлялись и не детектировались).


Поясните для даунов, почему DDR4 решает проблему, хотя даже ECC её не решает. И что можно сказать про софтварные способы коррекции ошибок в памяти (SRAM?)?
На страницу: 1, 2 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3