基于仿真的OSPF路由攻击与防御实验教学研究

2018-11-15 01:33刘悦胡曦明马苗李鹏
电脑知识与技术 2018年20期
关键词:网络通信网络安全实验教学

刘悦 胡曦明 马苗 李鹏

摘要:针对计算机网络协议OSPF的教学设计和课堂讲授通常仅涉及其通信功能的现状,提出围绕OSPF安全性开展理论和实践教学。在深入分析了OSPF安全机制的基础上,基于H3C Cloud Lab平臺,实现了OSPF路由攻击与防御的仿真实验,对网络通信和网络安全方向的专业课教学具有应用价值。

关键词: OSPF;网络通信;网络安全;攻击与防御;实验教学

中图分类号:TP393 文献标识码:A 文章编号:1009-3044 (2018)20-0156-04

Security Analysis and Prevention and Detection System of Routing Protocol OSPF

LIU Yue1, HU Xi-ming1,2*, MA Miao1,2, LI Peng1,2

(1.School of Computer Science, Shaanxi Normal University, Xian 710119, China; 2.Key Laboratory of Modern Teaching Technology, Ministry of Education, Xian 710119, China)

Abstract: The teaching design and classroom instruction for the computer network protocol OSPF usually only involve the status of its communication function, and put forward the teaching of theory and practice around the security of OSPF. Based on the in-depth analysis of the OSPF security mechanism, based on the H3C Cloud Lab platform, the simulation experiment of OSPF routing attack and defense is realized. It is valuable for the teaching of network communication and the teaching of network security.

Key words: OSPF routing protocol; network communication; network security; attack and defense; experimental teaching

作为在园区网中应用最为广泛的路由协议之一,内部网关协议(Interior Gateway Protocol,简称IGP)OSPF(Open Shortest Path First开放式最短路径优先)[1]已成为《计算机网络》《网络工程》和《路由与交换》等计算机类专业课程教学中的重点和难点。

当前,在课堂教学里OSPF的教学设计通常仅涉及其路由算法[2]、路由表管理等通信功能部分,但这并不代表OSPF不存在网络安全[3]的问题,在复杂的互联网环境中,不可避免地出现针对OSPF的攻击。如何在课程中开展关于OSPF安全性的理论和实验教学成为计算机类课程教学改革的突出问题。

1 OSPF安全机制

1.1 报文验证机制

OSPF为保证安全性,设计了三种类型的验证机制,分别是:(1)空验证,在路由的信息交换过程中不需要验证。(2)简单口令验证,即防止恶意路由随意地加入路由域,造成恶意攻击。(3)加密验证,即为接入同一个网络或子网的路由器配置一个公共密钥,这个网络的路由器发送的每一份OSPF报文都附带着含有密钥的信息摘要,当路由器接收到报文时,根据路由器上的公共密钥以及接收到报文信息生成一份信息摘要,并与之前接收的信息摘要比较,若结果一致,则接收报文,否则丢弃。

1.2 分层路由机制

将自治区域划分为许多个小区域,区域性地划分产生了两种不同类型的OSPF路由选择[4],分别是区域间路由选择和区域内路由选择[5]。本区域的拓扑结构对其他区域是屏蔽的,当域内路由的安全受到威胁时,对整个自治区域产生的危害是有限的。

1.3 可靠的扩散机制

OSPF协议拥有对错误链路信息的反击能力,若区域内注入了错误的路由信息,其他路由器会用错误的路由信息更新正确的信息,但是只要两个路由之间存在一条可靠路由信息,就能发回源路由,会由源路由重新扩散[6],更新其他错误路由信息。

2 OSPF的路由攻击方法

2.1 路由欺骗

针对OSPF协议的欺骗攻击[7],即冒充一台合法路由器与网络中的路由器建立邻接关系,并向攻击的路由器输入大量链路状态广播,引导路由器形成错误的网络拓扑,导致整个网络的路由表紊乱。

2.2 路由拒绝服务攻击

拒绝服务,即Dos(Denial of Service)[8]。造成Dos的攻击行为被称为拒绝服务攻击,其目的是使计算机网络无法提供正常的服务。对OSPF协议的拒绝服务攻击主要有以下四种:

(1)Max age 攻击

发送带有最大Max Age 设置的LSA信息报[9],这样,最开始的路由器通过产生刷新信息来发送这个LSA,而后就引起在Age 项中的突然改变值的竞争。通过持续突然插入最大值到信息包给整个路由器群网络,将会导致网络瘫痪。

(2)Sequence++攻击

LSA sequence number 栏是被用来判断旧的或者是否同样的LSA,比较大的序列号表示这个LSA越是接近的。通过持续插入大LSA sequence 序列号信息包,最开始的路由器就会产生发送自己更新的LSA序列号来超过攻击序列号[10]的竞争,这样就导致了网络不稳定。

(3)最大序列号攻击

当想超过最大序列号的时候,LSA就必须从路由domain(域)[11]中刷新,有ISN初始化序列号。通过插入最大的序列号OX7FFFFFFF并即将被初始化,导致最开始路由器的竞争。

(4)伪造LSA攻击

通过所有gated进程[12]停止并重新启动来清除伪造的不正确的LSA,导致发生拒绝服务。

3 OSPF安全性实验教学

3.1 实验流程

OSPF的正确运行是基于对邻居路由的信任,但是在现在复杂的网络环境中,不可避免地出现偶然的漏洞或者是有预谋的攻击。针对实验环境及常见攻击特点设计模拟攻击和防御的实验方案如图1所示。

常见的路由攻击分为路由欺骗,Max age攻击,Sequence++攻击,最大序列号攻击和伪造LSA攻击[13],本文对路由欺骗进行模拟实验通过更改cost值而成功进行欺骗。路由防御分为OSPFv2的防御机制和OSPFv3的防御机制,本文在OSPFv2攻击实验的基础上对OSPFv3防御进行仿真模拟。

3.2 攻击实验

3.2.1 实验环境

按照图1所示的实验流程,本文以路由攻击中常见的路由欺骗方法作为教学案例来讲解OSPF路由攻击的具体技术实现。

实验中仿真已经完成收敛的OSPF路由器R0和R1通过在交换机上接入一台运行相应程序的PC机 (通过quagga软件源使得Linux系统成为软路由[14]),使得将R0原本指向R1的GE 0/1 172.16.0.2的路由指向我们的攻击端,达到攻击的目的。

3.2.2 关键配置

(1)攻击方配置

Quagga是一个软路由软件使得Linux系统成为软路由。传统的H3c cloud lab不支持这种功能,因此本文引入软路由系统,软路由系统有MyRouter、My WIFI Router、quagga、软路由OS系统等等,其中quagga具有配置简单,开源的优点。

在Ubuntu系统安装quagga ,启动quagga,发现两个端口。

zebra(2601 )进程是用来管理路由信息的查看静态路由。

ospfd(2604 )进程是用来专门负责OSPF相关信息。

其中2601和2604代表的是zebra和ospfd兩个进程的进程号,在Telnet后使用配置命令sh run 可以查看二者的进程信息。

(2)被攻击方配置

实验中配置好的两台设备R0 和R1 已经收敛完成,两台路由器采用GE0/0接口交互OSPFv2, R0和R1的配置命令如下表所示:

此外R1新开启GE0/1,用以将路由信息更新至R0,接口信息如下:

3.2.3 攻击过程与结果分析

(1)攻击过程

首先,在实验开始的时候需要启动在图二所示的被攻击方R0及验证方R1的OSPF进程,再做如下配置,启动攻击方PC机quagga软路由系统与攻击方R0和验证方R1的OSPF协商进程,以此来观察攻击者和被攻击者的关系。

其次R0和R1应该收到OSPFv2信息,并且开始OSPFv2握手和协商,由于之前已经选择出DR和BDR,因此我们最后加入的被设置成DROTHER。

最后在ubuntu的网卡内增加172.16.0.2并在ospfd设置接口的cost值为1(我在这里设为了最小值)。

(2)结果分析

此时更新已经发送出去,且由于cost比较小,将被R0采纳为最优路径。可以通过zebra进程使用sh ip route命令查看软路由里的OSPF信息,发送之前信息为“172.16.0.0 [110/20] via 192.168.0.249,00:09:42”在攻击完成后再次查看信息,发送之后信息变为“172.16.0.0 [110/11] via 192.168.0.186,00:04:55”,根据结果显示,攻击成功。

3.3 路由防御

根据如图1所示的试验流程,在攻击实验的同时可以做路由防御实验,本文做了以IPv6基础的OSPFv3防御试验为教学案例来讲解有防御模块的实施过程。即实验拓扑如图所示:

(1)OSPFv3交互

实验中配置好的被攻击方R0 和验证方R1 已经收敛完成,两台路由器采用GE0/0接口交互OSPFv3,此外验证方R1新开启GE0/1,用以将路由信息更新至被攻击方R0,则R0和R1的OSPFv3交互信息如下所示:

(2)启动ospfd协商进程

首先在攻击方PC机中ospfd中做如下配置,启动和被攻击方R0和验证方R1的OSPFv3协商进程,以此来观察攻击方与被攻击方的关系。

(3)开始攻击

R0和R1应该收到OSPFv3信息,并且开始OSPFv3握手和协商,由于之前已经选择出DR和BDR,因此实验最后加入的被设置成DROTHER。

(4)设置cost值

在ubuntu的网卡内增加2002:fff::64并在ospfd设置接口的cost值为1(同样设为最小值)。

(5)防御效果

此时更新已经发送出去, 通过zebra进程使用sh ip route命令查看软路由里的OSPF信息,但是R0信息没有发生变化,一直保持为“2000:fff::0:0:0:0:0:0[110/11] via 2001:da8:4001:3:0:6822:b243:2480,00:09:42”,根据结果显示,防御成功。

(6)结果分析

OSPFv3防御实验验证了OSPFv3采用了新的报文格式,利用IPv6提供的网络层安全机制保障了所交换的路由信息安全,说明了使用基于IPv6的OSPFv3路由协议较OSPFv2版本的路由协议具有很大的安全性。

4 总结

作为目前网络中应用最为广泛的路由协议之一,OSPF是本科计算机网络类课程的教学重点和难点,但是在实际的教学过程中不管是理论教学还是实践教学仅仅只涉及了OSPF的通信功能部分,OSPF路由安全并未涉及。随着网络环境越来越复杂,OSPF也面临的网络安全威胁日益突出,因此围绕OSPF安全性开展理论和实验教学是非常有必要的。

为此,本文提出了基于仿真的方法来围绕OSPF安全性开展理论和实验教学,提出采用H3C Cloud Lab平台,利用quagga软路由系统实现OSPF路由攻击与防御实验,为OSPF安全性理论和实践教学提供了切实可行的教学设计和教学案例。

参考文献:

[1] 刘邦桂,刘冰.OSPF动态路由协议的研究[J].电脑知识与技术,2010,6(12):3285-3286.

[2] 黄亚玲.RIP距离矢量路由算法优化方案[J].电脑知识与技术,2015,11(13):41-42.

[3] 杨慧.网络安全技术的发展现状和未来发展趋势[J].电脑知识與技术,2010,6(35):9991-9993.

[4] 贺道德,江涛.基于翻转课堂的无线传感网教学设计研究[J].电脑知识与技术,2017,13(4):98-99.

[5] 娄松涛.浅析路由选择协议[J].电脑知识与技术,2009,5(9):2110-2111.

[6] Andrew S.Tanenbaum.计算机网络(第四版[M].北京:清华大学出版社,2004,195-196.

[7] 张选波.计算机网络协议原理实验教程[M].福建:锐捷网络大学,2006.

[8] 薛丽君.分布式拒绝服务(DDos)攻击检测与防护[D]. 电子科技大学,2003.

[9] 任云花. OSPF 路由攻击的安全性分析[J]. 科技情报开发与经济,2007,17(15):252-253.

[10] K. Varadhan, R. Govindan, D. Estrin. Persistent route oscillations in inter-domain routing[J]. Computer Networks, 2000,32(1):1-16.

[11] 吴礼发. 网络协议工程[M].北京:电子工业出版社,2001:57-58.

[12] 兰巨龙.高性能IPV6路由器基础平台及实验系统需求说明书,

[13] 郭方平.OSPF路由协议安全性探讨[J]. 中国新通信,2014(15):45-46.

[14] 刘涛,李佩铎.浅谈软路由和硬路由[J].电脑知识与技术,2010,6(2):298+320.

猜你喜欢
网络通信网络安全实验教学
电容器的实验教学
基于网络通信的智能照明系统设计
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
网络通信中信息隐藏技术的应用
基于网络通信的校园智能音箱设计
谈计算机网络通信常见问题及技术发展
几何体在高中数学实验教学中的应用