摘" 要:网络安全专业的实验教学存在应用场景单一、缺乏真实环境感受等问题。针对此问题,可以通过利用Docker技术构建虚拟实验网络,结合攻防实验中的攻击者视角和全局视角进行Unity3D建模,创造一个虚实结合的场景,并融合剧情元素,使实验更生动有趣。攻防指令图形化和可编程化可以提供交互式、引导式的实践教学解决方案,突破传统实验教学的局限,提升学生学习体验和效果。
关键词:网络安全;三维可视化;剧情引导;可编程;高交互性
中图分类号:TP311" " 文献标识码:A" 文章编号:2096-4706(2024)18-0099-05
Immersive, Narrative, and Programmable Three-dimensional Network Security Simulation Platform
FENG Fumin, TANG Yun, LI Jiahan, YANG Yuanyuan, CHEN Xi
(School of Computer Science and Engineering, Southwest Minzu University, Chengdu" 610041, China)
Abstract: The experimental teaching of network security major has some problems, such as single application scenario and lack of real environment feeling. Aiming at this problem, this paper uses Docker technology to build a virtual experiment network, and carries out Unity3D modeling by combining the attackers perspective and the global perspective in the attack and defense experiment, so as to create a virtual-real synthesis and integrate plot elements to make the experiment more vivid and interesting. The attack and defense instructions are graphical and programmable, which could provide interactive and guided practical teaching solutions, break through the limitations of traditional experimental teaching, and improve students learning experience and effect.
Keywords: network security; 3D visualization; plot guidance; programmability; high interactivity
0" 引" 言
随着信息时代的发展,我国当前对网络安全专业人才的需求空前巨大,该专业的教学具有非常强的实践性。然而,当前网络安全实验教学普遍存在应用场景单一、缺乏真实环境感受、使用难度较大等问题,从而制约了学生网络安全知识的学习和掌握。近年来,我国已拥有了一些不同类型的网络安全实验仿真平台,例如CTF[1]。但这些平台中仍然存在不足,并且这些平台没有实现三维可视化的效果,缺乏剧情式的引导,缺乏与真实拓扑网络的数据交互,对初学者的学习和体验并不友好,使用难度较高。针对此问题,可围绕 Docker[2]技术构建虚拟实验网络,将网络攻防实验中的攻击者视角、全局视角进行Unity3D建模,为实验网络创建一个虚实结合的场景,将攻防实验背景、实验过程融入剧情;将攻防指令拓展为图形化操作和可编程式两种操作形式,从而提出一种交互式、剧情式、引导式、可编程的网络安全实践教学解决方案。
1" 相关技术
1.1" 交互技术
交互技术[3]是指人类与计算机或者人与人之间进行信息交流和互动的技术手段。在交互技术中,用户可以通过各种方式与系统进行沟通、操作和交流。本平台使用交互技术实现指令操作的协同。
1.2" 网络仿真技术
网络仿真技术是指利用计算机软件模拟和模型化网络系统的运行和行为的技术[4]。通过网络仿真技术,可以在计算机上创建一个虚拟的网络环境,模拟和测试各种网络技术、设备、协议和应用程序的行为。本平台利用网络仿真技术搭建3D网络实验平台,收发高质量虚拟数据。
1.3" Fungus插件
Fungus插件是一款在Unity3D引擎中使用的开源可视化交互式故事和剧情设计工具。它为开发者提供了一套简单易用的工具,让他们能够轻松创建和管理游戏中的剧情和对话。本平台使用Fungus插件进行网络安全实验的剧情设计,营造沉浸式新型教学体验。
2" 平台设计
2.1" 平台框架
2.1.1" 前端三维仿真平台
前端利用Unity3D游戏引擎与C#编程语言,构建了一个高度交互的三维仿真平台,用于直观展示和深入研究实验网络的运行状态。在此平台中,通过文字引导,协助用户逐步完成网络安全攻击实验。同时,该平台能够清晰地展示数据流在网络中的动态传输过程,使用户能够从不同视角感受攻击效果,深入了解多类型安全实验的差异,并实时监控网络设备的运行状态。为了提升用户体验,融入流光特效、交互式的情景引导、图形化控件以及可编程窗口,为用户带来沉浸式的网络安全实验仿真体验[5]。技术架构如图1所示。
2.1.2" 后端轻量级网络仿真平台
基于虚拟交换机(Open VSwitch, OVS)技术和Docker技术,实现轻量级、高保真的网络模拟仿真。通过这一平台,用户可以在直观的主界面上选择并部署网络安全实验,构建由多个Docker容器和OVS交换机相互连接的虚拟拓扑结构,实现流量注入、网络监控、模拟网络行为等多样化功能[6]。并且将实验数据实时、准确地反馈至前端平台,为用户提供详尽的网络状态信息和深入的实验分析结果。
2.2" 实验拓扑的可视化
利用轻量级网络仿真平台与Unity3D技术的结合,实现了实验拓扑从二维到三维的可视化转换。用户可以在前端三维可视化实验平台上部署和观察拓扑结构,并通过拖拽和旋转操作,从多个角度深入探究网络架构和组件间的交互关系。这一创新设计不仅提高了实验的直观性和可操作性,还有助于用户更全面地理解网络拓扑结构。
2.3" 实验过程剧情化
为了提升实验的吸引力和参与度,采用Unity3D技术打造了一个互可编程且具有故事情节的网络安全实验仿真平台。在该平台中,实验过程被设计成具有可操作性的剧情,赋予用户一个身份,在某一情景下去完成攻击任务,并且引导用户逐步完成实验。这种剧情化设计不仅使实验教学更加生动有趣,同时可增强用户的沉浸感和参与度[7]。
2.4" 实验操作的交互性
通过图形化控件和可编程窗口的设计,增强实验操作的交互性。
2.4.1" 图形化控件
图形化控件使得用户可以通过简单的点击操作发送指令,完成攻击过程,降低了操作的复杂性。用户可以通过点击相应的图形化控件打开设备终端进行相关代码的输入、打开抓包程序查看数据包以了解当前的网络状态、进行不同视角的切换。
2.4.2" 可编程窗口
可编程窗口允许用户在输入框内手动输入指令,发起攻击,进行具体攻击指令的学习与记忆。
2.5" 实验场景的切换
平台设计了全局视角和攻击者视角两种实验场景,并可通过按钮进行场景的切换。
2.5.1" 全局视角
在全局视角中,用户能够全面地观察到网络拓扑结构的每一个细节,通过点击可视化控件发起攻击、抓取数据进行效果分析、对不同视角进行切换。指令发送后,网络拓扑结构中的网络设备收到信号,设备会出现相应的流光显示效果,从而展示数据流动的过程。同时,后端的虚拟网络平台会实时抓取并分析前端流动的指令数据包,提供实时的网络状态反馈。
2.5.2" 攻击者视角
在攻击者视角中,用户将身临其境地体验实验背景、原理及整个攻击过程,通过在可编程窗口中输入指令来发起攻击,增强了实验的真实性和沉浸感。这些设计使得用户能够根据不同的需求选择合适的视角进行实验操作和分析。
3" 平台实现
3.1" 网络拓扑可视化的实现
在后端网络虚拟仿真平台对相关网络安全实验进行环境部署后,点击Unity3D平台链接按钮,将打开对应实验的可执行程序,跳转进入3D展示平台,触发提前编写好的C#脚本,对本次所选择实验的JSON文件进行读取解析,获取虚拟节点以及节点连接等拓扑信息,然后根据信息的描述构建3D拓扑环境。
3.2" 实验过程剧情化的实现
平台使用Unity3D引擎中的Fungus插件打造个性化、沉浸式的实验剧情。首先在Unity3D中搭建剧情环境,确定需要添加剧情线索的角色与物体(如视角、计算机等)后,使用 Fungus 插件创建对话流程和交互元素,并设置对话节点的触发条件和跳转逻辑,以及实现选择节点的分支流程。同时在剧情中添加按钮、触发器,以便玩家可以参与互动,影响故事的发展,完成安全实验的沉浸式剧情的引导。
3.3" 实验操作的交互性的实现
为了增强用户体验以及制作高操作性实验,平台提供图形化控件、可编程窗口两种交互方式。图形化控件是使用C#脚本编写,配以功能描述的图文信息,用于传递相关指令操作,用户在体验时便可通过点击图形化控件进行指令的发送,完成相关的攻击过程。可编程窗即为用户提供可输入框,手动输入指令,前端实验平台通过WebSocket API与后端虚拟网络平台建立连接,发送指令,完成攻击过程。如图2所示为平台使用C#编写的文本输入框的核心代码,当进入交互剧情时,用户可点击图形化按钮将showTextBox值置为true,唤醒文本框。确认交互信息后,调用ShowMessageBox方法将指令信息设置为参数,后续将参数传入后端实现本次交互。
3.4" 实验场景的切换的实现
平台搭建两种实验视角,可通过对应的视角按钮进行点击切换。如图3所示,进入剧情环境时立即设置攻击者视角作为主视角,伴随配置剧情引导对话框,并将全局视角切换按钮显现。用户激发Button1按钮后,将深入剧情探索,同时激活输入文本框,用于在引导过程中输入指令操作,剧情结束后则自动进入全局视角。而Button2作为剧情跳出按钮,点击后立即跳过本次剧情,进入全局视角,即实验正式开始。CloseButton用于结束剧情介绍,响应后立即结束剧情模式,闭锁输入框,重回攻击者视角。
4" 平台应用
4.1" 实验工具
4.1.1" Wireshark
Wireshark[8]是一个开源的网络数据包分析软件,支持多种操作系统,可以实时监控和分析网络上的数据包。用户可以使用Wireshark来捕获网络数据包,分析网络通信流量,识别网络问题和安全漏洞,以及进行网络故障排除等操作。
4.1.2" Unity3D
Unity3D是一个由美国的Unity Technologies公司开发的综合性多平台游戏开发工具。它的特点是可以实现多平台一次性开发,并且具备较好的兼容性。该工具被广泛应用于游戏开发行业,并且它还支持创建3D图形化界面,例如用于前端数字孪生引擎的开发[9]。
4.1.3" Ubuntu
Ubuntu是一个基于Linux操作系统的开源操作系统。它的特点是易于使用、稳定可靠以及强调安全性。作为一个流行的操作系统,Ubuntu拥有庞大的用户群体和强大的软件生态系统。它适用于个人用户、企业和教育机构,在提供便捷的操作体验的同时,也注重用户的安全和隐私保护。
4.2" 案例分析
4.2.1" 启动实验
启动实验,可通过双击桌面上的“vemu.py”文件图标,或在文件管理器中定位并打开该文件,从而进入软件主界面。
4.2.2" 部署实验拓扑
在软件界面中,首先选择预设的DDoS攻击实验。选中后,后端将自动生成并发送相应的点击事件至封装的Python函数。随后,点击菜单栏中的“部署”按钮,将所选实验脚本参数传递给已封装的执行shell命令的Python函数。实验拓扑部署完成,软件界面下方将展示拓扑结构中各节点的操作界面。
4.2.3" 实验过程操作
切换到3D实验平台:在菜单栏中点击“放大镜”图标,进入3D实验平台。在此界面,用户可选择“自由操作”或“剧情引导”模式进行实验。
推进剧情与视角切换:在剧情模式下,根据界面提示点击按钮或蓝色倒三角,逐步推进实验剧情如图4所示。同时,可通过点击“全局视角”“攻击者视角”按钮,来切换不同的观察角度,深入了解实验过程。
设备操作与数据分析:在全局视角下,点击主机或服务器,可查看相关设备的信息与操作。例如,点击host1的“打开终端”按钮将弹出终端界面,如图5所示;点击“发包程序”按钮,可打开发包程序;点击“抓包程序”按钮,将打开Wireshark程序进行网络数据包分析。
发起攻击:实验提供两种方式模拟DDoS攻击。一是通过点击界面上的“SYN洪水攻击s1”按钮,触发host1对s1进行DoS攻击或者点击界面上的“一键攻击”触发所有主机对s1进行DDoS攻击;二是切换到攻击者视角,控制傀儡机,输入指令发起DDoS攻击[10]。
4.2.4" 实验结果分析
实验结束后,通过打开Wireshark程序,可直观地查看攻击过程中TCP流量统计图,如图6所示。同时,可进一步查看攻击机发送的TCP数据包的具体数量,如图7所示。
5" 结" 论
根据提出的实践教学解决方案,本项目开发了沉浸式、剧情化、可编程网络安全三维仿真平台,以图形化的操作界面,降低网络安全知识学习难度,并通过设计剧情增强用户的参与感。在该平台上,学习者可以在剧情引导的前提下,结合三维可视化的图形化操作界面,通过相关的交互式操作来对网络安全实验的历史背景、拓扑结构、攻击原理、攻击过程、防御措施等进行学习,从而降低学习难度,应用于网络安全课堂教学、课程思政和知识普及,助力教学及相关科研工作。
参考文献:
[1] 唐俊晓.基于Docker的面向网络空间的漏洞靶场设计与实现 [J].网络安全技术与应用,2021(3):16-18.
[2]张荻,孙蓉.计算机软件开发中Docker技术应用分析 [J].产业创新研究,2023(12):145-147.
[3] 陈磊.三维信息可视化交互技术及其在网络安全中的应用 [D]天津:天津大学,2008.
[4] 吴春江.分布式P2P仿真技术研究与实现 [D].成都:电子科技大学,2008.
[5] 于杨,钟茂昌,郝珂雨.高校虚拟仿真课程设计与开发模型初探 [J].吉林师范大学学报:人文社会科学版,2023,51(3):84-91.
[6] 蔡杰锋.高校计算机网络教学的安全问题分析及对策探讨 [J].网络安全技术与应用,2023(6):102-103.
[7] 黄慕雄.高校教学型虚拟实验室建设的现状与建议 [J].电化教育研究,2005(9):77-80.
[8] 彭玉兰,代琪怡,李佳芮,等.基于GNS3+Wireshark的网络协议分析实验教学改革 [J].现代信息科技,2022,6(18): 185-187+191.
[9] 王娜,徐鲁雄.基于Unity 3D的计算机网络虚拟实验室建设研究 [J].实验技术与管理,2016,33(9):242-245+252.
[10] 王芳.面向DDoS攻击的靶场测试网络检测及防御仿真研究 [D].西安:西安工业大学,2023.
作者简介:冯福敏(2002—),女,汉族,山东菏泽人,本科在读,研究方向:网络工程;唐运(2002—),男,苗族,湖北恩施人,本科在读,研究方向:网络工程;李嘉韩(2003—),男,汉族,福建莆田人,本科在读,研究方向:网络安全;杨媛媛(2001—),女,回族,陕西西安人,本科在读,研究方向:计算机科学与技术;通信作者:陈曦(1985—),男,汉族,重庆永川人,副教授,博士,研究方向:无线网络、软件定义网络、网络虚拟化、人工智能。