基于内存搜索的shellcode的检测系统及方法技术方案

技术编号:8594205 阅读:263 留言:0更新日期:2013-04-18 07:29
本发明专利技术公开了一种基于内存搜索的shellcode的检测系统,包括被检测样本调度模块;内存搜索算法模块;shellcode检测模块和日志模块。其检测方法,包括以下步骤:调度模块调度被测试应用打开被检测文档样本;内存搜索算法模块转储被测试应用内存至文件或者直接内存搜索;Shellcode检测模块扫描转储的文件来发现shellcode;日志输出模块输出有关shellcode信息。本发明专利技术具有以下积极进步效果:本发明专利技术基于内存搜索然后进行shellcode检测,能够有效的检测复杂的应用文档格式中编码、加密藏匿的shellcode。大大的提高了恶意攻击样本的检测率,见效误报率和漏报率。

【技术实现步骤摘要】

本专利技术涉及网络安全入侵检测防御领域,具体是指一种基于内存搜索的 shellcode的检测系统及方法。
技术介绍
利用缓冲区溢出安全漏洞以及其他内存内存安全漏洞是进行网络攻击、获取系统 控制权的重要手段,因此,针对该类型漏洞攻击的防御技术是网络安全领域研究的重要内容。由于上述主要的漏洞攻击中具体的功能实现必须要通过shellcode来完成,因此 攻击者发生的漏洞载体数据中一定保护shellcode,当前将检测是否存在shellcode作为 判断漏洞攻击的主要手段。当前主流的攻击软件载体主要是微软office文档、adobe pdf > adobe flash、ie browser等最流行的软件。因此这些主流的文档是漏洞攻击的主要目标,shellcode也主要 存在该类文档中。目前常规的IDS/IPS/Anti AV网络安全防御设备都是采用基于格式解析 从而检测shellcode的技术,对于该类shellcode检测都必须要先对具体的文档格式进行 解析,解析出原始的数据流之后,在进行相应的shellcode检测。该类技术主要优点在于可以部署在网关层,直接解析网络数据包中相应的文件格式,从而直接扫描 shellcode。速度快,在要求实时性网络安全防御中具有较大的优势。同时该类技术存在相应的缺点主流的文档格式其中office、pdf、flash等文档 格式,该类格式非常复杂,虽然office、pdf等格式已有公开的格式文档说明,但是按照对 应格式实现相应的格式解析工具非常耗时、耗人力成本。同时这些公开的格式文档只是提 供了该类文档格式的标准规范,对于不按照此类标准规范的一些文档,其相应的发布厂商 能有较好的兼容性解决方案,具有很好的容错能力。而第三方据此格式文档实现的格式解 析工具往往不能很好的兼容各种不规范的格式文件,容错能力差。从而造成了漏洞攻击的 空隙,攻击者构造特殊的格式文档,使得其漏洞触发的程序可以正常解析,但是第三方的解 析工具确无法解析,从而绕过各种防御的检测。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于内存搜索的shellcode的检测系统 及方法。它能够不通过解析相应的文档格式从而直接进行shellcode检测识别。本专利技术是通过下述技术方案来解决上述技术问题的一种基于内存搜索的shellcode的检测系统,包括被检测样本调度模块,用于调度每个样本被相应的宿主程序打开并解析内容;内存搜索算法模块,用于搜索被检测应用的所有可读可写堆块;shellcode检测模块,用于对搜索出来的每块内存进行shellcode扫描;日志模块,用于输出有关检测信息的结果。所述内存搜索算法模块包括堆栈内存搜索模块和堆内存搜索模块。本专利技术的重点是如何通过不解析文档格式进行shellcode检测识别的思路方法。 主要通过被测试应用的内存搜索实现检测。当shellcode被编码成各种形态存于文档中时,当被测试应用程序解析该文 档时,会自动进行解码操作,并将真实的shellcode形态还原于内存当中。由于无论 shellcode多么复杂的文档格式编码、加密、转换,但是最终都必须要能被测试应用程序 正常解析,否则会导致该攻击无效化。因此采用直接搜索内存的方式无须应对各种复杂 的文档格式、编码,也不会造成和被测试应用程序解析文档的差异造成的无法解出真正的 shellcode,造成检测防御系统的漏报。内存搜索主要搜索被测试应用的堆、堆栈。通过解析堆、堆栈的内存结构,从而搜 索出有效的内存区域,加快检测的速度。一种基于内存搜索的shellcode的检测方法,包括以下步骤(1)调度模块调度被测试应用打开被检测文档样本;(2)内存搜索算法模块转储被测试应用内存至文件或者直接内存搜索;(3)Shellcode检测模块扫描转储的文件来发现shellcode ;(4)日志输出模块输出有关shellcode信息。本专利技术具有以下积极进步效果本专利技术基于内存搜索然后进行shellcode检测, 能够有效的检测复杂的应用文档格式中编码、加密藏匿的shellcode。大大的提高了恶意攻 击样本的检测率,见效误报率和漏报率。对于Pdf复杂文档格式中,如FlateDecode压缩编 码、stream关键字#转义对抗、内嵌javascript中含有shellcode等等其他各种对抗检测 手法都可以完美解决,且不存在新的对抗问题。当然本专利技术的技术不限于检测上述应用的 复杂格式藏匿shellcode,因为漏洞触发的最终形态必然决定了 shellcode必须以原始形 态存放于内存中,从而可以从根本上解决该类问题。附图说明图1是本专利技术基于内存搜索的shellcode的检测系统的方框图;图2是本专利技术基于内存搜索的shellcode检测的防御检测方法的流程图。具体实施方式下面结合附图给出本专利技术较佳实施例,以详细说明本专利技术的技术方案。参考图1,其中示出根据本专利技术一个实施实例的基于内存搜索的shellcode的检 测系统的方框图。请注意,在整个说明书和权利要求书中,“应用程序”和“软件”表示相同 的含义,并且能够互换地进行使用。在本专利技术的实施例中,所述基于内存搜索的shellcode 的检测系统运行在Windows操作系统中。然而,作为一种通用的检测测试系统,所述基于内 存搜索的shellcode的检测系统能够运行在任何操作系统中。所述基于内存搜索的shellcode的检测系统包括堆栈内存搜索模块104、堆内存 搜索模块106、调度模块108、shellCOde检测模块110,日志输出模块112,堆栈内存搜索模块104和堆内存搜索模块106 —起构成了内存搜索算法模块102。调度模块108主要调度被测试应用打开要检测的文档样本。内存搜索算法模块 102通过堆内存搜索模块106和堆栈内存搜索模块104实现有效的内存转储至文件中。 Shellcoed检测模块110扫描转储的文件来发现shellcode。日志输出模块112输出最终 的检测结果,shellcode具体的一些信息。图2示出根据本专利技术一个实施例的基于内存搜索的shellcode的检测方法的流程 图。下面结合图1的基于内存搜索的shellcode的检测系统来详细说明图2的检测方法的 流程图。在步骤202中,调度模块108调度被测试应用打开要检测的样本文档。在本专利技术 的实施例中,调度模块108可以调度adobe reader、off ice文档所有应用等等,包括但不限 于以上所列应用程序。在步骤204中,内存搜索算法模块102搜索有效的内存块转储文件中。该内存搜 索102模块分为2个部分,一部分是堆栈内存搜索模块104,另一部分是堆内存搜索模块 106。其中堆栈内存搜索模块104通过分析相应线程的TEB结构,获取相应offset所在 的StackBase字段,来获取线程堆栈的起始地址和大小。其中堆内存搜索模块106通过分析进程的PEB结构,获取相应offset所在的 ProcessHeaps字段和NumberOfHeaps字段来获取堆的范围地址,在进一步分析具体堆块的 结构从而搜索出有效的堆内存。在步骤206中,调用shellcode检测模块110去扫描已经转储至文件的内存,从而 检测 shel本文档来自技高网
...

【技术保护点】
一种基于内存搜索的shellcode的检测系统,其特征在于:包括:被检测样本调度模块,用于调度每个样本被相应的宿主程序打开并解析内容;内存搜索算法模块,用于搜索被检测应用的所有可读可写堆块;shellcode检测模块,用于对搜索出来的每块内存进行shellcode扫描;日志模块,用于输出有关检测信息的结果。

【技术特征摘要】
1.一种基于内存搜索的shellcode的检测系统,其特征在于包括 被检测样本调度模块,用于调度每个样本被相应的宿主程序打开并解析内容; 内存搜索算法模块,用于搜索被检测应用的所有可读可写堆块; shellcode检测模块,用于对搜索出来的每块内存进行shellcode扫描; 日志模块,用于输出有关检测信息的结果。2.根据权利要求1所述的一种基于内存搜索的shellcode的检测系统,...

【专利技术属性】
技术研发人员:方兴
申请(专利权)人:南京翰海源信息技术有限公司
类型:发明
国别省市:

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

1