[发明专利]微处理器和用于一微处理器的检测方法有效
申请号: | 201410482567.7 | 申请日: | 2014-09-19 |
公开(公告)号: | CN104199636B | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 泰瑞.派克斯 | 申请(专利权)人: | 上海兆芯集成电路有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 钱大勇 |
地址: | 201203 上海市张*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微处理器 用于 检测 方法 | ||
1.一种微处理器,包括:
一指令高速缓存;
一硬件状态机,用以通过计数在由该指令高速缓存撷取的一指令的未改变的数据流中的不动作NOP指令的一连续序列检测不动作NOP滑动,其中指令的未改变的数据流是这样的一个:其中从指令被撷取的时间到硬件状态机计数NOP指令的序列的时间期间没有另外的指令被插入到数据流中;以及
其中该微处理器用以通过暂停执行包括紧接NOP滑动的任何非NOP指令的指令的数据流来响应检测NOP滑动;
其中当NOP滑动导致壳码shellcode时,暂停执行指令的数据流防止壳码shellcode的执行。
2.如权利要求1所述微处理器,其中所述微处理器通过计数N个指令的一连续序列检测NOP滑动,其中N的数值通过在该微处理器所执行的一软件而可编程。
3.如权利要求1所述的微处理器,其中该硬件状态机响应检测到一子程序回传指令而开始计数多个NOP指令。
4.如权利要求1所述的微处理器,其中该硬件状态机响应检测到一非不动作non-NOP指令以开始计数多个NOP指令。
5.如权利要求1所述微处理器,其中当检测到NOP滑动时,该微处理器经由陷阱而进入该微处理器的一微程序代码。
6.如权利要求1所述的微处理器,其中当未检测到NOP滑动时,该微处理器用以继续由该指令高速缓存撷取并执行指令。
7.如权利要求1所述的微处理器,更包括:
一条件标记寄存器;
一堆栈索引寄存器;
其中多个NOP指令包括除了该条件标记寄存器及该堆栈索引寄存器的一个或两个之外,不改变该微处理器的一架构状态的指令。
8.如权利要求1所述的微处理器,其中多个NOP指令包括下列x86架构指令中的一个或多个:PUSH ES、PUSH CS、PUSH SS、PUSH DS、PUSHregister、PUSH SP、PUSHA、WAIT、SAHF、REPNE prefix、CLD、STD、CLC、STC、CMC。
9.如权利要求1所述的微处理器,其中多个NOP指令包括一个或多个x86架构的多个多字节指令,其中该多个多字节指令的一直接字节为一单字节NOP指令。
10.如权利要求1所述的微处理器,其中多个NOP指令包括一个或多个x86架构的多个多字节指令,其中该多个多字节指令的一modRM字节为一单字节NOP指令。
11.一种由一微处理器执行的用于防止壳码shellcode的执行的方法,该微处理器包括一指令高速缓存及一硬件状态机,该方法包括:
利用该硬件状态机通过计数在由该指令高速缓存撷取的一指令的未改变的数据流中的不动作NOP指令的一连续序列检测NOP滑动,其中指令的未改变的数据流是这样的一个:其中从指令被撷取的时间到硬件状态机计数NOP指令的序列的时间期间没有另外的指令被插入到数据流中;以及
通过暂停执行包括紧接NOP滑动的任何非NOP指令的指令的数据流来响应检测NOP滑动,
其中当NOP滑动导致壳码shellcode时,暂停执行指令的数据流防止壳码shellcode的执行。
12.如权利要求11所述的方法,其中所述微处理器通过计数N个指令的一连续序列检测NOP滑动,其中N的数值通过在该微处理器所执行的一软件而可编程。
13.如权利要求11所述的方法,其中该硬件状态机响应检测到一子程序回传指令而开始计数多个NOP指令。
14.如权利要求11所述的方法,其中该硬件状态机响应检测到一非不动作non-NOP指令以开始计数多个NOP指令。
15.如权利要求11所述的方法,还包括:
当检测到NOP滑动时,经由陷阱而进入该微处理器的一微程序代码。
16.如权利要求11所述的方法,其中多个NOP指令包括除了条件标记寄存器及堆栈索引寄存器的一个或两个之外,不改变该微处理器的一架构状态的指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海兆芯集成电路有限公司,未经上海兆芯集成电路有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410482567.7/1.html,转载请声明来源钻瓜专利网。