从“快播涉黄案”看电子数据取证关键技术

2016-11-21 00:47罗文华龙立名
中国刑警学院学报 2016年3期
关键词:序列号视频文件文件夹

罗文华 龙立名

(中国刑事警察学院 辽宁 沈阳 110035)

从“快播涉黄案”看电子数据取证关键技术

罗文华龙立名

(中国刑事警察学院辽宁沈阳110035)

梳理“快播涉黄案”庭审记录中体现出的电子数据取证技术,关注控辩双方争议焦点,深刻剖析技术原理与方法,指明技术难点解决途径,阐述技术热点及发展趋势,提炼规则规范和注意事项,为电子数据取证实践提供颇具操作性的有益借鉴。

快播庭审电子数据取证用户行为缓存机制Hash校验

1 引言

2016年1月7日至8日,“快播涉黄案”在北京市海淀区人民法院开庭审理。公诉人以“传播淫秽物品牟利罪”起诉深圳市快播科技有限公司及该公司的王欣、吴铭、张克东、牛文举等人,辩护人则为被告进行无罪辩护,双方争辩异常激烈。

作为2016年“互联网开年第一案”,快播案的庭审直播,引发了舆论极大的关注,呈现出技术、司法与舆情民意交织的多元局面。仅从电子数据取证角度而言,庭审现场辩方律师所表现出的专业水平就极大地震撼了像笔者这样的一线取证人员。传统印象中,律师一般只会针对程序问题进行质疑。而在“快播”庭审中,据笔者的不完全统计,争论的专业技术问题就包括用户行为重现、介质特征标识、缓存机制、Hash校验等一系列取证工作中的难点及热点。电子数据取证在该案中起了至关重要的作用,直接影响着犯罪嫌疑人的定罪量刑。

2016年9月13日,北京市海淀区法院对“快播涉黄案”进行公开宣判,王欣被判有期徒刑3年6个月,快播公司被罚款1000万元。在“快播涉黄案”尘埃落定之际,笔者以“快播涉黄案”为抓手,尝试就电子数据取证关键技术点的内涵及外延予以深入剖析,以求为推动电子数据取证行业的健康稳定发展尽自己的绵薄之力。

2 从“快播涉黄案”看电子数据取证关键技术

2.1用户行为重现

[公诉人]:出示鉴定意见书两份。第一份北京信诺司法鉴定所鉴定意见书一。证明:北京信诺司法鉴定所在治安管理总队淫秽物品审验室对扣押在案的4台服务器进行了鉴定,其中1台服务器已经损坏无法开启,其他3台服务器2013年11月18日至2015年12月2日期间没有任何QDATA格式的视频文件拷入服务器。

[审判长]:被告人有什么意见?

[王某]:这个鉴定没有技术依据,通过修改系统时间就很容易实现[1]。

基于系统文件或用户文件属性及内容的分析,重现用户行为是电子数据取证中的常规操作环节之一。通过庭审记录分析得出,北京信诺司法鉴定所依据文件创建时间判定特定时间段内是否有文件生成,由于未在服务器中发现创建时间位于2013年11月18日至2015年12月2日区间内的文件,于是便得出了该时间段内“没有任何QDATA格式的视频文件拷入服务器”的结论。王某则对这个鉴定结论并不认同,认为“没有技术依据”,只需将系统时间设置到2013年11月18日之前,之后创建的文件(包括被拷入文件),其创建时间就会均早于该特定时间点,然后再“神不知,鬼不觉”地重新调整系统时间回到正常状态。

然而这种做法真能做到“神不知,鬼不觉”吗?若想真实地再现用户行为,单一行为点往往缺乏足够的证明力,需要多行为点的交叉协作证明。伪造文件创建时间的关键在于系统时间的更改。因此,如果能够进一步挖掘出是否存在设置系统时间行为,就会极大地提升鉴定结论的可信程度。系统时间设置归根结底是通过运行控制面板中的“日期和时间”工具实现的,因此,可以考虑从可执行文件运行痕迹角度进行挖掘。

传统可执行文件运行痕迹主要依赖Prefetch文件夹获得,然而“日期和时间”工具的特殊之处在于其运行的是WindowsSystem32 imedate.cpl文件,而不是常规的exe文件。扩展名为cpl的文件,其本质是Windows可执行性文件,但不属于可以直接独立运行的文件,通常由shell32.dll打开。Prefetch文件夹并不记录此类文件的运行痕迹,因此,只能另辟蹊径。

方法之一就是检视timedate.cpl文件的访问时间(如图1所示)。每次设置系统时间,都会使该文件的访问时间发生改变(创建时间与修改时间访问保持不变),更新成设置操作执行的时刻(而非设置后的时间)。遗憾的是,Windows 7之后的操作系统在NTFS文件系统环境下并不自动更新访问时间[2],依据访问时间判断文件的执行不再有效。要将注册表项HKLMSYSTEMCurrentControlSetControlFileSystem下的NtfsDisableLastAccessUpdata表键被设置为0后,系统才会自动更新访问时间[3]。

图1 系统时间设置操作带来的timedate.cpl访问时间变化

注册表项HKCUSoftwareMicrosoftWindowsCurre ntVersionExplorerUserAssit也包含有可执行文件的运行痕迹。与Prefetch文件夹不同的是,该表项不仅描述exe文件,还包括了lnk、cpl等类型的文件。图2显示的是UserAssit{75048700-EF1F-11D0-9888-0060 97DEACF9}Count表项中的信息,由于该表项使用了Rot-13算法进行加密,因此,无法直接读取。

图2 UserAssit表项下的可执行文件痕迹

使用UserAssitView等工具可对UserAssit表项信息进行解密还原,如图3所示。其中,Item Name中的“UEME_RUNCPL:timedate.cpl”表示运行的是“控制面板”中的“时间和日期”工具,Modified Time说明最后一次设置时间是“2016-2-1 10:48:05”,ClassID说明来源类型为活动桌面。

图3 解密后的“时间和日期”工具运行信息

但在Windows 7之后的视窗系统中UserAssit表项却不再存储系统工具的运行痕迹,转而利用事件日志中的“系统日志”进行描述(Windows XP之前的版本事件日志默认不记录系统时间更改)。图4描述的是系统日期由“2016-02-01”更改为“2016-02-02”这一事件,对应事件ID为“1”,操作用户为“Adminis trator”,计算机名称为“R-20141004XJOVG”。

图4 系统日志中的系统时间更改记录

2.2介质特征标识

[公诉人]:第二份北京信诺司法鉴定所鉴定意见书二。证明:北京信诺司法鉴定所在治安管理总队淫秽物品审验室对扣押在案的4台服务器进行了鉴定,其中1台服务器已经损坏无法开启,经鉴定IP地址×××.×××.×××.×××服务器内视频文件共计12094个,2013年11月18日至2015年12月2日期间创建文件10个,创建qdata文件0个、×××.×××.×××.×××服务器内视频文件共计18353个,2013年11月18日至2015年12月2日期间创建文件12个,创建qdata文件0个、×××.×××.×××.×××服务器内视频文件共计18446个,2013年11月18日至2015年12月2日期间创建文件0个,创建qdata文件0个。

[张某辩护人]:这个鉴定应该做,但是应该在公安机关调取服务器的时候就应该做这个鉴定,鉴定4台服务器的物理特征,以及视频文件的特征,然后予以固定封存。

[王某辩护人]:电脑的IP地址是可以改的。硬盘是不可能改的。

[张某辩护人]:电脑的IP地址改起来是非常方便的[1]。

鉴定意见书中用IP地址指代服务器中的磁盘介质可以说犯了严重而低级的错误。众所周知,IP地址是Internet Protocol(互联网协议)的缩写,是分配给Internet上计算机主机的编号。随着网络位置的改变,同一主机可以拥有不同的IP地址;同一IP地址也可以分配给不同的接入主机。因此,IP地址并不是介质特征刻画必需的要素,辩护律师对此进行质疑是有道理的。

现行的主流做法是以硬盘序列号作为特征标识。图5所示为贴于某硬盘背后的信息内容。其中,S/N是英文Serial Number(序列号)的缩写,代表出厂编号,为消费者售后使用,一般要写进鉴定书或检验报告以唯一确定磁盘介质;P/N则为英文 Part Number(部件号) 的缩写,代表出厂批次,主要为工厂内部自己使用。

图5 硬盘介质贴有的序列号信息

鉴于硬盘背后的胶贴有被撕掉更换的可能,可获取内置于介质的序列号信息进行进一步确认。使用DiskGenius(图6)等磁盘管理类工具除可获取到磁盘接口类型、序列号、磁盘型号外,柱面数、磁头数、每道扇区数、总扇区数、总字节数、扇区大小、物理扇区大小、总容量等信息也一并呈现,十分有助于后续取证工作的开展。

图6 使用磁盘管理类工具获取内置的磁盘序列号

有资料称系统命令diskpart同样具备获取硬盘序列号的功能。在命令行窗口,通过执行diskpart命令进入控制台,之后选择磁盘所对应的序号,再利用detail disk显示出磁盘ID,如图7。但实验发现,磁盘ID并不与S/N对应,而多为P/N或R/N值,因此,在使用该命令描述介质特征时务必特殊注意。

图7 使用系统命令获得硬盘介质序列号

2.3缓存机制剖析

[公诉人]:公安机关起获的服务器中有大量的淫秽视频,你怎么解释?

[王某]:这个服务器是缓存服务器,是网民点播网络视频的时候自动缓存的数据。这个在行业里是通用的做法,是为了提高服务质量,比如让用户观看时不卡顿。

……

[王某辩护人]:这4台服务器的工作原理?

[王某]:是缓存服务器,在网络中是提高服务质量的作用。文件被发布后,用户就可以在他的电脑上点播了,如果出现卡顿的情况,这个文件就会存到缓存服务器中。比如说这个文件有10个人点播,出现卡顿,我们会认为该视频有人点播,就会缓存到服务器。被缓存的文件也许会被他人点播,也许不会被点播。缓存服务器不是快播的必要系统[1]。

服务器中缓存视频的生成机制对于案件定性具有至关重要的意义,因此,控辩双方多次围绕这一话题进行交锋。快播面向用户最主要的产品是QVOD视频播放器,该播放器的核心技术为P2P(Peer to Peer),此模式中不设中心主机服务器,每片数据都可能来自不同的用户,这种共享下载模式打破了下载服务提供者与用户的边界,每一个用户既是下载者,又是下载服务提供者。在用户量足够大的情况下,用户之间互相共享的数据非常丰富,缓冲速度会非常快,甚至可以边下边播。因此,原本快播并不需要存放缓存视频的中心服务器,但快播为了进一步节省缓冲时间,缩短用户等待过程,还是增设了缓存服务器。而恰恰就是在这4台服务器中发现了大量的淫秽视频,由此引发了诸多争议。

缓存是信息系统常见的提高自身性能的方法之一。比如,我们最熟悉的用于存放IE浏览器缓存内容的Temporary Internet Files文件夹。利用此文件夹可以还原用户曾经的网页浏览内容。此外,Windows XP会在每个文件夹中自动生成thumbs.db(俗称拇指文件)用于存放文件(夹)缩略图信息,以缩短缩略图抽取及展示时间。图8所示为使用Thumbnail Database Analysis工具解析出的缩略图,在原文件被彻底删除或破坏的情况下可以帮助了解原始内容信息。

图8 基于thumbs.db解析文件缩略图信息

需要指出的是,Windows 7之后不再于每个文件夹中设置 thumbs.db,而是把缩略图数据库“thumbcache_xxxx.db”文件集中保存于 Users[user name]AppDataLocalMicrosoftWindowsExplorer中(如图9),可以使用ThumbCacheViewer等工具进行解码。

图9 Windows 7之后版本的缩略图数据库存放路径

IconCache.db文件则是Windows出于节省文件图标抽取时间而设置的缓存文件[4]。操作系统将其存放在用户文件夹下(图10),用它保存所有系统图标及用户浏览或操作过的文件图标。因此,基于该文件也能够发现可执行文件的操作痕迹(exe文件一般会拥有区别于其他程序的图标)。

图10 用于缓存文件图标的IconCache.db文件

除了可以缓存内容外,还可以缓存配置信息,以进一步提升系统性能。比较典型的就是Prefetch文件夹,该文件夹使用扩展名为pf的文件存放exe文件运行时的内存参数等信息,以提升对应程序的运行速度(图11)。基于pf文件可解析出程序运行的首次时间、末次时间、运行次数等信息。

图11 缓存配置信息的Prefetch文件夹

通过上述分析可知,如果某文件(夹)负责缓存特定类型的信息,那么该文件(夹)一定会随着特定信息的变化而更新。而公诉人提供的鉴定报告中提到视频缓存服务器“从2013年11月18号到2015年12月2日期间创建文件0个,创建qdata文件0个”,时间跨度如此之长却未有任何新的缓存视频产生,难怪辩方律师会认为“这个结论恰恰说明了服务器有人做过手脚”。

2.4Hash校验

[公诉人]:下面向法庭出示证明鉴定情况的证据一组。5.下面向法庭出示北京市公安局淫秽物品审查鉴定书。一并出示:淫秽视频清单(Hash码)。工作说明两份。证明:公安机关对第3次审验结果进行了文件重复查找工作,经查验,本次审验的29841个视频文件无重复[1]。

公诉人出示的证据中含有淫秽视频的清单,并附视频文件的Hash码,这样操作既提供了验证视频文件完整性的途径,也可以通过Hash码不同判断视频文件不重复(至少视频内容不完全相同)。

CRC32、MD5、SHA1曾经是应用比较广泛的3种Hash算法。CRC32由于产生碰撞(散列值相同,但原始输入不同)的几率过大,需要综合其他算法才能实现校验目的;MD5散列长度通常是128位,是文件校验应用最广泛的Hash算法。但目前MD5已变得越来越不安全。图12所示的1和2两个文件大小一致,但内容共有6处不同。正常情况下,这两个文件的MD5应该不会相同。但由于这6处不同经过了精心的设计,这两个文件的MD5校验结果却相同。

图12 内容不同但MD5散列值相同的两个文件

使用Hash计算工具对1和2两个文件分别依据MD5、SHA1、CRC32算法计算散列值,从图13的计算结果可以看出,虽然这两个文件的MD5校验结果一致,但CRC32和SHA1散列值却并不相同。

图13 使用Hash计算工具依据MD5、SHA1、CRC32计算散列

目前,已经可以在网络上免费下载或购买到智能生成MD5碰撞样本的工具。图14所示为采用“前缀构造法”生成碰撞样本的fastcoll工具[5],该工具能够以同一个给定的前缀文件“1”为基础,在尾部添加不同的附加数据,得到两个具有相同MD5的样本“test1”和“test2”。而在2014年出现了可以由不同的前缀构造相同MD5样本的新技术,MD5已经彻底不安全了。因此,建议在取证实践中使用更安全的Hash算法(如MD5和SHA1双校验)实现文件完整性校验。另外,鉴于光盘存储数据原理及光驱设备的特殊性,未被修改的光盘也会产生MD5散列值不一致的情况,因此,对光盘中文件做Hash校验。

图14 MD5碰撞样本智能生成工具

3 结束语

可以预见,“快播涉黄案”的影响一定是积极而深远的。具体到电子数据取证领域,对取证人员的业务水平也提出了更高的要求。信息技术的变革深刻影响着电子数据取证的发展,鉴定工作已经无法单纯依靠传统的数据搜索及数据恢复完成。像“快播”案件中出现的用户操作行为、播放器功能、缓存服务器,都是近几年新出现的取证分析对象。与此同时,一些曾经非常重要的技术也随着时间的推移正逐步淡出历史舞台(如MD5校验)。

以“快播涉黄案”为代表的新型网络犯罪案例提醒我们“不进则退,慢进也退”。只有紧紧把握技术发展的脉搏,刻苦钻研技术原理与方法,才能担得起“电子数据取证”这副越来越重的担子。

[1]腾讯科技.快播涉黄案庭审全程文字实录[EB/OL].(2016-01-08)[2016-01-09].http://tech.qq.co m/a/20160108/062986.htm.

[2]罗文华.从电子数据取证角度看Windows7操作系统新变化[J].中国刑警学院学报,2015(4):34-37.

[3]孙道宁.NTFS文件系统下基于多重时间信息解析文件操作行为[J].中国刑警学院学报,2016(1):47-49.

[4]段严兵.Windows操作系统环境下调查USB设备使用痕迹方法研究[J].刑事技术,2015(2):138-141.

[5]360白名单分析组.MD5碰撞的演化之路[EB/ OL].(2016-01-20)[2016-01-09)].http://bobao.360.cn/ learning/detail/2577.html.2016.

(责任编辑:于萍)

TP399

A

2095-7939(2016)03-0045-05

10.3969/j.issn.2095-7939.2016.03.009

2016-09-20

公安部技术研究计划项目(编号:2015JSYJC04)。

罗文华(1977-),男,辽宁沈阳人,中国刑事警察学院网络犯罪侦查系教授,主要从事电子数据取证研究。

猜你喜欢
序列号视频文件文件夹
流媒体视频文件相似性识别的方法
随心定制视频文件的缩略图
一种离线电子钱包交易的双向容错控制方法
Fast Folders,让你的文件夹四通八达
一种控制器硬件序列号的更新方法
关于《国家税务总局 工业和信息化部关于加强车辆配置序列号管理有关事项的公告》的解读
快速检索,抓取电影中的精彩篇章
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
不容忽视的空文件夹