1.4, ИмяХ (ok), 20:30, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
>>выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек
Доигрались со своими уменьшениями наномеров. Теперь приходится использовать костыль, из-за которого начение, которое по идее должно было занимать один бит, теперь занимает аж четыре байта.
| |
|
2.7, Аноним (7), 20:45, 22/12/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Доигрались со своими уменьшениями наномеров. Теперь приходится использовать костыль,
> из-за которого начение, которое по идее должно было занимать один бит,
> теперь занимает аж четыре байта.
Вообще-то rowhammer - очень фундаментальная атака, которая долбит "DRAM вообще" и совсем не факт что старый лучше нового, на DDR2/3 с довольно дубовыми нормами - работало. Без регенерации старый DRAM терял данные не хуже нового.
В DDR4 попытались костыльнуть, но вышло именно как объявление в аэропорту "пытался совершить посадку самолет номер 13". Т.е. - пытались, да. Исследователи вскоре заметили что получилось это "не очень".
| |
2.9, OpenEcho (?), 20:51, 22/12/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
> которое по идее должно было занимать один бит, теперь занимает аж четыре байта.
Минимальный размер в ЦПУ = размер регистра, который в современных процессорах значительно больше чем даже 4 байта ;) И чтобы не ронять скорость, лучше оперировать размерами регистра вместо тогo чтобы потом еще AND-ить выделяя нужные биты
| |
|
3.49, Твайлайт Спаркл (ok), 06:24, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Именно! Например, в архитектуре x86_64 процессору удобнее работать с значениями в 64-битных целочисленных регистрах общего назначения. Но и 32-битные регистры всё ещё работают достаточно быстро.
А что памяти больше занимается, так посмотрите на 64-битные указатели…
| |
|
4.61, Аноним (61), 09:36, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
У меня вот есть смартфон, у которого 64 битный процессор, но официальная прошивка 32 битная. И порт 64 битной версии с похожего устройства работает заметно быстрее, хоть и оставляет меньше свободной озу
| |
4.147, Аноним (-), 10:29, 28/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> А что памяти больше занимается, так посмотрите на 64-битные указатели…
Ты так говоришь как будто программы только и делают что указатели перегружают. С нормальной системой команд там вообще можно адресоваться смещениями от базы, а то и прям от текущего места выполнения (при этом код position independent без жутких костылей характерных для x86-32).
| |
|
|
4.122, OpenEcho (?), 11:48, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> А зачем вам AND'ить, если у CPU есть команды проверки-установки-сброса-инверсии бита?
Разговор не о выделении битов, а как вообще это избежать зная как устроенна хардварь... и да, AND - это классика, которую поймет любой если хоть чуть-чуть в теме и без заморочек с BMI only CPU
| |
|
5.123, Tron is Whistling (?), 12:04, 24/12/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну кстати вот набивка битов тоже позволила бы этой проблемы частично избежать.
Хотя, повторюсь, проблема выеденного яйца не стоит - меньше китайского хлама, больше ECC.
Весь софт в любом случае не переписать.
| |
|
6.130, OpenEcho (?), 22:42, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> меньше китайского хлама
Альтернатив однако маловато :)
> больше ECC.
https://www.vusec.net/projects/eccploit/
> Весь софт в любом случае не переписать.
Ну так в новом по крайней мере меньше возможностей будет, хотя, предложенный метод ИМО хоть и будет работать, но из серии обфускации, - попытка фиксить следствие, а не причину
| |
|
7.132, Tron is Whistling (?), 09:17, 25/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну да, три конкретных доисторических платформы с подогнанными модулями памяти в раболатории - это всё, снова ЙЕС-плоит.
Кмк кто-то просто жирно троллит. Кончится тем, что в погоне за всем этим лабораторным бредом наделают реальных дыр.
| |
|
|
|
|
|
|
1.5, sig11 (ok), 20:32, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Если память искажается "чтением памяти", то такая память летит в топку.. И ни какие "патчи" смысла не имеют.
| |
|
2.10, Аноним (-), 20:52, 22/12/2023 [^] [^^] [^^^] [ответить]
| +7 +/– |
> Если память искажается "чтением памяти", то такая память летит в топку.. И
> ни какие "патчи" смысла не имеют.
Ну, тогда мы выкинем добрую произведенной DRAM на планете, ибо DRAM без регенерации искажается by design - а вон то генерит хитрые паттерны доступа, нагибающие регенарацию памяти.
Это как хакер и солонка - разработчики DRAM не хакеры, они не подумали о том что кто-то захочет прострелить себе пятку. При том это - древний факап. Ему потенциально подвержена чуть ли не вся DRAM. На ECC вы таки заметите проблемы.
Хотя на вот конкретно моих экземплярах - ну вот не срабатывает что-то. И с ECC и без. Толи структуру контроллера не угадало, толи повезло и память даже при worst case все ж удерживает.
| |
|
3.27, Аноним (27), 22:53, 22/12/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Ну, тогда мы выкинем добрую произведенной DRAM на планете, ибо DRAM без регенерации искажается by design - а вон то генерит хитрые паттерны доступа, нагибающие регенарацию памяти.
Да, и начнем повсеместно использовать память с ECC. Давно пора.
| |
|
4.29, Аноним (-), 23:00, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> Ну, тогда мы выкинем добрую произведенной DRAM на планете, ибо DRAM без
>> регенерации искажается by design - а вон то генерит хитрые паттерны доступа,
>> нагибающие регенарацию памяти.
> Да, и начнем повсеместно использовать память с ECC. Давно пора.
Если память реально уязвимая, ECC в конце концов будет пробит - ЭТО может вызывать многобитовые сбои. Которые ECC имеет право даже и не заметить вообще. А если вы как умная клава включите chip-kill, тогда вот вам ремотная DoS атака "атакующий может оставить систему вообще без оперативки".
| |
|
5.40, Аноним (27), 02:09, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Дело не в том, что ECC не может быть пробит. Дело в стоимости этой затеи, а также её заметности для пользователя. Если какой-то процесс начнет активно бомбить память, и с помощью ECC это заметит CPU, то об этом узнает ядро и скажет пользователю, а то и сразу прибьет процесс, пока он не натворил дел.
| |
|
6.46, Аноним (-), 06:15, 23/12/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Дело не в том, что ECC не может быть пробит. Дело в стоимости этой затеи,
Да какая, нахрен, стоимость? Купить пятибаксовую вдску рядом? А то и вообще JS запустить почти нахаляву? Это кошмар, конечно.
> а также её заметности для пользователя.
...если он читает логи, что как показала практика, 50/50.
> Если какой-то процесс начнет активно бомбить память, и с помощью ECC это заметит
> CPU, то об этом узнает ядро и скажет пользователю, а то
> и сразу прибьет процесс, пока он не натворил дел.
Красивая теория. А откуда юзер узнает какой это процесс? Более того - на хостинге с виртуалками там процессов - и вообще виртуалок - хоть джеппой жуй. А вот апгрейднуть вдску до дедика, и потом и спустившись покрыть все стадо - желающие наверное найдутся.
| |
|
5.68, Tron is Whistling (?), 14:12, 23/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Если память реально уязвимая, ECC в конце концов будет пробит - ЭТО может вызывать многобитовые сбои
При обнаруженном многобитовом сбое ECC система останавливается.
Поэтому не заметить не удастся.
| |
|
6.100, Аноним (-), 01:20, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> Если память реально уязвимая, ECC в конце концов будет пробит - ЭТО может
>> вызывать многобитовые сбои
> При обнаруженном многобитовом сбое ECC система останавливается.
Вообще-то это обычно настраивается. Как и chip-kill. Ну и так то ремотная DoS атака - тоже в общем то неплохо. К тому же оно там перезагрузится и можно будет еще попробовать. Боты что, торопятся куда-то?
> Поэтому не заметить не удастся.
Ну вон там на соседнем форуме додик с цисками примерно такой, софт у него на цисках падает, видите ли, довольно часто. ИМХО - его эксплойтами гасят. Но вот что он сделает? Выключит свое счастье совем? Self destruct конечно лишает атакующих морального удовлетворения но в остальном - результат не такой уж и плохой :)
| |
|
7.113, Tron is Whistling (?), 10:38, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Останов при многобитном ECC обычно _не_ настраивается. Поэтому что это фатальное состояние, продолжение работы после которого невозможно.
> ремотная DoS атака
Какая ремотная атака, вы о чём вообще? Для работы rowhammer - надо исполняться на той же системе.
> Ну вон там на соседнем форуме додик с цисками примерно такой, софт у него на цисках падает, видите ли, довольно часто. ИМХО - его эксплойтами гасят
Имхо, там пора таки слезть с дохлой лошади (7600), и выкинуть этот хлам в утиль, конденсаторы умерли.
| |
|
|
9.148, Аноним (-), 10:34, 28/12/2023 [^] [^^] [^^^] [ответить] | +/– | Чувак, один тип с iXBT разок пробил все кодирование CD-ROM Интерлив ридсоломона... большой текст свёрнут, показать | |
|
|
|
|
|
4.126, Tron is Whistling (?), 12:18, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Да, и начнем повсеместно использовать память с ECC. Давно пора.
Ну да. У меня даже на десктопе уже лет 10 стоит память с ECC.
И даже ровхуммер тут не при чём, просто вон тот самый битврот, которым стращают адепты зфс - у него наибольший шанс произойти именно в унылой современной DRAM высокой плотности, и никакие зфс не спасут.
| |
|
3.36, Аноним (36), 00:37, 23/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Хотя на вот конкретно моих экземплярах - ну вот не срабатывает что-то.
непонятно как это должно работать если auth в регистре
int auth = 0;
... // код проверки, меняющий значение auth в случае успешной аутентификации
if(auth != 0)
| |
|
2.13, OpenEcho (?), 20:55, 22/12/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> то такая память летит в топку..
Праздники еще не начались, а народ смотрю уже разогрелся :)
Перед тем как в топку, сперва замену неплохо бы, не?
| |
|
3.16, Аноним (-), 20:58, 22/12/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> то такая память летит в топку..
> Праздники еще не начались, а народ смотрю уже разогрелся :)
> Перед тем как в топку, сперва замену неплохо бы, не?
Ща, он вытащит планки памяти - и поудивляется что без них почему-то не работает :)
| |
3.18, Chel (?), 21:18, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>замену неплохо бы
Статической памяти лет больше, чем динамической. Но плотность и цена...
| |
|
4.19, OpenEcho (?), 21:26, 22/12/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
>>замену неплохо бы
> Статической памяти лет больше, чем динамической. Но плотность и цена...
Ага, а ферритовые кольца еще старее, но размер...
| |
|
5.28, Аноним (-), 22:58, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Зато их можно использовать вместо шашек!
И они классно катаются по столу))
| |
|
6.43, OpenEcho (?), 04:08, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Зато их можно использовать вместо шашек!
Да что шашки?! Ожерелья целые можно было делать!
| |
|
7.101, Аноним (-), 01:24, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> Зато их можно использовать вместо шашек!
> Да что шашки?! Ожерелья целые можно было делать!
Ибо сказано - девице бусы :)
| |
|
|
|
|
3.20, Аноним (20), 21:34, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Не, на опеннете так не принято. Принято взвизгнуть и ничего не делать. Вон сверху не осилившие поступить в МГУ задаются вопросом, где мгушные исследователи.))
| |
|
|
5.128, Аноним (128), 20:23, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Мгимо финишт обычно другой сектор обслуживают и недавно у них проблемы с трудоустройством были - работодатель поменялся.
| |
|
|
|
2.22, Аноним (22), 21:34, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вот согласен.
> необходимо точно исказить существенное число битов
Тут хакеру даже долго думать не надо, просто надо искажать любые биты и получится аналог ддоса. :)
После того, как суду в сотый раз не сработает, пользователь плюнет на все эти софтверные ухищрения и пойдёт искать нормальную память.
| |
|
1.8, pin (??), 20:45, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Что-то аппаратную it индустрию нагнули жестко за последние годы. Интересно, а архитектура Эльбрусов с такими же дырами?
| |
|
2.12, Аноним (-), 20:55, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Что-то аппаратную it индустрию нагнули жестко за последние годы. Интересно, а архитектура
> Эльбрусов с такими же дырами?
Врядли эльбрусы используют особую, уличную магию^W DRAM - где они ее возьмут?! Как максимум она с ECC окажется в лучшем случае. Но даже ECC при должном желании можно пробить, просто ор в логи будет ДО этого, из-за сбоев ECC.
| |
|
3.17, Вирт (?), 21:09, 22/12/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Врядли эльбрусы используют особую
Вообще-то используют. Там есть отдельный стек, для адресов возврата.
Поэтому найти переменную, которую нужно "долбить" будет сложнее,
так как она лежит в стеке для переменных.
| |
|
4.30, Аноним (-), 23:06, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> Врядли эльбрусы используют особую
> Вообще-то используют. Там есть отдельный стек, для адресов возврата.
КМК это не помогает от искажений значений переменных в DRAM. Такая ерунда. Вон там - адреса возврата никто и не менял.
> Поэтому найти переменную, которую нужно "долбить" будет сложнее,
> так как она лежит в стеке для переменных.
Учитывая что rowhammer-а даже из JS пытаются практиковать - сильно уповать на то что атакующие чего-то там не смогут найти я бы не стал.
| |
|
|
2.42, Sw00p aka Jerom (?), 03:29, 23/12/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Что-то аппаратную it индустрию нагнули жестко
абстрагируйтесь :) они к этому шли, а вы завтра новую "память" купите, она же нынче копейки стоит.
| |
2.57, Аноним (57), 09:03, 23/12/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Давно уже.
У меня ноутбук (!) требует 240 ватт мощности, на официальном заряднике. И при малейшем сбое напруги (например, при саспенде), троттлит половину чипов.
При этом ему ещё 240 ватт мало, он в моменты пиковой нагрузки подтягивает мощу с батареи, то есть, без "новой" батареи и "нового" БП он вообще на проектную мощность не выходит.
Приучили всех к "экспоненциальному росту", и все всё ещё ждут его, как будто так и надо.
А он всё.
| |
2.60, Аноним (60), 09:31, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Такого понятия как "архитектура эльбрусов" не существует. Чтобы её привести в божеский вид -- её надо ещё пилить и пилить, слишком уж она сырая.
| |
|
|
4.111, Аноним (57), 10:21, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Это малореально понять при покупке.
Что значит "нехер"? Купить же можно? Можно.
Причём я купил Б/У, который за 3 года не сгорел. А что там у ноутов 2023 года выпуска, мне трудно представить.
| |
|
|
|
1.11, Аноним (11), 20:53, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
такими хакерами должна заниматься полиция, а не бизнес.
если им платить за каждую чепуху - чепуха будет размножаться бесконечно.
если их вешать на сетевых кабелях - чепуха закончится вместа с хакерами.
| |
|
2.14, OpenEcho (?), 20:56, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> если их вешать на сетевых кабелях - чепуха закончится вместа с хакерами.
Наврядли вы найдете столько много кабелей
| |
|
|
4.84, OpenEcho (?), 20:17, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> А колья или бамбук? )
Ну, если так будет и дальше продолжаться по всему миру, то скорее всего 4 мировая будет именно на кольях и бамбуках, но хакеры, они все равно - были, есть и будут бессмертны, как вирусы :)
| |
|
|
2.15, Аноним (-), 20:57, 22/12/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
> такими хакерами должна заниматься полиция, а не бизнес.
> если им платить за каждую чепуху - чепуха будет размножаться бесконечно.
> если их вешать на сетевых кабелях - чепуха закончится вместа с хакерами.
Это так не работает. В результате - вооооон там на форуме какой-то чудак плачется что цыски падают. Теперь попробуй найти того кто это ему организовал.
Блекхеты как бы в курсе что за активный дестрой и грабеж полагается - поэтому их очень сложно найти. И единственное изменение с вон того - значит white и gray hats переквалифицируются в black и будут как следует шифроваться. Тягу к знаниям это не остановит.
| |
|
3.64, Аноним (64), 11:10, 23/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Блекхеты как бы в курсе что за активный дестрой и грабеж полагается - поэтому их очень сложно найти
Найти-то легко ... для крыши. Инфраструктура есть, целая страна рабов, с пиететом выполняющая повеления Хозяина тоже есть. После чего они работают на свою крышу, и достать их могут разве что беспилотниками, и то только в случаях крайне испорченных дипотношений.
| |
|
4.102, Аноним (-), 02:04, 24/12/2023 [^] [^^] [^^^] [ответить] | +/– | Всякие мутные типы навроде кардеров, ддосеров, спамеров, неофициальных воротил... большой текст свёрнут, показать | |
|
|
2.33, Аноним (33), 23:47, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Скажите это в лицо полиции, заодно прихватите с собой кабель, а мы поржём
| |
|
1.21, InuYasha (??), 21:34, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +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.
| |
1.23, Аноним (23), 21:42, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
if (auth == "прошёл проверку, а вы дальше пердольте чипы памяти") { ...
И тут набигают сишники с криками о многословности.
| |
|
2.66, Аноним (66), 12:07, 23/12/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> if (auth == "прошёл проверку, а вы дальше пердольте чипы памяти") { ...
Сишники набигут, потому что ты сравнил не содержимое строки, а всего лишь адрес указателя...
| |
|
1.24, Аноним (-), 22:06, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
А если бы сравнивали с true, то шансы на удачное изменение стали бы существенно меньше
| |
|
2.51, Твайлайт Спаркл (ok), 06:31, 23/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
С чего бы? Стандарт Си (С++) говорит, что 0 - это false, а всё остальное - true. В тексте новости как раз про это сказано.
| |
|
1.32, Аноним (32), 23:45, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Просто не надо вредоносное ПО, написанное на JavaScript, на своей машине запускать.
| |
|
2.62, Аноним (62), 09:58, 23/12/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Осталось ответить на простой вопрос - а как так получилось, что JS-у разрешили чистить кэши (без чего атака на память не пройдёт), и как он обходит ASLR и т.п. чтобы найти адреса целевого процесса.
| |
|
1.34, pavlinux (ok), 23:51, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Для защиты от атаки Mayhem рекомендуется использовать в сравнениях
> не оценку отличий от нуля или совпадения с единицей, а проверку ...
Чо париться, переходим на float?!!
| |
|
2.37, Аноним (66), 00:55, 23/12/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так 0 через float в памяти тоже будет представлен как 00 00 00 00.
| |
|
1.38, Аноним (-), 01:04, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Для защиты от атаки Mayhem рекомендуется использовать...
... флаг -O2 при компиляции.
| |
1.39, Аноним (39), 01:22, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +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 */
кто подумает "что за альтернативно одарённый это писал" и вернёт всё как было?
| |
|
2.58, Вы забыли заполнить поле Name. (?), 09:22, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> кто подумает "что за альтернативно одарённый это писал" и вернёт всё как было?
и совершенно правильно сделает.
Очередная псевдоатака требующая msdos 1.0 и то в лаборатории. А то можно нечаяно попасть в соседний битик и все тyпо навернется.
| |
|
3.65, Аноним (66), 12:02, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> За дефайны вообще вон из профессии.
А что тогда вместо них использовать?
| |
|
|
5.112, InuYasha (??), 10:28, 24/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Для числовых значений сойдёт const
дада, счас адепты constexpr набигут ещё. #define в умелых руках творят добрые чудеса. :D
| |
|
6.131, Аноним (131), 05:27, 25/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну, стандарты вроде той же MISRA, наверное, станут требовать constexpr в C, когда он перестанет быть слишком новым. Для C++ там есть аналогичный пунктик (16-2-2) не использовать #define для констант.
Хотя только #define и enum выражают красивую идею "подставить литерал, никогда не создавая в памяти переменную, не давая возможности сослаться на неё".
| |
|
|
4.97, Аноним (131), 23:36, 23/12/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Надо использовать дефайны, но не забывать их ругать, чтобы не выделяться Дело н... большой текст свёрнут, показать | |
|
5.104, Аноним (-), 02:16, 24/12/2023 [^] [^^] [^^^] [ответить] | +1 +/– | И все бы это ничего - но навернувшаяся в run time с run time ошибкой управляющая... большой текст свёрнут, показать | |
|
6.110, Аноним (131), 09:21, 24/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
То был сарказм на тему ограниченности compile-time возможностей и возведения препроцессора в абсолютное зло. Compile-time конкатенация строк на чистом C++ в сотню SLOC и всё такое.
> А плюсота - сама по себе сложная, жирная и непредсказуемая в плане рантайм поведения.
До раста в ядре линукса это звучало даже почти убедительно. Никто не запрещает обходиться только zero cost abstraction'ами.
| |
|
7.149, Аноним (-), 10:48, 28/12/2023 [^] [^^] [^^^] [ответить] | +/– | Да вооон там заполнение массива generated предвычесленным контентом - на гольн... большой текст свёрнут, показать | |
|
|
|
|
|
2.103, X512 (?), 02:06, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Лучше бы ещё эти константы динамически рандомно генерировать в процессе сборки, а то могут умудриться сгенерировать нужный паттерн через уязвимость DRAM.
| |
|
1.41, Аноним (41), 02:21, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Кто-нибудь знает:
- как определить поддерживает ли DIMM TRR (Target Row Refresh),
- поддерживает ли этот режим контроллер памяти процессора, и
- как эту поддержку в контроллере включить если она не включена?
| |
|
2.48, Аноним (-), 06:21, 23/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Кто-нибудь знает:
> - как определить поддерживает ли DIMM TRR (Target Row Refresh),
> - поддерживает ли этот режим контроллер памяти процессора, и
> - как эту поддержку в контроллере включить если она не включена?
Я знаю что надежнее всего - запустить rowhammer у себя на системе и посмотреть что будет :). Если упало/взвыл ECC - упс, у вас точно проблемы.
| |
|
3.118, Tron is Whistling (?), 10:51, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Погонял несколько вариантов rowhammer у себя на десктопе тестовых системах.
Несколько часов гонял. ECC не взвыла ни разу.
Короче, не ставьте китайский хлам в системы, и будет вам счастье.
| |
|
2.90, pavlinux (ok), 20:56, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Кто-нибудь знает:
> - как определить поддерживает ли DIMM TRR (Target Row Refresh),
# dmidecode
| |
|
3.107, Аноним (41), 04:53, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Если у вас есть выхлоп dmidecode в котором показано, что trr поддерживается - скиньте плз сюда.
| |
|
4.127, pavlinux (ok), 13:46, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Не, до 9 января комп с DDR4 не доступен ))
> - поддерживает ли этот режим контроллер памяти процессора, и
> - как эту поддержку в контроллере включить если она не включена?
Ковыряй JESD209-4 DDR4 Spec.
DDR регистр: MR24, 7-ой операнд, если 0 - TTR выключен (по дефолту), 1 - включен.
В юзер/kernel-моде точно не включишь/выключишь,
из кода загрузчика можно попробовать. От писателей BIOS зависит.
| |
|
|
2.134, Аноним (135), 11:09, 25/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
пришли мне полную копию своего винта, я посмотрю есть ли у тебя поддержка
| |
|
1.44, крок (?), 05:22, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
ЕСС и шифрование памяти на лету самим контроллером на корню решают данную проблему, что и сделал амд.
Возня с правкой кода под такое - трата времени, это проблема не уровня приложения.
| |
|
2.50, Аноним (-), 06:27, 23/12/2023 [^] [^^] [^^^] [ответить] | –1 +/– | А точно - на корню Скажем две одинаковые записи в 1 адрес - кодируются одинаков... большой текст свёрнут, показать | |
|
3.86, pavlinux (ok), 20:38, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> ЕСС и шифрование памяти на лету самим контроллером на корню решают данную
>> проблему, что и сделал амд.
> А точно - на корню? Скажем две одинаковые записи в 1 адрес
> - кодируются одинаково? Тогда можно будет немного побрутфорсить - и подогнать
> исходные биты так, чтобы целевые биты стали нужными.
Окончил онлайн курсы пентератора? :D
Прям так взял и с разбега залез в чужое адресное пространство )))
| |
|
4.105, Аноним (-), 02:23, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> - кодируются одинаково? Тогда можно будет немного побрутфорсить - и подогнать
>> исходные биты так, чтобы целевые биты стали нужными.
> Окончил онлайн курсы пентератора? :D
В каком-то роде...
> Прям так взял и с разбега залез в чужое адресное пространство )))
А зачем - в чужое? Цель - регенерацию нагнуть. Для этого надо определенные паттерны доступа. И единственное что надо - понять как в новом наборе неидеальностей спровоцировать то же самое по смыслу.
И если кто думает что такие трансформации принципиально невозможны - окей, а откуда это следует? Вон то добро и так довольно много пермутаций и что там еще DRAM контроллеров аннулирует, ну или пытается для вон того. Плюс-минус пара quirk что-то радикально меняет в правилах игры?
| |
|
5.120, Tron is Whistling (?), 10:53, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Меняет, потому что вам надо не случайный бит перевернуть, а вполне конкретный.
Что удаётся только в лаборатории с двумя живыми процессами - атакующим и атакуемым.
| |
|
6.146, нах. (?), 10:07, 28/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
одним - второй в это время засаспенжен. Иначе ничего не получится, слишком много времени надо добить кувалдой куда попало прежде чем свершится чудо.
| |
6.150, Аноним (-), 10:55, 28/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Меняет, потому что вам надо не случайный бит перевернуть, а вполне конкретный.
> Что удаётся только в лаборатории с двумя живыми процессами - атакующим и атакуемым.
Да вот блин, я тут пару концептуальных статей с опеннета у себя воспроизвел, так что сказать что исследователи совсем лохи... не, таки, порой дело говорят. Креативные умы свое всегда возьмут.
И да, интрудеры обычно в этом плане сильно выше среднего. Если это не совсем уж боты конечно.
| |
|
7.153, Tron is Whistling (?), 15:50, 29/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Из того, что реально в живых условиях будет работать (и проверено) - это meltdown на соответствующих процах.
Там просто зияющая дыра, которая позволяет не напрягаться годами на определение одного бита.
| |
7.154, Tron is Whistling (?), 15:51, 29/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ещё L1TF работает, опять же, на соответствующих процах. Но там надо специфичные входные условия.
Всё остальное - это просто базз на удачной волне пока что.
| |
|
|
|
|
3.89, Ivan_83 (ok), 20:43, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
SME у AMD использует AES, и наверное рандомный ключ/IV.
Потому про одинаково - сомнительно.
Использование AES означает что оно работает блоками, те ты типа флипнул 1 бит в байте а поменялись все 128 бит (16 байт).
Использование SME решает проблему потому что результат становится не предсказуемым.
| |
|
4.106, Аноним (-), 02:30, 24/12/2023 [^] [^^] [^^^] [ответить] | +/– | Тут вот какое дело если ключ IV рандомные - ИХ НАДО ГДЕ-ТО ХРАНИТЬ Это лишне... большой текст свёрнут, показать | |
|
3.125, Tron is Whistling (?), 12:13, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> А точно - на корню? Скажем две одинаковые записи в 1 адрес - кодируются одинаково?
Перевернёшь всю линейку кеша, она же блок шифра. Результат будет немножко "на лице".
| |
|
4.151, Аноним (-), 03:43, 29/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Перевернёшь всю линейку кеша, она же блок шифра. Результат будет немножко "на
> лице".
Или не на лице. Вот как повезет. А воооон то - хотело "не ноль". Ты явно никогда не интересовался всякими извратами, типа как вооон у тех - суперкод, выполняется на нескольких разных процах сразу. Фокус в том что начальный сегмент кода должен быть "не вредным" для чужого проца. Ну и тут - кто гарантируеи что эта линейка кеша вредная или безвредная в таком аспекте? А, никто? Значит можно посмотреть не сработает ли рулетка в пользу атакующего. Он же не лично будет кубики руками подбрасывать, право?
| |
|
|
|
3.109, Аноним (109), 08:10, 24/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
если у тебя Ryzen то включаешь в UEFI опцию tSME и забываешь о rowhammer навсегда
если у тебя Incel ...ну, ссзб
| |
|
2.83, Аноним (80), 20:14, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Мне вот только непонятно, как ПДП с этим совместим. Получается, что другой ведущий шины тоже должен шифровать/расшифровывать? А как обмен ключами с переферийными устройствами?
| |
|
3.91, Ivan_83 (ok), 21:00, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Этим контроллер памяти занимается, как я понял ему только ключи дают.
| |
3.124, Tron is Whistling (?), 12:10, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Другого ведущего шины уже давно нет.
Не, PCIe в теории может работать в p2p, но это редкий и почти не поддерживаемый режим.
В основном все транзакции между устройствами традиционно идут через root complex, он же CPU.
К памяти - всегда через root complex, по понятным причинам, контроллер то в CPU.
А тот уже может творить всё, что захочет.
| |
|
|
1.53, Аноним (53), 07:10, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
О чень интересно почему эта проблема всплыла только сейчас. Лет 15 назад когда игрался с прогами типа Artmoney это было очевидно и работало на ура. Конечно локaлизация нужных переменных в памяти тот еще квест но решаемый.
| |
|
2.99, Ivan_83 (ok), 00:59, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Оно просто читало/писало память процесса, в этом ничего сложного нет.
| |
|
1.67, Аноним (67), 12:38, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> if(auth != 0)
> return AUTH_SUCCESS;
Не понимаю — что это. Кто и каким образом определил алгоритм, при котором одно значение некорректное, а мириады других проходят проверку.
| |
1.70, Tron is Whistling (?), 14:14, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Честно - вся эта проблема выеденного яйца не стоит, и в реальных системах постороннего шума столько, что просто не сработает. Или поставит систему колом из-за многобитовой ошибки ECC, там чтобы один-то бит свернуть надо хорошо поизголяться, а чтобы более двух, да ещё и попасть в необнаружимое...
| |
|
2.71, Tron is Whistling (?), 14:15, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Плюс когда модулей множество - надо ещё интерлив угадывать, и там ещё несколько контроллеров может быть как у EPYC'ов, короче удачи.
| |
2.72, Tron is Whistling (?), 14:17, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Понятно, что на тестах вот только с sudo и атакующим процессором, на одном-единственном модуле памяти с нужным числом рангов и чипов, чтобы интерлив сильно не мешал, на конкретном проце и плате, имеющих конкретные характеристики, чтобы оно флипнуло - оно слегка работает. Но за этими пределами - извините.
| |
2.74, Tron is Whistling (?), 14:21, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
А учитывая, что DDR5 - уже не бесконтроллерная, и имеет встроенную не заметную для системы ECC просто из-за хреновых параметров модулей, там контроллер просто этот ровхуммер размешает с вот этим самым, и ничего не получится в принципе.
| |
|
3.96, Аноним (96), 23:17, 23/12/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
О, эксперт по технологиям памяти! Почему не существует адаптеров DDR5 -> DDR2?
| |
|
2.88, pavlinux (ok), 20:42, 23/12/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Честно - вся эта проблема выеденного яйца не стоит, и в реальных
> системах постороннего шума столько, что просто не сработает.
Новость читал?
> Прототип кода для совершения атаки планируют опубликовать после
> внесения исправлений в основные уязвимые проекты."
> .... в SUDO, OpenSSH и MySQL, а также для изменения результата проверок,
> связанных с безопасностью, в библиотеке OpenSSL. | |
|
3.94, Tron is Whistling (?), 22:43, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Просто посмотри исходную статью.
Там модули памяти реально приходится подбирать.
Ну и ставить поштучно.
На реальных системах всё это будет работать раз в несколько тысячелетий.
| |
|
|
5.138, Tron is Whistling (?), 11:37, 25/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Я так-то ошибки ECC мониторю. Особенно со времён, когда делл впих**рил в серверы г**ноhynix, который их давал просто по факту существования, пока в фирмвари тайминги не подкрутили вниз от "штатных".
На данный момент их нет.
| |
|
4.142, pavlinux (ok), 13:50, 25/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Там модули памяти реально приходится подбирать.
Жертвы для атак так же выбирают: есть зацепка - ломаем, нет - следующий.
> Ну и ставить поштучно.
kmalloc_node(const), cpu_affinity( const ) ... и ещё куча фишек не фрагментироваться в памяти.
C огромной вероятностью виртуальная память линейно отобразиться на физическую.
| |
|
|
|
|
2.79, пох. (?), 19:02, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
да вроде нет - сколько битов в CoC.md не переворачиваю - ничего не случается.
| |
|
3.114, InuYasha (??), 10:39, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
ты там аккуратнее - можно нечайно black на white заменить и сильно заоффендить жителей другого континента.
| |
|
|
1.140, Пряник (?), 12:14, 25/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Может ещё через ArtMoney взломаем sudo? Почему вообще у вредоносного процесса есть доступ к области памяти sudo?
| |
|
2.141, Пряник (?), 12:17, 25/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну ладно, может нет. Он скорее всего смотрит маппинги виртуальной памяти sudo на физическую и долбит её через Rowhammer.
| |
|
3.145, нах. (?), 17:16, 27/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Он скорее всего смотрит маппинги виртуальной памяти sudo
чего в нормально спроектированной системе тоже быть в принципе не должно - но это ж линукс, не удивлюсь если с его /proc даже suid процессы не защищены
| |
|
|
|