面向取证能力提升的网络靶场训练系统构建*
2020-05-24徐国天中国刑事警察学院
徐国天 中国刑事警察学院
引言
2019年8月30日,中国互联网络信息中心(CNNIC)发布了第44次《中国互联网络发展状况统计报告》。《报告》显示,截至2019年6月,中国网民规模达8.54亿,互联网普及率为61.2%。其中,手机网民规模达8.47亿。随着网民数量的急剧增加,网络犯罪也呈上升趋势。2019年上半年,国家互联网应急中心监测发现境内近4万个网站的页面被篡改,其中有222个政府网站,监测同时发现大约1.4万个境外IP地址对我国境内2.6万个网站植入后门,共发现2055个高危安全漏洞。统计数据显示网络安全事件已经严重危害我国信息网络安全,甚至是国家安全。
网络攻击案件发生后,为防止易失型电子数据灭失,必须尽快进行现场或远程勘验,提取网络入侵线索,追踪犯罪嫌疑人。然而,在一些网络入侵案件中,由于电子数据勘查不充分、不全面,获取电子证据不足,导致犯罪分子逍遥法外,或被从轻处理。因此,总结不同类型网络攻击案件的取证对策,增强办案人员的电子数据取证分析能力,对有效打击网络入侵类犯罪,遏制网络入侵案件的发生有重要意义。
目前世界各国普遍采用网络靶场进行专业人员培训和实战演练。网络靶场可以模拟各种真实的网络环境,参训人员根据预设的任务目标,在靶场内完成特定的攻防演练任务,有效锻炼提高参训人员的网络攻防实践能力。但是目前已有的网络靶场训练系统侧重攻防实践能力的锻炼,而很少甚至不能满足网络取证能力的培养需要。由于网络取证能力是涉网案件调查人员必须具备的一项技能,因此有必要研究面向取证能力提升的网络靶场建设方案。
本文在对比已有网络攻防实验系统的基础上,提出基于OpenStack云平台的网络靶场构建方案;在靶场知识点组织方面,提出按照典型案例归纳涉及到的网络攻防技术,凝练相应的取证方法;通过参训学员反馈、题库更新和最新案例引入等方式实现靶场知识体系的动态更新完善。
一、基于OpenStack云平台构建网络靶场
面向取证能力提升的网络靶场需要满足以下需求:(1)可以根据训练需要动态生成复杂多样的网络拓扑,仿真真实网络环境;(2)可以满足训练隔离需求,每组学员的训练环境相互隔离,互不干扰;(3)在靶场测试任务结束后,学员可以登录目标虚拟机,提取网络攻击痕迹。(4)可以捕获分析全网各个节点的通信数据包,完成网络取证分析任务;(5)靶场训练环境可以完成快速部署,学员测试过程流畅,测试过程不对用户终端软硬件系统造成影响,测试结束后可以快速恢复原始状态。
(一)早期网络靶场组建方式
早期网络攻防训练测试大多在真实的网络设备上进行,以某院校网络安全实验室为例,该实验室于2006年组建,满足一个班级50名学员的建设需求。训练室内放置8台圆形训练桌,每桌坐6名学员,配备一组立式机柜,机柜内放置设备包括一台无线路由器、一台防火墙、一台入侵检测系统、两台2600路由器、一台3750三层交换机、一台2162二层交换机、一台RCMS管理服务器。这种训练环境的优势是学员可以直观地观察到网络设备的外观形态,亲手连接网络线路,使用超级终端对设备进行调配,锻炼了学员的动手能力。但是,几轮教学下来缺点也暴露的非常明显。学员进行分组训练时,多数情况下是以三人为一组进行训练,每人负责配置一台网络设备,这导致学员忙于完成自己的工作,对整体任务缺乏了解,即只了解局部,不了解整体。每组训练结束后,教官都需要登录该组训练台的RCMS设备清空训练痕迹,然后下一组学员才能开始训练。这导致上一组训练进行时,下一组学员无事可做,如上一组遇到问题,耽误了进度,会间接影响下一组学员的训练进程。在训练过程中,教官忙于清空各组训练台的痕迹数据,干扰了训练指导工作。另外,受训练设备数量影响,学员也仅能完成一些简单的基础性网络训练,一些复杂拓扑结构和新型网络接口组网训练任务无法完成。另外,在真实网络设备上进行网络攻防测试还可能对训练设备的软硬件系统造成破坏,增加了设备维护工作量。因此,这种采用真实设备作为载体,进行网络攻防测试的训练模式已逐渐不被采用。
采用思科、华为等网络模拟器进行组网训练在一定程度上可以解决上述不足,这种方式不受训练设备数量的限制,可以灵活地搭建各类网络环境,随着模拟器的升级,最新的网络设备也可以引入实践教学。学员在演练过程中可以独立完成全部组网任务,锻炼了实践动手能力,教官也从繁琐的设备清痕工作中脱离出来,可以全身心投入到训练指导工作。但是这种方式的缺点也比较明显,在组网阶段虽然可以选择台式计算机或服务器节点,但是在这类终端节点上仅能布置简单的静态测试网站,只能执行基础的DOS命令,而在攻防训练中,需要在服务器端布置不同类型的测试站点,同时需要能够从服务器端提取日志等多种攻击痕迹,这些是模拟器训练方式无法完成的。另外,无论是基础网络训练还是进阶的网络攻防训练,都需要采集训练过程中产生的网络数据包,通过数据包分析掌握网络协议相关原理,提取网络攻击痕迹特征,在模拟器网络环境中,这一需求也无法完成。
采用真实设备进行网络攻防训练一方面成本高,另一方面训练可能造成软硬件系统的损坏,采用Vmware等虚拟机可以较好地解决这些问题。虚拟机技术可以在一台计算机上模拟出多台终端系统,根据训练需求,终端可以选择各种类型的操作系统,可以安装各类测试工具软件,和使用一台真实计算机完全相同。当选择Host-only联网方式时,虚拟机和主机之间通过一台虚拟集线器互联,与外部互联网完全隔离;当选择NAT方式时,虚拟机通过主机代理方式接入互联网;当选择桥接方式时,全部虚拟机通过虚拟集线器接入真实交换设备,进而访问互联网。通过虚拟镜像技术,在网络攻防训练结束后,可以将虚拟机快速还原到初始状态,解决了网络攻防训练对软硬件系统可能造成损坏的问题。同时,在虚拟机端安装Wireshark等监听工具可以捕获全网通信数据,满足攻防训练的数据包分析需求。但是,虚拟机训练方式的问题是很难组建复杂的网络拓扑结构,不能模拟真实的网络环境,一些复杂拓扑结构的网络攻防训练无法完成。虽然使用Win2000虚拟机可以模拟路由器进行组网训练,但是受主机内存大小的限制,一台主机只能运行有限个数的虚拟机,例如主机内存为16GB,可以流畅稳定运行3台Windows 虚拟机,当虚拟机数量超过5台时,主机运行速度将变得极为缓慢,不能正常使用。另外,学员在每次训练过程中都需要进行IP地址设置、动态网站安装等重复性基础网络配置,也影响了训练任务的开展。
上述三种训练方式无法满足网络靶场灵活、易拓展等诸多需求。现有部分网络靶场采用C/S架构搭建,在学员终端上部署若干台Windows和Linux虚拟机,虚拟机内部根据测试需要设置若干个镜像资源。进行靶场演练时,通过客户端软件登录控制服务器,获得任务需求,根据题目要求在服务器端启动相应的目标靶机完成攻防任务。这种方式可以详细记录学员的完整测试过程,实时显示任务完成情况和积分排名,比较灵活地设置训练任务。但是当学员进行攻防演练时,被测试目标虚拟机部署在服务器端,多个学员测试同一组目标虚拟机,训练过程存在相互干扰的情况。同时,学员不能直接操作服务器端存储的目标虚拟机,无法查看目标靶机被攻击之后遗留的痕迹数据,不能完成服务器端数据包采集任务,不适合锻炼学员的网络攻击案件调查取证能力。
(二)利用云计算和虚拟化技术组建网络靶场
近年来,云计算和虚拟化技术快速发展,云平台可以按需调度、分配资源池中的存储、计算和网络资源,动态组建灵活多样的网络拓扑结构,满足靶场建设需求,一些网络安全企业利用云平台搭建靶场环境,取得了比较好的实际效果。目前共有三种类型的云平台PaaS、SaaS和IaaS。PaaS(Platform as a Service)平台即服务模式提供给用户一个运行环境,如Java、SQL Server、Apache环境,用户只需将自己的软件系统部署到云平台运行环境内即可使用,Google公司提供的GAE平台就是这类云平台。SaaS(Software as a Service)软件即服务模式提供一个实现特定功能的软件系统给用户使用,例如云相册、云备份、在线Office等都属于这类应用。百度提供的百度网盘和Google公司提供的Google DOC都属于这类云平台。 IaaS(Infrastructure as a Service)基础设施服务模式将计算能力,存储能力、I/O设备整合成一个虚拟资源池,将用户申请的各类资源整合为一台虚拟服务器提供给用户。用户可以选择虚拟服务器的硬件参数,包括CPU速率、内存和磁盘容量,可以选择虚拟机的操作系统类型,可以在虚拟机上安装任意软件系统。IaaS类型云平台灵活性强,用户自主权大。目前商业版的IaaS云平台主要有阿里云和亚马逊EC2,免费开源云平台主要有OpenStack、Eucalyptus等。与商业版相比,开源云平台更受广大用户欢迎,其稳定性和成熟性越来越强。OpenStack最早由美国国家航空航天局NASA研发,旨在为用户搭建公有云和私有云平台,具有低耦合性、高拓展性,适合用于组建网络测试靶场。
本文使用OpenStack云平台组建网络靶场,靶场模型如图1所示,训练室的硬件条件决定云平台资源池规模。OpenStack属于分布式系统,由多个服务组件构成,核心组件包括Nova计算服务、Neutron网络服务、Swift存储服务、Glance镜像服务等。Nova计算服务对云平台资源池中的全部硬件资源进行统一管理,按照用户申请的硬件参数从资源池内组成多个虚拟机实例,提供给用户使用。学员在靶场攻防演练过程中,可以在靶场虚拟机上运行Wireshark监听工具,实时捕获通信数据,在演练结束后,对捕获数据包进行取证分析,也可以远程登录靶场内的目标虚拟机,提取日志、数据库文件,查看攻击遗留痕迹。上述特点可以锻炼学员的网络取证分析能力。Neutron网络服务对虚拟机实例组成的网络拓扑结构进行管理,包括L2、L3层网络,可选用的描述元素包括子网、端口、DHCP服务、NAT服务、路由器、负载均衡器等。虚拟网络之间相互隔离,互不影响,利用Neutron网络服务可以组建复杂多样的网络拓扑,高度仿真真实的网络环境,满足靶场建设需要。Swift存储服务提供分布式存储功能,包含了数据恢复和冗余备份机制,适合大文件的分布式存储。Glance镜像服务负责管理虚拟机镜像实例,在靶场测试过程中需要安装使用不同的靶场环境,比如存在特定漏洞的PHP站点、存在特定漏洞的数据库系统等,可以将不同的靶场环境存储为镜像文件,进行攻防测试时,通过Glance镜像服务快速恢复虚拟机镜像,实现靶场环境的快速部署和恢复。
教官可以通过管理系统对云平台进行管理和维护,例如添加、修改、删除镜像文件,可以通过管理系统对靶场训练题目进行调整。学员登录管理系统注册用户,参加靶场演练,通过展示模块了解演练进展情况,通过成绩统计模块掌握任务完成情况。
二、面向网络取证能力提升的靶场内容建设
在基于OpenStack云平台组建的靶场环境内,可以快速部署演练环境,学员可以进行各种攻防训练,可以登录目标虚拟机查看各种痕迹数据,为锻炼提高学员的网络取证分析能力提供了一个良好的硬件载体。有了良好的硬件平台,靶场的训练内容是否符合公安实践需要,是否涵盖了当前最新的攻防案例,能否锻炼参训学员的网络取证能力,同样至关重要。
(一)网络靶场知识体系及前导后继关系
本文总结的面向网络取证能力提升的靶场知识点构成如表1所示,按照涉及的网络攻防技术共划分8个知识点。
?
1. 网络安全协议漏洞
虽然安全性更好的IPV6协议已经推出10余年,但是由于网络设备更新速度缓慢等诸多因素,目前IPV4协议仍是主流通信协议。而IPV4协议在设计之初,并未全面考虑网络安全因素,造成IPV4协议漏洞较多,例如ARP欺骗、DNS欺骗、路由重定向,等安全漏洞,利用这些漏洞攻击者可以监听目标主机通信数据,提取敏感信息,篡改数据内容,甚至改变数据流向。掌握网络安全协议漏洞相关原理,分析捕获数据包,识别此类攻击遗留痕迹需要学员具备TCP/IP协议族基础知识,因此计算机网络是其前导内容。
2. 网络扫描、监听
网络攻击实施之前,需要全面了解目标系统参数和漏洞情况。网络扫描是采用主动攻击方式发现目标网段内的活动主机,识别目标主机上开放的端口和漏洞信息。网络监听是采用被动攻击方式收集目标服务器相关参数信息,提取以明文方式传输的通信内容。网络扫描利用的是TCP协议三次握手建立连接和四次挥手中断连接机制判断活动端口,网络监听需要对捕获的通信数据进行分析,这些都需要学员具备TCP、UDP协议分析基础。
3. 网络破解
破解加密文件密码,移除计算机开机密码在涉网案件办理工作中有重要作用。本知识点除了包含暴力、字典和彩虹表等常规破解方法之外,还要涵盖密码移除等简单高效方法。
4. WEB服务器攻击类
WEB服务器内通常存储了大量重要信息,很多公民个人信息泄露案件的源头就是网站被入侵,数据库内海量用户信息被犯罪分子非法获取,出售获利。企事业单位门户网站被入侵,主页被替换的案件也时有发生,造成谣言传播、社会恐慌等诸多问题。掌握WEB服务器被攻击后的痕迹提取方法是网络犯罪案件调查人员必须掌握的一项技能。这个知识点要求学员具备常见类型网站的构建能力和关键代码分析能力,能对主流数据库系统使用SQL命令进行关联分析查询。
5. 僵木蠕恶意程序类
僵木蠕是指僵尸程序、木马程序和蠕虫病毒。近年来,僵木蠕恶意程序在互联网泛滥传播,2017年出现的“永恒之蓝”就是一种蠕虫病毒,会加密被感染主机内全部重要文档,受害者需通过暗网支付比特币赎金完成解密。深入研究各类僵木蠕攻击技术,才能更好地提取分析遗留的痕迹特征。
6. 日志流量分析类
用户的正常网络访问行为记录在日志文件中,同样黑客实施的网络攻击行为也记录在日志文件中,从海量日志数据中提取入侵痕迹是调查人员必须具备的一项取证能力。DDOS攻击、网络木马蠕虫攻击痕迹可以从受害者主机收发的通信数据包内提取,对海量数据包的解析能力也是调查人员必须掌握的。这个知识点要求学员具备使用wireshark分析TCP/IP协议族的知识基础。
7. 逆向分析类
逆向分析是指将恶意程序反编译为汇编或Java源代码,通过阅读源代码提取黑客主机域名、IP地址、邮箱账号,等重要线索,分析恶意程序的逻辑功能。逆向分析是僵木蠕恶意程序取证分析的重要措施。Java语言、汇编语言和操作系统原理是逆向分析必须的知识基础。
8. 防御技术类
重点包括对称和公钥加密技术、数字证书、网络层安全协议IPsec、传输层安全协议SSL和TLS,应用层安全协议PGP,VPN技术,防火墙及入侵检测技术。
(二)面向网络取证能力培养的靶场任务组织模式
与常规靶场重点训练网络攻防技能不同,面向取证能力提升的网络靶场重点培养学员的网络攻防案件取证能力,为涉网案件调查分析服务。如何有效组织靶场任务,完成取证能力培养这一目标是一个关键问题。如图2所示,本文提出一种按照常见涉网案件类型分类组织靶场任务的解决思路,先搜集典型涉网案件,分析总结每类案件涉及到的攻防技术,同步研究相应的取证方法和取证难点,再将脱密后的案件数据移植到网络靶场内,靶场任务侧重体现网络取证方面的相关内容。
下面以一个实际案例为例介绍靶场任务的组织和开展。在一起网络盗窃案件中,黑客在某电子商务网站主页植入恶意代码,用户浏览主页后,如主机浏览器未打补丁,会在恶意代码作用下,通过两级跳板从目标服务器下载1.swf和2.jar恶意程序,恶意程序利用浏览器漏洞自动触发运行,窃取受害者主机内的敏感信息,将窃取数据发送到黑客指定的网络服务器上。通过分析受害者主机在浏览网页过程中收发的通信数据包可以还原恶意代码的种植过程,可以提取出跳板和目标服务器的IP地址,获得恶意代码的存储位置和样本文件。通过对恶意程序样本进行动态和静态分析,可以得知程序的主要功能,获得黑客设置的收信服务器IP地址数据,上述信息对案件办理有重要作用。这类案件重点培养学员的网络数据包分析和恶意代码逆向解析能力。任务的组织流程如图3所示。
(1)第一步:将案件信息脱密,生成虚拟机镜像和网络拓扑,对任务进行描述。案件信息脱密是一项重要工作,需要隐去案件相关信息,包括涉案人员身份信息,修改涉案服务器的域名、IP地址信息,将处理过的涉案网站样本安装到虚拟机上,生成镜像文件,组织网络拓扑,测试案例在云平台内的运行情况。
( 2)第二步:启动靶场演练。通过镜像文件快速部属虚拟机实例。
(3)第三步:访问目标网站,监听通信数据,提取恶意程序样本。根据任务描述提供的目标网站IP地址,参训人员登录目标网站,浏览主页,同时使用Wireshark捕获全部通信数据,利用Wireshark提供的文件还原功能,从通信数据中识别、提取恶意样本文件。
(4)第四步:分析捕获数据,逆向解析恶意程序,提交结论。根据靶场任务要求,参训人员通过分析通信数据,可以还原整个控制中转流程,获得每个跳板的IP地址,确定恶意代码的具体位置。通过对恶意样本实施动态和静态分析,获取恶意代码主要功能和重要涉案配置信息。
三、网络靶场知识点动态更新机制
由于网络攻防技术更新换代速度很快,新技术不断涌现,陈旧过时的攻防技术逐渐退出历史舞台。一个安全漏洞出现后,厂商会迅速推出相应的补丁程序,弥补相关漏洞。靶场知识点也必须紧跟网络技术前进的步伐,不断推陈出新,新老更替,保证靶场内容能够满足实践锻炼的需要。
本文提出的网络靶场知识点动态调整模型,如图4所示。主要通过三个渠道调整靶场知识点:
1. 通过脱密案例更新补充知识点
例如早期勒索病毒通过互联网远程控制受害者主机,通过银行卡收取赎金,办案人员可以通过网络线索和银行支付线索调查黑客信息。在新型勒索病毒案件中,黑客通过暗网控制受害者主机,采用虚拟货币支付方式收取赎金,这导致传统线索调查方法失效。通过引入新型案例,可以及时补充完善靶场知识体系。
2. 通过参训学员的反馈意见动态调整靶场内容
例如伪基站类型案件从2013年左右开始出现,早期案例主要是以群发商业广告居多,靶场以这一类型案例为主,考查学员伪基站短信发送任务提取和恢复能力。2016年左右开始出现利用伪基站传播恶意链接,进而在受害者手机端种植木马程序,窃取银行卡资金的相关案例,通过参训学员的反馈,及时在靶场内更新相关内容,淘汰陈旧案例。
3. 依据相关竞赛题库补充完善知识点
目前国内和国际上有多个比较有影响力的网络安全赛事,题目内容涉及网络渗透、逆向分析、漏洞挖掘和数据包解析等多个领域,这些赛事题目大多对外界公开。通过分析这些试题及选手的答题情况,可以了解目前主流网络攻防技术的发展方向,及时调整、补充靶场的知识体系。
四、结语
本文提出一种面向取证能力提升的网络靶场构建方案。采用OpenStack云平台构建网络靶场,通过分析典型涉网案件所涉及到的攻防技术,梳理相应的取证措施,凝练网络靶场知识体系;采用最新案例引入、题库更新和参训学员反馈等方式实现靶场知识体系的动态更新完善。经过实践检验,上述靶场系统可以有效锻炼、提升参训学员的涉网案件取证分析能力。