CN103617396B - 一种漏洞利用的检测方法和系统 - Google Patents

一种漏洞利用的检测方法和系统 Download PDF

Info

Publication number
CN103617396B
CN103617396B CN201310632748.9A CN201310632748A CN103617396B CN 103617396 B CN103617396 B CN 103617396B CN 201310632748 A CN201310632748 A CN 201310632748A CN 103617396 B CN103617396 B CN 103617396B
Authority
CN
China
Prior art keywords
management module
analyzed
data block
loader
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310632748.9A
Other languages
English (en)
Other versions
CN103617396A (zh
Inventor
任方英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310632748.9A priority Critical patent/CN103617396B/zh
Publication of CN103617396A publication Critical patent/CN103617396A/zh
Application granted granted Critical
Publication of CN103617396B publication Critical patent/CN103617396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种漏洞利用的检测方法和系统,该方法包括:Loader管理模块获得数据流中待分析的数据块;Loader管理模块从所述待分析的数据块的起始位置或者指定位置,尝试将所述待分析的数据块视为指令执行,并在尝试将所述待分析的数据块视为指令执行的过程中,监控漏洞利用程序中的指定类型函数调用;Loader管理模块在监控到所述指定类型函数被调用,且调用所述指定类型函数的地址位于所述待分析的数据块的起止范围之内时,判定所述数据流中包含漏洞利用。本发明实施例,不仅可以避免依靠检测漏洞利用样本特征码的局限性,而且能够检测到与已知漏洞利用样本不同的漏洞利用和针对未知漏洞的利用,甚至是所有基于缓冲区溢出的攻击。

Description

一种漏洞利用的检测方法和系统
技术领域
本发明涉及信息安全和网络安全领域,尤其是涉及了一种漏洞利用的检测方法和系统。
背景技术
随着计算机与网络的普及,数字技术正在改变着、影响着人类的生活方式。高速发展中的互联网日夜不停地传输大量的文字、数字图形、声音、影像等数据流。检测、识别这些数据流中是否存在威胁的需求越来越广泛。
现有技术中,安全研究员获得漏洞利用样本,并根据该漏洞利用样本从数据流中提取相应的特征码,并通过比对特征库中的特征码以及数据流中提取的特征码,以检测数据流中是否存在具有安全威胁的漏洞利用。
但是,上述方式过于依赖于漏洞利用样本的特征,其无法检测到与已知漏洞利用样本不同的漏洞利用,而且由于漏洞利用样本众多,因此,根据漏洞利用样本从数据流中提取相应的特征码时还存在现实困难。
发明内容
本发明实施例提供一种漏洞利用的检测方法和系统,不仅可以避免依靠检测漏洞利用样本特征码的局限性,而且能够检测到与已知漏洞利用样本不同的漏洞利用和针对未知漏洞的利用,甚至是所有基于缓冲区溢出的攻击。
为了达到上述目的,本发明实施例提供一种漏洞利用的检测方法,所述方法包括以下步骤:
Loader管理模块获得数据流中待分析的数据块;
所述Loader管理模块从所述待分析的数据块的起始位置或者指定位置,尝试将所述待分析的数据块视为指令执行,并在尝试将所述待分析的数据块视为指令执行的过程中,监控漏洞利用程序中的指定类型函数调用;其中,所述指定类型函数在调用时,表示存在漏洞利用;
所述Loader管理模块在监控到所述指定类型函数被调用,且调用所述指定类型函数的地址位于所述待分析的数据块的起止范围之内时,判定所述数据流中包含漏洞利用。
所述方法还包括:
所述Loader管理模块在尝试将所述待分析的数据块视为指令执行之前,将所述待分析的数据块的起始位置以及块大小通知给Monitor管理模块;
所述Monitor管理模块利用所述待分析的数据块的起始位置以及所述块大小对所述Loader管理模块的指令执行过程进行监控;
如果所述Loader管理模块在指令执行过程中触发异常,或者,所述Loader管理模块在指令执行过程中的执行时间超过预设阈值,则:所述Monitor管理模块中断所述Loader管理模块的指令执行过程,调整所述Loader管理模块的重新执行的位置,并继续由所述Loader管理模块从所述待分析的数据块的调整后的位置开始,尝试将所述待分析的数据块视为指令执行。
所述方法还包括:
所述Loader管理模块在尝试将所述待分析的数据块视为指令执行之前,将所述Loader管理模块当前已加载模块的信息通知给Monitor管理模块;
所述Monitor管理模块利用所述Loader管理模块当前已加载模块的信息对所述Loader管理模块的指令执行过程进行监控;
所述Monitor管理模块在接收到所述Loader管理模在指令执行过程中触发的模块加载事件,且加载的模块不是所述Loader管理模块当前已加载模块时,则判定所述数据流中包含漏洞利用。
所述Loader管理模块获得数据流中待分析的数据块的过程,具体包括:
所述Loader管理模块获得已经剥离网络协议头的负载数据,搜索负载数据中的指定特征,在发现指定特征之后再将相应的数据块作为所述待分析的数据块;或者,
所述Loader管理模块获得已经剥离网络协议头的负载数据,利用Shellcode中限制存在的字节集合将所述负载数据分割为多个数据子块,且仅将数据子块长度大于Shellcode预设最小指令长度的数据子块作为所述待分析的数据块。
所述Loader管理模块具体为模拟存在缓冲区溢出漏洞的数据模拟执行程序;所述Monitor管理模块具体为对Loader管理模块的各种异常和事件进行处理的处理程序。
本发明实施例提供一种漏洞利用的检测系统,所述漏洞利用的检测系统包括Loader管理模块,且所述Loader管理模块具体包括:
获得单元,用于获得数据流中待分析的数据块;
第一处理单元,用于从所述待分析的数据块的起始位置或者指定位置,尝试将所述待分析的数据块视为指令执行,并在尝试将所述待分析的数据块视为指令执行的过程中,监控漏洞利用程序中的指定类型函数调用;其中,所述指定类型函数在调用时,表示存在漏洞利用;
第一确定单元,用于在监控到所述指定类型函数被调用,且调用所述指定类型函数的地址位于所述待分析的数据块的起止范围之内时,判定所述数据流中包含漏洞利用。
所述Loader管理模块还包括:发送单元,用于在尝试将所述待分析的数据块视为指令执行之前,将所述待分析的数据块的起始位置以及块大小通知给Monitor管理模块;
所述检测系统还包括Monitor管理模块,所述Monitor管理模块具体包括:
第一监控单元,用于利用所述待分析的数据块的起始位置以及所述块大小对所述Loader管理模块的指令执行过程进行监控;
第二处理单元,用于在监控到所述Loader管理模块在指令执行过程中触发异常,或者,所述Loader管理模块在指令执行过程中的执行时间超过预设阈值,则:中断所述Loader管理模块的指令执行过程,调整所述Loader管理模块的重新执行的位置,并继续由所述Loader管理模块从所述待分析的数据块的调整后的位置开始,尝试将所述待分析的数据块视为指令执行。
所述Loader管理模块还包括:发送单元,用于在尝试将所述待分析的数据块视为指令执行之前,将所述Loader管理模块当前已加载模块的信息通知给Monitor管理模块;
所述检测系统还包括Monitor管理模块,所述Monitor管理模块具体包括:
第二监控单元,用于利用所述Loader管理模块当前已加载模块的信息对所述Loader管理模块的指令执行过程进行监控;
第二确定单元,用于在接收到所述Loader管理模在指令执行过程中触发的模块加载事件,且加载的模块不是所述Loader管理模块当前已加载模块时,则判定所述数据流中包含漏洞利用。
所述获得单元,具体用于获得已经剥离网络协议头的负载数据,搜索负载数据中的指定特征,在发现指定特征之后再将相应的数据块作为所述待分析的数据块;或者,获得已经剥离网络协议头的负载数据,利用Shellcode中限制存在的字节集合将所述负载数据分割为多个数据子块,且仅将数据子块长度大于Shellcode预设最小指令长度的数据子块作为所述待分析的数据块。
所述Loader管理模块具体为模拟存在缓冲区溢出漏洞的数据模拟执行程序;所述Monitor管理模块具体为对Loader管理模块的各种异常和事件进行处理的处理程序。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,Loader(加载)管理模块从待分析的数据块的起始位置或指定位置,尝试将待分析的数据块视为指令执行,并在尝试将待分析的数据块视为指令执行的过程中,通过监控漏洞利用程序中的指定类型函数调用,从而在监控到指定类型函数被调用,且调用指定类型函数的地址位于待分析的数据块的起止范围之内时,判定数据流中包含漏洞利用。上述方式不仅可以避免依靠检测漏洞利用样本特征码的局限性,而且能够检测到与已知漏洞利用样本不同的漏洞利用和针对未知漏洞的利用,甚至是所有基于缓冲区溢出的攻击,以解决特征码扫描方法无法检测各种采用多态变形技术的利用代码和未知漏洞利用的问题。
附图说明
图1是本发明实施例提供的一种漏洞利用的检测方法流程示意图;
图2是本发明实施例提供的一种漏洞利用的检测系统结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种漏洞利用的检测方法,该方法应用于包括Loader管理模块和Monitor管理模块的检测系统中。其中,该Loader管理模块为数据执行程序loader,且该Loader管理模块具体为模拟存在缓冲区溢出漏洞的数据模拟执行程序,其通过加载待分析的数据块至内存,然后尝试将数据块转换为代码执行,且该Loader管理模块是处于被Monitor管理模块调试下的被调试程序。该Monitor管理模块为异常处理程序monitor,且该Monitor管理模块具体为对Loader管理模块的各种异常和事件进行处理的处理程序,且该Monitor管理模块具体可以是一个可以接受来自被调试程序Loader管理模块的各种异常和事件的调试器。
本发明实施例中,检测系统在收到数据流之后,需要剥离数据流中的网络协议头,获得应用层数据,该应用层数据为数据块。进一步的,在启动Loader管理模块(即数据执行程序loader)和Monitor管理模块(即异常处理程序monitor)的基础上,如图1所示,该漏洞利用的检测方法包括以下步骤:
步骤101,Loader管理模块获得数据流中待分析的数据块。
其中,在剥离数据流中的网络协议头以获得数据块之后,Loader管理模块可以将该数据块加载到内存中,并选择合适位置的数据块作为待分析的数据块,且Loader管理模块需要获知待分析的数据块的起始位置以及块大小。例如,Loader管理模块可以确定加载到内存中的所有数据块均为待分析的数据块;或确定加载到内存中的位于中间位置的数据块为待分析的数据块。
在本发明实施例的一种优选实施方式中,Loader管理模块获得数据流中待分析的数据块的过程,具体包括但不限于如下方式:Loader管理模块获得已经剥离网络协议头的负载数据,搜索该负载数据中的指定特征(如目的地址特征),在发现指定特征之后再将相应的数据块作为待分析的数据块;或者,Loader管理模块获得已经剥离网络协议头的负载数据,利用Shellcode中限制存在的字节集合(如0x00、0x0D、0xDA等字节)将该负载数据分割为多个数据子块,且仅将数据子块长度大于Shellcode预设最小指令长度的数据子块作为待分析的数据块。其中,在计算机安全领域中,shellcode是指一段可以被存在缓冲区溢出漏洞的程序执行的机器指令码。
步骤102,Loader管理模块从待分析的数据块的起始位置或者指定位置,尝试将待分析的数据块视为指令执行,并在尝试将待分析的数据块视为指令执行的过程中,监控漏洞利用程序中的指定类型函数调用。其中,指定类型函数调用是指漏洞利用程序中常用或可能使用的函数调用。
在一种具体的实现方式中,该指定类型函数包括但不限于以下函数之一或者任意组合:LoadLibrary函数、GetProcAddress函数、URLDownloadToFile函数、CreateProcess函数、CreateRemoteThread函数、WinExec函数、CreateFile函数、Recv函数、Recvfrom函数、ShellExecute函数等。
本发明实施例中,Loader管理模块在获得待分析的数据块之后,还需要启动并挂钩用于监控漏洞利用程序的指定类型函数,且该指定类型函数在调用时,表示存在漏洞利用。Loader管理模块监控漏洞利用程序中的指定类型函数调用之后,Loader管理模块需要将EIP(Extra Instruction Pointer,指令指针寄存器,该EIP为32位寄存器,并用于存储正在被执行的指令地址)指向待分析的数据块的起始位置或者指定位置,以从待分析的数据块的起始位置或者指定位置,尝试将待分析的数据块视为指令执行,即将相关数据视为指令而执行;因此,Loader管理模块在尝试将待分析的数据块视为指令执行的过程中,可以监控到漏洞利用程序中的指定类型函数调用。
步骤103,Loader管理模块在监控到指定类型函数被调用(即漏洞利用程序常用的函数被调用),且调用指定类型函数的地址位于待分析的数据块的起止范围之内时,判定数据流中包含漏洞利用。其中,Loader管理模块可以通过调用栈回溯发现函数,确定调用指定类型函数的地址是否位于待分析的数据块的起止范围之内;例如,当调用栈回溯发现函数返回的地址位于待分析的数据块的起止范围之内时,则说明调用指定类型函数的地址位于待分析的数据块的起止范围之内,并判定数据流中包含漏洞利用。
本发明实施例中,Loader管理模块在尝试将待分析的数据块视为指令执行之前,还需要将待分析的数据块的起始位置以及块大小通知给Monitor管理模块。之后由Monitor管理模块利用待分析的数据块的起始位置以及块大小对Loader管理模块的指令执行过程进行监控。进一步的,如果Loader管理模块在指令执行过程中触发异常(即Monitor管理模块捕获到Loader管理模块由于执行数据指令触发异常),或者,Loader管理模块在指令执行过程中的执行时间超过预设阈值(即Monitor管理模块捕获到Loader管理模块由于执行包括但不限于循环指令而导致执行时间超过事先设定阈值),则:Monitor管理模块中断Loader管理模块的指令执行过程,调整Loader管理模块的重新执行的位置(即通过将EIP指向待分析的数据块中需要重新执行的位置),并继续由Loader管理模块从待分析的数据块的调整后的位置开始,尝试将待分析的数据块视为指令执行,以此类推,直至将待分析的数据块末端视为指令执行完成。
本发明实施例中,Loader管理模块在将尝试待分析的数据块视为指令执行之前,还需要将本Loader管理模块当前已加载模块的信息(如本进程已加载模块列表ListA)通知给Monitor管理模块。之后由Monitor管理模块利用Loader管理模块当前已加载模块的信息对Loader管理模块的指令执行过程进行监控。进一步的,Monitor管理模块在接收到Loader管理模在指令执行过程中触发的模块加载事件(如:Monitor管理模块接收到来自Loader管理模块的LOAD_DLL_DEBUG_EVENT事件),且该加载的模块不是Loader管理模块当前已加载模块时,则判定数据流中包含漏洞利用。
本发明实施例中,当Loader管理模块从待分析的数据块的起始位置或者指定位置开始,尝试将待分析的数据块视为指令执行,直至将待分析的数据块末端视为指令执行完成,在上述指令执行过程中,如果未发生“Loader管理模块监控到指定类型函数被调用,且调用指定类型函数的地址位于待分析的数据块的起止范围之内”,且未发生“Monitor管理模块在接收到Loader管理模在指令执行过程中触发的模块加载事件,且加载的模块不是Loader管理模块当前已加载模块”,则判定该数据流中不包含漏洞利用。
综上所述,本发明实施例中,在精心构建的可控、可检测的缓冲区溢出漏洞所需环境中,Loader管理模块从待分析的数据块的起始位置或指定位置,尝试将待分析的数据块视为指令执行,并在尝试将待分析的数据块视为指令执行的过程中,通过监控漏洞利用程序中的指定类型函数调用,从而在监控到指定类型函数被调用,且调用指定类型函数的地址位于待分析的数据块的起止范围之内时,判定数据流中包含漏洞利用,从而通过捕获在漏洞利用中常用函数调用和监控数据执行程序已加载模块的变化,解决特征码扫描方法无法检测各种采用多态变形技术(多态变形技术是指漏洞利用指令为了躲避扫描程序的检测,对自身的执行代码进行变换,尽量隐藏扫描程序依据的特征码,从而规避扫描程序的检测)的利用代码和未知漏洞利用的问题。具体的,上述方式不仅可以避免依靠检测漏洞利用样本特征码的局限性,而且能够检测到与已知漏洞利用样本不同的漏洞利用和针对未知漏洞的利用,甚至是所有基于缓冲区溢出的攻击。上述方式可以解决特征码扫描方法无法检测各种采用多态变形技术的利用代码和未知漏洞利用的问题。上述方式可以用于镜像流量离线审计。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种漏洞利用的检测系统,如图2所示,所述漏洞利用的检测系统具体包括Loader管理模块11和Monitor管理模块12;其中:所述Loader管理模块11具体包括:获得单元111,用于获得数据流中待分析的数据块;第一处理单元112,用于从所述待分析的数据块的起始位置或者指定位置,尝试将所述待分析的数据块视为指令执行,并在尝试将所述待分析的数据块视为指令执行的过程中,监控漏洞利用程序中的指定类型函数调用;其中,所述指定类型函数在调用时,表示存在漏洞利用;第一确定单元113,用于在监控到所述指定类型函数被调用,且调用所述指定类型函数的地址位于所述待分析的数据块的起止范围之内时,判定所述数据流中包含漏洞利用。
本发明实施例中,所述Loader管理模块11还包括:发送单元114,用于在尝试将所述待分析的数据块视为指令执行之前,将所述待分析的数据块的起始位置以及块大小通知给Monitor管理模块12;所述Monitor管理模块12具体包括:第一监控单元121,用于利用所述待分析的数据块的起始位置以及所述块大小对所述Loader管理模11的指令执行过程进行监控;第二处理单元122,用于在监控到所述Loader管理模块11在指令执行过程中触发异常,或者,所述Loader管理模块11在指令执行过程中的执行时间超过预设阈值,则:中断所述Loader管理模块11的指令执行过程,调整所述Loader管理模块11的重新执行的位置,并继续由所述Loader管理模块11从所述待分析的数据块的调整后的位置开始,尝试将所述待分析的数据块视为指令执行。
本发明实施例中,所述Loader管理模块11还包括:发送单元114,用于在尝试将所述待分析的数据块视为指令执行之前,将所述Loader管理模块11当前已加载模块的信息通知给Monitor管理模块12;所述Monitor管理模块12具体包括:第二监控单元123,用于利用所述Loader管理模块11当前已加载模块的信息对所述Loader管理模11的指令执行过程进行监控;第二确定单元124,用于在接收到所述Loader管理模11在指令执行过程中触发的模块加载事件,且加载的模块不是所述Loader管理模块11当前已加载模块时,则判定所述数据流中包含漏洞利用。
本发明实施例中,所述获得单元111,具体用于获得已经剥离网络协议头的负载数据,搜索负载数据中的指定特征,在发现指定特征之后再将相应的数据块作为所述待分析的数据块;或者,获得已经剥离网络协议头的负载数据,利用Shellcode中限制存在的字节集合将所述负载数据分割为多个数据子块,且仅将数据子块长度大于Shellcode预设最小指令长度的数据子块作为所述待分析的数据块。
本发明实施例中,所述Loader管理模块11具体为模拟存在缓冲区溢出漏洞的数据模拟执行程序;所述Monitor管理模块12具体为对Loader管理模块11的各种异常和事件进行处理的处理程序。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种漏洞利用的检测方法,其特征在于,所述方法包括以下步骤:
Loader管理模块获得数据流中待分析的数据块;
所述Loader管理模块从所述待分析的数据块的起始位置或者指定位置,尝试将所述待分析的数据块视为指令执行,并在尝试将所述待分析的数据块视为指令执行的过程中,监控漏洞利用程序中的指定类型函数调用;其中,所述指定类型函数在调用时,表示存在漏洞利用;
所述Loader管理模块在监控到所述指定类型函数被调用,且调用所述指定类型函数的地址位于所述待分析的数据块的起止范围之内时,则判定所述数据流中包含漏洞利用。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述Loader管理模块在尝试将所述待分析的数据块视为指令执行之前,将所述待分析的数据块的起始位置以及块大小通知给Monitor管理模块;
所述Monitor管理模块利用所述待分析的数据块的起始位置以及所述块大小对所述Loader管理模块的指令执行过程进行监控;
如果所述Loader管理模块在指令执行过程中触发异常,或者,所述Loader管理模块在指令执行过程中的执行时间超过预设阈值,则:所述Monitor管理模块中断所述Loader管理模块的指令执行过程,调整所述Loader管理模块的重新执行的位置,并继续由所述Loader管理模块从所述待分析的数据块的调整后的位置开始,尝试将所述待分析的数据块视为指令执行。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述Loader管理模块在尝试将所述待分析的数据块视为指令执行之前,将所述Loader管理模块当前已加载模块的信息通知给Monitor管理模块;
所述Monitor管理模块利用所述Loader管理模块当前已加载模块的信息对所述Loader管理模块的指令执行过程进行监控;
所述Monitor管理模块在接收到所述Loader管理模在指令执行过程中触发的模块加载事件,且加载的模块不是所述Loader管理模块当前已加载模块时,则判定所述数据流中包含漏洞利用。
4.如权利要求1-3任一项所述的方法,其特征在于,所述Loader管理模块获得数据流中待分析的数据块的过程,具体包括:
所述Loader管理模块获得已经剥离网络协议头的负载数据,搜索负载数据中的指定特征,在发现指定特征之后再将相应的数据块作为所述待分析的数据块;或者,
所述Loader管理模块获得已经剥离网络协议头的负载数据,利用Shellcode中限制存在的字节集合将所述负载数据分割为多个数据子块,且仅将数据子块长度大于Shellcode预设最小指令长度的数据子块作为所述待分析的数据块。
5.如权利要求2或3所述的方法,其特征在于,所述Loader管理模块具体为模拟存在缓冲区溢出漏洞的数据模拟执行程序;所述Monitor管理模块具体为对Loader管理模块的各种异常和事件进行处理的处理程序。
6.一种漏洞利用的检测系统,其特征在于,所述漏洞利用的检测系统包括Loader管理模块,且所述Loader管理模块具体包括:
获得单元,用于获得数据流中待分析的数据块;
第一处理单元,用于从所述待分析的数据块的起始位置或者指定位置,尝试将所述待分析的数据块视为指令执行,并在尝试将所述待分析的数据块视为指令执行的过程中,监控漏洞利用程序中的指定类型函数调用;其中,所述指定类型函数在调用时,表示存在漏洞利用;
第一确定单元,用于在监控到所述指定类型函数被调用,且调用所述指定类型函数的地址位于所述待分析的数据块的起止范围之内时,判定所述数据流中包含漏洞利用。
7.如权利要求6所述的系统,其特征在于,所述Loader管理模块还包括:发送单元,用于在尝试将所述待分析的数据块视为指令执行之前,将所述待分析的数据块的起始位置以及块大小通知给Monitor管理模块;
所述检测系统还包括Monitor管理模块,所述Monitor管理模块具体包括:
第一监控单元,用于利用所述待分析的数据块的起始位置以及所述块大小对所述Loader管理模块的指令执行过程进行监控;
第二处理单元,用于在监控到所述Loader管理模块在指令执行过程中触发异常,或者,所述Loader管理模块在指令执行过程中的执行时间超过预设阈值,则:中断所述Loader管理模块的指令执行过程,调整所述Loader管理模块的重新执行的位置,并继续由所述Loader管理模块从所述待分析的数据块的调整后的位置开始,尝试将所述待分析的数据块视为指令执行。
8.如权利要求6所述的系统,其特征在于,所述Loader管理模块还包括:发送单元,用于在尝试将所述待分析的数据块视为指令执行之前,将所述Loader管理模块当前已加载模块的信息通知给Monitor管理模块;
所述检测系统还包括Monitor管理模块,所述Monitor管理模块具体包括:
第二监控单元,用于利用所述Loader管理模块当前已加载模块的信息对所述Loader管理模块的指令执行过程进行监控;
第二确定单元,用于在接收到所述Loader管理模在指令执行过程中触发的模块加载事件,且加载的模块不是所述Loader管理模块当前已加载模块时,则判定所述数据流中包含漏洞利用。
9.如权利要求6-8任一项所述的系统,其特征在于,
所述获得单元,具体用于获得已经剥离网络协议头的负载数据,搜索负载数据中的指定特征,在发现指定特征之后再将相应的数据块作为所述待分析的数据块;或者,获得已经剥离网络协议头的负载数据,利用Shellcode中限制存在的字节集合将所述负载数据分割为多个数据子块,且仅将数据子块长度大于Shellcode预设最小指令长度的数据子块作为所述待分析的数据块。
10.如权利要求7或8所述的系统,其特征在于,所述Loader管理模块具体为模拟存在缓冲区溢出漏洞的数据模拟执行程序;所述Monitor管理模块具体为对Loader管理模块的各种异常和事件进行处理的处理程序。
CN201310632748.9A 2013-11-29 2013-11-29 一种漏洞利用的检测方法和系统 Active CN103617396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310632748.9A CN103617396B (zh) 2013-11-29 2013-11-29 一种漏洞利用的检测方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310632748.9A CN103617396B (zh) 2013-11-29 2013-11-29 一种漏洞利用的检测方法和系统

Publications (2)

Publication Number Publication Date
CN103617396A CN103617396A (zh) 2014-03-05
CN103617396B true CN103617396B (zh) 2016-11-02

Family

ID=50168099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310632748.9A Active CN103617396B (zh) 2013-11-29 2013-11-29 一种漏洞利用的检测方法和系统

Country Status (1)

Country Link
CN (1) CN103617396B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550585B (zh) * 2016-03-02 2020-09-04 腾讯科技(深圳)有限公司 一种应用程序安全性测试方法、装置和系统
CN106055976B (zh) * 2016-05-16 2021-05-28 新华三技术有限公司 文件检测方法及沙箱控制器
CN105893102B (zh) * 2016-06-29 2019-11-12 珠海豹趣科技有限公司 一种反病毒安全软件触发蓝屏的处理方法、装置及电子设备
CN106650462A (zh) * 2016-11-28 2017-05-10 北京奇虎科技有限公司 一种检测Flash漏洞利用的方法和装置
CN109101819B (zh) * 2017-06-21 2024-06-14 中兴通讯股份有限公司 一种漏洞检测方法及终端、存储介质
CN112149136A (zh) * 2020-09-23 2020-12-29 北京顶象技术有限公司 loT设备固件漏洞的检测方法、系统及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1766776A (zh) * 2005-09-28 2006-05-03 珠海金山软件股份有限公司 计算机软件安全漏洞修复装置和方法
CN1794645A (zh) * 2005-08-24 2006-06-28 上海浦东软件园信息技术有限公司 基于程序行为的入侵检测方法与系统
CN102043919A (zh) * 2010-12-27 2011-05-04 北京安天电子设备有限公司 基于脚本虚拟机的漏洞通用检测方法和系统
CN102651060A (zh) * 2012-03-31 2012-08-29 北京奇虎科技有限公司 一种漏洞检测的方法和系统
CN102737188A (zh) * 2012-06-27 2012-10-17 北京奇虎科技有限公司 检测恶意网页的方法及装置
US8499354B1 (en) * 2011-03-15 2013-07-30 Symantec Corporation Preventing malware from abusing application data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212779A1 (en) * 2002-04-30 2003-11-13 Boyter Brian A. System and Method for Network Security Scanning

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794645A (zh) * 2005-08-24 2006-06-28 上海浦东软件园信息技术有限公司 基于程序行为的入侵检测方法与系统
CN1766776A (zh) * 2005-09-28 2006-05-03 珠海金山软件股份有限公司 计算机软件安全漏洞修复装置和方法
CN102043919A (zh) * 2010-12-27 2011-05-04 北京安天电子设备有限公司 基于脚本虚拟机的漏洞通用检测方法和系统
US8499354B1 (en) * 2011-03-15 2013-07-30 Symantec Corporation Preventing malware from abusing application data
CN102651060A (zh) * 2012-03-31 2012-08-29 北京奇虎科技有限公司 一种漏洞检测的方法和系统
CN102737188A (zh) * 2012-06-27 2012-10-17 北京奇虎科技有限公司 检测恶意网页的方法及装置

Also Published As

Publication number Publication date
CN103617396A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
CN103617396B (zh) 一种漏洞利用的检测方法和系统
US10169585B1 (en) System and methods for advanced malware detection through placement of transition events
US9536091B2 (en) System and method for detecting time-bomb malware
CN109583202B (zh) 用于检测进程的地址空间中的恶意代码的系统和方法
US8627478B2 (en) Method and apparatus for inspecting non-portable executable files
RU2646352C2 (ru) Система и способ для применения индикатора репутации для облегчения сканирования на наличие вредоносных программ
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
US10341365B1 (en) Methods and system for hiding transition events for malware detection
CN109586282B (zh) 一种电网未知威胁检测系统及方法
US11366896B2 (en) System and method for detecting anomalous events based on a dump of a software process
US8176556B1 (en) Methods and systems for tracing web-based attacks
CN106709325B (zh) 一种监控程序的方法及装置
US11042633B2 (en) Methods for protecting software hooks, and related computer security systems and apparatus
US8256000B1 (en) Method and system for identifying icons
EP2987111B1 (en) Executable component injection utilizing hotpatch mechanisms
US9754105B1 (en) Preventing the successful exploitation of software application vulnerability for malicious purposes
WO2017012241A1 (zh) 文件的检测方法、装置、设备及非易失性计算机存储介质
US11232193B1 (en) Automated generation of a sandbox configuration for malware detection
US10055251B1 (en) Methods, systems, and media for injecting code into embedded devices
JP2010262609A (ja) 効率的なマルウェアの動的解析手法
CN106415577B (zh) 用于识别可疑事件来源的系统和方法
CN105678164A (zh) 检测恶意软件的方法及装置
US9787699B2 (en) Malware detection
WO2019013033A1 (ja) コールスタック取得装置、コールスタック取得方法、および、コールスタック取得プログラム
US8646076B1 (en) Method and apparatus for detecting malicious shell codes using debugging events

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230615

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.