基于Open Source技术的网络安全实验专题设计

时间:2022-08-25 03:55:54

基于Open Source技术的网络安全实验专题设计

1引言

Open Source技术[7]已经成为国际上最受瞩目的技术潮流之一,从开放源代码的Linux操作系统到基于Linux操作系统的开放源代码项目,为技术人员提供了协作与沟通的平台。国外许多大学教师和学生积极参与了Open Source技术方面的活动,开发了一些著名的开放源代码项目。我国高校在Open Source技术方面起步较晚、差距较大。但是,包括贵州大学在内的一些大学也开始开展Open Source技术方面的工作。

当前,无论是教育行业还是商业领域,均对Open Source技术表示关注,国际上的跨国IT企业,比如IBM、SUN公司,均积极参与Open Source技术方面的工作。教育领域对Open Source技术高度重视,利用Open Source技术解决教学过程中的实践教学问题。Open Source技术在人才培养过程中发挥了重要作用[1]。

当前信息安全领域的人才培养得到了空前的重视,但是信息安全专业的教学计划普遍偏重理论知识的讲授,而忽视了实践教学,不利于“网络安全”等理论与技术并重的课程教学工作的开展。本科“网络安全”课程教学中的问题主要体现在以下几个方面:

(1) 与理论知识相配套的实践技能的培养不成体系,开设的实验内容偏少,影响学生对所学理论知识的理解,实践创新能力的培养力度不够;

(2) 高校普遍扩招,实验室资源短缺,学校不能为学生提供很好的实验环境。

为了提高学生应用所学理论知识解决实际问题的能力,强化课程的实验教学环节,在理论与实践相结合的原则指导下我们利用Open Source技术辅助教师在“网络安全”课程中的教学工作,加强教学过程中的技术专题实验,增强教学效果。

本文第二节介绍网络安全实验的硬件环境;第三节介绍在搭建的实现平台上设计的实验内容。第四节是本文的重点,详细描述了实现的设计过程。最后给出本文的总结。

2实验平台环境

本实验在由三台计算机组成的小型局域网平台上进行。利用少量的计算机搭建网络平台进行实验,目的在于让学生能够按照本文介绍的方法在宿舍等环境中简单、容易地搭建实验环境。在大型局域网内搭建网络安全实验环境的缺点是,环境搭建复杂,需要大量的软件/硬件支持,不能充分利用Open Source技术开展实验教学的优势[2][3]。

本实验的硬件平台都是一样的,三台计算机的硬件配置是相同的,主要的系统配置是:CPU:Intel® Pentium® 4 CPU 3.00GHz;内存:512MB。本实验的操作系统平台也是一样的,三台计算机都安装的是双系统:Windows XP Professional;Fedora 5。在一台计算机上装两个操作系统的目的在于,可以根据不同实验要求,在两个操作系统中方便地切换。

3实验内容

我们设计的网络安全实验由8个实验专题组成,实验内容以及所需要的开源软件如表1所示。

4实验设计

我们按照教学大纲,结合“网络安全”的课程内容确定实验题目和目标,然后从Open Source技术领域中选取实验题材,搭建实验环境。根据不同的实验题材的原理和方法,设计实验专题。下面我们对几个典型的实验原理和方法进行讨论,其他实验题材和实验过程的详细内容将在有关实验指导书中给出。

4.1端口扫描

第一个要详细讨论的实验专题是“端口扫描”。我们通过采用模拟黑客攻击的方法对目标进行检测。端口扫描是探测本地和远程系统端口开放情况的方法,端口扫描是网络安全的起步。

端口扫描的分类[4]如图1所示。在我们搭建的实验平台上,执行了如下几个端口扫描的实验:

*TCP connect 扫描,通过TCP协议的三次握手与目标主机的指定端口建立一次完整连接。如图2所示:

*TCP SYN 扫描,利用三次握手的弱点,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其他端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。

*TCP FIN 扫描,扫描主机向目标主机发送FIN数据包来探听端口,若FIN到达的是一个打开的端口,数据包则被简单地丢弃,并不返回任何信息。当FIN数据包到达一个关闭的端口,TCP会把它判断成是错误,数据包会被丢弃,并且返回一个RST数据包。

*TCP ACK 扫描,扫描主机向目标主机发送ACK数据包。根据返回的RST数据包有两种方法可以得到端口信息。一种方法是:若返回的RST数据包的TTL值小于或等于64,则端口打开,反之端口关闭。另一种方法:若返回的RST数据包的Window值非零,则端口打开,反之端口关闭。

*NULL 扫描,扫描主机将TCP数据包中的ACK,FIN,RST(重新设定连接),SYN, URG, PSH标志位置空后(保留的RES1和RES2对扫描的结果没有任何影响)发给目标主机。若目标端口开发,目标主机将不返回任何信息。若目标主机返回RST信息,则表示端口关闭。

*XMAS 扫描,XMAS扫描原理和NULL扫描的类似,将TCP数据包中的ACK, FIN, RST, SYN, URG, PSH标志位置1后发送给目标主机。在目标端口开放的情况下,目标主机将不返回任何信息。

*SYN/ACK 扫描,扫描主机故意打乱TCP连接的3次握手协议,先发送SYN/ACK数据包。若目标端口开放,目标主机将返回RST信息。若目标端口关闭,目标主机将不返回任何信息,数据包会被丢弃。

*UDP ICMP端口不可到达扫描,扫描主机发送UDP数据包给目标主机的UDP端口,等待目标端口的端口不可到达(ICMP_PORT_UNREACH)的ICMP信息。若超时也没有收到端口不可到达的ICMP信息,则表明目标端口可能处于监听的状态。若这个ICMP信息及时接受到,则表明目标端口处于关闭状态。

通过这个实验,可以让学生了解端口扫描的原理。可以利用TCP/IP不同的端口服务,采用不同的方式向目标主机服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是否打开,就可得知端口所提供的服务或者信息。通过这些信息,就可以判断哪些端口开放是安全的;哪些端口开放是有安全隐患的,需要关闭;哪些端口开放是未经允许的。这样就能让学生知道,端口扫描是检测网络安全性的一种重要的方法。

4.2NAT分析实验

NAT分析实验是为了让学生理解地址转换的机制与原理。网络地址转换(NAT)是一个很流行的服务。防火墙的重要功能之一是对外部网络隐藏内部网络的信息。这些信息包括TCP/IP地址和网络工作站和服务器之间的确认数据。为了隐藏主机信息,当NAT代表内部网络的客户在因特网上建立连接时,它使用自己的IP地址(或者某个IP地址范围)。在受保护的网络里,客户之间使用分配的真实IP地址进行通信。

我们的实验平台搭建如图3所示:把Linux主机设置成NAT服务,内部网络的计算机通过访问外部网络。

如图4所示,我们以一个具体的例子来描述NAT时[5],先发送给服务器,NAT服务器改变了IP包的源地址和端口,把私有地址转换成可以访问外网的授权地址,然后再向外网发送。传回来的数据包,也是如此。

(1) 从192.168.0.1:1234发送到64.233.189.104的http请求。

(2) 把192.168.0.1:1234翻译成172.30.0.119:1546。

(3) 从172.30.0.119:1546到64.233.189.104:80发送http请求。

(4) 从64.233.189.104:80到172.30.0.119:1546发送信息。

(5) 从172.30.0.119到192.168.0.1:1234发送回复消息。

(6) 192.168.0.1:1234到172.30.0.119发送中断连接请求。

(7) 172.30.0.119:1546到64.233.189.104:80发送中断连接请求。

使用NAT隐藏NAN信息。NAT能够用来隐藏内部网络的信息。因为客户的真实IP地址从没有在因特网上使用。所以外部网络的主机想找到它是很困难的,也几乎是不能的。这个实验让学生了解到,可以通过NAT地址转换,增加网络安全性。

5总结

针对信息安全实验教学过程中的问题[6][8],结合“网络安全”课程教学过程,利用Open Source技术,本文设计了一系列的实验专题,有助于强化网络安全方面的实验教学。所设计的实验专题对于“计算机网络”、“计算机通信”和“计算机安全”等课程的实验教学也具有重要的借鉴价值。本文工作的价值不仅体现在设计了若干基于Open Source技术的网络安全实验,同时对于利用Open Source技术解决实验资源紧缺的问题、因地制宜地设计一些有效的实验方案具有实际意义,可进一步强化实验教学工作,增强学生技术创新能力。因此,本文的工作具有重要意义,未来的工作重点在于,结合课堂教学内容设计系列实验,形成“实验指导书”。

参考文献

[1] Fred Gutierrez. “Stingray: A Hands-On Approach to Learning Information Security” [C]. Proceedings of the 7th conference on Information technology education, Minneapolis, Minnesota, USA. 2006.

[2] Mike O’Leary. “A Laboratory Based Capstone Course in Computer Security for Undergraduates” ACM SIGCSE Bulletin, 38(1), 2006.

[3] Bradley Bogolea, Kay Wijekumar.“Information Security Curriculum Creation: A Case Study”[C]. Proceedings of the 1st annual conference on Information security curriculum development, Kennesaw, Georgia, 2004.

[4] 张玉清. “安全扫描技术”[M]. 北京:清华大学出版社,2004.

[5] Jose Carlos Brustoloni. “Laboratory experiments for network security instruction”[J]. ACM Journal on Educational Resources in Computing, 6(4), 2006.

[6] 马建峰,李凤华. “信息安全学科建设与人才培养现状、问题与对策”[J]. 计算机教育, 2005,1(1).

[7] Joseph Feller, Karim Lakhani, et al. “Open source application spaces”, the 5th workshop on open source software engineering”[C], USA, 2005.

[8] 李凤华,马建峰. 关于国内计算机学科本科生教学的几点思考[C]. 第七届全国计算机系主任/院长论坛论文集, 北京:清华大学出版社,2004.

上一篇:高职“汇编语言程序设计”课程的教学改革 下一篇:南开大学信息安全与法学复合型人才的培养