Почему Linux kaslr также рандомизирует физические адреса?

Это выглядит странно, потому что после включения mmu мы работаем с виртуальными адресами и не используем физические адреса.


person scopichmu    schedule 30.05.2017    source источник
comment
Я не знаю ответа точно, но если бы мне пришлось угадывать, это могло бы быть какое-то смягчение против атак на основе прямого доступа к памяти. Было бы трудно узнать, где находятся определенные структуры данных ядра.   -  person tangrs    schedule 31.05.2017


Ответы (1)


Предполагаю, что это закалка ядра. Предположим, что злоумышленник может повредить PTE. Если физическое местоположение ядра всегда известно, злоумышленник может немедленно переназначить страницу на подходящее физическое местоположение и получить выполнение кода от имени привилегированного пользователя.

Я думаю, что «защита от устройств с поддержкой DMA» не является правильным ответом. Если вредоносное устройство с поддержкой DMA имеет доступ ко всей физической памяти, например. никакой защиты через IOTLB, то устройство может парсить память и сразу находить где находится ядро ​​в физической памяти.

person Martin Radev    schedule 24.04.2020