650 likes | 911 Views
第二章 计算机取证原理. 重庆邮电学院 陈龙. 课程内容. 数据存储介质 数据表示 文件系统 网络体系结构 加密技术 —— 数据完整性、私密性 反取证技术. 存储介质 原理. 数据多以代码(由 0 和 1 组成的二进制代码)形式储存于计算机的存储介质之中(如 RAM 、磁盘、光盘等); 计算机数据的载体是电脉冲和磁性材料等,数据的存放地点相对复杂: 可能是在计算机内或外围存储设备中: 计算机的硬盘、备份介质(如磁带)、系统日志、数据文件、寄存器交换区、隐藏文件、空闲的磁盘空间、打印机缓存、网络数据区和计数器、用户进程存储区、堆栈、文件缓冲区、文件系统等
E N D
第二章计算机取证原理 重庆邮电学院 陈龙
课程内容 • 数据存储介质 • 数据表示 • 文件系统 • 网络体系结构 • 加密技术——数据完整性、私密性 • 反取证技术
存储介质 原理 • 数据多以代码(由0和1组成的二进制代码)形式储存于计算机的存储介质之中(如RAM、磁盘、光盘等); • 计算机数据的载体是电脉冲和磁性材料等,数据的存放地点相对复杂: • 可能是在计算机内或外围存储设备中: • 计算机的硬盘、备份介质(如磁带)、系统日志、数据文件、寄存器交换区、隐藏文件、空闲的磁盘空间、打印机缓存、网络数据区和计数器、用户进程存储区、堆栈、文件缓冲区、文件系统等 • 也可能在网络上的某台或数台服务器中。
存储介质的结构 • 硬盘的物理结构 • 柱面、磁头、扇区 • 软盘 • 光盘 • U盘 • 主引导记录(Master Boot Record) MBR
存储系统的接口标准 • 硬盘接口 • IDE/ATA • SCSI • 工具箱
系统启动 选择 • 主引导记录(Master Boot Record) MBR
数据表示 • 计算机信息是用二进制数据流表示的; 一个“0”,“1”意味着什么呢? 宏观的看,上下文环境 0000 0001 1111 1111; 511 Motorola 1111 1111 0000 0001; 511 Intel 编码 ‘A’‘3’
文件查看与编辑 16进制 • HexEditor • WinHex
数据表示 • 有意义的数据最后组织成文件 • 文件系统 • 普通文件、临时文件、日志文件、注册表 • 交换文件或页面文件、浏览器的历史和收藏夹、Cookies • 隐含文件、安装程序的残留物等
文件系统 • 文件系统: • 它是一组数据对象的集合,能从外部对其引用和操作。 • 操作系统通过文件系统存储文件,使用户很容易通过文件名、存储位置、日期或其他特征访问各类文件。
文件系统 • WINDOWS文件系统 • FAT、NTFS • UNIX/LINUX文件系统 • index node(inode)、目录 • 让一台计算机能辨别某个特定的文件系统的过程称为装载文件系统。
文件系统 • 文件系统只对特定大小的数据单元进行操作。 • 这些数据单元在UNIX系统中称作“块”,在WINDOWS系统中称作“簇” • 这些数据块是操作系统实际存取数据的最小存储单元,每个文件都由若干个数据块组成 • 数据块越大,读出和写入硬盘的速度就越快 • 数据块小的文件系统总的来说浪费的空间更少,但未必有同样好的性能
文件系统 • 把一个分区转换成操作系统能够识别的文件系统的过程叫作格式化 • 格式化只不过是对文件系统中各种表进行了重新构造,因此,如果硬盘已经有数据存储在上面,格式化操作会让大部分数据还在那儿。 • 格式化会重新建立用于访问文件的各种表,同时会创建一个新的空索引列表,指向未分配数据块,但格式化操作不会真正动到文件系统的其他内容。 • 删除操作只不过把构成这些文件的数据簇放回到系统中,对通常的文件读写程序来说,这些簇不可见。这些数据簇可以从空闲块列表中得到,而从目录项(或inode项)中访问不到。 • 所以,在硬盘上有大量不在文件系统管辖范围内的数据。这些数据并非唾手可得,但是要得到也十分困难。
文件系统 组织 某一可能的布局
MS DOS的文件系统 多级目录,不支持文件别名,无用户访问权限控制 1. 磁盘文件卷结构 返回
文件卷(volume)信息:记录在引导记录的扇区中。包括:簇大小,根目录项数目,FAT表大小,磁盘参数(每道扇区数,磁头数),文件卷中的扇区总数,簇编号长度等文件卷(volume)信息:记录在引导记录的扇区中。包括:簇大小,根目录项数目,FAT表大小,磁盘参数(每道扇区数,磁头数),文件卷中的扇区总数,簇编号长度等 • 逻辑扇区号:三元组(柱面号,磁头号,扇区号)->一个文件卷中从0开始对每个扇区编号,优点:屏蔽了物理磁盘参数的不同 • 允许同时访问的文件卷数目上限可以由config.sys文件中的LASTDRIVE= 语句指定 • 簇(cluster):由若干个扇区组成。在一个文件卷中从0开始对每个簇编号。
FAT表:两个镜像,互为备份。文件卷中的每个簇均对应一个FAT表项,文件分配采用链式分配方法。FAT表:两个镜像,互为备份。文件卷中的每个簇均对应一个FAT表项,文件分配采用链式分配方法。 • 每个FAT表项所占位数是簇编号的位数,其值是(以FAT12为例): • 0:表示该簇空闲 • FF7h:物理坏扇区 • FF8h~FFFh:表示该簇是文件的最后一个簇 • 其他值:表示该簇被文件占用,而且表项中的值是文件下一个簇的编号。 • FAT表大小占文件卷容量的比例: • 簇编号位数/ ( 8*512*每个簇的扇区数)
文件存储空间分配(file allocation) • 预分配(preallocation):创建时(这时已知文件长度)一次分配指定的存储空间,如文件复制时的目标文件。 • 动态分配(dynamic allocation):需要存储空间时才分配(创建时无法确定文件长度),如写入数据到文件。 1. 新创建文件的存储空间(文件长度)分配方法 返回
2. 文件存储单位:簇(cluster) • 簇的大小 • 两个极端:大到能容纳整个文件,小到一个外存存储块; • 簇较大:提高I/O访问性能,减小管理开销;但簇内碎片浪费问题较严重; • 簇较小:簇内的碎片浪费较小,特别是大量小文件时有利;但存在簇编号空间不够的问题(如FAT12、16、32); 文件的存储空间通常由多个分立的簇组成,而每个簇包含若干个连续的扇区(sector)。
簇的分配方法:两种 • 簇大小可变,其上限较大:I/O访问性能较好,文件存储空间的管理困难(类似于动态分区存储管理) • 簇大小固定,较小:文件存储空间使用灵活,但I/O访问性能下降,文件管理所需空间开销较大 • 文件巻容量与簇大小的关系 • 文件卷容量越大,若簇的总数保持不变即簇编号所需位数保持不变,则簇越大。缺点:簇内碎片浪费越多 • 文件卷容量越大,若簇大小不变,则簇总数越多,相应簇编号所需位数越多。如簇编号长度为12、16、32二进制位,即构成FAT12、FAT16、FAT32。
目录:是目录项的顺序文件(即大小相同的排序记录序列),不对目录项排序。目录:是目录项的顺序文件(即大小相同的排序记录序列),不对目录项排序。 • 若目录中包含的文件数目较多,则搜索效率低。 • 每个目录项大小为32字节,其内容包括:文件名(8+3个字符),属性(包括文件、子目录和文件卷标识),最后一次修改时间和日期,文件长度,第一个簇的编号。 • 在目录项中,若第一个字节为 E5h,则表示空目录项;若为 05h,则表示文件名的第一个字符为 E5h。 • 文件名不区分大小写
数据恢复原理 • 没有实际删除数据,只进行标记 • 格式化? • 部分覆盖
网络体系结构一、OSI/RM模型 • OSI/RM是ISO在网络通信方面所定义的开放系统互连模型,1978 ISO(国际化标准组织)定义了这样一个开放协议标准。。有了这个开放的模型,各网络设备厂商就可以遵照共同的标准来开发网络产品,最终实现彼此兼容。 • 整个OSI/RM模型共分7层,从下往上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
TCP/IP协议 • 应用层 http,ftp,icq • 传输层 tcp • 网络层 ip • 数据链路层 • 物理层
TCP/IP体系结构 1 TCP/IP与OSI体系结构的对照关系
TCP/IP体系结构 各层功能 • 如Eithernet 它负责网际层与硬件设备间的联系,指出主机必须使用某种协议与网络相连。 • 网际层 它是整个体系结构的关键部分,网际层的功能就是把IP分组发送到它应该去的地方,分组路由和避免拥塞是网际层主要解决的问题。 网际层使用的主要协议是IP协议。
TCP/IP体系结构 各层功能 • 传输层 传输层解决的是“端到端”的通信问题。它的功能是使源端和目的端主机上的对等实体可以进行会话,和OSI的传输层一样,传输层定义了两个端到端的协议。第一个是传输控制协议TCP,它是一个面向连接的协议,允许从一台机器发出的字节流无差错地发往互联网上的其他机器。第二个协议是用户数据报协议UDP,它是一个不可靠的、无连接协议。
TCP/IP体系结构各层功能 • 应用层 应用层提供一组常用的应用程序给用户,应用程序和传输层协议相配合,完成发送或接收数据。每个应用程序都有自己的数据格式,它可以是一系列报文或字节流,但不管采用哪种格式,都要将数据传送给传输层以便交换。 应用层包含所有的高层协议,如文件传输协议FTP、电子邮件协议SMTP、超文本传输协议HTTP等 。
加密技术 加密技术——数据私密性 ——数据完整性、
加密技术——数据完整性、私密性 • 数据私密性 • 有两种基本形式的双向加密:秘密密钥和公开密钥; • 需要一种方法能够包含两个功能:一个是信息只可以被期望的接收人解密,另一个是信息中要包含只有发送者才可以加入的个人信息。 • 数字签名可以做到这两点。 • 为了使数字签名有效,还需要使用到数字证书,证书授权中心CA作为受信任的第三方,负责签署把身份标识与公钥绑定在一起。
加密技术——数据私密性、完整性 用数字加密技术对数据进行保护主要有两种方式:保密和证明数据的完整性。这些都与取证分析人员紧密相关。 随着数字取证技术不断发展,攻击者也想出了更多的方法来隐藏他们的违法行为,这就成为了加密术的发展动力。
加密技术——数据完整性、私密性 • 数据完整性 • 无论是传输中的信息还是存储的信息,保证计算机系统上的数据和信息处于一种完整和未受损的状态,也就是说数据不会被有意或无意的事件而改变或丢失。 • 影响数据的完整性很多,有人为的蓄意破坏和无意破坏,有软硬件的失效,还有自然灾害,但不管怎样,人们可以通过访问控制数据备份和冗余设置来实现数据的完整性。 • 为了检测这种数据篡改,我们需要借助一种密码学上安全的校验和,也就是所谓的哈希函数。
加密技术——数据完整性、私密性 • 数据完整性 • 密码哈希算法是一种单向的加密,对可变长度的输入数据产生固定长度的输出,也称为信息摘要。 • 只要初始对象的大小在可操作的范围内,密码哈希算法就不会让任何两个不同的源文件在经过运算后产生相同的输出,于是可以把哈希值作为初始文件的指纹,也可以作为原始数据初始值的代用品。
加密技术——数据完整性、私密性 • 数据完整性 • 哈希函数在取证调查中有两个用途 • 可以准确地判断某个文件是否被修改过 • 如果怀疑系统被攻破,就必须得假设某些文件被修改 • 判断文件或它们的拷贝仍是完整的并且没有被修改过 • 计算机犯罪调查人员收集并保护数字证据以便将来进行查证,其中一种方法就是调查人员将收集到得数字证据进行哈希运算并将其结果保存起来,这样就可以知道在取证到审讯这段时间里,证据是否被修改过。
时间因素 • 系统时间 • 注意关心 • 行为时间 • 固定 时间(取证时)
时间戳 TimeStamp • 数字签名 --- • 时间参考服务 • 生成时间 • 当前时间?
反取证技术 从当前软件的实际情况来看,所谓的“取证分析”软件还仅仅可以恢复使用rm或strip命令删除的文件,由于当前的计算机取证技术还存在很大的局限性,这让一些计算机犯罪者有机可乘。 所以在计算机取证技术蓬勃发展的同时,反取证技术悄悄出现了,反取证就是删除或者隐藏证据使取证调查无效。目前,反取证技术分为三类: • 数据加密 • 数据隐藏 • 数据擦除 这些技术结合起来使用,让取证工作的效果大打折扣。
反取证技术 • 数据加密: 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”。数据加密是应用信息安全的核心技术――密码技术,将资料加密。
反取证技术 • 就体制而言,目前的加密体制可分为: • 单密钥加密体制 • 在加密和解密过程中都必须用到同一个密钥的加密体制,此加密体制的局限性在于,在发送和接收方传输数据时必须先通过安全渠道交流密钥,保证在他们发送或接收加密信息之前有可供使用的密钥。 • 代表算法:DES、TripleDES(3DES)、RC5或Blowfish • 公用密钥体制 • 公用密钥需要两个相关的密码,一个密码作为公钥,一个密码作为私钥,在公用密钥体制中,信息接收者可以把他的公用密钥放到Internet的任意地方,或者用非加密的邮件发给信息的发送者,信息的发送者用他的公钥加密信息然后发给信息接收者,信息接收者则用他自己的私钥解密信息。 • 代表算法:RSA
反取证技术 • 数据加密的三种基本组合的原理: • “置换表”算法 • 每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件 • 变换数据位置 • 从输入中读入明文放到一个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。 • 循环移位和异或(XOR)操作 • 这是一种更好的加密算法,只有计算机可以做,就是字/字节循环移位和xor操作