缓冲区溢出攻击检测装置、方法和安全防护系统制造方法及图纸

技术编号:11790131 阅读:63 留言:0更新日期:2015-07-29 14:07
本发明专利技术涉及一种缓冲区溢出攻击检测装置、方法和安全防护系统。其中,缓冲区溢出攻击检测装置,包括:目标进程,用于获取外部输入数据;攻击代码检测模块,用于执行攻击代码检测,所述攻击代码为用于对缓冲区进行溢出攻击的代码;所述目标进程还用于在处理所述外部输入数据时,如果监测到所述目标进程对所述外部输入数据执行解码,则调用所述攻击代码检测模块对解码后的数据启动攻击代码检测。本发明专利技术实施例的目标进程在处理外部输入数据时,如果监测到该目标进程对外部输入数据执行解码,可以调用所述攻击代码检测模块对解码后的数据启动攻击代码检测,从解码后的数据中更容易检测出攻击代码,能够提高攻击代码的检出率。

【技术实现步骤摘要】

本专利技术涉及系统安全检测领域,尤其涉及一种缓冲区溢出攻击检测装置、方法和安全防护系统
技术介绍
缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用缓冲区溢出攻击执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。为了检测缓冲区溢出攻击,一种现有的检测方法是:对目标进程进行全地址空间扫描,分析其中是否存在用于实现缓冲区溢出的攻击代码(SHELLC0DE)。例如,基于内存搜索进行SHELLC0DE监测,可以检测复杂的应用文档格式中编码、加密藏匿的SHELLC0DE。但是,由于进程内存中正常可执行代码和SHELLC0DE同时存在,二者代码相似,识别难度大;并且,进程的内存被扫描时,恶意代码可能未被解码,SHELLC0DE无法被检测到,漏报率高。另一种现有的检测方法是:对目标程序的输入数据(文件、网络等)进行分析,解析输入数据(如PDF文件、DOC文件、网络数据包等),识别其中是否存在SHELLC0DE。例如,目前主流的杀毒软件可以直接对PDF等格式的文件进行解析,然后直接进行规则匹配,以判定目标文件是否存在SHELLC0DE ;也有的杀毒软件自行实现了脚本引擎的部分功能,在解析出PDF文件中的脚本后,加以执行,然后进行规则匹配,以判定目标文件是否存在SHELLC0DE。但是,这种方法需要深入分析文件或网络数据包格式,对于非公开的文件格式及网络数据包,难度极大;并且,原始输入数据中的SHELLC0DE可能经过加密,编码等躲避技术处理,只在运行过程中才会恢复原始SHELLC0DE ;此外,SHELLC0DE可能存在于非脚本区域,仅对脚本区域进行分析,无法实现检测。综上所述,现有检测缓冲区溢出攻击的方法,检测难度大,漏检率高。
技术实现思路
抟术问是页有鉴于此,本专利技术要解决的技术问题是,如何降低缓冲区溢出攻击的检测难度,提高攻击代码的检出率。解决方案为了解决上述技术问题,在第一方面,提供了一种缓冲区溢出攻击检测装置,包括:目标进程,用于获取外部输入数据;攻击代码检测模块,用于执行攻击代码检测,所述攻击代码为用于对缓冲区进行溢出攻击的代码;所述目标进程还用于在处理所述外部输入数据时,如果监测到所述目标进程对所述外部输入数据执行解码,则调用所述攻击代码检测模块对解码后的数据启动攻击代码检测。结合第一方面,在第一方面的第一种可能的实施方式中,所述的装置还包括:检测调度模块,用于启动所述目标进程;挂钩模块,用于将所述攻击代码检测模块挂钩到所述目标进程的关键数据处理点,所述关键数据处理点为对所述外部输入数据执行脚本解码所需的分配内存动作和/或访问内存动作;所述检测调度模块还用于控制所述目标进程加载所述挂钩模块;加载所述挂钩模块之后的所述目标进程还用于在检测到所述关键数据处理点时,调用所述攻击代码检测模块启动攻击代码检测。结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述目标进程具体用于调用所述攻击代码检测模块根据解码后的攻击代码规则,对所述解码后的数据进行匹配,确定所述解码后的数据中是否存在所述攻击代码。结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述攻击代码检测模块还用于对解码后的数据启动攻击代码检测之后,根据攻击代码检测的结果,输出检测日志。第二方面,提供了一种安全防护系统,包括:上述第一方面、或第一方面的任意一种可能的实现方式所提供的缓冲区溢出攻击检测装置;网络安全装置,用于将获取的网络流量还原成所述外部输入数据;将所述外部输入数据发送至所述缓冲区溢出攻击检测装置;接收所述缓冲区溢出攻击检测装置反馈的检测结果;根据所述检测结果,调整控制策略。第三方面,提供了一种安全防护系统,包括:上述第一方面、或第一方面的任意一种可能的实现方式所提供的缓冲区溢出攻击检测装置;应用服务器,用于将提交的文件作为外部输入数据发送至所述缓冲区溢出攻击检测装置;接收所述缓冲区溢出攻击检测装置反馈的检测结果;根据所述检测结果,调整控制策略。第四方面,提供了一种缓冲区溢出攻击检测方法,包括:目标进程获取外部输入数据;在所述目标进程处理所述外部输入数据时,如果监测到所述目标进程对所述外部输入数据执行解码,则对解码后的数据启动攻击代码检测,所述攻击代码为用于对缓冲区进行溢出攻击的代码。结合第四方面,在第四方面的第一种可能的实施方式中,在所述目标进程获取外部输入数据之前,包括:启动所述目标进程;将启动攻击代码检测与所述目标进程的关键数据处理点挂钩,以使得挂钩后的所述目标进程,能够在检测到所述关键数据处理点时,启动攻击代码检测,所述关键数据处理点为对所述外部输入数据执行脚本解码所需的分配内存动作和/或访问内存动作。结合第四方面或第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,对解码后的数据启动攻击代码检测,包括:根据解码后的攻击代码规则,对所述解码后的数据进行匹配,确定所述解码后的数据中是否存在所述攻击代码。结合第四方面或第四方面的第一种可能的实施方式或第四方面的第二种可能的实施方式,在第四方面的第三种可能的实施方式中,对解码后的数据启动攻击代码检测之后,包括:根据攻击代码检测的结果,输出检测日志。有益.效果本专利技术实施例的目标进程在处理外部输入数据时,如果监测到该目标进程对外部输入数据执行解码,可以调用所述攻击代码检测模块对解码后的数据启动攻击代码检测,从解码后的数据中更容易检测出攻击代码,能够提高攻击代码的检出率。根据下面参考附图对示例性实施例的详细说明,本专利技术的其它特征及方面将变得清楚。【附图说明】包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本专利技术的示例性实施例、特征和方面,并且用于解释本专利技术的原理。图1为本专利技术实施例一的缓冲区溢出攻击检测装置的示意图;图2为本专利技术实施例二的缓冲区溢出攻击检测装置的示意图;图3为本专利技术实施例三的安全防护系统的示意图;图4为本专利技术实施例四的安全防护系统的示意图;图5为本专利技术实施例五的缓冲区溢出攻击检测方法的示意图;图6为本专利技术实施例六的缓冲区溢出攻击检测方法的示意图;图7为本专利技术实施例七的缓冲区溢出攻击检测方法的示意图;图8为本专利技术实施例八的缓冲区溢出攻击检测方法的示意图;图9为本专利技术实施例九的缓冲区溢出攻击检测装置的示意图。【具体实施方式】以下将参考附图详细说明本专利技术的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本专利技术,在下文的【具体实施方式】中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本专利技术同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本专利技术的主旨。实施例1目前,利用攻击代码(SHELLC0DE)进行缓冲区溢本文档来自技高网
...

【技术保护点】
一种缓冲区溢出攻击检测装置,其特征在于,包括:目标进程,用于获取外部输入数据;攻击代码检测模块,用于执行攻击代码检测,所述攻击代码为用于对缓冲区进行溢出攻击的代码;所述目标进程还用于在处理所述外部输入数据时,如果监测到所述目标进程对所述外部输入数据执行解码,则调用所述攻击代码检测模块对解码后的数据启动攻击代码检测。

【技术特征摘要】

【专利技术属性】
技术研发人员:周宏斌张翔
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1