浅析“信息熵”在电子数据取证领域中的应用

2010-03-11 07:27徐志强吴鸿伟
电信科学 2010年2期
关键词:磁盘信息熵加密

徐志强,吴鸿伟

(厦门市美亚柏科信息股份有限公司 厦门 361008)

1 引言

1948年,克劳德·香农(Claude Shannon)提出了“信息熵(entropy)”的概念,同时也提出了信息熵的计算公式,解决了对信息的量化度量问题。它是信息论中用于度量信息量的一个概念。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。所以,信息熵也可以说是系统有序化程度的一个度量。正是“信息熵”具备对信息量化的能力,因此它也逐步被用于信息及网络安全领域,用于发现通信中的异常数据的检测与发现。

近年来,国内外电子数据取证分析技术及产品发展迅速,然而随着软件开发人员对数据安全防护意识的提高,诞生了越来越多的反取证软件,同时反取证技术也得到了更为广泛的应用,因此电子数据取证面临了越来越严峻的挑战。

2 电子数据取证面临的挑战

2.1 加密形式、加密算法多样

在电子数据取证领域,加密文件的发现是大多数案件调查必做的一个重要环节。常见的加密文件类型,如Office(Word/Excel/PowerPoint)、PDF、RAR、Zip,这些常见类型文件通常可借助计算机取证分析软件(如取证大师、EnCase、FTK、X-Ways等)来完成,通常采用分析加密文件类型的内部特定结构来实现加密检测。此外,还有一些特殊的加密文件类型,即加密容器文件,有时也称之为虚拟容器文件,是由专门的软件生成,采用了高强度加密算法及哈希算法,常用加密算法有AES-128、AES-256。此类加密容器文件大部分可通过文件签名(file signature)来发现。部分加密类型文件(如TrueCrypt加密容器)无明显的文件签名特征,也无明显文件内部结构特征,因此很难发现此类加密文件的存在。在电子数据取证分析过程中,调查人员还将遇到更多未知的加密文件类型,如何去发现未知的加密文件类型,避免遗漏重要线索或证据,是值得我们思考的问题。

2.2 信息隐藏技术多样

信息隐藏一直以来是电子数据取证领域中的取证分析难点。信息隐藏的方式千变万化,很难掌握所有的信息隐藏方式。常见的信息隐藏方式有:

·将文件或数据隐藏于文件尾部或嵌入于文件内容中(采用信息隐写技术将文件或数据隐藏于常见的一些文件载体中,如图片、音频、exe可执行文件等);

·将文件或数据隐藏于磁盘中特定的区域(如文件残留区、磁盘残留区);

·将文件或数据隐藏于网络通信数据包中。

越是隐藏的数据,其对取证调查的价值也越高。因此,如何有效发现隐藏的数据,是电子数据取证过程中的重点,同时也是难点。

2.3 恶意程序变种频繁

恶意程序的分析也是电子数据取证分析的重要部分。通常恶意程序的分析采用了静态分析和动态分析的方法来发现恶意程序。静态分析恶意程序难度较大,如今恶意代码采用了各种反取证、反分析的手段进行自我保护,代码混淆(obfuscation)、加壳(shell)、压缩(compression)、加密(encryption)、反汇编(anti-disassembly)、反调试(anti-debugging)等。因此通过传统的一些方法(如搜索恶意程序中的关键特征代码,通过恶意程序样本的哈希值比对)已经很难发现新兴的恶意程序。虽然采用动态分析的方法更加有效,然而对调查人员分析能力的要求相对较高,难度也更大。

电子数据取证面临的挑战远不止以上所述要点,如何来应对现有的挑战,解决实际工作中遇到的问题,是值得所有电子数据取证调查人员去深思的。正因为以上所述的各种反取证技术的特点,即特征的不确定性、可变性,因此,采用“信息熵”适用于解决以上所述的几个难题。

3 “信息熵”的计算及应用

3.1 “信息熵”的计算

每个字节通常有8位,每个位通常有两个状态(0或1),因此每个字节就有28(即256)种状态。因此一个文件的信息熵计算公式可写为:

可参加图1和图2所示的范例。

通过对一些常见文件类型的信息熵值计算及统计,得出测试结果,如图3和表1所示,可供取证分析过程中参考。

图1 以0和1填充的文件(各50%)

图2 以随机数填充的文件

表1 相同内容、不同格式文件熵值对比

3.2 “信息熵”在电子数据取证中的应用

通过 “信息熵”值计算及得出的一些数据统计,我们可以看出“信息熵”在电子数据取证领域可以发挥其重要作用。目前其主要应用有如下几个方面。

(1)加密文件或压缩文件的检测

图3 常见文件类型熵值范围

目前“信息熵”计算分析已经在一些国外知名取证分析软件(FTK、X-Ways)及国内自主知识产权的取证分析软件“取证大师”中得到了应用,用于分析未知的加密文件。X-Ways Forensics已应用“信息熵”技术进行加密文件的检测, 默认对大于 255 byte的文件(Zip、RAR、TAR、GZ、BZ、7Z、ARJ、CAB、JPG、PNG、GIF、TIF、MPG 和 SWF 类型的文件除外)进行“信息熵”的计算,将超过特定熵值的文件列为潜在的加密文件,在文件的属性列将会显示 “e?”标识,以供取证人员参考,该方式可发现 TrueCrypt、PGP、BestCrypt、DriveCrypt等加密容器文件。笔者使用 X-Ways Forensics测试一些文件样本,其中包含1个TrueCrypt加密容器文件(test.tc),通过加密文件分析后,通过“文件属性”列可查看到e?标识,参照X-Ways图例说明,可以清楚地了解到该标识的意义,说明该文件加密可能性较大。因此,说明该利用计算文件“信息熵”方式发现一些无显著特征的加密文件或未知加密文件还是效果比较显著的。

(2)隐藏数据的发现

通过计算机取证分析软件提供的“信息熵”计算,可手工分析出有可能包含隐藏数据的文件。例如一个隐藏有文本数据的JPEG图片文件,常规互联网上下载的JPEG图片的“熵”值在5.5~7.9,大多数数码相机拍摄的 JPEG在7.5~7.9,具体还与采用的压缩算法有关。假设该图片文件的熵值比较低,例如熵值为5.1,那么该文件就很可能包含了隐藏信息或可打印文本信息,通过找出可疑的文件,再手工进行分析即可发现其中包含的隐藏数据,从而找到有用的线索或证据。笔者通过对比两个图片可以发现,如果有隐藏数据,那么其熵值将会变小。原始图片文件熵值为7.835,包含隐藏文件的图片文件为7.810,如图5所示。

(3)恶意程序文件分析

图4 X-Ways Forensics加密文件检测分析

图5 隐藏数据文件熵值对比

图6 内存中可疑恶意程序检测 (进程熵值计算)

通过静态分析的方法来分析磁盘中哪个文件是恶意程序相关文件或被恶意嵌入了可执行的代码是比较困难的。如果平常在取证分析过程中有搜集一定量的恶意程序代码样本,并建立一个数据集,获得样本的“信息熵”,那么这将对于后续的恶意程序分析非常有利。信息熵的计算还涉及到各种优化的算法以便能有效发现恶意程序文件,本文中将不做详细阐述。相关的实际应用可参见图5。

目前全球知名取证软件厂商Guidance Software研发出专门用于恶意代码检测的系统(EnCase Cybersecurity),可发现网络中各种已知或未知的恶意代码变种,该系统的核心技术之一就是信息熵的应用,参见图6。

(4)磁盘冗余阵列重组的智能分析

磁盘阵列重组(RAID)是电子数据取证中的一个重要内容。通常由3个物理硬盘组合的RAID5阵列不知道磁盘组合次序的情况下,也可以通过猜测、手工逐步按不同次序进行组合,实现RAID的重组。我们可以通过一些取证分析软件,如EnCase、X-Ways Forensics/WinHex来实现手工进行RAID重组。然而遇到由较多物理磁盘组成的RAID,那么通过猜测磁盘组合次序显然是很难成功完成RAID重组的任务。

“信息熵”也可以应用在RAID阵列重组的智能分析,通过对重组后的RAID逻辑卷中的数据计算其熵值,从而进行判断磁盘组合的最佳次序。RAID逻辑卷中的文件通常以“块”的方式分散存储在各个磁盘,如果分散在磁盘中的各个数据块(Block)能正确拼接起来,文件就能正常查看,然而如果磁盘组合持续错误,那么拼接起来的逻辑卷中的数据就是相对无序的,因此,其熵值就会相对较大。

目前,国外Runtime公司的RAID Reconstructor应用了该技术来对RAID重组的智能分析,取得了较佳的效果。图7中所示是针对一个由3个硬盘组成的RAID阵列的测试结果,红色选中的磁盘次序为最佳匹配组合,其“信息熵”值为0.04,是所有磁盘组合中最小值。

图7 RAID Reconstructor进行RAID阵列重组分析的结果

4 结束语

本文通过抛砖引玉,主要阐述“信息熵”的重要性及其在电子数据取证领域的应用价值,让从事电子数据取证的人员对“信息熵”有更多的了解,引发更多的思考与探索。“信息熵”已成为对抗反取证技术的有利武器之一。在电子数据取证分析中,它除了可用于检测未知的加密或压缩文件,发现隐藏于某些特定文件的数据,发现相似的恶意程序变种,进行RAID磁盘冗余阵列的智能分析外,同时也可以用于文件内容的模糊比对,当然还有更多应用等待我们一起去研究。笔者相信它在电子数据取证领域将会发挥越来越重要的作用。

1 吴军.Google研究员.怎样度量信息

2 http://www.google.com.hk/ggblog/googlechinablog/2006/04/4_1731.html

3 Shannon C E,Weaver W.The mathematical theory of communication.Univ of Illinois Press,1963

4 Shannon M M.Forensic relative strength scoring-ASCII and entropy scoring

5 Shawn McCreight.Guidance software,cyber security lab-entropy.In:Computer and Enterprise Investigations Conference,2010

6 Simson Garfinkel.Anti-forensics:techniques,detection and countermeasures.Naval Postgraduate School,Monterey,CA,USA

7 Automated mapping of large binary objects using primitive fragment type classification,Digital Investigation,2010(7)

8 M Zubair Shafiq,Syeda Momina Tabish,Muddassar Farooq.Embedded malware detection using Markovian statistical model of benign files,2008

9 Runtime.RAID Reconstructor Help,http://www.runtime.org

10 Data Analysis in WinHex, http://www.winhex.com/winhex/analysis.html

猜你喜欢
磁盘信息熵加密
基于信息熵可信度的测试点选择方法研究
解决Windows磁盘签名冲突
一种基于熵的混沌加密小波变换水印算法
修改磁盘属性
一种基于信息熵的雷达动态自适应选择跟踪方法
磁盘组群组及iSCSI Target设置
创建VSAN群集
认证加密的研究进展
基于信息熵的IITFN多属性决策方法
基于ECC加密的电子商务系统