加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – ARM是一个更安全的指令集吗?

发布时间:2020-12-15 01:12:05 所属栏目:Java 来源:网络整理
导读:我已经读过正常ARM指令是固定长度的 32位.并且没有ARM指令可以跳转到另一条指令的中间 这对于x86指令很容易. (对于x86,谷歌的NaCl尝试通过对齐32字节边界上的指令来“修复”这个问题.) 这是否使ARM程序更安全或更耐某些攻击? 如果是这样,这是否扩展到Thumb

我已经读过’正常’ARM指令是固定长度的 – 32位.并且没有ARM指令可以跳转到另一条指令的中间 – 这对于x86指令很容易.

(对于x86,谷歌的NaCl尝试通过对齐32字节边界上的指令来“修复”这个问题.)

这是否使ARM程序更安全或更耐某些攻击?

如果是这样,这是否扩展到Thumb和Java指令?

最佳答案
它可以更安全的地方是将操作码扫描到沙箱进程.如果要禁止或拦截某些指令,则在固定长度指令集上执行此操作会更容易.在x86架构上,指令集取决于上下文,并且指令具有可变长度,因此如果从正确的偏移量解析它,那么看起来无害的指令实际上可以嵌入另一条指令.您可以有效地“跳入指令中间”并仍然有一个有效的指令.

ARM更容易解析,而拇指模式不会改变这一点.因此,ARM指令集本身并不是特别安全,但是更容易解析,并且正确的解析对于像沙盒这样的NaCl是必要的

这是简短且可能不准确的答案.有关更明确的答案,请查看此blog post
在优秀的matasano博客上

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读