張一翀 吳 忠 楊洪臣
(1 福建省公安廳刑事技術(shù)總隊(duì) 福建 福州 350001;2 中國(guó)刑事警察學(xué)院聲像資料檢驗(yàn)技術(shù)系 遼寧 沈陽(yáng) 110035;3 南平市公安局刑警支隊(duì) 福建 南平 353000)
隨著視頻圖像處理技術(shù)的不斷發(fā)展,各類(lèi)視頻編輯軟件不斷涌現(xiàn),比較常見(jiàn)的有Adobe premiere、Adobe Effect、會(huì)聲會(huì)影等專(zhuān)業(yè)視頻編輯處理軟件和愛(ài)剪輯等普通視頻制作軟件。這些視頻編輯軟件將視頻編輯變得方便、高效、高質(zhì)量的同時(shí),也成為許多犯罪活動(dòng)的常用工具。在一些犯罪活動(dòng)中,犯罪嫌疑人為了達(dá)到其目的對(duì)視頻資料進(jìn)行篡改,這些篡改的視頻經(jīng)常出現(xiàn)在案件偵查與司法審判過(guò)程中,嚴(yán)重影響了公檢法機(jī)關(guān)對(duì)案件相關(guān)線索的尋找認(rèn)定與證據(jù)的采集固定,對(duì)視頻證據(jù)鑒定工作提出了極大的挑戰(zhàn)[1]。造假犯罪嫌疑人常用修改文件名、轉(zhuǎn)換文件格式和更改系統(tǒng)文件屬性等方法干擾檢驗(yàn)人員對(duì)文件來(lái)源的判斷,因此,在檢驗(yàn)中需要尋找一種較為穩(wěn)定的信息來(lái)判斷文件來(lái)源。M P 4作為當(dāng)前流行的視頻封裝格式,一直以來(lái)都是視頻檢驗(yàn)人員的研究重點(diǎn)。本文通過(guò)解析M P 4文件結(jié)構(gòu),分析底層數(shù)據(jù),發(fā)現(xiàn)大部分M P 4文件元數(shù)據(jù)中存儲(chǔ)有文件的創(chuàng)建時(shí)間、修改時(shí)間和相關(guān)信息。
MP4文件是依據(jù)MPEG-4標(biāo)準(zhǔn)生成的具有類(lèi)似物理存儲(chǔ)結(jié)構(gòu)的視頻文件,WMV 9、Quick Time、DivX、Xvid等格式的文件均屬于MP4文件。MP4文件通過(guò)盒子或原子(一般MP4文件中為box,QuickTime中為atom)來(lái)組織所有的數(shù)據(jù)。每一個(gè)盒子都是一個(gè)容器,盒子可以包含其他的盒子,這種包含盒子稱(chēng)為container box。box由頭數(shù)據(jù)和主體數(shù)據(jù)組成,其中頭數(shù)據(jù)統(tǒng)一指明box的大小和類(lèi)型,標(biāo)準(zhǔn)的box開(kāi)頭的4個(gè)字節(jié)(32位)為box size,size后面緊跟的32位為box type,這是一個(gè)已經(jīng)預(yù)定義好表示固定的意義的4個(gè)字符,如ASCLL 碼的“ftyp”“moov”等;主體數(shù)據(jù)根據(jù)類(lèi)型有不同的意義和格式[2]。
普通MP4文件中由3種box組成(見(jiàn)圖1)。一是ftyp box,一般在每個(gè)MP4文件開(kāi)始處保存類(lèi)型為ftyp的原子,它定義了文件的大小[3]。該box有且只有一個(gè),也就是我們常說(shuō)的文件頭數(shù)據(jù),它處于在文件的開(kāi)始位置,主要記錄和描述的文件的版本、兼容協(xié)議等;二是緊隨ftyp box出現(xiàn)的moov box,主要存儲(chǔ)著媒體播放所需的元數(shù)據(jù);三是mda tbox,其中存儲(chǔ)有媒體數(shù)據(jù)。根據(jù)MPEG-4標(biāo)準(zhǔn)的規(guī)定,MP4文件必須包括若干類(lèi)型的必選box,其中ftypbox和moov box是必選box[4]12。
圖1 普通MP4文件常見(jiàn)box的樹(shù)結(jié)構(gòu)
元數(shù)據(jù)(Metadata),又稱(chēng)中介數(shù)據(jù)、中繼數(shù)據(jù),是在數(shù)據(jù)庫(kù)組織中為描述數(shù)據(jù)的數(shù)據(jù),當(dāng)元數(shù)據(jù)庫(kù)被用來(lái)描述數(shù)據(jù)元、數(shù)據(jù)項(xiàng)、字段或變量時(shí),就稱(chēng)他們?yōu)閷傩栽獢?shù)據(jù)[5]。moov box包含了MP4文件中所有的元數(shù)據(jù)信息,該box有且只有一個(gè),是一個(gè)container box,其中包含1個(gè)mvhd box、若干個(gè)trakbox及可能出現(xiàn)的udta box。mvhd box處于moov box的頭部。其中有兩個(gè)數(shù)值就記載了該MP4文件的創(chuàng)建時(shí)間和修改時(shí)間,根據(jù)標(biāo)準(zhǔn)規(guī)定,這兩個(gè)時(shí)間數(shù)值為相對(duì)于UTC時(shí)間1904-01-01零點(diǎn)的秒數(shù)[4]19。mvhdbox的后方是若干個(gè)trak box,該box包含了一個(gè)軌道的相關(guān)信息,也是一個(gè)container box。在一個(gè)有聲的MP4文件中,至少會(huì)出現(xiàn)兩個(gè)trak box,分別記錄視頻和音頻的信息,在trak box之下存在一個(gè)tkhdbox,其中同樣記錄創(chuàng)建時(shí)間和修改時(shí)間,在形式上與mvhd box完全相同。在trak box的后方是udta box,該box記錄的是用戶(hù)數(shù)據(jù),內(nèi)容由使用MP4協(xié)議編碼的用戶(hù)決定(如圖2)。
圖2 mvhd box數(shù)據(jù)結(jié)構(gòu)圖
iPhone7plus、iPhone5s、小米4手機(jī)各1部(內(nèi)裝微博、微信、抖音、美圖秀秀等APP軟件),計(jì)時(shí)器1臺(tái)(校準(zhǔn)至手機(jī)系統(tǒng)時(shí)間),PC機(jī)1臺(tái)(裝有Adobe premiere、會(huì)聲會(huì)影、格式工廠、暴風(fēng)影音等軟件)。
利用手機(jī)自帶相機(jī)及APP軟件錄制不同的樣本視頻,再將視頻導(dǎo)入PC機(jī),運(yùn)用不同種類(lèi)的編輯軟件對(duì)其進(jìn)行編輯操作,生成一段與原始文件相同格式的視頻。用計(jì)時(shí)器記錄每一個(gè)操作動(dòng)作的系統(tǒng)時(shí)間,使用QTAtomViewer查看文件結(jié)構(gòu),運(yùn)用winhex、格式工廠軟件解析提取元數(shù)據(jù)信息,分析樣本文件元數(shù)據(jù)時(shí)間與系統(tǒng)時(shí)間的關(guān)系,比較不同文件元數(shù)據(jù)信息差異,并進(jìn)行總結(jié)歸納。
使用iPhone7plus、iPhone5s和小米4自帶相機(jī)功能各錄制1min的視頻文件,記錄操作的系統(tǒng)時(shí)間,導(dǎo)出視頻文件,解析文件創(chuàng)建時(shí)間和修改時(shí)間,并記錄查看Windows系統(tǒng)修改時(shí)間(見(jiàn)表1)。
表1 不同手機(jī)錄制文件的時(shí)間記錄表
解析文件,發(fā)現(xiàn)iPhone7plus的錄制文件udta box數(shù)據(jù)內(nèi)容中包含書(shū)寫(xiě)庫(kù)、錄制位置、錄制設(shè)備、錄制設(shè)備型號(hào)、錄制軟件版本號(hào)、文件原始創(chuàng)建時(shí)間和原始簽名信息(見(jiàn)圖3);iPhone5s錄制文件udtabox數(shù)據(jù)內(nèi)容中包含書(shū)寫(xiě)庫(kù)、錄制位置、錄制設(shè)備、錄制設(shè)備型號(hào)、錄制軟件版本號(hào)、文件原始創(chuàng)建時(shí)間信息(見(jiàn)圖4);小米4錄制文件沒(méi)有udta box結(jié)構(gòu)(見(jiàn)圖5)。
圖4 iPhone5s錄制文件的udta box數(shù)據(jù)內(nèi)容
圖5 小米4錄制文件的box結(jié)構(gòu)
運(yùn)用iPhone7plus、iPhone5s自帶編輯功能對(duì)實(shí)驗(yàn)1錄制文件進(jìn)行剪輯生成新的視頻文件,記錄操作的系統(tǒng)時(shí)間,導(dǎo)出視頻文件,解析文件創(chuàng)建時(shí)間和修改時(shí)間,并記錄查看Windows系統(tǒng)修改時(shí)間(見(jiàn)表2)。
表2 不同手機(jī)編輯文件的時(shí)間記錄表
解析文件,發(fā)現(xiàn)iPhone7plus編輯文件udta box數(shù)據(jù)內(nèi)容僅有原始簽名信息一項(xiàng)發(fā)生變化(見(jiàn)圖6),iPhone5s編輯文件udta box數(shù)據(jù)內(nèi)容不發(fā)生改變(見(jiàn)圖7)。
使用iPhone7plus的微博、微信、抖音、美拍APP軟件拍攝視頻,由于這類(lèi)軟件錄制結(jié)束時(shí)視頻處于預(yù)覽暫存狀態(tài),點(diǎn)擊保存后視頻文件才生成,因此,將錄制結(jié)束和點(diǎn)擊保存時(shí)間分開(kāi)記錄,并記錄查看文件Windows系統(tǒng)修改時(shí)間(見(jiàn)表3)。
圖6 iPhone7plus 編輯文件的udta box數(shù)據(jù)內(nèi)容
圖7 iPhone5s編輯文件的udta box數(shù)據(jù)內(nèi)容
表3 不同APP軟件錄制文件的時(shí)間記錄表
解析文件,發(fā)現(xiàn)微信錄制文件udtabox數(shù)據(jù)內(nèi)容中有“WXVer”信息(見(jiàn)圖8);抖音錄制文件udta box數(shù)據(jù)內(nèi)容中包括描述、書(shū)寫(xiě)庫(kù)、版權(quán)信息(見(jiàn)圖9);微博、美拍錄制文件沒(méi)有udta box結(jié)構(gòu)(見(jiàn)圖10~11)。
圖8 微信錄制文件的udta box數(shù)據(jù)內(nèi)容
圖9 抖音錄制文件的udta box數(shù)據(jù)內(nèi)容
圖10 微博錄制文件的box結(jié)構(gòu)
圖11 美拍錄制文件的box結(jié)構(gòu)
運(yùn)用winhex軟件解析Adobe premiere編輯后文件發(fā)現(xiàn)udta box數(shù)據(jù)內(nèi)容較多,大致包括Adobepremiere版本信息、編輯過(guò)程信息、編碼標(biāo)準(zhǔn)等信息(見(jiàn)圖12);解析格式工廠、暴風(fēng)影音編輯后文件發(fā)現(xiàn)udta box數(shù)據(jù)內(nèi)容有“寫(xiě)入應(yīng)用”信息(見(jiàn)圖13、14);會(huì)聲會(huì)影編輯后文件沒(méi)有udta box結(jié)構(gòu)(見(jiàn)圖15)。
圖12 Adobe premiere編輯文件的udta box數(shù)據(jù)內(nèi)容
圖13 格式工廠編輯文件的udta box數(shù)據(jù)內(nèi)容
圖14 暴風(fēng)影音編輯文件udta box數(shù)據(jù)內(nèi)容
圖15 會(huì)聲會(huì)影編輯文件box結(jié)構(gòu)
運(yùn)用Adobe premiere、會(huì)聲會(huì)影、格式工廠、暴風(fēng)影音對(duì)實(shí)驗(yàn)1iPhone7plus錄制視頻文件進(jìn)行編輯,記錄操作編輯時(shí)間和保存時(shí)間,解析篡改后文件的創(chuàng)建時(shí)間和修改時(shí)間,并記錄查看Windows系統(tǒng)修改時(shí)間(見(jiàn)表4)。
表4 不同編輯軟件編輯同一文件的時(shí)間記錄表
M P 4文件的創(chuàng)建時(shí)間和修改時(shí)間與錄制設(shè)備系統(tǒng)時(shí)間有直接關(guān)系,但不同軟件的元數(shù)據(jù)時(shí)間形成機(jī)制是不同的(見(jiàn)表5)。歸納起來(lái)主要有以下幾類(lèi):
表5 元數(shù)據(jù)形成機(jī)制的歸納統(tǒng)計(jì)表
類(lèi)型1創(chuàng)建時(shí)間等于導(dǎo)出開(kāi)始時(shí)間,修改時(shí)間等于導(dǎo)出結(jié)束時(shí)間,保存時(shí)間等于Windows修改時(shí)間。
類(lèi)型2創(chuàng)建時(shí)間略晚于錄制開(kāi)始時(shí)間,修改時(shí)間等于保存時(shí)間,錄制開(kāi)始時(shí)間等于Windows修改時(shí)間。
類(lèi)型3創(chuàng)建時(shí)間、修改時(shí)間、保存時(shí)間三者相等,Windows修改時(shí)間略晚于三者時(shí)間。
類(lèi)型4創(chuàng)建時(shí)間等于保存時(shí)間,修改時(shí)間等于Windows修改時(shí)間。
類(lèi)型5保存時(shí)間早于創(chuàng)建時(shí)間,創(chuàng)建時(shí)間、修改時(shí)間、Windows修改時(shí)間三者相等。
類(lèi)型6創(chuàng)建時(shí)間、修改時(shí)間不等,且均晚于保存時(shí)間,Windows修改時(shí)間介于創(chuàng)建時(shí)間和修改時(shí)間之間。
類(lèi)型7創(chuàng)建時(shí)間等于修改時(shí)間且為特定時(shí)間,與Windows修改時(shí)間沒(méi)有直接聯(lián)系。
經(jīng)過(guò)對(duì)所有樣本文件udtabox數(shù)據(jù)分析發(fā)現(xiàn):除iPhone 5s編輯本機(jī)錄制視頻不影響udtabox數(shù)據(jù)外,其他編輯軟件均對(duì)udtabox的數(shù)據(jù)內(nèi)容產(chǎn)生不同影響,大部分udtabox數(shù)據(jù)中帶有生成軟件的特征性信息(見(jiàn)表5)。
綜上可見(jiàn),所有編輯軟件均改變?cè)募獢?shù)據(jù)時(shí)間形成機(jī)制或udtabox數(shù)據(jù)
視頻流和音頻流以一定的編碼格式封裝進(jìn)M P 4文件并寫(xiě)入存儲(chǔ)介質(zhì),根據(jù)M P E G-4協(xié)議要求創(chuàng)建時(shí)間和修改時(shí)間是必備的。不同軟件根據(jù)自身需要以不同的方式記錄下某些系統(tǒng)時(shí)間作為創(chuàng)建時(shí)間和修改時(shí)間,少量軟件甚至以缺省的方式填充日期。在udtabox數(shù)據(jù)上,大部分軟件都會(huì)利用這一空間,寫(xiě)入與自身相關(guān)的參數(shù)。不同的軟件設(shè)定,造成了文件元數(shù)據(jù)的差異,為我們區(qū)分這些文件來(lái)源提供可能。
在數(shù)字時(shí)代,所有的文件信息存儲(chǔ)都是通過(guò)底層二進(jìn)制代碼實(shí)現(xiàn)的,對(duì)文件信息的篡改難以留下痕跡,在一定程度上具有不可知性。但檢驗(yàn)視頻文件是否為原始文件也不是不可能實(shí)現(xiàn)的,主要有兩方面的原因,一方面是因?yàn)橐曨l文件只要經(jīng)過(guò)編輯,就必經(jīng)解封、解碼、再編碼、再封裝過(guò)程。常用的編輯軟件在這一過(guò)程中,都會(huì)根據(jù)生成的目標(biāo)文件格式,編寫(xiě)新的元數(shù)據(jù),因此原始文件和編輯文件元數(shù)據(jù)難以完全一致。另一方面是因?yàn)樵獢?shù)據(jù)編輯難度大。在缺少編輯工具情況下,編輯者必須通過(guò)底層進(jìn)行寫(xiě)入,如果沒(méi)有深入了解元數(shù)據(jù)的種類(lèi)、格式和位置,難以完成編輯。
目前,市面上已經(jīng)有針對(duì)文件頭數(shù)據(jù)的底層搜索軟件,但還沒(méi)有對(duì)元數(shù)據(jù)進(jìn)行搜索的相關(guān)技術(shù)。從實(shí)驗(yàn)可知,同一軟件生成的視頻文件元數(shù)據(jù)格式相對(duì)固定,下一步要廣泛收集樣本文件,制作元數(shù)據(jù)模板庫(kù),實(shí)現(xiàn)對(duì)檢材元數(shù)據(jù)的快速比對(duì),提高檢驗(yàn)鑒定工作時(shí)效性和準(zhǔn)確性。
由于本文討論的創(chuàng)建時(shí)間和修改時(shí)間均存儲(chǔ)于M P 4文件內(nèi),而非存于文件系統(tǒng)中,在實(shí)際案件中檢驗(yàn)人員可以利用案情中聲稱(chēng)的錄制設(shè)備錄制樣本視頻,通過(guò)查看比較檢材和樣本的元數(shù)據(jù)內(nèi)容,可以判斷檢材文件是否為樣本設(shè)備所錄制。通過(guò)比較檢材與樣本文件時(shí)間形成機(jī)制及元數(shù)據(jù)的異同,可以判斷檢材文件是否具有原始性。