PDA

Просмотр полной версии : Ученые сделали Rowhammer еще опаснее


Suicide
25.11.2018, 05:26
Голландские исследователи доработали (https://cs.vu.nl/~lcr220/ecc/ecc-rh-paper-eccploit-press-preprint.pdf) атаку Rowhammer, чтобы обойти единственный на данный момент способ защиты от нее. Представленный метод позволяет вносить несанкционированные изменения в данные, красть пароли и ключи шифрования, а также внедрять сторонний код.

Аппаратная уязвимость оперативной памяти, которая получила название Rowhammer (англ. «молот рядов»), была обнаружена (https://threatpost.ru/apparatnaya-uyazvimost-rowhammer-atakuet-operativnuyu-pamyat-noutbukov-i-nastolnyh-kompyuterov/6702/) в 2014 году. Как выяснили эксперты Google, при длительном воздействии на одни и те же ячейки DRAM возникает магнитное поле, которое позволяет целенаправленно менять состояние соседних рядов. Отсюда название метода — взломщик «колотит» ячейки, как молотом. Если он точно знает участки памяти, где хранится ценная информация, то может извлекать и менять данные.

Для защиты от подобных атак специалисты рекомендовали использовать чипы RAM с автоматической коррекцией ошибок (error-correcting code, ECC). Эта технология использует программные алгоритмы, чтобы компенсировать электромагнитные помехи, возникающие, например, при изменении бита из-за попадания нейтрона из космических лучей. Поскольку Rowhammer также воздействует на отдельные ячейки, функция ECC оказывается работоспособной и в этом случае.

Однако, как сообщили ученые Амстердамского свободного университета (Vrije Universiteit Amsterdam), в некоторых ситуациях злоумышленники могут обойти эту защиту. Авторы назвали методику ECCploit, уязвимость получила идентификатор CVE-2018-18904. В настоящий момент обнародована черновая версия исследования — финальная будет представлена в мае 2019 года на Симпозиуме по вопросам безопасности и приватности.

Эксперты пояснили, что ECC работает корректно, если неверное значение обнаружено только в одном бите. Когда проблемы присутствуют сразу в двух ячейках, функция завершает работу программы, чтобы предотвратить проблемы с памятью. Ранее это позволило специалистам говорить (https://www.blackhat.com/docs/us-15/materials/us-15-Seaborn-Exploiting-The-DRAM-Rowhammer-Bug-To-Gain-Kernel-Privileges-wp.pdf), что ECC понижает угрозу Rowhammer до уровня простой DoS-атаки.

Однако теперь голландские ученые определили, что при дальнейшем увеличении битов с ошибками технология уже не срабатывает, открывая злоумышленнику доступ к данным. Другими словами, если взломщик вызывает ошибки сразу в трех ячейках RAM, устройство с поддержкой ECC оказывается столь же уязвимо, как и без этой функции. В этом случае коррекция битов может только замедлить атаку.

У представленного метода есть ряд технических ограничений, которые затрудняют его применение на практике. Чтобы эксплойт сработал, взломщику придется ждать несколько дней (хотя ученые пишут, что проводили атаку и за 32 минуты). Кроме того, производители чипов памяти не раскрывают тонкости работы ECC, поэтому сторонние акторы не могут точно определить, в какой момент и какие ячейки оказались скорректированы.

Несмотря на все это, ученые призывают не принижать угрозу ECCploit, равно как и Rowhammer. Многие практические затруднения связаны с тем, что исследователи воспроизводили идеальные условия, когда испытуемое оборудование работало со всеми корректными настройками. В реальности, пишут они, такое случается нечасто, поэтому атака может потребовать гораздо меньших ресурсов.

Эксперты проверили эффективность своего метода на трех чипах Intel и одном — AMD (конкретные модели держатся в секрете). Они подчеркивают, что перед ECCploit будут беззащитны самые продвинутые устройства, и производителям следует срочно озаботиться новыми мерами безопасности — более действенными, нежели те, что используются сейчас.

С момента открытия Rowhammer исследователи уже несколько раз повышали потенциал этой уязвимости. В октябре 2017 года эксперты обошли (https://threatpost.ru/new-rowhammer-bypass-countermeasures/22641/) технологию целевого обновления рядов памяти, которая до этого считалась эффективной мерой защиты. Позже специалисты доработали метод для взлома Android-устройств (https://threatpost.ru/rowhammer-smashes-even-harder-with-glitch/25926/) и дата-центров (https://threatpost.ru/rowhammer-attacks-modified-to-remotely-hack-data-centers/26046/), научились использовать сетевые запросы (https://threatpost.ru/nethammer-another-version-of-rowhammer-attack/26141/).

23.11.2018

https://threatpost.ru/dutch-researchers-made-rowhammer-even-more-dangerous/29378/​

altblitz
25.11.2018, 13:01
> Многие практические затруднения связаны с тем, что исследователи воспроизводили идеальные условия, когда испытуемое оборудование работало со всеми корректными настройками.


Для кого некорректно, а для Блиц - вполне себе корректно и не такое.

Например, ядро это самое, собирается с самыми жёсткими требованиями по безопасности.

и с ускорением непозволительным.

Блиц дружит с gcc / и аппаратурой.

Кернел у него разогнан до -O3 + -graphite опции ускорения работы.

Быстрей и надёжней? Просто нет на сегодня.


Code:
blitz@inode ~ % uname -a
Linux inode 4.19.4-1-ck #1 SMP PREEMPT Fri Nov 23 20:12:27 CET 2018 x86_64 GNU/Linux



Code:
blitz@inode ~/aur/linux-ck (git)-[master] % ls
total 259852
drwxr-xr-x 3 blitz users 3488 Nov 23 20:30 ./
drwxr-xr-x 71 blitz users 3488 Nov 21 21:05 ../
drwxr-xr-x 8 blitz users 3488 Nov 23 20:30 .git/
-rw-r--r-- 1 blitz users 2038 Nov 23 20:05 .SRCINFO
-rw-r--r-- 1 blitz users 2923 Nov 21 21:05 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
-rw-r--r-- 1 blitz users 282 Nov 21 21:05 60-linux.hook
-rw-r--r-- 1 blitz users 241 Nov 21 21:05 90-linux.hook
-rw-r--r-- 1 blitz users 12709 Nov 23 20:30 PKGBUILD
-rw-r--r-- 1 blitz users 221436 Nov 21 21:05 config
-rw-r--r-- 1 blitz users 147293 Nov 23 20:12 config.last
-rw-r--r-- 1 blitz users 17519 Nov 21 21:07 enable_additional_cpu_optimizations-20180509.tar.gz
-rw-r--r-- 1 blitz users 289 Nov 21 21:05 linux.install
-rw-r--r-- 1 blitz users 287 Nov 23 20:29 linux.install.pkg
-rw-r--r-- 1 blitz users 391 Nov 21 21:05 linux.preset
-rw-r--r-- 1 blitz users 989 Nov 21 21:07 linux-4.19.3.tar.sign
-rw-r--r-- 1 blitz users 103113476 Nov 21 21:07 linux-4.19.3.tar.xz
-rw-r--r-- 1 blitz users 989 Nov 23 20:06 linux-4.19.4.tar.sign
-rw-r--r-- 1 blitz users 103121020 Nov 23 20:06 linux-4.19.4.tar.xz
-rw-r--r-- 1 blitz users 11110240 Nov 21 21:35 linux-ck-4.19.3-1-x86_64.pkg.tar.xz
-rw-r--r-- 1 blitz users 11100620 Nov 23 20:29 linux-ck-4.19.4-1-x86_64.pkg.tar.xz
-rw-r--r-- 1 blitz users 18427136 Nov 21 21:36 linux-ck-headers-4.19.3-1-x86_64.pkg.tar.xz
-rw-r--r-- 1 blitz users 18405236 Nov 23 20:29 linux-ck-headers-4.19.4-1-x86_64.pkg.tar.xz
-rw-r--r-- 1 blitz users 99248 Nov 21 21:07 patch-4.19-ck1.xz