cpu - 指令集随机化的大致工作原理

标签 cpu cpu-architecture processor instruction-set

我读到了现代处理器中的指令集随机化,其中处理器随机化指令集以避免代码注入(inject)攻击。事实上,维基百科的解释我并不清楚。请问有人可以清楚地解释一下它的过程吗?是否涉及 key ?

最佳答案

指令随机化的思想是避免代码注入(inject)攻击。举例来说,攻击者希望执行一些易受攻击的代码,而他/她所要做的就是将程序控制权转移到该代码块的开头。在不 protected 环境中,一旦控制权转移,CPU 将开始执行代码,因为它无法区分正确的代码和易受攻击的代码。为了防止此类攻击,您可以做的一件“简单”的事情是对攻击者不知道的正确机器代码使用某种加密(使用 key )。所以在解码阶段,正确的代码将首先被解密,然后被解码。由于攻击者不知道用于加密正确代码的 key ,因此他们的代码将无法成功解密阶段,因此不会被执行。

关于cpu - 指令集随机化的大致工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40032769/

相关文章:

mips - MIPS r10000 如何获取隐藏指令缓存延迟?

performance - 使用 CPU 与 GPU 训练模型 - 速度与内存

debugging - 调试器/异常如何在已编译的程序上工作?

cpu-architecture - 本地 CPU 可能会降低远程 CPU 的数据包接收性能

c# - 如何在 C# .net 中获取处理器 CPU 标志?

processor - 6502 中的状态寄存器何时更新?

通过/proc/stat 当前 CPU 核心利用率

java - Heroku 中的 CPU/内存监控(适用于 Java)

cpu - 什么是时钟周期和时钟速度?

c++ - 流程使用其时间片后是否保存分支预测器结果