行业 | 基于Hadoop架构电子数据取证框架研究
Posted 码课AI
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了行业 | 基于Hadoop架构电子数据取证框架研究相关的知识,希望对你有一定的参考价值。
本文转自微信:警察技术杂志
单位:湖北省公安厅网安总队
随着大数据时代的到来,大数据技术和应用已经渗透到社会的各个层面,在大数据应用实现的架构中Hadoop架构处于主流地位。据报道,至2019年全球Hadoop市场年复合增长率将达53%[1]。大数据技术在给人们的生活带来极大便利的同时,也给大数据应用的电子数据取证带来了巨大的挑战。笔者在重大案事件中也越来越多的遇到基于Hadoop架构海量数据环境的取证。Hadoop架构是大数据计算的主流架构,是对大规模数据集进行分布式计算的环境,和传统的电子数据取证所面临的环境具有较大差别,且Hadoop架构还在飞速发展,因此,本文从电子数据取证视角对Hadoop架构进行了划分,对Hadoop架构与传统计算机取证环境的区别进行了分析,并在此基础上根据国际通用取证模型(EDRM),提出了针对Hadoop架构的电子数据取证基本模型。
Hadoop大数据应用本身是独立于云计算环境的,可架设在单机或者多机网络环境。但在实战场景中,Hadoop大数据应用往往架设在云计算基础的环境上。传统的理论研究认为,云计算环境自身所带的虚拟特性及资源智能调度,使证据源本身处于一种动态环境中,难以像传统计算机取证环境那样,明确证据源在特定时间点所处的物理位置。上述证据源思路来源于传统的计算机犯罪勘验,需要对证据源进行物理扣押。本文根据2016年10月1日正式生效的《关于办理刑事案件收集提取和审查判断电子数据若干问题的规定》第九条的规定,对Hadoop大数据应用,可采取利用该系统本身各分层提供的数据应用和维护接口开展网络在线提取的方式,对证据源所包含的数据信息进行勘验取证,从而不需要明确特定时间点的证据源的物理位置,解决了以往Hadoop系统证据源物理位置确定才能开展勘验的问题。但是应用在线数据提取,需要对Hadoop系统架构需要提取的数据类型进行分析归类并划分层次。
(一)Hadoop架构下电子数据取证的证据源需获取数据种类分析
电子数据取证的目的,是获得与案件事实相关的具有真实性、关联性、完整性的数据。Hadoop架构自身体系复杂,模块繁多,导致取证工作难以明确重点。从电子数据取证的视角下,根据取证工作需要,可将Hadoop架构的分布式计算集群系统中证据源的各种数据可抽象划分为以下三类:
1. Hadoop架构分布式系统本身所处理的大数据。这类数据是从各种数据源收集而来,存储在Hadoop系统中被处理的各类数据的集合,其特点一是数据量十分庞大,二是数据包括结构化、半结构化及非结构化等多种类型。Hadoop架构分布式系统所处理的与案情相关联的大数据是整个电子数据取证工作最重要的取证目标。
2. Hadoop架构分布式系统产生的元数据。元数据是对上述大数据的描述。因为大数据本身的信息量十分丰富,针对上述大数据的收集分类、分析处理、查询检索等业务数据流产生的逻辑描述数据,是帮助取证人员更好地理解大数据,并采取有针对性的方法对其进行分析的一类重要数据,也是从电子证据关联性的角度,对Hadoop系统内提取的数据是否能作为证据进行判断的重要依据。
3. Hadoop架构分布式系统自身的配置及日志数据。Hadoop系统自身也是一个复杂的分布式计算系统,它的配置信息和日志数据是帮助取证人员理解Hadoop系统运行和获取数据方式的重要线索和工具。从证据模型的角度考虑,后期如果需要重建Hadoop系统,对原始环境进行证据展示时,系统配置文件及日志数据就是不可或缺的、至关重要的重建依据。
(二)取证视角下Hadoop架构分层模型
Hadoop有自己的框架结构,其生态圈还一直在持续发展,它包含很多工具和组件,相互协同工作,且这个框架结构可扩展也可根据用户需求自定义。因此,广义上讲,Hadoop是一个不断发展的生态系统。在目前通用文档里,一般其核心组件架构如图1所示。
上述架构是从开发人员角度构建的。从开发人员视角构建的系统架构图,包含大量技术实现细节,往往会导致取证人员陷入技术细节中而难以进行高效取证。本文在对Hadoop架构下需要取证的目标数据进行分类基础上,根据数据被Hadoop架构各组件封装的情况,设计构建了以电子数据取证为视角的四层取证模型,该模型分层结构如图2所示。
在这个模型中,Hadoop架构从底部到顶部共分为四个层次:
第一层 宿主操作系统层:该层是Hadoop架构集群安装的宿主主机系统层。宿主主机层的操作系统主要为Linux系统,但也可以是Windows系统。宿主主机层是Hadoop架构集群里面最基础的资源。对该层的取证采用通常对主机服务器取证的方式进行,对其主机硬盘、分区进行镜像,对其操作系统及日志用常规取证软件进行分析。但是,由于Hadoop架构下的HDFS文件系统对所存储的大数据进行了封装,导致在该层次上的取证难以直接读取Hadoop架构内所存储的应用数据,只能看到其对应的HDFS文件系统的文件块。该层证据源为Hadoop大数据应用系统自身整体的物理架构,常包含多台集群服务器及网络交换设备。但是采取针对此层证据源的取证会面临将无数数据碎片重新拼接成有意义的海量应用系统数据的巨大工程,除非其他条件不具备,一般不采用从此层证据源开展取证工作。
第二层 Hadoop文件系统层:这一层包含了Hadoop架构中的分布式文件系统HDFS存储的底层结构和文件、yarn(Hadoop2.0版本以上)及MapReduce等资源调度和访问的接口。从取证视角分析,对这一层数据的取证,只能在Hadoop系统在线运行情况下,通过在线取证的方法进行。在该层次上的取证可以直接访问获取到Hadoop架构内通过HDFS分布式存储的文件,也可以访问文件相关的元数据。难点在于,无法使用现有常规的取证软件直接获取数据,只能通过HDFS client 、Shell接口、Java api接口三种方法,采用输入命令或者编程的方式获取数据。但是由于在这一层上可以直接访问到HDFS文件系统内的文件,因此,为HDFS中存储的相关文件提供了数据恢复的可能。此层证据源为Hadoop应用系统本身所提供的基础文件系统,可将其类推于传统的NTFS等文件系统来看待,在实战场景中常需要开展对此层证据源的取证工作。
第三层 Hadoop数据库相关层:这一层主要包括Hadoop架构内的数据库Hbase组件及相关的分析组件Hive等。Hbase数据库进行数据存储时,会根据自身设计再次对数据进行封装后存储在HDFS分布式文件系统上。类似于文件系统层,对这一层数据的取证,同样只能在Hadoop系统在线运行时进行,对该层数据的访问一般也只能通过Hbaseclient、Shell或Hbase及Hive提供的Api接口进行,现有常规取证软件也无法直接获取数据。但是通过该层可以直接读取到HDFS数据库文件中的应用数据,并且在该层也能获取到关于应用数据业务流的逻辑处理配置文件及其数据处理的底层日志信息,为对应用数据的数据恢复提供了可能。此层证据源为Hbase分布式数据库,该数据库对大数据进行进一步封装,因此对此层证据源的取证勘验需要明晰Hbase数据库系统内部架构及删除算法等内容,限于篇幅,本文将在后续文章中进一步展开。
第四层 应用系统层:这一层是整个Hadoop架构的最高层,该层一般会包括对Hadoop架构进行数据管理、分析的工具和组件,如Pig等。该层的取证也只能在系统在线运行的情况下进行在线取证。但是由于该层有各种方便的工具,因此在取证过程中最为直观,技术难度最小。在这一层上的取证可以直接通过目标对象提供的各类应用系统的使用界面进行。难点在于,由于应用层对用户提供了友好、便捷、易用的操作界面而屏蔽了底层的数据处理细节,因此该层的取证一般难以进行数据恢复等操作。本层证据源就是Hadoop大数据应用本身给用户开放的系统界面,数据提取简单明确,但是也是受限最多的一层。
通过上述分层架构可见,基于Hadoop架构的取证与通常基于单机和简单网络的数据取证具有较大的区别,主要区别包括:
1. 在取证环境方面,Hadoop集群硬件节点多、数据量大、单位数据价值密度小;而传统计算机硬件数量和数据量较少、单位数据价值密度较大。
2. 在证据获取与固定方面,对Hadoop分布式系统通常只能在线进行取证,无法扣押,且没有成熟的规则和工具对数据进行获取;而传统的取证环境内作为检材的计算机、服务器等易于扣押,可离线取证,且有相应的规则和成熟的工具对数据进行获取。
3. 在证据分析方面,Hadoop环境下由于数据量大、数据封装程度高,对数据进行分析常需借助高性能的数据分析系统和文件检索系统,处理的数据种类也较为多样,常同时会涉及结构化、半结构化、非结构化的各类数据的处理和分析;而对传统计算机取证数据的分析,由于数据量相对不大,可采取人工分析的方式或利用自动化和一键式的分析工具进行数据分析。
4. 证据呈现方面,要重建Hadoop应用系统并对相关证据进行展示,常需要搭建较为复杂的虚拟环境,甚至难以直接展示,需要进行技术说明;而传统的计算机取证结果则在法庭上可以用较简易的方法予以展示和呈现。
5. 证据真实性及完整性保证方面,Hadoop架构的取证往往需要进行在线取证,且数据有可能因为后续系统的持续运行而难以重现,证据的完整性和真实性更依托证据监督链和同步录像来实现;而传统的计算机取证一般占主流的是静态取证,可以直接通过计算md5或者数据签名等方法对其完整性进行固定。
四、基于EDRM架构Hadoop取证框架的构建
(一)EDRM国际通用取证框架
EDRM(Electronic Discovery Reference Model)模型取证框架是国际知名取证厂商nuix、relativity等联合发起的一个国际通用取证框架,目前已成为事实上的取证业界的取证框架标准,国际知名取证厂商的取证软件设计中已经广泛采用该模型作为取证工作流设计的基础。
该框架不同于传统的线性或者瀑布模型,它是从电子数据取证的视角对取证过程进行普适的一个概念抽象。该模型到2014年,已经发展到比较成熟的v3.0版本。该模型共分为六个阶段共9个流程,第一阶段是信息收集(Information govermance)、第二阶段是证据确认(Identification)、第三阶段包括证据保全(Preservation)、证据收集(Collection)、第四阶段包括证据处理(Processing)、证据检查(Review)、证据分析(Analysis)、第五阶段是证据产出(Production)、第六阶段是证据呈现(Presentation)。该流程可以有效适应各类数据取证的情况,并能符合大陆法系或英美法系对电子证据规范性的要求。
(二)基于EDRM模型的Hadoop环境取证框架
EDRM取证模型为普适概念性框架,笔者在该模型的基础上,根据Hadoop架构分层模型,细化出了符合EDRM规范的Hadoop取证框架。该框架根据2016年10月1日生效的国内电子证据最新法律文件《关于办理刑事案件收集提取和审查判断电子数据若干问题的规定》设计,使本框架既符合技术相关要求,同时也符合国内相关法律规则对电子数据完整性、真实性的要求。笔者设计的基于EDRM模型的Hadoop取证框架如图3所示:
1. 信息收集环节:现场调查至关重要。现场调查是信息收集中至关重要的环节,现场调查之前应制定详细周密的调查计划。现场调查包括以下主要内容:硬件上,Hadoop集群分布的物理位置、拓扑结构;软件上,Hadoop架构的组织形式、相关组件、应用程序;人员上,Hadoop各个层次的管理人员、账号和权限。注意解决两类问题:一是各个层次的负责人互相不了解其他层次的情况,有必要组织到一起进行现场沟通;二是主管部门配合或者不配合,要采取相应的应对措施。这些都是在现场调查环节应当解决的问题。
3. 证据处理-检查-分析环节:根据案件侦查取证需要,利用mysql等数据库及结构化和非结构化数据分析工具对上述获取的Hadoop的大数据进行进一步的检查分析。
4. 证据报告生成-呈现环节:完成相关取证报告,呈现取证结果。必要时,对涉及案件的关键证据应用系统进行仿真重建,供法庭展示使用。鉴于Hadoop环境下,上述取证流程均处于在线运行状态下进行,难以通过完整性校验等方式保证证据的真实性、完整性,笔者认为可以根据《关于办理刑事案件收集提取和审查判断电子数据若干问题的规定》第5条第五款“对收集、提取电子数据的相关活动进行录像”的方式,形成证据监督链,以保证电子数据的完整性和可追溯性。
为适应大数据时代下,基于Hadoop应用环境的相关案事件电子数据取证的需求,本文根据国际通用的EDRM取证框架,提出了一种适应于Hadoop环境且便于取证人员使用和
掌握的标准化、规范化的取证框架,阐明了在这个框架下各个环节的取证要点,为进一步细致探讨Hadoop环境下的数据分布存储、删除恢复、日志分析、入侵检测、安全防范等相关工作,提供了框架基础。随着Hadoop生态系统的不断发展,根据各类基于Hadoop架构的相关案事件的应用实际,笔者还将不断完善基于Hadoop架构的取证框架并探讨制定相关的标准流程和规范,更好地服务于案件侦查实战。
参考文献:
[1] 萨米尔·瓦德卡,马杜·西德林埃,杰森·文纳.深入理解Hadoop. 北京:机械工业出版社,2015.10.
[2] Boirs Lublinsky KevinT.Smith Alexey Yakubovich.Hadoop高级编程构建与实现大数据解决方案.北京:清华大学出版社, 2014.
[3] 范东来. Hadoop海量数据处理技术详解与项目实战.北京:人民邮电出版社,2015.3.
[4] 陈文捷,蔡立志.大数据安全及其评估.计算机应用与软件,上海:上海市计算机学会会刊,2016.4第33卷第4期.
以上是关于行业 | 基于Hadoop架构电子数据取证框架研究的主要内容,如果未能解决你的问题,请参考以下文章