一种自治域内自管理的BGP异常检测方法转让专利
申请号 : CN202011588909.5
文献号 : CN112737885B
文献日 : 2022-05-03
发明人 : 李清 , 董宇韬 , 夏树涛 , 江勇 , 杨镕玮
申请人 : 鹏城实验室 , 清华大学深圳国际研究生院 , 南方科技大学
摘要 :
权利要求 :
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异常检测方法的步骤。
说明书 :
一种自治域内自管理的BGP异常检测方法
技术领域
背景技术
客所利用,从而实现各种各样的劫持。
置后需要将消息第一时间内告知第三方的异常检测系统,第二,从异常检测系统中获得异
常发生的消息往往存在很大的延迟,第三,现有的第三方异常检测系统并未实现全面的异
常检测,如果要达到全面的异常检测,需要与多个第三方异常检测系统达成一致。
发明内容
标自治域产生的异常种类;
述根据所述更新报文获取目标自治域的目标特征,包括:
的自治域的数量加一;
获取目标自治域的目标特征,包括:
距离信息;所述根据所述更新报文获取所述目标自治域的目标特征,包括:
刻的路径,所述第二路径为所述目标自治域与所述目标对等体在第二时刻的路径,所述第
一时刻为所述第二时刻的前一时刻;
域发布的可达信息通告数量。
常信息,包括:
述计算机可读存储介质中的指令,以执行实现上述任一项所述的自治域内自管理的BGP异
常检测方法的步骤。
述任一项所述的自治域内自管理的BGP异常检测方法的步骤。
络在预设时间段内的更新报文,根据更新报文获取目标自治域的目标特征作为异常检测模
型的输入,输出目标自治域在预设时间段内的异常信息,能够实现在目标自治域内进行异
常检测,不需要依赖第三方异常检测系统。
附图说明
具体实施方式
限定本发明。
终端可以但不限于是各种计算机、手机、平板电脑、车载电脑等。
异常信息。
自治域的数量和新增子前缀数量、目标自治域到目标自治域的对等体的路径长度信息、目
标自治域在预设时间段的各个时刻到目标自治域的对等体的路径编辑距离信息、目标自治
域发布的可达信息通过数量以及目标自治域存在前缀冲突的自治域发布的可达信息通道
数量、BGP网络中的撤回通道数量中的至少一种。下面对目标特征中可以包括的每种特征进
行详细说明。
有的IP地址段有多个自治域的冲突,因此,多个(子)前缀起源冲突(sub‑MOAS)是用于检测
是否发生劫持的最好的办法。
网络中存在与目标自治域存在前缀冲突的自治域,将与目标自治域存在前缀冲突的自治域
数量加一,而对于每个更新报文,都检测子前缀,计算量很大,但是在网络中存在defcon攻
击,即利用真实的路由,通过宣告目标自治域的子前缀实现中间人的攻击,因此,在本实施
例中,收集新宣告的目标自治域的子前缀(即目标自治域的新增子前缀)数量,具体地,当更
新报文中的起源号与目标自治域的AS号相同且更新报文中的前缀是目标自治域的新增子
前缀时,将BGP网络中新增子前缀数量加一,具体地,父子前缀有两个条件:ip子前缀掩码长
度肯定是比ip父前缀要长,同时在父前缀掩码的长度下前缀是相同的,例如:255.255.0.0/
24就是255.255.255.0/16的子前缀,而24和16则分别是他们两个的掩码,二者转换成二进
制如下。
的可达信息通告时,可以根据更新报文中的路径获取目标自治域到目标自治域的对等体的
路径长度。
等体的路径长度,在本实施例中,可以进一步对目标自治域到目标自治域的多个对等体的
路径长度数据进行处理,得到路径长度信息,例如,获取到目标自治域的路径长度在某个预
设范围内的对等体数量、某一时刻到目标自治域的路径长度相对于上一时刻的变化值在某
个预设范围内的对等体数量、到目标自治域的路径长度的平均值等。
目标自治域与目标对等体在第二时刻的路径,第一时刻为第二时刻的前一时刻;
的路径与上一时刻目标自治域的对等体到目标自治域的路径之间的编辑距离,目标自治域
在第一时刻和第二时刻到目标对等体的路径之间的编辑距离,可以反映目标自治域和目标
对等体之间的路径变化程度。当发生AS‑PATH路径劫持而发生路径更改后,受劫持影响的自
治域会发生大量的路由变化,因此,目标自治域在每个时刻到对等体的路径编辑距离可以
用于目标自治域是否发生AS‑PATH路径劫持。
公式进行适应性的更改,更改后算法公式如下:
由发生了改变;d(i‑1,j)+1则表示l2序列增加了一个路由在j处;d(i,j‑1)+1则表示l2序列
在j处少了一个路由。
离为减少了n个路由的对等体的个数,所有对等体到目标自治域的路径距离平均增加值、平
均减少值等。
路径,并且宣告新的可达信息,以此构建新的网络拓扑结构,所以可以利用可达信息宣告数
量和撤回数量来描述网络中路由的波动性。在本实施例中,进一步的将NLIR宣告按照是否
为目标自治域发布这一特征细分为,由目标自治域发布的宣告(own_Ann_num),由与目标自
治域存在前缀冲突的自治域发布的宣告(MOAS_Ann_num)。具体实现代码可以如下所示:
标自治域的通告范围,特征6用于刻画路径劫持攻击等。
种类。
标特征以及样本自治域的异常信息。
测模型来检测当前目标自治域是否发生异常。
常事件,并提供了详细的事件分析,如图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系统的检测方法是:在某一时刻,出现一条新的路由路径,但该路径的宣告
是单向的,由于一般网络中路由方向是双向的,故该路径可能是被伪造的。
自治域的目标特征的方法得到样本自治域的目标特征,将每个样本自治域的目标特征与该
样本自治域的异常信息进行对应,得到用于训练异常检测模型的一组训练数据。如图6所
示,在训练阶段,通过交叉熵损失对异常检测模型的参数进行优化,实现对异常检测模型的
训练。
序列内部的关系,如图6所示,LSTM中,Xt表示第t时刻特征集合作为输入,C是Cell细胞信
息,而Ht部分是t时刻单元的输出的隐状态,而σ表示神经网络层并采用了sigmoid激活函
数,tanh表示采用了tanh激活函数,而x+表示点运算(pointwise operation)。
标自治域在预设时间段内的目标特征集,目标自治域在目标时刻对应的目标特征,可以是
根据预设时间段的开始时刻与目标时刻之间的更新报文获取的,也可以是根据目标时刻与
目标时刻的上一时刻之间的更新报文获取的。
而其中的Cell状态,是贯穿整个预设时间段的,通过逻辑判断,将新输入的时刻的特征信息
选择性地加入到Cell状态中,并将旧时刻特征信息选择性的去除,从而实现捕获整个预设
时间段的长久信息。
输入到自注意力中来从全局的视角挖掘重新分配重要性,然后将这些重分配后的表征信息
输入到全连接层和softmax层,最后得出异常可能发生的概率,即输出目标自治域的异常信
息。从上面的说明不难看出,本发明中的异常检测模型,能够在无需人工干预下,找到异常
类别的时序模式,同时还会关注不同一行类别在特征上的侧重点。
治域的目标特征作为异常检测模型的输入,输出目标自治域在预设时间段内的异常信息,
能够实现在目标自治域内进行异常检测,不需要依赖第三方异常检测系统。
确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而
且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段
并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执
行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少
一部分轮流或者交替地执行。
可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的
流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任
何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
求实施所有示出的组件,可以替代的实施更多或者更少的组件。
端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure
Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端
的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件
及各类数据。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实
施例中,存储器20上存储有自治域内自管理的BGP异常检测程序30,该自治域内自管理的
BGP异常检测程序30可被处理器10所执行,从而实现本发明中的自治域内自管理的BGP异常
检测方法。
行实施例一中所述的自治域内自管理的BGP异常检测方法等。
域内自管理的BGP异常检测方法的步骤。
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。