一、概述
0x01 模型介紹
STEGA即隱寫術(shù),將信息隱藏在多種載體中,如:視頻、硬盤和圖像,將需要隱藏的信息通過特殊的方式嵌入到載體中,而又不損害載體原來信息的表達(dá)。旨在保護(hù)需要隱藏的信息不被他人識(shí)別。信息隱蔽技術(shù)有:1)隱寫術(shù)、2)數(shù)字水印、3)隱蔽信道、4)閥下信道、5)匿名信道
Simmons模型——囚犯問題
假設(shè)Alice和Bob在兩個(gè)不同的監(jiān)獄,他們之間能通過Wendy通信,同時(shí)Wendy能獲取他們交流的信息,如果Alice和Bob將想要表達(dá)的信息隱藏在交流信息中,Wendy就發(fā)現(xiàn)不了。Simmonns模型
Weber定律
- 德國生理學(xué)家韋伯發(fā)現(xiàn)同一刺激差別量必須達(dá)到一定比例,才能引起差別感覺:
(其中,Weber定律ΔI是差別閾限,I是刺激強(qiáng)度,k是Weber常數(shù))- 感覺量的增加落后于物理量的增加,適用于中等強(qiáng)度的刺激.
ΔI—JND (Just Noticeable Difference)
Fechner定律
- 心理量是刺激量的對(duì)數(shù)函數(shù),即當(dāng)刺激弱度以幾何級(jí)數(shù)增加時(shí),感覺的強(qiáng)度以算術(shù)級(jí)數(shù)增加:
(其中,Fechner定律S是感覺強(qiáng)度,I是刺激強(qiáng)度,k是常數(shù))- 這個(gè)定律說明了人的一切感覺,包括視覺、聽覺、膚覺(含痛、癢、觸、溫度)、味覺、嗅覺、電擊覺等等,都遵從感覺不是與對(duì)應(yīng)物理量的強(qiáng)度成正比,而是與對(duì)應(yīng)物理量的的強(qiáng)度的常用對(duì)數(shù)成正比的。
Watson模型
- Watson提出了一個(gè)測(cè)量視覺保真度模型,估計(jì)了原圖像和目標(biāo)圖像之間的JND值。
- 基本原理:根據(jù)圖像塊的DCT系數(shù)估計(jì)變化的感知性,然后將這些估計(jì)合并成對(duì)感知距離的單個(gè)估計(jì)。
- 過程:1)頻率敏感性;2)亮度敏感性;3)對(duì)比度敏感性;4)合并,計(jì)算總的感知距離
聽覺感知
- 聽覺感受到的刺激是:能量、頻率。遵從Fechner定律。
- 掩蔽效應(yīng):頻域掩蔽、時(shí)域掩蔽
- 頻域掩蔽閾值:人耳能感知的最低頻率成分的聲壓級(jí)。
- 絕對(duì)聽覺閾值:安靜環(huán)境中,能被人耳感知的純音最小值。
通信隱寫模型
通信系統(tǒng)模型
隱寫術(shù)安全模型
隱寫術(shù)安全模型
數(shù)字水印空間模型
數(shù)字水印空間模型
典型隱寫模型
典型隱寫模型
- 評(píng)價(jià)隱寫術(shù)的標(biāo)準(zhǔn)核心標(biāo)準(zhǔn):隱蔽程度隱蔽程度越高,直接導(dǎo)致檢測(cè)有效信息越困難
- 其他標(biāo)準(zhǔn):隱寫算法的好壞、隱寫手段的復(fù)雜度、提取信息的難易度
隱寫術(shù)分類
隱寫術(shù)分類
CTF隱寫術(shù)現(xiàn)狀
CTF隱寫術(shù)現(xiàn)狀
LSB隱寫介紹
一種常見的方式是利用LSB來進(jìn)行隱寫,LSB也就是最低有效位 (Least Significant Bit)。原理就是圖片中的像數(shù)一般是由三種顏色組成,即三原色,由這三種原色可以組成其他各種顏色,例如在PNG圖片的儲(chǔ)存中,每個(gè)顏色會(huì)有8bit,LSB隱寫就是修改了像數(shù)中的最低的1bit,在人眼看來是看不出來區(qū)別的,也把信息隱藏起來了。譬如我們想把’A’隱藏進(jìn)來的話,如下圖,就可以把A轉(zhuǎn)成16進(jìn)制的0x61再轉(zhuǎn)成二進(jìn)制的01100001,再修改為紅色通道的最低位為這些二進(jìn)制串。紅色通道最后一位被修改
每個(gè)通道都修改最后一位,修改8次就能隱藏一個(gè)ASCII碼
如果是要尋找這種LSB隱藏痕跡的話,Stegsolv.e是個(gè)神器,可以來輔助我們進(jìn)行分析。
注:jpg是有損壓縮,無法LSB隱藏信息;png雖有壓縮卻是無損的,bmp沒有被壓縮,這兩者都可用LSB隱藏信息。
0x10 工具介紹
- binwalk
Binwalk是一個(gè)固件的分析工具,多用于逆向工程、取證、隱寫分析。 更多...
$ binwalk firmware.bin //最簡(jiǎn)單的操作
$ binwalk --enable-plugin=zlib firmware.bin //有些簽名無法識(shí)別,利用zlib插件掃描zlib壓縮包可識(shí)別
$ binwalk -y filesystem firmware.bin //指定字符串“filesystem”搜索(正則),-Y 輸出結(jié)果只包含文本字符串
$ binwalk -x filename firmware.bin //排除搜索結(jié)果中指定'filename'字符串(正則)
$ binwalk -y filesystem -x jffs2 firmware.bin //輸出既包含'filesystem'又排除'jffs2'的字符串
$ binwalk --dd='zip archive:zip:unzip %e' firmware.bin //<type>:<extension>[:<command>]. type 是簽名中描述的小寫字符串(支持正則表達(dá)式);extension 是將數(shù)據(jù)保存到磁盤時(shí)使用的文件擴(kuò)展名;command 是當(dāng)數(shù)據(jù)已保存到磁盤后可選的命令執(zhí)行語句
$ binwalk -e firmware.bin //自動(dòng)提取
$ binwalk --extract=./my_extract.conf firmware.bin //自定義提取規(guī)則'my_extract.conf'
$ binwalk -Me firmware.bin //遞歸提取(8層)
$ binwalk -A firmware.bin //掃描與功能相關(guān)聯(lián)的各種框架操作碼
$ binwalk -W firmware1.bin firmware2.bin firmware3.bin //比較, 在文件當(dāng)中相同字節(jié)的是綠色顯示,不同的是紅色顯示,藍(lán)色表示只是有些文件當(dāng)中的不同部分
$ binwalk -S firmware.bin //字符串搜索
$ binwalk -E firmware.bin //熵分析
$ binwalk -AE firmware.bin //簽名或字符串以及熵分析
$ binwalk --heuristic firmware.bin //啟發(fā)式掃描, 加密或壓縮的高熵的數(shù)據(jù)塊進(jìn)行分類
$ binwalk --list-plugins //插件列表
$ binwalk --enable-plugin=foo firmware.bin //啟用插件掃描
$ binwalk --disable-plugin=foo firmware.bin //禁用插件掃描
$ binwalk -f binwalk.log firmware.bin //日志記錄功能
$ sudo binwalk -u //升級(jí)binwalk
- WinHex
Winhex是在Windows下執(zhí)行的十六進(jìn)制編輯軟件,此軟件功能很強(qiáng)大,有完好的分區(qū)管理功能和文件管理功能。能自己主動(dòng)分析分區(qū)鏈和文件簇鏈。在CTF中一般用來查看文件頭格式、直接修改16進(jìn)制數(shù)據(jù),等等。更多...
- 010 Editor
010 Editor是一款非常強(qiáng)大的文本/十六進(jìn)制編輯器,除了文本/十六進(jìn)制編輯外,還包括文件解析、計(jì)算器、文件比較等功能,但它真正的強(qiáng)大之處還在于文件的解析功能。我們可以使用010Editor官方網(wǎng)站提供的解析腳本(Binary Template)對(duì)avi、bmp、png、exe等簡(jiǎn)單格式的文件進(jìn)行解析,當(dāng)然也可以根據(jù)需求來自己編寫文件解析腳本。
- Stegsolve
Stegsolve是一款圖片分析工具,具體功能如下:
功能
- Stegdetect
stegdetect是一種數(shù)字圖像隱寫分析工具,主要實(shí)現(xiàn)JPEG圖像的隱秘信息的嵌入的檢測(cè)。更多...
功能:
q – 僅顯示可能包含隱藏內(nèi)容的圖像
n – 啟用檢查JPEG文件頭功能,以降低誤報(bào)率。如果啟用,所有帶有批注區(qū)域的文件將被視為沒有被嵌入信息。
如果JPEG文件的JFIF標(biāo)識(shí)符中的版本號(hào)不是1.1,則禁用OutGuess檢測(cè)。
s – 修改檢測(cè)算法的敏感度,該值的默認(rèn)值為1。檢測(cè)結(jié)果的匹配度與檢測(cè)算法的敏感度成正比,
算法敏感度的值越大,檢測(cè)出的可疑文件包含敏感信息的可能性越大。
d – 打印帶行號(hào)的調(diào)試信息。
t – 設(shè)置要檢測(cè)哪些隱寫工具(默認(rèn)檢測(cè)jopi),可設(shè)置的選項(xiàng)如下:
j – 檢測(cè)圖像中的信息是否是用jsteg嵌入的。
o – 檢測(cè)圖像中的信息是否是用outguess嵌入的。
p – 檢測(cè)圖像中的信息是否是用jphide嵌入的。
i – 檢測(cè)圖像中的信息是否是用invisible secrets嵌入的。
- ffmpeg
ffmpeg作為媒體文件處理軟件,基本用法:
ffmpeg -i INPUTfile [OPTIONS] OUTPUTfile
輸入輸出文件通常就是待處理的多媒體文件了??梢允羌兇獾囊纛l文件,純粹的視頻文件,或者混合的。ffmpeg支持絕大部分的常見音頻,視頻格式,像常見的mpeg,AVI封裝的DIVX和Xvid等等,具體的格式支持列表可以使用ffmpeg -formats查看或直接查閱文檔。更多...
- MSU Stego
用于對(duì) AVI 文件進(jìn)行隱寫\提取操作. 官方介紹如下:
MSU StegoVideo allows hiding any file in a video sequence.Different popular codecs were analyzed and an algorithm, providing the smallest data loss after compression, was chosen. Convolutional codes with Viterbi decoding are used to correct occurred errors. 更多...
Main features
Small video distortions after hiding info.
It is possible to extract info after video compression.
Information is protected with passcode.
- QR Reader
二維碼掃描工具可自定義參數(shù),可以自動(dòng)識(shí)別二維碼反色,自動(dòng)識(shí)別電腦屏幕二維碼,識(shí)別率比手機(jī)掃碼高,非常強(qiáng)大。
- MP3Stego
用于對(duì) MP3 音頻文件進(jìn)行隱寫、提取等操作。更多...
用法:
encode -E hidden_text.txt -P pass svega.wav svega_stego.mp3
decode -X -P pass svega_stego.mp3
二、文本格式
0x01 文件格式概述
- 文本格式:.pdf、.txt、.doc、.docx
- 圖像格式:.png、.jpg、.bmp、.gif
- 音頻格式:.mp3、.wma、.wav
- 視頻格式:.mp4、.rmvb、.avi、.flv
0x10 格式協(xié)議分析
- pdf文件格式 更多...
數(shù)據(jù)類型
- 對(duì)象, 一個(gè)PDF文檔是由一個(gè)由基本數(shù)據(jù)類型組成的數(shù)據(jù)結(jié)構(gòu)。
- 文件(物理結(jié)構(gòu)), 決定對(duì)象是如何存放在一個(gè)PDF文件中的, 它們是如何被訪問的,如何被更新的。這個(gè)結(jié)構(gòu)是獨(dú)立于對(duì)象的語義的。
- 文檔結(jié)構(gòu), 說明一些基本的對(duì)象類型是如何來表現(xiàn)PDF文檔的成分的:頁,字體,批注,和另外一些內(nèi)容。
內(nèi)容流.一個(gè)PDF文件內(nèi)容流包含一系列的指令,描述頁面的外觀或其他圖形實(shí)體的外觀和文件內(nèi)容。
pdf文件結(jié)構(gòu)
數(shù)據(jù)流讀寫過程
持續(xù)更新中...















