一种多维度深层次检测APT攻击的方法转让专利

申请号 : CN201710731477.0

文献号 : CN107370755B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李凯范渊

申请人 : 杭州安恒信息技术股份有限公司

摘要 :

本发明涉及APT攻击检测领域,旨在提供一种多维度深层次检测APT攻击的方法。该种多维度深层次检测APT攻击的方法包括步骤:对常见的网络应用层协议数据包做流量采集、解析还原;对获得的网络应用行为进行分析检测,记录攻击行为并进行告警;进一步优化各攻击点的检测策略和机制;关联生成APT攻击链路。本发明对APT攻击生命周期的各个阶段中可能的攻击点,从多个维度进行深层次的分析检测,并且某一攻击阶段中发现的攻击线索用来进一步作为其他攻击阶段的检测依据,各攻击阶段的检测结论用来进一步关联,形成确定性更高的攻击证据。

权利要求 :

1.一种多维度深层次检测APT攻击的方法,其特征在于,包括如下步骤:

步骤A:流量采集模块对常见的网络应用层协议数据包做流量采集、解析还原;

所述流量采集模块能对旁路镜像流量中的网络应用层协议数据包进行捕获,并通过IP碎片重组、TCP重装、网络应用层协议解析,按常见的网络应用层协议的应用规范对网络应用层协议数据包进行解析还原,最终获取网络应用层协议数据包中包含的具体网络应用行为;

步骤B:针对APT攻击生命周期的各个攻击阶段中可能的攻击点,分别对步骤A获得的网络应用行为进行分析检测,记录攻击行为并进行告警;

步骤C:使用单个攻击点检测产生的攻击行为告警信息,进一步优化各攻击点的检测策略和机制;具体包括下述子步骤:步骤C1:通过对所有攻击行为告警信息进行汇总分析,检测出在不同APT攻击阶段、不同的攻击目标IP、使用不同的协议和攻击方式,持续性地尝试攻击的攻击源IP,以此来生成IP信誉度信息;

步骤C2:通过对所有攻击行为告警信息进行汇总分析,检测出在相邻APT攻击阶段、既作为攻击发起方又作为攻击承受者的IP,以此来生成IP威胁程度信息;

步骤C3:把生成的IP信誉度信息和IP威胁程度信息,同步到步骤B中对APT攻击生命周期各个攻击阶段的攻击点的检测策略中;

步骤D:使用单个攻击点检测产生的攻击行为告警信息,通过攻击源IP、被攻击IP、各攻击点在APT攻击生命周期中的阶段位置,以及各告警信息的时间信息,关联生成APT攻击链路。

2.根据权利要求1所述的一种多维度深层次检测APT攻击的方法,其特征在于,所述的步骤B中针对APT攻击生命周期的各个攻击阶段中可能的攻击点的分析和检测分别进行分析检测,都能通过源IP、目的IP地址的可信度系数和受感染系数来调节检测阀值,实现不同的检测力度;

所述IP地址的可信度系数,由0至100范围内的数值来表示,能从IP信誉度信息中获取;

所述IP信誉度信息是基于IP地址和该IP可信度系数为数值的二维信息库;

所述IP地址的受感染系数,由0至100范围内的数值来表示,能从IP威胁程度信息中获取;所述IP威胁程度信息,是基于IP地址和该IP受感染系数为数值的二维信息库;

步骤B具体包括下述子步骤:

步骤B1:把APT攻击生命周期划分为初步入侵、建立据点、木马回连、提权、内部勘测、横向扩散、窃取数据共7个攻击阶段;

步骤B2:对初步入侵攻击阶段,进行邮件社工攻击检测、恶意文件投递的检测;

步骤B3:对建立据点攻击阶段,进行恶意文件接收、Webshell植入的检测;

步骤B4:对木马回连攻击阶段,进行C&C IP/URL、DGA域名请求、利用Webshell的检测;

步骤B5:对提权攻击阶段,进行漏洞利用和密码破解的检测;

步骤B6:对内部勘测攻击阶段,进行内网端口扫描、内网通过SMB远程溢出攻击的检测;

步骤B7:对横向扩散攻击阶段,进行内网密码暴力破解、恶意文件投递的检测;

步骤B8:对窃取数据攻击阶段,进行隐蔽信道传输、隐写文件传输、利用80端口传输非法数据的检测。

3.根据权利要求1所述的一种多维度深层次检测APT攻击的方法,其特征在于,所述步骤C中,所述IP信誉度信息是基于IP地址和该IP可信度系数为数值的二维信息库;所述IP可信度系数,由0至100范围内的数值来表示,数值越大,说明该IP发起的访问可信度越高,即相对存在攻击行为的可能性越小;

所述IP威胁程度信息是基于IP地址和该IP受感染系数为数值的二维信息库;所述IP受感染系数,由0至100范围内的数值来表示,数值越大,说明该IP受感染的可能性越大,进一步的,访问该IP的来源IP为攻击者IP的可能性也相应较大,由该IP发起的对其他IP的访问,其他IP遭受横向扩散攻击的可能性也相应较大。

4.根据权利要求1所述的一种多维度深层次检测APT攻击的方法,其特征在于,所述步骤D中,APT攻击链路以IP为节点,IP间以确认成功的APT攻击生命周期的攻击点名称相连,IP节点间的连线上能汇总展现攻击方式、攻击次数、攻击起止时间、威胁程度并且能够点击钻取详细信息;

APT攻击链路能按照APT攻击生命周期的几个攻击阶段,自动勾勒出从初步入侵攻击阶段到窃取数据攻击阶段的IP节点路径图;如果没有找到上述涵盖APT攻击全生命周期的IP节点路径图,则能勾勒出最长路径的IP节点路径图,以便快速定位最迫切需要整治的节点设备。

说明书 :

一种多维度深层次检测APT攻击的方法

技术领域

[0001] 本发明是关于APT攻击检测领域,特别涉及一种多维度深层次检测APT攻击的方法。

背景技术

[0002] APT(Advanced Persistent Threat)攻击是一种针对特定目标,有组织的、精心策划的一系列隐蔽和持续的攻击过程。APT攻击经常使用恶意软件对系统漏洞进行利用,并使用外部C&C服务器对攻击的特定目标进行持续监控和数据窃取,也正因为APT攻击都是基于特定攻击目标,在精心策划后展开的,且可进一步通过远控,结合人工的技能更针对性地执行攻击过程,整个过程长期潜伏难以察觉,所以攻击一旦成功,对攻击目标会造成非常大的威胁。
[0003] APT攻击的生命周期一般分为几个攻击阶段:
[0004] 1)初步入侵:利用邮件进行社工攻击或鱼叉式网络钓鱼、恶意文件投递;在网站中植入恶意文件进行水坑攻击等;
[0005] 2)建立据点:在被入侵主机上植入远端管理工具(RAT:remote administration tool),创建网络后门或隧道以便非法访问;
[0006] 3)木马回连:RAT回连C&C服务器,更新攻击工具,并可远控被入侵主机;
[0007] 4)提权:通过漏洞利用或密码破解进行提权,完全控制入侵主机;
[0008] 5)内部勘测:通过扫描等手段收集网络架构、资产凭证等信息;
[0009] 6)横向扩散:通过内部勘测获取的密码凭证、或者密码暴力破解或者漏洞利用等手段对其他服务器、工作站进一步实现控制;
[0010] 7)窃取数据:对窃取到的数据进行非法外送。
[0011] APT攻击在确定攻击目标后,会对攻击目标的现有基础设施的薄弱环节、已有的防御措施做大量侦查工作,并精心策划各个攻击步骤,对已有的防御措施会设法绕过,使用0day漏洞来设计恶意文件,在攻击过程中会设法隐藏和潜伏,以达到最终窃取数据的目标。
[0012] 传统的防护机制和产品,更多的是基于APT攻击生命周期中的几个攻击手段做单点检测,所检测的攻击点和攻击层面均较为单一,且各攻击点的检测策略之间不能互动及自我优化,不利于发现潜伏的APT攻击,无法勾勒出APT攻击链路,也很容易被精心策划的APT攻击所绕过,所以需要对APT攻击生命周期的各个阶段中可能的攻击点,从多个维度进行深层次的分析检测,并且某一攻击阶段中发现的攻击线索可以进一步作为其他攻击阶段的检测依据,各攻击阶段的检测结论还可以进一步关联,形成确定性更高的攻击证据,以更高效地发现APT攻击。

发明内容

[0013] 本发明的主要目的在于克服现有技术中的不足,提供一种能针对APT攻击生命周期中的各个攻击阶段,从多个维度进行深层次的分析检测的方法。为解决上述技术问题,本发明的解决方案是:
[0014] 提供一种多维度深层次检测APT攻击的方法,包括如下步骤:
[0015] 步骤A:流量采集模块对常见的网络应用层协议数据包(HTTP、SMTP、POP3、IMAP、FTP、SMB、DNS等)做流量采集、解析还原;
[0016] 所述流量采集模块能(使用Libpcap软件包)对旁路镜像流量中的网络应用层协议数据包进行捕获,并通过IP碎片重组、TCP重装、网络应用层协议解析,按常见的网络应用层协议(HTTP、SMTP、POP3、IMAP、FTP、SMB、DNS等)的应用规范对网络应用层协议数据包进行解析还原,最终获取网络应用层协议数据包中包含的具体网络应用行为;
[0017] 步骤B:针对APT攻击生命周期的各个攻击阶段中可能的攻击点,分别对步骤A获得的网络应用行为进行分析检测,记录攻击行为并进行告警;
[0018] 步骤C:使用单个攻击点检测产生的攻击行为告警信息,进一步优化各攻击点的检测策略和机制;
[0019] 步骤D:使用单个攻击点检测产生的攻击行为告警信息,通过攻击源IP、被攻击IP、各攻击点在APT攻击生命周期中的阶段位置,以及各告警信息的时间信息,关联生成APT攻击链路。
[0020] 在本发明中,所述的步骤B中针对APT攻击生命周期的各个攻击阶段中可能的攻击点的分析和检测分别进行分析检测,都能通过源IP、目的IP地址的可信度系数和受感染系数来调节检测阀值,实现不同的检测力度;
[0021] 所述IP地址的可信度系数,由0至100范围内的数值来表示,能从IP信誉度信息中获取;所述IP信誉度信息是基于IP地址和该IP可信度系数为数值的二维信息库;
[0022] 所述IP地址的受感染系数,由0至100范围内的数值来表示,能从IP威胁程度信息中获取;所述IP威胁程度信息,是基于IP地址和该IP受感染系数为数值的二维信息库;
[0023] 步骤B具体包括下述子步骤:
[0024] 步骤B1:把APT攻击生命周期划分为初步入侵、建立据点、木马回连、提权、内部勘测、横向扩散、窃取数据共7个攻击阶段;
[0025] 步骤B2:对初步入侵攻击阶段,进行邮件社工攻击检测、恶意文件投递的检测;
[0026] 步骤B3:对建立据点攻击阶段,进行恶意文件接收、Webshell植入的检测;
[0027] 步骤B4:对木马回连攻击阶段,进行C&C IP/URL、DGA域名请求、利用Webshell的检测;
[0028] 步骤B5:对提权攻击阶段,进行漏洞利用和密码破解的检测;
[0029] 步骤B6:对内部勘测攻击阶段,进行内网端口扫描、内网通过SMB远程溢出攻击的检测;
[0030] 步骤B7:对横向扩散攻击阶段,进行内网密码暴力破解、恶意文件投递的检测;
[0031] 步骤B8:对窃取数据攻击阶段,进行隐蔽信道传输、隐写文件传输、利用80端口传输非法数据的检测。
[0032] 在本发明中,所述步骤C具体包括下述子步骤:
[0033] 步骤C1:通过对所有攻击行为告警信息进行汇总分析,检测出在不同APT攻击阶段、不同的攻击目标IP、使用不同的协议和攻击方式,持续性地尝试攻击的攻击源IP,以此来生成IP信誉度信息;
[0034] 所述IP信誉度信息是基于IP地址和该IP可信度系数为数值的二维信息库;所述IP可信度系数,由0至100范围内的数值来表示,数值越大,说明该IP发起的访问可信度越高,即相对存在攻击行为的可能性越小;
[0035] 步骤C2:通过对所有攻击行为告警信息进行汇总分析,检测出在相邻APT攻击阶段、既作为攻击发起方又作为攻击承受者的IP,以此来生成IP威胁程度信息;
[0036] 所述IP威胁程度信息是基于IP地址和该IP受感染系数为数值的二维信息库;所述IP受感染系数,由0至100范围内的数值来表示,数值越大,说明该IP受感染的可能性越大,进一步的,访问该IP的来源IP为攻击者IP的可能性也相应较大,由该IP发起的对其他IP的访问,其他IP遭受横向扩散攻击的可能性也相应较大;
[0037] 步骤C3:把生成的IP信誉度信息和IP威胁程度信息,同步到步骤B中对APT攻击生命周期7个攻击阶段的攻击点的检测策略中(各个攻击阶段中可能的攻击点的分析检测方法,均使用了IP信誉度信息中的IP可信度系数和IP威胁程度信息中的IP受感染系数做为检测阀值,从而达到动态调节对特定IP的检测力度的效果)。
[0038] 在本发明中,所述步骤D中,APT攻击链路以IP为节点,IP间以确认成功的APT攻击生命周期的攻击点名称相连,IP节点间的连线上能汇总展现攻击方式、攻击次数、攻击起止时间、威胁程度并且能够点击钻取详细信息;
[0039] APT攻击链路能按照APT攻击生命周期的几个攻击阶段,自动勾勒出从初步入侵攻击阶段到窃取数据攻击阶段的IP节点路径图;如果没有找到上述涵盖APT攻击全生命周期的IP节点路径图,则能勾勒出最长路径的IP节点路径图,以便快速定位最迫切需要整治的节点设备。
[0040] 与现有技术相比,本发明的有益效果是:
[0041] 本发明和传统的防护机制和产品相比,对APT攻击生命周期的各个阶段中可能的攻击点,从多个维度进行深层次的分析检测,并且某一攻击阶段中发现的攻击线索用来进一步作为其他攻击阶段的检测依据,各攻击阶段的检测结论用来进一步关联,形成确定性更高的攻击证据,解决了基于APT攻击生命周期中的几个攻击手段做单点检测的传统产品,所检测的攻击点和攻击层面均较为单一,且各攻击点的检测策略之间不能互动及自我优化,不利于发现潜伏的APT攻击的问题。

附图说明

[0042] 图1为本发明的检测流程图。

具体实施方式

[0043] 首先需要说明的是,本发明涉及APT攻击检测领域,是计算机技术在信息安全技术领域的一个应用分支。在本发明的实现过程中,会涉及到多个APT攻击生命周期中的攻击点的检测。申请人认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。凡本发明申请文件提及的均属此范畴,申请人不再一一列举。
[0044] 下面结合附图与具体实施方式对本发明作进一步详细描述:
[0045] 一种多维度深层次检测APT攻击的方法,对APT攻击生命周期按攻击阶段进行划分,对不同攻击阶段的攻击点进行多维度深层次的检测,使用某一攻击阶段中发现的攻击线索用来进一步作为其他攻击阶段的检测依据,各攻击阶段的检测结论用来进一步关联生成APT攻击链路,以便快速定位最迫切需要整治的节点设备,其处理流程如图1所示,具体步骤如下所述:
[0046] 步骤1:流量采集模块进行流量采集。
[0047] 流量采集模块使用Libpcap软件包进行网络数据包捕获,根据端口捕获HTTP、SMTP、POP3、IMAP、FTP、SMB、DNS等常见的应用层协议,如HTTP协议默认捕获80和8080端口的数据包。
[0048] 为适应不同网络场景,各应用协议所适用捕获端口可以通过界面增删改。
[0049] 步骤2:协议解析还原,生成原始行为信息。
[0050] 对捕获的TCP数据包在应用层协议层面进行重组,并根据应用层协议规范解析还原原始行为信息,记录源IP、目的IP、目的端口、发生时间、应用协议、应用行为内容等信息,其中应用行为内容根据不同的应用协议有所不同,如HTTP协议的应用行为内容,根据HTTP协议规范,包括请求方法、URI、User-Agent、Host、Cookie、Request Header、上传下载的文件名和文件、Post Body、响应码、响应内容、延时信息等信息。
[0051] 步骤3:判定原始行为中的源IP、目的IP是否在IP信誉度、威胁程度信息库中。
[0052] IP信誉度信息库,是基于IP地址的信誉信息,所述IP信誉度信息,是系统根据过往所有的攻击行为告警信息中的攻击源IP的攻击情况计算获取的。
[0053] IP威胁程度信息库,是基于IP地址的威胁程度信息,所述IP威胁程度信息,是系统根据过往所有的攻击行为告警信息中的既为攻击源又是被攻击的IP,计算获取的可能被感染的IP。
[0054] 如果原始行为中的源IP、目的IP中其中一个IP,在IP信誉度信息库或者IP威胁程度信息库中,则进入步骤4处理;如果原始行为中的源IP、目的IP都不在IP信誉度信息库和IP威胁程度信息库中,则进入步骤5处理。
[0055] 步骤4:调整APT攻击生命周期各攻击点检测阀值和策略。
[0056] APT攻击生命周期中的各个攻击点检测策略,其检测的严格程度可进一步通过检测阀值来调节,该检测阀值则根据IP信誉度和IP威胁程度加权计算获取,以此来动态调节对特定IP的检测力度。
[0057] 步骤5:初步入侵检测。
[0058] 所述初步入侵攻击阶段的可能的攻击点,包括通过邮件进行邮件头欺骗、发件人欺骗、邮件钓鱼、邮件恶意链接、恶意文件投递;通过SQL注入、跨站、命令注入对WEB服务器进行侵入并植入恶意文件,或通过投递恶意软件至FTP、SMB服务器以展开水坑攻击。
[0059] 所述邮件头欺骗、发件人欺骗、邮件钓鱼、邮件恶意链接均系邮件社工攻击,对邮件社工攻击的检测,可基于SMTP、POP3、IMAP协议的原始行为,通过语义分析或URL是否挂马来完成。
[0060] 所述投递恶意文件的检测,可基于通过SMTP、FTP、HTTP、SMB应用协议中上传文件的行为,对分离出的文件通过病毒木马查杀、静态分析和沙箱动态分析检测来完成。
[0061] 步骤6:建立据点检测。
[0062] 所述建立据点攻击阶段的可能的攻击点,包括通过邮件接收恶意软件,通过WEB、FTP或SMB服务器下载恶意软件,通过SQL注入、跨站对WEB服务器植入Webshell的行为。
[0063] 所述Webshell的植入行为的检测,可通过策略匹配的方式来完成,Webshell文件的识别,也可以基于机器学习和分类的方法来鉴定识别。
[0064] 步骤7:木马回连检测。
[0065] 所述木马回连攻击阶段的可能的攻击点,包括访问C&C IP/URL、DGA域名请求的过程。
[0066] 所述C&C IP/URL的检测,可通过基于历史APT攻击事件中的IP和URL库,也可以通过恶意文件动态沙箱中捕获的回连IP或URL来识别。
[0067] 所述DGA域名请求的检测,是指识别DNS流量中请求解析DGA(域名生成算法)生成的域名的过程。
[0068] 步骤8:提权检测。
[0069] 所述提权攻击阶段的攻击点的检测,包括漏洞利用或密码破解行为的检测。
[0070] 步骤9:内部勘测检测。
[0071] 所述内部勘测攻击阶段的攻击点的检测,包括内网通讯中捕获的端口扫描、内网通过SMB远程溢出攻击行为的检测。
[0072] 步骤10:横向扩散检测。
[0073] 所述横向扩散攻击阶段的攻击点的检测,包括内网通讯中捕获的密码暴力破解,恶意文件投递行为的检测。
[0074] 步骤11:窃取数据检测。
[0075] 所述窃取数据攻击阶段的攻击点,包括隐蔽信道传输、隐写文件传输、利用80端口传输非法数据行为的检测;
[0076] 步骤12:判定是否为各攻击点的攻击行为。
[0077] 如果原始行为在步骤5至步骤11中所描述的攻击点检测过程中,被判定过是攻击行为,则进入步骤13,进一步处理;如果原始行为不满足步骤5至步骤11中任何一个攻击点的检测条件,则返回步骤1,进一步处理。
[0078] 步骤13:记录攻击行为并产生告警。
[0079] 对识别为攻击行为的原始行为进行标记,并按告警格式产生标准日志。
[0080] 步骤14:告警信息入库。
[0081] 把告警日志写入关系型数据库。
[0082] 步骤15:根据告警信息关联生成攻击链路。
[0083] 通过告警信息中的攻击源IP、被攻击IP、各攻击点在APT攻击生命周期中的阶段位置,以及各告警信息的时间信息,关联生成APT攻击链路。该APT攻击链路以IP为节点,IP间以确认成功的APT攻击生命周期的攻击点名称相连,IP节点间的连线上可汇总展现攻击方式、攻击次数、攻击起止时间、威胁程度并且可点击钻取详细信息。
[0084] APT攻击链路可进一步按照APT攻击生命周期的几个阶段,自动勾勒出从初步入侵攻击阶段到窃取数据攻击阶段的IP节点路径图;如果没有找到上述涵盖APT攻击全生命周期的IP节点路径图,则可勾勒出最长路径的IP节点路径图,以便快速定位最迫切需要整治的节点设备。
[0085] 步骤16:对告警信息汇总分析所涉IP的信誉度、威胁程度。
[0086] 系统通过对所有攻击行为告警信息进行汇总分析,检测出在不同APT阶段、不同的攻击目标IP、使用不同的协议和攻击方式,持续性的尝试攻击的攻击源IP,并对这些攻击源IP归类到潜在的低信誉度IP,以此来完成对IP信誉的确认。
[0087] 系统通过对所有攻击行为告警信息进行汇总分析,检测出在相邻APT攻击阶段、既作为攻击发起方又作为攻击承受者的IP,并对这些IP归类到潜在的被控IP,以此来完成对IP威胁程度的确认。
[0088] 步骤17:更新IP威胁程度信息库。
[0089] IP威胁程度信息库是基于IP地址的威胁程度信息,长期存储于关系型数据库中,同时也在内存中缓存,以便步骤3的判断过程有更优性能。
[0090] 步骤18:更新IP信誉度信息库。
[0091] IP信誉度信息库是基于IP地址的信誉度信息,长期存储于关系型数据库中,同时也在内存中缓存,以便步骤3的判断过程有更优性能。
[0092] 至此,对APT攻击生命周期按攻击阶段进行划分,对不同攻击阶段的攻击点进行多维度深层次的检测,使用某一攻击阶段中发现的攻击线索用来进一步作为其他攻击阶段的检测依据,各攻击阶段的检测结论用来进一步关联生成APT攻击链路,实现了一种通过多维度深层次检测APT攻击的系统。
[0093] 最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。