面向“新工科”的IPv6网络6to4隧道安全实验技术与应用
刘真 胡曦明 李鹏 王涛
摘要:本文面向我国全面加快实施互联网协议体系从IPv4向IPv6转换升级的新部署,聚焦高校“新工科”专业教学改革与产业人才需求精准对接实现产教融合发展的新要求,在系统分析6to4隧道工作原理与安全性的基础上,提出了基于虚拟仿真的6to4隧道攻击与防御实验教学设计,进一步通过实验拓扑、操作与配置、数据测量与可视化分析等关键环节详细阐述了基于“GNS3仿真平台+Kali Linux虚拟机”的6to4隧道边缘和隧道穿越SYN Flood攻击以及防火墙攻击防御的实验教学应用案例,为面向“新工科”建设的实验教学改革与创新发展提供了切实可行的实践途径。
关键词:新工科;IPv6;6to4隧道;网络安全;实验教学
中图分类号:TP393? 文献标识码:A? 论文编号:1674-2117(2020)23-0094-08
● 引言
随着世界新一轮科技创新和第四次工业革命浪潮扑面而来,互联网协议新体系IPv6成为中国网络安全与信息化发展在新时代突破IPv4旧体系技术性障碍和体制性牵制的关键支点和重要着力点。2017年11月,中共中央办公厅、国务院办公厅印发《推进互联网协议第六版(IPv6)规模部署行动计划》,提出“加快推进IPv6规模部署,构建高速率、广普及、全覆盖、智能化的下一代互联网”的明确要求,为我国互联网建设从IPv4向IPv6全面转换升级按下“快进键”。
在IPv6完全取代IPv4之前,IPv4/IPv6将以共存互通的机制长期运行[1],特别是在向IPv6过渡初期,海量IPv4主机包围下的IPv6孤岛需要依赖Teredo隧道、6over4隧道、6to4隧道、ISATAP隧道等多隧道技术实现互通。[2]在这当中,6to4隧道作为一种采用特殊6to4地址实现IPv6孤岛之间跨IPv4通信的自动隧道,因其成本低、易部署现已在教育行业得到大量应用。[3,4,5]然而,6to4隧道在为IPv4向IPv6过渡提供便利的同时,也给网络安全带来了潜在威胁。由于6to4隧道边缘设备必须接收到达的IPv4包,攻击者可向其发送伪造的攻击报文,进而造成6to4隧道受到拒绝服务攻击(DoS,Denial of Service)[6]、中间人攻击和畸形报文攻击等多种类型的安全威胁。
面对国内互联网产业加快向IPv6转换升级的新部署和新发展,高校网络空间安全专业如何以“新工科”建设为引领[7],聚焦IPv6隧道安全主題更新实验教学内容与方法实现专业教学改革与产业人才需求精准对接的新要求,确保师生所教所学与社会所需协调一致,从而更高质量推进产教融合发展,以人才培养质量提升进一步增强教育服务国家IPv6技术创新发展的能力,成为了当前高校“新工科”实验教学改革领域富有现实性、基础性和教育价值的重要课题。
● 6to4隧道工作原理与安全性分析
6to4隧道是一点到多点的自动隧道,主要用于将多个IPv6孤岛通过IPv4网络接入IPv6网络,其工作原理和面临的安全威胁如图1所示。首先,IPv6主机将发送IPv6报文到位于IPv4网络入口处的边缘路由器A,边缘路由器A接收IPv6报文之后根据已配置的6to4隧道把所接收的报文封装新的IPv4报文头部,然后将此IPv4报文通过IPv4网络转发到隧道目的端,即位于IPv4网络出口处的边缘路由器B。此刻,边缘路由器B将拆除收到的IPv4报文头部进行解封装;边缘路由器B向IPv6网络转发解封装所得的IPv6报文,直到报文到达目的地。
在这个过程中,正常通信的IPv6孤岛面临多种安全威胁。
1.拒绝服务安全威胁
DoS攻击是指利用网络协议缺陷,通过突发式手段恶意耗尽被攻击对象的资源,使其无法向外提供资源或服务直至崩溃。从攻击原理来看,DoS攻击可分为两类:一类是语义攻击,另一类是暴力攻击。[8]SYN Flood攻击兼具上述两种攻击的特征。而且,任何连接到Internet上并提供基于 TCP的应用服务的主机或路由器都可能成为这种攻击的目标。[9]
2.畸形报文安全威胁
畸形报文攻击是通过向被攻击对象发送伪造的缺陷IP报文,使攻击目标在处理这些IP包时,协议软件无法正常运行直至崩溃,从而给攻击目标造成严重破坏。例如,在IPv4网络中,攻击者向路由器或者主机发送畸形报文,受到攻击的设备因处理不当而崩溃,无法完成正常通信。常见的畸形报文攻击有Ping of Death、Teardrop等。
3.中间人攻击安全威胁
中间人攻击(Man-in-the-Middle Attack,MITM)是一种“间接”的入侵攻击。这种攻击模式是通过各种技术手段将一台被攻击者控制的计算机,称为“中间人攻击机”,虚拟地放置在网络连接中的两台计算机之间[10],然后,攻击者利用这台计算机,将其模拟成原有通信中的两台计算机,并与原有计算机建立活动连接,允许其读取或篡改传递的消息。常见的中间人攻击有ARP欺骗、DNS欺骗等。
● 6to4隧道安全实验技术与实验教学
1.实验技术
传统的IPv6安全实验教学多基于“教师演示+学生模仿”的教学流程,通常采用集中多个课时分别完成攻击和防御实验,最后再将两者组成综合性网络空间安全实验,这样的流程往往存在主题散、形式化和一刀切的弊端,不利于“新工科”背景下产教融合培养创新人才。为此,本文提出了一种基于“GNS3仿真平台+Kali Linux虚拟机”的IPv6网络6to4隧道安全性实验教学设计。
(1)实验环境搭建
如图2所示,攻击源1、2均为Kali Linux虚拟机,6to4隧道在GNS3中搭建,再通过VMware Workstation创建的虚拟网卡与GNS3中的Cloud设备将攻击源1、2接入GNS3,分别组成IPv4网络和IPv6网络6to4隧道安全实验环境。
实验环境中的主要设备信息如表1所示。
(2)实验流程
如下页图3所示,本实验主要分为实验环境搭建、攻击实验、防御实验、数据测量与可视化分析四部分。首先,基于GNS3和Kali Linux虚拟机建立6to4隧道,搭建安全实验环境。其次,利用相关工具在IPv4和IPv6環境中对6to4隧道进行攻击实验。之后,针对不同的安全威胁采用对应的防御方法进行防御实验。最后,通过抓包分析、数据提取、计算测量网络占用率和网络时延等方式,准确获取实验数据,形成可视化结果,得到直观具体的结论。
2.6to4隧道攻击实验教学
本文以SYN Flood开展6to4隧道边缘攻击和隧道穿越攻击实验教学,具体操作步骤及关键配置如下页图4所示。
(1)搭建6to4隧道
6to4隧道关键配置如下页表2所示。其中,“int tunnel 1”表示定义隧道序号为1。“ipv6 unnumbered e0/0”表示tunnel 1借用了路由器接口e0/0的地址。“tunnel source s2/0”表示设置隧道的源地址为路由器接口s2/0的地址。因此,本路由器接口e0/0的地址前缀必须嵌入源s2/0的地址。“tunnel mode ipv6ip 6to4”则表示设置隧道模式为6to4。所以,当IPv6报文到达路由器时,经过处理后将从接口s2/0进入IPv4网络。
(2)连通性测试
为了测试6to4隧道的连通性,在PC1 ping PC2时,分别抓取隧道边缘路由器R2和R3的报文,结果如第98页图5所示。可以发现,在IPv6报文到达隧道边缘路由器R2后,路由器R2根据已配置好的6to4隧道内容把所接收的IPv6报文封装上IPv4报文头部,并发送给隧道另一端的边缘路由器R3。
(3)6to4隧道攻击
SYN Flood攻击方式可分为直接攻击、欺骗式攻击和分布式攻击。直接攻击中发送的SYN数据包并未伪装自己的IP地址,而欺骗式攻击中发送的是经过伪装的IP地址的SYN数据包。另外,还可根据伪造的源地址方式,将欺骗式攻击分为伪造特定源IP地址和伪造随机源IP地址的攻击。在本实验隧道边缘攻击部分,将利用hping3在IPv4环境中发动直接攻击和欺骗式攻击;在隧道穿越攻击部分,则利用Hyenae发动欺骗式攻击,具体内容如下页表3所示。
(4)数据测量与可视化分析
在隧道边缘攻击中,当虚拟机Kali Linux利用hping3进行直接SYN Flood攻击时,虚拟机会相应收到隧道边缘路由器响应的ACK报文,如下页图6所示。
但当虚拟机Kali Linux利用hping3进行特定源IP欺骗的SYN Flood攻击和随机源IP欺骗的SYN Flood攻击时,由于伪造了源IP地址,所以虚拟机不会收到隧道边缘路由器响应的ACK报文[11],如下页图7、第99页图8所示。
同样,在隧道穿越攻击中,当虚拟机Kali Linux利用Hyenae进行特定源IP欺骗的SYN Flood攻击时,虚拟机也不会收到隧道边缘路由器响应的ACK报文,如下页图9所示。
在对6to4隧道进行SYN Flood攻击的同时,观察计算机CPU使用率,可以明显发现CPU使用率大幅增加,一度接近100%,如下页图10所示。在攻击结束后,由于被攻击路由器需要在TCP连接建立等待时间超时后才能释放因SYN Flood产生的大量半连接,因此CPU使用率从峰值向下缓降并且持续一段时间后才恢复到攻击前的正常区间。
当隧道边缘路由器受到攻击时,IPv6主机PC1 ping PC2的响应时间也比隧道边缘路由器未受到攻击时的响应时间长,甚至出现了丢包现象。如下页图11所示,纵坐标表示响应时间,横坐标表示PC1 ping PC2的次数。
上述现象产生的原因在于,当攻击源Kali Linux虚拟机向隧道边缘路由器建立一个TCP连接时,首先将发送一个SYN消息,如果路由器同意建立连接,则响应一个SYN消息的回应(SYN+ACK),而攻击源收到SYN+ACK后并不会发送ACK完成三次握手。这时被攻击的路由器就形成了“半连接”。而TCP半连接队列是有限的,如果攻击者发送大量SYN消息,半连接队列就会溢出。当攻击的SYN包超过半连接队列的最大值时,正常客户发送的SYN数据包请求连接就会被丢弃。
3.6to4隧道防御实验技术与实验教学
(1)防御方法(如下页图12)
①防火墙。
防火墙是指在两个网络或系统之间实施访问控制的安全防御系统,是内部网络和外部网络之间的一道安全屏障。[12]防火墙主要可分为包过滤防火墙和代理防火墙。前者根据已定义好的过滤规则,决定相关数据能否流动和传递,从而有效地拦截大量垃圾数据。后者则通常在客户端和服务器之间充当转接的作用,屏蔽了客户端和服务器的直接连接,使得外网的非法数据难以直接越过防火墙进入内网,从而保护了内网的安全。
②SYN Cookie。
SYN Cookie技术使得TCP服务器收到TCP SYN报文后,并不按通常做法为之分配一个专门的缓冲区,而是只计算生成cookie值,然后作为SYN ACK报文的TCP初始序列号,随该报文返回。[13]此时,服务器端并不为此次连接存储任何信息。之后,当服务器再收到一个来自非活动套接字的ACK报文时,系统将根据这个TCP ACK包的包头信息计算出一个Cooike值,并与返回的确认序列号进行比对。如果合法,系统将为之分配缓冲区,正式建立连接,否则丢弃该报文。
③SYN Cache。
SYN Cache机制通过一个专用的全局HASH表(Cache)代替每个端口的线性表来保存半连接信息,直至收到ACK信息才为连接分配系统资源。SYN Cache的设计核心就是尽量减少连接所占用的资源数量,使得服务器能够容纳更多的半连接。
(2)基于防火墙的攻击防御实验教学
为防御SYN Flood攻击,本实验将防火墙作为TCP连接的中转代理与隧道边缘路由器相连。经过对防火墙的合理配置,之前直接与边缘路由器建立连接的数据流量现在都必须先与防火墙建立连接,从而降低了被非法数据攻击的风险。
①操作与配置。
在GNS3中,模拟防火墙的ASAv的每个接口都有一个安全级别,其范围是0~100,数值越大表示其安全级别越高,并且默认从高安全级别到低安全级别的访问是允许的,而从低安全级别到高安全级别的访问是不允许的。因此,设置ASAv接口e0/0的安全级别为0,接口e0/1的安全级别为100,使数据无法从接口e0/0访问接口e0/1。此外,还通过配置访问控制列表(Access Control Lists,ACL),禁止所有数据访问接口e0/0,关键配置如表4所示。
②攻击防御结果分析。
在Safety域中,IPv6主机发出的报文可以正常经过隧道边缘路由器的封装,解封装到达目的IPv6主机。在Unsafety域中,攻击源Kali Linux虚拟机发起SYN Flood攻击时,大量恶意SYN包被防火墙阻挡在外,无法攻击隧道边缘路由器,如图13所示。这说明配置的防火墙防御成功。
● 总结
随着我国互联网产业向IPv6全面转换升级,“新工科”产教融合协同发展背景下高校IPv6课程教学面临新的课题。以此为牵引,本文聚焦IPv6阶段性部署过程中IPv6网络互联互通规模化增长的发展走向,针对6to4隧道安全性实验教学提出了基于“GNS3仿真平台+Kali Linux虚拟机”的教学设计,通过SYN Flood开展了6to4隧道边缘攻击和隧道穿越攻击实验教学,实验过程中涉及的操作与配置、数据测量与可视化分析等过程性环节表明本文提出的6to4隧道安全性实验技术可以快速、高效地将IPv6安全引入高校实验教学体系,为“新工科”实验教学改革与创新发展提供了切实可行的实践途径。
参考文献:
[1]Y. Sookun and V. Bassoo. Performance analysis of IPv4/IPv6 transition techniques[C]. 2016 IEEE International Conference on Emerging Technologies and Innovative Business Practices for the Transformation of Societies (EmergiTech), Balaclava, 2016:188-193, doi: 10.1109/EmergiTech.2016.7737336.
[2]Komal. Performance Evaluation of Tunneling Mechanisms in IPv6 Transition:A Detailed Review[C].2015 Second International Conference on Advances in Computing and Communication Engineering,Dehradun,2015:144-149,doi:10.1109/ICACCE.2015.95.
[3]Jianbo Liu.Application of tunneling technology in campus IPv6 network[C].2011 International Conference on Computer Science and Service System (CSSS), Nanjing, 2011:3872-3875, doi: 10.1109/CSSS.2011.5974913.
[4]黄石平,谢健.南京医科大学IPv6网络的建设与应用[J].现代计算机:专业版,2014(15):47-50.
[5]周振东.IPv6在教育信息化中的应用[J].中国信息技术教育,2011(09):77-79.
[6]任志磊,刘颖,张思东.6to4机制的安全性分析[J].中国高新技术企业,2007(13):101+105.
[7]教育部办公厅印发《教育部产学合作协同育人项目管理办法》[J].教育科学论坛,2020(09):15.
[8]骆焦煌.异常网络环境下云计算资源需求策略[J].吉林大學学报:理学版,2017,55(04):964-968.
[9]张双,卿斯汉.拒绝服务攻击的分析和防范[J].计算机工程与应用,2002(12):183-187.
[10] 康荣保,张玲,兰昆.SSL中间人攻击分析与防范[J].信息安全与通信保密,2010(03):85-87+90.
[11] 孙辉,樊龙,马士友.SYN Flood攻击原理、检测及防御[J].现代计算机专业版,2012(33):51-53.
[12] 杜博杰,钟慧茹,葛运伟.计算机网络信息安全中防火墙技术的有效运用分析[J].中国新通信,2020,22(01):154-155.
[13] 孙曦,朱晓妍,王育民.DDoS下的TCP洪流攻击及对策[J].网络安全技术与应用,2004(04):31-34.
作者简介:刘真(1998.09—),第一作者,男,四川南充人,陕西师范大学计算机科学学院创新实验班本科生;胡曦明(1978.9—),通讯作者,男,四川南充人,博士,讲师,教育硕士导师,主要研究领域为智慧教育、计算机教育;李鹏(1981.11—),男,陕西扶风人,博士,副教授,硕导,主要研究领域为移动计算、教育信息化;王涛(1980.07—),男,甘肃永昌人,博士,副教授,硕导,主要研究领域为计算机网络、信息网络安全。
基金项目:陕西省科技计划重点研发项目(2020GY-221);陕西省教育科学“十三五”规划课题(SGH16H024);教育部陕西师范大学基础教育课程研究中心项目(2019-JCJY009);中央高校基本科研业务费专项资金资助项目(GK201503065);陕西师范大学教师教学模式创新与实践研究基金项目(JSJX2020Z28,JSJX2019Z47);2020年度陕西师范大学一流本科课程建设项目“计算机网络”(线上线下混合式课程)。