我们先看一下电子数据的特点,这也是和我们工作最为接近、最为相关的几个特点。电子数据之所以能够在司法实践中充当证据,与图5-1所示的四个特点密切相关。
图5-1 电子数据的特点
电子数据的第一个特点是它的数据恢复性,由于大多数电子数据存储在电子介质上,这种存储往往采用索引模式,所以当我们删除数据的时候,常常只是在索引里改变数据的状态,并没有真正把数据删除。可能有人问,为什么磁盘介质在存储数据的时候不能采用这种顺序存放,而是非得采用缩影存放?大家想想,一个硬盘那么大,如果所有的数据都顺序存放,检索一个文件用的时间就可能极其漫长。所以,现在所有的存储基本上都采用索引存放,因此删除数据的时候就存在恢复的可能性了。
对于数据恢复这一块儿,我想用四句话概括。(1)删除数据存在恢复的可能性较大;(2)覆盖数据恢复的可能性较小;(3)完全覆盖数据不存在恢复的可能性;(4)失去解读方法的数据不再具有任何意义。
在这四句话里,需要重点强调的是后面两句,前面两句实际上不需要做太多的说明,删除数据有恢复的可能性大家都知道,但是后面两句容易给大家造成一定的理解上的误区。我们在现实中经常碰到一些所谓的“专家”告诉我们,覆盖的数据也能恢复。遇到这种情况,大家知道他们基本上就是在说谎。那最后一句话是什么意思呢?很多电子数据并不是像文本文档一样那么简单地存储在电脑中,它们的格式很复杂,这些格式之间还存在一些逻辑上的验证关系,如果破坏了这种验证关系,整个文件基本上就相当于灭失了,也就打不开了。当我们把一个Office文件打开的时候,在后面的“D5”开始的位置上,在后面这段区域里面,随意改动任何一个地方,整个文件就完全无法打开,而且也不可以修复。我试过很多修复软件,都没有办法对破坏的文件进行修复。所以,失去解读方法的数据不再具有任何意义。
电子数据的第二个特点就是它的防篡改技术,这也是电子数据具有很好的客观性的体现。从技术手段上,我们通过数据加密的算法不可逆的特性,计算一份电子数据的“指纹”,也就是哈希值。哈希值能够认定最初的电子数据是否被篡改。举个简单的例子,我们在查封扣押一份电子证据的时候,如果当时计算完哈希值并写在扣押证据清单上,那么后面的诉讼过程不管过了多久,或者到了法庭上律师、法官问你这个数据改了没有,只需要重新计算一下哈希值,看和当时在扣押清单上记录的是否一致,就可以证明数据是否被篡改。
MD5是一种哈希值算法,哈希值包括很多种算法,比如MD4、MD5。MD5值就是MD5算法产生的一个唯一值,哪怕对图片进行一个细微的改动,它也会产生一个截然不同的哈希值。所以通过这个特性就可以非常方便地识别电子数据的变化情况。每一份电子数据文件,每一个硬盘,无论它们的范围有多大,都具有唯一的MD5值,这是绝对的。那么,两个完全不同的电子文件能不能具有相同的MD5值呢?理论上有这种可能性,但是在实践中,大家可以相信它的可靠性,这应该是没有问题的。
电子数据的第三个特点,我把它归结成“黑箱子”特性。电子数据的产生、传输、存储,我们都是无法干预的。所以这个过程就像一个黑箱子,我们没有办法改变其中任何一个环节,只能接受它。从这个意义上来讲,电子数据是非常客观的一种证据,比如我们用手机给朋友发一条短信或者微信,我们发什么对方肯定就会收到什么,内容不会有任何的改变。我们不可能通过干预无线通信的某一个环节来改变发送的内容,所以,它是非常客观的一种证据形式。
电子数据的第四个特点就是它是一个“场”,我们的一切行为在这个场里都会被记录下来,甚至连我们试图消除痕迹的痕迹,有时候也能保留下来。
我给大家举一个例子,2013年我所在的单位办理过这样一起案件,嫌疑人通过删除数据库后台的记录,把买房人缴纳的住房维修资金侵吞掉了,金额特别巨大,达到了七八百万元。嫌疑人虽然删除了数据库中的记录,但是他的行为都被数据库的日志给记录了下来。当时我们通过一款叫Browse Log的软件完整地恢复了他删除数据的痕迹。大家看图5-2中标注的那一小段,就能看到英文单词DELETE ROWS,这就是删除记录的描述。点中其中任何一条,下方还有这条被删掉的记录的具体内容。所以,删除的痕迹也能被完整地记录下来。
图5-2 通过软件恢复的删除痕迹
再比如我们使用Windows系统修改系统时间,生成一个文件后再把时间改回去。一般人都能想到伪造一个具有正常时间逻辑数据的做法。但是在Windows 7以后,这种做法就不是特别容易了,系统会记录下你每次修改时间的痕迹,也就是事件日志。这个事件日志表示用户将系统时间从一个时间点改成了另一个时间点。大家会问,我把那条事件日志删掉不就完了吗?这说明你对Windows系统还不太了解,Windows事件作为一种服务,它不可以被关闭和中断,它跟Windows系统共存亡。在计算机的单机时代,一个单机就是一个“场”,现在我们处在一个网络时代,这个“场”就变得特别庞大,整个互联网成了一个大“场”。虽然说痕迹无处不在,但是我们也未必都能搜集得到,这是非常尴尬的,也非常无奈。
我再给大家举个例子,是前几年发生在某地的一起案件。在一条街上有A、B两个网吧,为了争抢客源,A网吧的老板在互联网上雇用所谓的俄罗斯黑客,对B网吧进行了DDoS攻击,攻击的时间长达10天,造成了B网吧10天没有客源,经济损失在11万元左右。在这个案子里,该如何收集证据呢?有的人可能问:你这个“场”不是痕迹无处不在吗?很容易收集证据啊!但是这个“场”太大了,在网络时代,这个“场”不是一个单机或者一个局域网的概念。A网吧老板雇用了俄罗斯黑客,你就去俄罗斯收集证据吗?另外,俄罗斯黑客都在俄罗斯吗?他不会通过若干个跳板对国内的某个目标进行攻击吗?而且他使用的是DDoS这种攻击的方式,黑客控制的“肉鸡”
可能遍布整个世界,或者国内的大多数省份,你怎么去取证?这都是很现实的问题。由于无法准确地定位黑客“肉鸡”,也就很难通过A网吧老板的供述以及B网吧的客观损失定案。我们也交流过这个案件,本来公诉人很辛苦地办理一个非法控制计算机信息系统的案子,但是后来的证据收集确实让人很无奈,我们能够收集到的证据可能就那么几项。最后,案子是按照破坏生产经营罪来定的。
有的人会反问:电子数据很容易被修改,那它客观吗?电子数据易于修改确实是客观事实,但它与电子数据的客观性是两个层面的问题。这里有必要区分一下客观性和真实性。客观性指的是它形成、存储保管、传输的过程都是非常客观的。通过比对哈希值,一眼就能看到现在与当时固定这个证据的时候相比它有没有变化,一眼便知它是否被修改。而真实性就很复杂了,比如Word文档里面有一句话,“先有鸡后有蛋”,这个文档从生成以后就没有经过任何的变化,电子数据很客观,那你说它真实吗?