一种自治域内自管理的BGP异常检测方法转让专利

申请号 : CN202011588909.5

文献号 : CN112737885B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李清董宇韬夏树涛江勇杨镕玮

申请人 : 鹏城实验室清华大学深圳国际研究生院南方科技大学

摘要 :

本发明公开了一种自治域内自管理的BGP异常检测方法,方法包括:获取BGP网络在预设时间段内的更新报文,根据所述更新报文获取目标自治域的目标特征;将所述目标自治域的目标特征输入至已训练的异常检测模型中,获取所述异常检测模型输出的所述目标自治域在所述预设时间段内的异常信息,所述异常信息包括所述目标自治域产生的异常种类;其中,所述异常检测模型是由多组训练数据训练完成的,每组训练数据包括样本自治域的目标特征以及所述样本自治域的异常信息。本发明能够实现在目标自治域内进行异常检测,不需要依赖第三方异常检测系统。

权利要求 :

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异常检测方法

技术领域

[0001] 本发明涉及BGP网络技术领域,特别涉及一种自治域内自管理的BGP异常检测方法。

背景技术

[0002] 边界网关协议(the Border Gateway Protocol,BGP)协议自身缺乏路由身份验证特点,使得网络更容易受到由于配置错误而引起的大规模路由泄露问题,同时还容易被黑
客所利用,从而实现各种各样的劫持。
[0003] 现有的网络维护人员大部分使用的是异常检测系统来查看自己的自治域(AS)是否发生异常,但由于异常检测系统属于第三方,存在多个问题:第一,每次本地更改网络配
置后需要将消息第一时间内告知第三方的异常检测系统,第二,从异常检测系统中获得异
常发生的消息往往存在很大的延迟,第三,现有的第三方异常检测系统并未实现全面的异
常检测,如果要达到全面的异常检测,需要与多个第三方异常检测系统达成一致。
[0004] 因此,现有技术还有待改进和提高。

发明内容

[0005] 针对现有技术的上述缺陷中的至少一个缺陷,本发明提供一种自治域内自管理的BGP异常检测方法,旨在解决现有技术中依赖第三方异常检测系统进行异常检测的问题。
[0006] 为了解决上述技术问题,本发明所采用的技术方案如下:
[0007] 本发明的第一方面,提供一种自治域内自管理的BGP异常检测方法,所述方法包括:
[0008] 获取BGP网络在预设时间段内的更新报文,根据所述更新报文获取目标自治域的目标特征;
[0009] 将所述目标自治域的目标特征输入至已训练的异常检测模型中,获取所述异常检测模型输出的所述目标自治域在所述预设时间段内的异常信息,所述异常信息包括所述目
标自治域产生的异常种类;
[0010] 其中,所述异常检测模型是由多组训练数据训练完成的,每组训练数据包括样本自治域的目标特征以及所述样本自治域的异常信息。
[0011] 所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述BGP网络中与所述目标自治域存在前缀冲突的自治域的数量和新增子前缀数量;所
述根据所述更新报文获取目标自治域的目标特征,包括:
[0012] 对于每条所述更新报文,获取所述更新报文中的前缀、起源号;
[0013] 当所述更新报文中的起源号与所述目标自治域的AS号不同且所述更新报文中的前缀与所述目标自治域的前缀一致时,将所述BGP网络中与所述目标自治域存在前缀冲突
的自治域的数量加一;
[0014] 当所述更新报文中的起源号与所述目标自治域的AS号相同且所述更新报文中的前缀是所述目标自治域的新增子前缀时,将所述BGP网络中新增子前缀数量加一。
[0015] 所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述目标自治域到所述目标自治域的对等体的路径长度信息;所述根据所述更新报文
获取目标自治域的目标特征,包括:
[0016] 当所述更新报文是起源为所述目标自治域的可达信息通告时,根据所述更新报文中的路径获取所述目标自治域到所述目标自治域的对等体的路径长度;
[0017] 根据所述目标自治域到所述目标自治域的各个对等体的路径长度获取所述路径长度信息。
[0018] 所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述目标自治域在所述预设时间段的各个时刻到所述目标自治域的对等体的路径编辑
距离信息;所述根据所述更新报文获取所述目标自治域的目标特征,包括:
[0019] 根据起源为所述目标自治域的可达信息通告获取所述目标自治域与目标对等体之间的第一路径和第二路径,所述第一路径为所述目标自治域与所述目标对等体在第一时
刻的路径,所述第二路径为所述目标自治域与所述目标对等体在第二时刻的路径,所述第
一时刻为所述第二时刻的前一时刻;
[0020] 根据所述第一路径和所述第二路径获取所述目标自治域与所述目标对等体在所述第一时刻的路径编辑距离;
[0021] 根据所述目标自治域与所述目标自治域的各个对等体在所述第一时刻的路径编辑距离获取所述目标自治域在所述第一时刻的路径编辑距离信息。
[0022] 所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述目标自治域发布的可达信息通告数量以及与所述目标自治域存在前缀冲突的自治
域发布的可达信息通告数量。
[0023] 所述的自治域内自管理的BGP异常检测方法,其中,所述目标自治域的目标特征包括:所述BGP网络中的撤回通告数量。
[0024] 所述的自治域内自管理的BGP异常检测方法,其中,所述异常检测模型中包括LSTM神经网络。
[0025] 所述的自治域内自管理的BGP异常检测方法,其中,所述将所述目标自治域的目标特征输入至已训练的异常检测模型中,获取所述异常检测模型输出的所述目标自治域的异
常信息,包括:
[0026] 将所述目标自治域在所述预设时间段内的各个时刻对应的所述目标特征输入至所述异常检测模型中;
[0027] 获取所述异常检测模型输出的所述目标自治域在所述预设时间段内的异常信息。
[0028] 本发明的第二方面,提供一种终端,所述终端包括处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所
述计算机可读存储介质中的指令,以执行实现上述任一项所述的自治域内自管理的BGP异
常检测方法的步骤。
[0029] 本发明的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上
述任一项所述的自治域内自管理的BGP异常检测方法的步骤。
[0030] 与现有技术相比,本发明提供了一种自治域内自管理的BGP异常检测方法、终端及计算机可读存储介质,本发明提供的方法中,预先训练完成异常检测模型,通过获取BGP网
络在预设时间段内的更新报文,根据更新报文获取目标自治域的目标特征作为异常检测模
型的输入,输出目标自治域在预设时间段内的异常信息,能够实现在目标自治域内进行异
常检测,不需要依赖第三方异常检测系统。

附图说明

[0031] 图1为本发明提供的自治域内自管理的BGP异常检测方法的实施例的流程图;
[0032] 图2为本发明提供的自治域内自管理的BGP异常检测方法的实施例中异常检测模型的训练以及使用过程图;
[0033] 图3为BGPStream系统事件记录示意图;
[0034] 图4为BGPStream系统事件详细分析示意图;
[0035] 图5为Bgp Observatory系统事件记录示意图;
[0036] 图6为本发明提供的自治域内自管理的BGP异常检测方法的实施例中异常检测模型的框架示意图;
[0037] 图7为本发明提供的终端的实施例的原理示意图。

具体实施方式

[0038] 为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于
限定本发明。
[0039] 实施例一
[0040] 本发明提供的自治域内自管理的BGP异常检测方法,可以是应用在终端中,终端可以通过本发明提供的自治域内自管理的BGP异常检测方法对目标自治域的异常进行检测。
终端可以但不限于是各种计算机、手机、平板电脑、车载电脑等。
[0041] 如图1所示,所述自治域内自管理的BGP异常检测方法的一个实施例中,包括步骤:
[0042] S100、获取BGP网络在预设时间段内的更新报文,根据更新报文获取目标自治域的目标特征。
[0043] 预设时间段可以为当前时刻前预设时长,预设时间段可以为滑动时间窗口,即,在本实施例中,实时地根据滑动时间窗口内的更新报文确定该滑动时间窗口内目标自治域的
异常信息。
[0044] 目标自治域的目标特征是反映了网络中与目标自治域相关的变动的信息,具体地,在本实施例中,目标自治域的目标特征包括:BGP网络中与目标自治域存在前缀冲突的
自治域的数量和新增子前缀数量、目标自治域到目标自治域的对等体的路径长度信息、目
标自治域在预设时间段的各个时刻到目标自治域的对等体的路径编辑距离信息、目标自治
域发布的可达信息通过数量以及目标自治域存在前缀冲突的自治域发布的可达信息通道
数量、BGP网络中的撤回通道数量中的至少一种。下面对目标特征中可以包括的每种特征进
行详细说明。
[0045] 若目标自治域的目标特征包括BGP网络中与目标自治域存在前缀冲突的自治域的数量和新增子前缀数量,根据更新报文获取目标自治域的目标特征包括:
[0046] 对于每条更新报文,获取更新报文中的前缀、起源号;
[0047] 当更新报文中的起源号与目标自治域的AS号不同且更新报文中的前缀与目标自治域的前缀一致时,将BGP网络中与目标自治域存在前缀冲突的自治域的数量加一;
[0048] 当更新报文中的起源号与目标自治域的AS号相同且更新报文中的前缀是目标自治域的新增子前缀时,将BGP网络中新增子前缀数量加一。
[0049] 具体地,前缀是IP地址前缀,当发生前缀劫持或子前缀劫持时,劫持者冒充目标自治域宣告其拥有这个前缀的IP地址段,通告后,明显地,在网络中可以观察到目标自治域拥
有的IP地址段有多个自治域的冲突,因此,多个(子)前缀起源冲突(sub‑MOAS)是用于检测
是否发生劫持的最好的办法。
[0050] 更新报文中的起源号是宣告拥有报文中的前缀的自治域的AS号,当更新报文中的起源号与目标自治域的AS号不同但更新报文中的前缀与目标自治域的前缀一致,说明BGP
网络中存在与目标自治域存在前缀冲突的自治域,将与目标自治域存在前缀冲突的自治域
数量加一,而对于每个更新报文,都检测子前缀,计算量很大,但是在网络中存在defcon攻
击,即利用真实的路由,通过宣告目标自治域的子前缀实现中间人的攻击,因此,在本实施
例中,收集新宣告的目标自治域的子前缀(即目标自治域的新增子前缀)数量,具体地,当更
新报文中的起源号与目标自治域的AS号相同且更新报文中的前缀是目标自治域的新增子
前缀时,将BGP网络中新增子前缀数量加一,具体地,父子前缀有两个条件:ip子前缀掩码长
度肯定是比ip父前缀要长,同时在父前缀掩码的长度下前缀是相同的,例如:255.255.0.0/
24就是255.255.255.0/16的子前缀,而24和16则分别是他们两个的掩码,二者转换成二进
制如下。
[0051] 255.255.0.0/16:11111111 11111111 00000000 00000000(下划线表示掩码的长度长16)
[0052] 255.255.0.0/24:11111111 11111111 11111111 00000000
[0053] 判断更新报文中的前缀是否是目标自治域的新增子前缀,可以通过如下步骤实现:
[0054] S001、判断待判断前缀的掩码长度是否大于目标自治域的前缀的掩码长度,若是,则进行步骤S002,若否,则确定待判断前缀不是目标自治域的子前缀;
[0055] S002、判断待判断前缀的掩码是否可以整除8,若是,则进行步骤S003,若否,则进行步骤S004;
[0056] S003、比较目标自治域的前缀的掩码长度下待判断前缀和目标自治域的掩码是否相同,若相同,则待判断前缀是目标自治域的子前缀;
[0057] S004、将待判断前缀和目标自治域的掩码转换成二进制,再转换到目标自治域的前缀的掩码长度下,比较二者是否相同,若相同,则待判断前缀是目标值域的子前缀。
[0058] 具体代码可以如下所示:
[0059]
[0060]
[0061] 获取BGP网络中与目标自治域存在前缀冲突的自治域的数量和新增子前缀数量的代码可以如下所示:
[0062]
[0063]
[0064] 若目标自治域的目标特征包括目标自治域到目标自治域的对等体的路径长度信息,那么根据更新报文获取目标自治域的目标特征包括:
[0065] 当更新报文是起源为目标自治域的可达信息通告时,根据更新报文中的路径获取目标自治域到目标自治域的对等体的路径长度;
[0066] 根据目标自治域到目标自治域的各个对等体的路径长度获取路径长度信息。
[0067] 对等体(peer)即BGP邻居,具体地,更新报文可以包括可达信息通告和撤回通告,可达信息通告表示可以通过报文中的路径进行信息传递,当更新报文是起源为目标自治域
的可达信息通告时,可以根据更新报文中的路径获取目标自治域到目标自治域的对等体的
路径长度。
[0068] 不难看出,根据一条更新报文可以获取目标自治域到目标自治域的至少一个对等体的路径长度,根据预设时间段内的更新报文可以获取目标自治域到目标自治域的多个对
等体的路径长度,在本实施例中,可以进一步对目标自治域到目标自治域的多个对等体的
路径长度数据进行处理,得到路径长度信息,例如,获取到目标自治域的路径长度在某个预
设范围内的对等体数量、某一时刻到目标自治域的路径长度相对于上一时刻的变化值在某
个预设范围内的对等体数量、到目标自治域的路径长度的平均值等。
[0069] 若目标自治域的目标特征包括目标自治域在预设时间段的各个时刻到目标自治域的对等体的路径编辑距离信息,那么根据更新报文获取目标自治域的目标特征包括:
[0070] 根据起源为目标自治域的可达信息通告获取目标自治域与目标对等体之间的第一路径和第二路径,第一路径为目标自治域与目标对等体在第一时刻的路径,第二路径为
目标自治域与目标对等体在第二时刻的路径,第一时刻为第二时刻的前一时刻;
[0071] 根据第一路径和第二路径获取目标自治域与目标对等体在第一时刻的路径编辑距离;
[0072] 根据目标自治域与目标自治域的各个对等体在第一时刻的路径编辑距离获取目标自治域在第一时刻的路径编辑距离信息。
[0073] 在预设时间段内有多个时刻,可以设置相邻两个时刻之间的时间间隔为预设值,例如1s、1min等。在预设时间段内的各个时刻,可以获取目标自治域的对等体到目标自治域
的路径与上一时刻目标自治域的对等体到目标自治域的路径之间的编辑距离,目标自治域
在第一时刻和第二时刻到目标对等体的路径之间的编辑距离,可以反映目标自治域和目标
对等体之间的路径变化程度。当发生AS‑PATH路径劫持而发生路径更改后,受劫持影响的自
治域会发生大量的路由变化,因此,目标自治域在每个时刻到对等体的路径编辑距离可以
用于目标自治域是否发生AS‑PATH路径劫持。
[0074] 具体地,求解两条路径的编辑距离可以利用生物信息学求解两条蛋白质的全序列比对公式,全序列比对公式是利用动态规划实现的,全序列动态对比算法如下:
[0075]
[0076] 其中d为惩罚值,表示两条路径不同时候的惩罚值,而相同的时候有则有奖励值s。
[0077] 由于只获取编辑距离,而不确定路径长度时增加还是减少,是很难刻画出是劫持事件发生还是网络工程的迁移,为了记录路径编辑距离的变化,对全序列动态对比算法的
公式进行适应性的更改,更改后算法公式如下:
[0078]
[0079] 其中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处少了一个路由。
[0080] 在获取目标自治域到各个对等体在各个时刻的路径编辑距离后,可以进一步地对路径编辑距离数据进行处理,得到路径编辑距离信息,例如获取所有编辑距离的平均值、距
离为减少了n个路由的对等体的个数,所有对等体到目标自治域的路径距离平均增加值、平
均减少值等。
[0081] 实现获取目标自治域在预设时间段的各个时刻到目标自治域的对等体的路径编辑距离代码可以如下所示:
[0082]
[0083]
[0084] 获取路径l1,l2之间的编辑距离的代码可以如下所示:
[0085]
[0086] 所述目标自治域的目标特征还可以包括目标自治域发布的可达信息通过数量以及与目标自治域存在前缀冲突的自治域发布的可达信息数量、撤回通告数量。
[0087] 具体地,撤回(withdrawal)通告数量和可达信息(NLIR)通告数量是刻画事件发生不可缺的特征,当路径发生改变时,往往会先宣告撤回路径通告,以此撤回某个AS‑PATH的
路径,并且宣告新的可达信息,以此构建新的网络拓扑结构,所以可以利用可达信息宣告数
量和撤回数量来描述网络中路由的波动性。在本实施例中,进一步的将NLIR宣告按照是否
为目标自治域发布这一特征细分为,由目标自治域发布的宣告(own_Ann_num),由与目标自
治域存在前缀冲突的自治域发布的宣告(MOAS_Ann_num)。具体实现代码可以如下所示:
[0088]
[0089] 从前面的说明不难看出,目标自治域的目标特征可以包括多位,表1示出了目标自治域的目标特征的一种可能形式:
[0090]
[0091]
[0092] 表1
[0093] 如表1所示,特征的1‑4位可以为目标自治域的前缀特征,特征1‑3位用于刻画前缀劫持,特征4用于刻画defcon类的攻击,特征5‑6位为对等体数量相关的特征,特征5描述目
标自治域的通告范围,特征6用于刻画路径劫持攻击等。
[0094] 请再次参阅图1,本实施例提供的自治域内自管理的BGP异常检测方法还包括步骤:
[0095] S200、将目标自治域的目标特征输入至已训练的异常检测模型中,获取异常检测模型输出的目标自治域在预设时间段内的异常信息,异常信息包括目标自治域产生的异常
种类。
[0096] 异常种类包括正常、前缀劫持、路由泄露、路由中断、遭受中间人攻击等,异常检测模型是神经网络模型,是由多组训练数据训练完成的,每组训练数据包括样本自治域的目
标特征以及样本自治域的异常信息。
[0097] 具体地,如图2所示,预先收集BGP网络中产生的历史异常事件来构建用于训练异常检测模型的训练数据,异常检测模型训练完成之后,可以由终端调用训练完成的异常检
测模型来检测当前目标自治域是否发生异常。
[0098] 异常检测模型的训练数据可以通过第三方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系统的检测方法是:在某一时刻,出现一条新的路由路径,但该路径的宣告
是单向的,由于一般网络中路由方向是双向的,故该路径可能是被伪造的。
[0099] 具体地,可以通过网络爬虫技术在第三方异常检测系统中收集异常事件列表,每个异常事件包括表2的信息,其中*号表示必须采集到的信息。
[0100]
[0101] 表2
[0102] 根据异常事件列表,将异常时间中的受害者自治域作为样本自治域,获取BGP网络中异常时间发生时段内的原始更新报文数据,根据原始更新报文数据采用前述的获取目标
自治域的目标特征的方法得到样本自治域的目标特征,将每个样本自治域的目标特征与该
样本自治域的异常信息进行对应,得到用于训练异常检测模型的一组训练数据。如图6所
示,在训练阶段,通过交叉熵损失对异常检测模型的参数进行优化,实现对异常检测模型的
训练。
[0103] 为了进一步地提升异常检测准确性,在本实施例中,异常检测模型中包括LSTM(Long Short‑Term Memory,长短期记忆)神经网络,LSTM神经网络基于自注意力机制挖掘
序列内部的关系,如图6所示,LSTM中,Xt表示第t时刻特征集合作为输入,C是Cell细胞信
息,而Ht部分是t时刻单元的输出的隐状态,而σ表示神经网络层并采用了sigmoid激活函
数,tanh表示采用了tanh激活函数,而x+表示点运算(pointwise operation)。
[0104] 步骤S200:将目标自治域的目标特征输入至已训练的异常检测模型中,获取异常检测模型输出的目标自治域在预设时间段内的异常信息,包括:
[0105] 将目标自治域在预设时间段内的各个时刻对应的目标特征输入至异常检测模型中;
[0106] 获取异常检测模型输出的目标自治域在预设时间段内的异常信息。
[0107] 目标自治域在预设时间段内的各个时刻都可以根据前述的方法得到相应的特征集,即每隔预设时长获取一次目标特征,预设时长为相邻两个时刻之间的时间间隔,得到目
标自治域在预设时间段内的目标特征集,目标自治域在目标时刻对应的目标特征,可以是
根据预设时间段的开始时刻与目标时刻之间的更新报文获取的,也可以是根据目标时刻与
目标时刻的上一时刻之间的更新报文获取的。
[0108] 将目标自治域在预设时间段内的各个时刻对应的目标特征输入至LSTM神经网络后,能够将每个时刻提取的信息传到下一个时刻上,并在最后一个时刻上识别异常的发生,
而其中的Cell状态,是贯穿整个预设时间段的,通过逻辑判断,将新输入的时刻的特征信息
选择性地加入到Cell状态中,并将旧时刻特征信息选择性的去除,从而实现捕获整个预设
时间段的长久信息。
[0109] 如图6所示,将目标自治域在预设时间段内的各个时刻对应的目标特征输入至异常检测模型中后,LSTM模型输出一串包含整个预设时间段的表征信息,再将这些表征信息
输入到自注意力中来从全局的视角挖掘重新分配重要性,然后将这些重分配后的表征信息
输入到全连接层和softmax层,最后得出异常可能发生的概率,即输出目标自治域的异常信
息。从上面的说明不难看出,本发明中的异常检测模型,能够在无需人工干预下,找到异常
类别的时序模式,同时还会关注不同一行类别在特征上的侧重点。
[0110] 在异常检测模型训练完成后,可以轻量级地部署在各个自治域内部,从而实现自治域自身通过采集更新报文并提取特征输入至异常检测模型的方式进行异常检测。
[0111] 综上所述,本实施例提供了一种自治域内自管理的BGP异常检测方法,预先训练完成异常检测模型,通过获取BGP网络在预设时间段内的更新报文,根据更新报文获取目标自
治域的目标特征作为异常检测模型的输入,输出目标自治域在预设时间段内的异常信息,
能够实现在目标自治域内进行异常检测,不需要依赖第三方异常检测系统。
[0112] 应该理解的是,虽然本发明说明书附图中给出的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明
确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而
且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段
并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执
行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少
一部分轮流或者交替地执行。
[0113] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机
可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的
流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任
何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
[0114] 实施例二
[0115] 基于上述实施例,本发明还相应提供了一种终端,如图7所示,所述终端包括处理器10以及存储器20。可以理解的是,图7仅示出了终端的部分组件,但是应理解的是,并不要
求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0116] 所述存储器20在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端的外部存储设备,例如所述终
端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure 
Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端
的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件
及各类数据。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实
施例中,存储器20上存储有自治域内自管理的BGP异常检测程序30,该自治域内自管理的
BGP异常检测程序30可被处理器10所执行,从而实现本发明中的自治域内自管理的BGP异常
检测方法。
[0117] 所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执
行实施例一中所述的自治域内自管理的BGP异常检测方法等。
[0118] 实施例三
[0119] 本发明还提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的自治
域内自管理的BGP异常检测方法的步骤。
[0120] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。