張毅,梅挺
(成都醫(yī)學(xué)院 人文信息管理學(xué)院,四川 成都 610083)
信息隱藏作為信息安全領(lǐng)域一個(gè)新的前沿技術(shù),已經(jīng)成為信息處理領(lǐng)域的一個(gè)研究熱點(diǎn)。數(shù)字隱寫(Steganography)和隱寫分析(Steganalysis)是信息隱藏技術(shù)的重要分支。前者研究如何實(shí)現(xiàn)秘密信息的隱蔽通信,后者研究對隱寫技術(shù)的攻擊,即如何檢測、提取、還原/破壞隱藏的秘密信息。
隱寫術(shù)把秘密信息先加密再隱藏于公開的數(shù)字媒體中,使其除了具有傳統(tǒng)加密通信的優(yōu)點(diǎn)外,還大大減少受攻擊的可能性,從而成為一種利用公共信道傳遞涉密信息的可靠方法。但由于網(wǎng)絡(luò)通信的開放性和應(yīng)用的普遍性,隱寫術(shù)也可能被敵特機(jī)構(gòu)、恐怖組織用于計(jì)劃和協(xié)調(diào)犯罪活動(dòng),媒體對此已有諸多的報(bào)道。
2005年3月,Spyware Information Center報(bào)道了 H&S等隱寫軟件在美國被發(fā)現(xiàn)使用的情況。2010年6月,美國聯(lián)邦調(diào)查局查獲了11人的俄羅斯間諜團(tuán)伙,據(jù)newscientist報(bào)道該團(tuán)伙的主要通信手段也是利用隱寫軟件在互聯(lián)網(wǎng)上傳輸秘密信息[1]。在我國也相繼發(fā)現(xiàn)一些非法組織使用隱寫工具進(jìn)行秘密通信。目前互聯(lián)網(wǎng)上已出現(xiàn)200多個(gè)隱寫軟件,且應(yīng)用這些軟件不需要高深的專業(yè)知識(shí)。因此隱寫分析已成為一個(gè)緊迫的研究領(lǐng)域。
JPEG是互聯(lián)網(wǎng)上傳輸圖像數(shù)據(jù)的最主要格式。由于它應(yīng)用的普遍性和廣泛性,使用JPEG圖像作為隱藏消息的載體比起其它格式來更不會(huì)引起懷疑。而且僅靠肉眼難以分辨秘密消息嵌入帶來的圖像質(zhì)量退化,因?yàn)檫@可能是因?yàn)榈唾|(zhì)量的JPEG壓縮造成的。故以JPEG圖像為載體的隱蔽通信具有很好的隱蔽性和很高的安全性。目前已經(jīng)出現(xiàn)了大量以JPEG圖像為載體的隱寫算法和隱寫軟件,因此對海量的JPEG數(shù)據(jù)進(jìn)行有效的分析,檢測和提取JPEG數(shù)據(jù)中的隱藏信息是隱寫分析的重要內(nèi)容之一。
現(xiàn)有的隱寫算法有2種:一種是利用的感覺冗余,使用一定的算法將秘密信息隱藏在圖像數(shù)據(jù)中;另一種是利用通用的媒體傳輸格式,利用格式中的語法結(jié)構(gòu)冗余隱藏秘密信息。本文主要討論基于JPEG格式冗余的信息隱藏技術(shù)和隱寫分析技術(shù)。童莉[2]研究了利用JPEG應(yīng)用數(shù)據(jù)段來隱藏信息的可能性,本文在此基礎(chǔ)上挖掘了JPEG圖像的另外3處格式冗余,還通過大量統(tǒng)計(jì),建立了兩個(gè)數(shù)據(jù)庫,并最終構(gòu)建了一個(gè)準(zhǔn)實(shí)時(shí)隱藏信息提取系統(tǒng)。該系統(tǒng)不僅提取數(shù)據(jù),還利用建立的數(shù)據(jù)庫對提取的數(shù)據(jù)進(jìn)行篩選和處理,并有效攻擊了11種互聯(lián)網(wǎng)上的隱寫軟件。
JPEG標(biāo)準(zhǔn)是由 “聯(lián)合圖片專家組”(Joint Photography Expert Group)制定的連續(xù)色調(diào)靜態(tài)圖像壓縮標(biāo)準(zhǔn)。
JPEG語句的流結(jié)構(gòu)[3]由標(biāo)識(shí)符、參數(shù)和熵編碼數(shù)據(jù)段的有序集合組成。其中,標(biāo)識(shí)符用于標(biāo)識(shí)數(shù)據(jù)流結(jié)構(gòu)中的不同結(jié)構(gòu)單元,由2字節(jié)編碼表示(1個(gè)0xFF和1個(gè)不為0x00或者0xFF的字節(jié))。標(biāo)識(shí)符均可以任意多個(gè)填充字節(jié)(0xFF)作為前綴字節(jié)。參數(shù)通常為整數(shù)值,用于指定編碼過程的作用方式、源圖像的特征或者根據(jù)應(yīng)用選擇的其他特性。標(biāo)識(shí)符、參數(shù)合稱為標(biāo)識(shí)段(個(gè)別段不帶參數(shù))。熵編碼數(shù)據(jù)段為經(jīng)過熵編碼后的圖像數(shù)據(jù)。表1給出了JPEG標(biāo)準(zhǔn)中定義的部分重要標(biāo)識(shí)符。
表1 JPEG標(biāo)準(zhǔn)中部分重要標(biāo)識(shí)符Tab.1 Several significant symbols of JPEG
根據(jù)深入研究JPEG格式,發(fā)現(xiàn)其存在4處格式冗余:應(yīng)用數(shù)據(jù)段、注釋段、段間冗余區(qū)域和文件末尾。因?yàn)槌R?guī)的網(wǎng)絡(luò)瀏覽器(IE,Netscape等)和圖像瀏覽軟件(ACDSee等)對這些區(qū)域的數(shù)據(jù)均作滑過處理,故隱藏在這些區(qū)域的秘密信息對一般用戶而言屬不可見信息。上述冗余區(qū)域語法結(jié)構(gòu)如下:
1)冗余數(shù)據(jù)段。JPEG標(biāo)準(zhǔn)共定義了254類數(shù)據(jù)段(標(biāo)志符0xFF01~0xFFFE),其中部分?jǐn)?shù)據(jù)段用于對圖像的說明或者提供用戶作注釋使用等,不影響圖像顯示,這些段統(tǒng)稱冗余數(shù)據(jù)段。冗余數(shù)據(jù)段包括應(yīng)用16個(gè)應(yīng)用數(shù)據(jù)段和1個(gè)注釋段。其中,應(yīng)用數(shù)據(jù)段(應(yīng)用數(shù)據(jù)段語法結(jié)構(gòu):段標(biāo)志符(APPn,2 字 節(jié) );段 長 度 (Lp,2 字 節(jié) );數(shù) 據(jù) 區(qū) (Data,La-2 字節(jié))。Lp代表段長度和數(shù)據(jù)區(qū)兩段數(shù)據(jù)的長度之和。)的段標(biāo)志符取值為0x FF E0~0x FF EF,分別對應(yīng)16個(gè)不同應(yīng)用數(shù)據(jù)段。段長度標(biāo)志占2字節(jié),取值范圍為2~65535。數(shù)據(jù)區(qū)用于存儲(chǔ)數(shù)據(jù)段內(nèi)容,長度為段長度參數(shù)減兩個(gè)字節(jié)。注釋段標(biāo)志符為0x FF FE,語法結(jié)構(gòu)與應(yīng)用數(shù)據(jù)段相同。
2)段間冗余區(qū)域?;跀?shù)據(jù)段存儲(chǔ)的特性導(dǎo)致JPEG存在段間冗余區(qū)域。當(dāng)兩個(gè)數(shù)據(jù)段并未首尾相接時(shí),前個(gè)數(shù)據(jù)段的結(jié)束字節(jié)與后個(gè)數(shù)據(jù)段的起始字節(jié)之間的區(qū)域稱為段間冗余區(qū)。JPEG標(biāo)準(zhǔn)規(guī)定,段間冗余區(qū)若存在數(shù)據(jù),則應(yīng)存放若干個(gè)填充字符0xFF。但實(shí)驗(yàn)結(jié)果表明,部分JPEG圖像的段間冗余區(qū)存放著若干個(gè)不為0xFF的字節(jié)時(shí),圖像仍能正常顯示。故有必要對此區(qū)域內(nèi)數(shù)據(jù)進(jìn)行辨識(shí)和提取。
3)文件末尾:圖像文件結(jié)束符(0x FFD9)之后,全文件結(jié)束之前。
若選擇JPEG的應(yīng)用數(shù)據(jù)段或注釋段作為信息隱藏的區(qū)域,應(yīng)按照其語法結(jié)構(gòu),將隱蔽信息置于數(shù)據(jù)段的段長度參數(shù)之后,并將段長度參數(shù)修改為隱蔽信息的長度加2即可。由于每個(gè)數(shù)據(jù)段最多只能嵌入65533字節(jié)的信息,若待嵌消息長度大于此數(shù),則應(yīng)分段嵌入多個(gè)數(shù)據(jù)段中。JPEG允許一個(gè)數(shù)據(jù)段在文件中出現(xiàn)多次,故在大數(shù)據(jù)量嵌入時(shí),既可選擇不同的應(yīng)用數(shù)據(jù)段,也可將一個(gè)數(shù)據(jù)段使用多次。
在段間冗余區(qū)隱藏?cái)?shù)據(jù)時(shí)不受語法限制,但由于這種隱藏方法基于圖像瀏覽程序的漏洞,嵌入數(shù)據(jù)后應(yīng)檢查是否影響圖像的正常顯示。
在文件末尾隱藏?cái)?shù)據(jù)同樣沒有語法和容量限制,直接將待嵌信息加到文件結(jié)束符之后即可。
實(shí)驗(yàn)結(jié)果表明,利用JPEG數(shù)據(jù)流的冗余結(jié)構(gòu)可實(shí)現(xiàn)信息隱藏。此類隱寫方案的優(yōu)點(diǎn)是完全不影響圖像質(zhì)量,缺點(diǎn)是增加了圖像文件的數(shù)據(jù)量。JPEG文件嵌入秘密信息后,圖像文件大小變?yōu)檩d體圖像與嵌入文件長度之和(若嵌入中使用個(gè)冗余數(shù)據(jù)段,文件大小應(yīng)在此基礎(chǔ)上再加字節(jié)段頭信息)。文件數(shù)據(jù)量的增加對非壓縮圖像(如BMP)的影響很大,因?yàn)檫@類圖像很容易通過圖像大小估計(jì)出文件大小,并據(jù)此判斷出是否含隱蔽信息。但JPEG圖像的數(shù)據(jù)碼流是壓縮碼流,碼流的大小取決于壓縮比和圖像的質(zhì)量要求,因此僅由JPEG的數(shù)據(jù)量很難判斷其數(shù)據(jù)流中是否嵌入了其它內(nèi)容的數(shù)據(jù)。加上JPEG是網(wǎng)絡(luò)中最常見的圖像格式。該隱寫方案具有很好的隱蔽性和較高的安全性。
針對上述隱寫方案設(shè)計(jì)了一個(gè)隱蔽數(shù)據(jù)的提取和處理方案,并構(gòu)造了信息提取系統(tǒng)。系統(tǒng)設(shè)置信息提取、信息過濾和信息搜索3個(gè)模塊,分別用于提取隱蔽信息,過濾公共信息和辨識(shí)過濾后信息,具體流程如圖1所示。
圖1 信息檢測提取系統(tǒng)流程圖Fig.1 Flow chart of information detect and extract system
系統(tǒng)3個(gè)模塊的工作原理如下:
1)信息提取模塊。根據(jù)JPEG數(shù)據(jù)流結(jié)構(gòu)的語法規(guī)則,依次讀取每個(gè)JPEG數(shù)據(jù)段,并處理以下3種情況:①若當(dāng)前段為應(yīng)用數(shù)據(jù)段或注釋段,則根據(jù)段長參數(shù)提取該段內(nèi)的數(shù)據(jù)。②若讀完一個(gè)段后,下個(gè)段的標(biāo)記符尚未出現(xiàn),則先判斷當(dāng)前數(shù)據(jù)是否為填充字節(jié)(0xFF),如果不是填充字節(jié),則提取兩個(gè)數(shù)據(jù)段之間的數(shù)據(jù)。③若圖像結(jié)束符之后仍存在數(shù)據(jù),則從結(jié)束符之后開始提取數(shù)據(jù)直至文件結(jié)束。
2)信息過濾模塊。大量實(shí)驗(yàn)結(jié)果表明網(wǎng)絡(luò)中的JPEG圖像大多存在3~5個(gè)應(yīng)用數(shù)據(jù)段,其中某些版權(quán)聲明、公司標(biāo)記信息的重現(xiàn)率很高,這類信息統(tǒng)稱為公共信息。為優(yōu)化系統(tǒng)的輸出結(jié)果,必須對海量的提取數(shù)據(jù)進(jìn)行篩選,過濾其中無情報(bào)價(jià)值的信息。先通過對大量網(wǎng)絡(luò)提取數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,收集JPEG各個(gè)數(shù)據(jù)段經(jīng)常出現(xiàn)的公共信息,建立公共信息數(shù)據(jù)庫,部分內(nèi)容如表2所示。信息過濾模塊通過將提取的信息與數(shù)據(jù)庫中對應(yīng)數(shù)據(jù)段的內(nèi)容進(jìn)行逐條比較,從而可過濾大部分公共信息。
3)信息搜索模塊。實(shí)驗(yàn)中發(fā)現(xiàn)部分信息隱藏軟件并未對隱蔽數(shù)據(jù)進(jìn)行壓縮或加密,而是采取直接嵌入圖像數(shù)據(jù)流的方案。針對這種情況,為使輸出結(jié)果更直觀,系統(tǒng)設(shè)置了文件格式數(shù)據(jù)庫,部分內(nèi)容如表3所示以及信息搜索模塊。文件格式數(shù)據(jù)庫用于存儲(chǔ)常見文件格式(Rar,Html,Exe,Zip,Pdf,JPEG,GIF等)的固定文件頭信息。信息搜索模塊將庫中信息放入搜索窗口,利用快速匹配算法對過濾后的數(shù)據(jù)進(jìn)行搜索,若發(fā)現(xiàn)與搜索窗口內(nèi)容相匹配的數(shù)據(jù)塊,將該數(shù)據(jù)塊保存為與當(dāng)前搜索窗口內(nèi)容相應(yīng)的文件格式(由于部分提取數(shù)據(jù)為亂碼,采用這種搜索方式可能因偶然的匹配導(dǎo)致格式識(shí)別錯(cuò)誤,但實(shí)驗(yàn)表明發(fā)生誤判的概率很?。?。最后,將格式無法識(shí)別的數(shù)據(jù)以文本格式輸出。
表2 公共信息數(shù)據(jù)庫部分內(nèi)容Tab.2 Parts of Public In formation Database
表3 文件格式數(shù)據(jù)庫部分內(nèi)容Tab.3 Parts of file format database
實(shí)驗(yàn)環(huán)境為Pentium4 CPU 2.0 GHz,512 MB內(nèi)存,本系統(tǒng)掃描了從網(wǎng)絡(luò)上截獲的JPEG圖像57398幅,耗時(shí)11分23秒,平均每秒檢測JPEG圖像85幅。系統(tǒng)輸出結(jié)果為:txt文件 456個(gè),htm l文件3個(gè),exe文件 1個(gè),jpg文件 35個(gè),gif文件1個(gè),rmvb文件1個(gè)。在提取出的文本中,其中明文文本大部分用于記錄圖像制作公司、攝像機(jī)生產(chǎn)公司及作圖軟件公司的一些版權(quán)聲明信息,此外還有對圖像壓縮,處理日期等進(jìn)行的說明;其余大部分為密文,內(nèi)容尚不明確,有待進(jìn)一步分析其價(jià)值。部分結(jié)果如圖2所示。
實(shí)驗(yàn)結(jié)果表明,網(wǎng)絡(luò)中的JPEG圖像主要將隱藏?cái)?shù)據(jù)放置于應(yīng)用數(shù)據(jù)段、注釋段和文件末尾區(qū)。
圖2 部分網(wǎng)絡(luò)數(shù)據(jù)提取結(jié)果Fig.2 Some results of network data exacting information
隱寫軟件的使用對國家和社會(huì)的安全構(gòu)成了威脅,因此對互聯(lián)網(wǎng)上的隱寫軟件進(jìn)行剖析已成為一個(gè)緊迫的研究課題。為研究支持JPEG格式的隱寫軟件的嵌入原理并驗(yàn)證系統(tǒng)的實(shí)用性,先利用這些軟件在JPEG圖像中嵌入信息,然后使用本系統(tǒng)進(jìn)行提取攻擊。實(shí)驗(yàn)結(jié)果表明,11個(gè)軟件[4~14]工作原理是基于JPEG結(jié)構(gòu)冗余。部分實(shí)驗(yàn)結(jié)果如圖3至圖6所示。
系統(tǒng)從文件末尾區(qū)提取結(jié)果:
圖3 軟件"ImageX"實(shí)驗(yàn)結(jié)果Fig.3 Experiment results of"ImageX"
系統(tǒng)從文件末尾區(qū)提取結(jié)果:
圖4 軟件"Steganography v1.65"實(shí)驗(yàn)結(jié)果Fig.4 Experiment results of"Steganography v1.65"
系統(tǒng)從注釋段提取結(jié)果:
圖5 軟件"滲透v3"實(shí)驗(yàn)結(jié)果Fig.5 Experiment results of"滲透 v3"
系統(tǒng)從應(yīng)用數(shù)據(jù)段提取結(jié)果:
圖6 軟件"Dstego1.01"實(shí)驗(yàn)結(jié)果Fig.6 Experiment results of"Dstego1.01"
實(shí)驗(yàn)結(jié)果表明,軟件“ImageX”和“Steganography v1.65”利用JPEG文件末尾區(qū)隱藏信息,軟件“滲透v3”利用注釋段隱藏信息,軟件 “Dstego1.01”利用應(yīng)用數(shù)據(jù)段隱藏信息。Steganography v1.65對隱蔽信息加密后再嵌入載體,故提取出的是密文。目前許多軟件都采用DES,IDEA,Blowfish等算法對隱蔽信息進(jìn)行加密后再嵌入載體中的雙重保護(hù)方式,故導(dǎo)致系統(tǒng)提取出的結(jié)果往往是看起來雜亂無章的密文。
實(shí)驗(yàn)結(jié)果還表明,軟件滲透 v3.0[4]利用JPEG的注釋段隱藏信息,軟件Steganography v1.65,Masker v7.0.2,藏龍臥虎v1.0,小小加密鎖 v3.1,加密奇兵,Camouflage v1.1,防彈背心(SafeFile)1.2,ImageX 20011 2[5~12]利用 JPEG 的文件末尾區(qū)隱藏信息,Invisible Secrets pro,DStego 1.01[13-14]利用 JPEG 應(yīng)用數(shù)據(jù)段隱藏信息。綜上所述,本系統(tǒng)能對上述軟件進(jìn)行有效的提取攻擊。
隨著信息隱藏技術(shù)的迅猛發(fā)展,如何從互聯(lián)網(wǎng)上海量的多媒體數(shù)據(jù)中檢測并提取隱藏消息是一個(gè)迫切需要研究的問題。本文討論了基于JPEG文件數(shù)據(jù)流結(jié)構(gòu)的隱寫、提取攻擊和信息處理技術(shù),構(gòu)建了一個(gè)信息提取系統(tǒng),對網(wǎng)上JPEG圖像和隱寫軟件實(shí)現(xiàn)了有效攻擊。該系統(tǒng)主要不足之處在于后續(xù)信息處理尚不夠完善:首先,在海量網(wǎng)絡(luò)數(shù)據(jù)環(huán)境下,要篩選出有價(jià)值的信息需借鑒數(shù)據(jù)挖掘技術(shù);其次,進(jìn)一步提取出密文的處理,最終實(shí)現(xiàn)明文還原,還需引入密碼分析技術(shù)。
[1]童莉.JPEG格式靜止圖象網(wǎng)絡(luò)數(shù)據(jù)技術(shù)研究[D].鄭州:鄭州信息科技學(xué)院,2002.
[2]Stier C.Russian spy ring hid secret messages on the web[EB/OL].2010.http://www.newscientist.com/article/dn19126-russianspy-ring-hid-secret-messages-on-the-web.html.
[3]蔡士杰,岳華,劉小燕.連續(xù)色調(diào)靜止圖像的壓縮與編碼-JPEG[M].南京:南京大學(xué)出版社,1995.
[4]滲透 v3.0.[EB/OL].(2010-01-02).http://www.swxp.com.
[5]防彈背心(SafeFile)1.2.隱寫軟件[EB/OL].(2010-01-02).http://www.5icrack.com/Software/Catalog164/4364.html
[6]Steganography v1.65.[EB/OL]. (2010-01-02).http://wzsoft.net/1/soft/soft_17455.asp.
[7]Masker v7.0.2.[EB/OL].(2010-01-02).http://yzdown.com/soft/10894.htm.
[8]藏龍臥虎 v1.0.[EB/OL]. (2010-01-02).http://jsnetcom.onlinedown.net/down/setupwo0521.rar.
[9]小 小 加 密 鎖 v3.1. [EB/OL]. (2010-01-02).http://www.netads2u.com/Down/33321.htm l.
[10]加密奇兵.[EB/OL].(2010-01-02).http://download.3343.net/soft3578.htm l.
[11]Camouflage v1.1.1.[EB/OL]. (2010-01-02).http://www.camouflagesoftware.com.
[12]ImageX 20011 2. [EB/OL]. (2010 -01 -02).http://soft.netnest.com.cn/downinfo/netnest9865.html.
[13]Invisible Secrets pro.[EB/OL]. (2010-01-02).http://www.innovatools.com/software/isecrets.
[14]DStego1.01.[EB/OL]. (2010-01-02).ftp://211.100.8.153/download/22/10178_DStego.zip.