phi*_*urn 5 java security x86 arm
我已经读过'正常'ARM指令是固定长度的 - 32位.并且没有ARM指令可以跳转到另一条指令的中间 - 这对于x86指令很容易.
(对于x86,谷歌的NaCl尝试通过对齐32字节边界上的指令来"修复"这个问题.)
这是否使ARM程序更安全或更耐某些攻击?
如果是这样,这是否扩展到Thumb和Java指令?
sho*_*nex 4
更安全的地方是将操作码扫描到沙箱进程时。如果你想禁止或拦截某些指令,在固定长度的指令集上这样做会更容易。在 x86 架构上,指令集取决于上下文,并且指令具有可变长度,因此如果您从正确的偏移量解析一条指令,那么看似无害的指令实际上可以嵌入另一条指令。您可以有效地“跳转到指令中间”并且仍然拥有有效的指令。
ARM 更容易解析,拇指模式不会改变这一点。所以ARM指令集本身并不是特别安全,但更容易解析,并且正确的解析对于像沙箱这样的NaCl是必要的
这是简短且可能不准确的答案。如需更明确的答案,请查看 优秀 matasano 博客上的这篇博文
归档时间:
15 年,6 月 前
查看次数:
527 次
最近记录: