張毅,梅挺
(成都醫學院 人文信息管理學院,四川 成都 610083)
信息隱藏作為信息安全領域一個新的前沿技術,已經成為信息處理領域的一個研究熱點。數字隱寫(Steganography)和隱寫分析(Steganalysis)是信息隱藏技術的重要分支。前者研究如何實現秘密信息的隱蔽通信,后者研究對隱寫技術的攻擊,即如何檢測、提取、還原/破壞隱藏的秘密信息。
隱寫術把秘密信息先加密再隱藏于公開的數字媒體中,使其除了具有傳統加密通信的優點外,還大大減少受攻擊的可能性,從而成為一種利用公共信道傳遞涉密信息的可靠方法。但由于網絡通信的開放性和應用的普遍性,隱寫術也可能被敵特機構、恐怖組織用于計劃和協調犯罪活動,媒體對此已有諸多的報道。
2005年3月,Spyware Information Center報道了 H&S等隱寫軟件在美國被發現使用的情況。2010年6月,美國聯邦調查局查獲了11人的俄羅斯間諜團伙,據newscientist報道該團伙的主要通信手段也是利用隱寫軟件在互聯網上傳輸秘密信息[1]。在我國也相繼發現一些非法組織使用隱寫工具進行秘密通信。目前互聯網上已出現200多個隱寫軟件,且應用這些軟件不需要高深的專業知識。因此隱寫分析已成為一個緊迫的研究領域。
JPEG是互聯網上傳輸圖像數據的最主要格式。由于它應用的普遍性和廣泛性,使用JPEG圖像作為隱藏消息的載體比起其它格式來更不會引起懷疑。而且僅靠肉眼難以分辨秘密消息嵌入帶來的圖像質量退化,因為這可能是因為低質量的JPEG壓縮造成的。故以JPEG圖像為載體的隱蔽通信具有很好的隱蔽性和很高的安全性。目前已經出現了大量以JPEG圖像為載體的隱寫算法和隱寫軟件,因此對海量的JPEG數據進行有效的分析,檢測和提取JPEG數據中的隱藏信息是隱寫分析的重要內容之一。
現有的隱寫算法有2種:一種是利用的感覺冗余,使用一定的算法將秘密信息隱藏在圖像數據中;另一種是利用通用的媒體傳輸格式,利用格式中的語法結構冗余隱藏秘密信息。本文主要討論基于JPEG格式冗余的信息隱藏技術和隱寫分析技術。童莉[2]研究了利用JPEG應用數據段來隱藏信息的可能性,本文在此基礎上挖掘了JPEG圖像的另外3處格式冗余,還通過大量統計,建立了兩個數據庫,并最終構建了一個準實時隱藏信息提取系統。該系統不僅提取數據,還利用建立的數據庫對提取的數據進行篩選和處理,并有效攻擊了11種互聯網上的隱寫軟件。
JPEG標準是由 “聯合圖片專家組”(Joint Photography Expert Group)制定的連續色調靜態圖像壓縮標準。
JPEG語句的流結構[3]由標識符、參數和熵編碼數據段的有序集合組成。其中,標識符用于標識數據流結構中的不同結構單元,由2字節編碼表示(1個0xFF和1個不為0x00或者0xFF的字節)。標識符均可以任意多個填充字節(0xFF)作為前綴字節。參數通常為整數值,用于指定編碼過程的作用方式、源圖像的特征或者根據應用選擇的其他特性。標識符、參數合稱為標識段(個別段不帶參數)。熵編碼數據段為經過熵編碼后的圖像數據。表1給出了JPEG標準中定義的部分重要標識符。

表1 JPEG標準中部分重要標識符Tab.1 Several significant symbols of JPEG
根據深入研究JPEG格式,發現其存在4處格式冗余:應用數據段、注釋段、段間冗余區域和文件末尾。因為常規的網絡瀏覽器(IE,Netscape等)和圖像瀏覽軟件(ACDSee等)對這些區域的數據均作滑過處理,故隱藏在這些區域的秘密信息對一般用戶而言屬不可見信息。上述冗余區域語法結構如下:
1)冗余數據段。JPEG標準共定義了254類數據段(標志符0xFF01~0xFFFE),其中部分數據段用于對圖像的說明或者提供用戶作注釋使用等,不影響圖像顯示,這些段統稱冗余數據段。冗余數據段包括應用16個應用數據段和1個注釋段。其中,應用數據段(應用數據段語法結構:段標志符(APPn,2 字 節 );段 長 度 (Lp,2 字 節 );數 據 區 (Data,La-2 字節)。Lp代表段長度和數據區兩段數據的長度之和。)的段標志符取值為0x FF E0~0x FF EF,分別對應16個不同應用數據段。段長度標志占2字節,取值范圍為2~65535。數據區用于存儲數據段內容,長度為段長度參數減兩個字節。注釋段標志符為0x FF FE,語法結構與應用數據段相同。
2)段間冗余區域。基于數據段存儲的特性導致JPEG存在段間冗余區域。當兩個數據段并未首尾相接時,前個數據段的結束字節與后個數據段的起始字節之間的區域稱為段間冗余區。JPEG標準規定,段間冗余區若存在數據,則應存放若干個填充字符0xFF。但實驗結果表明,部分JPEG圖像的段間冗余區存放著若干個不為0xFF的字節時,圖像仍能正常顯示。故有必要對此區域內數據進行辨識和提取。
3)文件末尾:圖像文件結束符(0x FFD9)之后,全文件結束之前。
若選擇JPEG的應用數據段或注釋段作為信息隱藏的區域,應按照其語法結構,將隱蔽信息置于數據段的段長度參數之后,并將段長度參數修改為隱蔽信息的長度加2即可。由于每個數據段最多只能嵌入65533字節的信息,若待嵌消息長度大于此數,則應分段嵌入多個數據段中。JPEG允許一個數據段在文件中出現多次,故在大數據量嵌入時,既可選擇不同的應用數據段,也可將一個數據段使用多次。
在段間冗余區隱藏數據時不受語法限制,但由于這種隱藏方法基于圖像瀏覽程序的漏洞,嵌入數據后應檢查是否影響圖像的正常顯示。
在文件末尾隱藏數據同樣沒有語法和容量限制,直接將待嵌信息加到文件結束符之后即可。
實驗結果表明,利用JPEG數據流的冗余結構可實現信息隱藏。此類隱寫方案的優點是完全不影響圖像質量,缺點是增加了圖像文件的數據量。JPEG文件嵌入秘密信息后,圖像文件大小變為載體圖像與嵌入文件長度之和(若嵌入中使用個冗余數據段,文件大小應在此基礎上再加字節段頭信息)。文件數據量的增加對非壓縮圖像(如BMP)的影響很大,因為這類圖像很容易通過圖像大小估計出文件大小,并據此判斷出是否含隱蔽信息。但JPEG圖像的數據碼流是壓縮碼流,碼流的大小取決于壓縮比和圖像的質量要求,因此僅由JPEG的數據量很難判斷其數據流中是否嵌入了其它內容的數據。加上JPEG是網絡中最常見的圖像格式。該隱寫方案具有很好的隱蔽性和較高的安全性。
針對上述隱寫方案設計了一個隱蔽數據的提取和處理方案,并構造了信息提取系統。系統設置信息提取、信息過濾和信息搜索3個模塊,分別用于提取隱蔽信息,過濾公共信息和辨識過濾后信息,具體流程如圖1所示。

圖1 信息檢測提取系統流程圖Fig.1 Flow chart of information detect and extract system
系統3個模塊的工作原理如下:
1)信息提取模塊。根據JPEG數據流結構的語法規則,依次讀取每個JPEG數據段,并處理以下3種情況:①若當前段為應用數據段或注釋段,則根據段長參數提取該段內的數據。②若讀完一個段后,下個段的標記符尚未出現,則先判斷當前數據是否為填充字節(0xFF),如果不是填充字節,則提取兩個數據段之間的數據。③若圖像結束符之后仍存在數據,則從結束符之后開始提取數據直至文件結束。
2)信息過濾模塊。大量實驗結果表明網絡中的JPEG圖像大多存在3~5個應用數據段,其中某些版權聲明、公司標記信息的重現率很高,這類信息統稱為公共信息。為優化系統的輸出結果,必須對海量的提取數據進行篩選,過濾其中無情報價值的信息。先通過對大量網絡提取數據進行統計分析,收集JPEG各個數據段經常出現的公共信息,建立公共信息數據庫,部分內容如表2所示。信息過濾模塊通過將提取的信息與數據庫中對應數據段的內容進行逐條比較,從而可過濾大部分公共信息。
3)信息搜索模塊。實驗中發現部分信息隱藏軟件并未對隱蔽數據進行壓縮或加密,而是采取直接嵌入圖像數據流的方案。針對這種情況,為使輸出結果更直觀,系統設置了文件格式數據庫,部分內容如表3所示以及信息搜索模塊。文件格式數據庫用于存儲常見文件格式(Rar,Html,Exe,Zip,Pdf,JPEG,GIF等)的固定文件頭信息。信息搜索模塊將庫中信息放入搜索窗口,利用快速匹配算法對過濾后的數據進行搜索,若發現與搜索窗口內容相匹配的數據塊,將該數據塊保存為與當前搜索窗口內容相應的文件格式(由于部分提取數據為亂碼,采用這種搜索方式可能因偶然的匹配導致格式識別錯誤,但實驗表明發生誤判的概率很小)。最后,將格式無法識別的數據以文本格式輸出。

表2 公共信息數據庫部分內容Tab.2 Parts of Public In formation Database

表3 文件格式數據庫部分內容Tab.3 Parts of file format database
實驗環境為Pentium4 CPU 2.0 GHz,512 MB內存,本系統掃描了從網絡上截獲的JPEG圖像57398幅,耗時11分23秒,平均每秒檢測JPEG圖像85幅。系統輸出結果為:txt文件 456個,htm l文件3個,exe文件 1個,jpg文件 35個,gif文件1個,rmvb文件1個。在提取出的文本中,其中明文文本大部分用于記錄圖像制作公司、攝像機生產公司及作圖軟件公司的一些版權聲明信息,此外還有對圖像壓縮,處理日期等進行的說明;其余大部分為密文,內容尚不明確,有待進一步分析其價值。部分結果如圖2所示。
實驗結果表明,網絡中的JPEG圖像主要將隱藏數據放置于應用數據段、注釋段和文件末尾區。

圖2 部分網絡數據提取結果Fig.2 Some results of network data exacting information
隱寫軟件的使用對國家和社會的安全構成了威脅,因此對互聯網上的隱寫軟件進行剖析已成為一個緊迫的研究課題。為研究支持JPEG格式的隱寫軟件的嵌入原理并驗證系統的實用性,先利用這些軟件在JPEG圖像中嵌入信息,然后使用本系統進行提取攻擊。實驗結果表明,11個軟件[4~14]工作原理是基于JPEG結構冗余。部分實驗結果如圖3至圖6所示。
系統從文件末尾區提取結果:

圖3 軟件"ImageX"實驗結果Fig.3 Experiment results of"ImageX"
系統從文件末尾區提取結果:

圖4 軟件"Steganography v1.65"實驗結果Fig.4 Experiment results of"Steganography v1.65"
系統從注釋段提取結果:

圖5 軟件"滲透v3"實驗結果Fig.5 Experiment results of"滲透 v3"
系統從應用數據段提取結果:

圖6 軟件"Dstego1.01"實驗結果Fig.6 Experiment results of"Dstego1.01"
實驗結果表明,軟件“ImageX”和“Steganography v1.65”利用JPEG文件末尾區隱藏信息,軟件“滲透v3”利用注釋段隱藏信息,軟件 “Dstego1.01”利用應用數據段隱藏信息。Steganography v1.65對隱蔽信息加密后再嵌入載體,故提取出的是密文。目前許多軟件都采用DES,IDEA,Blowfish等算法對隱蔽信息進行加密后再嵌入載體中的雙重保護方式,故導致系統提取出的結果往往是看起來雜亂無章的密文。
實驗結果還表明,軟件滲透 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 的文件末尾區隱藏信息,Invisible Secrets pro,DStego 1.01[13-14]利用 JPEG 應用數據段隱藏信息。綜上所述,本系統能對上述軟件進行有效的提取攻擊。
隨著信息隱藏技術的迅猛發展,如何從互聯網上海量的多媒體數據中檢測并提取隱藏消息是一個迫切需要研究的問題。本文討論了基于JPEG文件數據流結構的隱寫、提取攻擊和信息處理技術,構建了一個信息提取系統,對網上JPEG圖像和隱寫軟件實現了有效攻擊。該系統主要不足之處在于后續信息處理尚不夠完善:首先,在海量網絡數據環境下,要篩選出有價值的信息需借鑒數據挖掘技術;其次,進一步提取出密文的處理,最終實現明文還原,還需引入密碼分析技術。
[1]童莉.JPEG格式靜止圖象網絡數據技術研究[D].鄭州:鄭州信息科技學院,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]蔡士杰,岳華,劉小燕.連續色調靜止圖像的壓縮與編碼-JPEG[M].南京:南京大學出版社,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.