【电子数据取证】哈希算法在电子数据取证中的创新应用

文章关键词:电子数据取证、哈希算法

一、前言

在电子数据取证领域,哈希、哈希值几乎人人都知道,可知道是一回事,怎么充分利用就是另外一回事了。

本文可以分为两个部分:哈希的理论基础、哈希的花式用法。当然,后面那个部分才是重点,但理论基础不能少,虽然我知道你们都知道,但还是简单地解释一下哈希。

二、哈希的理论基础

什么是「哈希」、「哈希值」?

哈希定义:

英文为「Hash」,也翻译作“散列”,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法(哈希算法),变换成固定长度的输出,该输出就是哈希值。

Wendy版暴力解释:

1.「哈希」是一种算法;

2.这种算法会把「任意内容」变成一串长度固定的字符;

3.那串字符就是「哈希值」;

一句话的MD5哈希值

继续对哈希性质的解释:

4.「哈希算法」是一类算法,都有“解释2”的特性;

5.MD5、SHA-1等都是「哈希算法」,只不过算法不同,「哈希值」的固定长度也不同;

6.“解释2”中的「任意内容」可以是任何电子数据,如一串数字、一句话、一个图片、文档、音频、压缩文件……

7.任何文件的「哈希值」都是唯一的,输入的「任意内容」哪怕有一丝丝修改,都会导致输出的「哈希值」有很大的不同。

多种不同的哈希算法对比

什么是哈希库?

这个很好理解,就是已知的「哈希值」的集合。

建立哈希库,顾名思义就是把计算出来的一些文件的哈希值保存到一起,不就是哈希库吗?

形象来说,如果你把哈希库打开一看,会发现里面全是长度一样的字符串,而每一个字符串都将指向一个文件。

But!并非见到一个哈希值就往里头拉,哈希库的建立也是有分类的,如:图片的哈希库、密码的哈希库,等等。

NSRL哈希库非常有名,美国国家标准研究所出的库,包含2000年之后至今的各种软件、操作系统等相关文件的MD5和SHA1值

三、哈希的花式用法

你以为的哈希用途是校验镜像文件

镜像是为了保证源文件不被破坏,在电子数据取证中,分析镜像和分析源文件是一样的。但如何证明你拷贝的镜像文件与源文件是一模一样的呢?

创建镜像计算哈希值

这就是哈希的作用了,我们都知道。正是由于每个文件的哈希值唯一,所以只要哈希值相同,就能证明镜像文件没有被修改过,与源文件一致,因此我们每次创建镜像文件都得计算哈希值。

校验哈希值

我学到的高阶用法

首先,再次强调一遍,一个文件只有一个哈希值,一般不同的文件不会出现相同哈希值。记住并利用这一点,我们就能在电子数据取证中省力不少。

1.重复的文件,只看一份!

分析一个盘,经常会遇到这样的情况——文件名不同,但内容可能一样。

要是一个个地打开看很头疼,不看又怕错过了重要信息

都是12KB,要不要一个个点开看?

这时候,利用哈希值就能过滤掉内容相同的文件。

找到并过滤重复的文件

名字不一样?没关系!只要内容一样,哈希值就一样,我只看一份就好~

当当!重复的文件变成浅色隐藏了

方法总结:计算所选范围内文件的哈希值,隐藏哈希值重复的文件。

2.判断与案件无关的系统文件

分析嫌疑人的硬盘,我们重点关注的是他的操作痕迹,但电脑里总是有很多系统自动生成的文件,如果能把这些文件过滤掉,只看嫌疑人产生的文件,岂不事半功倍?

各种类型系统的文件哈希库

一般来说,同型号的电脑或程序产生的这类文件是相同的,如果把这些文件的哈希值集合到一起建立一个“系统文件哈希库”,那么用这个库去过滤,剩下的就是用户个性化差异的文件了。

方法总结:建立系统相同文件的哈希库,用这个哈希库过滤。

3.查看有哪些硬盘被感染

还有一种情况,就是在查找恶意程序感染了哪些硬盘或分区时,也能用哈希值迅速找出来。

各类程序的文件哈希库

恶意的程序文件也有哈希值,只要先计算出来,再和其他分区或硬盘所有文件的哈希值进行比对,只要在相应分区找到相同哈希值文件,即可证明该分区或硬盘含有恶意代码文件,说明已经被感染。

方法总结:计算恶意代码文件的哈希值,在所有盘里跑一遍对比哈希值。

4.彩虹表——密码字典库

哈希是个不可逆的算法,因此很多时候会用来保存密码口令,这样他人即便能拿到保存的哈希值,也无法猜到原始密码是什么。

但,偏偏有人还是有办法找到原始密码——用「彩虹表」。

彩虹表是一个用于加密散列函数逆运算的预先计算好的表,为破解密码的哈希值(或称散列值、哈希密文)而准备,说白了彩虹表就是一个为了破解密码的哈希库。

举个例子,我把6位数的纯数字密码全部列举出来,然后计算每一个对应的哈希值,这样建成了一个库。

如果你的密码哈希值已知,虽然不能通过算法可逆出来,我可以输入到库里去查找,比对成功就知道你的原始密码是多少了!

当然,彩虹表也分很多种,一串哈希值输入到不同的表中,对应结果不同,毕竟算法不一样嘛。

从哈希的学习中,我明白了一个道理:“知道”与“运用”之间,隔着鸿沟,需要综合思考能力去跨越它。任何东西的用途都很多,不在于告诉你怎么用,而在于从根本上理解其特性,再联系实际去寻找运用的途径。

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值