APP下载

基于Docker容器的电子取证系统

2021-11-08王星博阮强张瑞霞

电脑知识与技术 2021年27期

王星博 阮强 张瑞霞

摘要:该系统设计了一个面向docker容器的电子取证系统。在该系统中,以对docker的文件管理系统Overlay2的特点和作用原理的研究为基础,编程实现文件哈希值的提取、已删除文件的恢复、容器历史进程的记录、关键字搜索等功能。

关键词:docker;电子取证;文件系统

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2021)27-0143-02

1 背景

在当今社会的网络犯罪中,调查员在收集网络证据时面临着很多挑战,如大量的工作重点放在事后获取,调查员使用工具复杂繁多等等。这些无疑增加了调查网络犯罪的难度。而Docker提供得灵活快速的部署模型 (Datadog 公司, 2016) 以及基于大型生态系统的快速软件开发能力,Docker 具有能比肩Linux、Windows等常见操作系统的快速执行的特点和轻量且虚拟化的特点。这使它在特定软件开发过程中已经起到了非常广泛的作用,作为能支持分布式计算环境下的主要容器虚拟化的技术之一,Docker已经被大部分提供计算服务的系统平台所采用。在Docker和云计算技术紧密结合并高速发展的今天,基于Docker环境下的电子取证研究更需要人们深入关注、探索、开发。

但它依旧是一种相对较新的技术。虚拟环境下取证的困难和docker取证的研究工作较少,这使得docker在事件分析和调查取证方面的系统开发尚未被考虑到,而且随着现在的docker在生产环境的不断部署,这一现象正变得越来越严重。

2 系统的总体设计

系统整体模块层次图,如图1 所示。通过指向容器路径,获取容器ID,对容器的各个组件和文件系统进行取证分析。系统运行结束后会生成一个以容器ID命名的目录,目录下会存放log文件,文件hash值表格文件,生成辅助文件恢复模块、查找模块工作的辅助文件,拷贝容器中记录历史操作、快速索引等含有重要信息的容器文件。

3 系统的详细设计与实现

3.1 Hash值提取模块

在收集数字证据时(如对机械硬盘或者固态硬盘做镜像),全部内容(换句话说,每一个比特都被收集)组合在一起生成一个唯一的单项哈希值。一旦扫描过程完成,就可以重新计算每个文件的单项哈希值。如果新的计算结果与原始结果相匹配,就能证明证据没有被修改。并能通过这个哈希值与我们的哈希值库相比较,检测木马文件。该功能工作流程如图2所示。

3.2 文件恢复模块

文件雕刻技术是文件恢复的常用手段,此方法可以恢复尚未被覆盖的、已被覆盖和被删除的文件。但碎片文件只能不完全的重建。此外,对于文件的任何元信息(如文件名,路径,时间戳或类内容)都会丢失。因此文件雕刻获得的信息是非常含糊的,甚至是不准确的。索然在事件分析时可能有用,但因不确定性太强而不能用在取证调查中。与文件雕刻相比,文件系统分析技术使用存储在文件系统中的管理结构,根据docker特有的文件系统Overlay2的结构能更全面地进行取证调查。

还可在/var/lib/docker/containers/[ContainerID]下对子diff子文件夹和merge子文件夹进行更进一步的取证分析。Diff文件夹中包含了所有在r/w层中创建且还未被删除的文件。而merge文件夾包含了overlay2文件系统提供的所有文件系统层。当用户删除了较低层的r/w层中的文件时,系统会分配一个将其标记为Linux字符设备的inode,从而指引Overlay2文件系统忽略被inode标识的文件以让用户查看全局的视图。而本身即在r/w层中创建并在随后即删除的文件将使用和正常情况形同的操作系统/文件系统功能删除。在这种情况下,删除应用存储在r/w层,但文件本身仍在镜像层。依此,即可找到原文件。

3.3 关键字搜索模块

关键字上下文搜索具有对像磁盘镜像或者内存快照这样的数据对象进行搜索的能力,以发现与特定上下文和类别相关联的关键字或者短语。例如想在一个磁盘镜像中搜索“毒品”关键字的出现等等。该功能主要采用BMH算法,其工作流程如图3所示。

4 系统测试

部署系统源码和环境后,输入容器的绝对路径,开始取证。取证后得到文件hash值表。如图4所示。

除了记录Hash值,还整理了其相应的时间戳、标签等重要信息。

容器的历史操作记录。如图5所示。

5 总结

本篇文章讨论并指出了docker环境下电子取证的研究意义,对docker文件系统Overlay2系统做了详细的阐述,并提出利用此文件系统进行取证的方法和实现原理,并且对软件的功能和应用技术进行了展开分析。同时,又在系统的Hash值提取和关键字搜索功能实现时也结合了计算每个文件的单项哈希值的算法、BMH算法。功能实现和程序测试的过程中达到了预期的效果。如用户与程序的界面交互方面、系统功能的实用性方面。同时,本系统也将会针对在网络取证、优化算法方面进行改进。

参考文献:

[1] 刘品新.电子证据的基础理论[J].国家检察官学院学报,2017,25(1):151-159.

[2] 王长杰.网络犯罪中电子证据取证的规范化管理路径[J].河北公安警察职业学院学报,2016,16(3):15-19.

[3] 樊崇义,李思远.论电子证据时代的到来[J].苏州大学学报(哲学社会科学版),2016,37(2):99-106.

[4] (美)Chet Hosmer.电子数据取证与Python方法[M].张俊,译.北京:电子工业出版社,2017.

【通联编辑:代影】