CN112737885B - 一种自治域内自管理的bgp异常检测方法 - Google Patents
一种自治域内自管理的bgp异常检测方法 Download PDFInfo
- Publication number
- CN112737885B CN112737885B CN202011588909.5A CN202011588909A CN112737885B CN 112737885 B CN112737885 B CN 112737885B CN 202011588909 A CN202011588909 A CN 202011588909A CN 112737885 B CN112737885 B CN 112737885B
- Authority
- CN
- China
- Prior art keywords
- autonomous domain
- target
- prefix
- target autonomous
- path
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 95
- 238000012549 training Methods 0.000 claims abstract description 17
- 230000002159 abnormal effect Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 16
- 230000005856 abnormality Effects 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims 1
- 230000015654 memory Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- NTMYVTSWQJFCPA-UHFFFAOYSA-N (2-tert-butylpyrimidin-5-yl)oxy-ethoxy-propan-2-yloxy-sulfanylidene-$l^{5}-phosphane;[cyano-(4-fluoro-3-phenoxyphenyl)methyl] 3-(2,2-dichloroethenyl)-2,2-dimethylcyclopropane-1-carboxylate Chemical compound CCOP(=S)(OC(C)C)OC1=CN=C(C(C)(C)C)N=C1.CC1(C)C(C=C(Cl)Cl)C1C(=O)OC(C#N)C1=CC=C(F)C(OC=2C=CC=CC=2)=C1 NTMYVTSWQJFCPA-UHFFFAOYSA-N 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000002864 sequence alignment Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种自治域内自管理的BGP异常检测方法,方法包括:获取BGP网络在预设时间段内的更新报文,根据所述更新报文获取目标自治域的目标特征;将所述目标自治域的目标特征输入至已训练的异常检测模型中,获取所述异常检测模型输出的所述目标自治域在所述预设时间段内的异常信息,所述异常信息包括所述目标自治域产生的异常种类;其中,所述异常检测模型是由多组训练数据训练完成的,每组训练数据包括样本自治域的目标特征以及所述样本自治域的异常信息。本发明能够实现在目标自治域内进行异常检测,不需要依赖第三方异常检测系统。
Description
技术领域
本发明涉及BGP网络技术领域,特别涉及一种自治域内自管理的BGP异常检测方法。
背景技术
边界网关协议(the Border Gateway Protocol,BGP)协议自身缺乏路由身份验证特点,使得网络更容易受到由于配置错误而引起的大规模路由泄露问题,同时还容易被黑客所利用,从而实现各种各样的劫持。
现有的网络维护人员大部分使用的是异常检测系统来查看自己的自治域(AS)是否发生异常,但由于异常检测系统属于第三方,存在多个问题:第一,每次本地更改网络配置后需要将消息第一时间内告知第三方的异常检测系统,第二,从异常检测系统中获得异常发生的消息往往存在很大的延迟,第三,现有的第三方异常检测系统并未实现全面的异常检测,如果要达到全面的异常检测,需要与多个第三方异常检测系统达成一致。
因此,现有技术还有待改进和提高。
发明内容
针对现有技术的上述缺陷中的至少一个缺陷,本发明提供一种自治域内自管理的BGP异常检测方法,旨在解决现有技术中依赖第三方异常检测系统进行异常检测的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
本发明的第一方面,提供一种自治域内自管理的BGP异常检测方法,所述方法包括:
获取BGP网络在预设时间段内的更新报文,根据所述更新报文获取目标自治域的目标特征;
将所述目标自治域的目标特征输入至已训练的异常检测模型中,获取所述异常检测模型输出的所述目标自治域在所述预设时间段内的异常信息,所述异常信息包括所述目标自治域产生的异常种类;
其中,所述异常检测模型是由多组训练数据训练完成的,每组训练数据包括样本自治域的目标特征以及所述样本自治域的异常信息。
所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述BGP网络中与所述目标自治域存在前缀冲突的自治域的数量和新增子前缀数量;所述根据所述更新报文获取目标自治域的目标特征,包括:
对于每条所述更新报文,获取所述更新报文中的前缀、起源号;
当所述更新报文中的起源号与所述目标自治域的AS号不同且所述更新报文中的前缀与所述目标自治域的前缀一致时,将所述BGP网络中与所述目标自治域存在前缀冲突的自治域的数量加一;
当所述更新报文中的起源号与所述目标自治域的AS号相同且所述更新报文中的前缀是所述目标自治域的新增子前缀时,将所述BGP网络中新增子前缀数量加一。
所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述目标自治域到所述目标自治域的对等体的路径长度信息;所述根据所述更新报文获取目标自治域的目标特征,包括:
当所述更新报文是起源为所述目标自治域的可达信息通告时,根据所述更新报文中的路径获取所述目标自治域到所述目标自治域的对等体的路径长度;
根据所述目标自治域到所述目标自治域的各个对等体的路径长度获取所述路径长度信息。
所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述目标自治域在所述预设时间段的各个时刻到所述目标自治域的对等体的路径编辑距离信息;所述根据所述更新报文获取所述目标自治域的目标特征,包括:
根据起源为所述目标自治域的可达信息通告获取所述目标自治域与目标对等体之间的第一路径和第二路径,所述第一路径为所述目标自治域与所述目标对等体在第一时刻的路径,所述第二路径为所述目标自治域与所述目标对等体在第二时刻的路径,所述第一时刻为所述第二时刻的前一时刻;
根据所述第一路径和所述第二路径获取所述目标自治域与所述目标对等体在所述第一时刻的路径编辑距离;
根据所述目标自治域与所述目标自治域的各个对等体在所述第一时刻的路径编辑距离获取所述目标自治域在所述第一时刻的路径编辑距离信息。
所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述目标自治域发布的可达信息通告数量以及与所述目标自治域存在前缀冲突的自治域发布的可达信息通告数量。
所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述BGP网络中的撤回通告数量。
所述的自治域内自管理的BGP异常检测方法,其中,所述异常检测模型中包括LSTM神经网络。
所述的自治域内自管理的BGP异常检测方法,其中,所述将所述目标自治域的目标特征输入至已训练的异常检测模型中,获取所述异常检测模型输出的所述目标自治域的异常信息,包括:
将所述目标自治域在所述预设时间段内的各个时刻对应的所述目标特征输入至所述异常检测模型中;
获取所述异常检测模型输出的所述目标自治域在所述预设时间段内的异常信息。
本发明的第二方面,提供一种终端,所述终端包括处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述任一项所述的自治域内自管理的BGP异常检测方法的步骤。
本发明的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的自治域内自管理的BGP异常检测方法的步骤。
与现有技术相比,本发明提供了一种自治域内自管理的BGP异常检测方法、终端及计算机可读存储介质,本发明提供的方法中,预先训练完成异常检测模型,通过获取BGP网络在预设时间段内的更新报文,根据更新报文获取目标自治域的目标特征作为异常检测模型的输入,输出目标自治域在预设时间段内的异常信息,能够实现在目标自治域内进行异常检测,不需要依赖第三方异常检测系统。
附图说明
图1为本发明提供的自治域内自管理的BGP异常检测方法的实施例的流程图;
图2为本发明提供的自治域内自管理的BGP异常检测方法的实施例中异常检测模型的训练以及使用过程图;
图3为BGPStream系统事件记录示意图;
图4为BGPStream系统事件详细分析示意图;
图5为Bgp Observatory系统事件记录示意图;
图6为本发明提供的自治域内自管理的BGP异常检测方法的实施例中异常检测模型的框架示意图;
图7为本发明提供的终端的实施例的原理示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
本发明提供的自治域内自管理的BGP异常检测方法,可以是应用在终端中,终端可以通过本发明提供的自治域内自管理的BGP异常检测方法对目标自治域的异常进行检测。终端可以但不限于是各种计算机、手机、平板电脑、车载电脑等。
如图1所示,所述自治域内自管理的BGP异常检测方法的一个实施例中,包括步骤:
S100、获取BGP网络在预设时间段内的更新报文,根据更新报文获取目标自治域的目标特征。
预设时间段可以为当前时刻前预设时长,预设时间段可以为滑动时间窗口,即,在本实施例中,实时地根据滑动时间窗口内的更新报文确定该滑动时间窗口内目标自治域的异常信息。
目标自治域的目标特征是反映了网络中与目标自治域相关的变动的信息,具体地,在本实施例中,目标自治域的目标特征包括:BGP网络中与目标自治域存在前缀冲突的自治域的数量和新增子前缀数量、目标自治域到目标自治域的对等体的路径长度信息、目标自治域在预设时间段的各个时刻到目标自治域的对等体的路径编辑距离信息、目标自治域发布的可达信息通过数量以及目标自治域存在前缀冲突的自治域发布的可达信息通道数量、BGP网络中的撤回通道数量中的至少一种。下面对目标特征中可以包括的每种特征进行详细说明。
若目标自治域的目标特征包括BGP网络中与目标自治域存在前缀冲突的自治域的数量和新增子前缀数量,根据更新报文获取目标自治域的目标特征包括:
对于每条更新报文,获取更新报文中的前缀、起源号;
当更新报文中的起源号与目标自治域的AS号不同且更新报文中的前缀与目标自治域的前缀一致时,将BGP网络中与目标自治域存在前缀冲突的自治域的数量加一;
当更新报文中的起源号与目标自治域的AS号相同且更新报文中的前缀是目标自治域的新增子前缀时,将BGP网络中新增子前缀数量加一。
具体地,前缀是IP地址前缀,当发生前缀劫持或子前缀劫持时,劫持者冒充目标自治域宣告其拥有这个前缀的IP地址段,通告后,明显地,在网络中可以观察到目标自治域拥有的IP地址段有多个自治域的冲突,因此,多个(子)前缀起源冲突(sub-MOAS)是用于检测是否发生劫持的最好的办法。
更新报文中的起源号是宣告拥有报文中的前缀的自治域的AS号,当更新报文中的起源号与目标自治域的AS号不同但更新报文中的前缀与目标自治域的前缀一致,说明BGP网络中存在与目标自治域存在前缀冲突的自治域,将与目标自治域存在前缀冲突的自治域数量加一,而对于每个更新报文,都检测子前缀,计算量很大,但是在网络中存在defcon攻击,即利用真实的路由,通过宣告目标自治域的子前缀实现中间人的攻击,因此,在本实施例中,收集新宣告的目标自治域的子前缀(即目标自治域的新增子前缀)数量,具体地,当更新报文中的起源号与目标自治域的AS号相同且更新报文中的前缀是目标自治域的新增子前缀时,将BGP网络中新增子前缀数量加一,具体地,父子前缀有两个条件:ip子前缀掩码长度肯定是比ip父前缀要长,同时在父前缀掩码的长度下前缀是相同的,例如:255.255.0.0/24就是255.255.255.0/16的子前缀,而24和16则分别是他们两个的掩码,二者转换成二进制如下。
255.255.0.0/16:11111111 11111111 00000000 00000000(下划线表示掩码的长度长16)
255.255.0.0/24:11111111 11111111 11111111 00000000
判断更新报文中的前缀是否是目标自治域的新增子前缀,可以通过如下步骤实现:
S001、判断待判断前缀的掩码长度是否大于目标自治域的前缀的掩码长度,若是,则进行步骤S002,若否,则确定待判断前缀不是目标自治域的子前缀;
S002、判断待判断前缀的掩码是否可以整除8,若是,则进行步骤S003,若否,则进行步骤S004;
S003、比较目标自治域的前缀的掩码长度下待判断前缀和目标自治域的掩码是否相同,若相同,则待判断前缀是目标自治域的子前缀;
S004、将待判断前缀和目标自治域的掩码转换成二进制,再转换到目标自治域的前缀的掩码长度下,比较二者是否相同,若相同,则待判断前缀是目标值域的子前缀。
具体代码可以如下所示:
获取BGP网络中与目标自治域存在前缀冲突的自治域的数量和新增子前缀数量的代码可以如下所示:
若目标自治域的目标特征包括目标自治域到目标自治域的对等体的路径长度信息,那么根据更新报文获取目标自治域的目标特征包括:
当更新报文是起源为目标自治域的可达信息通告时,根据更新报文中的路径获取目标自治域到目标自治域的对等体的路径长度;
根据目标自治域到目标自治域的各个对等体的路径长度获取路径长度信息。
对等体(peer)即BGP邻居,具体地,更新报文可以包括可达信息通告和撤回通告,可达信息通告表示可以通过报文中的路径进行信息传递,当更新报文是起源为目标自治域的可达信息通告时,可以根据更新报文中的路径获取目标自治域到目标自治域的对等体的路径长度。
不难看出,根据一条更新报文可以获取目标自治域到目标自治域的至少一个对等体的路径长度,根据预设时间段内的更新报文可以获取目标自治域到目标自治域的多个对等体的路径长度,在本实施例中,可以进一步对目标自治域到目标自治域的多个对等体的路径长度数据进行处理,得到路径长度信息,例如,获取到目标自治域的路径长度在某个预设范围内的对等体数量、某一时刻到目标自治域的路径长度相对于上一时刻的变化值在某个预设范围内的对等体数量、到目标自治域的路径长度的平均值等。
若目标自治域的目标特征包括目标自治域在预设时间段的各个时刻到目标自治域的对等体的路径编辑距离信息,那么根据更新报文获取目标自治域的目标特征包括:
根据起源为目标自治域的可达信息通告获取目标自治域与目标对等体之间的第一路径和第二路径,第一路径为目标自治域与目标对等体在第一时刻的路径,第二路径为目标自治域与目标对等体在第二时刻的路径,第一时刻为第二时刻的前一时刻;
根据第一路径和第二路径获取目标自治域与目标对等体在第一时刻的路径编辑距离;
根据目标自治域与目标自治域的各个对等体在第一时刻的路径编辑距离获取目标自治域在第一时刻的路径编辑距离信息。
在预设时间段内有多个时刻,可以设置相邻两个时刻之间的时间间隔为预设值,例如1s、1min等。在预设时间段内的各个时刻,可以获取目标自治域的对等体到目标自治域的路径与上一时刻目标自治域的对等体到目标自治域的路径之间的编辑距离,目标自治域在第一时刻和第二时刻到目标对等体的路径之间的编辑距离,可以反映目标自治域和目标对等体之间的路径变化程度。当发生AS-PATH路径劫持而发生路径更改后,受劫持影响的自治域会发生大量的路由变化,因此,目标自治域在每个时刻到对等体的路径编辑距离可以用于目标自治域是否发生AS-PATH路径劫持。
具体地,求解两条路径的编辑距离可以利用生物信息学求解两条蛋白质的全序列比对公式,全序列比对公式是利用动态规划实现的,全序列动态对比算法如下:
其中d为惩罚值,表示两条路径不同时候的惩罚值,而相同的时候有则有奖励值s。
由于只获取编辑距离,而不确定路径长度时增加还是减少,是很难刻画出是劫持事件发生还是网络工程的迁移,为了记录路径编辑距离的变化,对全序列动态对比算法的公式进行适应性的更改,更改后算法公式如下:
其中d(i,j)表示序列l1前i路由与序列l2前j路由至少有多少次改变,当i=j时,即d(i,j)显然与前d(i-1,j-1)相等。而不相等的话,d(i-1,j-1)+1则表示考虑两个第i,j个路由发生了改变;d(i-1,j)+1则表示l2序列增加了一个路由在j处;d(i,j-1)+1则表示l2序列在j处少了一个路由。
在获取目标自治域到各个对等体在各个时刻的路径编辑距离后,可以进一步地对路径编辑距离数据进行处理,得到路径编辑距离信息,例如获取所有编辑距离的平均值、距离为减少了n个路由的对等体的个数,所有对等体到目标自治域的路径距离平均增加值、平均减少值等。
实现获取目标自治域在预设时间段的各个时刻到目标自治域的对等体的路径编辑距离代码可以如下所示:
获取路径l1,l2之间的编辑距离的代码可以如下所示:
所述目标自治域的目标特征还可以包括目标自治域发布的可达信息通过数量以及与目标自治域存在前缀冲突的自治域发布的可达信息数量、撤回通告数量。
具体地,撤回(withdrawal)通告数量和可达信息(NLIR)通告数量是刻画事件发生不可缺的特征,当路径发生改变时,往往会先宣告撤回路径通告,以此撤回某个AS-PATH的路径,并且宣告新的可达信息,以此构建新的网络拓扑结构,所以可以利用可达信息宣告数量和撤回数量来描述网络中路由的波动性。在本实施例中,进一步的将NLIR宣告按照是否为目标自治域发布这一特征细分为,由目标自治域发布的宣告(own_Ann_num),由与目标自治域存在前缀冲突的自治域发布的宣告(MOAS_Ann_num)。具体实现代码可以如下所示:
从前面的说明不难看出,目标自治域的目标特征可以包括多位,表1示出了目标自治域的目标特征的一种可能形式:
表1
如表1所示,特征的1-4位可以为目标自治域的前缀特征,特征1-3位用于刻画前缀劫持,特征4用于刻画defcon类的攻击,特征5-6位为对等体数量相关的特征,特征5描述目标自治域的通告范围,特征6用于刻画路径劫持攻击等。
请再次参阅图1,本实施例提供的自治域内自管理的BGP异常检测方法还包括步骤:
S200、将目标自治域的目标特征输入至已训练的异常检测模型中,获取异常检测模型输出的目标自治域在预设时间段内的异常信息,异常信息包括目标自治域产生的异常种类。
异常种类包括正常、前缀劫持、路由泄露、路由中断、遭受中间人攻击等,异常检测模型是神经网络模型,是由多组训练数据训练完成的,每组训练数据包括样本自治域的目标特征以及样本自治域的异常信息。
具体地,如图2所示,预先收集BGP网络中产生的历史异常事件来构建用于训练异常检测模型的训练数据,异常检测模型训练完成之后,可以由终端调用训练完成的异常检测模型来检测当前目标自治域是否发生异常。
异常检测模型的训练数据可以通过第三方BGP异常检测系统如BGPStream、bgpObservatory等获取,BGPStream网站提供了前缀劫持、路由泄露、路由中断等类别的异常事件,并提供了详细的事件分析,如图3所示,BGPStream提供了事件类型,发生的国家,以及涉及到的AS号和事件的启示事件和详细信息等,在详细分析中,BGPStream会告知异常的检测方式以及在哪个收集器上检测到的,如图4所示,该异常事件被检测为前缀劫持的原因是,在2020-03-28 18:54:55UTC时间,平时由ASN 259311DNET BRASIL LTDA通告的前缀45.184.45.0/24首次被ASN 262453通告,并被收集器BGPMon 5检测到。如图5所示,bgpObservatory系统额外提供了Fake-route、defcon的路径劫持事件,并提供了事件的可疑程度,图5中为Fake-route事件,在该系统中称为路径修改时间,可以看到bgpObservatory系统的检测方法是:在某一时刻,出现一条新的路由路径,但该路径的宣告是单向的,由于一般网络中路由方向是双向的,故该路径可能是被伪造的。
具体地,可以通过网络爬虫技术在第三方异常检测系统中收集异常事件列表,每个异常事件包括表2的信息,其中*号表示必须采集到的信息。
表2
根据异常事件列表,将异常时间中的受害者自治域作为样本自治域,获取BGP网络中异常时间发生时段内的原始更新报文数据,根据原始更新报文数据采用前述的获取目标自治域的目标特征的方法得到样本自治域的目标特征,将每个样本自治域的目标特征与该样本自治域的异常信息进行对应,得到用于训练异常检测模型的一组训练数据。如图6所示,在训练阶段,通过交叉熵损失对异常检测模型的参数进行优化,实现对异常检测模型的训练。
为了进一步地提升异常检测准确性,在本实施例中,异常检测模型中包括LSTM(Long Short-Term Memory,长短期记忆)神经网络,LSTM神经网络基于自注意力机制挖掘序列内部的关系,如图6所示,LSTM中,Xt表示第t时刻特征集合作为输入,C是Cell细胞信息,而Ht部分是t时刻单元的输出的隐状态,而σ表示神经网络层并采用了sigmoid激活函数,tanh表示采用了tanh激活函数,而x+表示点运算(pointwise operation)。
步骤S200:将目标自治域的目标特征输入至已训练的异常检测模型中,获取异常检测模型输出的目标自治域在预设时间段内的异常信息,包括:
将目标自治域在预设时间段内的各个时刻对应的目标特征输入至异常检测模型中;
获取异常检测模型输出的目标自治域在预设时间段内的异常信息。
目标自治域在预设时间段内的各个时刻都可以根据前述的方法得到相应的特征集,即每隔预设时长获取一次目标特征,预设时长为相邻两个时刻之间的时间间隔,得到目标自治域在预设时间段内的目标特征集,目标自治域在目标时刻对应的目标特征,可以是根据预设时间段的开始时刻与目标时刻之间的更新报文获取的,也可以是根据目标时刻与目标时刻的上一时刻之间的更新报文获取的。
将目标自治域在预设时间段内的各个时刻对应的目标特征输入至LSTM神经网络后,能够将每个时刻提取的信息传到下一个时刻上,并在最后一个时刻上识别异常的发生,而其中的Cell状态,是贯穿整个预设时间段的,通过逻辑判断,将新输入的时刻的特征信息选择性地加入到Cell状态中,并将旧时刻特征信息选择性的去除,从而实现捕获整个预设时间段的长久信息。
如图6所示,将目标自治域在预设时间段内的各个时刻对应的目标特征输入至异常检测模型中后,LSTM模型输出一串包含整个预设时间段的表征信息,再将这些表征信息输入到自注意力中来从全局的视角挖掘重新分配重要性,然后将这些重分配后的表征信息输入到全连接层和softmax层,最后得出异常可能发生的概率,即输出目标自治域的异常信息。从上面的说明不难看出,本发明中的异常检测模型,能够在无需人工干预下,找到异常类别的时序模式,同时还会关注不同一行类别在特征上的侧重点。
在异常检测模型训练完成后,可以轻量级地部署在各个自治域内部,从而实现自治域自身通过采集更新报文并提取特征输入至异常检测模型的方式进行异常检测。
综上所述,本实施例提供了一种自治域内自管理的BGP异常检测方法,预先训练完成异常检测模型,通过获取BGP网络在预设时间段内的更新报文,根据更新报文获取目标自治域的目标特征作为异常检测模型的输入,输出目标自治域在预设时间段内的异常信息,能够实现在目标自治域内进行异常检测,不需要依赖第三方异常检测系统。
应该理解的是,虽然本发明说明书附图中给出的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
实施例二
基于上述实施例,本发明还相应提供了一种终端,如图7所示,所述终端包括处理器10以及存储器20。可以理解的是,图7仅示出了终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件及各类数据。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有自治域内自管理的BGP异常检测程序30,该自治域内自管理的BGP异常检测程序30可被处理器10所执行,从而实现本发明中的自治域内自管理的BGP异常检测方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行实施例一中所述的自治域内自管理的BGP异常检测方法等。
实施例三
本发明还提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的自治域内自管理的BGP异常检测方法的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种自治域内自管理的BGP异常检测方法,其特征在于,所述方法包括:
获取BGP网络在预设时间段内的更新报文,根据所述更新报文获取目标自治域的目标特征;
将所述目标自治域的目标特征输入至已训练的异常检测模型中,获取所述异常检测模型输出的所述目标自治域在所述预设时间段内的异常信息,所述异常信息包括所述目标自治域产生的异常种类;
其中,所述异常检测模型是由多组训练数据训练完成的,每组训练数据包括样本自治域的目标特征以及所述样本自治域的异常信息;
预设时间段为当前时刻前预设时长,且为滑动时间窗口,实时地根据滑动时间窗口内的更新报文确定该滑动时间窗口内目标自治域的异常信息;所述目标自治域的目标特征包括:所述BGP网络中与所述目标自治域存在前缀冲突的自治域的数量和新增子前缀数量;所述根据所述更新报文获取目标自治域的目标特征,包括:
对于每条所述更新报文,获取所述更新报文中的前缀、起源号,其中,前缀是IP地址前缀,更新报文中的起源号是宣告拥有报文中的前缀的自治域的AS号;
当所述更新报文中的起源号与所述目标自治域的AS号不同且所述更新报文中的前缀与所述目标自治域的前缀一致时,将所述BGP网络中与所述目标自治域存在前缀冲突的自治域的数量加一;
当所述更新报文中的起源号与所述目标自治域的AS号相同且所述更新报文中的前缀是所述目标自治域的新增子前缀时,将所述BGP网络中新增子前缀数量加一,其中,判断更新报文中的前缀是否是目标自治域的新增子前缀的方法为:
判断待判断前缀的掩码长度是否大于所述目标自治域的前缀的掩码长度,若所述待判断前缀的掩码长度大于所述目标自治域的前缀的掩码长度,则判断所述待判断前缀的掩码是否为8的整数倍,若所述待判断前缀的掩码是8的整数倍,则比较所述目标自治域的前缀的掩码长度下所述待判断前缀和所述目标自治域的掩码是否相同,若相同,则待判断前缀是所述目标自治域的新增子前缀;若所述待判断前缀的掩码不是8的整数倍,则将待判断前缀和所述目标自治域的掩码转换成二进制,再转换到所述目标自治域的前缀的掩码长度下,比较二者是否相同,若相同,则待判断前缀是所述目标自治域的新增子前缀;
所述目标自治域的目标特征包括:所述目标自治域在所述预设时间段的各个时刻到所述目标自治域的对等体的路径编辑距离信息;所述根据所述更新报文获取所述目标自治域的目标特征,包括:
根据起源为所述目标自治域的可达信息通告获取所述目标自治域与目标对等体之间的第一路径和第二路径,所述第一路径为所述目标自治域与所述目标对等体在第一时刻的路径,所述第二路径为所述目标自治域与所述目标对等体在第二时刻的路径,所述第一时刻为所述第二时刻的前一时刻;
根据所述第一路径和所述第二路径获取所述目标自治域与所述目标对等体在所述第一时刻的路径编辑距离;
根据所述目标自治域与所述目标自治域的各个对等体在所述第一时刻的路径编辑距离获取所述目标自治域在所述第一时刻的路径编辑距离信息;
所述路径编辑距离信息包括所有编辑距离的平均值、距离为减少了n个路由的对等体的个数,所有对等体到所述目标自治域的路径距离平均增加值、平均减少值。
2.根据权利要求1所述的自治域内自管理的BGP异常检测方法,其特征在于,所述目标自治域的目标特征包括:所述目标自治域到所述目标自治域的对等体的路径长度信息;所述根据所述更新报文获取目标自治域的目标特征,包括:
当所述更新报文是起源为所述目标自治域的可达信息通告时,根据所述更新报文中的路径获取所述目标自治域到所述目标自治域的对等体的路径长度;
根据所述目标自治域到所述目标自治域的各个对等体的路径长度获取所述路径长度信息。
3.根据权利要求1所述的自治域内自管理的BGP异常检测方法,其特征在于,所述目标自治域的目标特征包括:所述目标自治域发布的可达信息通告数量以及与所述目标自治域存在前缀冲突的自治域发布的可达信息通告数量。
4.根据权利要求1所述的自治域内自管理的BGP异常检测方法,其特征在于,所述目标自治域的目标特征包括:所述BGP网络中的撤回通告数量。
5.根据权利要求1所述的自治域内自管理的BGP异常检测方法,其特征在于,所述异常检测模型中包括基于自注意力机制的LSTM神经网络。
6.根据权利要求5所述的自治域内自管理的BGP异常检测方法,其特征在于,所述将所述目标自治域的目标特征输入至已训练的异常检测模型中,获取所述异常检测模型输出的所述目标自治域的异常信息,包括:
将所述目标自治域在所述预设时间段内的各个时刻对应的所述目标特征输入至所述异常检测模型中;
获取所述异常检测模型输出的所述目标自治域在所述预设时间段内的异常信息。
7.一种终端,其特征在于,所述终端包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令,所述处理器适于调用所述存储介质中的指令,以执行实现上述权利要求1-6任一项所述的自治域内自管理的BGP异常检测方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-6任一项所述的自治域内自管理的BGP异常检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011588909.5A CN112737885B (zh) | 2020-12-28 | 2020-12-28 | 一种自治域内自管理的bgp异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011588909.5A CN112737885B (zh) | 2020-12-28 | 2020-12-28 | 一种自治域内自管理的bgp异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112737885A CN112737885A (zh) | 2021-04-30 |
CN112737885B true CN112737885B (zh) | 2022-05-03 |
Family
ID=75607348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011588909.5A Active CN112737885B (zh) | 2020-12-28 | 2020-12-28 | 一种自治域内自管理的bgp异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112737885B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143085B (zh) * | 2021-11-30 | 2023-08-01 | 中国人民解放军国防科技大学 | 一种基于自编码器的bgp团体属性异常检测方法及系统 |
CN114528946B (zh) * | 2021-12-16 | 2022-10-04 | 浙江省新型互联网交换中心有限责任公司 | 一种自治域系统同胞关系识别方法 |
CN115460110B (zh) * | 2022-11-11 | 2023-04-18 | 清华大学 | 基于链路预测的异常as_path检测方法及装置 |
CN116016252B (zh) * | 2022-12-21 | 2024-08-02 | 天翼安全科技有限公司 | 一种网关协议的检测方法及装置 |
CN118631722A (zh) * | 2024-08-12 | 2024-09-10 | 中国电信股份有限公司 | 跨自治域通告方法、自治系统边界路由器、系统及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471824A (zh) * | 2007-12-29 | 2009-07-01 | 中国科学院计算技术研究所 | 一种边界网关协议网络的异常监测系统及方法 |
CN107846402A (zh) * | 2017-10-30 | 2018-03-27 | 北京邮电大学 | 一种bgp稳定性异常检测方法、装置及电子设备 |
CN109040143A (zh) * | 2018-10-18 | 2018-12-18 | 中国联合网络通信集团有限公司 | 一种bgp异常事件的检测方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137033B2 (en) * | 2003-03-18 | 2015-09-15 | Dynamic Network Services, Inc. | Methods and systems for monitoring network routing |
US8699357B2 (en) * | 2006-11-30 | 2014-04-15 | Alcatel Lucent | Methods and apparatus for instability detection in inter-domain routing |
CN111309539A (zh) * | 2020-03-26 | 2020-06-19 | 北京奇艺世纪科技有限公司 | 一种异常监测方法、装置和电子设备 |
-
2020
- 2020-12-28 CN CN202011588909.5A patent/CN112737885B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471824A (zh) * | 2007-12-29 | 2009-07-01 | 中国科学院计算技术研究所 | 一种边界网关协议网络的异常监测系统及方法 |
CN107846402A (zh) * | 2017-10-30 | 2018-03-27 | 北京邮电大学 | 一种bgp稳定性异常检测方法、装置及电子设备 |
CN109040143A (zh) * | 2018-10-18 | 2018-12-18 | 中国联合网络通信集团有限公司 | 一种bgp异常事件的检测方法和装置 |
Non-Patent Citations (3)
Title |
---|
基于机器学习的BGP异常事件检测与实现;陆岳昆;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20181115;第二章至第五章 * |
小范围BGP路由异常特征分析;陆岳昆等;《中国教育网络》;20171105(第11期);全文 * |
边界网关协议安全研究综述;王娜等;《计算机学报》;20170715(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112737885A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112737885B (zh) | 一种自治域内自管理的bgp异常检测方法 | |
CN112019575B (zh) | 数据包处理方法、装置、计算机设备以及存储介质 | |
US20170180418A1 (en) | Accurate real-time identification of malicious bgp hijacks | |
EP3917115A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
JP2021515498A (ja) | 完全性監視及びネットワーク侵入検出のための属性ベースのポリシー | |
CN110768946A (zh) | 一种基于布隆过滤器的工控网络入侵检测系统及方法 | |
CN108920435B (zh) | 一种可视化程序页面数据节点匹配方法 | |
JP6711452B2 (ja) | 抽出装置、抽出方法、及びプログラム | |
Dong et al. | Integration of edge computing and blockchain for provision of data fusion and secure big data analysis for Internet of Things | |
CN113449150A (zh) | 一种数字货币的特征资金流向分析方法、系统及电子设备 | |
CN110049049B (zh) | 一种dns区数据校验的方法和装置 | |
CN117061254A (zh) | 异常流量检测方法、装置和计算机设备 | |
CN114143085B (zh) | 一种基于自编码器的bgp团体属性异常检测方法及系统 | |
CN116208416A (zh) | 一种工业互联网的攻击链路挖掘方法及系统 | |
CN114372689B (zh) | 一种基于动态规划的路网运行特征变点识别方法 | |
CN113098837B (zh) | 工业防火墙状态检测方法、装置、电子设备及存储介质 | |
CN111884926B (zh) | 一种基于区块链的域间路由安全扩展方法及系统 | |
CN114553580B (zh) | 基于规则泛化和攻击重构网络攻击检测方法及装置 | |
CN110166295B (zh) | 一种用于判断网络拓扑支持拜占庭容错与否的方法 | |
CN115460110B (zh) | 基于链路预测的异常as_path检测方法及装置 | |
CN111404827A (zh) | 一种数据包处理方法、装置及电子设备和存储介质 | |
KR102674440B1 (ko) | 지능형 화이트리스트를 이용한 이상행위 탐지 방법 및 장치 | |
CN114285722B (zh) | 一种分布式存储集群节点通信告警方法、装置、设备及介质 | |
CN116015785B (zh) | 信息安全防护方法及电子设备、存储介质 | |
CN114244572B (zh) | 一种基于零拷贝报文收集系统的物联网安全网关方法 |
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 |