我读到了现代处理器中的指令集随机化
,其中处理器随机化指令集以避免代码注入(inject)攻击。事实上,维基百科的解释我并不清楚。请问有人可以清楚地解释一下它的过程吗?是否涉及 key ?
最佳答案
指令随机化的思想是避免代码注入(inject)攻击。举例来说,攻击者希望执行一些易受攻击的代码,而他/她所要做的就是将程序控制权转移到该代码块的开头。在不 protected 环境中,一旦控制权转移,CPU 将开始执行代码,因为它无法区分正确的代码和易受攻击的代码。为了防止此类攻击,您可以做的一件“简单”的事情是对攻击者不知道的正确机器代码使用某种加密(使用 key )。所以在解码阶段,正确的代码将首先被解密,然后被解码。由于攻击者不知道用于加密正确代码的 key ,因此他们的代码将无法成功解密阶段,因此不会被执行。
关于cpu - 指令集随机化的大致工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40032769/