Linux kernel 为什么linuxkaslr也会随机化物理地址?

Linux kernel 为什么linuxkaslr也会随机化物理地址?,linux-kernel,aslr,Linux Kernel,Aslr,这看起来很奇怪,因为启用mmu后,我们使用虚拟地址操作,而不使用物理地址。我认为这是内核的强化。 假设攻击者能够损坏PTE。 如果内核的物理位置始终是已知的,那么攻击者可以立即将页面重新映射到适当的物理位置,并以特权用户的身份执行代码 我认为“保护DMA设备”不是一个有效的答案。 如果具有DMA功能的恶意设备可以访问所有物理内存,例如没有通过IOTLB进行保护,则该设备可以刮取内存并立即找到内核在物理内存中的位置。我认为这是内核的强化。 假设攻击者能够损坏PTE。 如果内核的物理位置始终是已知的

这看起来很奇怪,因为启用mmu后,我们使用虚拟地址操作,而不使用物理地址。

我认为这是内核的强化。 假设攻击者能够损坏PTE。 如果内核的物理位置始终是已知的,那么攻击者可以立即将页面重新映射到适当的物理位置,并以特权用户的身份执行代码

我认为“保护DMA设备”不是一个有效的答案。
如果具有DMA功能的恶意设备可以访问所有物理内存,例如没有通过IOTLB进行保护,则该设备可以刮取内存并立即找到内核在物理内存中的位置。

我认为这是内核的强化。 假设攻击者能够损坏PTE。 如果内核的物理位置始终是已知的,那么攻击者可以立即将页面重新映射到适当的物理位置,并以特权用户的身份执行代码

我认为“保护DMA设备”不是一个有效的答案。
如果具有DMA功能的恶意设备可以访问所有物理内存,例如,没有通过IOTLB进行保护,则该设备可以刮取内存并立即找到内核在物理内存中的位置。

我不知道确切答案,但如果我不得不猜测,这可能是对基于DMA的攻击的某种缓解措施。这将使我们很难知道某些内核数据结构在哪里。我不知道确切的答案,但如果我不得不猜测的话,这可能是对基于DMA的攻击的一些缓解措施。这将使我们很难知道某些内核数据结构在哪里。