0×1 简介

随着计算机犯罪个案数字不断上升和犯罪手段的数字化,搜集电子证据的工作成为提供重要线索及破案的关键。恢复已被破坏的计算机数据及提供相关的电子资料证据就是电子取证。NSTRT也曾协助进行过电子取证的工作,本期NSTRT将以一个假定的案例对基于磁盘的电子取证的过程进行一次讲解。

在一般的数据取证工作中,为了证据保全,确保取证工作造成数据丢失,在获取到证据介质后,首先要做的就是对介质数据进行全盘镜像备份。在制作完镜像备份后,接下来要做的就是对镜像进行数据提取了。

本文按照数据提取的常规思路,来介绍如何利用磁盘存储和文件系统的知识来进行磁盘数据提取。

对磁盘数据进行备份的方式中,比较常见的格式有dd、img、raw等。在提取了磁盘镜像后(本处使用dd镜像),使用某些工具可以详细地分析查找各种可用的数据。这里以强大的TSK(The Sleuth Kit)工具包为例进行说明。(工具下载)The SleuthKit可以对存储镜像做基于文件系统层,数据层,inode层和文件层等多个角度的详细分析。

本例假设得到一个dd镜像文件image.dd,取证的目标是查找JimmyJungle相关的数据信息。

在本例中,我们制作好了一个dd镜像,文件名为image.dd。本次取证的目标是查找与“JimmyJungle”相关的数据信息。

在对磁盘数据进行取证时,我们会进行多个层面的分析,包括文件系统层、数据层、inode层和文件层。这些不同的分析层面互相之间有着紧密的关联。下面我们来一一介绍各个层面的对取证的作用和分析过程

0×2 文件系统层分析

在得到一个磁盘或镜像后,一般首先会先进行文件系统层分析。文件系统层分析,顾名思义,就是了解磁盘分区的文件系统信息。获取文件系统信息不是为了直接获取数据,而是为了给后续的数据层分析和文件层分析提供分析依据。这些分析依据包括扇区信息、数据区域信息、目录区域信息和簇信息等。

在TSK里面的fsstat工具用于分析镜像的文件系统信息。使用方法非常简单,直接在命令行后面加入磁盘或镜像文件的路径。如下图显示了此镜像的扇区总数为2879,数据区域位于扇区19-2879,磁盘根目录位于扇区19-32,用于存放文件的地方位于扇区33-2879。簇大小为512b,刚好一个扇区。

0×3 数据层分析

数据层分析简单来说就是是分析磁盘镜像中基于簇的数据信息。数据层包含了文件的真实内容。分析数据层的目的是在磁盘的簇信息中查找目标相关的数据线索。数据在不同的文件系统里存储在不同名称的单元结构中。

我们首先提取未分配空间内容至un.ls:

D:\Program\sleuthkit-win32-4.0.2\bin>blklsd:/image.dd > D:/un.ls

然后提取un.ls里面的ASCII字符串(也可以按需求选择其它格式字符串)。D:\Program\sleuthkit-win32-4.0.2\bin>strings-t d D:/un.ls > d:\str.str,对un.ls立面的字符串进行搜索,找到了Jimmy Jungle的相关内容:

发现数据内容Jimmy Jungle,其中第一个信息位于未分配空间区域的第2560个扇区。下面我们以地址2560为第一个线索进行分析。

根据前面fsstat数据信息得知,簇大小为512,用2612除去簇大小后得知数据位于第5到第6个簇的开头之间。所以“Jimmy Jungle”的相关数据块位于未分配空间中的第5个簇。下面使用blkcalc工具计算第5个簇的扇区位置。

计算出image.dd的第五个簇位于扇区的位置是38。

在原始dd镜像中提取38号数据单元的内容。下图使用命令blkcat,不加其它参数的话默认只显示1个簇内容。

D:\Program\sleuthkit-win32-4.0.2\bin>blkcat.exed:/image.dd 38

0×4 inode层分析

首先介绍一下文件系统的inode。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。

通过inode层我们能够了解到数据存储单元与文件属性信息的联系。

我们使用ifind工具查找数据区域扇区号对应的文件元数据信息的位置:

D:\Program\sleuthkit-win32-4.0.2\bin>ifind.exe-a -d 38 d:/image.dd

由以上命令得知,此文件的文件元数据信息位于第五个元数据结构单元。

下面我们使用istat工具来输出此文件的inode信息:

D:\Program\sleuthkit-win32-4.0.2\bin>istat.exed:/image.dd 5

0×5 文件层分析

文件层的分析主要是根据inode信息来收集文件的具体内容。

根据inode层所提供的信息得知此文件为一个后缀名为doc的文档,大小为20480字节,占用的扇区为33-72一共40扇区。占有的扇区包括如下

33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
65 66 67 68 69 70 71 72

把此内容提取出来存为word文件。

D:\Program\sleuthkit-win32-4.0.2\bin>blkcat.exed:/image.dd 33 40 > d:/dd.doc

这样一个完整的文件就提取出来了。

至此,我们就根据得到的信息提取出了一份完整的文件 。

0×6 总结

通过以上的步骤,我们看到几个层次之间的线索共享关系,并通过各种关联的方法得到了最终想要的结果,除了上述的基于磁盘的取证外。对其他类型数据的取证技术也非常多,取证的思路也多种多样。这是一个最简单的磁盘数据分析例子,希望能够给大家对磁盘的取证分析带来一个系统化的分析和学习思路。目前电子取证技术发展越来越快,并且已经从原先的PC端取证延伸到了移动终端,在未来电子取证也将成为信息安全的一个重要分支领域,NSTRT也将在以后的技术分享中继续给大家介绍其他的取证技术。

本文版权属于NSTRT团队,由团队成员EAST创作。如果你觉得这篇文章有用,可以分享给自己的朋友,同样希望更多的人也关注我们的微信公众号trt917和微博 NSTRT团队,我们会定期分享一些信息安全相关知识,希望能够对大家有所帮助。

转载于:https://www.cnblogs.com/zlgxzswjy/p/5211616.html

电子取证实例:基于文件系统的磁盘数据取证分析相关推荐

  1. python量化交易策略实例_Python量化实例 – 基于股票的金融数据量化分析

    说明:本文只是通过自己的已学知识对 一.分析目的 利用预先设定的策略,通过对股票交易的历史数据进行回测,验证该策略是否能指导股票交易. 二.数据处理 1.数据集描述 数据集简介:此数据集来源于Nasd ...

  2. matlab 曲线拟合求导,基于matlab曲线拟合的数据预测分析

    龙源期刊网 http://www.doczj.com/doc/2f22f716cbaedd3383c4bb4cf7ec4afe05a1b148.html 基于matlab曲线拟合的数据预测分析 作者: ...

  3. 基于数据挖掘的疾病数据可视化分析与预测系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 随着医院信息系统(HIS)在全国各大医院的推广和应用,会有大量和病人相关的临床数据每天在医院中记录, ...

  4. 基于python的电影数据可视化分析与推荐系统

    温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从国外某电影网站和国内某电影评论网站采集电影数据,并对电影数据进行可视化分析, ...

  5. 基于Python的基金数据汇总分析

    资源下载地址:https://download.csdn.net/download/sheziqiong/86169088 资源下载地址:https://download.csdn.net/downl ...

  6. matlab 预测曲线走势,基于matlab曲线拟合的数据预测分析

    [摘要]试验所得的数据一般为离散的,且不能直接用一般的方程去描述它们,这样给数据的分析和预测带来了极大的麻烦,本文针对股票数据的变化,使用matlab的多项式拟合,求导,以及预测功能,对股票的实时变化 ...

  7. 数仓基于表级别的数据血缘分析

    1.背景:数据血缘分析在日常的处理过程中非常重要,其分为应用级别.表级别和字段级别三种.在数据处理过程中,需要知道目标表的字段是来源于哪张原始表.对于简单的hsql来说我们很容易可以知道目标表的来源, ...

  8. 基于php的网络数据包分析工具的设计与开发

    摘 要 当前,随着信息化发展,网络安全问题日渐突出,网络攻击日益泛滥,所以网络信息安全就变的非常重要.网络主机必须有足够的安全措施,否则网络的价值就会贬值.本系统的开发就是为了给网络使用者提供一个有用 ...

  9. 基于PHP的网络数据包分析系统设计与实现

    目 录 1 引言 1 1.1 课题背景 1 1.2 国内外研究现状 1 1.3 本课题研究的意义 1 1.4 本课题的理论基础 1 2 网络数据包分析系统概述 2 2.1 网络数据包分析的意义 2 2 ...

最新文章

  1. 用Leangoo进行项目管理
  2. NeurIPS 2021 | 寻找用于变分布泛化的隐式因果因子
  3. 百货中心供应链管理系统
  4. Python编程基础:第九节 逻辑运算Logical Operators
  5. python算法与数据结构-冒泡排序算法(32)
  6. for循环 php 增加数组维数_PHP数组在循环中创建多维数组
  7. 京东2016校招编程题
  8. Abp vNext发布v2.3!
  9. MongoDB初学者教程
  10. 对java这门课程的认识_关于java课程的总结
  11. 字符串拼串 能缓解我们的开发难度→!←(ε=(´ο`*)))唉,又是一个不知道该怎么写题目的随笔啊,头疼)...
  12. 配置JAVA和配置Android -sdk步骤
  13. BMFONT 字体制作
  14. Python爬虫—爬取京东商品信息(自动登录,换关键词,换页)
  15. Windows文件搜索工具(文件、文件夹、文件内容搜索,支持大小写、全字、正则表达式搜索条件)
  16. 防火门行业研究及十四五规划分析报告
  17. 长治南垂驾校科目二经验总结
  18. 无线移动通信技术快速发展历程和趋向
  19. 英伟达RTX 4070最新测评来了!光追效果更棒,但仅限于2k游戏
  20. 以太坊白皮书(中英对照版)

热门文章

  1. 基于PHP+MySQL实现在线考试系统【100010717】
  2. 嵌入式项目烂尾的真实原因
  3. (杂谈)关于UIE的一点感想
  4. 2021-04-30 第二阶段day23
  5. Premiere 无法导入mp3的解决办法:ImporterMP3.prm
  6. 计算机与科学运用的领域,计算机的应用领域有哪些
  7. 启动关闭nginx的方法
  8. Pycharm配置Qt Designer教程
  9. 改写《魔塔》后篇01:在地图上绘制怪物
  10. JavaScript异步加载,解决js阻塞