在介紹完隱寫術的基本概念以後,接下來我們要介紹一些常見的隱寫媒介,包含圖片隱寫、音訊隱寫等等。
圖片是最常被用來做數位隱寫的載體之一,在打 ctf 時最常看到的隱寫題也是圖片隱寫。最經典的技術是「最低有效位元(LSB, Least Significant Bit)」隱寫,也就是把要藏的資料寫入像素值的最低有效位元(例如 RGB 每個通道的最後一位),在人眼去看上去無法看出差別,因此非常利於隱藏訊息。除了 LSB 隱寫外,其他方法還有包括在影像頻域(如 DCT/JPEG 的係數)修改細微數值,或利用 metadata(EXIF)藏訊息。
以下這張圖片便是利用 LSB 隱寫來藏匿訊息,大家如果有找到可以打在留言區XD
音訊隱寫會把資料藏在聲音檔的樣本或頻域表示中。就像圖片的 LSB 隱寫,聲音也有音訊的 LSB 隱寫,也就是改變音訊樣本的最低位元,並且不容易被人耳察覺。除此之外也有藉由修改頻譜或相位(phase)來隱藏訊息,或利用不易注意的背景噪音承載資料。
像是以下便是利用頻譜隱寫的示範,首先把要隱藏的資訊變成音訊檔,然後利用軟體查看頻譜圖就可以看到隱藏的資訊。
文字隱寫利用文字本身或排版細節藏訊息。手法包括:利用空白字元(在單詞間插入不同長度或 Unicode 的空白)、首字母縮寫(也就是所謂的藏頭文XD)、同義詞替換或故意拼寫/標點模式來編碼、或在 HTML/Markdown 中藏入不可見字元(zero-width characters)。
像在原本的訊息裡加入不可見的 unicode 字元,表面上看起來是一樣的訊息,但其實藏了額外的資訊,例如以下。
哈囉你好
網路隱寫術是在網路通訊中隱藏資訊以逃避安全機制偵測的方法。此方法主要為攻擊者所用,因為網路協議本身具有冗餘與變異性,可以將資料悄悄嵌入封包標頭、封包有效載荷或傳輸行為中。網路隱寫術常用的技術包括在協議中未使用的欄位嵌入資料,以及操控封包傳送時機(timing)來編碼訊息。
今天介紹了隱寫術的幾個方法,大家可以自己玩玩看~之後會繼續介紹需要使用的工具以及他們的原理!
今天是養母~