最近在自学数据取证下面是我整理的问题和答案,仅供参考如果发现错误可以联系QQ:1024275440
数据取证技术面试题
1.什么是数据取证
电子取证是指从计算机设备中获取信息,供案、事件调查使用。
2.数据取证有几种方式
(2.1)硬盘取证
(2.2)内存取证
3.硬盘数据取证
(3.1)PC硬盘复制
硬盘有机械硬盘和SSD闪存硬盘,从数据获取的角度来看,获取方式大同小异,在取证硬盘数据的时候应该使用专用的取证Linux启动光盘,避免常规系统使用页交换空间带来的数据损坏风险。
在使用专用取证Linux系统之后把一块大小不小于被检查计算机硬盘大小的硬盘通过USB方式或者其他接口的方式连接到被检查的计算机上,使用命令提示符:
dd if=/dev/sda of=/dev/sd (dd镜像硬盘)来进行硬盘复制。
可以使用硬盘复制机来制作镜像盘。
(3.2)手机硬盘数据获取
可以使用chip-off方法将闪存从手机吹下来,也可是使用JTAG法简单的通过跳线的方法将手机置于调试状态下,以获取手机内部存储芯片数据。
4.电子数据的固定
电子数据的固定即在获取数据之后别有用心的操作或日常的误操作都有可能修改其中数据,所以需要一种方式保证相关数据不会被修改(不会被污染)这就是电子数据固定。
目前主流的固定方式是使用常见的Hash算法比如SHA-1、SHA-256、SHA-512等,MD5 hash值存在MD5冲突问题因此被逐步淘汰,如果怀疑数据被篡改可以重新计算数据Hash值来进行判断是否被污染。
5.硬盘分区和数据恢复
(5.1)PC分区解析
数据恢复的基本单位是分区,如果已经获取了硬盘分区,需要根据MBR或者GPT方案来解析各个分区。
BIOS自检之后会把硬盘的第一个扇区的加载到内存固定位置(0x7C00)并把系统控制权交给他,这个扇区又称主引导扇区(Master Boot Record MBR)
0x1BEH~0x1FDH为分区表大小为0x40H,分区表之后的WORD大小地址是判断MBR扇区是否有效的标记,如果有效则为0x55AAH ,这个时候因为没有加载操作系统,因此CPU还是16位的实时模式。
0x1BEH~0x1FDH(偏移)40个字节是分区表,假如内存基址是0x7C00H,那么分区表是0X7C00H+0X1BEH。
(5.2)MBR分区
40个字节的分区表在很大程度是一样的,在这0x40个字节中,每0x10字节就表示一个分区,所以最多表示4个分区,这个4个分区也成为了主分区,但有些时候一块硬盘只能设置4个分区太少了,所以只好牺牲1个或多个主分区,把他们变成拓展分区,一个扩展分区又可以划分为若干个逻辑分区。
(5.3)GPT分区
GPT分区与UEFI相辅相成,正在逐步代替老的MBR-BIOS组合,在GPT分区方案中硬盘的第一个扇区将硬盘所有空间放在一个主分区中,在接下来的分区中定义各个分区,每个分区的定义为0x80字节。
第一个分区0x1BF-0x1CE(这是原MBR分区表第一个项的位置)处定义了一个主分区。在第二个扇区中定义EFI PART为ANDROID MMC DISK(Android闪存)从第三个扇区开始每隔0x80字节定义一个分区,直至所有分区定义完成。
6.常见数据恢复工具和取证工具
常见数据恢复工具:WinHex、R-studio、EasyRecovery、FinalData
常见取证工具:Encase、FTK、SafeAnalyzer
7.基于文件系统的数据恢复原理
我们先来了解一下文件在文件系统中是如何存储的,以一个简单的NTFS文件系统为例,在创建分区(也就是文件系统)时,除了写入分区头,还会把硬盘上一段连续的空间划分成两部分,即索引区(MFT表)和数据区。
索引区被划分成若干个文件登记项(File Entry 每个1KB),数据区被划分成若干个数据块(每个数据块4KB与内存页大小一致)。
当把一个文件复制到该文件系统中时,该文件的文件名、创建时间、最后一次修改时间、最近一次访问时间、共享属性等信息都会被记录在文件登记项中。
此外文件的数据记录在那些数据块中也会体现在文件登记项中,文件内容将被写入到数据区相关数据块中。
8.什么是剩磁恢复
剩磁恢复是针对10多年前的80GB容量的硬盘,对这种硬盘如果在超净室里拆开,就会发现其体积和现在几TB的硬盘是一样的,只是现在硬盘存储的密度变大了,存储密度增大极大压缩了剩磁的存在空间,以至于现在的硬盘中已经基本没有剩磁的存在了,1次覆盖足以擦除扇区中的数据。
9.扇区被写入数据的三种情况
(1)原文件登记项被覆盖,但是原文件占用的数据块没有收到影响
这种情况因为文件登记缺失,文件名和文件创建时间、最后一次修改时间、最近一次访问时间、共享属性等信息全部丢失,因为数据块没有覆盖可以通过文件开头的4字节文件签名判断文件类型需要逐扇区扫描开头是否有指定文件类型的文件签名根据文件特征或特征信息熵等技巧能找到文件最可能存放的位置,理论上就可以恢复这些文件了。
(2)原文件登记项没有收到影响,但是原文件占用的数据块全部或部分被覆盖了
在这种情况下,如果原文件所占的数据块全部被覆盖,则数据恢复失败,如果部分数据块被覆盖,则恢复出来的文件是残缺的,对于专业数据恢复人员来说这类不完整的文件才是分析的重点,分析不完整文件的思路是利用文件的格式根据所属文件的格式进行部分修复,例如利用流特征的自同步特性从残缺的数据中推算出图片中某个片段的起始位置,然后补上JPG文件头从而恢复数据,另一种思路是根据数据在文件中的存储编码寻找数据
(3)原文件登记项被覆盖,且原文件占用的数据块全部或部分被覆盖
这是最棘手的情况,仍然可以通过特征码方法或残缺页文件修复进行尝试性 恢复
10.内存镜像获取
(10.1)利用虚拟机获取内存镜像
例如当前运行的虚拟机是VMware虚拟机,设置快照会在虚拟机所在目录生成一个.vmem的文件,这个文件大小和设置的内存大小是一样的,实际上Vmware在挂起阶段,就是将虚拟机内存数据全部复制到.vmem文件中,这个.vmem文件中的数据是没有经过任何处理的纯dd镜像格式的内存,可以使用Volatility软件进行分析。
(10.2)利用休眠文件获取 Hiberfil.sys
如果被检查的计算机是笔记本电脑,而且到达现场时笔记本电脑处于开机状态,就可以利用笔记本电脑的休眠文件(Hiberfil.sys)获取系统物理内存的镜像,在通常情况下,根据笔记本电脑的默认配置文件,在关闭盖子后,系统会自动进入休眠模式该功能在系统的控制面板—硬件和声音—电源选项—系统设置—中进行设置。
休眠时系统会将物理内存备份到C:\Hiberfil.sys文件中,然后系统就可以断电了,当文件再次打开笔记本电脑的盖子时,系统会自动将C:\Hiberfil.sys文件的数据导入内存类似于VMware虚拟机中的.vmem文件。
(10.3)利用崩溃转储文件获取
当内核出现错误,Windows就会蓝屏在通常情况下,会生成崩溃转储(Crash Dump)时,系统就会被冻结,物理内存中的数据加上(大约4KB的头部信息)会被写入磁盘,这样就会完整地保存了系统状态,而且保证从转储时该状态不会被修改,崩溃的转储文件可以放到Windbg中分析也可以很方便的转换成dd格式的内存镜像。
产生的崩溃问题可能会限制这一方法的使用
崩溃存储类型有好几种例如最小的内存转储(64KB)内核内存转储和完全崩溃存储等,如果物理内存大于2GB系统默认不会完全存储需要单独设置。
触发蓝屏可以使用微软软件NotMyFault工具
11.常用内存镜像获取工具
Windows: KnTTools、F-Response、FastDump、SafeImage
Linux: fmem、LiME
12.动态仿真技术
对于检查人员来说,不开机就不能直观的看到被检查的计算机开机后的样子,也不能运行被检查计算机上安装的程序,这显然不利于分析,所以不同厂商开发了多种使取证人员自由检查被检查计算机而不破坏的软件和硬件技术这种技术被称为动态仿真技术
之所以不能直接启动计算机是因为目标计算机可能支持正常的页交换技术导致破坏计算机上面的数据。
硬件动态仿真产品
Phantom、Shadow2等
软件仿真
可以通过VMware做软件动态仿真,需要将一块dd格式的镜像硬盘放在虚拟机中,启动虚拟机就Vmware就可以自动生成一块dd格式的硬盘之后需要进行相关设置即可加载dd硬盘之后设置虚拟机快照保证数据不破坏即可。
13.注册表分析
注册表中记录了大量重要的信息,例如用户最近使用程序/文件,系统的时区设置、网络配置、开/关所自动运行的程序、系统中的服务、系统搜索记录、Windows系统登录密码的Hash值等。
如果被检查的计算机有Rootkit而且已经Hook了某些内核API,在正在运行的系统中看到永远是系统API显示的信息,恶意软件的作者完全可以把那些不想让我们看见的信息隐藏起来,所以从尽可靠的数据角度来看,应该直接从处于关机状态的系统硬盘中解析注册表中的数据。
14.Hive文件
注册表实际上是由系统盘符中若干个Hive文件组成的。
常见Hive文件在系统文件中的位置
HEKEY_LOCAL_MACHINE\System
%WINDIR%\system32\config\System
HEKEY_LOCAL_MACHINE\SAM
%WINDIR%\system32\config\SAM
HEKEY_LOCAL_MACHINE\Security
%WINDIR%\system32\config\Security
HEKEY_LOCAL_MACHINE\Sofware
%WINDIR%\system32\config\Software
HEKY_USER.Default
%WINDIR%\system32\config\defualt
15.注册表中的时间
Hive文件中有一个键控制模块(Key Control Block)在windbg中可以查找控制块结构,该块中有一个名为LastWrite的成员是该键最后修改的时间,在进行取证分析的时候可以利用这个时间查找文件还可以根据这个时间判断病毒感觉时间,或者根据时间进行排序。
16.USB移动存储设备
Windows为了更好的适配USB驱动程序,会在USB设备首次插入计算机时将其厂商、型号、序列号、数据传输模式等信息记录在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB 下的各个键中,所以根据各个键的LastWrite时间就能知道对应USB设备最后插入的时间
HKEY_LOCAL_MACHINE_SYSTEM\MounterDevices下子健记录了过往U盘插入的盘符,如果有多个U盘插入那么保留的盘符下次单独插入仍然是分配好的盘符,子健中的设备信息可以和上述注册表中的信息对应起来。
17.NTFS多数据流隐藏文件
在Windows操作系统中,文件名不也许包含英文字符:因为该字符专门用于NTFS多数据流中的。
NTFS多数据流是指一个NTFS文件中可以存储多个文件,比如新建一个test1.docx的word文件可以使用命令行 notepad test1.docx:1.txt 命令捆绑1.txt文件。
NTFS多数据流的优点是宿主文件和寄生文件的类型都不受限制,例如一个txt文件中嵌入一幅图片type d:4.jpg>123.txt:123.jpg 后输入 mspaint .\123.txt:123.jpg

数据取证技术面试题(持续更新中)相关推荐

  1. 【22考研】计算机择校信息库!近百所高校21计算机考研数据汇总!(持续更新中)

    所有信息均为已公开的信息,如有偏差,一切以官网为准 [院校信息]2021计算机考研信息汇总(持续更新中) 近百所高校计算机考研信息汇总,包括各个高校21进入复试同学各科成绩的平均分.最高分以及最低分, ...

  2. java史上最全面试题--持续更新中(一)

    1.面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来构造类. 继承:基于基类创建新类. 封装:将数据隐藏起来,对数据的访问只能通过特定接口. 多态性:不同子类型对象对相同消息作出不同响应 ...

  3. 2020年Java面试题及答案_Java面试宝典_Java笔试题(持续更新中)

    推荐面试视频教程 2019年最新Java互联网大厂面试精粹 前言 前言: 少年易老学难成,一寸光阴不可轻.未觉池塘春草梦,阶前梧叶已秋声 .-朱熹<劝学诗> 勤奋才是改变你命运的唯一捷径. ...

  4. 史上最全的spark面试题——持续更新中

    1.spark中的RDD是什么,有哪些特性? 答:RDD(Resilient Distributed Dataset)叫做分布式数据集,是spark中最基本的数据抽象,它代表一个不可变,可分区,里面的 ...

  5. SpringBoot面试题大汇总附答案,SpringBoot面试题-持续更新中

    2021最新SpringBoot面试题[附答案解析]SpringBoot面试题及答案2021,SpringBoot2021最新面试题及答案,SpringBoot面试题新答案已经全部更新完了,有些答案是 ...

  6. Dubbo面试题及答案,2021年Dubbo面试题-持续更新中

    2021最新Dubbo面试题[附答案解析]Dubbo面试题及答案2021,Dubbo最新面试题及答案,Dubbo面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集整理的.这些答 ...

  7. ETL的数据同步工具调研(持续更新中)

    扯白了,数据同步工具就是"导数据 "的 名称 社区响应 国内使用情况(以前程无忧为参考) SQOOP 更新缓慢,对于hbase2.x以上版本使用时需要老版本的jar包 9页 Dat ...

  8. KNN算法数据归一化处理(持续更新中)

    数据归一化处理 公式:(每个值-最小值)/(最大值-最小值) 数据归一化处理,不会改变数据原有的分布情况 模拟的数据集 data = [[-1,201],[-0.5,189],[0,199],[1,1 ...

  9. 一些没啥用的大数据组件以及理由(持续更新中)+2020的Gartner曲线

    组件名称 没啥用的理由 phoenix 不支持最新版Hbase Ambari 不支持最新的周边组件 Zeppein 不支持最新版的Spark Hue 不支持最新的周边组件 2020gartner曲线如 ...

最新文章

  1. 伯克利大神一人投中16篇!ICLR 2021论文接收统计出炉
  2. sts集成jboss_与JBoss BPM Travel Agency更新了Modern BPM数据集成
  3. Abiword页面布局
  4. html:(15):用css样式给表格添加边框和caption标签
  5. 统计文章中字母出现频率
  6. 蓝宝石rx580怎么超频_台式机显卡怎么选?小百科教你准确定位合理选择(3)
  7. Object-C---gt;Swift之(十一)属性观察者
  8. paip.提升用户体验------c++ Qt5 实现程序图标以及动态托盘闪烁图标
  9. win10怎么把锁屏界面变成壁纸
  10. u盘插电脑上不显示怎么办?数据恢复还有希望吗
  11. java中如何求101-200之间的素数,并统计素数个数
  12. LaTeX 中文排版
  13. 数字芯片有哪些,以及它们的功能是什么?
  14. Zookeeper--四字命令
  15. 华为2021实验室招聘自动驾驶等相关方向工程师 / 博士后
  16. 想自己上线微信小程序一定要会代码?
  17. 集群qorum数量master-eligible节点掉线解决方法
  18. RPC框架入门 学习梁飞的RPC
  19. 动态规划:面积最大正方形
  20. 登陆服务器和游戏服务器为甚要分开总结

热门文章

  1. 三星新推出Tizen操作系统初体验
  2. java毕业生设计缘梦书屋网站计算机源码+系统+mysql+调试部署+lw
  3. Android HCE开发
  4. Python基础知识(input函数的使用、input函数的高级使用)
  5. 下载网页中的所有资源
  6. origin打开之后是白屏?
  7. 如何更快地渲染?深入了解3D渲染性能的指南!(2)
  8. 如何在电脑上安装多个版本的CUDA
  9. css 容器内 div 底部,Css:div底部的段落
  10. 怎么配置opencv才能不用每次都重新配置一遍?