马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
摘 要 伴随着网络信息技术的发展,各类信息安全问题频繁出现,天天都有大量的网络攻击。针对这一问题,未知攻,焉知防。因此急需一种可以用来模仿和复现网络攻击的靶场,在这个靶场中让安全人员第一时间掌握这种攻击技术,并找到到与其对应的防御本领淘汰遭受网络攻击对人们带来隐私风险和产业损失。因此,采用Golang开辟语言、MySQL数据库举行开辟。本论文在对网络安全靶场系统举行了需求分析的基础之上,举行了流程计划、功能计划等,最终开辟实现了基于Golang的网络安全靶场系统,主要实现了注册登录、靶场管理、实验室管理、和实验文档管理等功能。通过对系统举行功能测试、兼容性测试、性能测试效果来证明该系统功能美满,安全可靠对网络安全人员有着极大的资助。 关键词:网络安全靶场;Golang开辟语言;MySQL数据库
ABSTRACT With the development of network information technology, various information security issues have emerged frequently, and there are a large number of network attacks every day. In response to this issue, without knowing how to attack, there is no knowing how to defend. Therefore, there is an urgent need for a shooting range that can be used to simulate and replicate network attacks. In this range, security personnel can quickly grasp this attack technology and find corresponding defense measures to reduce privacy risks and property losses caused by network attacks. Therefore, Golang development language and MySQL database are used for development. Based on the requirement analysis of the network security range system, this paper conducted process design, functional design, and ultimately developed and implemented a network security range system based on Golang. The main functions include registration and login, range management, laboratory management, and experimental document management. By conducting functional testing, compatibility testing, and performance testing results on the system, it is proven that the system is fully functional, safe, and reliable, which is of great help to network security personnel. Keywords: Cybersecurity shooting range; Golang; MySQL
目 录 第1章 绪论 1 1.1 研究背景与意义 1 1.2 国内外研究与应用近况 1 1.2.1 网络安全攻防平台研究近况 1 1.2.2 Golang的应用近况 2 第2章 关键技术 3 2.1 Gin和Gorm框架 3 2.1.1 Gin架构简介 3 2.1.2 Gorm架构简介 3 2.2 云计算技术 4 2.2.1 云计算按部署分类 4 2.2.2 虚拟化技术 5 2.2.3 Docker容器技术 6 2.3 本章小结 6 第3章 系统分析 7 3.1 可行性分析 7 3.2 需求分析 7 3.3 系统流程分析 8 3.4 本章小结 9 第4章 系统计划 10 4.1 系统功能计划 10 4.1.1 用户模块计划 10 4.1.2 管理员模块计划 11 4.2 数据库计划 11 4.2.1 数据库E-R图计划 11 4.2.2 数据库表计划 13 4.3 本章小结 15 第5章 系统实现 16 5.1 注册登录 16 5.2 靶场管理 18 5.3 实验室管理 21 5.4 实验室文档管理 23 5.5 虚拟机创建 25 5.6 容器创建 26 5.7 本章小结 29 第6章 系统测试 30 6.1 功能测试 30 6.1.1 实验室测试 30 6.1.2 靶场测试 32 6.2 兼容性测试 35 6.3 性能测试 38 6.4 压力测试 39 6.5 本章小结 40 第7章 竣事语 41 7.1 总结 41 7.2 问题和预测 41 参考文献 43 致谢 44
第1章 绪论 1.1 研究背景与意义 伴随着IT技术的发展与广泛运用,人们生活己经不能够脱离网络。但当信息技术为我们生活带来方便时,怎样保障网络安全这一紧张问题已摆到我们面前,计算机网络对当代生活产生了越来越大的影响,现如今个人,企业及政府部分和国家军事部分无论是天文还是地理都离不开网络来举行信息的通报,这种信息已经成为了一种主流,并且人们对网络的依赖性越来越强。但是网络所具有的开放性和共享性易使其遭受到来自外部的攻击和损害,网络信息中的各类入侵行为以及犯罪活动也随之而来。 为了克制网络安全遭到破坏而带来不可弥补的不良后果,网络安全从业者必要不断的学习和研究新的攻击技术和防御技术,层见叠出的网络攻击伎俩让网络安全人员猝不及防,因此技术在快速发展和进步的同时,不免会留下一些与之相对应的毛病,为了规避这种被攻击的风险,网络安全人员的攻击技术应该领先于攻击者之前,应该在攻击者之前发现毛病。因此网络安全攻防靶场技术是专门模仿和复现网络攻击而搭建的。该平台可以提供最新的毛病为安全人员学习和研究,从而提高网络安全人员的技术水平。 1.2 国内外研究与应用近况 1.2.1 网络安全攻防平台研究近况 许多先进国家推进网络靶场部署,为信息安全挑战、信息安全等级分析等提供紧张支持。网络安全攻防实训平台就是通过仿真真实网络情况使学生或安全人员在网络攻防中实战演练。当前网络安全攻防实训平台被越来越多地利用。在我国,网络安全攻防实训平台已被广泛重视与利用。现在我国网络安全攻防实训平台分为“国家级网络安全人才造就基地”与“在全国高校网络安全比赛中”两类:一类是政府,高校与企业共同研发的公共平台;二是企业开辟的专用平台“华为网络安全实验室”和“360安全应急相应中心”。国外也广泛采用网络安全攻防实训平台。美国的网络安全攻防练习平台主要由政府和高校团结开辟,如“美国国家安全局网络安全教育中心”、“卡内基梅隆大学网络安全实验室”等;欧洲的网络安全攻防练习平台主要由欧盟与相干机构团结开辟,如“欧盟的网络安全机构”、“欧洲网络安全比赛等”等。从整体上看,网络安全攻防实训平台作为非常紧张的教育造就工具,对提拔网络安全人才实践本领与应对本领具有紧张意义。 1.2.2 Golang的应用近况 Go语言(或Golang)是谷歌公司2009年推出的一种新编程语言,其目标在于在保持高性能的前提下,提高编程服从及代码可读性。Go语言一经推出就被广泛运用于云计算,容器化和大数据中,下面就Golang的应用状态作一先容:云计算领域:Go语言被广泛地应用于云计算领域,如Kubernetes,Docker,Cloudflare等等项目均利用Go语言举行开辟,它们均具有高可靠性,高可扩展性以及高性能。大数据领域:Go语言还被广泛应用于大数据处理与分析领域,如InfluxDB,Etcd等等开源项目均利用Go语言举行撰写。网络编程领域:Go语言还广泛地应用于网络编程领域,如HTTP,RPC,WebSocket协议实现均采用Go语言。Web开辟领域:Go语言也被广泛地应用于Web开辟领域中,如Beego,Gin等等Web框架均采用Go语言来编写。从整体上看,Go语言被广泛应用于云计算、容器化、大数据、网络编程以及Web开辟中,其高性能高可扩展性以及高并发性使其成为很好的编程语言之一。
第2章 关键技术 本章节主要对Gorm架构、Gin框架、云计算平台、Docker容器做了主要先容,重点先容了云计算部署的分类,什么是私有云,社区云等,对虚拟化和Docker容器技术技术作了详细先容。 2.1 Gin和Gorm框架 2.1.1 Gin架构简介 用Go语言编写的Web框架里有两个著名的Web框架——Martini框架和Gin框架,这两个Web框架对比起来,Gin本人表示要比Martini框架强多了。由于这款平台本身就很强盛,而且还有许多新功能。另外它还提供很高的灵活性和可扩展性。综上所述,这是Go语言开辟领域中值得很好地学习的Web框架之一,这个API框架和martini差不多,但是性能比较好,由于采用http router,所以速率险些提拔了40倍Go里面最受欢迎的Web框架GITHUB中32K+star就是其中之一。基于http router开辟的Web框架。中文文档完备、简便易行、轻量级框架。Gin作为Golang微框架封装更典雅、API更友爱、源码注释更清晰,1.0版已推出。本实用新型快速灵活且容错轻易。事实上,对Golang来说,web框架远远低于Python和Java等。本身net/http就够简单了,表现很好。框架更多地像几个常用函数或工具的组合。在框架开辟的资助下,不但能节省许多通常利用的封装所花费的时间,而且还能资助团队编码风格并塑造标准。速率:在浩繁的企业与团队中利用的首要原因是它的快速与卓越的性能表现。在请求的处理上,支持中间件的运行,便于编码处理。Gin里能很简单地完成路由剖析,而且还含有路由组剖析。 2.1.2 Gorm架构简介 GORM是面向Golang 语言的一种 ORM(持久层)框架,该框架的独特之处在于,只必要用它所给的的API来访问底层的数据库,因此它削弱了开辟者对于SQL语言的学习程度,降级了学习成本,使得开辟者开辟服从更高全功能ORM、关联 (多态,单表继续)、Create,Save,Update,Delete,Find中钩子方法、支持 Preload、Joins 的预加载、Context、预编译模式、DryRun模式、复合主键索引约束、自定义Logger、开辟者友爱。 2.2 云计算技术 云计算给软件开辟与部署模式带来了全新的可能方与方向,具有肯定的创新性。云计算现已成为提供多种服务并搭载多样应用程序的紧张基础设施,它为人工智能、大数据、物联网等诸多新兴领域的发展与进步提供了基本支撑。 2.2.1 云计算按部署分类 1.私有云 私有云是一种为企业或个人定制的云计算情况,该情况以私有方式部署在本地数据中心或公司内部网络中,由企业或个人负责管理和运维。与公共云相比,私有云具有更高的,可靠性强、安全性高、灵活性大等优势。特征是自己的公司自己架设服务器为员工利用,所有权归企业里的负责管理人员,没有严格的规定,小大由之。 2.社区云 社区云在特定的社区范围内共享资源和服务的计算情况。该计算情况由一组相互协作的成员机构或用户构成,这些成员通常属于同一行业、同一领域或同一地理位置。具有云端资源仅为2个或2个以上详细单位组织内部员工所利用等核心特点,除此,社区云是公有云的一种范例,指云服务提供商在资源,软件以及服务本领等方面提供服务的云计算模式。社区云综合了社区成员共同需求实现区域间资源共享和设置。与公有云相比,社区云具有隐私性和安全性上的优势。软件与服务本领云计算模型。社区云综合了社区成员共同需求实现区域间资源共享和设置。与公有云相比,社区云具有隐私性和安全性上的优势。 3.公有云 云计算平台是面向公众大概大型行业集团的云服务平台。这些企业通常利用私有云,而用户则可利用公有的资源来处理自己必要的数据。公有云服务可经由网络及第三方服务提供商对顾客开放。在公有云服务商看来,云计算平台的提供者应该是私有企业,即所谓的“公有企业”.然而,在实际中,我们却常常看到公有企业利用自己所掌握的网络资源来实施一些非法行为。“公有”一词不肯定是“免费”的,不外,这也可能表示免费,大概价格相当低廉。公有云服务通常必要对其用户举行授权,而这些授权必须以私有服务器上存储的敏感信息为前提。公有云不是说谁都有权获取用户的数据,访问控制机制为公有云提供商对用户所采用的一种工具。公有云是一种可伸缩、低成本并且易于管理的计算模式,其目标在于使每个人能够在任何时间、以何种方式访问自己所必要的信息。作为解决方案,公有云有弹性,经济有效。现在,公有云已经成为了环球范围内最盛行的一种贸易模式,许多企业正在部署和运营私有云。第三方云服务提供商对公有云举行建设和运维,通过互联网,人们能够利用所提供的计算资源,比如,应用程序与开辟平台。在公有云中,用户能够从服务器上获得服务,并且在任何时间和地点举行操纵,从而克制了个人计算机或网络对其带来的安全威胁。公有云中的云服务提供商、对一切软硬件资源及其他基础设施资源举行维护与管理,人们通过浏览器获取这些服务资源,并且对其账户举行管理。 4.混合云 是由两种或两种以上不同范例的云(私有云,社区云,公共云等)构成,实际上,这并不是一种特定范例的单个云,它向外展示的计算资源是由2个大概更多云端提供,无非是参加混合的云管理层。这些企业通常利用私有云,而用户则可利用公有的资源来处理自己必要的数据。云服务的消耗者以混合云管理层的方式出租并利用资源,以为似乎是用了同一块云上的资源,事实上,内部是由混合云管理层从真正云端路由而来的,一般人都会在公共云中放置一些非企业大概组织的关键秘密信息,并对这些信息加以管理与计算,同时,利用私有云对企业大概组织中的关键服务以及秘密数据举行管控。混合云使企业或组织可以利用云平台实现跨域共享和应用。私有云与公有云间自由迁移数据与应用,使企业大概组织能够通过混合云实现更加敏捷,解决方法更加丰富。 2.2.2 虚拟化技术 虚拟化技术通常利用虚拟机的管理程序来负责操纵系统之间硬件资源的调理,处于操纵系统和硬件装备之间的中间状态。虚拟机管理程序和硬件装备没有任何关系,所以也没有必要专为硬件装备举行管理,只要按照虚拟机提供的特点举行相干应用的设置就可以了,并没有传统方式中硬件装备必要举行重新计划。对于完全虚拟化技术,虚拟机管理程序直接操纵硬件装备,可以作为一个特殊操纵系统利用。虚拟机管理程序将底层硬件资源抽象成虚拟资源举行集中管理,然后分配给虚拟机,虚拟机共享以上虚拟资源。由于虚拟机与物理系统无关,可根据必要灵活地扩展虚拟机。虚拟机对于操纵系统与应用来说,只是一个容纳的工具,之间在逻辑上是孤立的。从而虚拟机管理程序无需对系统整体举行修改,即可完成全部的功能。虚拟机管理程序基本上可以支持许多范例和设置的操纵系统。 虚拟机管理程序虚拟化原理包括CPU虚拟化2种,内存虚拟化和I/O虚拟化3大内容。在实践中,一般都会采用不同种类的虚拟化技术对上述问题举行处理,从而实现性能提拔大概成本降低。CPU虚拟化是虚拟机管理程序的最主要功能,对内存虚拟化和I/O虚拟化等技术的实现起决定性作用。内存虚拟化包含在物理机中建立多个逻辑块,并且把它们生存在不同种类的存储器中。CPU虚拟化主要工作就是模仿指令的执行,停止及异常时虚拟CPU的个数可多于物理CPU,能充分利用物理机的CPU资源。内存虚拟化主要负责将物理内存转换为呆板内存内的地点,从而解决虚拟机内存访问问题。另一方面虚拟机之间,虚拟机和虚拟机管理程序之间内存隔离,防止虚拟机中应用程序对其他虚拟机以致虚拟机管理程序自身产生影响,从而导致程序瓦解。I/O虚拟化以虚拟机利用和访问外部装备为主,通过访问拦截,装备模仿和装备共享等本领实现。以虚拟机监控程序为核心提供的虚拟平台种类,可以分为半虚拟化和完全虚拟化两种,也称为1型虚拟化,2型虚拟化等等。完全虚拟化也称为原始虚拟化技术。虚拟机是指能够不依赖于物理装备举行工作的计算机大概其他计算装置。该技术利用虚拟机管理程序来协调虚拟机操纵系统和物理硬件。完全虚拟化可以改善系统性能,而不会增加硬件成本。虚拟机管理程序用于协调虚拟机操纵系统和物理硬件之间的操纵以及拦截和处理部分下令。为满足完全虚拟化需求,必要对虚拟机管理程序举行适当修改以符合虚拟机操纵系统。完全虚拟化比硬件模仿具有更高的运行服从,但是性能不如物理机,由于虚拟机中管理程序必要占用一些资源。若虚拟机管理程序必要实现对虚拟机系统内所有进程及线程举行监视与管理,则必要利用虚拟平台。对于完全虚拟化的虚拟机管理程序这一虚拟平台来说是真实存在的。 2.2.3 Docker容器技术 虚拟机的技术发展,缓解了企业对于硬件资源过分依赖的问题,其把一个物理装备虚拟成若干个逻辑装备,每一个逻辑装备能够运行不同操纵系统,应用程序均能在相互独立空间中举行操纵且不产生任何影响,明显提高了装备工作服从。但是传统的虚拟技术在实现应用程序时需安装操纵系统,过多的占用了系统资源。大多数时间用户仅需运行一个简单的应用,利用虚拟技术举行操纵既烦琐又浪费资源。 因此容器技术就诞生了,它采用进程级的情况隔离,为了能达到虚拟机实现的效果,为了创造虚拟的隔离情况,但它采用系统级的隔离方式,Docker作为盛行的容器工具,受到浩繁开辟人员的亲睐。通过对任意物理装备的安装和操纵来达到虚拟化的目标,从而使得应用程序完全从底层装备中分离出来,并能灵活地举行物理机间的迁移和部署,使得运维工程师能够从烦琐的情况部署中解放出来,大大提高工作服从的同时降低部署时可能带来的风险。 在虚拟化技术日益发展的大情况中,用户对虚拟机资源动态分配提出了越来越高的要求,而现有的方法无法很好的适应这种需求,这就使虚拟机资源动态分配成为一个亟待解决的困难。docker正是针对这一问题举行了实质性改革。提供一个同一的框架来实现多种容器之间的互操纵、共享资源以及动态扩展本领。所以网络安全靶场的题库功能采用docker技术来完成,由于Docker容器较虚拟机较少采用抽象层物理机操纵系统内核而无需增加操纵系统内核,相较于虚拟机而言Docker容器系统具有资源利用服从高,启动快,易于迁移、维护及扩展,可以连续交付及部署等特点。 2.3 本章小结 在这一章中,我们起首探讨了Gorm和Gin的先容,然后本文论述了网络安全靶场中云计算的一些基础知识,然后详细的论述了虚拟机和docker容器技术。
第3章 系统分析 在上一章中,先容了Gorm框架和Gin框架,重点先容了平台所用到的虚拟机和容器技术,在此基础大将对会平台的分析和计划作为探讨对象,探讨内容为平台的可行性分析和需求分析。 3.1 可行性分析 文章从技术可行性,经济可行性,管理可行性和开辟情况可行性等方面四个方面对网络安全攻防实训平台举行了可行性分析,以下对这四个方面举行了分析。 1.技术上可行 技术层面采用Go编程语言,以及Gorm和Gin成熟的web框架,虚拟化技术采用ESXI虚拟化平台用来创建实验室,具有流畅的操纵体验,题库采用轻量级的Docker容器技术,降低硬件开销节省成本。 2.经济可行性 Gorm与Gin架构各部分均为开源产品,极大地降低项目开辟成本。同时采用Gorm,Bootstrap等框架技术不但能够简化开辟流程而且能够极大地缩短项目开辟周期,降低开辟成本。别的,所有docker都免费利用。 3.管理可行性 本课题采用Gorm框架和Bootstrap前端框架相结合的方式,界面计划更加简单明了,方便用户更轻易上手。 4.开辟情况的可行性 实验室具有富足的硬件、软件及网络情况,为该项目标研制提供了支撑。 3.2 需求分析 如图3.1所示,功能需求可以分为四部分,分别是用户注册、靶场管理、实验室管理和实验文档管理。
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图3.1 系统整体用例图 1.管理员用户 管理员用户可以对平台里的题库数据和实验室数据举行删除和添加。 2.靶场管理 对平台上的靶场举行上传大概删除,对靶场基本情况举行修改,并查看网络安全攻防实训平台上所有题库的运行状态。主要用于对题目标管理,为用户提供最新的题目。 3.实验室管理 上传或删除平台中的实验室,查看平台中各实验室运行状态。主要是用于管理实验室的实验地点,类别,对实验室题目标添加和删除。 4.实验文档管理 管理员可以通过obsidian举行实验文档的编写,通过GitHub pages静态托管平台举行访问。 3.3 系统流程分析 系统流程图可以梳理业务流程。通过绘制系统流程图,可以清晰地展示出每一个功能模块的输入与输出,能相识系统业务的处理情况。用户通过注册、登岸、选择靶场、选择实验室。流程图如下图3.2所示。
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图3.2 系统流程图 起首,用户先通过注册账号并登岸后,可以自由选择靶场学习还是实验室学习,如果选择靶场,将会进入靶场学习,如果选择实验室,将会进入实验室。详细操纵流程如下: (1)用户点击注册账号,通过输入账号,在输入密码,然后再次输入确认密码,后台会对账号举行查询,如果账号不存在将会注册成功,否则失败。 (2)选择靶场练习,用户将会进入靶场学习,实战练习来提高技术水平。 (3)实验室可以支持模仿各种攻击与防护场景。同时,安全实验室还提供了各种工具宁静台资助用户相识网络攻击、毛病挖掘和渗透测试等知识点。 3.4 本章小结 本章先容了可行性分析,分别从技术上和经济上做了概述,然后先容了需求分析,分别从注册登录、题库管理、实验室管理以及实验文档管理四个方面举行了阐明。
第4章 系统计划 4.1 系统功能计划
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图4.1 系统功能结构图 4.1.1 用户模块计划 1.用户注册 用户注册功能以便新用户能够在系统中创建个人账户并获得访问权限,用户通过输入账号密码和确认密码后点击注册按钮后来举行注册。 2.用户登岸 用户输入已注册的账号和密码举行登录,后端后对账号和密码举行校验,检验成功后就会登录成功,否则登录失败。 3.靶场学习 靶场学习是提供大量的毛病网站,用户登岸后可以选择想要的举行学习的毛病。通过在线靶场平台,学生可以从任何地方长途访问靶机并举行攻击测试,在完全安全的虚拟情况中学习、实践各种技术本领,提高网络安全实战本领。 4.实验室学习 实验室学习可以举行实验操纵和模仿攻击的情况,用户可以在线实验,选择要实验的项目进入实验室后可举行实验。能够提高他们发现和解决网络攻击、毛病等问题的本领。 5.实验室文档 对靶场的详细阐明和利用指南。实验室靶场文档提供参与者必要相识的基础知识和相干工具的先容,以资助他们更好地理解和利用靶场。一份好的实验室靶场文档应该清晰易懂,并提供详细的步调和示例,以便参与者能够迅速上手并开始学习和实践。 4.1.2 管理员模块计划 1.管理员登岸 管理员用户输入已注册的账号和密码举行登录,后端后对账号和密码举行校验,检验成功后就会登录成功,否则登录失败。登录成功后,管理员可以访问靶场控制台。 2.靶场管理 管理员用户可以对靶场举行上传。用户可以做到不同范例的题目。 3.实验室管理 上传或删除平台中的实验室,查看平台中各实验室运行状态。主要是用于管理实验室的实验地点,类别,对实验室题目标添加和删除。 4.2 数据库计划 4.2.1 数据库E-R图计划 数据库的计划主要就是通过E-R图举行展现,将详细先容一下主要部分的的E-R图: 管理员实体、用户实体、靶场实体、实验室实体。 1.管理员实体 包括管理员的登岸密码、登岸账号、创建时间等,实体E-R图4.2所示。
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图4.2 管理员实体属性图 2. 用户实体 包括用户的登岸密码、登岸账号、创建时间等,实体E-R图4.3所示。
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图4.3 用户实体属性图 3. 靶场实体 靶场实体主要包括,靶场名称、靶场类别、靶园地点、靶场封面、靶场时间、靶场文档路径等,实体E-R图4.4。
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图4.4 题库实体属性图 4. 实验室实体 实验室实体主要包括,实验室名称、实验室类别、实验室地点、实验室封、实验室时间、实验室文档路径等实体E-R图4.5。
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图4.5 实验室实体属性图 4.2.2 数据库表计划 本系统采用的是mysql数据库。并创建数据库名为golang。和本平台相干的主要包括实体和关系,下面将会对表单中的表结构举行详细形貌。数据库表信如下所示。 管理员表用于存储管理员的账号、密码、邮箱、手机号、创建时间等字段,管理员表内容如下。 表4.1 管理员表
字段名称
| 数据范例
| 必填
| 注释
| id
| Int(11)
| 是
| 主键
| username
| varchar(40)
| 是
| 用户名
| password
| varchar(64)
| 是
| 密码
| updated_at
| datetime
| 否
| 更新时间
| created_atphoneemail
| datetimevarchar(64)varchar(64)
| 否否否
| 创建时间 手机号 邮箱
| 用户表用于存储用户的账号、密码、邮箱、手机号、创建时间等字段,用户表内容如下。 表4.2 用户表
字段名称
| 数据范例
| 必填
| 注释
| id
| Int(11)
| 是
| 主键
| username
| varchar(40)
| 是
| 用户名
| password
| varchar(64)
| 是
| 密码
| updated_at
| datetime
| 否
| 更新时间
| created_atphoneemail
| Datetimevarchar(64)varchar(64)
| 否否否
| 创建时间 手机号 邮箱
| 靶场表存储着平台前端的靶场信息,主要包括靶场名称、靶场类别、靶园地点、靶场封面、靶场时间、靶场文档路径。 表4.3 靶场表
字段名
| 数据范例
| 必填
| 备注
| id
| int
| 是
| 主键
| title
| varchar(200)
| 是
| 靶场名
| content
| varchar(64)
| 是
| 靶园地点
| tag
| varchar(64)
| 是
| 范例
| created_at
| datetime
| 是
| 创建时间
| img
| varchar(255)
| 是
| 封面图片
| doc
| varchar(64)
| 否
| 实验文档
| 实验室表主要包括,实验室名称、实验室类别、实验室地点、实验室封面、实验室时间、实验室文档路径等。 表4.4 实验室表
字段名
| 数据范例
| 必填
| 备注
| id
| int
| 是
| 主键
| title
| varchar(200)
| 是
| 题目
| lab
| varchar(64)
| 是
| 实验室地点
| tag
| varchar(64)
| 是
| 范例
| created_at
| datetime
| 是
| 创建时间
| img
| varchar(255)
| 是
| 封面图片
| doc
| varchar(64)
| 否
| 实验文档
| 4.3 本章小结 本章节通过根据系统的需求分析对靶场平台举行了系统计划,只要对数据库计划、功能计划等,并对系统计划中各个模块举行了讨论。
第5章 系统实现 本章节将会对系统的功能模块举行详细叙述,其中包括注册、登录、靶场、实验室等展现了GO语言开辟的全部过程。 5.1 注册登岸 登录模块主要用于判断刷新的页面是否用户存在,存在后密码正确即可登录。输入用户名称、输入密码、再次输入密码、点击注册。 后台查询账号,如果没有完成注册。
添加图片注释,不凌驾 140 字(可选)
图5.1 用户注册图 func Register(c *gin.Context) { username := c.PostForm("username") //获取from表单的值 password := c.PostForm("password") user := model.User{ Username: username, Password: password, } dao.Mgr.Register(&user) c.Redirect(301, "/") //注册后重定向到首页 } Login(username string) model.User 前端网络到用户名和密码后向后端发起请求。后端吸收到用户名和密码后对数据库举行查询,如果用户名不对,将会提醒用户名不存在,密码错误将会提醒用户密码输入错误如图5.2所示。
添加图片注释,不凌驾 140 字(可选)
图5.2 用户登岸 func Login(c *gin.Context) { //登岸 username := c.PostForm("username") password := c.PostForm("password") fmt.Println(username) u := dao.Mgr.Login(username) if u.Username == "" { c.HTML(200, "login.html", "用户名不存在!") fmt.Println("用户名不存在!") } else { if u.Password != password { fmt.Println("密码错误") c.HTML(200, "login.html", "密码错误") } else { fmt.Println("登录成功") c.Redirect(301, "/post") } } } 5.2 靶场管理 管理员用户可以通过对靶场举行管理,举行上传靶场功能如图5.3所示。
添加图片注释,不凌驾 140 字(可选)
图5.3 靶场管理 GetPostAddPost(post *model.Post) GetAllPost() []model.Post GetPost(pid int) model.Post func (mgr *manager) AddPost(post *model.Post) { //创建 mgr.db.Create(post) } func (mgr *manager) GetAllPost() []model.Post { var posts = make([]model.Post, 10) mgr.db.Find(&posts) //查找 return posts } func (mgr *manager) GetPost(pid int) model.Post { var post model.Post // 获取id mgr.db.First(&post, pid) return post } 上传以后可以在平凡用户可以在靶场页面看到新上传的靶场,如图5.4查看靶场。
添加图片注释,不凌驾 140 字(可选)
图5.4 查看靶场 管理员用户可以通过靶场举行删除如图5.5所示。
添加图片注释,不凌驾 140 字(可选)
图5.5 靶场删除 对struts-s2-001代码执行毛病举行删除后,可以看到前台的靶场被删除了。如图5.6所示靶场删除后查看。
添加图片注释,不凌驾 140 字(可选)
图5.6 靶场删除后查看 func (mgr *manager) AdminArticleDelet(id int) bool { log.Printf("Delete article ID: %#v\n", id) mgr.db.Delete(new(model.Post), id) return true } //删除 //靶场列表 func GetPostIndex(c *gin.Context) { posts := dao.Mgr.GetAllPost() c.HTML(200, "postIndex.html", posts) //postIndex } // 添加靶场 func AddPost(c *gin.Context) { title := c.PostForm("title") tag := c.PostForm("tag") content := c.PostForm("content") img := c.PostForm("img") post := model.Post{ Title: title, Tag: tag, Content: content, Img: img, } dao.Mgr.AddPost(&post) c.Redirect(302, "/post_index") //跳转到靶场 post_index } 5.3 实验室管理 上传实验室模块主要用于创建实验室并发布实验室和删除实验室,如下图5.5和5.6所示。
添加图片注释,不凌驾 140 字(可选)
图5.5 实验室管理
添加图片注释,不凌驾 140 字(可选)
图5.6 实验室删除 func (mgr *manager) Addcom(admin *model.Admin) { mgr.db.Create(admin) } func (mgr *manager) GetAllcom() []model.Admin { var posts = make([]model.Admin, 10) mgr.db.Find(&posts) return posts } func (mgr *manager) Getcom(pid int) model.Admin { var admin model.Admin mgr.db.First(&admin, pid) return admin } func (mgr *manager) Flag(flag string) model.Admin { var admin model.Admin mgr.db.Where("flag=?", flag).First(&flag) return admin } func (mgr *manager) Dell(username string) model.Admin { var user model.Admin mgr.db.Where("username=?", username).First(&user) return user } // AdminArticleDelete Admins 实验室删除 func (mgr *manager) AdminArticleDelete(id int) bool { log.Printf("Delete article ID: %#v\n", id) mgr.db.Delete(new(model.Admin), id) return true } 5.4 实验室文档管理 实验室文档主要包括实验情况搭建指南、实验的操纵方法和流程、实验过程中必要服从的安全措施和留意事项。为了降低平台的成本,实验文档采用开源的Docsify项目,并通过Github pages举行静态托管。
添加图片注释,不凌驾 140 字(可选)
图5.7 创建repository 通过git举行实验文档上传到GitHub pages如图5.8所示通过Git上传到GitHub pages。
添加图片注释,不凌驾 140 字(可选)
图5.8 实验文档编写 通过git举行实验文档上传到GitHub pages如图5.9所示通过Git上传到GitHub pages。
添加图片注释,不凌驾 140 字(可选)
图5.9 Git上传到Github
添加图片注释,不凌驾 140 字(可选)
图5.10 实验室文档 5.5 创建虚拟机 ESXI是一种用于运行虚拟机的虚拟化产品平台,即ESXI可以直接接入和控制底层资源,所以可以有效地划分硬件,以集成应用和减少成本,无需起首安装OS。在利用时只需简单地从系统中提取一个模块即可完成整个设置过程,并且无需重新开辟应用程序就能快速构建新的应用。ESXI能够尽量淘汰设置要求,简化部署所计划的。同时它也支持多操纵系统平台以及不同的物理机群情况,为企业构建同一的网络架构提供了便利。在此过程中,只需简单地执行一系列步调,就能让系统主动完成相干设置,无需任何复杂的操纵即可快速创建一个新的物理装备,同时也不必要再重新开辟操纵系统。带即插即用型软件提供新的,极简化的软件交付安装方法。 完成任务的过程是如许的: (1)获取任务所需的CPU核数,内存大小,并对CPU,内存及硬盘的最大性能。 (2)获得实验室要求的操纵系统。 (3)查抄完成的工作是否符合现在硬件要求。 (4)按照任务范例得出CPU,内存,硬盘的系数。 (5)计算节点克隆存储节点中的虚拟机镜像,并建立虚拟机。 (6)计算节点获得网络节点的IP地点。 (7)等虚拟机建立完成如图5.11所示。
添加图片注释,不凌驾 140 字(可选)
图5.11 创建虚拟机 5.6 创建容器 只管Docker支持Windows下的安装,但它比Linux下的支持要小得多,而且安装起来比较繁琐,所以通常是Linux下的。再将Docker安装到操纵系统中。如果不相识怎样利用,就会影响到整个系统的稳定性。最后,Docker中的为应用程序及所需二进制文件与库。本文将先容怎样用虚拟机技术解决这个问题,并且详细论述了虚拟机的工作原理及详细实现过程。Docker容器不像虚拟机那样不利用单独的操纵系统将系统情况举行分离,而是利用Linux内核自身的工具将系统情况分离,而将系统情况从根目录情况中分离出去则是由Namespace结合镜像举行;资源限制是由group来完成。由于Docker容器在抽象层上较虚拟机更少且直接利用物理机操纵系统内核而无需增加操纵系统内核,所以相对于虚拟机而言,Docker容器具有系统资源利用服从高,启动时间快,易于迁移维护及扩展且可连续交付部署等特点。本平台采用FASTOS docker管理平台如图5.12所示。
添加图片注释,不凌驾 140 字(可选)
图5.12 FASTOS Docker管理平台 创建题库容器步调如下: 拉取题库镜像到docker里如图5.13所示。
添加图片注释,不凌驾 140 字(可选)
图5.13 拉取镜像 创建虚拟容器网络如图5.14所示。
添加图片注释,不凌驾 140 字(可选)
图5.14 创建网络 根据镜像所必要的情况举行创建容器如图5.15所示。
添加图片注释,不凌驾 140 字(可选)
图5.15 创建容器 启动容器并访问如图5.16所示。
添加图片注释,不凌驾 140 字(可选)
图5.16 创建容器 5.7 本章小结 本章主要先容了数据库创建、用户登岸、上传题库、上传实验室、创建虚拟机和创建容器的关键技术举行了形貌,并以代码和图片的情势先容了网络安全靶场的计划和实现。
第6章 系统测试测试 6.1 功能测试 6.1.1 实验室测试 本次测试的重点在于验证平台的核心功能,上传到实验室并下发题库,公布攻防实验、在实验虚拟机上举行输入学习、现将实验过程详细先容如下。 管理员将实验室上传到系统模块。其中管理员位于图6.2中在所示页面中,系统可以查看所有靶场并将其生存到数据库中。利用者根据必要选择靶场范例以举行练习,图6.1中的网页上,可以看到不同范例的实验题目、实验范例等。
添加图片注释,不凌驾 140 字(可选)
图6.1 实验室查看 管理员制作攻防实验模块,得到攻防实验基本信息,然后在管理页面中输入相应的实验室账号密码,在输入题目标签和实验室地点,封面文件名。其中,管理员将实验地点填入图6.2创建并发布实验室、选择实验方向、实验的类别等,上传jpg格式的图片封面信息。
添加图片注释,不凌驾 140 字(可选)
图6.2 创建并发布实验室 用户进入DOS拒绝服务攻击实验室举行学习如图6.3所示实验室。
添加图片注释,不凌驾 140 字(可选)
图6.3 实验室首页 用户进入到实验室后对目标网站http://192.168.164.100举行了流量攻击导致目标网站瘫痪,通过抓包可以发现有大量的arp流量包对目标网站举行了发送,实验成功如图6.4所示DDos攻击实验。
添加图片注释,不凌驾 140 字(可选)
图6.4 DDos攻击实验 6.1.2 靶场测试 本次测试主要测试网络安全靶场实训平台的靶场模块的关键功能部分,包括:管理员上传靶场、发布靶场、删除靶场、在线靶场利用过程详细先容如下。 管理员将靶场上传到平台。其中管理员位于图6.5中在所示页面中,通过填写靶园地点、靶场标题、靶场标签,封面文件名以及上传的封面图片文件。该系统能看到全部的考题,并且生存在数据库里。图6.6中的网页上,看到靶场中的全部资料,包括靶场名称、所属标签和其他资料。
添加图片注释,不凌驾 140 字(可选)
图6.5 上传并发布题库 用户进入HMS v1.0 SQL注入(CVE-2022-23366)靶场学习如图6.6所示。
添加图片注释,不凌驾 140 字(可选)
图6.6 选择靶场 用户进入拿到靶园地点通过题目得知该靶场是一个带有SQL注入的网站 如图6.7靶场阐明。
添加图片注释,不凌驾 140 字(可选)
图6.7 靶场阐明 用户访问带有SQL注入的网站如图6.8靶园地点。
添加图片注释,不凌驾 140 字(可选)
图6.8 靶园地点 通过对该网站举行SQL注入攻击成功拿到该网站的数据库,图6.9攻击成功。
添加图片注释,不凌驾 140 字(可选)
图6.9 攻击成功 6.2 兼容性测试 该平台是在Gin项目架构下开辟和实现的,利用Bootstrapt框架建立用户表单,利用BS架构,兼容各种操纵系统、终端装备特点。所以,该平台的兼容性测试是以平台首页为例来测试该平台与操纵系统的兼容情况、终端装备与浏览器是否相容。 1.操纵系统兼容性测试 这次测试利用的是windows10和Linux,在macos操纵系统上对该平台举行了兼容性测试,试验效果见图6.10windows测试效果。通过本次测试发现该平台具有良好的兼容性。
添加图片注释,不凌驾 140 字(可选)
图6.10 windows测试效果
添加图片注释,不凌驾 140 字(可选)
图6.11 macos测试效果
添加图片注释,不凌驾 140 字(可选)
图6.12 Linux测试效果 2.浏览器兼容性测试 浏览器测试主要利用的是主流浏览器,包括:在 Firefox浏览器,Google浏览器,Edge浏览器,Safari浏览器和360极速浏览器上举行了测试,其效果见下图6.13浏览器测试。该平台前端开辟采用bs架构,所以浏览器平台将与html有很好的兼容性。
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图6.13 各种浏览器登录页测试效果 6.3 性能测试 本次测试主要针对云平台ESXI的性能测试,平台采用72核640G内存和4T硬盘,因此最多只能为虚拟机分配这些资源,因此只对虚拟机的创建时间举行测试,创建时间用时3分27秒,如图6.14创建虚拟机,采用NETDATA监控工具对云平台举行了性能监控,硬盘和CPU性能拉满如图6.15监控平台。
添加图片注释,不凌驾 140 字(可选)
添加图片注释,不凌驾 140 字(可选)
图6.14 创建虚拟机
添加图片注释,不凌驾 140 字(可选)
图6.15 监控平台 6.4 压力测试 还对靶场平台举行了压力测试,采用ab压力测试工具来模仿用户访问,通过构建参数-n模仿用户请求数-c模仿并发数如图6.16。
添加图片注释,不凌驾 140 字(可选)
图6.16 压力测试 可以看到图6.17有大量的请求访问涌入站中。
添加图片注释,不凌驾 140 字(可选)
图6.17 请求用户 如图6.18硬件负载监控所示在压力测试下cpu的负载从3%飙到了43%,网络流量也从原来的2k飙到了1000k,通过压力测试后最终得到该网站的访问请求可以遭受1000+的访问量。
添加图片注释,不凌驾 140 字(可选)
图6.18 负载监控 6.5 本章小节 本章主要先容了平台的测试情况,起首先容了功能测试,有查看题库功能,创建实验室功能,发布实验室功能,然后对兼容性举行了测试,分别在不同的终端装备下和不同厂商的浏览器平台举行了兼容性测试,有着出色的表现。接着从平台访问权限方面检验其安全性。最后在云平台创建过程中举行性能测试并阐明,主用net data监控工具来监控云平台创建虚拟机的性能,研究发现,当虚拟机建立时,磁盘与处理器的性能被拉满。通过压力测试软件对平台的网站举行了压力测试,通过模仿1000人同时并发访问量下完全无压力。
第7章 竣事语 7.1 总结 现在网络安全问题频繁出现,网络对抗日趋激烈。世界各大国都在布局网络空间安全战略以占领制高点。我国政府也将网络空间安全提拔到了国家战略层面,制定相干政策有利于促进网络安全靶场的建设,在造就人才方面有着紧张的意义,在演练过程中安全人员能学到各种技术以及实战履历,为国家造就安全人才具有极为紧张。在这种背景下,怎样构建一套高效灵活、可扩展、稳定可靠的网络靶场成为了亟待解决的困难。常用的网络靶场控制系统主要包括以仿真为核心的系统,以传统技术为核心的系统以及以虚拟技术为核心的网络,但仿真平台并不适用于瞬息万变的网络安全问题,而传统技术平台存在费用高更新速率慢,虚拟技术平台组态复杂,管理难度大等问题。别的,现有的一些系统存在着可扩展性差以及难以与其他软硬件集成等问题。因此,过去的平台不能适应高灵活性、易管理等要求。别的,由于现在大多数网络靶场都是通过部署服务器来完成整个系统的运行与维护工作,这也使得资源利用率低,而且随着时间的推移服务器轻易发生故障甚至瘫痪,造成巨大的经济损失。但迩来,云计算应运而生,给网络靶场控制系统带来了新的可能性。它可以在保证系统安全性的基础上,利用云计算技术对现有网络靶场控制系统举行改造升级。为此,本文计划并实现了基于Golang的网络靶场攻防平台,围绕网络靶场控制平台架构计划、混合虚拟化方式的任务执行方法、平台的同一接口计划三个方面展开研究。在对传统网络流量模型举行分析后提出一个适用于多租户系统的通用网络流量模型,以此作为平台架构的基础。平台采用B/S架构计划并利用HTTP协议从用户处获取靶场任务并以定制任务数据格式实现任务创建,执行与删除全生命周期。为此,本文计划并实现了基于Golang的网络靶场平台,围绕网络靶场控制平台架构计划,同时在系统中引入混合虚拟化方式来降低服务器集群的压力,从而提高系统运行服从。 7.2 问题和预测 只管该平台当前的功能是正常的,但是在网络技术日益发展与更新的今天,该平台存在的问题也是无法克制的,还需进一步维护与优化,详细存在如下问题:该平台采用了Golang编程语言开辟、利用Gin框架技术、新版框架将持续修补毛病、这些都将成为平台面对的重大困难宁静台后期维护工作的重点。平台虚拟机的存储方式是有问题的,如今所有虚拟机在一个物理机上运行,给服务器造成了一些压力,在这里必要在以后的工作中再优化。通过net data监控平台的监控可以相识到虚拟机的创建对于性能要求有肯定压力,这部分内容还有待进一步的优化。本论文的性能测试只对虚拟机的创建情况做出测试,并没有对虚拟机的性能举行测试,会在以后的工作中得到不断美满。总之,在将来的发展过平台还有不足之处,还必要去维护和优化,以便更好地服务于网络安全爱好者。
参考文献 [1]吴怡晨.网络空间攻防靶场的计划和构建技术研究[D].上海交通大学,2018 [2]李馥娟.王群.网络靶场及其关键技术研究[J].计算机工程与应用,2022(05) [3]王诗琦.网络安全隔离与信息交换技术的系统分析[J].信息通信,2012(3):211-212 [4]王莎莎.基ThinkPHP框架的网络安全攻防实训平台的计划与实现[D].北京邮电大学,2017 [5]唐忠诚.基于golang的分布式全文检索系统研究与实现[D].华南理工大学,2015 [6]石帅.云计算情况下的虚拟机节能调理算法研究[D].哈尔滨工业大学,2014 [7]罗刚毅.网络感知的虚拟机部署与整合技术研究及实现[D].南京大学,2014 [8]陈颢. 蜜罐技术在网络安全中的计划与应用[D].电子科技大学,2012 [9]李进超.虚拟机动态资源分配及放置算法研究[D].复旦大学,2012 [10]刘鹏程.云计算中虚拟机动态迁移的研究[D].复旦大学,2009 [11]孙昱.虚拟机Xen及其实时迁移技术研究[D].上海交通大学,2008 [12]张小庆.基于云计算情况的资源提供优化方法研究[D].武汉理工大学,2013 [13]邓莉.基于虚拟机迁移的动态资源设置研究[D].华中科技大学,2013 [14]李艺.工业控制网络安全防御体系及关键技术研究[D].华北电力大学(北京),2017 [15]张莉丽.魏向东.关于服务器系统虚拟化技术综述[J].信息与电脑(理论版),2019(01) [16]林传慧.采用B/S架构的网络安全检测分析模式的研究与实现[D].北京邮电大学,2015 [17]许伦彰.基于蜜罐技术的校园网络靶场研究与计划[D].北京交通大学,2012 [18]何君.面向Web应用的网络安全演练系统计划与实现[D].中国科学院大学(工程管理与信息技术学院),2014 [19]周珊.基于LAMP架构的高校学生工作考核系统计划与实现[D].电子科技大学,2013 [20]胡珊珊.动态混合蜜罐网络的计划和实现[D]. 哈尔滨理工大学,2013 [21] National Infrastructure Protection Plan: Partnering to Enhance Protection and Resiliency [J]. Us Departmentof Homeland Security,2009,8(2):188-188 [22]DavisJMagrath S. A survey of cyber ranges and testbeds [R]. Edinburgh: Defence Science and Technology Organisation Edinburgh(Australia)Cyber Electronic Warfare Division, 2013 [23] Product lifecycle management: the new paradigm for enterprises[J]. Michael W. Grieves.Int. J. of Product Development,2005(1/2) [24] Cybersecurity Test and Evaluation Guidebook,version 1.0. U.S.DOD..2015 [25]KoliasC,KambourakisG,StavrouA,etal.DDoS in the IoT: Mirai and Other Botnets[J]. Computer, 2017 50(7):80-84 .
致谢
光阴荏苒,毕业时刻徐徐逼近。我怀着激动与兴奋的心情告别了校园,踏上了新生活的征程。两年名贵的光阴里,在师长,同砚,家长的引导与关心下,我获得了名贵而关键的学习发展履历。他们是我最好的朋侪,在这里我们分享他们给我带来的喜悦和快乐,同时也盼望能够得到更多老师们的鼓励与推动。我谨向各人表示衷心的感谢。
非常感谢我的导师对我整个论文阶段的学习资助和论文思路引导。导师治学严谨,博学多才,一丝不苟,使我敬慕不已。在他的影响下,这些不仅从学术研究上给我指明了方向,而且对我以后从事社会工作也建立起了一个正确代价观。在本科修业期间,导师均予以经心呵护,谨向导师致以衷心的感谢。
感谢网安交换群的师傅们资助。在多个冥思苦想不知所云时给我解答了疑惑,给了我无生存地沟通和资助,让我很快就能进入学习和研究;在碰到问题时,能实时得到老师的指导和建议,使自己的技术水平得以提高。天天的生活,都带给了我许多想法,使我能尽快地融入到一个全新的群体;寻常的学习生活和我探讨技术,给我打开眼界。
感谢爸爸、妈妈这二十多年的辛勤劳作,无生存地关爱。感谢我在学习过程中碰到的困难,更感谢父母为我们带来的一切。正是他们的支持与教诲使我一路走过来完成了学业,并对他们表示了难以言喻的谢意,盼望父母康健,使我能照顾并报酬他们。
最后要感谢本科一年多来亲人、朋侪们对我们时时刻刻的关心与支持以及各人对我们的照顾与伴随。摘 要
伴随着网络信息技术的发展,各类信息安全问题频繁出现,天天都有大量的网络攻击。针对这一问题,未知攻,焉知防。因此急需一种可以用来模仿和复现网络攻击的靶场,在这个靶场中让安全人员第一时间掌握这种攻击技术,并找到到与其对应的防御本领淘汰遭受网络攻击对人们带来隐私风险和产业损失。因此,采用Golang开辟语言、MySQL数据库举行开辟。本论文在对网络安全靶场系统举行了需求分析的基础之上,举行了流程计划、功能计划等,最终开辟实现了基于Golang的网络安全靶场系统,主要实现了注册登录、靶场管理、实验室管理、和实验文档管理等功能。通过对系统举行功能测试、兼容性测试、性能测试效果来证明该系统功能美满,安全可靠对网络安全人员有着极大的资助。
关键词:网络安全靶场;Golang开辟语言;MySQL数据库
ABSTRACT
With the development of network information technology, various information security issues have emerged frequently, and there are a large number of network attacks every day. In response to this issue, without knowing how to attack, there is no knowing how to defend. Therefore, there is an urgent need for a shooting range that can be used to simulate and replicate network attacks. In this range, security personnel can quickly grasp this attack technology and find corresponding defense measures to reduce privacy risks and property losses caused by network attacks. Therefore, Golang development language and MySQL database are used for development. Based on the requirement analysis of the network security range system, this paper conducted process design, functional design, and ultimately developed and implemented a network security range system based on Golang. The main functions include registration and login, range management, laboratory management, and experimental document management. By conducting functional testing, compatibility testing, and performance testing results on the system, it is proven that the system is fully functional, safe, and reliable, which is of great help to network security personnel.
Keywords: Cybersecurity shooting range; Golang; MySQL
目 录
第1章 绪论1
1.1 研究背景与意义1
1.2 国内外研究与应用近况1
1.2.1 网络安全攻防平台研究近况1
1.2.2 Golang的应用近况2
第2章 关键技术3
2.1 Gin和Gorm框架3
2.1.1 Gin架构简介3
2.1.2 Gorm架构简介3
2.2 云计算技术4
2.2.1 云计算按部署分类4
2.2.2 虚拟化技术5
2.2.3 Docker容器技术6
2.3 本章小结6
第3章 系统分析7
3.1 可行性分析7
3.2 需求分析7
3.3 系统流程分析8
3.4 本章小结9
第4章 系统计划10
4.1 系统功能计划10
4.1.1 用户模块计划10
4.1.2 管理员模块计划11
4.2 数据库计划11
4.2.1 数据库E-R图计划11
4.2.2 数据库表计划13
4.3 本章小结15
第5章 系统实现16
5.1 注册登录 16
5.2 靶场管理18
5.3 实验室管理21
5.4 实验室文档管理23
5.5 虚拟机创建25
5.6 容器创建26
5.7 本章小结29
第6章 系统测试30
6.1 功能测试30
6.1.1 实验室测试30
6.1.2 靶场测试32
6.2 兼容性测试 35
6.3 性能测试38
6.4 压力测试39
6.5 本章小结40
第7章 竣事语41
7.1 总结41
7.2 问题和预测41
参考文献43
致谢44
第1章 绪论
1.1 研究背景与意义
伴随着IT技术的发展与广泛运用,人们生活己经不能够脱离网络。但当信息技术为我们生活带来方便时,怎样保障网络安全这一紧张问题已摆到我们面前,计算机网络对当代生活产生了越来越大的影响,现如今个人,企业及政府部分和国家军事部分无论是天文还是地理都离不开网络来举行信息的通报,这种信息已经成为了一种主流,并且人们对网络的依赖性越来越强。但是网络所具有的开放性和共享性易使其遭受到来自外部的攻击和损害,网络信息中的各类入侵行为以及犯罪活动也随之而来。
为了克制网络安全遭到破坏而带来不可弥补的不良后果,网络安全从业者必要不断的学习和研究新的攻击技术和防御技术,层见叠出的网络攻击伎俩让网络安全人员猝不及防,因此技术在快速发展和进步的同时,不免会留下一些与之相对应的毛病,为了规避这种被攻击的风险,网络安全人员的攻击技术应该领先于攻击者之前,应该在攻击者之前发现毛病。因此网络安全攻防靶场技术是专门模仿和复现网络攻击而搭建的。该平台可以提供最新的毛病为安全人员学习和研究,从而提高网络安全人员的技术水平。
1.2 国内外研究与应用近况
1.2.1 网络安全攻防平台研究近况
许多先进国家推进网络靶场部署,为信息安全挑战、信息安全等级分析等提供紧张支持。网络安全攻防实训平台就是通过仿真真实网络情况使学生或安全人员在网络攻防中实战演练。当前网络安全攻防实训平台被越来越多地利用。在我国,网络安全攻防实训平台已被广泛重视与利用。现在我国网络安全攻防实训平台分为“国家级网络安全人才造就基地”与“在全国高校网络安全比赛中”两类:一类是政府,高校与企业共同研发的公共平台;二是企业开辟的专用平台“华为网络安全实验室”和“360安全应急相应中心”。国外也广泛采用网络安全攻防实训平台。美国的网络安全攻防练习平台主要由政府和高校团结开辟,如“美国国家安全局网络安全教育中心”、“卡内基梅隆大学网络安全实验室”等;欧洲的网络安全攻防练习平台主要由欧盟与相干机构团结开辟,如“欧盟的网络安全机构”、“欧洲网络安全比赛等”等。从整体上看,网络安全攻防实训平台作为非常紧张的教育造就工具,对提拔网络安全人才实践本领与应对本领具有紧张意义。
1.2.2 Golang的应用近况
Go语言(或Golang)是谷歌公司2009年推出的一种新编程语言,其目标在于在保持高性能的前提下,提高编程服从及代码可读性。Go语言一经推出就被广泛运用于云计算,容器化和大数据中,下面就Golang的应用状态作一先容:云计算领域:Go语言被广泛地应用于云计算领域,如Kubernetes,Docker,Cloudflare等等项目均利用Go语言举行开辟,它们均具有高可靠性,高可扩展性以及高性能。大数据领域:Go语言还被广泛应用于大数据处理与分析领域,如InfluxDB,Etcd等等开源项目均利用Go语言举行撰写。网络编程领域:Go语言还广泛地应用于网络编程领域,如HTTP,RPC,WebSocket协议实现均采用Go语言。Web开辟领域:Go语言也被广泛地应用于Web开辟领域中,如Beego,Gin等等Web框架均采用Go语言来编写。从整体上看,Go语言被广泛应用于云计算、容器化、大数据、网络编程以及Web开辟中,其高性能高可扩展性以及高并发性使其成为很好的编程语言之一。
第2章 关键技术
本章节主要对Gorm架构、Gin框架、云计算平台、Docker容器做了主要先容,重点先容了云计算部署的分类,什么是私有云,社区云等,对虚拟化和Docker容器技术技术作了详细先容。
2.1 Gin和Gorm框架
2.1.1 Gin架构简介
用Go语言编写的Web框架里有两个著名的Web框架——Martini框架和Gin框架,这两个Web框架对比起来,Gin本人表示要比Martini框架强多了。由于这款平台本身就很强盛,而且还有许多新功能。另外它还提供很高的灵活性和可扩展性。综上所述,这是Go语言开辟领域中值得很好地学习的Web框架之一,这个API框架和martini差不多,但是性能比较好,由于采用http router,所以速率险些提拔了40倍Go里面最受欢迎的Web框架GITHUB中32K+star就是其中之一。基于http router开辟的Web框架。中文文档完备、简便易行、轻量级框架。Gin作为Golang微框架封装更典雅、API更友爱、源码注释更清晰,1.0版已推出。本实用新型快速灵活且容错轻易。事实上,对Golang来说,web框架远远低于Python和Java等。本身net/http就够简单了,表现很好。框架更多地像几个常用函数或工具的组合。在框架开辟的资助下,不但能节省许多通常利用的封装所花费的时间,而且还能资助团队编码风格并塑造标准。速率:在浩繁的企业与团队中利用的首要原因是它的快速与卓越的性能表现。在请求的处理上,支持中间件的运行,便于编码处理。Gin里能很简单地完成路由剖析,而且还含有路由组剖析。
2.1.2 Gorm架构简介
GORM是面向Golang 语言的一种 ORM(持久层)框架,该框架的独特之处在于,只必要用它所给的的API来访问底层的数据库,因此它削弱了开辟者对于SQL语言的学习程度,降级了学习成本,使得开辟者开辟服从更高全功能ORM、关联 (多态,单表继续)、Create,Save,Update,Delete,Find中钩子方法、支持 Preload、Joins 的预加载、Context、预编译模式、DryRun模式、复合主键索引约束、自定义Logger、开辟者友爱。
2.2 云计算技术
云计算给软件开辟与部署模式带来了全新的可能方与方向,具有肯定的创新性。云计算现已成为提供多种服务并搭载多样应用程序的紧张基础设施,它为人工智能、大数据、物联网等诸多新兴领域的发展与进步提供了基本支撑。
2.2.1 云计算按部署分类
1.私有云
私有云是一种为企业或个人定制的云计算情况,该情况以私有方式部署在本地数据中心或公司内部网络中,由企业或个人负责管理和运维。与公共云相比,私有云具有更高的,可靠性强、安全性高、灵活性大等优势。特征是自己的公司自己架设服务器为员工利用,所有权归企业里的负责管理人员,没有严格的规定,小大由之。
2.社区云
社区云在特定的社区范围内共享资源和服务的计算情况。该计算情况由一组相互协作的成员机构或用户构成,这些成员通常属于同一行业、同一领域或同一地理位置。具有云端资源仅为2个或2个以上详细单位组织内部员工所利用等核心特点,除此,社区云是公有云的一种范例,指云服务提供商在资源,软件以及服务本领等方面提供服务的云计算模式。社区云综合了社区成员共同需求实现区域间资源共享和设置。与公有云相比,社区云具有隐私性和安全性上的优势。软件与服务本领云计算模型。社区云综合了社区成员共同需求实现区域间资源共享和设置。与公有云相比,社区云具有隐私性和安全性上的优势。
3.公有云
云计算平台是面向公众大概大型行业集团的云服务平台。这些企业通常利用私有云,而用户则可利用公有的资源来处理自己必要的数据。公有云服务可经由网络及第三方服务提供商对顾客开放。在公有云服务商看来,云计算平台的提供者应该是私有企业,即所谓的“公有企业”.然而,在实际中,我们却常常看到公有企业利用自己所掌握的网络资源来实施一些非法行为。“公有”一词不肯定是“免费”的,不外,这也可能表示免费,大概价格相当低廉。公有云服务通常必要对其用户举行授权,而这些授权必须以私有服务器上存储的敏感信息为前提。公有云不是说谁都有权获取用户的数据,访问控制机制为公有云提供商对用户所采用的一种工具。公有云是一种可伸缩、低成本并且易于管理的计算模式,其目标在于使每个人能够在任何时间、以何种方式访问自己所必要的信息。作为解决方案,公有云有弹性,经济有效。现在,公有云已经成为了环球范围内最盛行的一种贸易模式,许多企业正在部署和运营私有云。第三方云服务提供商对公有云举行建设和运维,通过互联网,人们能够利用所提供的计算资源,比如,应用程序与开辟平台。在公有云中,用户能够从服务器上获得服务,并且在任何时间和地点举行操纵,从而克制了个人计算机或网络对其带来的安全威胁。公有云中的云服务提供商、对一切软硬件资源及其他基础设施资源举行维护与管理,人们通过浏览器获取这些服务资源,并且对其账户举行管理。
4.混合云
是由两种或两种以上不同范例的云(私有云,社区云,公共云等)构成,实际上,这并不是一种特定范例的单个云,它向外展示的计算资源是由2个大概更多云端提供,无非是参加混合的云管理层。这些企业通常利用私有云,而用户则可利用公有的资源来处理自己必要的数据。云服务的消耗者以混合云管理层的方式出租并利用资源,以为似乎是用了同一块云上的资源,事实上,内部是由混合云管理层从真正云端路由而来的,一般人都会在公共云中放置一些非企业大概组织的关键秘密信息,并对这些信息加以管理与计算,同时,利用私有云对企业大概组织中的关键服务以及秘密数据举行管控。混合云使企业或组织可以利用云平台实现跨域共享和应用。私有云与公有云间自由迁移数据与应用,使企业大概组织能够通过混合云实现更加敏捷,解决方法更加丰富。
2.2.2 虚拟化技术
虚拟化技术通常利用虚拟机的管理程序来负责操纵系统之间硬件资源的调理,处于操纵系统和硬件装备之间的中间状态。虚拟机管理程序和硬件装备没有任何关系,所以也没有必要专为硬件装备举行管理,只要按照虚拟机提供的特点举行相干应用的设置就可以了,并没有传统方式中硬件装备必要举行重新计划。对于完全虚拟化技术,虚拟机管理程序直接操纵硬件装备,可以作为一个特殊操纵系统利用。虚拟机管理程序将底层硬件资源抽象成虚拟资源举行集中管理,然后分配给虚拟机,虚拟机共享以上虚拟资源。由于虚拟机与物理系统无关,可根据必要灵活地扩展虚拟机。虚拟机对于操纵系统与应用来说,只是一个容纳的工具,之间在逻辑上是孤立的。从而虚拟机管理程序无需对系统整体举行修改,即可完成全部的功能。虚拟机管理程序基本上可以支持许多范例和设置的操纵系统。
虚拟机管理程序虚拟化原理包括CPU虚拟化2种,内存虚拟化和I/O虚拟化3大内容。在实践中,一般都会采用不同种类的虚拟化技术对上述问题举行处理,从而实现性能提拔大概成本降低。CPU虚拟化是虚拟机管理程序的最主要功能,对内存虚拟化和I/O虚拟化等技术的实现起决定性作用。内存虚拟化包含在物理机中建立多个逻辑块,并且把它们生存在不同种类的存储器中。CPU虚拟化主要工作就是模仿指令的执行,停止及异常时虚拟CPU的个数可多于物理CPU,能充分利用物理机的CPU资源。内存虚拟化主要负责将物理内存转换为呆板内存内的地点,从而解决虚拟机内存访问问题。另一方面虚拟机之间,虚拟机和虚拟机管理程序之间内存隔离,防止虚拟机中应用程序对其他虚拟机以致虚拟机管理程序自身产生影响,从而导致程序瓦解。I/O虚拟化以虚拟机利用和访问外部装备为主,通过访问拦截,装备模仿和装备共享等本领实现。以虚拟机监控程序为核心提供的虚拟平台种类,可以分为半虚拟化和完全虚拟化两种,也称为1型虚拟化,2型虚拟化等等。完全虚拟化也称为原始虚拟化技术。虚拟机是指能够不依赖于物理装备举行工作的计算机大概其他计算装置。该技术利用虚拟机管理程序来协调虚拟机操纵系统和物理硬件。完全虚拟化可以改善系统性能,而不会增加硬件成本。虚拟机管理程序用于协调虚拟机操纵系统和物理硬件之间的操纵以及拦截和处理部分下令。为满足完全虚拟化需求,必要对虚拟机管理程序举行适当修改以符合虚拟机操纵系统。完全虚拟化比硬件模仿具有更高的运行服从,但是性能不如物理机,由于虚拟机中管理程序必要占用一些资源。若虚拟机管理程序必要实现对虚拟机系统内所有进程及线程举行监视与管理,则必要利用虚拟平台。对于完全虚拟化的虚拟机管理程序这一虚拟平台来说是真实存在的。
2.2.3 Docker容器技术
虚拟机的技术发展,缓解了企业对于硬件资源过分依赖的问题,其把一个物理装备虚拟成若干个逻辑装备,每一个逻辑装备能够运行不同操纵系统,应用程序均能在相互独立空间中举行操纵且不产生任何影响,明显提高了装备工作服从。但是传统的虚拟技术在实现应用程序时需安装操纵系统,过多的占用了系统资源。大多数时间用户仅需运行一个简单的应用,利用虚拟技术举行操纵既烦琐又浪费资源。
因此容器技术就诞生了,它采用进程级的情况隔离,为了能达到虚拟机实现的效果,为了创造虚拟的隔离情况,但它采用系统级的隔离方式,Docker作为盛行的容器工具,受到浩繁开辟人员的亲睐。通过对任意物理装备的安装和操纵来达到虚拟化的目标,从而使得应用程序完全从底层装备中分离出来,并能灵活地举行物理机间的迁移和部署,使得运维工程师能够从烦琐的情况部署中解放出来,大大提高工作服从的同时降低部署时可能带来的风险。
在虚拟化技术日益发展的大情况中,用户对虚拟机资源动态分配提出了越来越高的要求,而现有的方法无法很好的适应这种需求,这就使虚拟机资源动态分配成为一个亟待解决的困难。docker正是针对这一问题举行了实质性改革。提供一个同一的框架来实现多种容器之间的互操纵、共享资源以及动态扩展本领。所以网络安全靶场的题库功能采用docker技术来完成,由于Docker容器较虚拟机较少采用抽象层物理机操纵系统内核而无需增加操纵系统内核,相较于虚拟机而言Docker容器系统具有资源利用服从高,启动快,易于迁移、维护及扩展,可以连续交付及部署等特点。
2.3 本章小结
在这一章中,我们起首探讨了Gorm和Gin的先容,然后本文论述了网络安全靶场中云计算的一些基础知识,然后详细的论述了虚拟机和docker容器技术。
第3章 系统分析
在上一章中,先容了Gorm框架和Gin框架,重点先容了平台所用到的虚拟机和容器技术,在此基础大将对会平台的分析和计划作为探讨对象,探讨内容为平台的可行性分析和需求分析。
3.1 可行性分析
文章从技术可行性,经济可行性,管理可行性和开辟情况可行性等方面四个方面对网络安全攻防实训平台举行了可行性分析,以下对这四个方面举行了分析。
1.技术上可行
技术层面采用Go编程语言,以及Gorm和Gin成熟的web框架,虚拟化技术采用ESXI虚拟化平台用来创建实验室,具有流畅的操纵体验,题库采用轻量级的Docker容器技术,降低硬件开销节省成本。
2.经济可行性
Gorm与Gin架构各部分均为开源产品,极大地降低项目开辟成本。同时采用Gorm,Bootstrap等框架技术不但能够简化开辟流程而且能够极大地缩短项目开辟周期,降低开辟成本。别的,所有docker都免费利用。
3.管理可行性
本课题采用Gorm框架和Bootstrap前端框架相结合的方式,界面计划更加简单明了,方便用户更轻易上手。
4.开辟情况的可行性
实验室具有富足的硬件、软件及网络情况,为该项目标研制提供了支撑。
3.2 需求分析
如图3.1所示,功能需求可以分为四部分,分别是用户注册、靶场管理、实验室管理和实验文档管理。
登录
注册登录
靶场管理
靶场学习
实验文档查看
实验室学习
管理员
用户
实验文档管理
实验文档查看
图3.1 系统整体用例图
1.管理员用户
管理员用户可以对平台里的题库数据和实验室数据举行删除和添加。
2.靶场管理
对平台上的靶场举行上传大概删除,对靶场基本情况举行修改,并查看网络安全攻防实训平台上所有题库的运行状态。主要用于对题目标管理,为用户提供最新的题目。
3.实验室管理
上传或删除平台中的实验室,查看平台中各实验室运行状态。主要是用于管理实验室的实验地点,类别,对实验室题目标添加和删除。
4.实验文档管理
管理员可以通过obsidian举行实验文档的编写,通过GitHub pages静态托管平台举行访问。
3.3 系统流程分析
系统流程图可以梳理业务流程。通过绘制系统流程图,可以清晰地展示出每一个功能模块的输入与输出,能相识系统业务的处理情况。用户通过注册、登岸、选择靶场、选择实验室。流程图如下图3.2所示。
开始
用户是否注册
否
是
注册
登录
选择实验室
选择靶场
竣事
图3.2 系统流程图
起首,用户先通过注册账号并登岸后,可以自由选择靶场学习还是实验室学习,如果选择靶场,将会进入靶场学习,如果选择实验室,将会进入实验室。详细操纵流程如下:
(1)用户点击注册账号,通过输入账号,在输入密码,然后再次输入确认密码,后台会对账号举行查询,如果账号不存在将会注册成功,否则失败。
(2)选择靶场练习,用户将会进入靶场学习,实战练习来提高技术水平。
(3)实验室可以支持模仿各种攻击与防护场景。同时,安全实验室还提供了各种工具宁静台资助用户相识网络攻击、毛病挖掘和渗透测试等知识点。
3.4 本章小结
本章先容了可行性分析,分别从技术上和经济上做了概述,然后先容了需求分析,分别从注册登录、题库管理、实验室管理以及实验文档管理四个方面举行了阐明。
第4章 系统计划
4.1 系统功能计划
管理员
用户
实验室
管理
实验文档
管理
靶场
管理
图4.1 系统功能结构图
4.1.1 用户模块计划
1.用户注册
用户注册功能以便新用户能够在系统中创建个人账户并获得访问权限,用户通过输入账号密码和确认密码后点击注册按钮后来举行注册。
2.用户登岸
用户输入已注册的账号和密码举行登录,后端后对账号和密码举行校验,检验成功后就会登录成功,否则登录失败。
3.靶场学习
靶场学习是提供大量的毛病网站,用户登岸后可以选择想要的举行学习的毛病。通过在线靶场平台,学生可以从任何地方长途访问靶机并举行攻击测试,在完全安全的虚拟情况中学习、实践各种技术本领,提高网络安全实战本领。
4.实验室学习
实验室学习可以举行实验操纵和模仿攻击的情况,用户可以在线实验,选择要实验的项目进入实验室后可举行实验。能够提高他们发现和解决网络攻击、毛病等问题的本领。
5.实验室文档
对靶场的详细阐明和利用指南。实验室靶场文档提供参与者必要相识的基础知识和相干工具的先容,以资助他们更好地理解和利用靶场。一份好的实验室靶场文档应该清晰易懂,并提供详细的步调和示例,以便参与者能够迅速上手并开始学习和实践。
4.1.2 管理员模块计划
1.管理员登岸
管理员用户输入已注册的账号和密码举行登录,后端后对账号和密码举行校验,检验成功后就会登录成功,否则登录失败。登录成功后,管理员可以访问靶场控制台。
2.靶场管理
管理员用户可以对靶场举行上传。用户可以做到不同范例的题目。
3.实验室管理
上传或删除平台中的实验室,查看平台中各实验室运行状态。主要是用于管理实验室的实验地点,类别,对实验室题目标添加和删除。
4.2 数据库计划
4.2.1 数据库E-R图计划
数据库的计划主要就是通过E-R图举行展现,将详细先容一下主要部分的的E-R图: 管理员实体、用户实体、靶场实体、实验室实体。
1.管理员实体
包括管理员的登岸密码、登岸账号、创建时间等,实体E-R图4.2所示。
密码
用户名
邮箱
ID
管理员
创建时间
手机号
图4.2 管理员实体属性图
2. 用户实体
包括用户的登岸密码、登岸账号、创建时间等,实体E-R图4.3所示。
密码
用户名
ID
邮箱
用户
手机号
创建时间
图4.3 用户实体属性图
3. 靶场实体
靶场实体主要包括,靶场名称、靶场类别、靶园地点、靶场封面、靶场时间、靶场文档路径等,实体E-R图4.4。
靶场名称
靶场类别
靶场
创建时间
靶场ID
靶园地点
靶场封面
靶场文档
图4.4 题库实体属性图
4. 实验室实体
实验室实体主要包括,实验室名称、实验室类别、实验室地点、实验室封、实验室时间、实验室文档路径等实体E-R图4.5。
实验室类别
实验室名称
创建时间
实验室ID
实验室
实验室地点
实验室封面
实验室文档
图4.5 实验室实体属性图
4.2.2 数据库表计划
本系统采用的是mysql数据库。并创建数据库名为golang。和本平台相干的主要包括实体和关系,下面将会对表单中的表结构举行详细形貌。数据库表信如下所示。
管理员表用于存储管理员的账号、密码、邮箱、手机号、创建时间等字段,管理员表内容如下。
表4.1 管理员表
字段名称
数据范例
必填
注释
id
Int(11)
是
主键
username
varchar(40)
是
用户名
password
varchar(64)
是
密码
updated_at
datetime
否
更新时间
created_atphoneemail
datetimevarchar(64)varchar(64)
否否否
创建时间 手机号 邮箱
用户表用于存储用户的账号、密码、邮箱、手机号、创建时间等字段,用户表内容如下。
表4.2 用户表
字段名称
数据范例
必填
注释
id
Int(11)
是
主键
username
varchar(40)
是
用户名
password
varchar(64)
是
密码
updated_at
datetime
否
更新时间
created_atphoneemail
Datetimevarchar(64)varchar(64)
否否否
创建时间 手机号 邮箱
靶场表存储着平台前端的靶场信息,主要包括靶场名称、靶场类别、靶园地点、靶场封面、靶场时间、靶场文档路径。
表4.3 靶场表
字段名
数据范例
必填
备注
id
int
是
主键
title
varchar(200)
是
靶场名
content
varchar(64)
是
靶园地点
tag
varchar(64)
是
范例
created_at
datetime
是
创建时间
img
varchar(255)
是
封面图片
doc
varchar(64)
否
实验文档
实验室表主要包括,实验室名称、实验室类别、实验室地点、实验室封面、实验室时间、实验室文档路径等。
表4.4 实验室表
字段名
数据范例
必填
备注
id
int
是
主键
title
varchar(200)
是
题目
lab
varchar(64)
是
实验室地点
tag
varchar(64)
是
范例
created_at
datetime
是
创建时间
img
varchar(255)
是
封面图片
doc
varchar(64)
否
实验文档
4.3 本章小结
本章节通过根据系统的需求分析对靶场平台举行了系统计划,只要对数据库计划、功能计划等,并对系统计划中各个模块举行了讨论。
第5章 系统实现
本章节将会对系统的功能模块举行详细叙述,其中包括注册、登录、靶场、实验室等展现了GO语言开辟的全部过程。
5.1 注册登岸
登录模块主要用于判断刷新的页面是否用户存在,存在后密码正确即可登录。输入用户名称、输入密码、再次输入密码、点击注册。
后台查询账号,如果没有完成注册。
添加图片注释,不凌驾 140 字(可选)
图5.1 用户注册图
func Register(c *gin.Context) {
username := c.PostForm("username") //获取from表单的值
password := c.PostForm("password")
user := model.User{
Username: username,
Password: password,
}
dao.Mgr.Register(&user)
c.Redirect(301, "/") //注册后重定向到首页
}
Login(username string) model.User
前端网络到用户名和密码后向后端发起请求。后端吸收到用户名和密码后对数据库举行查询,如果用户名不对,将会提醒用户名不存在,密码错误将会提醒用户密码输入错误如图5.2所示。
添加图片注释,不凌驾 140 字(可选)
图5.2 用户登岸
func Login(c *gin.Context) { //登岸
username := c.PostForm("username")
password := c.PostForm("password")
fmt.Println(username)
u := dao.Mgr.Login(username)
if u.Username == "" {
c.HTML(200, "login.html", "用户名不存在!")
fmt.Println("用户名不存在!")
} else {
if u.Password != password {
fmt.Println("密码错误")
c.HTML(200, "login.html", "密码错误")
} else {
fmt.Println("登录成功")
c.Redirect(301, "/post")
}
}
}
5.2 靶场管理
管理员用户可以通过对靶场举行管理,举行上传靶场功能如图5.3所示。
添加图片注释,不凌驾 140 字(可选)
图5.3 靶场管理
GetPostAddPost(post *model.Post)
GetAllPost() []model.Post
GetPost(pid int) model.Post
func (mgr *manager) AddPost(post *model.Post) { //创建
mgr.db.Create(post)
}
func (mgr *manager) GetAllPost() []model.Post {
var posts = make([]model.Post, 10)
mgr.db.Find(&posts) //查找
return posts
}
func (mgr *manager) GetPost(pid int) model.Post {
var post model.Post // 获取id
mgr.db.First(&post, pid)
return post
}
上传以后可以在平凡用户可以在靶场页面看到新上传的靶场,如图5.4查看靶场。
添加图片注释,不凌驾 140 字(可选)
图5.4 查看靶场
管理员用户可以通过靶场举行删除如图5.5所示。
添加图片注释,不凌驾 140 字(可选)
图5.5 靶场删除
对struts-s2-001代码执行毛病举行删除后,可以看到前台的靶场被删除了。如图5.6所示靶场删除后查看。
添加图片注释,不凌驾 140 字(可选)
图5.6 靶场删除后查看
func (mgr *manager) AdminArticleDelet(id int) bool {
log.Printf("Delete article ID: %#v\n", id)
mgr.db.Delete(new(model.Post), id)
return true
} //删除
//靶场列表
func GetPostIndex(c *gin.Context) {
posts := dao.Mgr.GetAllPost()
c.HTML(200, "postIndex.html", posts) //postIndex
}
// 添加靶场
func AddPost(c *gin.Context) {
title := c.PostForm("title")
tag := c.PostForm("tag")
content := c.PostForm("content")
img := c.PostForm("img")
post := model.Post{
Title: title,
Tag: tag,
Content: content,
Img: img,
}
dao.Mgr.AddPost(&post)
c.Redirect(302, "/post_index") //跳转到靶场 post_index
}
5.3 实验室管理
上传实验室模块主要用于创建实验室并发布实验室和删除实验室,如下图5.5和5.6所示。
添加图片注释,不凌驾 140 字(可选)
图5.5 实验室管理
添加图片注释,不凌驾 140 字(可选)
图5.6 实验室删除
func (mgr *manager) Addcom(admin *model.Admin) {
mgr.db.Create(admin)
}
func (mgr *manager) GetAllcom() []model.Admin {
var posts = make([]model.Admin, 10)
mgr.db.Find(&posts)
return posts
}
func (mgr *manager) Getcom(pid int) model.Admin {
var admin model.Admin
mgr.db.First(&admin, pid)
return admin
}
func (mgr *manager) Flag(flag string) model.Admin {
var admin model.Admin
mgr.db.Where("flag=?", flag).First(&flag)
return admin
}
func (mgr *manager) Dell(username string) model.Admin {
var user model.Admin
mgr.db.Where("username=?", username).First(&user)
return user
}
// AdminArticleDelete Admins 实验室删除
func (mgr *manager) AdminArticleDelete(id int) bool {
log.Printf("Delete article ID: %#v\n", id)
mgr.db.Delete(new(model.Admin), id)
return true
}
5.4 实验室文档管理
实验室文档主要包括实验情况搭建指南、实验的操纵方法和流程、实验过程中必要服从的安全措施和留意事项。为了降低平台的成本,实验文档采用开源的Docsify项目,并通过Github pages举行静态托管。
添加图片注释,不凌驾 140 字(可选)
图5.7 创建repository
通过git举行实验文档上传到GitHub pages如图5.8所示通过Git上传到GitHub pages。
添加图片注释,不凌驾 140 字(可选)
图5.8 实验文档编写
通过git举行实验文档上传到GitHub pages如图5.9所示通过Git上传到GitHub pages。
添加图片注释,不凌驾 140 字(可选)
图5.9 Git上传到Github
添加图片注释,不凌驾 140 字(可选)
图5.10 实验室文档
5.5 创建虚拟机
ESXI是一种用于运行虚拟机的虚拟化产品平台,即ESXI可以直接接入和控制底层资源,所以可以有效地划分硬件,以集成应用和减少成本,无需起首安装OS。在利用时只需简单地从系统中提取一个模块即可完成整个设置过程,并且无需重新开辟应用程序就能快速构建新的应用。ESXI能够尽量淘汰设置要求,简化部署所计划的。同时它也支持多操纵系统平台以及不同的物理机群情况,为企业构建同一的网络架构提供了便利。在此过程中,只需简单地执行一系列步调,就能让系统主动完成相干设置,无需任何复杂的操纵即可快速创建一个新的物理装备,同时也不必要再重新开辟操纵系统。带即插即用型软件提供新的,极简化的软件交付安装方法。
完成任务的过程是如许的:
(1)获取任务所需的CPU核数,内存大小,并对CPU,内存及硬盘的最大性能。
(2)获得实验室要求的操纵系统。
(3)查抄完成的工作是否符合现在硬件要求。
(4)按照任务范例得出CPU,内存,硬盘的系数。
(5)计算节点克隆存储节点中的虚拟机镜像,并建立虚拟机。
(6)计算节点获得网络节点的IP地点。
(7)等虚拟机建立完成如图5.11所示。
添加图片注释,不凌驾 140 字(可选)
图5.11 创建虚拟机
5.6 创建容器
只管Docker支持Windows下的安装,但它比Linux下的支持要小得多,而且安装起来比较繁琐,所以通常是Linux下的。再将Docker安装到操纵系统中。如果不相识怎样利用,就会影响到整个系统的稳定性。最后,Docker中的为应用程序及所需二进制文件与库。本文将先容怎样用虚拟机技术解决这个问题,并且详细论述了虚拟机的工作原理及详细实现过程。Docker容器不像虚拟机那样不利用单独的操纵系统将系统情况举行分离,而是利用Linux内核自身的工具将系统情况分离,而将系统情况从根目录情况中分离出去则是由Namespace结合镜像举行;资源限制是由group来完成。由于Docker容器在抽象层上较虚拟机更少且直接利用物理机操纵系统内核而无需增加操纵系统内核,所以相对于虚拟机而言,Docker容器具有系统资源利用服从高,启动时间快,易于迁移维护及扩展且可连续交付部署等特点。本平台采用FASTOS docker管理平台如图5.12所示。
添加图片注释,不凌驾 140 字(可选)
图5.12 FASTOS Docker管理平台
创建题库容器步调如下:
拉取题库镜像到docker里如图5.13所示。
添加图片注释,不凌驾 140 字(可选)
图5.13 拉取镜像
创建虚拟容器网络如图5.14所示。
添加图片注释,不凌驾 140 字(可选)
图5.14 创建网络
根据镜像所必要的情况举行创建容器如图5.15所示。
添加图片注释,不凌驾 140 字(可选)
图5.15 创建容器
启动容器并访问如图5.16所示。
添加图片注释,不凌驾 140 字(可选)
图5.16 创建容器
5.7 本章小结
本章主要先容了数据库创建、用户登岸、上传题库、上传实验室、创建虚拟机和创建容器的关键技术举行了形貌,并以代码和图片的情势先容了网络安全靶场的计划和实现。
第6章 系统测试测试
6.1 功能测试
6.1.1 实验室测试
本次测试的重点在于验证平台的核心功能,上传到实验室并下发题库,公布攻防实验、在实验虚拟机上举行输入学习、现将实验过程详细先容如下。
管理员将实验室上传到系统模块。其中管理员位于图6.2中在所示页面中,系统可以查看所有靶场并将其生存到数据库中。利用者根据必要选择靶场范例以举行练习,图6.1中的网页上,可以看到不同范例的实验题目、实验范例等。
添加图片注释,不凌驾 140 字(可选)
图6.1 实验室查看
管理员制作攻防实验模块,得到攻防实验基本信息,然后在管理页面中输入相应的实验室账号密码,在输入题目标签和实验室地点,封面文件名。其中,管理员将实验地点填入图6.2创建并发布实验室、选择实验方向、实验的类别等,上传jpg格式的图片封面信息。
添加图片注释,不凌驾 140 字(可选)
图6.2 创建并发布实验室
用户进入DOS拒绝服务攻击实验室举行学习如图6.3所示实验室。
添加图片注释,不凌驾 140 字(可选)
图6.3 实验室首页
用户进入到实验室后对目标网站http://192.168.164.100举行了流量攻击导致目标网站瘫痪,通过抓包可以发现有大量的arp流量包对目标网站举行了发送,实验成功如图6.4所示DDos攻击实验。
添加图片注释,不凌驾 140 字(可选)
图6.4 DDos攻击实验
6.1.2 靶场测试
本次测试主要测试网络安全靶场实训平台的靶场模块的关键功能部分,包括:管理员上传靶场、发布靶场、删除靶场、在线靶场利用过程详细先容如下。
管理员将靶场上传到平台。其中管理员位于图6.5中在所示页面中,通过填写靶园地点、靶场标题、靶场标签,封面文件名以及上传的封面图片文件。该系统能看到全部的考题,并且生存在数据库里。图6.6中的网页上,看到靶场中的全部资料,包括靶场名称、所属标签和其他资料。
添加图片注释,不凌驾 140 字(可选)
图6.5 上传并发布题库
用户进入HMS v1.0 SQL注入(CVE-2022-23366)靶场学习如图6.6所示。
添加图片注释,不凌驾 140 字(可选)
图6.6 选择靶场
用户进入拿到靶园地点通过题目得知该靶场是一个带有SQL注入的网站 如图6.7靶场阐明。
添加图片注释,不凌驾 140 字(可选)
图6.7 靶场阐明
用户访问带有SQL注入的网站如图6.8靶园地点。
图片上传失败
图6.8 靶园地点
通过对该网站举行SQL注入攻击成功拿到该网站的数据库,图6.9攻击成功。
添加图片注释,不凌驾 140 字(可选)
图6.9 攻击成功
6.2 兼容性测试
该平台是在Gin项目架构下开辟和实现的,利用Bootstrapt框架建立用户表单,利用BS架构,兼容各种操纵系统、终端装备特点。所以,该平台的兼容性测试是以平台首页为例来测试该平台与操纵系统的兼容情况、终端装备与浏览器是否相容。
1.操纵系统兼容性测试
这次测试利用的是windows10和Linux,在macos操纵系统上对该平台举行了兼容性测试,试验效果见图6.10windows测试效果。通过本次测试发现该平台具有良好的兼容性。
添加图片注释,不凌驾 140 字(可选)
图6.10 windows测试效果
添加图片注释,不凌驾 140 字(可选)
图6.11 macos测试效果
添加图片注释,不凌驾 140 字(可选)
图6.12 Linux测试效果
2.浏览器兼容性测试
浏览器测试主要利用的是主流浏览器,包括:在 Firefox浏览器,Google浏览器,Edge浏览器,Safari浏览器和360极速浏览器上举行了测试,其效果见下图6.13浏览器测试。该平台前端开辟采用bs架构,所以浏览器平台将与html有很好的兼容性。
添加图片注释,不凌驾 140 字(可选)
图6.13 各种浏览器登录页测试效果
6.3 性能测试
本次测试主要针对云平台ESXI的性能测试,平台采用72核640G内存和4T硬盘,因此最多只能为虚拟机分配这些资源,因此只对虚拟机的创建时间举行测试,创建时间用时3分27秒,如图6.14创建虚拟机,采用NETDATA监控工具对云平台举行了性能监控,硬盘和CPU性能拉满如图6.15监控平台。
添加图片注释,不凌驾 140 字(可选)
图6.14 创建虚拟机
添加图片注释,不凌驾 140 字(可选)
图6.15 监控平台
6.4 压力测试
还对靶场平台举行了压力测试,采用ab压力测试工具来模仿用户访问,通过构建参数-n模仿用户请求数-c模仿并发数如图6.16。
图6.16 压力测试
可以看到图6.17有大量的请求访问涌入站中。
图6.17 请求用户
如图6.18硬件负载监控所示在压力测试下cpu的负载从3%飙到了43%,网络流量也从原来的2k飙到了1000k,通过压力测试后最终得到该网站的访问请求可以遭受1000+的访问量。
图6.18 负载监控
6.5 本章小节
本章主要先容了平台的测试情况,起首先容了功能测试,有查看题库功能,创建实验室功能,发布实验室功能,然后对兼容性举行了测试,分别在不同的终端装备下和不同厂商的浏览器平台举行了兼容性测试,有着出色的表现。接着从平台访问权限方面检验其安全性。最后在云平台创建过程中举行性能测试并阐明,主用net data监控工具来监控云平台创建虚拟机的性能,研究发现,当虚拟机建立时,磁盘与处理器的性能被拉满。通过压力测试软件对平台的网站举行了压力测试,通过模仿1000人同时并发访问量下完全无压力。
第7章 竣事语
7.1 总结
现在网络安全问题频繁出现,网络对抗日趋激烈。世界各大国都在布局网络空间安全战略以占领制高点。我国政府也将网络空间安全提拔到了国家战略层面,制定相干政策有利于促进网络安全靶场的建设,在造就人才方面有着紧张的意义,在演练过程中安全人员能学到各种技术以及实战履历,为国家造就安全人才具有极为紧张。在这种背景下,怎样构建一套高效灵活、可扩展、稳定可靠的网络靶场成为了亟待解决的困难。常用的网络靶场控制系统主要包括以仿真为核心的系统,以传统技术为核心的系统以及以虚拟技术为核心的网络,但仿真平台并不适用于瞬息万变的网络安全问题,而传统技术平台存在费用高更新速率慢,虚拟技术平台组态复杂,管理难度大等问题。别的,现有的一些系统存在着可扩展性差以及难以与其他软硬件集成等问题。因此,过去的平台不能适应高灵活性、易管理等要求。别的,由于现在大多数网络靶场都是通过部署服务器来完成整个系统的运行与维护工作,这也使得资源利用率低,而且随着时间的推移服务器轻易发生故障甚至瘫痪,造成巨大的经济损失。但迩来,云计算应运而生,给网络靶场控制系统带来了新的可能性。它可以在保证系统安全性的基础上,利用云计算技术对现有网络靶场控制系统举行改造升级。为此,本文计划并实现了基于Golang的网络靶场攻防平台,围绕网络靶场控制平台架构计划、混合虚拟化方式的任务执行方法、平台的同一接口计划三个方面展开研究。在对传统网络流量模型举行分析后提出一个适用于多租户系统的通用网络流量模型,以此作为平台架构的基础。平台采用B/S架构计划并利用HTTP协议从用户处获取靶场任务并以定制任务数据格式实现任务创建,执行与删除全生命周期。为此,本文计划并实现了基于Golang的网络靶场平台,围绕网络靶场控制平台架构计划,同时在系统中引入混合虚拟化方式来降低服务器集群的压力,从而提高系统运行服从。
7.2 问题和预测
只管该平台当前的功能是正常的,但是在网络技术日益发展与更新的今天,该平台存在的问题也是无法克制的,还需进一步维护与优化,详细存在如下问题:该平台采用了Golang编程语言开辟、利用Gin框架技术、新版框架将持续修补毛病、这些都将成为平台面对的重大困难宁静台后期维护工作的重点。平台虚拟机的存储方式是有问题的,如今所有虚拟机在一个物理机上运行,给服务器造成了一些压力,在这里必要在以后的工作中再优化。通过net data监控平台的监控可以相识到虚拟机的创建对于性能要求有肯定压力,这部分内容还有待进一步的优化。本论文的性能测试只对虚拟机的创建情况做出测试,并没有对虚拟机的性能举行测试,会在以后的工作中得到不断美满。总之,在将来的发展过平台还有不足之处,还必要去维护和优化,以便更好地服务于网络安全爱好者。
参考文献
[1]吴怡晨.网络空间攻防靶场的计划和构建技术研究[D].上海交通大学,2018
[2]李馥娟.王群.网络靶场及其关键技术研究[J].计算机工程与应用,2022(05)
[3]王诗琦.网络安全隔离与信息交换技术的系统分析[J].信息通信,2012(3):211-212
[4]王莎莎.基ThinkPHP框架的网络安全攻防实训平台的计划与实现[D].北京邮电大学,2017
[5]唐忠诚.基于golang的分布式全文检索系统研究与实现[D].华南理工大学,2015
[6]石帅.云计算情况下的虚拟机节能调理算法研究[D].哈尔滨工业大学,2014
[7]罗刚毅.网络感知的虚拟机部署与整合技术研究及实现[D].南京大学,2014
[8]陈颢. 蜜罐技术在网络安全中的计划与应用[D].电子科技大学,2012
[9]李进超.虚拟机动态资源分配及放置算法研究[D].复旦大学,2012
[10]刘鹏程.云计算中虚拟机动态迁移的研究[D].复旦大学,2009
[11]孙昱.虚拟机Xen及其实时迁移技术研究[D].上海交通大学,2008
[12]张小庆.基于云计算情况的资源提供优化方法研究[D].武汉理工大学,2013
[13]邓莉.基于虚拟机迁移的动态资源设置研究[D].华中科技大学,2013
[14]李艺.工业控制网络安全防御体系及关键技术研究[D].华北电力大学(北京),2017
[15]张莉丽.魏向东.关于服务器系统虚拟化技术综述[J].信息与电脑(理论版),2019(01)
[16]林传慧.采用B/S架构的网络安全检测分析模式的研究与实现[D].北京邮电大学,2015
[17]许伦彰.基于蜜罐技术的校园网络靶场研究与计划[D].北京交通大学,2012
[18]何君.面向Web应用的网络安全演练系统计划与实现[D].中国科学院大学(工程管理与信息技术学院),2014
[19]周珊.基于LAMP架构的高校学生工作考核系统计划与实现[D].电子科技大学,2013
[20]胡珊珊.动态混合蜜罐网络的计划和实现[D]. 哈尔滨理工大学,2013
[21] National Infrastructure Protection Plan: Partnering to Enhance Protection and Resiliency [J]. Us Departmentof Homeland Security,2009,8(2):188-188
[22]DavisJMagrath S. A survey of cyber ranges and testbeds [R]. Edinburgh: Defence Science and Technology Organisation Edinburgh(Australia)Cyber Electronic Warfare Division, 2013
[23] Product lifecycle management: the new paradigm for enterprises[J]. Michael W. Grieves.Int. J. of Product Development,2005(1/2)
[24] Cybersecurity Test and Evaluation Guidebook,version 1.0. U.S.DOD..2015
[25]KoliasC,KambourakisG,StavrouA,etal.DDoS in the IoT: Mirai and Other Botnets[J]. Computer, 2017 50(7):80-84
.
致谢
光阴荏苒,毕业时刻徐徐逼近。我怀着激动与兴奋的心情告别了校园,踏上了新生活的征程。两年名贵的光阴里,在师长,同砚,家长的引导与关心下,我获得了名贵而关键的学习发展履历。他们是我最好的朋侪,在这里我们分享他们给我带来的喜悦和快乐,同时也盼望能够得到更多老师们的鼓励与推动。我谨向各人表示衷心的感谢。
非常感谢我的导师对我整个论文阶段的学习资助和论文思路引导。导师治学严谨,博学多才,一丝不苟,使我敬慕不已。在他的影响下,这些不仅从学术研究上给我指明了方向,而且对我以后从事社会工作也建立起了一个正确代价观。在本科修业期间,导师均予以经心呵护,谨向导师致以衷心的感谢。
感谢网安交换群的师傅们资助。在多个冥思苦想不知所云时给我解答了疑惑,给了我无生存地沟通和资助,让我很快就能进入学习和研究;在碰到问题时,能实时得到老师的指导和建议,使自己的技术水平得以提高。天天的生活,都带给了我许多想法,使我能尽快地融入到一个全新的群体;寻常的学习生活和我探讨技术,给我打开眼界。
感谢爸爸、妈妈这二十多年的辛勤劳作,无生存地关爱。感谢我在学习过程中碰到的困难,更感谢父母为我们带来的一切。正是他们的支持与教诲使我一路走过来完成了学业,并对他们表示了难以言喻的谢意,盼望父母康健,使我能照顾并报酬他们。
最后要感谢本科一年多来亲人、朋侪们对我们时时刻刻的关心与支持以及各人对我们的照顾与伴随。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |