Size: a a a

2021 January 11

CD

Constantine Drozdov in rust_offtopic
потому что если не догадались, то рядом со Spectre был бы еще один чудесный баг, а именно все данные после сисколла можно вытащить из L1 кэша
источник

А

Алексей in rust_offtopic
Constantine Drozdov
давай посмотрим, догадались ли эти недогадливые людишки, что надо нулить L1 кэш при переходе из r0 в r3 или тут им было очевидно, что кэш это часть состояния, а в случае Spectre - нет
я вот не уверен что именно при спекулятивном выполнении выполняется обнуление кэша
источник

А

Алексей in rust_offtopic
при переходе
источник

CD

Constantine Drozdov in rust_offtopic
Алексей
я вот не уверен что именно при спекулятивном выполнении выполняется обнуление кэша
оно и не должно выполняться при спекулятивном выполнении, оно должно выполняться когда спекуляция выполняет GPF
источник

CD

Constantine Drozdov in rust_offtopic
а Spectre заключается в том, что спекулятивное выполнение полностью игнорирует, что ветка завершена GPF
источник

CD

Constantine Drozdov in rust_offtopic
исключение "нарушение общей защиты"? игнорировать без анализа последствий, что вообще может пойти не так от этого
источник

CD

Constantine Drozdov in rust_offtopic
давай еще не будем нулить вспомогательный регистр, в который попросили записать cr0, тут же ничего не может пойти не так
источник

CD

Constantine Drozdov in rust_offtopic
зачем его откатывать, он же освобожденная память
источник

А

Алексей in rust_offtopic
тогда вообще надо из процессора выкидывать всё спекулятивное выполнение
источник

CD

Constantine Drozdov in rust_offtopic
никого и никогда во вселенной не учили нулить память перед вызовом free()
источник

CD

Constantine Drozdov in rust_offtopic
Алексей
тогда вообще надо из процессора выкидывать всё спекулятивное выполнение
нет, нужно перестать дискардить максимально возможное исключение безопасности
источник

CD

Constantine Drozdov in rust_offtopic
что, очевидно, и было сделано, производительность на реальном приложении изменена на 0%
источник

А

Алексей in rust_offtopic
Constantine Drozdov
нет, нужно перестать дискардить максимально возможное исключение безопасности
я что-то не уверен что это полностью поможет
источник

CD

Constantine Drozdov in rust_offtopic
Constantine Drozdov
что, очевидно, и было сделано, производительность на реальном приложении изменена на 0%
потому что нельзя случайно написать привилегированную инструкцию и нельзя случайно в else-ветке попасть в защищенную область памяти
источник

CD

Constantine Drozdov in rust_offtopic
у тебя с ней гигабайт адресов зазора
источник

CD

Constantine Drozdov in rust_offtopic
Алексей
я что-то не уверен что это полностью поможет
не уверен, что поможет обнулить наконец-то состояние процессора при возникшем GPF в спекулятивном выполнении? уверен, ты умеешь читать 0 информации из неизменения состояния
источник

А

Алексей in rust_offtopic
ну там вроде как дофига уязвимостей подобного плана
источник

А

Алексей in rust_offtopic
в процессорах amd вроде тоже
источник

CD

Constantine Drozdov in rust_offtopic
о, я уже думал ты заметишь, что обнуление это изменения состояния
источник

CD

Constantine Drozdov in rust_offtopic
видимо, и правда не очевидно
источник