第二章 计算机取证原理

63
第第第 第第第 第第第第第第第 第第第第第第第 第第第第第第 第第

Upload: astrid

Post on 25-Jan-2016

72 views

Category:

Documents


1 download

DESCRIPTION

第二章 计算机取证原理. 重庆邮电学院 陈龙. 课程内容. 数据存储介质 数据表示 文件系统 网络体系结构 加密技术 —— 数据完整性、私密性 反取证技术. 存储介质 原理. 数据多以代码(由 0 和 1 组成的二进制代码)形式储存于计算机的存储介质之中(如 RAM 、磁盘、光盘等); 计算机数据的载体是电脉冲和磁性材料等,数据的存放地点相对复杂: 可能是在计算机内或外围存储设备中: 计算机的硬盘、备份介质(如磁带)、系统日志、数据文件、寄存器交换区、隐藏文件、空闲的磁盘空间、打印机缓存、网络数据区和计数器、用户进程存储区、堆栈、文件缓冲区、文件系统等 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第二章 计算机取证原理

第二章第二章计算机取证原理计算机取证原理第二章第二章计算机取证原理计算机取证原理

重庆邮电学院 陈龙

Page 2: 第二章 计算机取证原理

课程内容

数据存储介质 数据表示 文件系统 网络体系结构 加密技术——数据完整性、私密性 反取证技术

Page 3: 第二章 计算机取证原理

存储介质 原理• 数据多以代码(由 0和 1组成的二进制代码)形式储

存于计算机的存储介质之中(如 RAM 、磁盘、光盘等);

• 计算机数据的载体是电脉冲和磁性材料等,数据的存放地点相对复杂:• 可能是在计算机内或外围存储设备中:

• 计算机的硬盘、备份介质(如磁带)、系统日志、数据文件、寄存器交换区、隐藏文件、空闲的磁盘空间、打印机缓存、网络数据区和计数器、用户进程存储区、堆栈、文件缓冲区、文件系统等

• 也可能在网络上的某台或数台服务器中。

Page 4: 第二章 计算机取证原理

数据存储 磁介质

Page 5: 第二章 计算机取证原理
Page 6: 第二章 计算机取证原理

存储介质的结构

硬盘的物理结构 柱面、磁头、扇区

软盘 光盘 U 盘 主引导记录( Master Boot Record) MBR

Page 7: 第二章 计算机取证原理

存储系统的接口标准

硬盘接口 IDE/ATA SCSI

工具箱

Page 8: 第二章 计算机取证原理

系统启动 选择

主引导记录( Master Boot Record) MBR

Page 9: 第二章 计算机取证原理

数据表示

Page 10: 第二章 计算机取证原理

数据表示

计算机信息是用二进制数据流表示的;

一个“ 0”,“ 1”意味着什么呢?宏观的看,上下文环境0000 0001 1111 1111; 511 Motorola1111 1111 0000 0001; 511 Intel编码‘A’ ‘3’

Page 11: 第二章 计算机取证原理

文件查看与编辑 16 进制

HexEditor WinHex

Page 12: 第二章 计算机取证原理

数据表示

有意义的数据最后组织成文件

文件系统

• 普通文件、临时文件、日志文件、注册表

• 交换文件或页面文件、浏览器的历史和收藏夹、 Cookies

• 隐含文件、安装程序的残留物等

Page 13: 第二章 计算机取证原理

文件系统

Page 14: 第二章 计算机取证原理

文件系统 文件系统:

它是一组数据对象的集合,能从外部对其引用和操作。

操作系统通过文件系统存储文件,使用户很容易通过文件名、存储位置、日期或其他特征访问各类文件。

Page 15: 第二章 计算机取证原理

文件系统

• WINDOWS 文件系统 FAT 、 NTFS

• UNIX/LINUX 文件系统 index node ( inode )、目录

• 让一台计算机能辨别某个特定的文件系统的过程称为装载文件系统。

Page 16: 第二章 计算机取证原理

文件系统 文件系统只对特定大小的数据单元进行操作。

这些数据单元在 UNIX 系统中称作“块”,在 WINDOWS 系统中称作“簇”

这些数据块是操作系统实际存取数据的最小存储单元,每个文件都由若干个数据块组成

数据块越大,读出和写入硬盘的速度就越快

数据块小的文件系统总的来说浪费的空间更少,但未必有同样好的性能

Page 17: 第二章 计算机取证原理

文件系统 把一个分区转换成操作系统能够识别的文件系统的过程叫作格式化 格式化只不过是对文件系统中各种表进行了重新构造,因此,

如果硬盘已经有数据存储在上面,格式化操作会让大部分数据还在那儿。

格式化会重新建立用于访问文件的各种表,同时会创建一个新的空索引列表,指向未分配数据块,但格式化操作不会真正动到文件系统的其他内容。

删除操作只不过把构成这些文件的数据簇放回到系统中,对通常的文件读写程序来说,这些簇不可见。这些数据簇可以从空闲块列表中得到,而从目录项 (或 inode项 )中访问不到。

所以,在硬盘上有大量不在文件系统管辖范围内的数据。这些数据并非唾手可得,但是要得到也十分困难。

Page 18: 第二章 计算机取证原理

文件系统 组织

某一可能的布局

Page 19: 第二章 计算机取证原理

MS DOS 的文件系统

返回

多级目录,不支持文件别名,无用户访问权限控制

1. 磁盘文件卷结构

FAT 1 FAT 2 Root

Directory

Data

(File & Directory)

Boot

Record

Volume Structure in MS DOS

Sector # 0 N1 2N

Page 20: 第二章 计算机取证原理

文件卷 (volume) 信息:记录在引导记录的扇区中。包括:簇大小,根目录项数目, FAT 表大小,磁盘参数(每道扇区数,磁头数),文件卷中的扇区总数,簇编号长度等 逻辑扇区号:三元组(柱面号,磁头号,扇区号)- >

一个文件卷中从 0 开始对每个扇区编号,优点:屏蔽了物理磁盘参数的不同

允许同时访问的文件卷数目上限可以由 config.sys 文件中的 LASTDRIVE= 语句指定

簇 (cluster) :由若干个扇区组成。在一个文件卷中从 0开始对每个簇编号。

Page 21: 第二章 计算机取证原理

FAT 表:两个镜像,互为备份。文件卷中的每个簇均对应一个 FAT 表项,文件分配采用链式分配方法。 每个 FAT 表项所占位数是簇编号的位数,其值是(以 FAT12

为例): 0 :表示该簇空闲 FF7h :物理坏扇区 FF8h~FFFh :表示该簇是文件的最后一个簇 其他值:表示该簇被文件占用,而且表项中的值是文件下一

个簇的编号。 FAT 表大小占文件卷容量的比例:

簇编号位数 / ( 8*512* 每个簇的扇区数 )

Page 22: 第二章 计算机取证原理

文件存储空间分配 (file allocation)

预分配 (preallocation) :创建时 ( 这时已知文件长度 ) 一次分配指定的存储空间,如文件复制时的目标文件。

动态分配 (dynamic allocation) :需要存储空间时才分配(创建时无法确定文件长度),如写入数据到文件。

返回

1. 新创建文件的存储空间(文件长度)分配方法

Page 23: 第二章 计算机取证原理

2. 文件存储单位:簇( cluster )

簇的大小 两个极端:大到能容纳整个文件,小到一个外存

存储块; 簇较大:提高 I/O 访问性能,减小管理开销;但簇

内碎片浪费问题较严重; 簇较小:簇内的碎片浪费较小,特别是大量小文

件时有利;但存在簇编号空间不够的问题(如 FAT12 、 16 、 32 );

文件的存储空间通常由多个分立的簇组成,而每个簇包含若干个连续的扇区 (sector) 。

Page 24: 第二章 计算机取证原理

簇的分配方法:两种 簇大小可变,其上限较大: I/O 访问性能较好,文件

存储空间的管理困难(类似于动态分区存储管理) 簇大小固定,较小:文件存储空间使用灵活,但 I/O

访问性能下降,文件管理所需空间开销较大 文件巻容量与簇大小的关系

文件卷容量越大,若簇的总数保持不变即簇编号所需位数保持不变,则簇越大。缺点:簇内碎片浪费越多

文件卷容量越大,若簇大小不变,则簇总数越多,相应簇编号所需位数越多。如簇编号长度为 12 、 16 、32二进制位,即构成 FAT12 、 FAT16 、 FAT32 。

Page 25: 第二章 计算机取证原理

目录:是目录项的顺序文件 (即大小相同的排序记录序列 ) ,不对目录项排序。 若目录中包含的文件数目较多,则搜索效率低。 每个目录项大小为 32字节,其内容包括:文件名( 8+3个字符),属性(包括文件、子目录和文件卷标识),最后一次修改时间和日期,文件长度,第一个簇的编号。

在目录项中,若第一个字节为 E5h ,则表示空目录项;若为 05h ,则表示文件名的第一个字符为 E5h 。

文件名不区分大小写

823h

800h

...

FAT

850h

823h

... 800hFF8h

850h

...

Dir Entry

File1

...

Page 26: 第二章 计算机取证原理

数据恢复原理

没有实际删除数据,只进行标记 格式化?

部分覆盖

Page 27: 第二章 计算机取证原理

数据覆盖 – 恢复

Page 28: 第二章 计算机取证原理

A UNIX i-node ( V7 File System)

Page 29: 第二章 计算机取证原理

网络体系结构  一、 OSI/RM模型

    OSI/ RM是 ISO 在网络通信方面所定义的开放系统互连模型, 1978 ISO(国际化标准组织)定义了这样一个开放协议标准。。有了这个开放的模型,各网络设备厂商就可以遵照共同的标准来开发网络产品,最终实现彼此兼容。

    整个 OSI/ RM模型共分 7层,从下往上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层

Page 30: 第二章 计算机取证原理

OSI 参考模型的七层结构

Page 31: 第二章 计算机取证原理

功能

Page 32: 第二章 计算机取证原理

TCP/ IP协议

应用层 http,ftp,icq 传输层 tcp 网络层 ip 数据链路层 物理层

Page 33: 第二章 计算机取证原理

TCP/IP体系结构

1 TCP/IP与 OSI体系结构的对照关系

Page 34: 第二章 计算机取证原理

TCP/IP体系结构 各层功能

如 Eithernet 它负责网际层与硬件设备间的联系,指出主机必须使用某种协议与网络相连。

网际层 它是整个体系结构的关键部分,网际层的功能就是把 IP分组发送到它应该去的地方,分组路由和避免拥塞是网际层主要解决的问题。

网际层使用的主要协议是 IP 协议。

Page 35: 第二章 计算机取证原理

TCP/IP体系结构 各层功能

传输层 传输层解决的是“端到端”的通信问题。它的功能

是使源端和目的端主机上的对等实体可以进行会话,和 OSI 的传输层一样,传输层定义了两个端到端的协议。第一个是传输控制协议 TCP ,它是一个面向连接的协议,允许从一台机器发出的字节流无差错地发往互联网上的其他机器。第二个协议是用户数据报协议 UDP ,它是一个不可靠的、无连接协议。

Page 36: 第二章 计算机取证原理

TCP/IP体系结构各层功能

应用层 应用层提供一组常用的应用程序给用户,应用程序和传输层协议相配合,完成发送或接收数据。每个应用程序都有自己的数据格式,它可以是一系列报文或字节流,但不管采用哪种格式,都要将数据传送给传输层以便交换。

应用层包含所有的高层协议,如文件传输协议 FTP、电子邮件协议 SMTP、超文本传输协议HTTP等 。

Page 37: 第二章 计算机取证原理

网络 协议族

Page 38: 第二章 计算机取证原理

加密技术

加密技术——数据私密性——数据完整性、

Page 39: 第二章 计算机取证原理

加密技术——数据完整性、私密性 数据私密性

有两种基本形式的双向加密:秘密密钥和公开密钥;

需要一种方法能够包含两个功能:一个是信息只可以被期望的接收人解密,另一个是信息中要包含只有发送者才可以加入的个人信息。

数字签名可以做到这两点。 为了使数字签名有效,还需要使用到数字证书,

证书授权中心 CA 作为受信任的第三方,负责签署把身份标识与公钥绑定在一起。

Page 40: 第二章 计算机取证原理

加密技术——数据私密性、完整性

用数字加密技术对数据进行保护主要有两种方式:保密和证明数据的完整性。这些都与取证分析人员紧密相关。

随着数字取证技术不断发展,攻击者也想出了更多的方法来隐藏他们的违法行为,这就成为了加密术的发展动力。

Page 41: 第二章 计算机取证原理

加密技术——数据完整性、私密性 数据完整性

无论是传输中的信息还是存储的信息,保证计算机系统上的数据和信息处于一种完整和未受损的状态,也就是说数据不会被有意或无意的事件而改变或丢失。

影响数据的完整性很多,有人为的蓄意破坏和无意破坏,有软硬件的失效,还有自然灾害,但不管怎样,人们可以通过访问控制数据备份和冗余设置来实现数据的完整性。

为了检测这种数据篡改,我们需要借助一种密码学上安全的校验和,也就是所谓的哈希函数。

  

Page 42: 第二章 计算机取证原理

加密技术——数据完整性、私密性 数据完整性

密码哈希算法是一种单向的加密,对可变长度的输入数据产生固定长度的输出,也称为信息摘要。

只要初始对象的大小在可操作的范围内,密码哈希算法就不会让任何两个不同的源文件在经过运算后产生相同的输出,于是可以把哈希值作为初始文件的指纹,也可以作为原始数据初始值的代用品。

Page 43: 第二章 计算机取证原理

加密技术——数据完整性、私密性

数据完整性 哈希函数在取证调查中有两个用途

• 可以准确地判断某个文件是否被修改过• 如果怀疑系统被攻破,就必须得假设某些文件被修改

• 判断文件或它们的拷贝仍是完整的并且没有被修改过• 计算机犯罪调查人员收集并保护数字证据以便将来进行查证,其中一种方法就是调查人员将收集到得数字证据进行哈希运算并将其结果保存起来,这样就可以知道在取证到审讯这段时间里,证据是否被修改过。

Page 44: 第二章 计算机取证原理

时间因素

系统时间 注意关心

行为时间

固定 时间(取证时)

Page 45: 第二章 计算机取证原理

时间戳 TimeStamp

数字签名 --- 时间参考服务

生成时间

当前时间?

Page 46: 第二章 计算机取证原理

反取证技术反取证技术

Page 47: 第二章 计算机取证原理

反取证技术

从当前软件的实际情况来看,所谓的“取证分析”软件还仅仅可以恢复使用 rm或 strip 命令删除的文件,由于当前的计算机取证技术还存在很大的局限性,这让一些计算机犯罪者有机可乘。

所以在计算机取证技术蓬勃发展的同时,反取证技术悄悄出现了,反取证就是删除或者隐藏证据使取证调查无效。目前,反取证技术分为三类:

数据加密 数据隐藏 数据擦除

这些技术结合起来使用,让取证工作的效果大打折扣。

Page 48: 第二章 计算机取证原理

反取证技术

数据加密: 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”。数据加密是应用信息安全的核心技术――密码技术,将资料加密。

Page 49: 第二章 计算机取证原理

反取证技术• 就体制而言,目前的加密体制可分为:

单密钥加密体制 在加密和解密过程中都必须用到同一个密钥的加密体制,此加密

体制的局限性在于,在发送和接收方传输数据时必须先通过安全渠道交流密钥,保证在他们发送或接收加密信息之前有可供使用的密钥。

代表算法: DES 、 TripleDES ( 3DES )、 RC5 或 Blowfish

公用密钥体制 公用密钥需要两个相关的密码,一个密码作为公钥,一个密码作

为私钥,在公用密钥体制中,信息接收者可以把他的公用密钥放到 Internet 的任意地方,或者用非加密的邮件发给信息的发送者,信息的发送者用他的公钥加密信息然后发给信息接收者,信息接收者则用他自己的私钥解密信息。

代表算法: RSA

Page 50: 第二章 计算机取证原理

反取证技术

数据加密的三种基本组合的原理: “置换表”算法

• 每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件

变换数据位置• 从输入中读入明文放到一个 buffer 中,再在 buffer 中对

他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。

循环移位和异或( XOR )操作• 这是一种更好的加密算法,只有计算机可以做,就是字 /字节循环移位和 xor 操作

Page 51: 第二章 计算机取证原理

反取证技术

数据擦除 数据擦除是最有效的反取证方法。它是指清除所有可能的证据(索引节点目录文件和数据块中的原始数据)。

原始数据不存在了,取证自然无法进行。 当在存储器中的数据不能被删除时,专业

的数据擦除软件能习惯于用固定数据模式写在整个磁盘区域,因此能有效地擦除在磁盘上的数据。

Page 52: 第二章 计算机取证原理

反取证技术

数据隐藏 在计算机取证过程中遇到的最具挑战性

的问题之一就是数据被嫌疑人有意地隐藏起来了。

总是假设你检查的系统里可能含有隐藏的数据。即使不是故意为躲避调查而隐藏数据,在所有的系统中也都由操作系统隐藏了一些数据。

Page 53: 第二章 计算机取证原理

反取证技术

种类 隐藏技术 调查方法模糊数据

任何人都可以看到该数据,但却不能理解其中的内容

加密 必须先定位,然后进行破解压缩关键字搜索对其无效,并且可以使数据的体积减少(被认为是一种弱加密方法)

必须先定位,然后使用正确的算法进行解压缩

隐藏数据实际上存在的数据被隐藏为不可见

放在不显眼的地方

在文件系统中的一个文件里

编码看上去正常的数据实际上含有其他的含义

猜测或者找到编码的破译密钥

隐写术数据被隐藏在某个看似正常的文件中

先定位,然后破解

隐藏名字文件的名字在标准的操作系统工具中无法看到

在文件系统中进行关键字搜索

Page 54: 第二章 计算机取证原理

反取证技术

种类 隐藏技术 调查方法隐藏数据实际上存在的数据被隐藏为不可见

假造名字将文件伪装成其他类型的文件,或者它们的后缀名是不正确的。这种方法在 UNIX系统中不适用

在文件系统中进行关键字搜索。寻找异常的地方。使用基于内容进行鉴别的工具

隐藏文件手工将文件隐藏到经验不足的管理员不会查看的地方

在文件系统中进行关键字搜索,寻找异常的地方

没有名字零链接文件(在 UNIX中),它们与任何目录都没有联系

必须在关机之前定位到这种文件,否则就会丢失

在文件系统中,但不在数据文件中

在闲散空间、交换空间和自由空间中。(交换空间在WINDOWS中是以文件的形式存在的,在 UNIX中可能是一个文件,也可能是一个分区)

在整个驱动器上进行搜索。使用恢复软件

Page 55: 第二章 计算机取证原理

反取证技术

种类 隐藏技术 调查方法隐藏数据实际上存在的数据被隐藏为不可见

在计算机之外

数据被存储在可移动媒体之中,或是局域网、互联网中的一个系统之中

发现并检查所有媒体。寻找远程连接的证据

欺骗调查人员数据没有被修改,但系统命令或整个系统被嫌疑人进行了修改,使调查人员无法看到这些数据

修改系统命令 将数据从目标主机上移走,到确认没被污染的机器上进行分析。鉴定目标系统上命令的正确性

修改操作系统 将数据从目标主机上移走,到确认没被污染的机器上进行分析。鉴定目标系统上命令的正确性

Page 56: 第二章 计算机取证原理

反向工程

Page 57: 第二章 计算机取证原理

典型的计算机取证过程模型

基本过程模型 (Basic Process Model) 事件响应过程模型 (Incident Response Pro

cess Model) 法律执行过程模型 (Law Enforcement Proc

ess Model) 过程抽象模型 (An Abstract Process Model)

Page 58: 第二章 计算机取证原理

基本过程模型

保证安全并进行隔离 (secure and isolate) 对现场信息进行记录 (record the scene) 全面查找证据 (conduct a systematic searc

h for evidence) 对证据进行提取和打包 (collect and packa

ge evidence) 维护证据监督链 (maintain chain of custod

y) 。

Page 59: 第二章 计算机取证原理

事件响应过程模型 (Incident Response Process Model)

1 、攻击预防阶段 (Pre-incident Preparation): 事先进行相关培训,并准备好所需

的数字取证设备。 2 、事件侦测阶段 (Detection of the Incident): 识别可疑事件。

3、初始响应阶段 (Initial Response): 证实攻击事件己经发生,须尽快收集易丢

失的证据 (volatile evidence). 4、响应策略匹配 (Response Strategy Formulation):依据现有的经验确定响应策略。

5 、备份 (Duplication): 产生系统备份。

Page 60: 第二章 计算机取证原理

事件响应过程模型 (Incident Response Process Model)

6 、调查 ((Investigation): 调查系统以便识别攻击者身份、攻击手段及攻击过程。

7 、安全方案实施 (Secure Measure Implementation):对被侦察的系统进行安全

隔离。 8 、网络监控 (Network Monitoring): 监视网络以便识别攻击。 9、恢复 (Recovery): 将系统恢复到初始状态,并合理设置安全设施。

10 、报告 (Reporting):记录相应的步骤及补救的方法。 11 、补充 (Follow-up):对响应过程及方法进行回顾审查,并

进行适当的调整。

Page 61: 第二章 计算机取证原理

DOJ的法律执行过程模型基本步骤

1 、准备阶段 (Preparation) 在调查前,准备好所需设备和工具。 2 、收集阶段 (Collection): 搜索和定位电子证据。 .保护与评估现场 (Secure and Evaluate the Scene): 保护现场人员的安全以及保证证据的完整性。并识别潜在的证据。对现场记录、归档 (Document the Scene):记录包括现场的计算机照片等物证。

.证据提取 (Evidence Collection):提取计算机系统中的证据,或对计算机系统全部拷贝。

3、检验 (Examination):对可能存在于系统中的证据进行校验与分析。 4、分析 (Analysis):对检验分析的结果进行复审和再分析,提取与对案件侦破有价值的信息。

5 、报告 (Reporting):对案件的分析检验结果汇总提交。 此过程模型基于标准的物理犯罪 (Physical Crime)现场调查过程模型。

Page 62: 第二章 计算机取证原理

过程抽象模型 (An Abstract Process Model)

Page 63: 第二章 计算机取证原理

在某一实际的计算机上找出某一文件的存储物理位置—分区 / 目录 /子目录 / 文件所在簇 / 扇区编号 . 文件所有的属性值 (加上物理表达— 16 进制 ).