У меня есть базовые знания об ОС, и я понимаю механизм уязвимости, вызванной распадом, но мне нужна помощь, чтобы заполнить пробел между чтением памяти ядра и кражей пользовательских паролей.
Расплавление позволяет программе пространства пользователя считывать память ядра, используя побочный канал и спекулятивное выполнение, потому что память ядра отображается в адресное пространство пространства пользователя для производительности.
Однако я не понимаю, почему чтение памяти ядра означает кражу паролей пользователя и секретов других программ?
Приложение может считывать как собственное адресное пространство, так и пространство ядра (из-за распада). Однако, насколько я понимаю, адресное пространство других процессов не отображается в текущем адресном пространстве текущего приложения. В результате, как текущее приложение может читать память других процессов?
Например, если приложение имеет адресное пространство 4 ГБ, половина его - это собственная память приложения, а половина - память ядра. Вы не можете создать виртуальный адрес, который находится в памяти другого приложения, верно ли мое понимание?