张一翀 吴 忠 杨洪臣
(1 福建省公安厅刑事技术总队 福建 福州 350001;2 中国刑事警察学院声像资料检验技术系 辽宁 沈阳 110035;3 南平市公安局刑警支队 福建 南平 353000)
随着视频图像处理技术的不断发展,各类视频编辑软件不断涌现,比较常见的有Adobe premiere、Adobe Effect、会声会影等专业视频编辑处理软件和爱剪辑等普通视频制作软件。这些视频编辑软件将视频编辑变得方便、高效、高质量的同时,也成为许多犯罪活动的常用工具。在一些犯罪活动中,犯罪嫌疑人为了达到其目的对视频资料进行篡改,这些篡改的视频经常出现在案件侦查与司法审判过程中,严重影响了公检法机关对案件相关线索的寻找认定与证据的采集固定,对视频证据鉴定工作提出了极大的挑战[1]。造假犯罪嫌疑人常用修改文件名、转换文件格式和更改系统文件属性等方法干扰检验人员对文件来源的判断,因此,在检验中需要寻找一种较为稳定的信息来判断文件来源。M P 4作为当前流行的视频封装格式,一直以来都是视频检验人员的研究重点。本文通过解析M P 4文件结构,分析底层数据,发现大部分M P 4文件元数据中存储有文件的创建时间、修改时间和相关信息。
MP4文件是依据MPEG-4标准生成的具有类似物理存储结构的视频文件,WMV 9、Quick Time、DivX、Xvid等格式的文件均属于MP4文件。MP4文件通过盒子或原子(一般MP4文件中为box,QuickTime中为atom)来组织所有的数据。每一个盒子都是一个容器,盒子可以包含其他的盒子,这种包含盒子称为container box。box由头数据和主体数据组成,其中头数据统一指明box的大小和类型,标准的box开头的4个字节(32位)为box size,size后面紧跟的32位为box type,这是一个已经预定义好表示固定的意义的4个字符,如ASCLL 码的“ftyp”“moov”等;主体数据根据类型有不同的意义和格式[2]。
普通MP4文件中由3种box组成(见图1)。一是ftyp box,一般在每个MP4文件开始处保存类型为ftyp的原子,它定义了文件的大小[3]。该box有且只有一个,也就是我们常说的文件头数据,它处于在文件的开始位置,主要记录和描述的文件的版本、兼容协议等;二是紧随ftyp box出现的moov box,主要存储着媒体播放所需的元数据;三是mda tbox,其中存储有媒体数据。根据MPEG-4标准的规定,MP4文件必须包括若干类型的必选box,其中ftypbox和moov box是必选box[4]12。
图1 普通MP4文件常见box的树结构
元数据(Metadata),又称中介数据、中继数据,是在数据库组织中为描述数据的数据,当元数据库被用来描述数据元、数据项、字段或变量时,就称他们为属性元数据[5]。moov box包含了MP4文件中所有的元数据信息,该box有且只有一个,是一个container box,其中包含1个mvhd box、若干个trakbox及可能出现的udta box。mvhd box处于moov box的头部。其中有两个数值就记载了该MP4文件的创建时间和修改时间,根据标准规定,这两个时间数值为相对于UTC时间1904-01-01零点的秒数[4]19。mvhdbox的后方是若干个trak box,该box包含了一个轨道的相关信息,也是一个container box。在一个有声的MP4文件中,至少会出现两个trak box,分别记录视频和音频的信息,在trak box之下存在一个tkhdbox,其中同样记录创建时间和修改时间,在形式上与mvhd box完全相同。在trak box的后方是udta box,该box记录的是用户数据,内容由使用MP4协议编码的用户决定(如图2)。
图2 mvhd box数据结构图
iPhone7plus、iPhone5s、小米4手机各1部(内装微博、微信、抖音、美图秀秀等APP软件),计时器1台(校准至手机系统时间),PC机1台(装有Adobe premiere、会声会影、格式工厂、暴风影音等软件)。
利用手机自带相机及APP软件录制不同的样本视频,再将视频导入PC机,运用不同种类的编辑软件对其进行编辑操作,生成一段与原始文件相同格式的视频。用计时器记录每一个操作动作的系统时间,使用QTAtomViewer查看文件结构,运用winhex、格式工厂软件解析提取元数据信息,分析样本文件元数据时间与系统时间的关系,比较不同文件元数据信息差异,并进行总结归纳。
使用iPhone7plus、iPhone5s和小米4自带相机功能各录制1min的视频文件,记录操作的系统时间,导出视频文件,解析文件创建时间和修改时间,并记录查看Windows系统修改时间(见表1)。
表1 不同手机录制文件的时间记录表
解析文件,发现iPhone7plus的录制文件udta box数据内容中包含书写库、录制位置、录制设备、录制设备型号、录制软件版本号、文件原始创建时间和原始签名信息(见图3);iPhone5s录制文件udtabox数据内容中包含书写库、录制位置、录制设备、录制设备型号、录制软件版本号、文件原始创建时间信息(见图4);小米4录制文件没有udta box结构(见图5)。
图4 iPhone5s录制文件的udta box数据内容
图5 小米4录制文件的box结构
运用iPhone7plus、iPhone5s自带编辑功能对实验1录制文件进行剪辑生成新的视频文件,记录操作的系统时间,导出视频文件,解析文件创建时间和修改时间,并记录查看Windows系统修改时间(见表2)。
表2 不同手机编辑文件的时间记录表
解析文件,发现iPhone7plus编辑文件udta box数据内容仅有原始签名信息一项发生变化(见图6),iPhone5s编辑文件udta box数据内容不发生改变(见图7)。
使用iPhone7plus的微博、微信、抖音、美拍APP软件拍摄视频,由于这类软件录制结束时视频处于预览暂存状态,点击保存后视频文件才生成,因此,将录制结束和点击保存时间分开记录,并记录查看文件Windows系统修改时间(见表3)。
图6 iPhone7plus 编辑文件的udta box数据内容
图7 iPhone5s编辑文件的udta box数据内容
表3 不同APP软件录制文件的时间记录表
解析文件,发现微信录制文件udtabox数据内容中有“WXVer”信息(见图8);抖音录制文件udta box数据内容中包括描述、书写库、版权信息(见图9);微博、美拍录制文件没有udta box结构(见图10~11)。
图8 微信录制文件的udta box数据内容
图9 抖音录制文件的udta box数据内容
图10 微博录制文件的box结构
图11 美拍录制文件的box结构
运用winhex软件解析Adobe premiere编辑后文件发现udta box数据内容较多,大致包括Adobepremiere版本信息、编辑过程信息、编码标准等信息(见图12);解析格式工厂、暴风影音编辑后文件发现udta box数据内容有“写入应用”信息(见图13、14);会声会影编辑后文件没有udta box结构(见图15)。
图12 Adobe premiere编辑文件的udta box数据内容
图13 格式工厂编辑文件的udta box数据内容
图14 暴风影音编辑文件udta box数据内容
图15 会声会影编辑文件box结构
运用Adobe premiere、会声会影、格式工厂、暴风影音对实验1iPhone7plus录制视频文件进行编辑,记录操作编辑时间和保存时间,解析篡改后文件的创建时间和修改时间,并记录查看Windows系统修改时间(见表4)。
表4 不同编辑软件编辑同一文件的时间记录表
M P 4文件的创建时间和修改时间与录制设备系统时间有直接关系,但不同软件的元数据时间形成机制是不同的(见表5)。归纳起来主要有以下几类:
表5 元数据形成机制的归纳统计表
类型1创建时间等于导出开始时间,修改时间等于导出结束时间,保存时间等于Windows修改时间。
类型2创建时间略晚于录制开始时间,修改时间等于保存时间,录制开始时间等于Windows修改时间。
类型3创建时间、修改时间、保存时间三者相等,Windows修改时间略晚于三者时间。
类型4创建时间等于保存时间,修改时间等于Windows修改时间。
类型5保存时间早于创建时间,创建时间、修改时间、Windows修改时间三者相等。
类型6创建时间、修改时间不等,且均晚于保存时间,Windows修改时间介于创建时间和修改时间之间。
类型7创建时间等于修改时间且为特定时间,与Windows修改时间没有直接联系。
经过对所有样本文件udtabox数据分析发现:除iPhone 5s编辑本机录制视频不影响udtabox数据外,其他编辑软件均对udtabox的数据内容产生不同影响,大部分udtabox数据中带有生成软件的特征性信息(见表5)。
综上可见,所有编辑软件均改变原文件元数据时间形成机制或udtabox数据
视频流和音频流以一定的编码格式封装进M P 4文件并写入存储介质,根据M P E G-4协议要求创建时间和修改时间是必备的。不同软件根据自身需要以不同的方式记录下某些系统时间作为创建时间和修改时间,少量软件甚至以缺省的方式填充日期。在udtabox数据上,大部分软件都会利用这一空间,写入与自身相关的参数。不同的软件设定,造成了文件元数据的差异,为我们区分这些文件来源提供可能。
在数字时代,所有的文件信息存储都是通过底层二进制代码实现的,对文件信息的篡改难以留下痕迹,在一定程度上具有不可知性。但检验视频文件是否为原始文件也不是不可能实现的,主要有两方面的原因,一方面是因为视频文件只要经过编辑,就必经解封、解码、再编码、再封装过程。常用的编辑软件在这一过程中,都会根据生成的目标文件格式,编写新的元数据,因此原始文件和编辑文件元数据难以完全一致。另一方面是因为元数据编辑难度大。在缺少编辑工具情况下,编辑者必须通过底层进行写入,如果没有深入了解元数据的种类、格式和位置,难以完成编辑。
目前,市面上已经有针对文件头数据的底层搜索软件,但还没有对元数据进行搜索的相关技术。从实验可知,同一软件生成的视频文件元数据格式相对固定,下一步要广泛收集样本文件,制作元数据模板库,实现对检材元数据的快速比对,提高检验鉴定工作时效性和准确性。
由于本文讨论的创建时间和修改时间均存储于M P 4文件内,而非存于文件系统中,在实际案件中检验人员可以利用案情中声称的录制设备录制样本视频,通过查看比较检材和样本的元数据内容,可以判断检材文件是否为样本设备所录制。通过比较检材与样本文件时间形成机制及元数据的异同,可以判断检材文件是否具有原始性。