Stools 隱藏軟體之隱藏分析
第一節 S-Tools簡介
S-Tools[9]是現在網路上應用最廣泛的隱藏軟體,在西元1994年由 Andy Brown開發,使用者可以至
http://www.webattack.com/get/stools.shtml 下載S-Tools的最新版本。
S-Tools所選定的掩護影像是以調色盤類型影像(palette-based image)方式儲存的GIF與BMP影像,而產生的偽裝影像則可以儲存為GIF與BMP影像儲存格式。S-Tools採用與媒體儲存技術相關的隱藏技術,因此,本組亦針對GIF影像儲存格式作深入研究,研究報告詳見附錄D。
第二節 S-Tools的原理
GIF影像儲存格式是屬於調色盤類型的影像,在早期,資訊是被隱藏在這類型影像檔案格式的調色盤本身的色彩值中,或是利用調色盤中顏色排列的次序來表示嵌入的資訊;但因受限於可供隱藏的資訊量,也就是調色盤顏色之數量,因此,後來開發出來的技術就不再將資訊隱藏在調色盤,而是直接嵌入在每個像素的顏色值上。
隱藏軟體S-Tools所採用的作法是先減少調色盤中的顏色個數,來容許嵌入資訊時所產生的新顏色,使顏色總數小於調色盤顏色數目的上限256色。
S-Tools早期的版本所使用的技術是將影像的調色盤從256色降至32色,然後便可以將二元機密訊息嵌入影像中每個像素的R、G、B三個顏色值的最低位元,因此每個像素可嵌入3個位元。由於最低位元可能因嵌入機密訊息而改變,原本的32個顏色,都可能另外產生7種相近的顏色,總數最多剛好為256個顏色,滿足了調色盤類型影像色彩總數不可超過256色的限制。
但後來的研究發現,並不是所有經S-Tools隱藏訊息後的偽裝影像顏色數量都是256色,顯然並不需要一開始就將顏色數量降到32,畢竟顏色數降得越低,影像失真的情況就越嚴重,這樣子的修正也增加了破解的困難,當嵌入的資訊量很小時,利用S-Tools來做資訊隱藏並不會如同Johnson與 Jajodia所指形成32個顏色群集。但要確實計算出顏色個數該降到什麼程度,並不好拿捏,每一張掩護影像與每一個嵌入的機密訊息都會產生影響,只能從實作上去自動調整。因此,另外發展一套更自動化的方法破解S-tools是有必要的,這也是本組專研一個主要的研究方向,接下來我們將詳細地介紹當S-tools只嵌入極少的機密訊息時,該如何破解。
第三節 S-Tools所產生的不尋常特徵
S-Tools這個軟體最大的缺點就是GIF格式的原始影像調色盤被 S-Tools修改的非常不自然。Johnson與Jajodia在1998年的第二屆IHW研討會論文[5]中指出透過對調色盤色彩做簡單的排序分析,由於影像調色盤經過S-Tools降為32色後,新產生的顏色和原來顏色的差異都非常小,因此被嵌入機密訊息後的偽裝影像,其調色盤的色彩會形成32個群集,這是一般自然影像所沒有的特徵。
圖3.1為一個調色盤影像嵌入技術遭到破解的例子。將嵌入機密訊息的調色盤依亮度(luminance)排序後,呈現出顏色被分成一群一群的不尋常特徵,這個特徵也等於是曝露了此張影像有被嵌入機密訊息。
但因為Johnson與Jajodia所提出的這種破解法,需要由人的肉眼去觀察調色盤依亮度排序後的狀況,藉此來判斷此張影像是否藏有資訊,除了不夠自動化外,調色盤排序也很費時,所以本組在以下第四節針對Johnson與 Jajodia所提出的破解法做了小實驗,並繼續深入分析S-Tools的特性,探討此隱藏軟體其他不尋常的特徵,發掘另一個針對S-Tools更精確、更自動化的破解法。
(a)排序前調色盤。 (b)排序後調色盤。
圖 3.1 一個調色盤影像嵌入技術遭到破解的例子。
第四節 S-Tools分析
為了對S-Tools隱藏軟體有更深入的了解,我們針對S-Tools產生的偽裝影像加以分析,設計了一連串的實驗,最後終於掌握了破解S-Tools隱藏軟體的關鍵,成功地提出破解S-Tools的法則。
第五節 結論與討論
調色盤的製作是將顏色分為256群,再由每一群中選出一個最具代表性的顏色,所以共會有256色,利用3個位元組記錄每個顏色的RGB值,將其存放在檔頭,就是所謂的調色盤。當選取出最具代表的256色時,我們知道這256色在RGB三度空間中,任兩點之間的距離並不會很小。而S-Tools隱藏資訊時,將256色降至32色後,在每個RGB值的最低位元嵌入機密資訊,所以才會形成異常明顯的32個群集之特徵。
以下本組針對調色盤的特性與S-tools的分析做了一些結論:1. 實際操作了S-Tools,並針對所產生的GIF格式本身的調色盤利用亮度排序後作分析, 驗證嵌入了機密資訊後的調色盤的確如學者所提出的,會明顯的形成32個群集。但是 由第四節實驗一的實驗內容可以得知,當嵌入的資訊量極少的時候,調色盤分群並不 非常明顯,所以無法準確的判斷此張影像是否真的藏有機密訊息。所以在實驗二中, 我們嘗試將藏有機密訊息的調色盤中每個像素R、G、B三個顏色值的最低位元去掉 (此實驗做法是將最低位元值皆設為0),增強由調色盤分群現象來判定藏有機密訊息 與否的準確性。
2. 針對調色盤中的顏色個數來作分析,若單純將未藏有資訊的影像去掉最低位元作調色 盤顏色個數的計算,大部分結果都是接近於256色,根據實驗,最低也會有249色;但 是若將偽裝影像去掉最低位元後,計算後的顏色個數卻減少至32色左右,嵌入的機密 訊息資訊量極少時,最高會有194色。
3. 經過實驗分析顯示,一張未隱藏過資訊的影像,其調色盤顏色總數與去除最後一個位 元的調色盤顏色個數差約在0~1個;而經S-Tools隱藏過資訊的偽裝影像,其調色盤顏 色個數差大多在200個以上。因應此不尋常的特性我們設計出破解S-Tools的分析法則 ,最後在實驗六,我們在100張影像中隨機將50張影像藏入極少量的機密訊息,而我 們的隱藏分析系統也能依此一一判斷出來,成功地破解了S-Tools隱藏軟體。 最後,我們在實驗過程中發現S-Tools的另一項特性 ─ 影像格式的版本訊息。在現今 網路上可取得的各種GIF格式的影像,其大部分的版本為89a,但很特別的是,若影像 經S-Tools藏進機密訊息後,再分析此張影像的版本資訊,赫然發現讀取到的版本訊息 皆記錄為87a。這是S-Tools軟體的另一個不尋常的特性,這項特性也可以用來作為判 斷的輔助工具。
經由這次的專研,在隱藏分析這方面,我們雖然成功了破解S-Tools隱藏軟體,但S-Tools中量化的演算法仍是我們應當研究的一環,而隱藏分析的領域包含甚廣,在這次的專研中,我們只針對S-Tools的破解做了詳細的研究,然而其他破解、分析隱藏技術的方法,也都是將來可以繼續深入研究探討的重點。希望這項研究在將來的應用能造福整個社會,保障權益並避免危機。
BACK