
摘要:针对网络攻防课程实验环境的构建问题,本文设计了作为网络攻防课程的教学和实验辅助环境的网络攻防演练平台。以通过建立课堂演示和课程相关的验证性实验攻击标靶搭建攻击测试环境为目标进行模块化的设计,同时,针对支持网络攻防对抗演练的支撑环境进行设计,对推进网络攻防课程教学和提高学生动手能力具有重要意义。
关键词:演练平台;教学演示;目标虚拟化;实战环境
随着互联网、专用网络化信息系统和各种网络应用的普及,网络与信息安全已成为关系到国家政治、国防、社会的重要问题,它对培养具有网络信息安全知识和应用技能的专业技术人才提出了更高要求。网络攻防是网络信息安全方向的重要课程,主要以网络攻击步骤为线索向学生介绍黑客攻击各阶段常用的攻击方法和原理,以及对相应网络攻击的防护策略和手段。该课程实践性较强,而且具体的攻击方法往往针对现实的网络环境和网络服务。为了将实战性较强和具有实际网络环境特色的攻击技术在课堂教学和实验环境中展现,需要在实验室里有选择和有针对性地创建应用网络环境。在这个环境中,一方面攻击技术手段有了再现的场景,可以实现攻防方法的演示再现甚至对抗性的攻防演练;另一方面,将教学和实验操作中产生的攻击行为在一定的范围内,防止对互联网的实际网络和服务造成干扰和破坏。
网络攻防演练平台就是要解决网络攻防课程的课堂演示和实验操作环境方面的问题。该平台作为网络攻防实验室的主要环境,一方面选择了某些实验内容并搭建适当的环境,对网络攻防的课堂演示和课程相关的验证性实验提供特定场景;另一方面为网络信息安全知识的应用提供了综合实验环境,支持网络攻防对抗演练。该平台在网络攻防实验课程的实践中取得了较好效果。
1整体架构
网络攻防演练平台要同时具有教学演示、攻击实验和攻击演练的功能,既要设置有效的攻击环境,又要解决平台支撑服务器和实验教学网络自身的安全可靠性问题。为了解决这两者之间的矛盾,我们将提供演示和学习资料的服务器组和攻击实验子网用防火墙进行隔离,采用了如图1所示的网络拓扑结构。
在受防火墙保护的服务器组里配置了实验教学系统,防火墙另一侧的攻击子网里配置了标靶服务器,结合每次实验内容,设置具有一定脆弱性的网络服务,提供了攻击演示和验证性实验的环境。实验PC组的网络设置方式有效支持了对抗性攻击演练。下面详细介绍教学演示、验证性实验环境和对抗性实验环境这几部分的设计。
2教学演示部分
教学演示部分由Web服务器、流媒体服务器和备份服务器支撑,具有课件信息更新、学生管理、在线交流、实验设置和作业提交等功能。在内容上紧密结合课程教学,涵盖了网络攻防各个方面,是课堂授课内容的补充。该部分的设计体现了学生在自学加练习中知识积累和能力提高的学习规律。
演练平台的演示部分采用了流行的网上教学平台形式,使用浏览器服务器模式,浏览器作为客户端,用ASP实现Web应用界面,MSSQLSERVER 作为数据库存储管理信息和演示内容的三层结构。该结构便于用户界面的优化和演示内容的添加,适合网络攻防的内容量大且不断更新的特点[1]。对每次实验的教学演示,都把攻击过程的各个操作细节通过屏幕录像软件制作成视频,存放在流媒体服务器上,在教学演示系统中通过网络视频的方式播放。演示部分和练习内容紧密结合,每章内容在实验相关知识和视频演示之后,提供了验证性实验的操作步骤说明以及相关工具、素材的说明和下载服务,体现学习和练习互动的特点。
在线交流是以BBS的形式给教师与学生一个公开交流的场所。指导老师可以通过它方便地回答学生做实验时遇到的问题,也可以在BBS上提出各种问题来考查学生,了解学习进度。学生则可以通过它来相互交流经验,讨论老师所提的问题,发表自己的观点[2]。
在备份服务器上,一方面建立课程的FTP站点,提供学习资料的下载和共享,另一方面提供了Web服务器、标靶服务器、视频文件以及操作系统镜像的备份,保证整个平台的可靠运行。
3验证性实验环境
验证性实验环境为教学演示和实验课提供测试素材和环境支持。基于多年的网络攻防实验的课堂实践积累,按照网络攻击不同阶段的顺序,在该环境中设置了如下实验主题。
实验1 网络安全扫描;
实验2 口令攻击;
实验3 缓冲区溢出原理;
实验4 脚本攻击和防范;
实验5 木马攻击和查杀;
实验6 防火墙入侵检测系统的使用。
每个主题都由若干难易程度不同的实验项目组成,在验证性实验的内容选择和环境设计中体现了以下原则。
1) 以理解原理为主。
该部分实验的目的在于对课堂知识的印证和加深理解,偏重于原理展示,要求简洁直观,具有启发性。因此对于每个实验主题,结合平台演示部分的相关知识介绍,精心选择了最具代表性的素材和经典案例作为实验内容,在尽量简洁的环境配置下,提供通用强的一般工具,在操作的步骤中体现网络协议分析、操作系统原理和程序设计的基础知识应用,使学生能够加深了解相应网络攻防技术的原理。同时,在内容上便于学生操作和理解掌握,为提高动手能力、激发兴趣开展自主研究提供了必要的基础,并按照实验顺序在后续操作中提供了较为复杂的提高性实验工具。
如对于网络安全扫描实验,既使用了Superscan等功能简捷、操作简单的图形界面工具,又使用了专业性较强的nmap命令行扫描工具,在扫描的过程中,用网络嗅探器采集这些工具在工作的时候发送的数据包,对照扫描工具产生的结果信息,分析这些工具扫描和判别时的工作原理,如图2所示。
对于脚本攻击中的SQL注入实验,首先要求学生设计一个最简的、具有注入漏洞的页面。在实验指导中给出了下面的相应代码。
输入的查询语句为:
var _userid = ‘‘;var _siteid =881;var _istoken = 1;var _model = ‘Model03’; WebPageSpeed =141; UrchinTrack();
学生只要运用动态网页程序设计和Web服务器搭建的相关知识,通过上述简单代码就可设计出一个具有漏洞的页面,进而通过SQL注入工具进行数据库各个表名字段的猜解攻击测试,从而掌握这种攻击方法的原理,可以举一反三。
其他实验内容在使用一些自动化工具的时候,同样结合通用的系统和网络分析软件,使学生对实验结果的分析建立在掌握基本原理的基础上。
在每个主题的验证性实验之后,设置了提高性实验内容,学生在掌握原理的基础上,可以进行相应主题下的较深层次的实验内容,以及根据实验要求里提出的研究内容进行设计性实验练习。每个主题在整体上具有良好的难度层次划分。
2) 攻防实验相结合。
攻和防的能力是相互提高的。攻防实验相结合,可使实验内容更具针对性和现实性,在实验环境的组建上也可以互相搭配组合。
首先,在攻击技术实验中,都针对攻击的原理提出怎样进行防护的问题,并设置了防护实验内容。如对于缓冲区溢出、SQL注入和跨站脚本攻击,在自行实现具有漏洞的程序,并利用攻击工具进行突破的同时,要求对相应的代码进行安全性修改,达到防范攻击的目的,实验本身也达到了锻炼安全编程能力的目的。数据捕获和分析的在木马一章的实验里,首先进行木马远程控制实现和隐藏技术的实验内容,然后有针对的进行木马检测和清除的实验。其他的如口令攻击等实验,都设置了对相应攻击防范的内容。另外,一些实验本身就具有攻防两方面的双重意义,如网络数据捕获和分析,既是嗅探攻击的手段,又是入侵检测的基础步骤。攻和防的实验已密不可分。
其次,在安全性实验里,要求攻击内容作为配合。在防火墙和入侵检测系统使用实验里,要求在设置了防护系统后,通过重复攻击性实验内容产生攻击数据,查看安全软硬件的防护效果。对防护系统安全配置策略的理解也要建立在对攻击行为了解的基础上。作为最后一个验证性实验,综合练习了前面的实验内容。
3) 攻击性实验标靶的虚拟化。
攻击性实验需要一个现实的具有漏洞的系统和服务作为攻击的目标,一些攻击的破坏性会影响系统和网络的正常运行,影响他人的实验操作,有的意外操作甚至会造成系统不可恢复的破坏。为了在有限的实验室资源条件下,使学生能并行且充分地完成攻击实验内容,网络攻防演练平台着重考虑攻击实验目标的虚拟化。
攻击实验和教学演示统一在靶机上进行,靶机由虚拟机构建。虚拟机利用现有操作系统的软硬件资源,虚拟出新的标准PC硬件环境,可以在里面安装新的兼容系统,并通过虚拟机软件创建模拟的网络环境。虚拟机本身以文件形式存放在磁盘上,利用虚拟机里的操作系统安装具有漏洞的服务后作为靶机,只需要复制虚拟机文件,就可以快速建立攻击的环境,具有方便备份恢复的特点。将靶机建立在虚拟机构成的环境上,一方面减少了课堂演示和攻击实验可能对实验室环境产生的破坏,另一方面也方便了教师操作演示,节约了有限的课堂时间和硬件资源。
另外,即使对于虚拟机系统,一些攻击性实验成功后可以随意控制系统,导致实验环境的不可控,也不利于靶机的维护。本平台通过在靶机里实现对部分应用程序的虚拟化来解决该问题。
对系统进行控制的实验主要包括对于缓冲区溢出和口令攻击后进行远程登录的实验内容。远程控制相当于远程方式操作本地的用户接口,用户接口用于接收用户命令并将执行结果返回给用户。将其表示为:
Shell::=(user,interPreter,output) [3]
其中,user为用户信息,interPreter为命令解释器,output为输出。
可以在实验中规定用户接口为命令行,即要求缓冲区溢出攻击成功后开启远程命令行。口令攻击后,通过开放的Telnet服务进行命令行远程登录,这样在获得了控制权之后,对于靶机的Windows 2000系统所执行的都是cmd程序。可以将该程序替换成一个对常用命令提供输出的虚拟的命令行Shell程序。一方面可以使得攻击的目的达到后,不会由于无控制的操作对系统造成破坏,另一方面,在自行实现的虚拟Shell中,对攻击情况进行记录,便于攻击实验效果的统计和成绩评定。通过这种方式实现了部分攻击目标虚拟化。
4演练性实战环境
攻防演练平台的设计支持实战演练。如图1所示,将部分实验用机划分为实验PC组1和组2,分别接入交换机A和C,A和C都级联到交换机B,通过B访问攻击标靶和平台教学服务器。另外有数据采集终端接入到交换机B的数据映像端口,对交换机B中通过的数据进行嗅探采集。
在攻击实战时,标靶服务器停用,教师终端作为裁判机。将学生分为对抗双方和裁判方三组,对抗双方分别位于实验PC组1和组2,裁判方由指导老师带领,管理数据采集终端和裁判机。对抗双方首先利用平台网站提供的软件对自己的网络进行安全配置,开放Web、FTP和邮件服务等.在配置完毕后,要在规定的时间段内维护己方的系统和服务,并对对方的服务进行攻击,将攻击成功的信息及证据提交到平台网站上。
在对抗实验中,位于网络通道上的数据采集终端对双方的攻击行为进行数据记录,裁判机上的程序检查双方网络服务的可用性。裁判方要根据攻击情况和服务开放情况在平台网站上公布双方的实时战绩[4]。
在演练结束后,裁判方在指导老师的带领下根据提交的攻击证据对双方进行打分,对有争议的证据信息,结合信息采集终端的数据记录进行确定。最后,根据双方的攻击数据进行攻击效果评估。
数据采集终端在验证性实验练习时也进行开放,用于记录学生对标靶服务器进行攻击尝试的数据信息。
5结论
网络攻防演练平台作为网络攻防课程的教学和实验辅助环境,以网上教学系统的形式提供了学习和资源共享的平台。通过精心设计实验内容,以标靶系统的形式为攻防实验的课堂演示和实验操作提供了稳定高效的环境。平台的网络设计为攻防对抗演练的开展创造了条件。在后续工作中,需要对攻击实验环境进行改造,提高标靶服务器的目标虚拟化程度,增加虚拟网络的方案以支持网络设备攻击实验[5]。在对抗性实验方面,需要增加对信息采集终端所产生数据的自动过滤和分类处理程序,使整个平台更加完善。另外,本平台对验证性实验的设计思路也适用于其他网络类实验环境的设计。
参考文献:
[1] 李冬冬,毛明. 网络安全实验演示系统的设计与实现[J]. 实验技术与管理,2008(3):47-51.
[2] 李晨. 在互联网开设“论坛教学模式”的研究与实践[J]. 理工高教研究,2008(2):91-93.
[3] 赵威,王海泉,夏春和. 面向网络攻防演练的操作系统仿真模型研究与实现与实现[J]. 计算机应用研究, 2008(8): 2451-2453.
[4] 汪生,孙乐昌. 网络攻击效果评估系统的研究与实现[J]. 计算机工程与应用,2005(34):149-153.
[5] 匡银虎,张虹波. 网络工程虚拟实验室的研究[J]. 实验技术与管理,2008(7):93-95.
Design and Implementation of the Platform for the Network Attack and Defense Drilling
YIN Zhongxu, ZHU Junhu, WEI Qiang, HU Xueli
Abstract: For constructing the environment for the drilling of network attack and defense, we design the a platform the for it. By modularizing the design and setting vulnerable services on the attacking target server, the environment can support validating experiments and network warfare drilling. It can greatly boost the teaching of network information security and improve the capabilities of students.
Key words: the drilling platform; classroom demonstration; target virtualization; practical environment
(编辑:郭小明)
