一种基于堆栈分配规律的缓冲区溢出的检测方法

文档序号:6604625阅读:455来源:国知局
专利名称:一种基于堆栈分配规律的缓冲区溢出的检测方法
技术领域
本发明涉及信息安全技术领域,特别涉及一种基于堆栈分配规律的缓冲区溢出的 检测方法。
背景技术
随着互联网的发展和普及,通过网络进行病毒传播的比例正逐步攀升,伴随它而 来的是越来越突出的信息安全问题。缓冲区溢出是近年呈上升趋势的一种攻击方法。改击 者利用浏览器漏洞或者系统漏洞进行挂马攻击,将恶意代码覆盖到指定的位置并执行,以 达到攻击的目的。目前对缓冲区溢出的检测方式包话以下几种1、通过缓冲区内容进行检测,判断是内容否是攻击代码。此方式检测精确,但是必 须知道攻击代码的特征。需要对shellcode和溢出点有较深入的分析,并提取到精确特征。 对没有获取到样本的情况没有检测能力,特征发生变化也无法检测。2、通过对关键API调用堆栈进行追溯找寻无所属模块代码判断是否发生溢出。此 种方式必须保证该API被攻击代码调用,如果溢出代码没有使用该API则无法检测。而且 检测时,攻击事实上已经发生。3、通过执行溢出攻击代码后的行为是否具有威胁来进行防御。溢出攻击执行后系 统可能已经无法正常工作,检测也就无法进行。此方法的局限性较强。以上所述的检测方法不能有效的检测缓冲区是否溢出,且实用性不强。

发明内容
针对以上不足,本发明要解决的技术问题是提供一种基于堆栈分配规律的缓冲区 溢出的检测方法,该方法能够根据缓冲区分配的规律且分配后的缓冲区中存在大量重复内 容(shellcode),有效地对浏览器的缓冲区溢出攻击进行检测。为了解决上述技术问题,本发明提供一种基于堆栈分配规律的缓冲区溢出的检测 方法,包括等待分配缓冲区;记录本次缓冲区分配大小和内容;判断缓冲区是否符合分配规律或缓冲区是否有重复内容;在符合步骤c的条件下,检测缓冲区溢出攻击。进一步的,步骤c中,和历史记录比较,检测的内容包括但不限于以下Cl、缓冲区是否含有重复内容;c2、缓冲区的分配大小是否有明显分配规律。本发明提供的方法可以实现对已知分配规律或分配内容的缓冲区溢出攻击进行 有效地检测。不仅仅可以检测已知样本或shellcode的漏洞攻击,还可以检测符合分配 规律的未知样本和利用未知漏洞的缓冲区溢出攻击,且不会受到不同shellcode调用不同 API的影响。


图1为本发明所述的基于堆栈分配规律的缓冲区溢出的检测方法的具体实施流 程图。
具体实施例方式下面将结合附图及实施例对本发明的技术方案进行更详细的说明。本发明的基于堆栈分配规律的缓冲区溢出的检测方法如图1所示,包括如下步 骤等待分配缓冲区;记录本次缓冲区分配大小和内容;其中,和历史记录比较,检测的内容包括但不限于缓冲区是否含有重复内容;缓 冲区的分配大小是否有明显分配规律;判断缓冲区是否符合分配规律或缓冲区是否有重复内容;在符合步骤C的条件下,检测缓冲区溢出攻击;如果不符合条件,则等待下一次分 配缓冲区。下面用本发明的两个应用实例进一步加以说明。以浏览器Javascript缓冲区溢出攻击进行检测为例Javascript脚本引擎会调用SysAllocStringByteLen函数进行内存缓冲区分配。 本应用实施例的具体实施步骤如下等待分配缓冲区;钩挂SysAllocStringByteLen记录每次分配的地址和长度;下一次分配发生时,检测历史记录中的以下内容此次分配长度历史记录中的近3次在一个等比或者等差数列中;判断缓冲区内容是否包含在上次分配的地址内;如果上述两点符合则报告检测到缓冲区溢出。以浏览器HTML解析缓冲区溢出攻击进行检测为例HTML解析引擎会调用HeapAlIoc函数进行内存缓冲区分配。本应用实施例的具体 实施步骤如下等待分配缓冲区;钩挂HeapAlIoc记录每次分配的地址和长度;下一次分配发生时,检测历史记录中的以下内容此次分配长度历史记录中的近3次在一个等比或者等差数列中;判断缓冲区内容是否包含在上次分配的地址内;如果上述两点符合则报告检测到缓冲区溢出。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明所附的权利要求的保护范围。
权利要求
一种基于堆栈分配规律的缓冲区溢出的检测方法,其特征在于,包括a、等待分配缓冲区;b、记录本次缓冲区分配大小和内容;c、判断缓冲区是否符合分配规律或缓冲区是否有重复内容;d、在符合步骤c的条件下,检测缓冲区溢出攻击。
2.如权利要求1所述的基于堆栈分配规律的缓冲区溢出的检测方法,其特征在于步 骤c中,和历史记录比较,检测的内容包括但不限于以下Cl、缓冲区是否含有重复内容;c2、缓冲区的分配大小是否有明显分配规律。
全文摘要
本发明公开了一种基于堆栈分配规律的缓冲区溢出的检测方法;方法包括等待分配缓冲区;记录本次缓冲区分配大小和内容;判断缓冲区是否符合分配规律或缓冲区是否有重复内容;在缓冲区符合规律或有重复内容的条件下,检测缓冲区溢出攻击。本发明提供的方法可以实现对已知分配规律或分配内容的缓冲区溢出攻击进行有效地检测。
文档编号G06F21/00GK101887497SQ20101020818
公开日2010年11月17日 申请日期2010年6月24日 优先权日2010年6月24日
发明者关墨辰 申请人:北京安天电子设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1