云技术网络攻防实验平台的研究与实现

2017-12-21 22:25陈昕王鹏吴平杨超新徐翌豪
网络空间安全 2017年10期
关键词:靶机漏洞云计算

陈昕++王鹏++吴平++杨超新+++徐翌豪

摘 要:利用最新的Openstack云平台搭建技术,采用虚拟化技术和模块化设计,设计并实现了一个可对虚拟靶机进行管理的信息安全实验平台。该平台不仅建立了基于各种漏洞类型的网络靶机,为每个靶机配置了相应的知识库和工具库,而且提出了内外分离的攻防网络结构,有效仿真企业网络架构。论文首先概述了基于Openstack的基础实验平台搭建,然后介绍了平台整体功能与架构以及靶机的配置,最后通過对靶机入侵过程的演练,验证了实验平台的有效性。

关键词:云计算;靶机;Openstack;漏洞;信息安全

中图分类号: TN393.08 文献标识码:A

1 引言

随着网络信息安全问题日益严重,网络攻防演练已经成为各个企业、高校信息安全专业人才培养的重要环节[1,2]。搭建相应的网络攻防系统是开展攻防演练的基础,但基于真实的网络和物理设备建立攻防系统不仅费用高昂,而且网络攻防演练很可能会对真实网络设备和主机造成一定危害,所以研究如何实现有效的搭建和管理网络攻防演练的训练平台成为培育信息安全人才的重要课题。

本平台通过对Openstack技术的研究运用[3-6],搭建基于云的网络虚拟靶机管理平台实现对多样化靶机系统的高效管理,并提供网络攻防实验网站,方便教师对靶机的管理和同学们进行网络攻防实验使用,避免了攻防演练对实际网络环境的干扰和破坏,可广泛运用于高校信息安全教学和培训中。

2 基于云技术网络攻防实验平台总体功能

本文设计的网络攻防实验平台主要由网络攻防实验平台网站和云平台靶机管理系统两部分组成。云平台靶机管理系统为网络攻防实验提供虚拟靶机[7],每个靶机上有精心设计的各种安全漏洞,为进行网络攻防实验提供了有效的攻防环境,同时可以实现对这些靶机的高效管理,包括靶机的创建删除与恢复快照等,以及内部网络的快速配置。网络攻防实验平台网站则搭建在真实的网络环境中,该网站分为管理员界面和用户界面两部分,管理员可实现对靶机信息和漏洞信息的增删改等操作,同时对网站的用户进行管理即是否激活该用户。用户登录即可进行知识库与网络安全法的查看,攻防工具的下载与运用,并根据所提供靶机的相应漏洞进行各种网络攻防实验。

2.1 Openstack技术的选用

Openstack 是一个美国国家航空航天局和Rack Space 合作研发的,以Apache许可证授权的自由软件和开放源代码项目,旨在为公共及私有云的建设与管理提供软件的开源项目[8-10]。Openstack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。利用Openstack平台自主构建网络环境[11]的功能,本系统真实地模拟现实中复杂的网络,满足了攻防演练的要求。其次,Openstack平台提供了镜像上传、云主机创建删除,虚拟路由创建等便利操作,有利于训练环境的恢复和资源的循环利用。

2.2 基础实验云平台的部署

基于Openstack的云平台的部署十分灵活,可以根据自身需要进行搭建[12],既可以搭建在单节点服务器,也可以搭建在大型集群服务器上,为了实现一种低成本可快速化部署且不对计算机网络产生影响的网络攻防实验靶机管理平台,我们根据自身有限的计算资源,将云平台搭建在两个节点上,其中一个节点为控制节点,负责收集计算节点的计算资源信息、计算节点的资源调度和对该网段的网络进行管理,控制虚拟机实例的生命周期[17];存储攻防实验主机模板的镜像文件,以及快照备份文件;承载 Horizen 组件,通过Dashboard仪表盘方式,实现虚拟攻防实验主机的管理,包括启动、重启和终止提供总控服务;另一个节点为计算节点,用于运行虚拟攻防实验主机,提供计算的服务。

2.3 云平台系统架构

构件云平台主要用到Openstack模块的服务:(1)Nova调派资源实例化虚拟[15];(2)Glance提供虚拟机实例化时需要的镜像;(3)Network提供网络连接;(4)Cinder提供外接的块存储服务;(5)Horizon提供Web界面交互平台;(6)keystone提供用户认证服务[16]。

3 网络攻防环境的配置

3.1 基于Openstack的攻防网络结构设计

除了Openstack基本的控制节点和计算节点外,系统还添加了网络节点和存储节点[13]。根据实验要求,系统建立了靶机镜像库和防守机镜像库,分别用于虚拟靶机和攻击机的创建,为了更好地开展攻防演练,更贴合实际的企业网络环境,设计了内外分离的攻防网络结构。靶机部署在计算节点的私网内,管理员接在控制节点的私网内,攻击机则直接由校园网接入如图3所示。三个不同的网络通过路由器连接,实现网络之间的通信,使部署在校园网内用户的攻击机可以对私网内的靶机进行相关操作。在靶机接入网络的那端添加防火墙,通过设置防火墙规则来限制用户的操作行为。

同时管理员在控制节点可以直接对镜像、靶机进行操作,Web管理界面实现上传镜像,部署靶机等操作,方便管理靶机。

3.2 靶机镜像收集制作

Openstack云计算管理平台部署完毕后,根据实验需要上传相应靶机镜像,首先收集了目前主流的脆弱操作系统,包括Linux Metasploitable、Windows Metasploitable等,其次包括了包含Top10web应用漏洞的OWASP,最后还搭载有目前热门的CTF夺旗赛系统。使用主流的虚拟机软件VMware完成了最新Struct2等漏洞的镜像定制。制作过程如图4所示。

由于Windows默认不支持Virtio驱动,而通过Openstack管理虚拟机是需要Virtio驱动的。需要两个Virtio驱动,一个是硬盘的,一个是网卡的。所以,制作Windows镜像需要把这两个驱动加上并更新网卡和硬盘驱动。

4 网络攻防实验平台网站搭建

网站的开发采用PHP+MySQL +Apache的架构,以Zend Studio作为开发平台。通过在Windows系统上安装程序集成包Phpstudy,而该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,成功搭建一个方便好用的PHP调试环境。

PHP+Mysql+Apache是目前成熟、稳定、安全的Web开发技术,其成熟的架构,稳定的性能,嵌入式开发方式和简洁的语法为本网站的开发提供了很大的可行性和便利性。网站的开发主要包括前端页面的开发和后台数据库的建立(以及维护)两个方面,定义了管理和用户的两个功能模块,为此实现不同的功能需求。

4.1 用户界面功能设计

4.1.1 工具栏

工具栏主要是在网站中提供相关信息安全渗透测试工具的下载,其中包括各种扫描工具、嗅探工具、加解密工具、远程渗透攻击测试工具、动态调试工具、静态反编译工具等等,包括Metasploit开源安全漏洞测试工具、Nmap 扫描器、Wireshark嗅探器、Burpsuite集成Web渗透测试工具集、Sqlmap注入工具、Ollydbg动态调试器、IDA 反编译工具等。

4.1.2 知识库

知识库是对本平台中所涉及到漏洞知识从概念原理和简单应用两方面对知识进行详细全面的描述和讲解,同时对没有涉及到的知识进行补充。当用户在平台训练中遇到不熟悉的问题,或是对靶机漏洞不太了解时,能够填补知识的空白。主要涉及SQL注入、XSS原理及应用、暴力破解、权限绕过、漏洞扫描、Webshell上传、密码破解等方面。

4.1.3 进行实验

进行实验页面,通过查看相应靶机的指定漏洞信息,下载相应操作指南文档,从而实现对特定靶机IP进行攻防操作。

4.2 管理员界面(后台管理)

網站后台管理主要是对用户,靶机和漏洞信息进行相应管理,是否对用户进行激活操作,并能够对靶机和漏洞信息进行增删改等各种操作。

5 实验平台维护及实验过程

5.1 实验平台维护

关于HoneyWall:采用了The Honey Project开源发布的ROO v1.4版本来构建HoneyWall蜜网网关虚拟机镜像[14],HoneyWall蜜网网关以桥接模式部署,拥有三个网络接口,其中eth0连接外网,eth1连接蜜网。这两个接口以网桥模式连接,不许设置IP地址,同时也不对转发的网络数据包进行路由和TTL递减;eth2作为管理接口,连接内部管理监控网络,使得实验管理者可以远程对蜜网进行控制,并对捕获的数据进行进一步的分析。

在以ROO v1.4版本构建的HoneyWall蜜网网关中,集成了IPTables防火墙,Snort网络入侵检测系统和Tcpdump网络嗅探工具对网络攻击数据进行捕获,并通过Sebekd接受蜜罐主机上由Sebek捕获的系统行为数据;基于IPTables防火墙和Snort_inline对外攻击进行限制;通过Hflowd数据融合工具和基于浏览器的数据分析及系统管理工具Walleye,可根据捕获的数据查看网络流视图、进程树视图和进程详细视图。

为了更好地诠释攻击原理,从两方面优化了实验。

(1)对于一种漏洞,为实验使用者留下多种攻破思路。如SQL注入,可以使用盲注,也可以手动测试加工具,也可以直接上Web漏洞扫描。攻击方式从原始到自动化,让实验者使用者体会更深刻。

(2)在攻击机和靶机之间添加了HoneyWall,提供对网络攻击的行为监控、检测和分析的平台,不论是实验使用者对攻击的原理分析,还是实验管理者了解目前实验进展都十分有利。

5.2 实验过程

管理员先在云平台部署靶机,配置靶机安全规则为Allow All Icmp、Allow All Tcp。 绑定浮动IP172.16.0.6,方便用户对靶机进行操作。

使用内网的个人主机连上靶机上的服务器,这是爆破后台拿到密码,登录以后上传了一句话木马Shell。然后确定脚本所在目录为http://172.16.0.140/uploads/shell.php,使用菜刀添加连接,密码为一句话木马的写的值。

6 结束语

随着网络安全形式日益严峻,单一的课本教学所培养出的学生已经不能应对当前复杂的网络环境。每个开设网络信息安全的学校都需要有一个能够贴合实战,对学生所学知识进行实践和检验的平台。但是,网络攻防环境难以构建和管理是一个普遍性的难题。本文利用云计算技术,参考目前国内外流行的CTF竞赛,搭建成网络攻防实验平台,为学生提供了有效的实践平台,极大地激发了学生的学习兴趣,为社会培养高质量的信息安全人才。

基金项目:

大学生创新创业训练项目(项目编号:201610059063)。

参考文献

[1] Amin Anjomshoaa, Min Tjoa.How the cloud computing paradigm could shape the future of enterprise information processing[C]. Proceedings of the 13th International Conference on Information Integration and Web-based Applications and Services,2011.

[2] 李西予.云计算平台的访问控制模型的设计与实现[D].北京邮电大学,2015.

[3] Lucian Popa, Gautam Kumar, Mosharaf Chowdhury.sharing the network in cloud computing[C]. ACM SIGCOMM Computer Communication Review,2012,42-4.

[4] 李磊,李小宁,金连文.基于Openstack的科研教学云计算平台的构建与运用[J].实验技术与管理,2014,(06):127-133+174.

[5] 王霄飞.基于Openstack构建私有云计算平台[D].华南理工大学,2012.

[6] 蒋茜. 基于OpenFlow的虚拟化组网设计与实现[D].南京邮电大学,2016.

[7] 陈欣,成静静.基于Vmware虚拟化技术的OpenStack方案对IT系统成效分析[J].数据通信,2015,(05):10-14.

[8] 张容齐.基于云计算平台的服务自动化部署机制研究[D].北京邮电大学,2015.

[9] 贾志杰.基于OpenStack开放云管理平台研究[D].吉林大学,2014.

[10] Saleem Karmoshi.基于OpenStack云计算平台的虚拟网络映射系统的研究与搭建[D].中国科学技术大学,2014.

[11] 周敏.网络攻防实战教学系统的设计与实现[J].实验技术与管理,2016,(06):154-156+171.

[12] 底晓强,张宇昕,赵建平.基于云计算和虚拟化的计算机网络攻防实验教学平台建设探索[J].实验技术与管理,2015,(04):147-151.

[13] 李祥池. 基于SDN的网络攻防平台的研究与实现[D].山东大学,2015.

[14] 杨晓雪.基于云计算技术的网络攻防实验平台的探讨[J]. 无线互联科技,2015,(05):51-52.

[15] 刘洋.基于虚拟蜜网技术的网络攻防实验平台构建[J].南通职业大学学报,2013,(01):83-88.

[16] 孔轶艳.网络攻防模拟实验平台的设计与实现[J].通信技术,2012,(11):37-39+43.

[17] 向阳霞,向校萱.基于虚拟靶机的方法在网络攻防实验教学中的应用[J].计算机工程与设计,2009,(04):855-857.

[18] 赵北庚.用虚拟机搭建复杂网络拓扑结构的渗透测试环境[J].信息系统工程,2015,(05):102+105.

猜你喜欢
靶机漏洞云计算
漏洞在哪里
侦探推理游戏(二)
高速像真无人靶机
基于云计算的移动学习平台的设计
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用
漏洞在哪儿
靶机
视频、Office漏洞相继爆发