基于虚拟靶场的渗透测试实践教学机制探索
2024-01-18玄世昌王巍苘大鹏吕继光杨武
玄世昌 王巍 苘大鹏 吕继光 杨武
摘 要:渗透测试实践教学是为信息安全相关专业学生开设的少数攻击类课程,是必不可少的教学环节。随着《中华人民共和国网络安全法》等法律法规的不断完善,渗透测试教学的实践模式需要不断创新。针对实践教学中资源和时间方面的难题,设计并实现基于OpenStack的虚拟靶场系统,从教学过程、教学方法、考核方式等角度分别提出开放式线上线下混合教学、引导式基础实验过程、赛学融合的考核方式等具体改革方法,探索渗透测试实践教学的新机制。
关键词:渗透测试;教学改革;实践教学;网络靶场;赛学融合
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2024)02-0029-04
Abstract: Penetration testing practical teaching is one of the few offensive courses offered to students majoring in information security and is an essential part of their education. With the continuous improvement of laws and regulations such as the "The Cybersecurity Law of the People's Republic of China", the practical teaching mode of penetration testing needs constant innovation. To address the challenges of resources and time in practical teaching, we have designed and implemented a virtual range system based on OpenStack. We have proposed specific reform methods from the perspectives of teaching process, teaching methods, and assessment methods. These methods encompass open online and offline blended teaching, guided basic experimental processes, integration of competition and learning, and various other reform methods. Through these specific reforms, we have explored new mechanisms in penetration testing practical teaching.
Keywords: penetration testing; transformation of education; practical teaching; network range; integration of competition and learning
網络空间是继陆、海、空、天之后的“第五维空间”[1],是人类命运共同体非常重要的一部分。习近平总书记提出“没有网络安全就没有国家安全”[2]。网络安全问题已成为关乎国家安全和稳定的重大问题。2017年6月起,《中华人民共和国网络安全法》(以下简称《网络安全法》)正式实施[3]。《网络安全法》作为国家层面网络空间安全保障的统领性“基本法”,明确要求需要通过网络安全评测、风险评估等方法保障网络空间,同时又专门明确了“任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动”[4]。《网络安全法》的出台引发了对网络安全的高度关注,但也带来了一个新的挑战,即网络安全人才的严重缺失[5-7]。网络渗透是网络空间安全的核心内容之一[8]。通过网络渗透测试实践教学,学生可以通过真实场景的模拟来深入了解网络威胁,并学习如何评估和保护网络空间。这种教学方法使学生能够直接参与并体验网络渗透测试的过程,提高他们在网络安全领域的技能和知识水平。
在《网络安全法》实施的新形势下,亟需探索和改革如何合法合规地为学生提供实践教学环境,以切实培养和锻炼他们的实践动手能力[8-9]。目前的相关研究工作主要集中在传授式教学场景,借助实验系统辅助实现对特定知识点的教学目标。然而,这种方式未能充分关注渗透测试所需的广泛专业知识、多样化的技术手段以及逆向思维突破困难等特点。尤其是自《网络安全法》实施以来,学生在课后学习和练习方面受到严重限制的问题得到了充分关注。
因此,在《网络安全法》新形势下,研究渗透测试实践教学的新模式具有重要的理论和实践价值,可以有效提高信息安全专业以及计算机类相关专业学生的渗透实践动手能力。
一 渗透测试实践教学存在的难题
渗透测试实践教学不同于信息安全、计算机科学与技术等相关专业的其他实践环节,需要学生回顾的理论知识部分涵盖范围广、掌握的专用工具多,并且理论与实践的结合难度较高。在课程教学过程中,发现存在以下难题。
(一) 实践资源难以集中利用
渗透测试作为一个综合性极强的实战环节,需要掌握对测试目标从操作系统、基础软件、应用软件等多个维度进行渗透的技术。目前,已经形成了如DVWA、mutillidae、vulnhub等比较丰富的网络渗透技术学习资源。但是,相关资源一般为针对某一特定领域或技术的学习环境,无法满足课程体系的全面教学要求。同时,各种资源所依赖的平台系统与使用方法均存在较大的不同。学生在利用网络资源进行学习时,面临一些问题。首先,系统性不强,缺乏结构化的学习路径和教学指导。其次,学习资源的部署和使用成本较高,使学生学习的积极性迅速消退,并且学习效果不理想。
(二) 实践教学课时过于集中
信息安全相关专业在理论课程与实践课程中一般都极少包含攻击类的内容。渗透过程除需要较全面的理论基础知识,还需要使用较多的专用工具使用。学生普遍未接触过相关工具,需要较多的时间来了解和掌握工具的使用方式。然而,实践类课程通常会在有限的时间内集中进行,这导致学生为了赶进度而无法充分掌握工具的使用。因此,学生在有限的时间内只能匆忙地完成实践任务,而无法达到对工具的熟练应用。
二 实践教学机制改革的思路
针对课程教学环节发现的难题,自主研发虚拟网络靶场系统,从教学形式、教学内容、考核方式等角度全面开展实践教学的改革。实践教学机制改革的总体思路如图1所示。
图1 实践教学机制改革思路
(一) 开放式线上线下混合教学
相较于较短的课时安排,难以实现全面、系统的讲授式教学。因此,通过研发在线学习平台来为学生提供充分的学习资源,并进一步研究线上、线下教学内容的分配和衔接机制。在线学习平台上建立渗透测试的课程资源,提供视频课程、实验指导、技术讨论等,以方便学生在自己的时间里进行学习和实践。同时,需要对线上、线下教学内容进行更精细化的分配和衔接,避免重复、缺失和冲突的情况出现。
(二) 引导式基础实验过程
渗透测试技术涉及到较多的理论知识点和工具使用方法,但是学生基础情况差异较大,单一的教学内容安排难以满足不同层次学生需求。根据渗透测试的典型步骤,从信息收集、漏洞扫描、漏洞利用和提权攻击等不同方面设计经典的网络扫描、暴力破解、操作系统漏洞利用、SQL注入、WEB渗透和本机提权等基础实验环节。将实验指导书设计为基础版本和详细版本,在实验开放前期通过基础版本的实验指导书引导学生针对实验目标进行自学,在实验后期再给出详细版本的实验指导书,供自学存在困难的同学参照学习。在引导学生主动学习的同时,也为学生的考核提供了区分度。通过这种教学方式,学生可以在自主学习的同时掌握渗透测试的基础知识和技能,并在实践中逐步提高。
(三) 赛学融合的考核方式
考虑到学生前期基础较弱、渗透攻防对抗性强等特点,将渗透测试的实践教学过程分为基础实验和综合对抗两个环节。其中,基础实验部分选择典型的渗透对象、渗透场景和渗透工具为实验单元,指导学生熟悉目标信息采集、操作系统漏洞利用、数据库注入攻击、WEB渗透等知识和工具;综合对抗环节采用CTF(Capture The Flag,夺旗赛)的形式,由学生进行分组对抗,综合检验学生的实践能力。最终的课程考核成绩由基础实验成绩与综合实践环节的对抗赛成绩共同组成,以综合评估学生的学习成果。通过分阶段的教学设计和实践对抗的形式,学生能够获得更全面、深入的学习体验,并在实践中培养解决问题的能力和团队合作精神。
三 基于网络靶场的实践教学平台
基于OpenStack开源平台,我们搭建了虚拟化网络攻防对抗靶场系统。该靶场系统可以设置教师管理功能,包括创建课程、分配任务、监控学生进度等,方便教师进行教学管理和评估学生的学习成果;同时系统可以设置自动化评估功能,根据学生在系统中完成的任务和CTF竞赛的成绩进行自动化评估,提高评估效率和准确性;此外,该系统还可以设置积分和排名功能,根据学生在系统中完成的任务和CTF竞赛的成绩进行排名,鼓励学生在系统中进行积极主动地学习。除以上功能之外,该靶场系统集成各类开源靶机、定制训练靶机等学习资源,将相关的课程教学资源与靶场系统进行整合,为学生提供方便的在线学习和CTF竞赛训练等功能。
(一) 虚拟网络靶场的设计
虚拟网络攻防对抗靶场系统由渗透测试教学和CTF比赛两个模块组成,并分为靶场平台系统、渗透测试教学子系统和CTF比赛子系统三个子系统。虚拟化网络靶场系统能够基于虚拟化管理工具与OpenStack云计算管理平台,动态生成、管理网络靶场环境,通过OpenStack云平台让参演用户省去自行搭建环境和下载靶场的时间。之后用户可以通过提供的NoVNC网址,通过操作客户机与靶机高效完成渗透测试演练。演练结束后,他们可以在平台上提交演练结果,供业务管理员批阅。整个系统被设计为一个一体化的操作平台。同时,业务管理员能够监控参演用户的渗透演练过程,并在参演用户的演练环境出现问题时,重新生成一组实验环境,确保系统具备良好的容错性。在基于OpenStack云计算搭建的平台中,学生在课堂上无需花费时间搭建环境或下载靶场,因此可以将更多精力投入到各种类型的渗透实验中。而在课下,学生可以以团队形式参与平台组织的CTF比赛。这种一体化的学习与比赛平台真正实现了学以致用,为学生提供长期在线的学习和比赛机会。
系统实现框架如图2所示,系统采用基于B/S架构的设计。系统由系统前端界面、渗透教学总控、CTF比赛总控、靶场平台后台和数据库模块共同组成。各类用户如业务管理员、观察员、参演用户,可以通过系统前端界面进行操作。前端页面分为三个界面,分别为渗透测试教学模块、超级管理员模块、CTF比赛模块。三个模块一部分只需要与数据库信息交互,进行数据库的增删改查,另一部分还需要调用靶场总控模块。靶场平台由靶场总控模块和靶场代理模块组成。部分靶场总控模块负责与数据库进行交互,同时响应三个模塊的请求,并返回所需的信息;另一部分靶场总控模块还需要与靶场代理模块进行通信,向代理发布指令,使代理运行特定程序,并将程序运行后所得到的部分信息反馈给总控模块。
(二) 虚拟网络靶场的实现
在系统中,管理员用户通过登录界面进入到管理员首页,登录到渗透测试演练系统后,管理员可以通过修改密码界面修改管理员用户的密码,通过组课管理界面,设置成绩组成与拟开展的实验。通过课程学生管理界面,导入导出学生信息,查看编辑学生信息。在每次实验课开始前,管理员通过设置实验环境界面对实验环境进行设置,通过虚拟机信息查看界面查看并管理实验环境,通过实验进度跟踪界面查看每个学生的进度,实验报告管理界面查看每个学生的实验报告与实验报告的打分,课程成绩管理界面查看与管理每个学生的成绩信息。通过系统监控界面(图3),监控各个代理的系统状态。管理员可以对各个代理的实验环境进行部署,包括靶机部署与客户机部署。还有管理员对各个实验的实验详情与实验视频进行设置。
普通用户通过登录界面进入系统的主页,成功登录后可以使用各项功能。他们可以通过修改密码界面来更改自己的登录密码,确保账户安全。通过实验详情界面,他们可以查看每个实验的详细说明,了解实验的目标和要求。同时,通过实验视频界面,他们可以观看与每个实验相关的视频,进一步加深对实验内容的理解。对于远程登录实验环境,普通用户可以通过远程登录界面与管理员设置的实验环境进行连接,以便进行远程操作和实验实践。另外,他们还可以通过实验报告界面提交自己完成的实验报告,并查看已提交的实验报告。通过以上功能的提供,系统为普通用户提供了一个便捷的学习平台,他们可以灵活地修改密码、浏览实验详情和相关视频、远程登录实验环境,并提交和查看实验报告。
四 结束语
渗透测试实践教学由于存在知识点多且杂、学生前期技术储备较弱等特点,导致传统的实践教学模式难以有效支撑。然而,引入基于网络靶场的实践教学平台可以解决这一问题,实现了开放式线上线下混合教学和赛学融合的考核方式,为渗透测试实践教学探索了一个可行的新机制,并为《网络安全法》新形势下合法合规学习提供了可行的解决方案
参考文献:
[1] 王小文.浙江工业大学网络空间安全研究院 聚焦新技术衍生安全 誓做新时代护网战士[J].今日科技,2023(4):67-68.
[2] 习近平:没有网络安全就没有国家安全[J].中国建设信息化,2022(17):2-3.
[3] 《网络安全法》实施:实现网络安全的法治保障[EB/OL].http://www.cac.gov.cn/2017-06/02/c_1121073242.htm.
[4] 王兴.筑牢网络安全之基 共同创造美好生活——《网络安全法》實施五周年[J].网信军民融合,2022,56(Z1):3-5.
[5] 董赞强.网络安全专业人才培养问题探析[J].管理工程师,2023,28(2):36-41.
[6] 周艳秋.新时代下的高校《计算机网络安全》课程教学改革探讨[J].中国新通信,2022,24(21):140-142.
[7] 林家全.基于网络安全技术的攻防一体化教学设计与探究[J].现代信息科技,2023,7(10):166-170.
[8] 马文静,吴建军,周家庆.“网络渗透与防御”混合教学模式实践[J].计算机时代,2021(5):100-102,106.
[9] 李中和.意识形态网络渗透背景下我国高校意识形态安全建设探析[J].北方民族大学学报,2022(3):162-169.