本发明属于信息安全
技术领域:
,具体涉及基于图算法的apt检测关联分析方法。
背景技术:
:高级持续性威胁(advancedpersistentthreat,apt)是一种利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。apt攻击的原理相对于其他攻击形式更为高级和先进,其高级性主要体现在apt在发动攻击之前需要对攻击对象的业务流程和目标系统进行准确的收集。在此收集的过程中,此攻击会主动挖掘被攻击对象受信系统和应用程序的漏洞,利用这些漏洞组建攻击者所需的网络,并利用0day漏洞进行攻击。apt攻击主要针对政府、能源、金融等重要行业与部门实施,其先进的攻击模式、高级的攻击技术、持续的攻击周期与明确的攻击目标,使得攻击能够实现精准打击,造成难以估量的破坏和损失。因此,针对apt攻击进行安全态势和威胁影响的合理评估,为网络管理员或安全主管部门提供辅助决策信息迫在眉睫。但现有技术在这种检测apt攻击的能力上仍具有很大的挑战性:一是传统的防火墙、入侵检测、安全网关、杀毒软件和反垃圾邮件系统等检测技术主要是在网络边界和主机边界进行检测,它们均缺乏对apt攻击,尤其是0day攻击的检测能力和关联分析能力。二是现有的基于规则的apt威胁检测引擎针对大量的报警事件无法进行有效关联,或只能利用时间戳等一些现成的指标进行简单关联,缺乏对警报和实际入侵之间复杂关系的理解,更无法将长时间内发生在不同主机上的攻击事件关联为整体威胁事件。另一方面,相对较弱的关联分析能力也会造成检测的误报率较高。技术实现要素:针对现有技术中的缺陷,本发明提供基于图算法的apt检测关联分析方法,提高了apt攻击检测的精确度,降低了apt攻击检测的误报率。一种基于图算法的apt检测关联分析方法,包括以下方法:采集终端用户行为数据和检测系统产生的内核级数据,以获得原始审计日志数据;将所述原始审计日志数据存入具有图算法的数据库中;根据att&ck知识库模型对所述原始审计日志数据进行ttp规则匹配,获得报警事件;利用路径关联度评估报警事件之间依赖关系的强度,构建apt攻击场景图,将所述原始审计日志数据提升至apt攻击步骤。优选地,所述检测系统产生的内核级数据包括进程在文件或网络维度下的实时操作信息;所述具有图算法的数据库包括图数据库,其中该数据库中的结点代表实体,包括进程、文件和网络;该数据库中关系代表实体之间的关系。优选地,所述路径关联度的计算方法包括:在多个报警事件之间选取包含关键结点的路径;分别获取该路径上每个结点的祖先结点;统计该路径上不同祖先结点的个数,定义该个数为该路径的路径关联度。优选地,该方法在所述根据att&ck知识库模型对所述原始审计日志数据进行ttp规则匹配之后,还包括:根据正常运行的原始审计日志数据对ttp规则进行过滤。优选地,所述根据正常运行的原始审计日志数据对ttp规则进行过滤具体包括:收集正常运行的原始审计日志数据,以获得训练数据;利用ttp规范对所述训练数据进行学习,以获得训练数据在ttp规则匹配过程中频繁匹配的ttp规则,定义该ttp规则为噪声规则;在根据att&ck知识库模型对实时采集的原始审计日志数据进行ttp规则匹配时,检测到实时采集的原始审计日志数据存在与所述噪声规则相匹配的ttp规则,过滤掉该ttp规则。优选地,该方法在所述创建apt攻击场景图之后,还包括:利用预设的算法规则和经验规则对所述apt攻击场景图进行完善。优选地,该方法在所述构建apt攻击场景图之后,还包括:设置每个apt攻击场景图的威胁七元组;威胁七元组包括该apt攻击场景图在ttp规范中每个攻击阶段的严重级别;根据预设的威胁规则将apt攻击场景图的威胁七元组转换为威胁评分向量;其中威胁规则包括每个严重级别对应的分值,威胁评分向量包括七个分值;根据下式计算每个apt攻击场景图的总分t:其中,wi为apt攻击场景图在ttp规范中第i个攻击阶段的权重,n=7,si为apt攻击场景图在ttp规范中第i个攻击阶段的分值;根据所有apt攻击场景图的总分t对apt攻击场景图进行排序。优选地,该方法在所述t对apt攻击场景图进行排序之后,还包括:将所述apt攻击场景图运行在良性活动中,定义apt攻击场景图运行时总分最大值为良性分值;将所述apt攻击场景图运行在恶性活动中,定义apt攻击场景图运行时总分最小值为恶性分值;在所述良性分值和恶性分值之间选择一数值,定义为报警阈值;当检测到apt攻击场景图实时运行时的总分大于所述报警阈值时,进行报警。由上述技术方案可知,本发明提供的基于图算法的apt检测关联分析方法,主要解决的是apt检测中报警事件的关联分析问题,通过对攻击者在攻击阶段可疑信息流之间的相关性进行分析,以高精确度和低误报率检测apt活动,能实时有效的对正在进行的攻击活动进行总结回溯,帮助进行实时网络响应活动,实现攻击场景可视化。附图说明为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。图1为本发明实施例一提供的apt检测关联分析方法的流程图。图2为本发明实施例一提供的路径关联度计算方法的流程图。图3为本发明实施例一提供的ttp规则过滤方法的流程图。图4为本发明实施例二提供的apt攻击场景图评分方法的流程图。图5为本发明实施例二提供的报警方法的流程图。具体实施方式下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。实施例一:一种基于图算法的apt检测关联分析方法,参见图1,包括以下方法:s1:采集终端用户行为数据和检测系统产生的内核级数据,以获得原始审计日志数据;具体地,所述检测系统产生的内核级数据包括进程在文件或网络维度下的实时操作信息。s2:将所述原始审计日志数据存入具有图算法的数据库中;所述具有图算法的数据库包括图数据库,其中该数据库中的结点代表实体,包括进程、文件(包括pe文件)和网络;该数据库中关系代表实体之间的关系。具体地,该方法可以将原始审计日志数据存入图数据库或其它具有图结构的数据库中。该数据库中,结点可以拥有自己的属性,比如进程的名称、启动参数、文件的大小等。该数据库中关系包括结点之间的关系,比如进程p1创建了一个子进程p2,或者进程p1打开了一个文件f,或者是进程p1向网络s发送了数据。关系也可以拥有自己的属性,比如进程p1向网络s发送了多少byte的数据量。s3:根据att&ck知识库模型对所述原始审计日志数据进行ttp规则匹配,获得报警事件;具体地,参考mitreatt&cktm定义的知识库模型,ttp规范将攻击者行为主要分为7个战术(tactics),包括初次攻陷、建立立足点、内部探测、内网扩散、权限提升、持久化后门和盗取数据。这7个战术虽然在步骤上是递进进行的,但不会严格遵守顺序性和完整性。每个战术又包含若干个技术(technicals),例如初次攻陷里包含不信任的下载流量、无签名的pe进行进程启动等。ttp规范提供了低级审计事件和apt攻击步骤之间的映射。具体来说,ttp规范主要采用两种方法将原始审计日志数据映射至攻击步骤:第一种,利用专家经验制定的普通规则映射。第二种,利用ttps中涉及到的结点之间的信息流(即路径关联度)映射。表1提供了ttp规则的示例。表1ttp规则示例表1中,第一列表示apt攻击阶段;第二列表示关联的ttp名称;第三列表示与每个ttp相关的严重级别:l,m,h,c分别表示低,中,高,极高;第四列表示ttp规则,其中s.ip不属于{trustedipaddresses}和p0.name属于{sensitivecommands}采用上述第一种映射方法(利用专家经验制定的普通规则映射)。而pathcorrelation(p0,f)<=paththres采用上述第二种映射方法(利用ttps中涉及到的结点之间的信息流映射),其中pathcorrelation为路径关联度计算函数,paththres是一个经验值,可以依据实际场景测试情况而定。最后一列是对ttp规则的一个说明。s4:利用路径关联度评估报警事件之间依赖关系的强度,构建apt攻击场景图,将所述原始审计日志数据提升至apt攻击步骤。该方法通过检测与apt攻击阶段相关的报警事件,并使用路径关联度将它们联接起来,就可以构建出apt攻击者使用的整条攻击链,在图概念中即是一个高级场景图,提供了一个非常紧凑、可视化的攻击总结。将用户行为数据流或日志产生的告警直接映射到攻击链中,实现更接近apt攻击者活动步骤(战术,策略,过程(ttps))的警报。参见图2,其中路径关联度(pathcorrelation)的计算方法包括:s11:在多个报警事件之间选取包含关键结点的路径;s12:分别获取该路径上每个结点的祖先结点;s13:统计该路径上不同祖先结点的个数,定义该个数为该路径的路径关联度。具体地,路径关联度衡量了图数据库中两个结点(实体)之间路径的关联度,值越小,关联度越大。该方法主要依赖路径中结点的祖先结点的覆盖度来实现。例1:路径p1->p2->p3->p4->p5代表一系列进程的创建过程。在该路径中所有结点的祖先结点均为p1,因此pathcorrelation(p1,p5)=1,说明该路径的结点只包含一个祖先结点,从实际情况来看,p1至p5在信息上具有强关联性。例2:路径p1->f1->p2->p3->f2->p4中,p1写数据至f1,p2从f1中读取数据,然后创建了子进程p3,p3写文件f2,f2启动了进程p4。在该路径中,每个结点的祖先结点分别为p1,p1,p2,p2,p2,p4,祖先结点个数(覆盖度)为3,因此,pathcorrelation(p1,p4)=3,说明该路径的结点只包含三个祖先结点,从实际情况来看,p1至p4在信息上关联性比较弱。假如设置上述例子(pathcorrelation(p0,f)<=paththres)中,paththres为2,则该路径的路径关联度为3,大于2,说明该路径中结点不满足ttp规则。另外由于图数据库中两个结点之间可能存在多条路径,该方法优先选择带有关键结点的最短路径。关键结点主要指进程操作的文件,网络等。关键结点的加入可以更精准,更合理的衡量两个结点的信息流依赖度,产生更有价值的关联分析。比如,untrustedread(p0,s0)是一个初次攻陷,当要计算cnc(p1,s1)中结点p1与p0的路径关联度时,要查询的路径为p0至p1间包含网络结点s0的最短路径。该方法可以通过路径关联度消除对攻击者活动不相关的依赖。比如在例2中,假设p1为攻击活动进程nginx,其写入日志文件f1/usr/log/nginx-error,然后p2(cat进程)读取该文件,虽然cat进程和日志文件f1存在依赖关系,但cat进程与攻击活动进程nginx无关,cat进程是通过ssh(secureshell的缩写)独立调用的。因此可以认为cat进程是良性活动,为对攻击者活动不相关的依赖。作为上述方法的进一步优化方案,该方法在所述根据att&ck知识库模型对所述原始审计日志数据进行ttp规则匹配之后,还包括:根据正常运行的原始审计日志数据对ttp规则进行过滤,参见图3,具体包括:s21:收集正常运行的原始审计日志数据,以获得训练数据;s22:利用ttp规范对所述训练数据进行学习,以获得训练数据在ttp规则匹配过程中频繁匹配的ttp规则,定义该ttp规则为噪声规则;s23:在根据att&ck知识库模型对实时采集的原始审计日志数据进行ttp规则匹配时,检测到实时采集的原始审计日志数据存在与所述噪声规则相匹配的ttp规则,过滤掉该ttp规则。具体地,实际在进行ttp规则匹配时,另一个面临的挑战是存在大量的噪声。例如长期存在的进程(比如浏览器,web服务器或者ssh守护进程等)会触发ttp规则匹配,但实质上这些进程大概率上是良性事件。因此为了减少这些误报,该方法利用对于每个进程,学习正常数据中频繁触发的ttp规则,在实际运行时,如果出现与训练期间遇到的噪声规则相匹配的ttp规则时,忽略该ttp规则。比如qq.exe创建子进程ipconfig.exe,由于qq是通讯工具,接收数据是比较经常出现的状况,因此很容易会匹配sensitivecommand(p,p0),所以在训练数据的学习过程中也会出现sensitivecommand(p,p0)的大量匹配,因此定义sensitivecommand(p,p0)为噪声规则,这样在实际检测环节中,如果匹配到sensitivecommand(p,p0),可将其忽略。该方法还提供了基于良性活动训练学习的降噪技术,进一步弱化了与已知良性活动相关的依赖性。表2给出一个检测钓鱼邮件的ttp规则示例。表2:具体地,攻击场景图的构建主要是由ttp规则驱动生成的,如果满足ttp规则,则匹配ttp并将其加入到攻击场景图中。攻击场景图是建立在原图的基础之上的,例如利用表2中的ttp规则将原始审计日志数据的事件映射到ttp攻击矩阵中,并利用pathcorrelation将其关联为一个攻击场景图。攻击场景图中的结点即为满足ttp规则的结点(进程,文件,网络),边则表示ttp规则或者结点之间存在的原始关系。该方法在所述创建apt攻击场景图之后,还包括:利用预设的算法规则和经验规则对所述apt攻击场景图进行完善。具体地,该方法可以利用算法规则和经验规则对攻击场景图进行完善,比如一个初次攻陷相关服务se,根据先前建立的知识经验,认为se1的创建进程为p,因此可将进程p创建了服务se加入至攻击场景图中。因为这是利用知识经验创建的图关系,因此可以加入不同的关系标签以和真实的存在的关系做区别。综上所述,该方法使用检测系统中low-level信息流(文件行为、进程行为等等)和日志为基础做数据分析实现告警关联。例如,apt攻击阶段中内部侦察步骤取决于最初的妥协和立足点的成功建立,因此在这两个步骤中所涉及的进程之间存在有信息流。本发明利用图分析技术对结点(进程,文件,网络)之间的信息流进行相应分析计算,提出了路径关联度的概念,为可衡量结点之间关联关系的一个可量化的数值,通过路径关联度可以评估报警事件之间依赖关系的强度,然后可以删除弱依赖项,以消除许多错误警报。除此之外,由于多方面的原因,现有技术在数据采集阶段可能导致很多有关系的数据没有被捕获到,比如windows系统服务的创建进程,任务计划的创建进程。而本发明可以利用算法规则和经验规则将最大有可能有关系的数据关联起来,加入至攻击场景图中(尤其是初次攻陷中的结点),增加攻击场景图的丰富性和完整性,为安全管理员提供更完善的攻击上下文信息。实施例二:实施例二在实施例一的基础上提供了以下内容:该方法在所述根据筛选后的路径构建apt攻击场景图之后,参见图4,还包括:s31:设置每个apt攻击场景图的威胁七元组;威胁七元组包括该apt攻击场景图在ttp规范中每个攻击阶段的严重级别;s32:根据预设的威胁规则将apt攻击场景图的威胁七元组转换为威胁评分向量;其中威胁规则包括每个严重级别对应的分值,威胁评分向量包括七个分值;s33:根据下式计算每个apt攻击场景图的总分t:其中,wi为apt攻击场景图在ttp规范中第i个攻击阶段的权重,n=7,si为apt攻击场景图在ttp规范中第i个攻击阶段的分值;s34:根据所有apt攻击场景图的总分t对apt攻击场景图进行排序。具体地,由于可能会产生多个攻击场景图,因此该方法还可以区分高可信度的攻击。首先,将每个攻击场景图对应于一个威胁七元组,分别代表每个攻击阶段(初次攻陷、建立立足点、内部探测、内网扩散、权限提升、持久化后门、盗取数据)的严重级别。假如一个攻击阶段有多个不同严重程度的ttp,则选择最高严重级别。例3:(l,m,m,-,m,h,c)即为一个攻击场景的威胁七元组,其中‘-’表示该攻击活动不存在内网扩散阶段,且该攻击活动最严重的ttp是c,发生在盗取数据阶段。接下来需要对多个攻击场景图进行排序,即要将威胁七元组转换为威胁评分向量,表3给出威胁规则。表3:严重级别分数范围平均值l[0.1,4.0)2.0m[4.0,7.0)6.0h[7.0,9.0)8.0c[9.0,10.0)10.0如果某攻击阶段没有出现,则相应分数值设为1。综上上述,例3中的威胁七元组(l,m,m,-,m,h,c)转换的威胁评分向量为(2,6,6,1,6,8,10)。最后,将威胁评分向量转化为总分,计算方法如下:其中,wi为apt攻击场景图在ttp规则中第i个攻击阶段的权重,wi=(10 i)/10;n=7,si为apt攻击场景图在ttp规则中第i个攻击阶段的分值。因此威胁评分向量(2,6,6,1,6,8,10)对应的总分为t=21.1*61.2*61.3*11.4*61.5*81.6*101.7=3878662.362。该方法对已经生成的高级场景图进行排序,以删除与apt攻击活动无关的大多数结点和边,能够有效的区分攻击和良性场景。该方法在所述t对apt攻击场景图进行排序之后,参见图5,还包括:s41:将所述apt攻击场景图运行在良性活动中,定义apt攻击场景图运行时总分最大值为良性分值;s42:将所述apt攻击场景图运行在恶性活动中,定义apt攻击场景图运行时总分最小值为恶性分值;s43:在所述良性分值和恶性分值之间选择一数值,定义为报警阈值;s44:当检测到apt攻击场景图实时运行时的总分大于所述报警阈值时,进行报警。具体地,该方法在有监督的环境下进行训练,可以得出区分良性活动和恶意活动的一个阈值范围。比如假设将表2制定出的ttp规则运行在良性活动中,采用上述方法得到的apt攻击场景图的最高总分为480。运行在恶意环境中,采用上述方法得到的apt攻击场景图的最低总分为13200,因此则可以在480-13200之间选择一个数值作为区分良性活动和恶意活动的阈值。当检测到apt攻击场景图的总分大于所述报警阈值时,进行报警。例如例3中apt攻击场景图的总分明显大于13200,因此认定该事件为一个邮件钓鱼事件。本发明实施例所提供的方法,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。当前第1页1 2 3 
技术特征:1.一种基于图算法的apt检测关联分析方法,其特征在于,包括以下方法:
采集终端用户行为数据和检测系统产生的内核级数据,以获得原始审计日志数据;
将所述原始审计日志数据存入具有图算法的数据库中;
根据att&ck知识库模型对所述原始审计日志数据进行ttp规则匹配,获得报警事件;
利用路径关联度评估报警事件之间依赖关系的强度,构建apt攻击场景图,将所述原始审计日志数据提升至apt攻击步骤。
2.根据权利要求1所述基于图算法的apt检测关联分析方法,其特征在于,
所述检测系统产生的内核级数据包括进程在文件或网络维度下的实时操作信息;所述具有图算法的数据库包括图数据库,其中该数据库中的结点代表实体,包括进程、文件和网络;该数据库中关系代表实体之间的关系。
3.根据权利要求2所述基于图算法的apt检测关联分析方法,其特征在于,所述路径关联度的计算方法包括:
在多个报警事件之间选取包含关键结点的路径;
分别获取该路径上每个结点的祖先结点;
统计该路径上不同祖先结点的个数,定义该个数为该路径的路径关联度。
4.根据权利要求3所述基于图算法的apt检测关联分析方法,其特征在于,该方法在所述根据att&ck知识库模型对所述原始审计日志数据进行ttp规则匹配之后,还包括:
根据正常运行的原始审计日志数据对ttp规则进行过滤。
5.根据权利要求4所述基于图算法的apt检测关联分析方法,其特征在于,所述根据正常运行的原始审计日志数据对ttp规则进行过滤具体包括:
收集正常运行的原始审计日志数据,以获得训练数据;
利用ttp规范对所述训练数据进行学习,以获得训练数据在ttp规则匹配过程中频繁匹配的ttp规则,定义该ttp规则为噪声规则;
在根据att&ck知识库模型对实时采集的原始审计日志数据进行ttp规则匹配时,检测到实时采集的原始审计日志数据存在与所述噪声规则相匹配的ttp规则,过滤掉该ttp规则。
6.根据权利要求5所述基于图算法的apt检测关联分析方法,其特征在于,该方法在所述创建apt攻击场景图之后,还包括:
利用预设的算法规则和经验规则对所述apt攻击场景图进行完善。
7.根据权利要求5所述基于图算法的apt检测关联分析方法,其特征在于,该方法在所述构建apt攻击场景图之后,还包括:
设置每个apt攻击场景图的威胁七元组;威胁七元组包括该apt攻击场景图在ttp规范中每个攻击阶段的严重级别;
根据预设的威胁规则将apt攻击场景图的威胁七元组转换为威胁评分向量;其中威胁规则包括每个严重级别对应的分值,威胁评分向量包括七个分值;
根据下式计算每个apt攻击场景图的总分t:
其中,wi为apt攻击场景图在ttp规范中第i个攻击阶段的权重,n=7,si为apt攻击场景图在ttp规范中第i个攻击阶段的分值;
根据所有apt攻击场景图的总分t对apt攻击场景图进行排序。
8.根据权利要求7所述基于图算法的apt检测关联分析方法,其特征在于,
该方法在所述t对apt攻击场景图进行排序之后,还包括:
将所述apt攻击场景图运行在良性活动中,定义apt攻击场景图运行时总分最大值为良性分值;
将所述apt攻击场景图运行在恶性活动中,定义apt攻击场景图运行时总分最小值为恶性分值;
在所述良性分值和恶性分值之间选择一数值,定义为报警阈值;
当检测到apt攻击场景图实时运行时的总分大于所述报警阈值时,进行报警。
技术总结本发明提供的基于图算法的APT检测关联分析方法,采集终端用户行为数据和检测系统产生的内核级数据,以获得原始审计日志数据;将所述原始审计日志数据存入具有图算法的数据库中;根据ATT&CK知识库模型对所述原始审计日志数据进行TTP规则匹配,获得报警事件;利用路径关联度评估报警事件之间依赖关系的强度,构建APT攻击场景图,将所述原始审计日志数据提升至APT攻击步骤。该方法通过对攻击者在攻击阶段可疑信息流之间的相关性进行分析,以高精确度和低误报率检测APT活动,能实时有效的对正在进行的攻击活动进行总结回溯,帮助进行实时网络响应活动,实现攻击场景可视化。
技术研发人员:郭景楠
受保护的技术使用者:深圳市联软科技股份有限公司
技术研发日:2020.01.13
技术公布日:2020.06.09