CN108540329A - 基于两层贝叶斯网络模型的网络安全推断方法 - Google Patents
基于两层贝叶斯网络模型的网络安全推断方法 Download PDFInfo
- Publication number
- CN108540329A CN108540329A CN201810370982.1A CN201810370982A CN108540329A CN 108540329 A CN108540329 A CN 108540329A CN 201810370982 A CN201810370982 A CN 201810370982A CN 108540329 A CN108540329 A CN 108540329A
- Authority
- CN
- China
- Prior art keywords
- node
- network
- jsd
- bayesian network
- markov boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于两层贝叶斯网络模型的网络安全推断方法及推断***,包括对网络攻击数据进行预处理;预先构建两层贝叶斯网络模型框架;利用贝叶斯网络结构学习方法在每一层利用网络攻击预处理后的数据构建贝叶斯网络结构;分别对第一层和第二层框架中的贝叶斯网络中重要节点的马尔科夫边界节点重要程度进行排序,取马尔科夫边界节点重要程度排序在前的节点作为关键的观察节点;输出关键的观察节点。本发明通过对每一层模型中的重要节点的马尔科夫边界节点的最大JSD值进行排序,得到关键的观察节点,从而在对网络攻击进行安全检测时,可更快对可能攻击点做出反应,是对现有网络监控***功能的一种有效改进。
Description
技术领域
本发明属于网络安全技术领域,尤其涉及一种基于两层贝叶斯网络模型的网络安全推断方法及推断***。
背景技术
目前的主流网络监控***提供的大都是统计指标,如某个时段的全局平均网络流量、个体平均网络流量、异常流量等,管理人员可以对网络的总体情况进行宏观掌握。在攻击检测方面,传统的入侵检测***(Intrusion Detection System,IDS)大部分利用既定规则对网络攻击进行检测,或是利用机器学习方法对异常进行检测,这些方法通常基于黑盒模型(black-box model),使用者不能了解为何产生了报警,在进行安全事件的处理或溯源时有较大的困难。通常,一次网络攻击的发动会产生很多的连带反应,会反映在网络的一些数据中,IDS通常只会给出自身的判断结果,不能对实际意义进行解释。
现有的网络监控***多半显示统计指标,网络管理员要根据这些统计指标和自身经验对目前可能的异常行为进行分析。对于整合了IDS的监控***,这些***通常会给当前监控环境提供定量化的评分,这个评分可以给管理人员提供参考。但是,在一些具体的攻击发生时,网络管理人员通常要对大量日志进行分析来找到攻击发生的原因并进行修复,这种方式极大浪费了管理人员的时间和精力。同时,在网络的攻击行为中,不同的攻击类型数据在一个公司的内部数据中量上会有较大差距,有些攻击类型数据量丰富,在分类器模型中对该类型的攻击进行了较好的建模,而有些则数据量很少,对这些类型的攻击的建模就难以很好的进行。现有模型多是将所有数据均放在一个分类器中,所使用的分类器不能对自身的实际意义进行分析,属于黑盒模型。
概率图模型在网络安全领域具有广泛的应用,可以刻画不同攻击场景中的变量之间的关系。然而,在网络安全领域不同类型的网络攻击数据量不同,直接对所有攻击类型进行建模的话会对一些数据集中数据量很少的攻击遗漏,难以达到很好的识别效果。
贝叶斯网络是利用广泛的概率图模型,可以表征网络中不同节点之间的关系,并通过条件概率表来对这种依赖关系进行定量表示。贝叶斯网络通常与攻击图结合形成贝叶斯攻击图来对攻击者的一次完整的渗透攻击行为进行建模,不过这种方式通常较为宏观,不涉及到底层指标的利用。
发明内容
本发明提供一种基于两层贝叶斯网络模型的网络安全推断方法及推断***,用于克服现有技术中网络攻击检测的范围较大、对人工观测的依赖性强等缺陷,实现对网络攻击进行检测,并能追踪到攻击点且减轻管理人员日常观测压力。
为解决上述问题,本发明采用的技术方案是:构建两层贝叶斯网络,对贝叶斯网络中重要节点的马尔科夫边界节点利用杰森-香农散度值(Jensen–Shannon divergence,JSD)进行分析,找到马尔科夫边界节点的重要度排序,为管理人员对不同攻击类型进行观测提供依据。具体的网络安全推断方法如下:
一种基于两层贝叶斯网络模型的网络安全推断方法,包括以下步骤:
步骤1,对网络攻击数据中的连续型数据离散化;
步骤2,预先构建两层贝叶斯网络模型框架;其中第一层模型框架对攻击大类进行分类,所述攻击大类包含有多种子攻击类型,第二层模型框架对所述第一层模型框架中的每一个攻击大类进行细分类;
步骤3,利用贝叶斯网络结构学习法在所述第一层模型框架和第二层模型框架分别利用对网络攻击数据进行预处理后的数据构建贝叶斯网络;
步骤4,分别对第一层模型框架和第二层模型框架中的贝叶斯网络结构中重要节点的马尔科夫边界节点重要程度进行排序,所述重要节点是指贝叶斯网络中用来指示当前攻击类型的节点;
步骤5,取马尔科夫边界节点重要程度排序在前的节点作为关键的观察节点,输出所述观察节点。
进一步地,所述步骤3中贝叶斯网络结构学习是对预处理后的网络攻击数据进行学习,所述结构学习方法采用的是以贝叶斯信息准则(Bayesian Information Criteria)作为评分函数和禁忌搜索(Tabu Search)作为搜索算法的基于评分搜索的算法。
进一步地,所述基于评分搜索的算法包括以下步骤:
步骤31,将网络攻击数据集中的每条记录的属性作为贝叶斯网络中的变量;
步骤32,调用R语言中的bnlearn扩展包中的tabu函数进行贝叶斯结构学习获取贝叶斯网络的结构。
进一步地,所述步骤4中一个重要节点X的马尔科夫边界节点包括其父节点、子节点以及子节点的父节点,表达公式如下:
mb(X)=π(X)∪ch(X)∪(∪Y∈ch(x)π(Y))
其中,π(X)代表重要节点X的父节点,ch(X)代表重要节点X的子节点,∪Y∈ch(X)π(Y)代表重要节点X的所有子节点的父节点,mb(X)表示变量X的马尔科夫边界。
进一步地,所述步骤4中马尔科夫边界中的节点重要程度的排序方法为:
步骤41,预设得到的两层模型中的全部贝叶斯网络数量为Nbn,对于每个贝叶斯网络BNi(i=1,2,…,Nbn)进行下一个步骤;
步骤42,计算每个马尔科夫边界中节点的指标值:最大JSD(Max Jensen–Shannondivergence)指标值;
步骤43,判断当前是否有BN剩余:若有,返回步骤42;若没有,进行之后的步骤;
步骤44,对每个马尔科夫边界节点的最大JSD指标值进行排序,形成一个排序序列,并取排名靠前的节点作为关键的观察节点;。
进一步地,所述步骤42中最大JSD指标值的计算方法为:
步骤411,设重要节点Xt的马尔科夫边界为Mb(Xt)={X1,…,Xi,…,XM},i=1,2,…,M,M表示重要节点Xt的马尔科夫边界节点数量;
步骤412,改变重要节点Xt的马尔科夫边界中一个节点Xi的观测值,采用联结树算法(junction tree algorithm)计算重要节点Xt在马尔科夫边界节点Xi的取值为e时的后验概率分布P(Xt|Xi=e),一个马尔科夫边界节点Xi有ri个可能的取值,计算得到重要节点Xt的ri个后验概率分布;
步骤413,计算JSD值;
其中P1、P2表示重要节点Xt在马尔科夫边界节点Xi值变化时的任意两个后验概率分布值,依次计算每两个后验概率分布值的JSD值,则对于重要节点Xt的马尔科夫边界节点Xi,共有个组合,相应计算出个JSD值
KL代表KL(Kullback-Leibler divergence)散度,其计算公式为:
p和q为两个后验概率分布,p(xi)、q(xi)代表相应后验概率分布中取值为xi时对应的概率值。
步骤414,获得重要节点Xt的所有马尔科夫边界节点Xi的JSD值后,计算最大JSD指标值
JSDmax(Xi)表示马尔科夫边界节点Xi的最大JSD值,JSDj表示马尔科夫边界节点Xi的第j个JSD值。
进一步地,步骤5中所述排名靠前的节点取排名前三的节点。
为实现本发明目的,本发明还提供一种基于两层贝叶斯网络模型的网络安全推断***,包括:
预处理模块,用于对网络攻击数据中的连续型数据离散化;
模型框架模块,用于预先构建两层贝叶斯网络模型框架;其中第一层模型框架对攻击大类进行分类,所述攻击大类包含有多种子攻击类型,第二层模型框架对所述第一层模型框架中的每一个攻击大类进行细分类;
网络结构模块,用于利用贝叶斯网络结构学习法在所述第一层模型框架和第二层模型框架分别利用对网络攻击数据进行预处理后的数据构建贝叶斯网络;
节点排序模块,用于分别对第一层模型框架和第二层模型框架中的贝叶斯网络结构中重要节点的马尔科夫边界节点重要程度进行排序,所述重要节点是指贝叶斯网络中用来指示当前攻击类型的节点;
节点输出模块,用于取马尔科夫边界节点重要程度排序在前的节点作为关键的观察节点,输出所述观察节点。
与现有技术相比,本发明所取得的有益效果是:
本发明提供了一种基于两层贝叶斯网络模型的网络安全推断方法及相应推断***,通过构建两层贝叶斯网络模型对网络攻击进行监控和检测,第一层模型对大类攻击类型进行分类,第二层分别对每个攻击大类进行细微攻击类型分类,从而使该模型可以较好地为网络管理人员对不同网络攻击的推断进行支持。进一步地,计算每一层模型中的重要节点的马尔科夫边界节点的最大杰森-香农散度值,哪个马尔科夫边界节点的最大杰森-香农散度值越大,该马尔科夫边界节点对重要节点的影响程度就越大,通过对每一层模型中的重要节点的马尔科夫边界节点的最大杰森-香农散度值进行排序,得到关键的观察节点,从而在对网络攻击进行安全检测时,可更快对可能攻击点做出反应,是对现有网络监控***功能的一种有效改进。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例提供的基于两层贝叶斯网络模型的网络安全推断方法中贝叶斯两层模型架构;
图2为图1中第一层模型中贝叶斯网络节点X41的马尔科夫边界图;
图3为图1中第二层模型中的贝叶斯网络节点X41的马尔科夫边界图;
图4为本发明实施例提供的基于两层贝叶斯网络模型的网络安全推断***的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提出一种基于两层贝叶斯网络模型的网络安全推断方法及推断***。
实施例一
参见图1~3,本发明实施例提供一种基于两层贝叶斯网络模型的网络安全推断方法,本发明以著名的入侵检测数据集KDD99对本发明提出的方法进行说明,该数据集可以从http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html中获得。
具体包括:
步骤1:对网络攻击数据进行预处理;
因贝叶斯网络处理的数据通常为离散型,在采集到的网络攻击数据集中,不同的变量具有不同的类型,离散型和连续型都有,因此对于连续型的数据要进行离散化。所述预处理是指将网络攻击中的非名义变量的数据进行基于熵的分箱离散化,处理后可以使这些变量适合于接下来的模型的拟合,在对数据进行采集时,将一行作为一条记录,一列作为一个属性(变量),本实施例中,一条记录包含了目标主机的网络服务类型、从源主机到目标主机的数据的字节数、访问***敏感文件和目录的次数等41个属性及1个指示该条记录类型(正常或是某种类型的攻击)的属性。
步骤2:预先构建两层贝叶斯网络模型框架;
根据不同的攻击类型预先设置好两层贝叶斯网络模型框架,其中第一层模型框架对攻击大类进行分类,所述攻击大类指的是包含有多种子攻击类型的攻击,第二层模型框架对第一层模型框架中的每一个攻击大类进行细分类;本实施例中,贝叶斯网络模型是典型的白盒模型(white-box model),其训练需要大量的数据支持。然而在现实的环境中,某型种类的网络攻击的观测样本数很少,如图1所示,例如在KDD99的训练数据中,只有0.0105%的数据属于U2R攻击(本地非授权用户非法获取本地超级用户权限),直接进行分类的话很可能导致本类型的攻击被忽视。不同网络攻击的处理方式不同,对于管理人员来说,首先要做的是识别出可能的大类(例如DOS-拒绝服务攻击),利用该大类攻击的防御手段进行初步防御或排除威胁,之后再对细分后的攻击采用更准确的防御手段。为此,本发明构建两层贝叶斯网络模型对攻击进行监控和检测,第一层贝叶斯网络模型用于利用已知变量对大类攻击例如拒绝服务攻击进行分类,第二层贝叶斯网络模型分别对每个大类攻击中的子攻击类型进行分类(例如DOS-拒绝服务攻击可以细分为泪滴攻击、邮件炸弹、死亡之ping等),从而使该模型可以较好为网络管理人员对不同网络攻击的推断进行支持。
步骤3:利用贝叶斯网络结构学习方法对网络攻击预处理后的数据构建贝叶斯网络结构;
贝叶斯网络结构结构学习是在贝叶斯网络的结构和节点后验概率分布均未知的情况下,从目前已经获取的数据(采集后预处理得到的数据)对二者进行学习获取。本发明中采用现有的基于评分搜索的算法(Scoring and searching learning algorithm)来对贝叶斯网络的结构进行学习获取。基于评分搜索的算法的实施包括以下步骤:
步骤31:将网络攻击数据集中的每条记录的属性作为贝叶斯网络中的变量;
步骤32:调用R语言中的bnlearn扩展包中的tabu函数进行贝叶斯结构学习获取贝叶斯网络的结构;
将数据集中的每条记录的属性作为贝叶斯网络中的变量,采用贝叶斯信息准则评分(Bayesian Information Criteria,BIC)和禁忌搜索算法(Tabu Search)结合的评分搜索算法,调用R语言中的bnlearn扩展包中的tabu函数进行贝叶斯结构学习来获取贝叶斯网络的结构。bnlearn是一个R语言的扩展包,内置了多个贝叶斯网络学习算法,通过调用相应函数即可使用相应的学习算法。BIC是G.Schwarz在1978年提出的评分准则,也是最常见的评分准则之一。禁忌搜索算法是Glover教授最早在1986年提出的经典算法,是对局部领域搜索的一种扩展,是一种性能优越的最优解搜索算法。在本实施例中,利用KDD99数据集的训练集,先利用bnlearn中的tabu函数对原始数据进行拟合,再利用plot函数对训练出来的模型进行绘图表示。在KDD99数据集中异常类型被细分为四大类共39种攻击类型,其中四大类攻击类型包括DOS(Denial of Service,拒绝服务攻击)、PROBE(监视和嗅探)、U2R攻击和R2L攻击(unauthorized access from a remote machine to a local machine,远程主机对本地主机的未授权访问)。本实施例中得到的第一层贝叶斯网络如图2所示,第二层框架中的四个贝叶斯网络如图3所示。本发明在有大量数据的情况下,没有使用专家经验来决定贝叶斯网络的结构,而是从网络攻击预处理后的数据集中利用结构学习来进行获取。
步骤4:分别对第一层和第二层贝叶斯网络中重要节点的马尔科夫边界节点重要程度进行排序,取马尔科夫边界节点重要程度排序在前的节点作为关键的观察节点,所述重要节点是指贝叶斯网络中用来指示当前攻击类型的节点,即通常的带标签数据集中的标签变量;
重要节点X的马尔科夫边界节点包括其父节点、子节点以及子节点的父节点,用下面的关系式表达:
mb(X)=π(X)∪ch(X)∪(∪Y∈ch(X)π(Y))
其中,π(X)代表节点X的所有父节点,ch(X)代表节点X的所有子节点,∪Y∈ch(X)π(Y)代表所有子节点的父节点,mb(X)表示变量X的马尔科夫边界。
马尔科夫边界节点重要程度的排序方法为:
步骤41:计算每个马尔科夫边界节点指标值:最大JSD(Max Jensen–Shannondivergence)指标值;
最大JSD指标值的计算方法为:
步骤411:设重要节点Xt的马尔科夫边界为mb(Xt)={X1,…,Xi,…,XM},i=1,2,…,M,M表示重要节点Xt的马尔科夫边界节点数量,Xi表示马尔科夫边界中的第i个节点;
步骤412:改变重要节点Xt的马尔科夫边界中一个节点Xi的观测值,采用联结树算法(junction tree algorithm)计算重要节点Xt在马尔科夫边界节点Xi的取值为e时的后验概率分布P(Xt|Xi=e),因为一个马尔科夫边界节点Xi有ri个可能的观测值,所以一个马尔科夫边界节点Xi可以计算得到重要节点Xt的ri个后验概率分布;
在贝叶斯网络的结构获取之后,通过对节点的观测来获取所关心的节点的后验概率。本发明采用联结树算法(junction tree algorithm)对节点的后验概率进行推断,利用R语言扩展包bnlearn中的函数setFinding和querygrain即可完成在给定节点观测值的情况下对重要节点的推断,setFinding函数用于设置证据,querygrain函数用于获取后验概率分布。在推断中,需要了解马尔科夫边界中的节点对重要节点的影响程度,因此,本发明计算在每次改变马尔科夫边界中一个节点观察值的情况下推断得出重要节点的后验概率分布,并计算杰森-香农散度(Jensen–Shannon divergence,JSD)来衡量每两个后验分布之间的差距。假设重要节点Xt的马尔科夫边界为mb(Xt)={X1,…,Xi,…,XM},节点Xi(i=1,2,…,M)有ri个可能的观测值。本发明每次只更改一个观测节点的观测值而保持马尔科夫边界中的其他节点的值不变,这样相应节点就有ri个后验概率分布,之后计算每两个后验概率分布的JSD值,从而相应节点有 个JSD值。
步骤413:计算JSD指标值;
其中P1、P2表示重要节点Xt在马尔科夫边界节点Xi值变化时的任意两个后验概率分布值,依次计算每两个后验概率分布值的JSD值,则对于重要节点Xt的马尔科夫边界节点Xi,共有个组合,相应计算出个JSD值
其中KL代表KL(Kullback-Leibler divergence)散度,其计算公式为:
p和q为两个后验概率分布,p(xi)、q(xi)代表相应后验概率分布中取值为xi时对应的概率值。
步骤414:获得重要节点Xt的所有马尔科夫边界节点Xi的杰森-香农散度值后,计算最大JSD指标值:
JSDmax(Xi)表示重要节点Xt的马尔科夫边界节点Xi的最大JSD值,JSDj表示马尔科夫边界节点Xi的第j个JSD值。
步骤42:对重要节点Xt的每个马尔科夫边界节点的最大JSD指标值进行排序,形成一个排序序列,并取排名靠前的节点作为关键的观察节点。
本实施例在KDD99数据集上进行了应用,得到第一层模型中贝叶斯网络重要节点的马尔科夫边界,如图4所示,各个节点代表变量,即KDD99数据集中的属性,X41为本数据集中的重要节点,可以揭示对应记录的性质(该条记录为正常还是某种攻击)。本马尔科夫边界中的节点意义如下所示:
表1第一层模型中X41马尔科夫边界中的节点意义
这些属性反映了正常数据和四类异常数据的差别,利用协议类型、目标网络类型、连接状态等在不同的攻击类型中显然是不一样的,而是否获得root权限、对于敏感文件进行操作等与未授权的访问行为有较大的关联,剩余属性都是基于时间的网络流量统计特征或基于主机的网络流量统计特征。拒绝服务攻击、监视和嗅探等会引起较明显的网络流量异常,尤其是拒绝服务攻击,由于目标网络同时被大量连接阻塞使合法用户的合理请求无法被实现,导致在连接情况上会出现明显的统计异常。从以上分析可以看出,马尔科夫边界中节点的实际意义可以让管理者对最终状态的成因有一定的了解,方便管理人员在网络构建完毕后进行合理的推理。
在本发明利用KDD99数据集构造的两层模型中,对第一层模型中重要节点X41的马尔科夫边界进行计算,得到如下结果:
表2最大JSD指标值的计算结果
从上表可以得到不同节点的JSD排序:
JSDmax:X2>X3>X12>X4>X1>X33>X13>X29>X40>X22>X28>X39>X7>X9
本实施例中,取排名前三的节点作为关键的观察节点,即:节点X2、X3和X12,因而返回数据集查看节点的具体含义:X2代表目标主机的服务。在不同大类的攻击类型中服务是不一样的,对攻击类型的推断具有更大的影响,因此在本发明的实例中认为X2更重要。节点X3代表连接状态,X12代表“compromised”条件出现的次数。因此在本发明实例中,对于四大类攻击类型的推断的关键观察节点为X2、X3和X12,通过实验验证,与实际相符,从而说明本发明通过构建两层贝叶斯网络,在对网络攻击进行安全检测时,可更快地发现关键的观察节点,从而更快地对可能攻击点做出反应,是对现有网络监控***功能的一种有效改进。同理,依次计算剩下的四个贝叶斯网络中的重要节点。
步骤5:用于取马尔科夫边界节点重要程度排序在前的节点作为关键的观察节点,输出关键的观察节点。
本实施例中,关键观察节点如下所示:
第一层 | X2,X3,X12 |
第二层DOS | X35,X33,X2 |
第二层PROBE | X3,X4,X31 |
第二层U2R | X31,X17 |
第二层R2L | X4,X10,X11 |
实施例二
参见图4,本发明实施例提供一种基于两层贝叶斯网络模型的网络安全推断***,包括预处理模块1、模型框架模块2、网络结构模块3、节点排序模块4和节点输出模块5,其中:
预处理模块1用于对网络攻击数据中的连续型数据离散化;
模型框架模块2用于预先构建两层贝叶斯网络模型框架;其中第一层模型框架对攻击大类进行分类,所述攻击大类包含有多种子攻击类型,第二层模型框架对所述第一层模型框架中的每一个攻击大类进行细分类;
网络结构模块3用于利用贝叶斯网络结构学习法在所述第一层模型框架和第二层模型框架分别利用对网络攻击数据进行预处理后的数据构建贝叶斯网络结构;
节点排序模块4用于分别对第一层模型框架和第二层模型框架中的贝叶斯网络结构中重要节点的马尔科夫边界节点重要程度进行排序,所述重要节点是指贝叶斯网络中用来指示当前攻击类型的节点;
节点输出模块5用于取马尔科夫边界节点重要程度排序在前的节点作为关键的观察节点,输出所述观察节点。
所述网络结构模块3还用于对预处理后的网络攻击数据进行学习,所述结构学习方法是基于评分搜索的算法;
所述网络结构模块3还包括:变量子模块31、获取子模块32,其中:
变量子模块31用于将网络攻击数据集中的每条记录的属性作为贝叶斯网络中的变量;
获取子模块32用于调用R语言中的bnlearn扩展包中的tabu函数进行贝叶斯结构学习,获取贝叶斯网络结构。
所述节点排序模块4中的一个重要节点X的马尔科夫边界节点包括其父节点、子节点以及子节点的父节点,表达公式如下:
mb(X)=π(X)∪ch(X)∪(∪Y∈ch(X)π(Y))
其中,π(X)代表节点X的所有父节点,ch(X)代表节点X的子节点,∪Y∈ch(X)π(Y)代表所有子节点的父节点,mb(X)表示变量X的马尔科夫边界节点。
所述节点排序模块包括:数量子模块41、指标值子模块42、判断子模块43、排序子模块44,其中:
数量子模块41用于预设得到的两层模型中的全部贝叶斯网络数量为Nbn;
指标值子模块42用于对于每个贝叶斯网络BNi(i=1,2,…,Nbn)计算每个马尔科夫边界节点指标值,获取最大JSD指标值;
判断子模块43用于在当前有BN剩余时,返回指标值子模块反馈;用于在当前没有BN剩余时,进入排序子模块44;
所述排序子模块44用于对每个马尔科夫边界节点的最大JSD指标值进行排序,形成一个排序序列。
所述指标值子模块42包括:边界单元421、后验概率单元422、JSD值单元423、JSD指标值单元424,其中:
边界单元421用于设重要节点Xt的马尔科夫边界为mb(Xt)={X1,…,Xi,…,XM},i=1,2,…,M,M表示重要节点Xt的马尔科夫边界节点数量,节点Xi有ri个可能的取值;
后验概率单元422用于改变重要节点Xt的马尔科夫边界中一个节点Xi的观测值,采用联结树算法计算重要节点Xt在马尔科夫边界节点Xi的取值为e时的后验概率分布P(Xt|Xi=e),一个马尔科夫边界节点Xi可以计算得到重要节点Xt的ri个后验概率分布;
JSD值单元423用于计算JSD值;
其中P1、P2表示重要节点Xt在马尔科夫边界节点Xi值变化时的任意两个后验概率分布值,依次计算每两个后验概率分布值的JSD值,则对于重要节点Xt的马尔科夫边界节点Xi,共有个组合,相应计算出个JSD值
KL代表KL(Kullback-Leibler divergence)散度,其计算公式为:
p和q为两个后验概率分布,p(xi)、q(xi)代表相应后验概率分布中取值为xi时对应的概率值;
JSD指标值单元424用于获得重要节点Xt的所有马尔科夫边界节点Xi的JSD值后,计算最大JSD指标值:
其中,JSDmax(Xi)表示马尔科夫边界节点Xi的最大JSD值,JSDj表示马尔科夫边界节点Xi的第j个JSD值。
本实施例推断***的具体实现过程参照上述推断方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种基于两层贝叶斯网络模型的网络安全推断方法,其特征在于,包括以下步骤:
步骤1,对网络攻击数据中的连续型数据离散化;
步骤2,预先构建两层贝叶斯网络模型框架;其中第一层模型框架对攻击大类进行分类,所述攻击大类包含有多种子攻击类型,第二层模型框架对所述第一层模型框架中的每一个攻击大类进行细分类;
步骤3,利用贝叶斯网络结构学习在所述第一层模型框架和第二层模型框架分别利用对网络攻击数据进行预处理后的数据构建贝叶斯网络结构;
步骤4,分别对第一层模型框架和第二层模型框架中的贝叶斯网络结构中重要节点的马尔科夫边界节点重要程度进行排序,所述重要节点是指贝叶斯网络中用来指示当前攻击类型的节点;
步骤5,取马尔科夫边界节点重要程度排序在前的节点作为关键的观察节点,输出所述观察节点。
2.根据权利要求1所述的基于两层贝叶斯网络模型的网络安全推断方法,其特征在于:所述步骤3中贝叶斯网络结构学习是对预处理后的网络攻击数据进行学习,所述结构学习方法是基于评分搜索的算法;
所述步骤3包括以下步骤:
步骤31,将网络攻击数据集中的每条记录的属性作为贝叶斯网络中的变量;
步骤32,调用R语言中的bnlearn扩展包中的tabu函数进行贝叶斯结构学习获取贝叶斯网络的结构。
3.根据权利要求1所述的基于两层贝叶斯网络模型的网络安全推断方法,其特征在于:所述步骤4中一个重要节点X的马尔科夫边界节点包括其父节点、子节点以及子节点的父节点,表达公式如下:
mb(X)=π(X)∪ch(X)∪(∪Y∈ch(X)π(Y))
其中,π(X)代表节点X的所有父节点,ch(X)代表节点X的子节点,∪Y∈ch(x)π(Y)代表所有子节点的父节点,mb(X)表示变量X的马尔科夫边界节点。
4.根据权利要求3所述的基于两层贝叶斯网络模型的网络安全推断方法,其特征在于:所述步骤4中马尔科夫边界节点重要程度的排序步骤包括:
步骤41,设得到的两层模型框架中的全部贝叶斯网络数量为Nbn,对于每个贝叶斯网络BNi(i=1,2,…,Nbn)进行下一个步骤;
步骤42,计算每个马尔科夫边界节点指标值,获取最大JSD(Max Jensen–Shannondivergence,最大杰森-香农散度)指标值;
步骤43,判断当前是否有BN剩余:若有,返回步骤42;若没有,进行下一步骤;
步骤44,对每个马尔科夫边界节点的最大JSD指标值进行排序,形成一个排序序列。
5.根据权利要求4所述的基于两层贝叶斯网络模型的网络安全推断方法,其特征在于:步骤42中最大JSD指标值的计算步骤为:
步骤421,设重要节点Xt的马尔科夫边界为mb(Xt)={X1,…,Xi,…,XM},i=1,2,…,M,M表示重要节点Xt的马尔科夫边界节点数量,节点Xi有ri个可能的取值;
步骤422,改变重要节点Xt的马尔科夫边界中一个节点Xi的观测值,采用联结树算法(junction tree algorithm)计算重要节点Xt在马尔科夫边界节点Xi的取值为e时的后验概率分布P(Xt|Xi=e),一个马尔科夫边界节点Xi可以计算得到重要节点Xt的ri个后验概率分布;
步骤423,计算JSD值:
其中P1、P2表示重要节点Xt在马尔科夫边界节点Xi值变化时的任意两个后验概率分布值,依次计算每两个后验概率分布值的JSD值,则对于重要节点Xt的马尔科夫边界节点Xi,共有个组合,相应计算出个JSD值
其中,KL代表KL(Kullback-Leibler divergence)散度,其计算公式为:
p和q为两个后验概率分布,p(xi)、q(xi)代表相应后验概率分布中取值为xi时对应的概率值;
步骤424,获得重要节点Xt的所有马尔科夫边界节点Xi的JSD值后,计算最大JSD指标值:
JSDmax(Xi)表示马尔科夫边界节点Xi的最大JSD值,JSDj表示马尔科夫边界节点Xi的第j个JSD值。
6.一种基于两层贝叶斯网络模型的网络安全推断***,其特征在于,包括:
预处理模块,用于对网络攻击数据中的连续型数据离散化;
模型框架模块,用于预先构建两层贝叶斯网络模型框架;其中第一层模型框架对攻击大类进行分类,所述攻击大类包含有多种子攻击类型,第二层模型框架对所述第一层模型框架中的每一个攻击大类进行细分类;
网络结构模块,用于利用贝叶斯网络结构学习法在所述第一层模型框架和第二层模型框架分别利用对网络攻击数据进行预处理后的数据构建贝叶斯网络结构;
节点排序模块,用于分别对第一层模型框架和第二层模型框架中的贝叶斯网络结构中重要节点的马尔科夫边界节点重要程度进行排序,所述重要节点是指贝叶斯网络中用来指示当前攻击类型的节点;
节点输出模块,用于取马尔科夫边界节点重要程度排序在前的节点作为关键的观察节点,输出所述观察节点。
7.根据权利要求6所述的基于两层贝叶斯网络模型的网络安全推断***,其特征在于,所述网络结构模块还用于对预处理后的网络攻击数据进行学习,所述结构学习方法是基于评分搜索的算法;
所述网络结构模块还包括:
变量子模块,用于将网络攻击数据集中的每条记录的属性作为贝叶斯网络中的变量;
获取子模块,用于调用R语言中的bnlearn扩展包中的tabu函数进行贝叶斯结构学习,获取贝叶斯网络结构。
8.根据权利要求6所述的基于两层贝叶斯网络模型的网络安全推断***,其特征在于,所述节点排序模块中的一个重要节点X的马尔科夫边界节点包括其父节点、子节点以及子节点的父节点,表达公式如下:
mb(X)=π(X)∪ch(X)∪(∪Y∈ch(X)π(Y))
其中,π(X)代表节点X的所有父节点,ch(X)代表节点X的子节点,∪Y∈ch(X)π(Y)代表所有子节点的父节点,mb(X)表示变量X的马尔科夫边界节点。
9.根据权利要求8所述的基于两层贝叶斯网络模型的网络安全推断***,其特征在于,所述节点排序模块包括:
数量子模块,用于预设得到的两层模型中的全部贝叶斯网络数量为Nbn;
指标值子模块,用于对于每个贝叶斯网络BNi(i=1,2,…,Nbn)计算每个马尔科夫边界节点指标值,获取最大JSD指标值;
判断子模块,用于在当前有BN剩余时,返回指标值子模块反馈;用于在当前没有BN剩余时,进入排序子模块;
所述排序子模块,用于对每个马尔科夫边界节点的最大JSD指标值进行排序,形成一个排序序列。
10.根据权利要求9所述的基于两层贝叶斯网络模型的网络安全推断***,其特征在于,所述指标值子模块包括:
边界单元,用于设重要节点Xt的马尔科夫边界为mb(Xt)={X1,…,Xi,…,XM},i=1,2,…,M,M表示重要节点Xt的马尔科夫边界节点数量,节点Xi有ri个可能的取值;
后验概率单元,用于改变重要节点Xt的马尔科夫边界中一个节点Xi的观测值,采用联结树算法计算重要节点Xt在马尔科夫边界节点Xi的取值为e时的后验概率分布P(Xt|Xi=e),一个马尔科夫边界节点Xi可以计算得到重要节点Xt的ri个后验概率分布;
JSD值单元,用于计算JSD值;
其中P1、P2表示重要节点Xt在马尔科夫边界节点Xi值变化时的任意两个后验概率分布值,依次计算每两个后验概率分布值的JSD值,则对于重要节点Xt的马尔科夫边界节点Xi,共有个组合,相应计算出个JSD值
KL代表KL(Kullback-Leibler divergence)散度,其计算公式为:
p和q为两个后验概率分布,p(xi)、q(xi)代表相应后验概率分布中取值为xi时对应的概率值;
JSD指标值单元,用于获得重要节点Xt的所有马尔科夫边界节点Xi的JSD值后,计算最大JSD指标值:
其中,JSDmax(Xi)表示马尔科夫边界节点Xi的最大JSD值,JSDj表示马尔科夫边界节点Xi的第j个JSD值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810370982.1A CN108540329B (zh) | 2018-04-24 | 2018-04-24 | 基于两层贝叶斯网络模型的网络安全推断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810370982.1A CN108540329B (zh) | 2018-04-24 | 2018-04-24 | 基于两层贝叶斯网络模型的网络安全推断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108540329A true CN108540329A (zh) | 2018-09-14 |
CN108540329B CN108540329B (zh) | 2020-12-25 |
Family
ID=63479291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810370982.1A Active CN108540329B (zh) | 2018-04-24 | 2018-04-24 | 基于两层贝叶斯网络模型的网络安全推断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108540329B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525437A (zh) * | 2018-12-19 | 2019-03-26 | 国电南瑞科技股份有限公司 | 配电网通信节点恢复方法和*** |
CN109714329A (zh) * | 2018-12-24 | 2019-05-03 | 成都蜀道易信科技有限公司 | 一种云环境下基于贝叶斯网络的低速率DDoS检测方法 |
CN109857857A (zh) * | 2019-01-17 | 2019-06-07 | 中国人民解放军国防科技大学 | 一种用户阅读兴趣主题漂移的检测方法 |
CN112073126A (zh) * | 2020-08-14 | 2020-12-11 | 合肥本源量子计算科技有限责任公司 | 一种网络节点重要性的排序方法及装置 |
CN112118272A (zh) * | 2020-11-18 | 2020-12-22 | 中国人民解放军国防科技大学 | 基于仿真实验设计的网络攻防推演平台 |
CN113536678A (zh) * | 2021-07-19 | 2021-10-22 | 中国人民解放军国防科技大学 | 基于贝叶斯网络及stride模型的xss风险分析方法及装置 |
CN113852515A (zh) * | 2021-08-26 | 2021-12-28 | 西安电子科技大学广州研究院 | 一种数字孪生网络的节点状态管控方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136809A (zh) * | 2007-09-27 | 2008-03-05 | 南京大学 | 基于条件互信息的双层半懒惰贝叶斯的网络入侵分类方法 |
CN102201065A (zh) * | 2011-05-16 | 2011-09-28 | 天津大学 | 基于轨迹分析的监控视频异常事件检测方法 |
CN103488886A (zh) * | 2013-09-13 | 2014-01-01 | 清华大学 | 基于模糊动态贝叶斯网络的态势威胁评估方法 |
CN105426970A (zh) * | 2015-11-17 | 2016-03-23 | 武汉理工大学 | 一种基于离散动态贝叶斯网络的气象威胁评估方法 |
CN106341414A (zh) * | 2016-09-30 | 2017-01-18 | 重庆邮电大学 | 一种基于贝叶斯网络的多步攻击安全态势评估方法 |
CN107274011A (zh) * | 2017-06-05 | 2017-10-20 | 上海电力学院 | 综合马尔科夫模型和概率网络的设备状态识别方法 |
-
2018
- 2018-04-24 CN CN201810370982.1A patent/CN108540329B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136809A (zh) * | 2007-09-27 | 2008-03-05 | 南京大学 | 基于条件互信息的双层半懒惰贝叶斯的网络入侵分类方法 |
CN102201065A (zh) * | 2011-05-16 | 2011-09-28 | 天津大学 | 基于轨迹分析的监控视频异常事件检测方法 |
CN103488886A (zh) * | 2013-09-13 | 2014-01-01 | 清华大学 | 基于模糊动态贝叶斯网络的态势威胁评估方法 |
CN105426970A (zh) * | 2015-11-17 | 2016-03-23 | 武汉理工大学 | 一种基于离散动态贝叶斯网络的气象威胁评估方法 |
CN106341414A (zh) * | 2016-09-30 | 2017-01-18 | 重庆邮电大学 | 一种基于贝叶斯网络的多步攻击安全态势评估方法 |
CN107274011A (zh) * | 2017-06-05 | 2017-10-20 | 上海电力学院 | 综合马尔科夫模型和概率网络的设备状态识别方法 |
Non-Patent Citations (3)
Title |
---|
P.C. WANG等: "A framework for key element evaluation of combat system", 《IEEE INTERNATIONAL CONFERENCE ON SYSTEMS》 * |
Y. HUO等: "Three-layer Bayesian model based spectrum sensing to detect malicious attacks in cognitive radio networks", 《2015 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATION WORKSHOP (ICCW)》 * |
YUN ZHOU等: "Cyber Security Inference Based on a Two-Level Bayesian Network Framework", 《2018 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525437A (zh) * | 2018-12-19 | 2019-03-26 | 国电南瑞科技股份有限公司 | 配电网通信节点恢复方法和*** |
CN109525437B (zh) * | 2018-12-19 | 2021-09-28 | 国电南瑞科技股份有限公司 | 配电网通信节点恢复方法和*** |
CN109714329A (zh) * | 2018-12-24 | 2019-05-03 | 成都蜀道易信科技有限公司 | 一种云环境下基于贝叶斯网络的低速率DDoS检测方法 |
CN109857857A (zh) * | 2019-01-17 | 2019-06-07 | 中国人民解放军国防科技大学 | 一种用户阅读兴趣主题漂移的检测方法 |
CN109857857B (zh) * | 2019-01-17 | 2020-11-20 | 中国人民解放军国防科技大学 | 一种用户阅读兴趣主题漂移的检测方法 |
CN112073126A (zh) * | 2020-08-14 | 2020-12-11 | 合肥本源量子计算科技有限责任公司 | 一种网络节点重要性的排序方法及装置 |
CN112118272A (zh) * | 2020-11-18 | 2020-12-22 | 中国人民解放军国防科技大学 | 基于仿真实验设计的网络攻防推演平台 |
CN113536678A (zh) * | 2021-07-19 | 2021-10-22 | 中国人民解放军国防科技大学 | 基于贝叶斯网络及stride模型的xss风险分析方法及装置 |
CN113536678B (zh) * | 2021-07-19 | 2022-04-19 | 中国人民解放军国防科技大学 | 基于贝叶斯网络及stride模型的xss风险分析方法及装置 |
US12013951B2 (en) | 2021-07-19 | 2024-06-18 | National University Of Defense Technology | Cross-site scripting (XSS) risk analysis method and apparatus based on bayesian network and stride model |
CN113852515A (zh) * | 2021-08-26 | 2021-12-28 | 西安电子科技大学广州研究院 | 一种数字孪生网络的节点状态管控方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108540329B (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108540329A (zh) | 基于两层贝叶斯网络模型的网络安全推断方法 | |
CN110380896B (zh) | 基于攻击图的网络安全态势感知***和方法 | |
CN103581186B (zh) | 一种网络安全态势感知方法及*** | |
Khan et al. | A privacy-conserving framework based intrusion detection method for detecting and recognizing malicious behaviours in cyber-physical power networks | |
CN102098180B (zh) | 一种网络安全态势感知方法 | |
CN111629006B (zh) | 融合深度神经网络和层级注意力机制的恶意流量更新方法 | |
CN107992746A (zh) | 恶意行为挖掘方法及装置 | |
CN108900541A (zh) | 一种针对云数据中心sdn安全态势感知***及方法 | |
CN105550714A (zh) | 一种异构网络环境中告警信息的聚类融合方法 | |
CN106899435A (zh) | 一种面向无线入侵检测***的复杂攻击识别技术 | |
CN111669385B (zh) | 融合深度神经网络和层级注意力机制的恶意流量监测*** | |
CN111669384A (zh) | 融合深度神经网络和层级注意力机制的恶意流量检测方法 | |
CN108632266A (zh) | 一种配电通信网络安全态势感知方法 | |
Elitzur et al. | Attack hypothesis generation | |
CN112087442A (zh) | 基于注意力机制的时序相关网络入侵检测方法 | |
CN108418835A (zh) | 一种基于Netflow日志数据的端口扫描攻击检测方法及装置 | |
WO2019200739A1 (zh) | 数据欺诈识别方法、装置、计算机设备和存储介质 | |
CN106254318A (zh) | 一种网络攻击分析方法 | |
CN112580902A (zh) | 对象数据处理方法、装置、计算机设备和存储介质 | |
Petersen | Data mining for network intrusion detection: A comparison of data mining algorithms and an analysis of relevant features for detecting cyber-attacks | |
Panda et al. | Ensembling rule based classifiers for detecting network intrusions | |
Xu | Research on network intrusion detection method based on machine learning | |
López-Vizcaíno et al. | Measuring Early Detection of Anomalies | |
Jingyi et al. | ELM network intrusion detection model based on SLPP feature extraction | |
Jazzar et al. | Using fuzzy cognitive maps to reduce false alerts in som-based intrusion detection sensors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |