The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Mayhem - атака, искажающая биты в памяти для обхода аутентификации в sudo и OpenSSH"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Mayhem - атака, искажающая биты в памяти для обхода аутентификации в sudo и OpenSSH"  +/
Сообщение от opennews (??), 22-Дек-23, 20:11 
Исследователи из Вустерского политехнического института представили новый тип атаки Mayhem, использующий метод искажения битов в динамической оперативной памяти Rowhammer для изменения значений переменных в стеке, применяемых в программе в качестве флагов для принятия решения об успешности аутентификации и прохождения проверок безопасности. Практические примеры применения атаки продемонстрированы для обхода аутентификации в SUDO, OpenSSH и MySQL, а также для изменения результата проверок, связанных с безопасностью, в библиотеке OpenSSL...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=60334

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 22-Дек-23, 20:11   +5 +/
Когда я наконец увижу "Исследователи из Московского Государственного Университета представили..."? Когда?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #3, #6

2. Сообщение от Аноним (2), 22-Дек-23, 20:16   +6 +/
Зачем тебе это? Величия не хватает? Так ты два телевизора одновременно смотри.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

3. Сообщение от Анонимим (?), 22-Дек-23, 20:21   +2 +/
Там не пользуются Судо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

4. Сообщение от ИмяХ (ok), 22-Дек-23, 20:30   +7 +/
>>выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек

Доигрались со своими уменьшениями наномеров. Теперь приходится использовать костыль, из-за которого начение, которое по идее должно было занимать один бит, теперь занимает аж четыре байта.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #9

5. Сообщение от sig11 (ok), 22-Дек-23, 20:32   +7 +/
Если память искажается "чтением памяти", то такая память летит в топку.. И ни какие "патчи" смысла не имеют.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10, #13, #22

6. Сообщение от Аноним (-), 22-Дек-23, 20:40   –4 +/
> Когда я наконец увижу "Исследователи из Московского Государственного
> Университета представили..."? Когда?

"На сколько лет отстала....". Думаете, вам в РФ хоть кто-то расскажет как работают СОВРЕМЕННЫЕ компьютерные системы? Угу, щас. Ну и исследования - такие же. Да и вообще - за такую публикацию, имхо, сейчас и "госизмену" ученому схлопотать можно. Это ж вы негодяи, критичную инфраструктуру, значит, подставлять удумали?! Воооооот вам - исследования!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

7. Сообщение от Аноним (7), 22-Дек-23, 20:45   +3 +/
> Доигрались со своими уменьшениями наномеров. Теперь приходится использовать костыль,
> из-за которого начение, которое по идее должно было занимать один бит,
> теперь занимает аж четыре байта.

Вообще-то rowhammer - очень фундаментальная атака, которая долбит "DRAM вообще" и совсем не факт что старый лучше нового, на DDR2/3 с довольно дубовыми нормами - работало. Без регенерации старый DRAM терял данные не хуже нового.

В DDR4 попытались костыльнуть, но вышло именно как объявление в аэропорту "пытался совершить посадку самолет номер 13". Т.е. - пытались, да. Исследователи вскоре заметили что получилось это "не очень".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

8. Сообщение от pin (??), 22-Дек-23, 20:45   –1 +/
Что-то аппаратную it индустрию нагнули жестко за последние годы. Интересно, а архитектура Эльбрусов с такими же дырами?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12, #42, #57, #60

9. Сообщение от OpenEcho (?), 22-Дек-23, 20:51   +4 +/
> которое по идее должно было занимать один бит, теперь занимает аж четыре байта.

Минимальный размер в ЦПУ = размер регистра, который в современных процессорах значительно больше чем даже 4 байта ;) И чтобы не ронять скорость, лучше оперировать размерами регистра вместо тогo чтобы потом еще AND-ить выделяя нужные биты

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #49, #121

10. Сообщение от Аноним (-), 22-Дек-23, 20:52   +7 +/
> Если память искажается "чтением памяти", то такая память летит в топку.. И
> ни какие "патчи" смысла не имеют.

Ну, тогда мы выкинем добрую произведенной DRAM на планете, ибо DRAM без регенерации искажается by design - а вон то генерит хитрые паттерны доступа, нагибающие регенарацию памяти.

Это как хакер и солонка - разработчики DRAM не хакеры, они не подумали о том что кто-то захочет прострелить себе пятку. При том это - древний факап. Ему потенциально подвержена чуть ли не вся DRAM. На ECC вы таки заметите проблемы.

Хотя на вот конкретно моих экземплярах - ну вот не срабатывает что-то. И с ECC и без. Толи структуру контроллера не угадало, толи повезло и память даже при worst case все ж удерживает.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #27, #36

11. Сообщение от Аноним (11), 22-Дек-23, 20:53   –3 +/
такими хакерами должна заниматься полиция, а не бизнес.
если им платить за каждую чепуху - чепуха будет размножаться бесконечно.
если их вешать на сетевых кабелях - чепуха закончится вместа с хакерами.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14, #15, #33

12. Сообщение от Аноним (-), 22-Дек-23, 20:55   +/
> Что-то аппаратную it индустрию нагнули жестко за последние годы. Интересно, а архитектура
> Эльбрусов с такими же дырами?

Врядли эльбрусы используют особую, уличную магию^W DRAM - где они ее возьмут?! Как максимум она с ECC окажется в лучшем случае. Но даже ECC при должном желании можно пробить, просто ор в логи будет ДО этого, из-за сбоев ECC.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #17

13. Сообщение от OpenEcho (?), 22-Дек-23, 20:55   +2 +/
> то такая память летит в топку..

Праздники еще не начались, а народ смотрю уже разогрелся :)

Перед тем как в топку, сперва замену неплохо бы, не?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #16, #18, #20

14. Сообщение от OpenEcho (?), 22-Дек-23, 20:56   +/
> если их вешать на сетевых кабелях - чепуха закончится вместа с хакерами.

Наврядли вы найдете столько много кабелей

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #76

15. Сообщение от Аноним (-), 22-Дек-23, 20:57   +3 +/
> такими хакерами должна заниматься полиция, а не бизнес.
> если им платить за каждую чепуху - чепуха будет размножаться бесконечно.
> если их вешать на сетевых кабелях - чепуха закончится вместа с хакерами.

Это так не работает. В результате - вооооон там на форуме какой-то чудак плачется что цыски падают. Теперь попробуй найти того кто это ему организовал.

Блекхеты как бы в курсе что за активный дестрой и грабеж полагается - поэтому их очень сложно найти. И единственное изменение с вон того - значит white и gray hats переквалифицируются в black и будут как следует шифроваться. Тягу к знаниям это не остановит.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #64

16. Сообщение от Аноним (-), 22-Дек-23, 20:58   +2 +/
>> то такая память летит в топку..
> Праздники еще не начались, а народ смотрю уже разогрелся :)
> Перед тем как в топку, сперва замену неплохо бы, не?

Ща, он вытащит планки памяти - и поудивляется что без них почему-то не работает :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

17. Сообщение от Вирт (?), 22-Дек-23, 21:09   +4 +/
> Врядли эльбрусы используют особую

Вообще-то используют. Там есть отдельный стек, для адресов возврата.
Поэтому найти переменную, которую нужно "долбить" будет сложнее,
так как она лежит в стеке для переменных.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #30

18. Сообщение от Chel (?), 22-Дек-23, 21:18   +1 +/
>замену неплохо бы

Статической памяти лет больше, чем динамической. Но плотность и цена...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #19

19. Сообщение от OpenEcho (?), 22-Дек-23, 21:26   +2 +/
>>замену неплохо бы
> Статической памяти лет больше, чем динамической. Но плотность и цена...

Ага, а ферритовые кольца еще старее, но размер...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #26, #28

20. Сообщение от Аноним (20), 22-Дек-23, 21:34   +/
Не, на опеннете так не принято. Принято взвизгнуть и ничего не делать. Вон сверху не осилившие поступить в МГУ задаются вопросом, где мгушные исследователи.))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #25, #75

21. Сообщение от InuYasha (??), 22-Дек-23, 21:34   +4 +/
We called it "Project Mayhem".
The first rule of sudo is: you do not use sudo.
The second rule of sudo is: you DO NOT USE sudo.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #93

22. Сообщение от Аноним (22), 22-Дек-23, 21:34   +/
Вот согласен.

> необходимо точно исказить существенное число битов

Тут хакеру даже долго думать не надо, просто надо искажать любые биты и получится аналог ддоса. :)
После того, как суду в сотый раз не сработает, пользователь плюнет на все эти софтверные ухищрения и пойдёт искать нормальную память.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

23. Сообщение от Аноним (23), 22-Дек-23, 21:42   –1 +/
if (auth == "прошёл проверку, а вы дальше пердольте чипы памяти") { ...

И тут набигают сишники с криками о многословности.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #66

24. Сообщение от Аноним (-), 22-Дек-23, 22:06   –3 +/
А если бы сравнивали с true, то шансы на удачное изменение стали бы существенно меньше
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #51

25. Сообщение от OpenEcho (?), 22-Дек-23, 22:06   +/
> Не, на опеннете так не принято.

К сожалению...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

26. Сообщение от Не пойду к Ородруину (?), 22-Дек-23, 22:39   –1 +/
КольцА? Да вы задрали...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

27. Сообщение от Аноним (27), 22-Дек-23, 22:53   +2 +/
> Ну, тогда мы выкинем добрую произведенной DRAM на планете, ибо DRAM без регенерации искажается by design - а вон то генерит хитрые паттерны доступа, нагибающие регенарацию памяти.

Да, и начнем повсеместно использовать память с ECC. Давно пора.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #29, #126

28. Сообщение от Аноним (-), 22-Дек-23, 22:58   +/
Зато их можно использовать вместо шашек!
И они классно катаются по столу))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #43

29. Сообщение от Аноним (-), 22-Дек-23, 23:00   +/
>> Ну, тогда мы выкинем добрую произведенной DRAM на планете, ибо DRAM без
>> регенерации искажается by design - а вон то генерит хитрые паттерны доступа,
>> нагибающие регенарацию памяти.
> Да, и начнем повсеместно использовать память с ECC. Давно пора.

Если память реально уязвимая, ECC в конце концов будет пробит - ЭТО может вызывать многобитовые сбои. Которые ECC имеет право даже и не заметить вообще. А если вы как умная клава включите chip-kill, тогда вот вам ремотная DoS атака "атакующий может оставить систему вообще без оперативки".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #40, #68

30. Сообщение от Аноним (-), 22-Дек-23, 23:06   +/
>> Врядли эльбрусы используют особую
> Вообще-то используют. Там есть отдельный стек, для адресов возврата.

КМК это не помогает от искажений значений переменных в DRAM. Такая ерунда. Вон там - адреса возврата никто и не менял.

> Поэтому найти переменную, которую нужно "долбить" будет сложнее,
> так как она лежит в стеке для переменных.

Учитывая что rowhammer-а даже из JS пытаются практиковать - сильно уповать на то что атакующие чего-то там не смогут найти я бы не стал.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

32. Сообщение от Аноним (32), 22-Дек-23, 23:45   +2 +/
Просто не надо вредоносное ПО, написанное на JavaScript, на своей машине запускать.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #62, #80

33. Сообщение от Аноним (33), 22-Дек-23, 23:47   +1 +/
Скажите это в лицо полиции, заодно прихватите с собой кабель, а мы поржём
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

34. Сообщение от pavlinux (ok), 22-Дек-23, 23:51   +/
> Для защиты от атаки Mayhem рекомендуется использовать в сравнениях
> не оценку отличий от нуля или совпадения с единицей, а проверку ...

Чо париться, переходим на float?!!

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #37

35. Сообщение от kawaii boy (?), 23-Дек-23, 00:23   +1 +/
Mayhem - это блек металл!
Ответить | Правка | Наверх | Cообщить модератору

36. Сообщение от Аноним (36), 23-Дек-23, 00:37   +1 +/
> Хотя на вот конкретно моих экземплярах - ну вот не срабатывает что-то.

непонятно как это должно работать если auth в регистре

   int auth = 0;
   ... // код проверки, меняющий значение auth  в случае успешной аутентификации
   if(auth != 0)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

37. Сообщение от Аноним (66), 23-Дек-23, 00:55   +2 +/
Так 0 через float в памяти тоже будет представлен как 00 00 00 00.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #82

38. Сообщение от Аноним (-), 23-Дек-23, 01:04   +1 +/
> Для защиты от атаки Mayhem рекомендуется использовать...

... флаг -O2 при компиляции.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #59

39. Сообщение от Аноним (39), 23-Дек-23, 01:22   +3 +/
Мне больше интересно, когда через пять лет будут рефакторить sudo, не найдётся ли кто-то, видящий константы:

#define AUTH_SUCCESS         0x52a2925 /*    0101001010100010100100100101 */
#define AUTH_FAILURE         0xad5d6da /*    1010110101011101011011011010 */
#define AUTH_INTR           0x69d61fc8 /* 1101001110101100001111111001000 */
#define AUTH_ERROR          0x1629e037 /* 0010110001010011110000000110111 */
#define AUTH_NONINTERACTIVE 0x1fc8d3ac /*   11111110010001101001110101100 */

кто подумает "что за альтернативно одарённый это писал" и вернёт всё как было?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #52, #58, #63, #85, #103

40. Сообщение от Аноним (27), 23-Дек-23, 02:09   +/
Дело не в том, что ECC не может быть пробит. Дело в стоимости этой затеи, а также её заметности для пользователя. Если какой-то процесс начнет активно бомбить память, и с помощью ECC это заметит CPU, то об этом узнает ядро и скажет пользователю, а то и сразу прибьет процесс, пока он не натворил дел.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #46

41. Сообщение от Аноним (41), 23-Дек-23, 02:21   +/
Кто-нибудь знает:
- как определить поддерживает ли DIMM TRR (Target Row Refresh),
- поддерживает ли этот режим контроллер памяти процессора, и
- как эту поддержку в контроллере включить если она не включена?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #45, #48, #90, #134

42. Сообщение от Sw00p aka Jerom (?), 23-Дек-23, 03:29   –1 +/
>Что-то аппаратную it индустрию нагнули жестко

абстрагируйтесь :) они к этому шли, а вы завтра новую "память" купите, она же нынче копейки стоит.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

43. Сообщение от OpenEcho (?), 23-Дек-23, 04:08   +/
> Зато их можно использовать вместо шашек!

Да что шашки?! Ожерелья целые можно было делать!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #101

44. Сообщение от крок (?), 23-Дек-23, 05:22   +1 +/
ЕСС и шифрование памяти на лету самим контроллером на корню решают данную проблему, что и сделал амд.

Возня с правкой кода под такое - трата времени, это проблема не уровня приложения.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #50, #56, #83

45. Сообщение от крок (?), 23-Дек-23, 05:24   +4 +/
SME + ECC - вот что вам надо, а не костыли.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

46. Сообщение от Аноним (-), 23-Дек-23, 06:15   –1 +/
> Дело не в том, что ECC не может быть пробит. Дело в стоимости этой затеи,

Да какая, нахрен, стоимость? Купить пятибаксовую вдску рядом? А то и вообще JS запустить почти нахаляву? Это кошмар, конечно.

> а также её заметности для пользователя.

...если он читает логи, что как показала практика, 50/50.

> Если какой-то процесс начнет активно бомбить память, и с помощью ECC это заметит
> CPU, то об этом узнает ядро и скажет пользователю, а то
> и сразу прибьет процесс, пока он не натворил дел.

Красивая теория. А откуда юзер узнает какой это процесс? Более того - на хостинге с виртуалками там процессов - и вообще виртуалок - хоть джеппой жуй. А вот апгрейднуть вдску до дедика, и потом и спустившись покрыть все стадо - желающие наверное найдутся.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

48. Сообщение от Аноним (-), 23-Дек-23, 06:21   +1 +/
> Кто-нибудь знает:
> - как определить поддерживает ли DIMM TRR (Target Row Refresh),
> - поддерживает ли этот режим контроллер памяти процессора, и
> - как эту поддержку в контроллере включить если она не включена?

Я знаю что надежнее всего - запустить rowhammer у себя на системе и посмотреть что будет :). Если упало/взвыл ECC - упс, у вас точно проблемы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #118

49. Сообщение от Твайлайт Спаркл (ok), 23-Дек-23, 06:24   +/
Именно! Например, в архитектуре x86_64 процессору удобнее работать с значениями в 64-битных целочисленных регистрах общего назначения. Но и 32-битные регистры всё ещё работают достаточно быстро.

А что памяти больше занимается, так посмотрите на 64-битные указатели…

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #61, #147

50. Сообщение от Аноним (-), 23-Дек-23, 06:27   –1 +/
> ЕСС и шифрование памяти на лету самим контроллером на корню решают данную
> проблему, что и сделал амд.

А точно - на корню? Скажем две одинаковые записи в 1 адрес - кодируются одинаково? Тогда можно будет немного побрутфорсить - и подогнать исходные биты так, чтобы целевые биты стали нужными. И гасить потом нужными битами от души. Записывать в память при этом придется конечно левоватые константы, чтобы оно шифровалось в нужные значения. Но подогнать 32-bit число занимает 2^32 операций максимум - и это вполне подъемная величина. Тем более что машины никуда не торопятся.

Это конечно сделает атаку немного сложнее и дольше, но вот решает ли это на корню - большой вопрос. Шифрование зачастую можно "отменить" даже не зная алгоритм и ключ, специфичный диалект chosen plaintext attack получится.

> Возня с правкой кода под такое - трата времени, это проблема не
> уровня приложения.

Вообще-то приложения могут сделать это очень неудобным. Скажем - проинвертировать условие: выставить в 0 если юзеру можно зайти, а если не 0 - пшелнафиг. Т.е. if (goaway) {byebye, loser!}.

А вот пытаться rowhammer'ом спустить все биты u32 в ноль уже будет значительно менее прикольно. То что он хоть когда-то сработает именно вот так - это еще вопрос.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #86, #89, #125

51. Сообщение от Твайлайт Спаркл (ok), 23-Дек-23, 06:31   +1 +/
С чего бы? Стандарт Си (С++) говорит, что 0 - это false, а всё остальное - true. В тексте новости как раз про это сказано.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

52. Сообщение от Твайлайт Спаркл (ok), 23-Дек-23, 06:45   +1 +/
Буквально строчкой выше в коде написан комментарий зачем это.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #54

53. Сообщение от Аноним (53), 23-Дек-23, 07:10   –3 +/
О чень интересно почему эта проблема всплыла только сейчас. Лет 15 назад когда игрался с прогами типа Artmoney это было очевидно и работало на ура. Конечно локaлизация нужных переменных в памяти тот еще квест но решаемый.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #99

54. Сообщение от cheburnator9000 (ok), 23-Дек-23, 07:33   –1 +/
И зачем же это? Соизвольте скопипастить текст этого комментария.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #55

55. Сообщение от Твайлайт Спаркл (ok), 23-Дек-23, 07:44   +/
/* Auth function return values (rowhammer resistent).  */
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54

56. Сообщение от Аноним (56), 23-Дек-23, 08:20   +/
ECC лишь усложняет атаку, но не исключает https://opennet.ru/49652-rowhammer
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #92, #109

57. Сообщение от Аноним (57), 23-Дек-23, 09:03   –1 +/
Давно уже.

У меня ноутбук (!) требует 240 ватт мощности, на официальном заряднике. И при малейшем сбое напруги (например, при саспенде), троттлит половину чипов.

При этом ему ещё 240 ватт мало, он в моменты пиковой нагрузки подтягивает мощу с батареи, то есть, без "новой" батареи и "нового" БП он вообще на проектную мощность не выходит.

Приучили всех к "экспоненциальному росту", и все всё ещё ждут его, как будто так и надо.
А он всё.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

58. Сообщение от Вы забыли заполнить поле Name. (?), 23-Дек-23, 09:22   +/
> кто подумает "что за альтернативно одарённый это писал" и вернёт всё как было?

и совершенно правильно сделает.

Очередная псевдоатака требующая msdos 1.0 и то в лаборатории. А то можно нечаяно попасть в соседний битик и все тyпо навернется.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

59. Сообщение от Вы забыли заполнить поле Name. (?), 23-Дек-23, 09:23   +1 +/
или хотя бы msdos 2.0

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

60. Сообщение от Аноним (60), 23-Дек-23, 09:31   +/
Такого понятия как "архитектура эльбрусов" не существует. Чтобы её привести в божеский вид -- её надо ещё пилить и пилить, слишком уж она сырая.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #78, #116

61. Сообщение от Аноним (61), 23-Дек-23, 09:36   +/
У меня вот есть смартфон, у которого 64 битный процессор, но официальная прошивка 32 битная. И порт 64 битной версии с похожего устройства работает заметно быстрее, хоть и оставляет меньше свободной озу
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

62. Сообщение от Аноним (62), 23-Дек-23, 09:58   +3 +/
Осталось ответить на простой вопрос - а как так получилось, что JS-у разрешили чистить кэши (без чего атака на память не пройдёт), и как он обходит ASLR и т.п. чтобы найти адреса целевого процесса.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

63. Сообщение от Аноним (63), 23-Дек-23, 11:03   –2 +/
За дефайны вообще вон из профессии.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #65, #69

64. Сообщение от Аноним (64), 23-Дек-23, 11:10   +1 +/
>Блекхеты как бы в курсе что за активный дестрой и грабеж полагается - поэтому их очень сложно найти

Найти-то легко ... для крыши. Инфраструктура есть, целая страна рабов, с пиететом выполняющая повеления Хозяина тоже есть. После чего они работают на свою крышу, и достать их могут разве что беспилотниками, и то только в случаях крайне испорченных дипотношений.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #102

65. Сообщение от Аноним (66), 23-Дек-23, 12:02   +/
> За дефайны вообще вон из профессии.

А что тогда вместо них использовать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #81, #97

66. Сообщение от Аноним (66), 23-Дек-23, 12:07   +2 +/
>> if (auth == "прошёл проверку, а вы дальше пердольте чипы памяти") { ...

Сишники набигут, потому что ты сравнил не содержимое строки, а всего лишь адрес указателя...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

67. Сообщение от Аноним (67), 23-Дек-23, 12:38   –1 +/
> if(auth != 0)
>      return AUTH_SUCCESS;

Не понимаю — что это. Кто и каким образом определил алгоритм, при котором одно значение некорректное, а мириады других проходят проверку.

Ответить | Правка | Наверх | Cообщить модератору

68. Сообщение от Tron is Whistling (?), 23-Дек-23, 14:12   +1 +/
> Если память реально уязвимая, ECC в конце концов будет пробит - ЭТО может вызывать многобитовые сбои

При обнаруженном многобитовом сбое ECC система останавливается.
Поэтому не заметить не удастся.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #100

69. Сообщение от Аноним (69), 23-Дек-23, 14:14   +/
Будешь ядро сам допиливать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

70. Сообщение от Tron is Whistling (?), 23-Дек-23, 14:14   +/
Честно - вся эта проблема выеденного яйца не стоит, и в реальных системах постороннего шума столько, что просто не сработает. Или поставит систему колом из-за многобитовой ошибки ECC, там чтобы один-то бит свернуть надо хорошо поизголяться, а чтобы более двух, да ещё и попасть в необнаружимое...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #71, #72, #74, #88

71. Сообщение от Tron is Whistling (?), 23-Дек-23, 14:15   +/
Плюс когда модулей множество - надо ещё интерлив угадывать, и там ещё несколько контроллеров может быть как у EPYC'ов, короче удачи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

72. Сообщение от Tron is Whistling (?), 23-Дек-23, 14:17   +/
Понятно, что на тестах вот только с sudo и атакующим процессором, на одном-единственном модуле памяти с нужным числом рангов и чипов, чтобы интерлив сильно не мешал, на конкретном проце и плате, имеющих конкретные характеристики, чтобы оно флипнуло - оно слегка работает. Но за этими пределами - извините.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70 Ответы: #73

73. Сообщение от Tron is Whistling (?), 23-Дек-23, 14:17   +/
// атакующим процессом
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

74. Сообщение от Tron is Whistling (?), 23-Дек-23, 14:21   +/
А учитывая, что DDR5 - уже не бесконтроллерная, и имеет встроенную не заметную для системы ECC просто из-за хреновых параметров модулей, там контроллер просто этот ровхуммер размешает с вот этим самым, и ничего не получится в принципе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70 Ответы: #96

75. Сообщение от Аноним (75), 23-Дек-23, 14:53   +/
В МГИМО пускай идут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #128

76. Сообщение от Аноним (75), 23-Дек-23, 14:56   +/
А колья или бамбук? )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #84, #135

77. Сообщение от Аноним (77), 23-Дек-23, 15:04   +/
Скажите главное - раст уязвим?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #79

78. Сообщение от Аноним (78), 23-Дек-23, 16:53   +/
Так нехер пихать в ноутбучный корпус десктоп
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #108, #111

79. Сообщение от пох. (?), 23-Дек-23, 19:02   +/
да вроде нет - сколько битов в CoC.md не переворачиваю - ничего не случается.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #114

80. Сообщение от Аноним (80), 23-Дек-23, 20:03   +/
Да кто ж вас спрашивает? ;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

81. Сообщение от Аноним (80), 23-Дек-23, 20:07   +/
Для числовых значений сойдёт const
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #98, #112

82. Сообщение от pavlinux (ok), 23-Дек-23, 20:09   –1 +/
3.14159265, где тут ноль?  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #95

83. Сообщение от Аноним (80), 23-Дек-23, 20:14   +/
Мне вот только непонятно, как ПДП с этим совместим. Получается, что другой ведущий шины тоже должен шифровать/расшифровывать? А как обмен ключами с переферийными устройствами?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #91, #124

84. Сообщение от OpenEcho (?), 23-Дек-23, 20:17   +/
> А колья или бамбук? )

Ну, если так будет и дальше продолжаться по всему миру, то скорее всего 4 мировая будет именно на кольях и бамбуках, но хакеры, они все равно - были, есть и будут бессмертны, как вирусы :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

85. Сообщение от pavlinux (ok), 23-Дек-23, 20:32   +/
Ну так се защыта


gcc -DRND1=0x$(openssl rand -hex 4) \
       -DRND2=0x$(openssl rand -hex 4) \
       -DRND3=0x$(openssl rand -hex 4) \
       -DRND4=0x$(openssl rand -hex 4) \
       -DRND5=0x$(openssl rand -hex 4) ....

....

#define AUTH_SUCCESS        RND1    /* х.з. */
#define AUTH_FAILURE        RND2    /* х.з. */
#define AUTH_INTR        RND3    /* х.з. */
#define AUTH_ERROR        RND4    /* х.з. */
#define AUTH_NONINTERACTIVE    RND5    /* х.з. */


...

$ ./a.out
AUTH_SUCCESS        = 0xb8c1fcfd
AUTH_FAILURE        = 0xff828bd8
AUTH_INTR           = 0xf03b903c
AUTH_ERROR          = 0x4cb20a23
AUTH_NONINTERACTIVE = 0x476b545a


Тоже полумеры. Можно еще закодить random при загрузке программы.  

Но вся фигня в том, что всякие либы, glibc, ядро, syscall, в основном возвращают 0, 1, NULL, в лучшем случае один из errno;
ZF проца тоже 1 иль 0 )

  

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

86. Сообщение от pavlinux (ok), 23-Дек-23, 20:38   +/
>> ЕСС и шифрование памяти на лету самим контроллером на корню решают данную
>> проблему, что и сделал амд.
> А точно - на корню? Скажем две одинаковые записи в 1 адрес
> - кодируются одинаково? Тогда можно будет немного побрутфорсить - и подогнать
> исходные биты так, чтобы целевые биты стали нужными.

Окончил онлайн курсы пентератора? :D
Прям так взял и с разбега залез в чужое адресное пространство )))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #105

88. Сообщение от pavlinux (ok), 23-Дек-23, 20:42   –1 +/
> Честно - вся эта проблема выеденного яйца не стоит, и в реальных
> системах постороннего шума столько, что просто не сработает.

Новость читал?

> Прототип кода для совершения атаки планируют опубликовать после
> внесения исправлений в основные уязвимые проекты."
> ....  в SUDO, OpenSSH и MySQL, а также для изменения результата проверок,
> связанных с безопасностью, в библиотеке OpenSSL.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70 Ответы: #94

89. Сообщение от Ivan_83 (ok), 23-Дек-23, 20:43   +/
SME у AMD использует AES, и наверное рандомный ключ/IV.
Потому про одинаково - сомнительно.

Использование AES означает что оно работает блоками, те ты типа флипнул 1 бит в байте а поменялись все 128 бит (16 байт).

Использование SME решает проблему потому что результат становится не предсказуемым.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #106

90. Сообщение от pavlinux (ok), 23-Дек-23, 20:56   +/
> Кто-нибудь знает:
> - как определить поддерживает ли DIMM TRR (Target Row Refresh),

# dmidecode

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #107

91. Сообщение от Ivan_83 (ok), 23-Дек-23, 21:00   +/
Этим контроллер памяти занимается, как я понял ему только ключи дают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

92. Сообщение от pavlinux (ok), 23-Дек-23, 21:08   +/
rowhammer скоро 10 лет исполнится, его перетpaхали все кто мог.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

93. Сообщение от Аноним (93), 23-Дек-23, 22:20   –1 +/
Ок, а что использовать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

94. Сообщение от Tron is Whistling (?), 23-Дек-23, 22:43   +/
Просто посмотри исходную статью.
Там модули памяти реально приходится подбирать.
Ну и ставить поштучно.
На реальных системах всё это будет работать раз в несколько тысячелетий.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88 Ответы: #133, #142

95. Сообщение от Аноним (66), 23-Дек-23, 22:57   +/
> 3.14159265, где тут ноль?

тут: 265

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

96. Сообщение от Аноним (96), 23-Дек-23, 23:17   –2 +/
О, эксперт по технологиям памяти! Почему не существует адаптеров DDR5 -> DDR2?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

97. Сообщение от Аноним (131), 23-Дек-23, 23:36   +1 +/
> А что тогда вместо них использовать?

Надо использовать дефайны, но не забывать их ругать, чтобы не выделяться. Дело не в проблемах дефайнов, а в том, что препроцессор принято ругать. То есть на словах ругаем, на деле даже в тексте MISRA C повсюду пишем дефайны.

Предложение использовать просто const работать не будет (ключевые слова: error, multiple definitions, external linkage, const), у static const всё равно останутся неприятные ограничения, constexpr - это C23.

Надо в принципе выработать в себе презрение к макросам - например, они с трудом читаются после разворачивания (gcc -E). Поэтому в C++ надо использовать только шаблоны - там такой возможности вообще нет (презрение к когнитивному диссонансу тоже надо выработать).

А лучше выработать презрение ко всем возможностям, касающимся compile-time. У комитета оно есть, судя по срокам вокруг __VA_OPT__, consteval, (вы находитесь здесь), std::embed (#embed), рефлексии.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #104

98. Сообщение от Аноним (27), 24-Дек-23, 00:20   +3 +/
В C - это не тот const, который вы ищете.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

99. Сообщение от Ivan_83 (ok), 24-Дек-23, 00:59   +/
Оно просто читало/писало память процесса, в этом ничего сложного нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53

100. Сообщение от Аноним (-), 24-Дек-23, 01:20   +/
>> Если память реально уязвимая, ECC в конце концов будет пробит - ЭТО может
>> вызывать многобитовые сбои
> При обнаруженном многобитовом сбое ECC система останавливается.

Вообще-то это обычно настраивается. Как и chip-kill. Ну и так то ремотная DoS атака - тоже в общем то неплохо. К тому же оно там перезагрузится и можно будет еще попробовать. Боты что, торопятся куда-то?

> Поэтому не заметить не удастся.

Ну вон там на соседнем форуме додик с цисками примерно такой, софт у него на цисках падает, видите ли, довольно часто. ИМХО - его эксплойтами гасят. Но вот что он сделает? Выключит свое счастье совем? Self destruct конечно лишает атакующих морального удовлетворения но в остальном - результат не такой уж и плохой :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #113

101. Сообщение от Аноним (-), 24-Дек-23, 01:24   +/
>> Зато их можно использовать вместо шашек!
> Да что шашки?! Ожерелья целые можно было делать!

Ибо сказано - девице бусы :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

102. Сообщение от Аноним (-), 24-Дек-23, 02:04   +/
>> Блекхеты как бы в курсе что за активный дестрой и грабеж полагается - поэтому
>> их очень сложно найти
> Найти-то легко ... для крыши. Инфраструктура есть, целая страна рабов, с пиететом
> выполняющая повеления Хозяина тоже есть.

Всякие мутные типы навроде кардеров, ддосеров, спамеров, "неофициальных" воротил и проч - шифруются годами, если не десятилетиями. При том в случае поимки - а ловят довольно крупные господа типа АНБ, ФБР, ЦРУ и проч, у коих ресурсы есть - в сша суд линча уже не в моде. Просто выпишут "пожизненное и 200 лет сверху". По сумме деяний.

Как это примерно выглядит если удалось отловить - загуглите скажем "ulbricht complaint". Это пример участи того кто попытался, но был туповат, нагл, и потому зафейлил маневр. Но он наверняка не единственный такой, судя по всему есть и куда более успешные.

> После чего они работают на свою крышу, и достать их могут разве что беспилотниками,
> и то только в случаях крайне испорченных дипотношений.

Не понимаю откуда берется эта вера в всемогущество крыш. Как я понимаю в этом мире есть и свои фантомасы, которые могут любую крышу за нос водить. А вон тем способом можно, имхо, здорово прибавить их количество.

ИМХО это будет как-то так: исследования будут вбиты в подполье, а вулны будут продаваться на черном рынке. Сначала тому кто больше заплатит. Потом всем кто платит. Денег же много не бывает.

Что будет потом? Вот тут на форуме есть тип который удивляется что его циски - ребутаются. С какой-то ошибкой. Софта. Вот таких удивлений - заметно прибавится. И совсем не факт что "крыши" будут выкатывать самые выгодные предложения - поэтому у них будет щанс ощутить на себе атаку сперва в виде таргета, а потом может и докупить/реверснуть технологию узнав что так можно было. Но к тому моменту их инфраструктуру возможно уже разнесли - и это малость поздняк.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

103. Сообщение от X512 (?), 24-Дек-23, 02:06   +/
Лучше бы ещё эти константы динамически рандомно генерировать в процессе сборки, а то могут умудриться сгенерировать нужный паттерн через уязвимость DRAM.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

104. Сообщение от Аноним (-), 24-Дек-23, 02:16   +1 +/
> А лучше выработать презрение ко всем возможностям, касающимся compile-time.

И все бы это ничего - но навернувшаяся в run time с run time ошибкой управляющая фирмварь может доставить вам намного больше... седых волос... на всех частях тела... стоящих дыбом :)

...а препроцессором, внезапно, до кучи можно сделать нехилую валидацию коректности довольно много чего. И то что я сдуру 35-й бит 32-битного регистра гораздо лучше узнать при сборке проекта (да, у меня есть макро ловящее такое), чем сделать в рантайме что-то левое, или упасть с ассертом каким. Просто представь себе assertion failed в фирмвари твоего ECU на скорости 120. Как, прикольно? :)

В общем нефиг лезть с универсальными советами, случаи разные бывают. Макро юзают имея на то причины. В том числе и в мисре. А плюсота - сама по себе сложная, жирная и непредсказуемая в плане рантайм поведения.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97 Ответы: #110

105. Сообщение от Аноним (-), 24-Дек-23, 02:23   +/
>> - кодируются одинаково? Тогда можно будет немного побрутфорсить - и подогнать
>> исходные биты так, чтобы целевые биты стали нужными.
> Окончил онлайн курсы пентератора? :D

В каком-то роде...

> Прям так взял и с разбега залез в чужое адресное пространство )))

А зачем - в чужое? Цель - регенерацию нагнуть. Для этого надо определенные паттерны доступа. И единственное что надо - понять как в новом наборе неидеальностей спровоцировать то же самое по смыслу.

И если кто думает что такие трансформации принципиально невозможны - окей, а откуда это следует? Вон то добро и так довольно много пермутаций и что там еще DRAM контроллеров аннулирует, ну или пытается для вон того. Плюс-минус пара quirk что-то радикально меняет в правилах игры?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86 Ответы: #120

106. Сообщение от Аноним (-), 24-Дек-23, 02:30   +/
> SME у AMD использует AES, и наверное рандомный ключ/IV.
> Потому про одинаково - сомнительно.

Тут вот какое дело... если ключ/IV рандомные - ИХ НАДО ГДЕ-ТО ХРАНИТЬ. Это лишнее место - где? Иначе как IO с этим регионом делать? И это нельзя часто менять - а как потом расшифровывать? Да еще перфоманс жмет - частая перешифровка скажем по всей площади - не вариант.

А если оно не совсем рандомное и по крайней мере постоянное при серии операций в одно и то же назначение - окей, а что помешает просто посмотреть какие значения вызовут

> Использование AES означает что оно работает блоками, те ты типа флипнул 1
> бит в байте а поменялись все 128 бит (16 байт).

Да и хрен с ними, главное найти подходящий для проведения атаки паттерн на выходе. В этом смысле "подброс кубиков рандомом" может быть и не такой уж плохой вариант как кажется.

> Использование SME решает проблему потому что результат становится не предсказуемым.

С его предсказуемостью все было довольно плохо и до этого. Ну и как минимум - оно грохнется. А с вон теми проверками - а там точное значение и не надо, надо чтобы не ноль образовался. И основная проблема - в том что это довольно слабое требвоание, любой сбой ведет к "auth success", что как бы - не очень умно :D

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

107. Сообщение от Аноним (41), 24-Дек-23, 04:53   +/
Если у вас есть выхлоп dmidecode в котором показано, что trr поддерживается - скиньте плз сюда.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #127

108. Сообщение от Аноним (60), 24-Дек-23, 06:52   +/
При чём тут ноутбуки с десктопами?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

109. Сообщение от Аноним (109), 24-Дек-23, 08:10   +1 +/
если у тебя Ryzen то включаешь в UEFI опцию tSME и забываешь о rowhammer навсегда
если у тебя Incel ...ну, ссзб
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

110. Сообщение от Аноним (131), 24-Дек-23, 09:21   +1 +/
То был сарказм на тему ограниченности compile-time возможностей и возведения препроцессора в абсолютное зло. Compile-time конкатенация строк на чистом C++ в сотню SLOC и всё такое.

> А плюсота - сама по себе сложная, жирная и непредсказуемая в плане рантайм поведения.

До раста в ядре линукса это звучало даже почти убедительно. Никто не запрещает обходиться только zero cost abstraction'ами.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104 Ответы: #149

111. Сообщение от Аноним (57), 24-Дек-23, 10:21   +/
Это малореально понять при покупке.

Что значит "нехер"? Купить же можно? Можно.

Причём я купил Б/У, который за 3 года не сгорел. А что там у ноутов 2023 года выпуска, мне трудно представить.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

112. Сообщение от InuYasha (??), 24-Дек-23, 10:28   +1 +/
> Для числовых значений сойдёт const

дада, счас адепты constexpr набигут ещё. #define в умелых руках творят добрые чудеса. :D

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #131

113. Сообщение от Tron is Whistling (?), 24-Дек-23, 10:38   +/
Останов при многобитном ECC обычно _не_ настраивается. Поэтому что это фатальное состояние, продолжение работы после которого невозможно.

> ремотная DoS атака

Какая ремотная атака, вы о чём вообще? Для работы rowhammer - надо исполняться на той же системе.

> Ну вон там на соседнем форуме додик с цисками примерно такой, софт у него на цисках падает, видите ли, довольно часто. ИМХО - его эксплойтами гасят

Имхо, там пора таки слезть с дохлой лошади (7600), и выкинуть этот хлам в утиль, конденсаторы умерли.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #115

114. Сообщение от InuYasha (??), 24-Дек-23, 10:39   +/
ты там аккуратнее - можно нечайно black на white заменить и сильно заоффендить жителей другого континента.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

115. Сообщение от Tron is Whistling (?), 24-Дек-23, 10:40   +/
// при многобитном пробитии ECC пямяти, которая умеет детект в 2 бита и коррекцию в 1.
Бывает кстати куда более хитрая память с многобитным ECC в контроллере - эту вы вообще ровхаммеро не пробьёте никак.
DDR5 вообще в принципе более хитрая.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113 Ответы: #148

116. Сообщение от Tron is Whistling (?), 24-Дек-23, 10:41   +/
Рахитектура ель-брусов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

118. Сообщение от Tron is Whistling (?), 24-Дек-23, 10:51   +/
Погонял несколько вариантов rowhammer у себя на десктопе тестовых системах.
Несколько часов гонял. ECC не взвыла ни разу.
Короче, не ставьте китайский хлам в системы, и будет вам счастье.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

120. Сообщение от Tron is Whistling (?), 24-Дек-23, 10:53   +/
Меняет, потому что вам надо не случайный бит перевернуть, а вполне конкретный.
Что удаётся только в лаборатории с двумя живыми процессами - атакующим и атакуемым.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105 Ответы: #146, #150

121. Сообщение от Tron is Whistling (?), 24-Дек-23, 10:56   +/
А зачем вам AND'ить, если у CPU есть команды проверки-установки-сброса-инверсии бита?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #122

122. Сообщение от OpenEcho (?), 24-Дек-23, 11:48   +/
> А зачем вам AND'ить, если у CPU есть команды проверки-установки-сброса-инверсии бита?

Разговор не о выделении битов, а как вообще это избежать зная как устроенна хардварь... и да, AND - это классика, которую поймет любой если хоть чуть-чуть в теме и без заморочек с BMI only CPU

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121 Ответы: #123

123. Сообщение от Tron is Whistling (?), 24-Дек-23, 12:04   –1 +/
Ну кстати вот набивка битов тоже позволила бы этой проблемы частично избежать.
Хотя, повторюсь, проблема выеденного яйца не стоит - меньше китайского хлама, больше ECC.
Весь софт в любом случае не переписать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122 Ответы: #130

124. Сообщение от Tron is Whistling (?), 24-Дек-23, 12:10   +/
Другого ведущего шины уже давно нет.
Не, PCIe в теории может работать в p2p, но это редкий и почти не поддерживаемый режим.
В основном все транзакции между устройствами традиционно идут через root complex, он же CPU.
К памяти - всегда через root complex, по понятным причинам, контроллер то в CPU.
А тот уже может творить всё, что захочет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

125. Сообщение от Tron is Whistling (?), 24-Дек-23, 12:13   +/
> А точно - на корню? Скажем две одинаковые записи в 1 адрес - кодируются одинаково?

Перевернёшь всю линейку кеша, она же блок шифра. Результат будет немножко "на лице".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #151

126. Сообщение от Tron is Whistling (?), 24-Дек-23, 12:18   +/
> Да, и начнем повсеместно использовать память с ECC. Давно пора.

Ну да. У меня даже на десктопе уже лет 10 стоит память с ECC.
И даже ровхуммер тут не при чём, просто вон тот самый битврот, которым стращают адепты зфс - у него наибольший шанс произойти именно в унылой современной DRAM высокой плотности, и никакие зфс не спасут.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

127. Сообщение от pavlinux (ok), 24-Дек-23, 13:46   +/
Не, до 9 января комп с DDR4 не доступен ))


>  - поддерживает ли этот режим контроллер памяти процессора, и
>  - как эту поддержку в контроллере включить если она не включена?

Ковыряй JESD209-4 DDR4 Spec.

DDR регистр: MR24, 7-ой операнд, если 0 - TTR выключен (по дефолту), 1 - включен.  

В юзер/kernel-моде точно не включишь/выключишь,
из кода загрузчика можно попробовать. От писателей BIOS зависит.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107

128. Сообщение от Аноним (128), 24-Дек-23, 20:23   +/
Мгимо финишт обычно другой сектор обслуживают и недавно у них проблемы с трудоустройством были - работодатель поменялся.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

130. Сообщение от OpenEcho (?), 24-Дек-23, 22:42   +/
> меньше китайского хлама

Альтернатив однако маловато :)

> больше ECC.

https://www.vusec.net/projects/eccploit/


> Весь софт в любом случае не переписать.

Ну так в новом по крайней мере меньше возможностей будет, хотя, предложенный метод ИМО хоть и будет работать, но из серии обфускации, - попытка фиксить следствие, а не причину


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123 Ответы: #132

131. Сообщение от Аноним (131), 25-Дек-23, 05:27   +1 +/
Ну, стандарты вроде той же MISRA, наверное, станут требовать constexpr в C, когда он перестанет быть слишком новым. Для C++ там есть аналогичный пунктик (16-2-2) не использовать #define для констант.

Хотя только #define и enum выражают красивую идею "подставить литерал, никогда не создавая в памяти переменную, не давая возможности сослаться на неё".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112

132. Сообщение от Tron is Whistling (?), 25-Дек-23, 09:17   +/
Ну да, три конкретных доисторических платформы с подогнанными модулями памяти в раболатории - это всё, снова ЙЕС-плоит.

Кмк кто-то просто жирно троллит. Кончится тем, что в погоне за всем этим лабораторным бредом наделают реальных дыр.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #130 Ответы: #144

133. Сообщение от Аноним (135), 25-Дек-23, 11:07   +/
тебе хватит и одного раза в несколько тысячелетий
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94 Ответы: #138

134. Сообщение от Аноним (135), 25-Дек-23, 11:09   +/
пришли мне полную копию своего винта, я посмотрю есть ли у тебя поддержка
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

135. Сообщение от Аноним (135), 25-Дек-23, 11:10   +/
бабмук подорожал
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

136. Сообщение от Аноним (135), 25-Дек-23, 11:13   +/
Не пользуйтесь if'ами, только jump на результат умножения.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #139

137. Сообщение от nebularia (ok), 25-Дек-23, 11:26   +/
Ну против Mayhem только Burzum поможет
Ответить | Правка | Наверх | Cообщить модератору

138. Сообщение от Tron is Whistling (?), 25-Дек-23, 11:37   +/
Я так-то ошибки ECC мониторю. Особенно со времён, когда делл впих**рил в серверы г**ноhynix, который их давал просто по факту существования, пока в фирмвари тайминги не подкрутили вниз от "штатных".
На данный момент их нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133

139. Сообщение от Tron is Whistling (?), 25-Дек-23, 11:37   +/
jmp $ - лучший вариант
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136

140. Сообщение от Пряник (?), 25-Дек-23, 12:14   +/
Может ещё через ArtMoney взломаем sudo? Почему вообще у вредоносного процесса есть доступ к области памяти sudo?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #141

141. Сообщение от Пряник (?), 25-Дек-23, 12:17   +/
Ну ладно, может нет. Он скорее всего смотрит маппинги виртуальной памяти sudo на физическую и долбит её через Rowhammer.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #140 Ответы: #145

142. Сообщение от pavlinux (ok), 25-Дек-23, 13:50   +/
> Там модули памяти реально приходится подбирать.

Жертвы для атак так же выбирают: есть зацепка - ломаем, нет - следующий.  

> Ну и ставить поштучно.

kmalloc_node(const),  cpu_affinity( const ) ... и ещё куча фишек не фрагментироваться в памяти.
C огромной вероятностью виртуальная память линейно отобразиться на физическую.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

143. Сообщение от Аноним (143), 26-Дек-23, 20:15   +/
Еще один тип уязвимостей, от которых не спасают безопастные языки? Ок.
Ответить | Правка | Наверх | Cообщить модератору

144. Сообщение от Аноним (-), 26-Дек-23, 20:20   +/
> Ну да, три конкретных доисторических платформы с подогнанными модулями памяти в раболатории
> - это всё, снова ЙЕС-плоит.
> Кмк кто-то просто жирно троллит. Кончится тем, что в погоне за всем
> этим лабораторным бредом наделают реальных дыр.

Современное железо это уже одна большая реальная дыра. В погоне за скоростью и снижением цены это превратилось в мусорное УГ. DRAM это апофеоз экономии: весь пойнт DRAM - "1 транзистор на ячейку" и "мизерная площадь ячейки". Но, вот, эта экономия придает специфичные свойства. Как то нужду в регенерации. Которая клищится с доступом к данным.

Странно в этом всем только то что факап заметили только сейчас. Технология древняя и даже удивительно что палочккой раньше никто не потыкал.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

145. Сообщение от нах. (?), 27-Дек-23, 17:16   +/
> Он скорее всего смотрит маппинги виртуальной памяти sudo

чего в нормально спроектированной системе тоже быть в принципе не должно - но это ж линукс, не удивлюсь если с его /proc даже suid процессы не защищены

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141

146. Сообщение от нах. (?), 28-Дек-23, 10:07   +1 +/
одним - второй в это время засаспенжен. Иначе ничего не получится, слишком много времени надо добить кувалдой куда попало прежде чем свершится чудо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120

147. Сообщение от Аноним (-), 28-Дек-23, 10:29   +/
> А что памяти больше занимается, так посмотрите на 64-битные указатели…

Ты так говоришь как будто программы только и делают что указатели перегружают. С нормальной системой команд там вообще можно адресоваться смещениями от базы, а то и прям от текущего места выполнения (при этом код position independent без жутких костылей характерных для x86-32).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

148. Сообщение от Аноним (-), 28-Дек-23, 10:34   +/
> // при многобитном пробитии ECC пямяти, которая умеет детект в 2 бита
> и коррекцию в 1.
> Бывает кстати куда более хитрая память с многобитным ECC в контроллере -
> эту вы вообще ровхаммеро не пробьёте никак.
> DDR5 вообще в принципе более хитрая.

Чувак, один тип с iXBT разок пробил все кодирование CD-ROM. Интерлив ридсоломона и что там еще. Он мувик записывал. После всех преобразований где-то в середине мувика возникала последовательность косплеящая синхрометку сектора. Большинство приводов охотно видело сектор - там где его нет - и конечно не могло это прочитать. Получился мувик который нельзя записать на CD.

...на этом фоне сказ о том что там не пробьют в DRAM или OoO хлипкоте может выдать либо оптимист, либо дилетант. Современные технологии сложные и хлипкие, а разработчики не хакеры чтобы все странные действия предусматривать. А вот исследователи - палочкой потыкают. И скорее всего найдут в оверинженернутом добре то что ищут. Оверинженерия имеет свою цену.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115 Ответы: #152

149. Сообщение от Аноним (-), 28-Дек-23, 10:48   +/
> То был сарказм на тему ограниченности compile-time возможностей и возведения препроцессора
> в абсолютное зло. Compile-time конкатенация строк на чистом C++ в сотню
> SLOC и всё такое.

Да вооон там заполнение массива generated (предвычесленным) контентом - на гольном си. А чо, так можно было. Препроцессор даже рекурсию умеет и "почти тюринг полный" как таковой.

Просто у него свои грабли есть - на side effects и порядке/эффекте вычислений можно и налететь. Особенно если не обкладывать козла матом^W^W макросы скобками. Впрочем делать хитрож@пые вычисления прямо в вызове функций всяко не стоит, но в макросах залететь можно сильнее.

>> А плюсота - сама по себе сложная, жирная и непредсказуемая в плане рантайм поведения.
> До раста в ядре линукса это звучало даже почти убедительно.

При чем тут вообще хруст? Это такой аргумент из разряда "в линукскернеле хрустиков линчуют"? Оно вообще только начинает пытаться уметь что-то такое, и имеет нехило грабель так то...

> Никто не запрещает обходиться только zero cost abstraction'ами.

Тем не менее плюсы успешно унаследовали от сей ряд бестолковостей, включая и UB и абсолютно дурацкие типы данных навроде "int", определенных ретардами из комитета, абы как. Это стоило и стоит нам всем дохреналион багов на ровном месте. Когда оказывается что int оказывается и 16 битов - валидно. А теперь попробуйте это реально можно. Вон в атмегах можно на свое горе заказать. И все по стандарту как бы. А сколько кода при этом сдуреет?! Чуть менее чем весь?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

150. Сообщение от Аноним (-), 28-Дек-23, 10:55   +/
> Меняет, потому что вам надо не случайный бит перевернуть, а вполне конкретный.
> Что удаётся только в лаборатории с двумя живыми процессами - атакующим и атакуемым.

Да вот блин, я тут пару концептуальных статей с опеннета у себя воспроизвел, так что сказать что исследователи совсем лохи... не, таки, порой дело говорят. Креативные умы свое всегда возьмут.

И да, интрудеры обычно в этом плане сильно выше среднего. Если это не совсем уж боты конечно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120 Ответы: #153, #154

151. Сообщение от Аноним (-), 29-Дек-23, 03:43   +/
> Перевернёшь всю линейку кеша, она же блок шифра. Результат будет немножко "на
> лице".

Или не на лице. Вот как повезет. А воооон то - хотело "не ноль". Ты явно никогда не интересовался всякими извратами, типа как вооон у тех - суперкод, выполняется на нескольких разных процах сразу. Фокус в том что начальный сегмент кода должен быть "не вредным" для чужого проца. Ну и тут - кто гарантируеи что эта линейка кеша вредная или безвредная в таком аспекте? А, никто? Значит можно посмотреть не сработает ли рулетка в пользу атакующего. Он же не лично будет кубики руками подбрасывать, право?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125

152. Сообщение от Tron is Whistling (?), 29-Дек-23, 15:32   +/
После слова "iXBT" мне уже страшно, это место, которое лично я в здравом уме не посещаю.

То, что там синхрометка возникала - это банальный ляп в кодировании, таких ляпов в тех же флопиках был вагон и маленькая тележка без всяких ECC. Более того, эти ляпы использовались для создания защит от копирования задолго до. Такие дела.

К описываемым же дырам это вообще никакого отношения не имеет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #148

153. Сообщение от Tron is Whistling (?), 29-Дек-23, 15:50   +/
Из того, что реально в живых условиях будет работать (и проверено) - это meltdown на соответствующих процах.
Там просто зияющая дыра, которая позволяет не напрягаться годами на определение одного бита.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #150

154. Сообщение от Tron is Whistling (?), 29-Дек-23, 15:51   +/
Ещё L1TF работает, опять же, на соответствующих процах. Но там надо специфичные входные условия.
Всё остальное - это просто базз на удачной волне пока что.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #150


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру