一种基于知识图谱的黑客攻击场景构建方法和设备与流程

文档序号:30697620发布日期:2022-07-09 18:16阅读:247来源:国知局
一种基于知识图谱的黑客攻击场景构建方法和设备与流程

1.本发明一般涉及网络安全领域,并且更具体地,涉及一种基于知识图谱的黑客攻击场景构建方法和设备。


背景技术:

2.随着互联网的普及与网络技术的发展,任何的公司以及个人都离不开使用网络系统进行办公或学习。然而随着网络发展,上世纪五十年代的麻省理工诞生了第一批黑客,从此越来越多的网络系统遭受到了黑客与病毒的威胁。“魔高一尺道高一丈”这些年来黑客与反黑客进行着历经多年的数次迭代,最终来到了今天。黑客的手段越发强大,他们制作发送危险诡秘的病毒,在旁人的系统端口进进出出,于此同时还发送大量的干扰信息迷惑计算系统。这一切都让黑客的网络行踪扑朔迷离。我们很难识别出一个黑客具体的攻击模型,自然也需要更多的力气去阻挡他的攻击以此保护自己的电脑。然而,在这场将近一个世纪的迭代过程中,守方也在不断发展进步。目前很多有识之士提出了一些可以在一定程度上构建识别黑客攻击模型的方法,比如基于权能赋值的黑客建模,基于某种数学规律的识别建模,抑或是基于机器学习的攻击建模。然而,这些方式虽然各自都展现出其发明者的聪明才智和独具匠心,却也有一定的缺陷。
3.由于黑客的攻击较难被系统识别,而同时系统还有大量误报警,两者对黑客攻击场景的建模有着极大的干扰,目前已有的建模方式都在试图排除误告警以及补全正确攻击过程,但是效果都比较差,而且少数效果较好的方法又没有很好的普适性。因为我们通过现有的告警信息进行黑客攻击模型的构建时,由于这种告警信息的驳杂性,充斥着大量无用信息。并且由于黑客攻击的隐蔽性,一定存在相当程度的攻击行为没有被捕捉,这就造成无法直接通过告警信息进行黑客攻击模型的构建,这种构建一定是不完整的。因此,针对这种信息误差严重的问题,可以考虑使用构建知识图谱的方式进行解决,这样可以基于知识很好的推演出缺失的攻击场景,同时知识具有较强的普适性,能够以更低的成本,基于较高的可移植性进行不同具体环境下的构建。然而,构建知识图谱相对是一个长期高资源的过程,不论是数据层还是模式层,都需要大量的专家进行构筑,需要人为的添加实体,这个过程无疑是具有较高的成本。现在存在一些方法针对这种构建中的补全机制进行作用,比如通过不同的告警关联模型或者某种时空属性的聚类进行一定的优化,以此达到对攻击模型的构建和补全。
4.目前对攻击模型的构建和补全技术都有一定的缺陷,其表现在正确率与成本不可兼得,可移植性和准确性也不可兼得。具体来说,例如,通过构建某种数学模型去计算当前攻击场景内的空缺部位,那么这种模型必须具有相当程度的精度,才能在大量的黑客攻击信息中算出相应的攻击序列,而由于黑客性格、技术、能力、目的、手法的不同,自然这种模型较难描绘出另一种环境下的攻击场景。相反,如果这种数学模型能够在一定程度上描绘当前整个系统的黑客攻击场景,那么势必很难精确到具体的步骤和操作。目前针对攻击场景的建模,大都是通过引入辅助功能联合处理或特化攻击问题,并没有达到实施上的普适
性,而是根据不同的场景库进行针对特化处理。在知识图谱的构建中,离不开对应大量专家只是和数据信息作为挖掘主体。对于知识图谱的补全,大都引用某固定的模型,因而缺少灵活性。


技术实现要素:

5.根据本发明的实施例,提供了一种基于知识图谱的黑客攻击场景构建方案。本方案能够对知识图谱的完整性进行改良完善,更好的推理出黑客攻击场景,对攻击场景的补全和逻辑分析拥有较好的效果。
6.在本发明的第一方面,提供了一种基于知识图谱的黑客攻击场景构建方法。该方法包括:
7.获取告警信息,对所述告警信息进行预处理,得到多维矩阵关联模型;
8.将所述多维矩阵关联模型中的一类逻辑链条映射到知识图谱结构中;
9.对所述多维矩阵关联模型中的二类逻辑链条和三类逻辑链条进行补充,将补充后形成的一类逻辑链条映射到所述知识图谱结构中,构建知识图谱。
10.进一步地,所述对所述告警信息进行预处理,包括:
11.提取告警信息中的告警事件,并将告警事件以九元组的形式表示;
12.将所述告警事件按照时间属性进行排序,得到告警序列;
13.根据告警信息中的源端口和目标端口信息,提取所述告警序列中告警事件的逻辑关系;
14.将所述告警序列按照时间段进行聚类,将聚类后的告警事件进行矩阵化,得到若干个告警矩阵,其中告警事件作为告警矩阵中的告警状态节点;
15.根据所述告警状态节点之间的逻辑关系生成告警状态节点之间的链路关系,并建立存在告警状态节点之间的链路关系的告警矩阵之间的逻辑链条,生成多维矩阵关联模型。
16.进一步地,所述逻辑链条包括一类逻辑链条、二类逻辑链条和三类逻辑链条;
17.所述一类逻辑链条为包含黑客从攻击开始到攻击成功的告警信息所对应的告警状态节点与链路关系组成的完整逻辑链条;
18.所述二类逻辑链条为除所述一类逻辑链条外的逻辑链长度大于标准长度的逻辑链条;所述标准长度为其中p为长度比例,且0《p《1;s_l表示完整逻辑链条s的平均长度;
19.所述三类逻辑链条为除所述一类逻辑链条和二类逻辑链条外的其他逻辑链条。
20.进一步地,还包括:
21.在所述多维矩阵关联模型中,若告警矩阵中的告警状态节点数量小于预设的节点数量阈值,则将该告警矩阵从所述多维矩阵关联模型中删除;
22.在所述多维矩阵关联模型中,若所述告警矩阵与其他多维告警矩阵之间的链接数量小于预设的链接数量阈值,则将该告警矩阵从所述多维矩阵关联模型中删除。
23.进一步地,所述将所述多维矩阵关联模型中的一类逻辑链条映射到知识图谱结构中,包括:
24.获取知识图谱结构,所述知识图谱结构包括模式层和数据层,所述模式层包括以“实体-关系-实体”的元模型;
25.将所述一类逻辑链条中的节点与链路关系以“实体-关系-实体”的形式映射到知识图谱结构的数据层。
26.进一步地,所述对所述多维矩阵关联模型中的二类逻辑链条和三类逻辑链条进行补充,包括:
27.将专家知识与感染模型补充到所述知识图谱的模式层;
28.判断所述二类逻辑链条和三类逻辑链条是否符合专家知识,若不符合,则不予映射;判断所述二类逻辑链条和三类逻辑链条对应的黑客攻击是否符合所述感染模型的攻击场景,若符合,则根据所述感染模型推演出所述黑客攻击对应的逻辑链条;
29.将所述黑客攻击对应的逻辑链条与所述多维矩阵关联模型中的逻辑链条进行印证,若印证成功,则保留所述黑客攻击对应的逻辑链条;若印证不成功,则继续判断是否存在冲突,若冲突,则不保留所述黑客攻击对应的逻辑链条并将所述逻辑链条记录为不再启用;若不冲突,则不保留所述黑客攻击对应的逻辑链条;
30.若记录为不再启用的逻辑链条个数超过预设的个数阈值,则弃用对应的感染模型,更新模式层。
31.进一步地,所述将补充后形成的一类逻辑链条映射到所述知识图谱结构中,包括:
32.计算补充后知识图谱中的告警状态节点之间的逻辑关联度;
33.根据所述逻辑关联度对补充后知识图谱中的告警状态节点进行聚类,将聚类后不同聚类中告警状态节点之间的链路关系映射到所述知识图谱结构中;
34.所述计算补充后知识图谱中的告警状态节点之间的逻辑关联度,包括:
[0035][0036]
其中,lin为逻辑关联度;mac为告警状态节点链路数;tom为告警状态节点与逻辑链条的全部状态转移数量;db为易感因子。
[0037]
进一步地,还包括:
[0038]
构建gan模型,将黑客攻击的真实样本数据输入所述gan模型,将输出结果输入到所述多维矩阵关联模型中,更新所述多维矩阵关联模型;
[0039]
其中,所述gan模型通过生成器接收扰动值,分析告警事件和逻辑链条,构建神经网络,输出假样本数据到鉴别器;所述神经网络包括三层网络结构,第一层网络为由两个卷积层、两个实例正则化层和一个线性整流层组成的堆栈;第二层网络由两个卷积层和一个实例正则化层组成;第三层网络由两个反卷积层、一个实例正则化层和一个线性整数层组成;所述鉴别器接收黑客攻击的真实样本数据以及所述生成器输出的假样本数据的混合数据,对所述混合数据进行鉴别,输出鉴别结果;其中,gan模型的损失函数为:
[0040][0041]
其中,g表示生成器;d表示鉴别器;t表示随机噪声;g(t)表示所述生成器的神经网络输出的假样本数据;d(g(t))表示鉴别器鉴别假样本数据为真实样本数据的概率;x表示真实样本数据;p(x)表示真实的样本分布;p(t)表示虚假的样本分布;e
x-p(x)
[log(d(x))]表示x服从p(x)分布的情况下,log(d(x))的期望;e
t-p(t)
[log(1-d(g(t)))表示t服从p(t)分布
的情况下,log(1-d(g(t)))的期望;
[0042]
所述将输出结果输入到所述多维矩阵关联模型中,包括:
[0043]
将输出结果加入到所述多维矩阵关联模型中,建立对应的告警状态节点以及告警状态节点之间的链路关系,更新所述多维矩阵关联模型中的逻辑链条。
[0044]
进一步地,还包括:
[0045]
计算补充后知识图谱结构的有效因子,若所述有效因子大于预设的有效因子阈值,则通过减小逻辑关联度对所述知识图谱进行调整;若所述有效因子小于预设的有效因子阈值,则通过增大逻辑关联度对所述知识图谱进行调整;
[0046]
计算补充后知识图谱结构的有效因子,包括:
[0047][0048]
其中,d为有效因子;s为补充前知识图谱的数据集中总完整知识序列对应的数据量;s1为补充后知识图谱的数据集中总完整知识序列与补充前知识图谱的数据集中总完整知识序列的数据量交集;a1为补充前知识图谱的数据集中知识序列对应的数据量;a2为补充后知识图谱的数据集中知识序列对应的数据量;o为补充前知识图谱的数据集中的数据量;o1为补充后知识图谱的数据集中增加的数据量。
[0049]
在本发明的第二方面,提供了一种电子设备。该电子设备至少一个处理器;以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明第一方面的方法。
[0050]
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
[0051]
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
[0052]
图1示出了根据本发明的实施例的基于知识图谱的黑客攻击场景构建方法的流程图;
[0053]
图2示出了根据本发明的实施例的对告警信息进行预处理的流程图;
[0054]
图3示出了根据本发明的实施例的对二类逻辑链条和三类逻辑链条进行补充的流程图;
[0055]
图4示出了根据本发明的实施例的gan模型结构图;
[0056]
图5示出了能够实施本发明的实施例的示例性电子设备的方框图;
[0057]
其中,500为电子设备、501为cpu、502为rom、503为ram、504为总线、505为i/o接口、506为输入单元、507为输出单元、508为存储单元、509为通信单元。
具体实施方式
[0058]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
[0059]
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0060]
本发明中,能够对知识图谱的完整性进行改良完善,更好的推理出黑客攻击场景,对攻击场景的补全和逻辑分析拥有较好的效果。
[0061]
图1示出了本发明实施例的基于知识图谱的黑客攻击场景构建方法的流程图。
[0062]
该方法包括:
[0063]
s101、获取告警信息,对所述告警信息进行预处理,得到多维矩阵关联模型。
[0064]
首先,要对告警信息进行预处理。在真实的告警信息中,这些数据是毫无逻辑的,胡乱堆放在数据集中,其混沌值较高,很难直接处理,而且还有很大一部分数据规格、形式也有一定的出入和错差。同时由于告警来源的复杂性以及不同环境、不同系统或相同系统不同服务器之间的个性化差异,多个来源的数据复合在一起,这样的数据质量无疑是很差的。
[0065]
作为本发明的一种实施例,如图2所示,对所述告警信息进行预处理,包括:
[0066]
s201、提取告警信息中的告警事件,并将告警事件以九元组的形式表示。
[0067]
通过整理告警事件,将告警事件规范为一个九元组;所述九元组形式为:source_ip、source_port、target_ip、target_port、attack、type、node、level、time。
[0068]
其中,source_ip表示源ip,source_port表示源端口,target_ip表示目标ip,target_port表示目标端口,attack表示攻击方法,type表示告警类型,node表示告警节点链路,level表示告警级别,time表示告警时间。因此,可以记一个告警事件为a(i)=(source_ip,source_port,target_ip,target_port,attack,type,node,level,time)。
[0069]
其中,告警类型分为访问型告警type_1和攻击型告警type_2;访问型告警type_1指进行只读操作的操作对应的告警类型,攻击型告警type_2指进行读写操作对应的告警类型。告警级别分为5类,分别是无状态告警,可忽略型告警,低危险告警,可能危险告警和高危告警。无状态告警主要包括加密流量,编码数据,代理ip访问等;可忽略型告警包括高重复非危险告警,白名单告警,正常业务漏洞告警等;低危险告警包括爬虫告警,僵尸网络告警,主要监管ip源告警;可能危险告警包括异常访问告警,内部数据异常告警,重点区域告警;高危告警包括对已确定的入侵行为和黑客攻击行为的告警。
[0070]
s202、将所述告警事件按照时间属性进行排序,得到告警序列。
[0071]
作为本发明的一种实施例,将告警事件按时间属性time进行排序,得到一个基于时间排序的一维向量记为a。
[0072]
a={a(1)-》a(2)-》a(3)-》
……‑
》a(i)-》
…‑
》a(n)},其中a(i)为按照时间排序的全部告警事件中的第i个事件。
[0073]
s203、根据告警信息中的源端口和目标端口信息,提取所述告警序列中告警事件的逻辑关系。
[0074]
在本实施例中,告警序列是单纯按照时间排序后的产物,上面理论上存在的逻辑
关系极其微小,并不能用来描述攻击者的攻击活动,因此我们需要进一步按照一定的序列逻辑进行构建。
[0075]
首先在这里提出攻击的单次因果性,即可以认为在同一时间内一个攻击者一次或许可以同时进行多次攻击操作,但是显然任何一个攻击者不可能同时攻击源端口和目的端口,例如攻击者试图通过port_a攻击port_b,那么对于一个来自port_b到port_c的攻击一定是无法同步进行的。之后结合告警的源端口和目标端口的信息的链条关系提取逻辑关系。还可以对提取到的逻辑关系进行记录。
[0076]
s204、将所述告警序列按照时间段进行聚类,将聚类后的告警事件进行矩阵化,得到若干个告警矩阵,其中告警事件作为告警矩阵中的告警状态节点。
[0077]
在本实施例中,将一定时间的告警信息进行聚类,作为一个矩阵形式表示;每个矩阵用ki表示,其中i表示根据时间排序的第i个矩阵,每个矩阵内包括ni个告警状态节点;其中,i表示第i个矩阵,而ni表示第i个矩阵的数目。
[0078]
s205、根据所述告警状态节点之间的逻辑关系生成告警状态节点之间的链路关系,并建立存在告警状态节点之间的链路关系的告警矩阵之间的逻辑链条,生成多维矩阵关联模型。
[0079]
在本实施例中,通过所得的各告警状态节点之间的逻辑关系,即源端口和目标端口的关联性进行矩阵节点间的链接,进而进行矩阵间的链接。
[0080]
在上述过程中,将告警序列的多维矩阵以一种时间片的方式作为矩阵在时间上的离散延伸,毗邻的矩阵间的状态转变由矩阵上的节点间的连线表示。通过数据预处理,可以有效的提高数据质量,同时降低模型构建的难度,对受损数据进行一定的缩减,精简数据集,在后续的数据挖掘和图谱构建中提高效率和准确率。
[0081]
作为本发明的一种实施例,还可以对所述多维矩阵关联模型中的临近稀疏矩阵进行压缩。具体地,在所述多维矩阵关联模型中,若告警矩阵中的告警状态节点数量小于预设的节点数量阈值,则将该告警矩阵从所述多维矩阵关联模型中删除。即多维矩阵关联模型中,一定存在部分矩阵拥有极其稀少的节点,这种矩阵是可以删除的,这种删除可以提高信息熵,增加有效信息密度,增大矩阵间的时间间隔,简化部分低熵信息。
[0082]
作为本发明的一种实施例,还可以对所述多维矩阵关联模型中的无状态矩阵进行消除。具体地,在所述多维矩阵关联模型中,若所述告警矩阵与其他多维告警矩阵之间的链接数量小于预设的链接数量阈值,则将该告警矩阵从所述多维矩阵关联模型中删除。即多维矩阵关联模型中,一定存在部分矩阵近乎不存在矩阵间的链接,这种矩阵是可以删除的,这种删除可以提高信息熵,增加有效信息密度,增大矩阵间的时间间隔,简化部分低熵信息。
[0083]
s102、将所述多维矩阵关联模型中的一类逻辑链条映射到知识图谱结构中。
[0084]
作为本发明的一种实施例,所述多维矩阵关联模型中的逻辑链条可以分为三类,即所述逻辑链条包括一类逻辑链条、二类逻辑链条和三类逻辑链条。
[0085]
其中,所述一类逻辑链条为包含黑客从攻击开始到攻击成功的告警信息所对应的告警状态节点与链路关系组成的完整逻辑链条。可见,所述一类逻辑链条对黑客的攻击行为有着完整描述的告警信息对应的矩阵节点链条的关系。
[0086]
所述二类逻辑链条为除所述一类逻辑链条外的逻辑链长度大于标准长度的逻辑
链条;所述标准长度为其中p为长度比例,且0《p《1;s_l表示完整逻辑链条s的平均长度。
[0087]
所述三类逻辑链条为除所述一类逻辑链条和二类逻辑链条外的其他逻辑链条。
[0088]
作为本发明的一种实施例,可以将上述一类逻辑链条视为白盒攻击,将二类逻辑链条视为灰盒攻击,将三类逻辑链条视为黑盒攻击。
[0089]
其中,白盒攻击指黑客对系统发出的所有操作均可见,不管是接触端口还是发送数据病毒或者浏览某种信息,都在系统的监控记录之下,包括邮件炸弹,逻辑炸弹等信息炸弹,以及拒绝服务等。这也是最清晰明确的攻击方式,能够最大程度上得到黑客攻击场景的信息,同时也能最大程度上挖掘逻辑知识,构建知识图谱。
[0090]
黑盒攻击是指系统只知道自己遭受攻击,但是对攻击内部的逻辑,运行方式乃至黑客的具体目的完全无法识别,即未被包括系统所知的攻击形式,包括网络监听,密码破解和少数后门程序。这种攻击形式极难进行数据和知识挖掘,在告警集中所蕴涵的信息也非常少。
[0091]
灰盒攻击介于白盒攻击与黑盒攻击之间,即系统监测到黑客进行了某种攻击,并且确定系统发生了某种问题,但是不能完全的了解这种问题发生的具体逻辑和真实状态转移序列,比如基于后面程序的攻击和ddos等,他同时具有黑盒、白盒两种攻击的部分性质。
[0092]
在本实施例中,在逻辑架构层面,知识图谱分为模式层和数据层,其中模式层包括知识类的数据模型(也叫数据结构),如概念,实体,属性及关系,例如在本发明中会在模式层中引入某种感染模型,进而可以通过适配分析感染情况进行病毒的识别,之后可以进行感染推演针对知识图谱进行补全;数据层是以事实三元组等知识为单位,存储具体的数据信息一般来说事实的基本类型是“实体-关系-实体”或“实体-属性-属性值”的形式存在。
[0093]
在本实施例中,所述多维矩阵关联模型中的一类逻辑链条为一种告警逻辑信息,其表示由两个状态和一个关联行动组成的逻辑关系,且适配于知识图谱中的“实体-关系-实体”的元模型。因此可以通过逻辑关系与元模型结构之间的相似性,进行映射。
[0094]
作为本发明的一种实施例,所述将所述多维矩阵关联模型中的一类逻辑链条映射到知识图谱结构中,包括:
[0095]
获取知识图谱结构,所述知识图谱结构包括模式层和数据层,所述模式层包括以“实体-关系-实体”的元模型;
[0096]
将所述一类逻辑链条中的节点与链路关系以“实体-关系-实体”的形式映射到知识图谱结构的数据层。
[0097]
在s102中,将一类逻辑链条映射到知识图谱结构中,实现了基于多维矩阵关联模型到知识图谱的初步映射,然而,二类逻辑链条和三类逻辑链条对应的灰盒攻击、黑盒攻击带来了对攻击场景构建的两种困难,一方面告警信息中会产生大量的包括误报警,多次重复报警,未筛选报警,特意触发报警等无用信息,极大的阻碍场景构建的效率,在逻辑知识的挖掘中也会造成一定程度的阻碍。另一方面黑盒与灰盒的攻击方式,使得大量关键事件信息缺失,令构建完整的攻击模型有着较高的难度。因此,针对这两个方面,对告警信息的简化和补全有着非常重要的作用。这里我们提出一种理论,即相对来说信息简化的难度要远低于信息补全,因此可以将黑盒与灰盒看作白盒的一部分,黑盒与灰盒攻击的本质上是白盒攻击的不完全展示。比如针对黑客的某个攻击序列a1={a
1-》a
4-》a
7-》a
8-》a
11-》a
14
},如
果全部的攻击都被识别并置入告警集中,那么这就是一种白盒攻击方式;反之如果系统识别到的攻击序列只有一部分{a
4-》a7,a
11-》a
14
},那么就是一种灰盒的攻击方式;更有甚者,如果系统仅仅识别到黑客攻击的最终目标a
14
,那么系统对黑客的操作一无所知,就是一种黑盒的攻击方式。这种差异和不完全是由于系统本身的缺陷和黑客所进行的各种隐蔽措施导致,为了简化和归一化,因此可以在概念上进行黑灰盒的白化,一方面通过知识图谱补全信息,另一方面三种攻击方式都可以通过一致处理进行干扰信息的清理和数据简化,以此降低处理难度。
[0098]
s103、对所述多维矩阵关联模型中的二类逻辑链条和三类逻辑链条进行补充,将补充后形成的一类逻辑链条映射到所述知识图谱结构中,构建知识图谱。
[0099]
作为本发明的一种实施例,所述对所述多维矩阵关联模型中的二类逻辑链条和三类逻辑链条进行补充,包括:
[0100]
s301、将专家知识与感染模型补充到所述知识图谱的模式层。
[0101]
专家知识由安全领域专家提供,在知识图谱内部存在,具体的网络安全领域的专家应当将自身掌握的黑客攻击的相关知识以一种关系网链的形式载入到模式层中,用来描述黑客的攻击依照的规律。
[0102]
感染模型是指目前已有的某种黑客攻击攻击如某种病毒,某种蠕虫的感染逻辑,是对病毒的感染过程进行的建模。将此模型引入模式层,可以通过对告警信息的分析识别某种攻击可能对应的病毒,进而对这种攻击的未被告警系统发现的部分进行推演,进而将这种未识别但是推演出的攻击对应的状态转移节点映射为逻辑链条,补全知识图谱。感染模型例如蠕虫感染模型、木马感染模型,以及特定病毒的感染模型等。
[0103]
s302、判断所述二类逻辑链条和三类逻辑链条是否符合专家知识,若不符合,则不予映射;判断所述二类逻辑链条和三类逻辑链条对应的黑客攻击是否符合所述感染模型的攻击场景,若符合,则根据所述感染模型推演出所述黑客攻击对应的逻辑链条。
[0104]
作为本发明的一种实施例,根据感染模型进行以sl为步长的一次推演计算并记录。识别对应的攻击是否由某种病毒进行,若这种攻击符合模型所描述的情景,则根据模型进行推演,并将推演出的结果如s303进行印证。
[0105]
s303、将所述黑客攻击对应的逻辑链条与所述多维矩阵关联模型中的逻辑链条进行印证,若印证成功,则保留所述黑客攻击对应的逻辑链条;若印证不成功,则继续判断是否存在冲突,若冲突,则不保留所述黑客攻击对应的逻辑链条并将所述逻辑链条记录为不再启用;若不冲突,则不保留所述黑客攻击对应的逻辑链条。
[0106]
印证过程具体包括:对比这种推演出的节点间的关系是否与多维矩阵冲突,比如在推演出的结果中存在a
10-》a
24
的攻击,而在多维矩阵关联模型中也有这样的攻击,并且攻击的属性相同,则即为印证成功。
[0107]
在本实施例中,将印证成功的置为状态“1”,说明推演出的攻击确实存在,给予保留,即补全操作。将印证不成功且不存在冲突的置为状态
“‑
1”,说明推演错误,不保留,并在之后的推演中不再启用。将印证不成功且存在冲突的置为状态“0”,暂不保留,说明可能存在推演错误,或系统未识别。
[0108]
通过感染模型进行分析存在一个问题,即某种感染模型是不适用与当前攻击场景的,具体的情况如黑客使用了a病毒进行感染,而推演却是使用b病毒的模型,因此本发明通
过s304记录推演出的结果与原场景中的冲突个数作为判断量,进行感染模型是否适合的标准。
[0109]
s304、若记录为不再启用的逻辑链条个数超过预设的个数阈值,则弃用对应的感染模型,更新模式层。
[0110]
作为本发明的一种实施例,使用x因子记录每个感染模型中不再启用的个数,规定个数阈值m。若x因子超过个数阈值m,则将对应的感染模型弃用,更新模式层。
[0111]
通过上述补完、更新,直到知识图谱达到一个较为完整的水平,即无法通过上述方式显著提高完整度,即每次迭代的补全数远小于初期迭代的补全数。知识图谱通过这种方式更新边界值较低。
[0112]
根据知识图谱内的专家知识进行推演,引入一些感染模型,比如可以引入蠕虫感染模型,木马感染模型等,甚至可以引入特定病毒的感染模型。之后,基于长逻辑链进行推演,并且将这种推演信息反过来在得出的攻击场景多维矩阵关联模型中进行验证,通过反向迭代将符合的保留,不符合的摒弃,更新知识图谱。这样的操作进行多次,直到知识图谱达到一个较完整的水平。
[0113]
上述过程中,是通过提取符合要求的数据或逻辑关系进行的知识图谱构建,构建出的知识图谱的完整性已经有了较大提高,对于离散的信息量也有了一定程度的消减。然而,由于黑盒攻击部分和一部分的灰盒攻击是无法被推演的,故这种知识图谱的构建并不能完全推演完黑客攻击对应的逻辑知识。因此就需要通过处理不明属性的数据和关系进一步进行知识图谱的构建。
[0114]
数据聚类是一种处理数据的主流有效方式,通过提取数据的某种特征属性进行不同程度的分类,最终达到的一种高相似低耦合的数据分流。一般的,告警信息的聚类有着时间聚类和空间聚类两种方式,时间聚类是针对告警的时间节点,时间间隔,时间流量等方式进行聚类,空间聚类是通过抽象端口,ip或状态事件间的某种分布式抽象距离关系为距离属性进行聚类。
[0115]
作为本发明的一种实施例,通过逻辑聚类的方式,减小数据量,明确数据关系。通过逻辑聚类过程,将二类逻辑链条和三类逻辑链条补充后形成的一类逻辑链条映射到所述知识图谱结构中,具体包括:
[0116]
计算补充后知识图谱中的告警状态节点之间的逻辑关联度。关联度高的两个告警状态节点进行聚类,所以要计算两个节点间的关联度,进而确定是否将这两点进行聚类。所述逻辑关联度表示的是以时间因素和告警状态节点链路距离元素为特征,描述周围逻辑关系的关联程度。
[0117]
所述计算补充后知识图谱中的告警状态节点之间的逻辑关联度,包括:
[0118][0119]
其中,lin为逻辑关联度;mac为告警状态节点链路数;tom为告警状态节点与逻辑链条的全部状态转移数量;db为易感因子。所述易感因子由知识图谱模式层中的感染模型决定,用于描绘当前告警状态节点已被感染的程度。
[0120]
根据所述逻辑关联度对补充后知识图谱中的告警状态节点进行聚类,将聚类后不同聚类中告警状态节点之间的链路关系映射到所述知识图谱结构中。
[0121]
逻辑聚类后,处理未知节点间状态转移时,可以通过处理此节点所在聚类进行简化和精确化,减小处理难度,具体的如果聚类p1和p2中存在节点间的攻击链条,则在分析针对p2中的节点a
89
的攻击时,可以认为可能的攻击来自p1中的某个节点。因此可以将这种聚类间的关系也映射到知识图谱中。
[0122]
逻辑关联后的逻辑序列显著的包含黑客所进行攻击的逻辑序列,以此基础更新知识图谱。
[0123]
作为本发明的一种实施例,通过引入gan模型,进行多维矩阵关联模型数据的补充重置。具体包括:构建gan模型,将黑客攻击的真实样本数据输入所述gan模型,将输出结果输入到所述多维矩阵关联模型中,更新所述多维矩阵关联模型。
[0124]
如图4所示,所述gan模型通过生成器接收噪声(扰动值),分析告警事件和逻辑链条,构建神经网络,输出假样本数据到鉴别器;所述神经网络包括三层网络结构,第一层网络为由两个卷积层、两个实例正则化层和一个线性整流层组成的堆栈;第二层网络由两个卷积层和一个实例正则化层组成;第三层网络由两个反卷积层、一个实例正则化层和一个线性整数层组成;所述鉴别器接收黑客攻击的真实样本数据以及所述生成器输出的假样本数据的混合数据,对所述混合数据进行鉴别,输出鉴别结果。
[0125]
在本实施例中,如图4所示,构建gan模型,需要初始化生成器g和鉴别器d。生成器通过接收本质为随机变量的噪声t(扰动值)生成假样本数据,并通过迭代使生成器生成的数据接近于真实数据。鉴别器的输入由两部分组成,一是在数据库中所得的真实样本数据,一是生成器通过生成过程所产生的假数据(对抗数据),之后鉴别器通过鉴别活动输出一个0到1之间的概率值,用来描述输入是真实的分布概率。鉴别器的鉴别结果包括正常、虚假和异常。
[0126]
针对已有的可信度高的逻辑知识对应的攻击场景进行生成训练进而限制噪声t(扰动值),并模仿真样本产生模拟样本,具体的t为一个与输入攻击序列{a
xx-》
……‑
》a
yy
}相同长度的服从高斯分布的一维随机矩阵。
[0127]
生成器的具体描述为,通过接收扰动值t针对九元组(source_ip,source_port,target_ip,target_port,attack,type,node,level,time)和逻辑关系进行分析,构建出一个三层的神经网络,其输入值为已有识别出的攻击序列一维矩阵所组成的二维矩阵,其中攻击序列一维矩阵的最长长度为n。具体的网络结构为第一层由2个卷积层,2个实例正则化层,1个线性整流层组成的堆栈;第一层网络的输入是大小为m*n的二维矩阵,输出为m*m的二维潜在空间表示矩阵。第二层网络由2个卷积层,1个实例正则化层组成;第二层的输入是大小为m*m的二维矩阵,输出是大小为n*n的二维矩阵。第三层网络的由两个反卷积层,一个实例正则化层,一个线性整数层组成;第三层的输入是大小为n*n的二维矩阵,输出是根据加入扰动值的m1个1*n的一维矩阵,其中m1由自己设定,这就是初步生成的假攻击序列。
[0128]
将生成的假数据(对抗数据)和真数据混合,作为输入令鉴别器进行处理。鉴别器是一个由十个卷积层,五个批正则化层组成的堆栈,用于判断输入的数据是否为真,若为真则输出1,否则输出0。其中gan的损失函数如下式所示:
[0129][0130]
其中,g表示生成器;d表示鉴别器;t表示随机噪声;g(t)表示所述生成器的神经网
络输出的假样本数据(对抗样本数据);d(g(t))表示鉴别器鉴别假样本数据为真实样本数据的概率;x表示真实样本数据;p(x)表示真实的样本分布;p(t)表示虚假的样本分布;e
x-p(x)
[log(d(x))]表示x服从p(x)分布的情况下,log(d(x))的期望;e
t-p(t)
[log(1-d(g(t)))表示t服从p(t)分布的情况下,log(1-d(g(t)))的期望;注意p(x)和p(t)的分布不一定相同。
[0131]
通过多次迭代,固定鉴别器训练生成器,固定生成器,训练鉴别器,最终迭代至纳什均衡,在损失函数上的表现为:
[0132]
一、固定鉴别器训练生成器,即要使d(x)尽量大,d(g(t))尽量小,也就是对于d,max v(d,g)。
[0133]
二、固定生成器,训练鉴别器,即要使d(g(t))尽可能大,也就是对于g,min v(d,g)。
[0134]
三、之后不断迭代,求得最优网络。最优网络是指生成器生成的数据很难被鉴别器鉴别,此时鉴别器给出的真假概率为0.5。
[0135]
将最后生成的数据作为输出结果,输入到经过聚类处理的多维矩阵关联模型中,根据所给的属性进行新的适配,将这些事件分配到合适的位置,即将对应的多维矩阵关联模型中的节点间的关系置为攻击关系。
[0136]
在本实施例中,将输出结果输入到所述多维矩阵关联模型中,包括:
[0137]
将输出结果加入到所述多维矩阵关联模型中,建立对应的告警状态节点以及告警状态节点之间的链路关系,更新所述多维矩阵关联模型中的逻辑链条。
[0138]
作为本发明的一种实施例,所述知识图谱构建方法,还包括通过效果因子对构建出的知识图谱的质量进行检验。具体包括:
[0139]
计算补充后知识图谱结构的有效因子,若所述有效因子大于预设的有效因子阈值,则通过减小逻辑关联度对所述知识图谱进行调整;若所述有效因子小于预设的有效因子阈值,则通过增大逻辑关联度对所述知识图谱进行调整。
[0140]
计算补充后知识图谱结构的有效因子,包括:
[0141][0142]
其中,d为有效因子;s为补充前知识图谱的数据集中总完整知识序列对应的数据量;s1为补充后知识图谱的数据集中总完整知识序列与补充前知识图谱的数据集中总完整知识序列的数据量交集;a1为补充前知识图谱的数据集中知识序列对应的数据量;a2为补充后知识图谱的数据集中知识序列对应的数据量;o为补充前知识图谱的数据集中的数据量;o1为补充后知识图谱的数据集中增加的数据量。
[0143]
具体的,调整过程包括:
[0144]
当有效因子d较大时,代表当前所构建的知识图谱能较好的描绘出完整的攻击场景,因此通过适当减小逻辑关联度进而减小逻辑聚类来精简知识图谱的规模,提高精准度。
[0145]
当有效因子d较小时,代表当前是构建的知识图谱对攻击场景的描绘不完全,因此需要增大逻辑关联度进而增大逻辑聚类,提高正确率。
[0146]
根据效果因子d进行不断的迭代更新,最后找到一种兼顾正确率和精准度的知识图谱模式,并针对基于模式对知识图谱进行更新保留这种结构。至此,知识图谱的构建结
束,最后就是按照所得的知识图谱进行最终攻击场景的构建,根据所得知识图谱,利用其逻辑知识,通过模式层和数据层共同作用下的推演计算,根据构建出的系统内的告警所构筑的不完全的攻击场景进行补完,进而得到一种更完整的攻击场景,这种构建方式对黑盒也能够进行推演,同时由于在构建过程中引入的逻辑聚类,知识图谱可以知道攻击间的逻辑关系,进而理论上可以分析哪些操作是由一个黑客或黑客团体进行以及此黑客的来源、目的和攻击手段。构建出不同黑客的个人攻击模型,极大的提高分析攻击的效率与能力。
[0147]
根据本发明的实施例,通过提出黑灰盒白化的处理方式,将不同的攻击方式统一化处理,对黑客攻击的处理提出一种新思想,针对误告警、缺失告警、误导告警的处理得到一定程度提升。进而在保证正确率的同时也提高了效率。
[0148]
本发明提出的多维矩阵关联模型的构建方式,通过时间的切片化和数据的偏移化达到压缩数据集的同时不损失有效信息的成果。为进一步的处理减小难度并且提高效率。
[0149]
通过提出逻辑聚类的方式进行攻击间的聚类处理,有别于传统聚类方式,将对黑客攻击的时空距离性处理变化为对攻击过程性的处理。这样的处理是更加符合“人”的感受的处理方式。
[0150]
本发明通过知识图谱和gan网络结合的方式对攻击场景的补完提出一种解决方案,这种组合是针对攻击场景现有痛点的一次解决,一方面知识图谱的逻辑性能让系统更有效的认识处理攻击信息,另一方面gan网络的少数据性能够较大程度上减小知识图谱的成本。即通过引入gan网络和对抗学习对数据二次处理的方式辅助构建知识图谱,进而引入效果因子,将知识图谱在这种学习过程中的效果变化量化,同时针对有效数据量少,数据质量的问题提出了一种解决方案。
[0151]
综上,本发明针对告警杂乱信息和缺失数据有着一种系统的基于知识图谱和gan的处理方案,极大提高了方法的普适性和效率,同时在工程角度从构造时间、员工资源、专家探讨难度等方面都有一定程度的成本降低。同时本发明在实现方式上多层双向迭代的构造方法让知识图谱能够更容易的达到一个较好的效果,提高准确性,加强效率总体提高质量。本发明提出的对知识图谱的完整性的改良构造能够更好的基于“知识”推理出黑客攻击场景,对攻击场景的补全和逻辑分析拥有较好的效果。相应的,较低廉的时间成本能够针对不同的系统环境构建相应的知识图谱,同时这种构建本身也是具有适应性的,具有同样性质的系统在知识图谱的实体表示上也具有相当的一致性。本发明中提出的效果因子能够很好的指导对构建方式参数的选择,进而在灵活保证精度的同时不会降低平均效率。
[0152]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0153]
以上是关于方法实施例的介绍,以下通过电子设备实施例,对本发明所述方案进行进一步说明。
[0154]
图5示出了可以用来实施本发明的实施例的电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形
式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0155]
设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0156]
设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0157]
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如方法s101~s103。例如,在一些实施例中,方法s101~s103可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由计算单元501执行时,可以执行上文描述的方法s101~s103的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法s101~s103。
[0158]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0159]
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0160]
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0161]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0162]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0163]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0164]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1