A method, apparatus, and system for detecting a return programmed ROP attack are disclosed. The system consists of processor, main memory and cache memory. The cache monitor by monitoring found in the cache memory in the cache memory access instruction and the current is not in the cache memory instructions not to form the command load profile. One or more of the end of the code sequence in effective remedial action involving one or more unit indicates the effective code sequence of ROP attack in the instruction loading profile execution case execution. The instruction load profile can be a ratio of hit / miss derived from monitoring cache hits relative to cache misses. The ROP attack can contain a number of code fragments that each contain executable instructions and return instructions from the valid code sequence.
【技术实现步骤摘要】
【国外来华专利技术】用于检测面向返回编程攻击的方法、装置和系统
一个特征大体上涉及检测软件系统中的恶意代码,且更特定来说涉及检测软件系统中的面向返回编程攻击的方法和装置。
技术介绍
执行软件的计算系统正在经历增长的来自通常称为黑客的攻击者的大量攻击。这些攻击者已发现将恶意代码插入计算系统中且随后致使计算系统执行恶意代码的方式。恶意代码可执行许多不同操作,例如致使计算系统运行得比正常慢,监视计算系统上的活动,致使计算系统发射或接收用户可能不希望传送的信息,破坏持续和非持续存储器中的数据,以及使计算系统崩溃。最近已提出有时称为面向返回编程(ROP)攻击的攻击机制。一类ROP攻击经常称为返回到libc攻击,因为其使用驻留于许多软件系统中的标准C库。ROP攻击是有力的技术,其允许攻击者攻击软件程序中的有效代码序列而无需将任何新的恶意代码注入到处理器的地址空间中。有效代码序列的小片断(经常称为小工具)可能被攻击者发现,随后串接在一起以形成新的恶意代码序列,进而避开针对代码注入的防御。在ROP攻击中,小代码片断是代码的以返回指令结束的部分。当调用函数时,在向经调用函数的返回的地址完成时,在所述调用之后的指令的地址被推送到堆栈上。因此,所述堆栈可包含许多返回地址,用于处理器跳转到经调用函数完成的时间。如果攻击者可对堆栈写入信息,那么攻击者可用恶意返回地址覆写既定返回地址。此返回地址可到达由攻击者识别的小工具中的一者。通过操纵多个返回地址,控制调用堆栈的攻击者可将多个小工具链接在一起以产生恶意代码序列,而从不需要将任何新代码注入处理器地址空间。通过这些恶意代码序列及其布置的选择,攻击者可针对 ...
【技术保护点】
一种在包含高速缓存存储器的处理电路中操作的方法,其包括:在所述高速缓存存储器中加载可执行代码序列的至少若干部分;执行从所述高速缓存存储器的所述可执行代码序列的指令获取;响应于所述指令获取而检测一个或多个指令获取高速缓存未中,其中单个指令获取高速缓存未中代表针对所述可执行代码序列的相应的指令获取的所获取指令不在所述高速缓存存储器中;相对于所述一个或多个指令获取高速缓存未中监视所述指令获取以便动态地检测异常指令获取高速缓存未中活动;以及确定所述异常指令获取高速缓存未中活动是否指示面向返回编程攻击。
【技术特征摘要】
【国外来华专利技术】2011.11.07 US 13/290,9321.一种在包含高速缓存存储器的处理电路中操作的方法,其包括:在所述高速缓存存储器中加载可执行代码序列的至少若干部分;执行从所述高速缓存存储器的所述可执行代码序列的指令获取;响应于所述指令获取而检测一个或多个指令获取高速缓存未中,其中单个指令获取高速缓存未中代表针对所述可执行代码序列的相应的指令获取的所获取指令不在所述高速缓存存储器中;相对于所述一个或多个指令获取高速缓存未中监视所述指令获取以便动态地检测异常指令获取高速缓存未中活动;以及确定所述异常指令获取高速缓存未中活动是否指示面向返回编程攻击。2.根据权利要求1所述的方法,其进一步包括:报告所述异常指令获取高速缓存未中活动,且响应于所述异常指令获取高速缓存未中活动而执行关于所述可执行代码序列的补救动作。3.根据权利要求2所述的方法,其进一步包括:通过响应于所述异常指令获取高速缓存未中活动的所述报告终止所述可执行代码序列的执行来执行所述补救动作。4.根据权利要求1所述的方法,其中相对于所述一个或多个指令获取高速缓存未中监视所述指令获取包含响应于所述指令获取而检测一个或多个指令获取高速缓存命中;响应于所检测的指令获取高速缓存命中和指令获取高速缓存未中而确定指令获取高速缓存命中/未中比率;以及通过检测命中/未中比率低于相对于指示有效代码序列的有效命中/未中比率而选择的阈值来检测所述异常指令获取高速缓存未中活动。5.根据权利要求4所述的方法,其中所述有效命中/未中比率是通过监视来自在所述监视期间不含面向返回编程攻击的多个所述可执行代码序列的指令获取高速缓存命中/未中比率来确定。6.根据权利要求1所述的方法,其中所述监视在选定操作周期期间暂停。7.根据权利要求6所述的方法,其中所述选定操作周期包含新过程的引导阶段。8.根据权利要求1所述的方法,其中所述异常指令获取高速缓存未中活动是在预定义数目的先前指令或预定义时间周期上确定。9.根据权利要求1所述的方法,其中所述异常指令获取高速缓存未中活动是在预定操作上下文内确定。10.一种包含高速缓存存储器的处理装置,其包括:处理电路,其经配置以获取和执行可执行代码序列;高速缓存存储器系统,其可操作地耦合到所述处理电路且包含至少一个高速缓存存储器;高速缓存监视器,其经配置以响应于指令获取而检测一个或多个指令获取高速缓存未中,其中单个指令获取高速缓存未中代表针对所述可执行代码序列的相应的指令获取的所获取指令不在所述高速缓存存储器中,且进一步经配置以相对于所述一个或多个指令获取高速缓存未中监视指令获取以便动态地检测异常指令获取高速缓存未中活动;以及补救动作单元,其经配置以确定所述异常指令获取高速缓存未中活动是否指示面向返回编程攻击。11.根据权利要求10所述的处理装置,其中所述补救动作单元进一步经配置以在所述高速缓存监视器报告所述异常指令获取高速缓存未中活动的情况下终止所述可执行代码序列中的一或多者的执行。12.根据权利要求11所述的处理装置,其中所述高速缓存监视器、所述补救动作单元、所述处理电路或其组合经配置以:响应于所述指令获取而检测一个或多个指令获取高速缓存命中;响应于所检测的指令获取高速缓存命中和指令获取高速缓存未中而确定指令获取高速缓存命中/未中比率;以及通过检测命中/未中比率低于相对于指示有效代码序列的有效命中/未中比率而选择的阈值来检测所述异常指令获取高速缓存未中活动。13.根据权利要求10所述的处理装置,其中所述高速缓存存储器系统包含数据高速缓存和指令高速缓存,且所述高速缓存监视器经配置以从所述指令高速缓存形成指令加载简档。14.根据权利要求10所述的处理装置,其中所述高速缓存存储器系统包含两级或两级以上高速缓存,且所述高速缓存监视器经配置以从所述两级或两级以上高速缓存中的至少一者形成指令加载简档。15.根据权利要求10所述的处理装置,其中所述高速缓存监视器经配置以在选定操作周期期间暂停监视。16.根据权利要求15所述的处理装置,其中所述选定操作周期包含新过程的引导阶段。17.根据权利要求15所述的处理装置,其中所述高速缓存监视器在预定义数目的先前指令或预定义时间周期上检测所述异常指令获取高速缓存未中活动。18.一种在包含高速缓存存储器的处理电路中操作的装置,其包括:用于在所述高速缓存存储器中加载可执行代码序列的至少若干部分的装置;用于执行从所述高速缓存存储器的所述可执行代码序列的指令获取的装置;用于响应于所述指令获取而检测一个或多个指令获取高速缓存未中的装置,其中单个指令获取高速缓存未中代表针对所述可执行代码序列的相应的指令获取的所获取指令不在所述高速缓存存储器中的;用于相对于所述一个或多个指令获取高速缓存未中监视所述指令获取以便动态地检测异常指令获取高速缓存未中活动的装置;以及用于确定所述异常指令获取高速缓存未中活动是否指示面向返回编程攻击的装置。19.根据权利要求18所述的装置,其进一步包括:用于报告所述异常指令获取高速缓存未中活动的装置;以及用于响应于所述异常指令获取高速缓存未中活动而执行关于所述可执行代码序列的补救动作的装置。20.根据权利要求18所述的装置,其进一步包括:用于在预定义数目的先前指令或预定义时间周期上确定所述异常指令获取高速缓存未中活动的装置。21.一种在包含高速缓存存储器的处理电路中操作的方法,其包括:在处理电路中执行多个代码片断的非既定序列,每一代码片断包含包括控制转移指令的至少一个可执行指令...
【专利技术属性】
技术研发人员:丹尼尔·科马罗米,亚历克斯·甘特曼,布莱恩·M·罗森贝格,阿伦·巴拉克里沙南,伦威·格,格雷戈里·G·罗丝,阿南德·帕拉尼古德,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。