对返回导向的编程攻击的检测的制作方法_5

文档序号:8367479阅读:来源:国知局
切片获 取和解码和此后的同时的多线程处理,诸如在Intel? Hyperthreading技术中)。
[0089] 此处所描述的任何处理器可以是诸如位于加利福尼亚州圣克拉拉市的英特尔公 司所提供的 Core? i3、i5、i7、2Duo 以及 Quad、Xeon?、Itanium?、XScale?、或 StrongARM? 之类的通用处理器。另选地,处理器可以来自另一公司,诸如ARM Holdings,Ltd,MIPS,等 等。处理器可以是专用的处理器,诸如,例如,网络或通信处理器、压缩引擎、图形处理器、 协处理器、嵌入式处理器等等。处理器可以在一个或多个芯片上实现。处理器可以是一个 或多个衬底的一部分,和/或可以使用若干种处理技术中的任何一种,诸如,例如,BiCMOS、 CMOS,或NM0S,在一个或多个衬底上实现。
[0090] 可以构想,此处所描述的处理器不仅限于任何系统或设备。膝上型计算机、台式 机、手持式PC、个人数字助理、工程工作站、服务器、网络设备、网络中枢、交换机、嵌入式处 理器、数字信号处理器(DSP)、图形设备、视频游戏设备、机顶盒、微控制器、手机、便推式媒 体播放器、手持式设备以及各种其他电子设备的已知的其他系统设计和配置也是合适的。 一般而言,如此处所公开的能够包括处理器和/或其他执行逻辑的各种系统或电子设备一 般是合适的。
[0091] 实施例可以代码的形式实现,而且可存储在其上存储有可用于对系统编程以执行 这些指令的非临时存储介质上。存储介质可包括但不限于:包括软盘、光盘、固态驱动器 (SSD)、压缩盘只读存储器(⑶-ROM)、可重写压缩盘(⑶-RW)以及磁光盘的任何类型的磁 盘;诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM) 之类的随机存取存储器(RAM)、可擦写可编程只读存储器(EPROM)、闪存、电可擦写可编程 只读存储器(EEPROM)之类的半导体器件;磁卡或光卡,或适合于存储电子指令的任何其他 类型的介质。
[0092] 下列子句和/或示例涉及进一步的实施例。一个示例实施例可以是包括至少一个 执行单元以及返回导向的编程(ROP)检测逻辑的处理器。ROP检测逻辑可以基于多个控制 转移事件,确定ROP度量,判断ROP度量是否超出阈值,响应于ROP度量超出阈值的判断,提 供ROP攻击通知。ROP检测逻辑将基于计数,确定ROP度量,其中,计数基于多个控制转移 事件。ROP检测逻辑可以基于子例程返回指令的实例,递增计数。ROP检测逻辑可以基于子 例程返回指令的实例,递减计数。ROP检测逻辑可以基于返回误预测,递增计数。ROP检测 逻辑可以基于与栈弹出指令相关联的控制转移指令的实例,递增计数。ROP检测逻辑可以 基于与栈指针的增大相关联的控制转移指令的实例,递增计数。ROP攻击通知将触发保护 应用采取一个或多个动作以解决ROP攻击。ROP检测逻辑可以响应于判断ROP度量超出阈 值,冻结分支指令日志。
[0093] 另一个示例实施例可以是处理器,包括:指令缓冲器;分支预测单元;以及,返回 导向的编程(ROP)检测单元。ROP检测单元可以包括基于一个或多个控制转移事件,生成计 数的累加器,当计数在窗口期间超出阈值时提供ROP攻击的通知的比较器。处理器还可以 包括检测控制转移指令的执行的指令检测器,其中,一个或多个控制转移事件包括控制转 移指令。处理器还可以包括检测返回误预测的返回栈缓冲器,其中一个或多个控制转移事 件包括返回误预测。一个或多个控制转移事件可以包括分支误预测,其中,由转移预测单元 检测分支误预测。一个或多个控制转移事件可以包括相关联的指令对。ROP检测单元还可 以包括降低由于正常的不平衡所造成的至少一个偏置效应的偏置逻辑。ROP检测单元还可 以包括基于针对ROP攻击的所希望的保护级别,调整阈值的控制逻辑。
[0094] 再一个示例实施例可以是一个系统,包括返回导向的编程(ROP)检测逻辑的处理 器,其中所述ROP检测逻辑将判断ROP度量在窗口期间是否超出阈值,其中所述ROP度量至 少基于一个或多个控制转移事件。该系统还可以包括耦合到处理器的随机存取存储器,其 中所述随机存取存储器包括反恶意软件应用。ROP检测逻辑可以响应于所述ROP度量在所 述窗口期间超出所述阈值的判断,向所述反恶意软件应用提供ROP攻击通知。反恶意软件 应用可以响应于所述ROP攻击通知,启动停止所述ROP攻击的一个或多个动作。窗口可以 包括若干个指令。
[0095] 再一个示例实施例可以是方法,包括:由硬件处理器的指令控制,检测至少一个控 制转移事件;由所述硬件处理器的ROP检测逻辑,基于至少一个控制转移事件,生成ROP度 量,并在判断ROP度量在窗口期间超出阈值时,将ROP攻击通知给保护应用。生成ROP度量 可以包括在检测到控制转移指令时递增计数器。生成ROP度量可以包括在检测到误预测时 递增计数器。该方法还可以包括,在判断ROP度量在窗口期间超出预定义的阈值时,冻结分 支指令日志的内容。
[0096] 说明书中对"一个实施例"、"实施例"的引用意味着结合该实施例所描述的特定特 征、结构或特性被包括在本发明内涵盖的至少一个实现中。因此,短语"一个实施例"或在 "一个实施例中"的出现不一定是指同一个实施例。此外,还可以以除所示出的特定实施例 以外的其他合适的形式构成特定特征、结构或特性,所有这样的形式都可以涵盖在本申请 的权利要求书内。
[0097] 尽管为了说明起见是参考数量有限的实施例来描述本发明的,但是,那些精通本 技术的人将从其中理解很多修改和变体。所附权利要求旨在覆盖落入本发明的真实精神和 范围中的所有这些修改和变化。
【主权项】
1. 一种处理器,包括: 至少一个执行单元;W及 返回导向的编程(R0巧检测逻辑,用于: 基于多个控制转移事件,确定ROP度量,判断所述ROP度量是否超出阔值,并响应于所 述ROP度量超出所述阔值的判断,提供ROP攻击通知。
2. 如权利要求1所述的处理器,其特征在于,所述ROP检测逻辑将基于计数,确定所述 ROP度量,其中所述计数基于所述多个控制转移事件。
3. 如权利要求2所述的处理器,其特征在于,所述ROP检测逻辑将基于子例程返回指令 的实例,递增所述计数。
4. 如权利要求3所述的处理器,其特征在于,所述ROP检测逻辑将基于子例程调用指令 的实例,递减所述计数。
5. 如权利要求2所述的处理器,其特征在于,所述ROP检测逻辑将基于返回误预测,递 增所述计数。
6. 如权利要求2所述的处理器,其特征在于,所述ROP检测逻辑将基于与找弹出指令相 关联的控制转移指令的实例,递增所述计数。
7. 如权利要求2所述的处理器,其特征在于,所述ROP检测逻辑将基于与找指针的增大 相关联的控制转移指令的实例,递增所述计数。
8. 如权利要求1所述的处理器,其特征在于,所述ROP攻击通知触发保护应用,W采取 一个或多个动作W解决所述ROP攻击。
9. 如权利要求1所述的处理器,其特征在于,所述ROP检测逻辑进一步响应于判断所述 ROP度量超出所述阔值,冻结分支指令日志。
10. -种处理器,包括: 指令缓冲器; 分支预测单元; 返回导向的编程(RO巧检测单元,包括: 基于一个或多个控制转移事件,生成计数的累加器,W及 当所述计数在窗口期间超出阔值时提供ROP攻击的通知的比较器。
11. 如权利要求10所述的处理器,进一步包括,检测控制转移指令的所述执行的指令 检测器,其中所述一个或多个控制转移事件包括所述控制转移指令。
12. 如权利要求10所述的处理器,进一步包括,检测返回误预测的返回找缓冲器,其中 所述一个或多个控制转移事件包括所述返回误预测。
13. 如权利要求10所述的处理器,其特征在于,所述一个或多个控制转移事件包括分 支误预测,其中所述分支误预测由所述分支预测单元检测。
14. 如权利要求10所述的处理器,其特征在于,所述一个或多个控制转移事件包括相 关联的指令对。
15. 如权利要求10所述的处理器,所述ROP检测单元进一步包括偏置逻辑,W降低由于 正常的不平衡造成的至少一个偏置效果。
16. 如权利要求10所述的处理器,所述ROP检测单元进一步包括基于针对ROP攻击的 所希望的保护级别,调整所述阔值的控制逻辑。
17. -种系统,包括: 包括返回导向的编程巧0巧检测逻辑的处理器,其中所述ROP检测逻辑将判断ROP度 量在窗口期间是否超出阔值,其中所述ROP度量至少基于一个或多个控制转移事件;W及 禪合到所述处理器的随机存取存储器,其中所述随机存取存储器包括反恶意软件应 用。
18. 如权利要求17所述的系统,其特征在于,所述ROP检测逻辑进一步,响应于所述 ROP度量在所述窗口期间超出所述阔值的判断,向所述反恶意软件应用提供ROP攻击通知。
19. 如权利要求18所述的系统,其特征在于,所述反恶意软件应用将响应于所述ROP攻 击通知,启动停止所述ROP攻击的一个或多个动作。
20. 如权利要求17所述的系统,其特征在于,所述窗口包括若干个指令。
21. -种方法,包括: 由硬件处理器的指令控制逻辑,检测至少一个控制转移事件; 由所述硬件处理器的ROP检测逻辑,基于所述至少一个控制转移事件,生成ROP度量, W及 在判断所述ROP度量在窗口期间超出阔值时,将ROP攻击通知给保护应用。
22. 如权利要求21所述的方法,其特征在于,生成所述ROP度量包括在检测到控制转移 指令时递增计数器。
23. 如权利要求21所述的方法,其特征在于,生成所述ROP度量包括在检测到误预测时 递增计数器。
24. 如权利要求21所述的方法,进一步包括,在判断所述ROP度量在所述窗口期间超出 所述预定义的阔值时,冻结分支指令日志的所述内容。
【专利摘要】在一个实施例中,处理器包括至少一个执行单元和返回导向的编程(ROP)检测逻辑。ROP检测逻辑可以基于多个控制转移事件,确定ROP度量。ROP检测逻辑还可以判断ROP度量是否超出阈值。ROP检测逻辑还可以,响应于ROP度量超出阈值的判断,提供ROP攻击通知。
【IPC分类】G06F21-50, G06F11-30
【公开号】CN104685506
【申请号】CN201380050634
【发明人】S·A·费舍尔, K·C·高特兹, Y·布里吉, K·D·布莱诺克
【申请人】英特尔公司
【公开日】2015年6月3日
【申请日】2013年6月28日
【公告号】US20140123281, US20140123286, WO2014070258A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1