基于攻击行为分析的高级持续性威胁检测方法

文档序号:10515534阅读:237来源:国知局
基于攻击行为分析的高级持续性威胁检测方法
【专利摘要】本发明提供了一种基于攻击行为分析的高级持续性威胁检测方法,包括步骤1:接管系统内核所有程序执行管道;步骤2:将网卡设置为混淆模式,获取网络数据包,结合本地端口分析行为特征,若包含网络攻击行为的恶意操作指令,则系统告警;步骤3:枚举所有网络通道,若包含网络攻击行为的恶意操作指令,则系统告警;步骤4:监控文件操作,对关键信息进行判断,若不符合要求,则系统告警;步骤5:从内核层跨界提交捕获的软件执行API信息到应用层交给行为分析引擎,判断是否为攻击行为,若是则发出告警,若否,则继续返回执行步骤2。本发明能够检测高级持续性威胁,检测效率高,且较全面地分析攻击在系统层面的行为情况。
【专利说明】
基于攻击行为分析的高级持续性威胁检测方法
技术领域
[0001]本发明涉及网络安全技术领域,具体地,涉及一种基于攻击行为分析的高级持续性威胁检测方法。
【背景技术】
[0002]随着网络中攻击越来越复杂,其在军事、商业方面的影响也越来越广,而攻击的复杂性导致高级持续性检测愈发的困难,该攻击的发展具体体现在攻击者不断使用各种攻击手段,变换已有的攻击方式,在缓慢顺利得渗透到内部网络后长期蛰伏,不断在网络中获取相关敏感信息并想方设法继续提升权限,直到获得重要敏感信息为止。对于隐蔽性极高的攻击,需要及时地对其进行发现和处理,保护运行系统的主体安全。
[0003]目前已有多种针对高级持续性威胁进行检测的技术手段,但往往在检测中误报率和漏报率都较高,目前主要分为以下三类:
[0004]恶意代码检测类:该类检测手段主要针对高级持续性威胁攻击过程中突破与进入系统的攻击阶段所使用的恶意代码进行检测。大部分高级持续性威胁攻击利用恶意代码首先攻击单台终端,从而作为突破口以及跳板绕过防火墙等外部防护措施实施进一步渗透。因此,如果能在高级持续性威胁攻击初始阶段检测出用于攻击的恶意代码,就能及时发出告警;
[0005]主机行为检测类:无论攻击者利用任何高级的方法将恶意代码植入了目标终端中,必须要执行恶意代码才能够达到相应的目的。因此,如果能够监控网络系统中各主机节点的操作,确保单台终端以及服务器的操作安全,就能有效发现高级持续性威胁;
[0006]网络入侵检测类:该类检测手段通过在网络边界部署网络入侵检测系统来检测高级持续性威胁攻击的命令和控制(C&C)通道。各种研究表明,虽然高级持续性威胁攻击使用的恶意代码会不断变种、升级与变革,但恶意代码最后构建的命令通道模式变化频率并不高。因此,能够采用传统的入侵检测方案,对命令通道模式特征进行检测,可以及时发现高级持续性威胁攻击;
[0007]经对现有技术文献的检索发现,中国专利申请号为:CN201510203698.1名称为“一种高级持续性威胁攻击的判别方法”,包括如下步骤:采集终端样本程序系统API调用序列;通过MapReduce模块提取其API调用短序列,然后计算短序列的信息增益,筛选出信息增益大的程序行为特征;再次扫描该系统API调用序列,得到终端样本程序的行为特征;统计机器学习模型模块使用每个样本程序的行为特征作为输入,对其进行训练,直至其对训练样本程序分类正确率达到90 %以上时,确定模型参数,将其作为APT攻击判别器;采集目标终端程序的系统调用序列;对目标程序,采集其API调用序列、提取其行为特征后,便可判别其是否存在攻击行为。本发明对APT攻击的检测能力强,缩短程序行为特征的提取时间。”利用该方法,能够实现识别APT攻击的效果,扩大了可分析的终端程序系统调用序列的规模,缩短了程序行为特征的提取时间。

【发明内容】

[0008]针对现有技术中的缺陷,本发明的目的是提供一种基于攻击行为分析的高级持续性威胁检测方法。
[0009]根据本发明提供的基于攻击行为分析的高级持续性威胁检测方法,包括如下步骤:
[0010]步骤I:接管系统内核所有程序执行管道;
[0011]步骤2:将网卡设置为混淆模式,获取网络数据包,在不同的网络层上对数据包进行提取后获得网络包中的应用层数据,结合本地端口分析行为特征,若在行为特征中包含网络攻击行为的恶意操作指令,则系统告警;
[0012]步骤3:枚举所有网络通道,若在行为特征中包含网络攻击行为的恶意操作指令,则系统告警;
[0013]步骤4:监控文件操作,对于发生变动的文件,判断文件关键信息,对关键信息进行判断,若不符合系统要求,则系统告警;
[0014]步骤5:从内核层跨界提交捕获的软件执行API信息到应用层交给行为分析引擎,判断是否为攻击行为,若是则发出告警,若否,则返回步骤2继续执行。
[0015]优选地,所述步骤I包括:
[0016]接管系统内核所有程序执行管道,捕捉各类系统及应用层操作,将执行过程中的各类指令转化为标准格式进行检测;
[0017]具体地,捕捉所有执行性的操作,包括PE文件及各类脚本,将执行行为转化为操作指令,即使用内核函数接管系统中所有的执行进程和命令管道,捕捉内部执行过程和API函数调用情况,将执行过程转化为指令进行检测。
[0018]优选地,所述步骤2包括:
[0019]步骤2.1:将网卡设置为混淆模式,通过网络层获取各种类型协议数据包,在不同的网络层上对数据包进行提取,获取数据中可疑的特征数据,提取得到可疑的行为特征;
[0020 ] 具体地,在本地的IP链路层嗅探经过本机的数据包,动态识别TCP、UDP、DNS、ICMP数据包类型及数据端口信息,提取应用层数据中可疑的行为特征,即行为特征中包含网络攻击行为的恶意操作指令;
[0021 ] 步骤2.2:结合本地端口分析,在网络流量中出现的数据端口,若本地API无法获得的应用端口,则认为是潜在的攻击数据端口,系统进行告警;若网络流量中的端口信息与本地获取的端口信息一致,则认为是正常应用端口号,不做处理。
[0022]优选地,所述步骤3包括:
[0023]步骤3.1:枚举网络通道,所述网络通道包括:远程桌面、IPC共享管道,根据时间差特征,IP白名单机制,在异常时间拦截异常IP发出的网络通道请求,并针对攻击者常用的IPC通道实施管控;
[0024]步骤3.2:当发现的异常行为时,系统告警。
[0025]优选地,所述步骤4包括:监控Windows系统里面所有文件的生成,重命名,改写,访问,执行,从任何变动的文件中提取异常的关键字信息,所述变动包括:文件的新增、修改以及删除;所述关键字信息包括:文件名、文件类型、操作时间。
[0026]具体地,文件名(如svchost、notepad、cmd等)、文件类型(Asp、Php、Dll、Exe等);若检测到异常的关键字信息,如在系统文件夹中建立与系统文件名相近的可执行文件,或在图片文件夹中运行可执行程序,则系统进行告警处理。
[0027]与现有技术相比,本发明具有如下的有益效果:
[0028]本发明提供的基于攻击行为分析的高级持续性威胁检测方法,在操作系统内部通道捕获进程和内核的行为信息,通过分析操作行为的可疑程度,并匹配攻击特征库进行决策,动态分析网络流数据和特征,挖掘出本地操作行为和网络行为的相关性,确定是否存在恶意的攻击行为,从而达到检测高级持续性威胁,检测效率高,能够较全面地分析攻击在系统层面的行为情况。
【附图说明】
[0029]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0030]图1为本发明提供的基于攻击行为分析的高级持续性威胁检测方法的流程示意图。
【具体实施方式】
[0031]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0032]根据本发明提供的基于攻击行为分析的高级持续性威胁检测方法,使其能够在符合检测要求的前提下,尽可能获取黑客在系统内部的行为分析数据,对捕获到的进程及命令行参数,检测可疑的执行指令和代码,同时对网络数据流进行监控,判断数据流中可以的危害特征。主要用来分析恶意代码的攻击行为,并且与本地攻击行为进行联动分析。
[0033]具体地,针对Windows操作系统,这里是指Windows系统环境下的高级持续性威胁检测方法,利用系统内部通道捕获进程和内核的行为信息,通过分析操作行为的可疑程度,并匹配攻击特征库进行决策,动态分析网络流数据和特侦。挖掘出本地操作行为和网络行为的相关性,确定是否存在恶意的攻击行为,从而达到检测高级持续性威胁的目的。
[0034]对于Windows操作系统下网络攻击行为,主要是指对高级持续性威胁的检测,具体的检测流程如图1所示,包括如下步骤:
[0035]第一步,接管系统内核所有程序执行管道,捕捉各类系统及应用层操作,即捕捉所有执行性的操作,包括PE文件及各类脚本;将执行行为转化为操作指令(具有可观测性),即将具体执行过程中的各类指令转化为标准格式进行检测。具体地,使用内核函数接管系统中所有的执行进程和命令管道,捕捉内部执行过程和API函数调用情况。将执行过程转化为指令进行检测。
[0036]第二步,将网卡设置为混淆模式,通过网络层获取各种类型协议数据包,在不同的网络层上对数据包进行提取,获取数据中可疑的特征数据,同时结合本地端口分析可疑的行为特征。具体地,在本地的IP链路层嗅探经过本机的数据包,动态识别TCP、UDP、DNS、ICMP数据包类型及数据端口信息,快速提取应用层数据中可疑的特征数据。
[0037]第三步,枚举所有网络通道,(包括但不仅限于远程桌面,IPC共享管道),根据时间特征,IP信息,查找可能存在的异常连接行为。具体地,根据时间差特征,IP白名单机制,在异常时间拦截异常IP发出的网络通道请求,针对常用的IPC通道实施高强度的管控。
[0038]第四步,监控文件操作,包括生成,重命名,改写,访问,执行等,从文件变动中提取检测关键信息,包括文件名称、类型、特征进行监控。具体地,监控windows系统里面所有文件的生成,重命名,改写,访问,执行等等,从任何变动的文件提取异常的关键字信息,特别针对可执行PE程序、ASP、PHP、JavaScipt等脚本程序进行监控。
[0039]第五步,从内核层释放信号,主动从内核层跨界提交捕获数据到应用层交给行为分析引擎。跨界数据提交通过驱动层加密提交避免当中被其他驱动截获,避免被恶意驱动拦截。通过攻击特征库匹配和基于业务环境的异常行为策略配置库对可疑行为进行告警。
[0040]本发明通过对系统中异常执行行为、网络行为和文件操作行为分析,并对捕捉的行为特征进行策略匹配异常分析,将高级持续性攻击在系统中可能发生的操作进行告警。
[0041]本发明经过了功能测试,测试结果表明了本发明对于常见的高级持续性攻击的行为具有很好的检测率;特别是对于Windows系统平台下的通过网络进行渗透和攻击的情况,攻击检测率较高;该检测方法能够较全面地分析攻击在系统层面的行为情况;即使攻击比较复杂时,也能够检测出一部分攻击操作行为。
[0042]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
【主权项】
1.一种基于攻击行为分析的高级持续性威胁检测方法,其特征在于,包括如下步骤: 步骤I:接管系统内核所有程序执行管道; 步骤2:将网卡设置为混淆模式,获取网络数据包,在不同的网络层上对数据包进行提取后获得网络包中的应用层数据,结合本地端口分析行为特征,若在行为特征中包含网络攻击行为的恶意操作指令,则系统告警; 步骤3:枚举所有网络通道,若在行为特征中包含网络攻击行为的恶意操作指令,则系统告警; 步骤4:监控文件操作,对于发生变动的文件,判断文件关键信息,对关键信息进行判断,若不符合系统要求,则系统告警; 步骤5:从内核层跨界提交捕获的软件执行API信息到应用层交给行为分析引擎,判断是否为攻击行为,若是则发出告警,若否,则返回步骤2继续执行。2.根据权利要求1所述的基于攻击行为分析的高级持续性威胁检测方法,其特征在于,所述步骤I包括: 接管系统内核所有程序执行管道,捕捉各类系统及应用层操作,将执行过程中的各类指令转化为标准格式进行检测; 具体地,捕捉所有执行性的操作,包括PE文件及各类脚本,将执行行为转化为操作指令,即使用内核函数接管系统中所有的执行进程和命令管道,捕捉内部执行过程和API函数调用情况,将执行过程转化为指令进行检测。3.根据权利要求1所述的基于攻击行为分析的高级持续性威胁检测方法,其特征在于,所述步骤2包括: 步骤2.1:将网卡设置为混淆模式,通过网络层获取各种类型协议数据包,在不同的网络层上对数据包进行提取,获取数据中可疑的特征数据,提取得到可疑的行为特征; 具体地,在本地的IP链路层嗅探经过本机的数据包,动态识别TCP、UDP、DNS、ICMP数据包类型及数据端口信息,提取应用层数据中可疑的行为特征,即行为特征中包含网络攻击行为的恶意操作指令; 步骤2.2:结合本地端口分析,在网络流量中出现的数据端口,若本地API无法获得的应用端口,则认为是潜在的攻击数据端口,系统进行告警;若网络流量中的端口信息与本地获取的端口信息一致,则认为是正常应用端口号,不做处理。4.根据权利要求1所述的基于攻击行为分析的高级持续性威胁检测方法,其特征在于,所述步骤3包括: 步骤3.1:枚举网络通道,所述网络通道包括:远程桌面、IPC共享管道,根据时间差特征,IP白名单机制,在异常时间拦截异常IP发出的网络通道请求,并针对攻击者常用的IPC通道实施管控; 步骤3.2:当发现的异常行为时,系统告警。5.根据权利要求1所述的基于攻击行为分析的高级持续性威胁检测方法,其特征在于,所述步骤4包括:监控Windows系统里面所有文件的生成,重命名,改写,访问,执行,从任何变动的文件中提取异常的关键字信息,所述变动包括:文件的新增、修改以及删除;所述关键字信息包括:文件名、文件类型、操作时间。
【文档编号】H04L29/06GK105871883SQ201610307127
【公开日】2016年8月17日
【申请日】2016年5月10日
【发明人】施勇, 薛质
【申请人】上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1