内网安全威胁智能分析方法与流程

文档序号:18160700发布日期:2019-07-13 09:19阅读:213来源:国知局
内网安全威胁智能分析方法与流程

本发明属于计算机网络安全领域。



背景技术:

随着网络的发展,设备产生日志的量越来越大,难以手工分析;由于技术的发展,原本存储在本地的日志面临巨大的被篡改的风险;目前,在内网中,设备不能把自己遇到的攻击行为通知同网中的其他设备;单一模型随时间会出现退化,导致无法得到全面准确的检测结果。故而需要构建出一个可以利用人工智能对日志进行分析,可以利用区块链对日志进行更安全地存储,可以发挥内网的优势去探测异常日志,并且可以通过多模型协同进行防御的模型,来发现威胁。



技术实现要素:

本发明目的是为了解决在内网产生大量日志的情况下,这些日志易被篡改、不能被合并使用、并且模型会出现退化,导致预测无法得到全面准确的结果的问题,提供了一种基于统计学习的内网安全威胁智能分析方法。本方法利用人工智能分析而不是手工分析,实现对日志的分析;改变日志存储于本地的存储方式,转而采用区块链进行安全存储,并实现对内网不同设备产生的日志的合并使用;该方法支持多种日志解析模型,实现多模型协同;利用统计学习算法提高对异常日志的识别能力。

本发明的技术方案

内网安全威胁智能分析方法,包括如下步骤:

基本概念:

(1)日志:记录有价值的应用和系统运行信息的文本,内容包括时间戳等;

(2)日志流:具有标准格式的日志,可用作日志解析算法的输入,与日志的区别在于每行只能有一条日志流,但却可以有多行日志;

(3)日志模板:仅由日志流中的常量组成,可代表一组日志流;

(4)不一致性度量函数:是通过得分来评价待测日志流与已知日志流集合相似性的函数;

描述一个日志流与一组已知日志流的相似性,输入是一个日志模板和一个待测日志流,输出是一个数值,也叫做不一致性得分,得分越高,说明待测日志流与该组日志流越相似;得分越低,说明待测日志流与该组日志流越不相似;

(5)p-value:是衡量待测日志流在已知日志流集合中显著度的统计量,用于多模型预测结果可信度的比较;

第1、多模型不一致性得分的计算,包括如下步骤:

第1.1步、生成日志模板集

第1.1.1、对于日志流集合,利用日志解析算法f对其进行处理,得到日志模板集合t;

第1.1.2、日志解析的输入:原始日志流集x,日志解析算法集合g:

①原始日志流集x:包含n个日志流xj,j∈{1,2,...,n},x={x1,...,xn};

②日志解析算法集合g:包含m个日志解析算法fk,k∈{1,2,...,m},g={f1,...,fm};

第1.1.3、日志解析的输出:包含m个日志模板集合tk,k∈{1,2,...,m},t={t1,...,tm};其中每个日志模板集合tk包含q个日志模板tkb,b∈{1,2,...,q},tk={tk1,...,tkb}。

第1.2步、计算不一致性得分

第1.2.1、每一个异构的日志解析算法,对待测日志流yi,能根据日志模板tkb,利用不一致性度量函数g,计算出不一致性得分α;异构模型给出的不一致性得分之间不具有可比较性,不能根据不一致性得分,来直接对比模型预测结果的质量;

第1.2.2、不一致性度量的输入:日志模板集合t、待测日志流集合y,不一致性度量函数g:

①日志模板集合t:包含m个日志模板集合tk,k∈{1,2,...,m},t={t1,...,

tm};其中每个日志模板集合tk包含q个日志模板tkb,b∈{1,2,...,

q},tk={tk1,...,tkb};

②待测日志流集合y:包含w个日志yi,i∈{1,2,...,w},y={y1,...,yw};

③不一致性度量函数g;返回值为一个被称为不一致性得分的实数,该函数的输入为日志流和日志模板tkb,返回值为一个实数,该实数表明待测日志流与日志流集合的不一致性;

第1.2.3、不一致性度量的输出:不一致性得分集合;

第1.2.4、算法流程:

第2、内网安全威胁智能分析方法,该方法包括如下步骤:

第2.1步、计算p-value

第2.1.1、对日志日志模板tkb来说,对原始日志流xj进行不一致性度量,得到对应的不一致性得分集合{akb_1,akb_2,...,akb_j};

第2.1.2、将待测日志流yi的不一致性得分akb_i放入类的不一致性得分集合中,此类的p-value值是大于或等于待测日志流yi的不一致性得分akb_i的日志流数量与日志流总数的比值;

第2.1.3、p-value值越大说明该待测日志流yi在该类中的显著度越高;

第2.1.4、输入:日志流的不一致性得分集合;

第2.1.5、输出:待测日志流yi的p-value值;

第2.1.6、算法流程:

第2.2步、基于统计学习预测待测日志流

第2.2.1、对于上步取得的所有p-value值集合,在其中选取大于最大出错概率ε的p-value值,得到这些p-value值对应的模板类集合,若存在空集合,则预测该待测日志流yi为异常日志,否则预测该待测日志流yi为正常日志;

第2.2.2、输入:待测日志流yi的p-value值集合;可接受最大出错概率ε,由用户提供,表明用户能够接受的最大出错概率;

第2.2.3、输出:预测结果;

第2.2.4、算法流程:

本发明的优点和积极效果:

本发明提出基于统计学习的内网安全威胁智能分析方法。该方法利用人工智能分析而不是手工分析,实现对日志的分析,提高了分析效率;该方法改变日志存储于本地的存储方式,转而采用区块链进行安全存储,提高了安全性;该方法实现了对内网不同设备产生的日志的合并使用,提高了探测异常的效率;该方法支持多种异构日志解析模型,利用统计学方法,实现多模型协同防御。

附图说明

图1是基于统计学习的内网安全威胁智能分析方法流程图。

图2是工控日志流集合的部分。

图3是工控日志利用iplom算法得到的日志模板集。

图4是工控日志利用drain算法得到的日志模板集。

图5是工控日志利用logsig算法得到的日志模板集。

图6是工控日志利用iplom算法得到的p-value值集合。

图7是工控日志利用drain算法得到的p-value值集合。

具体实施方式

本发明以探测异常日志为例进行具体说明,任何通过输入原始日志流集合得到日志模板集合的日志解析算法都可以用到该方法上,方法流程如图1,本实施方式中以iplom、drain、drainv1、和logsig四种日志解析算法举例说明,具体介绍如下:

iplom是一种日志解析算法。此算法在解析日志的时候分为四步,并且最开始要将所有日志输入进去。第一步将所有原始日志根据长度分成不同的组;第二步是对日志长度相同的组中的原始日志继续分组。对于所有日志记录的相同位置的所有单词进行统计,找到拥有最少独特词的位置,根据这些独特词分类。将拥有相同独特词的原始日志分到一个组里。第三步将对上一步得到的每个组进行操作。根据词之间的对应关系,将它原始日志分成不同的组。第四步对上步每个最后得到的组进行处理。相同位置上的词若不同,则用通配符替代,相同的词就直接写下来,得到日志模板。

drain是一种日志解析算法。此算法在解析日志的时候分为三步,并且每次输入一条日志。第一步的目的是将长度相同的原始日志归到一个组;第二步的目的为将具有相同token的长度相同的日志归类到一个组,此方法中的token可能是日志的第一个词,也可能是日志的最后一个词,也可能是通配符;第三步的目的是将长度相同且token相同的原始日志中的相似的日志聚到一起,得到可以代表这个集合的日志模板。

drainv1是一种日志解析算法。此算法在解析日志的时候分为三步,并且每次输入一条日志。第一步的目的是将长度相同的原始日志归到一个组;第二步的目的为将具有相同token的长度相同的日志归类到一个组,此方法中的token可能是日志的第一个词,也可能是通配符;第三步的目的是将长度相同且token相同的原始日志中的相似的日志聚到一起,得到可以代表这个集合的日志模板。

logsig是一种日志解析算法。此算法在解析日志的时候分为三步,并且最开始要将所有日志输入进去。第一步将每条日志流切割为多个单词对,形成单词对组;第二步首先将所有日志随机分成固定个数的组,然后把每条日志均转移到合适的组;第三步目的为针对上一步得到的每个组,得到合适的日志模板。

每一个日志解析算法,均可以对原始日志集进行处理,得到能够代表日志集的模板集tk。对待测日志yi,能根据得到的日志模板集合tk,利用不一致性度量函数g,计算出不一致性得分。异构模型给出的不一致性得分之间不具有可比较性,不能根据不一致性得分来直接对比模型预测结果的质量,因此在各异构模型得到不一致性得分后还需基于统计学习预测待测日志,本实施方式的步骤如下。

1.预处理原始日志

本次实施方式,将原始日志集合变为日志流集合。利用自动化脚本对不同格式的文本化的原始日志进行处理,使之变为适合作为日志解析算法输入的,具有标准格式的日志流集合。预处理后得到的工控日志流集合如图2所示。

2.存储及共享日志流

本次实施方式利用区块链实现对日志流的安全有效存储及对多种设备产生的日志流的合并使用。区块链的每一个区块都是由区块头和区块体组成的。区块与哈希是一一对应的。利用区块链进行加密时,当前区块的哈希值要用当前区块头的内容进行加密,而当前区块头的内容又包括上一个区块的哈希以及当前区块体的哈希。这就保证利用区块链可以实现对日志流的安全存储;当有数据写入区块链的时候,所有节点都需要同步数据,这就能保证内网上每台设备都能使用所有设备产生的日志,实现对多种设备产生的日志流的合并使用。

3.得到日志模板集合

本次实施方式,使用iplom、drain、drainv1、和logsig四种日志解析算法处理两千条日志流,得到日志模板集合。输入是存储在区块链上的日志流集合,输出是日志模板。利用日志流中非结构化内容中的常量生成日志事件模板。iplom算法结合日志长度,单词记号的位置和单词记号间的映射关系去生成日志事件模板,如图3所示。drain算法利用可以自动生成并更新的定向无环图去生成日志时间模板,其主要用在在线和分布式系统中,如图4所示。logsig算法首先将每条日志转化为多个包含两个单词和它们之间位置的单词对,然后对它们进行分组操作,最后得到日志事件模板,如图5所示。

4.计算不一致性得分

本次实施方式中,利用上步得到的日志模板集合,依据不一致性度量函数对日志流集合计算不一致性得分,每个日志解析算法得到每个日志模板集合都会得到一个不一致性得分集合。对于每个日志解析算法,我们最终都可以得到与日志模板个数相同的不一致性得分集合。

随后,利用iplom、drain、drainv1、和logsig这四种日志解析算法得到的模板,对待测日志流x进行不一致性度量,每个模板对应一个不一致性得分。iplom、drain、drainv1、和logsig这四种日志解析算法给出的不一致性得分之间不具有可比较性,不能根据不一致性得分,来直接对比模型预测结果的质量。

5.计算p-value

本次实施方式中,以其中一个模板tkb为例,记其对应的不一致性得分集合为{akb_1,akb_2,...,akb_j},待测日志流yi对应此模板的不一致性得分记为akb_i。将待测日志流yi的不一致性得分akb_i放入模板对应的不一致性得分集合{akb_1,akb_2,...,akb_j}中,此模板对应的p-value值是集合{akb_1,akb_2,...,akb_j}中不一致性得分大于或等于akb_i的个数与总数的比值。对同一日志解析算法得到的所有模板进行相同计算,即可得到与每个日志解析算法对应的p-value值集合。此处用iplom和drain这两种日志解析算法对应的p-value值集合举例,如图6和图7。

6.基于统计学习检测日志流

对于上步取得的所有p-value值集合,在其中选取大于最大出错概率ε的p-value值,最大出错概率ε由用户提供,得到这些p-value值对应的模板类集合。若存在空集合,则预测该待测日志流yi为异常日志,否则预测该待测日志流yi为正常日志。

7.总体算法流程

(1)输入:日志流集合x,待测日志y、日志解析算法集合g、不一致性度量函数g、可接受最大出错概率ε:

①原始日志流集x:包含n个日志流xj,j∈{1,2,...,n},x={x1,...,xn};

②待测日志流集合y:包含w个日志yi,i∈{1,2,...,w},y={y1,...,yw};

③日志解析算法集合g:包含m个日志解析算法fk,k∈{1,2,...,m},g={f1,...,fm};

④不一致性度量函数g;返回值为一个被称为不一致性得分的实数,该函数的输入为日志流和日志模板tkb,返回值为一个实数,该实数表明待测日志流与日志流集合的不一致性;

⑤可接受最大出错概率ε,由用户提供,表明用户能够接受的最大出错概率。

(2)输出:

预测结果,即待测日志yi正常还是异常。

(3)算法流程:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1