我在现代处理器中读到instruction set randomization
,其中处理器随机化指令集以避免代码注入攻击。实际上,维基百科的解释对我来说并不清楚。那么,有人能否以清晰的方式解释它的过程?有关键吗?
答案 0 :(得分:1)
指令随机化的想法是避免代码注入攻击。比如说,攻击者希望执行一些易受攻击的代码,而他/她必须做的就是将程序控制转移到该代码块的开头。在传输控件后的非受保护环境中,CPU将开始执行代码,因为它无法区分正确的代码和易受攻击的代码。一个"简单"你可以采取的防止此类攻击的方法是对攻击者不知道的正确机器代码使用一些加密。因此在解码阶段,首先将正确的代码解密然后解码。由于攻击者不知道用于加密正确代码的密钥,因此他们的代码不会在解密阶段成功,因此不会被执行。