數據隱藏技術解密算法
破解多媒體、操做系統、移動設備和網絡協議中的隱祕數據shell
決心天天花點時間,一個星期看完整本書。起初,有本身親身驗證課本中所涉及全部實例,因爲時間緣由,加之我認爲課本中涉及到的工具都是會過期的,只有思想以及方法技術是能夠較長時間指導人們工做的,就來思想和技術都有可能會被替代,但在某種意義上說其能夠在較長一段時間內產生異響。人的精力和時間都是有限的,所以對本書我選擇通讀全文,中間基本不加實踐,主要是體會其思想和技術要點。windows
看書過程當中給了我這樣一個感受,基本上全書都在討論工具的使用,這有時候讓我感受有點枯燥乏味,但回頭看看,技術不就是這樣麼,孰能生巧。同時也倍感壓力,這樣的性質就註定了咱們沒法偷懶,若哪天你跟不上了,那麼你將會被新的技術淘汰掉,不過我認爲其思想和經驗仍是能夠在很長一段時間內指導工做的。瀏覽器
接下來主要對本書進行一個總結,也就算是我看完了吧。本書難度不是很大,原理也較爲淺顯易懂,主要是工具使用的實踐。通讀全書,從淺層面上了解了"數據隱藏"是什麼,以及通常的手段。也算是科普了相關的知識。 緩存
全書總共12章。由密寫術的發展史引入,其中給出了隱寫術的概念,而且對隱寫術和密碼學作了簡要的評析、比較、區分。第2章給出4則簡單練習,不涉及原理分析,應該主要是給讀者一個視覺上的認識。第3章對隱寫術作了較爲全面的介紹。4到9章分別介紹了多種數據隱藏方法與媒介,內容主要包括:多媒體中的數據隱藏、Android移動設備中的數據隱藏、蘋果IOS系統中數據隱藏、PC操做系統中的數據隱藏、虛擬機中的數據隱藏、網絡協議中的數據隱藏。第10章介紹了取證與反取證的基礎知識。第11章討論了取證調查的步驟以及緩解策略。第12是展望將來,主要討論了隱寫術在將來的一個發展軌跡。安全
p1大衛l卡恩的《破解者》(The Codebreaker)一書能夠說是迄今爲止對祕密通訊記載最全面的歷史書籍。服務器
密碼學:網絡
替換密碼:凱撒密碼、加密無線電消息和摩斯電碼、維吉尼亞密碼。ide
移位密碼:斯巴達密碼棒工具
區別:替換,保留明文排序而替換了原有明文信息;移位密碼,僅僅是打亂了次序。
隱寫術語密碼學的區分:
希臘單詞:crypt 和 stegnos
英文單詞:covered和 hidden
隱寫術中信息是不可見的,因此叫隱蔽(covered)或隱藏書寫(invisible writing)。
問本身一個問題:消息是雜亂的仍是不可見的?雜亂——密碼學,不可見——隱寫術。
隱寫術:
卡爾達諾柵格碼、隱形墨水、縮影術、打印機跟蹤點、水印。
不少文檔、圖像、多媒體文檔等在生成時會加入一些我的信息,若不加處理就在網上進行傳播,極可能會泄露我的隱私,所以應該提升安全警戒。
真正的隱寫術:使用複雜算法將信息隱藏到數據載體中。
在數字隱寫術中,人們一般會使用某種程序將消息或文件嵌入到一個載體文件中,而後把這個載體文件直接傳給接收者或者發佈到網站上供接收者下載。接收者獲取載體文件後,再用一樣的程序把隱藏的消息或文件恢復。有些隱藏程序會使用密碼來保護隱藏消息,還有些程序隱藏程序用密碼保護隱藏消息,有些還加入了密碼隱藏保護。
數字信息的隱藏方法有不少,主要分爲兩大類:
插入方法:
修改方法:
最經常使用的隱寫修改方法是修改文中一個或者多個字節的最低有效位,基本上就是把0改爲1,或者把1改爲0。這樣修改後生成的圖像就有渲染效果,把這些比特位重組還原後才能夠看到原始的隱藏消息,而人們僅靠視覺或聽覺是不可能發現這些改動的。
例如,LSB(最低有效位)修改法:利用24位調色板。調色板中有紅、綠、藍三原色組成,一個原色由8位二進制位表示,即265個色調,三原色混合能夠指定24位圖像中的每一個像素點,如題3.5。而這個是咱們修改每一個字節分組的最低位,圖片在顯示時的區別,肉眼是沒法辨別的,進而能夠達到隱藏數據的目的。如圖3.6和3.7,修改後的每八個字節組的最後一位能夠構成一個字節,表示一個ASCII碼,這是隱藏的數據。相似的原理還可應用在協議通訊隱藏數據、文檔信息隱藏等地方。
隱寫分析:
數字隱寫分析就是經過隱寫技術或軟件對隱藏的數據進行檢測和取證的過程,可能的話,還會提取出被隱藏的載荷。若是被隱藏的載荷是加過密的,那麼隱寫分析就要對其進行破解。
值得注意的是,使用工具進行隱藏的載體文件都會留下一些與軟件有關的特徵,咱們能夠將這些特徵提取出來並構成特徵庫,進而能夠成文檢測隱寫信息的一個突破口。
這裏主要會採用如下兩個手段:
免費軟件:StegSpy,Stegdetect。
簡單音頻文件嵌入技術(不可感知的方法)——LSB:
Harry Nyquist 博士早日的研究成果是最經常使用的音頻數字化方法的理論依據。20世紀20年代Harry Nyquist 博士在貝爾實驗室(Bell Lab)工做,他認爲音頻文件數字化根本沒有必要抓取整個模擬波形,只須要對模擬信號進行取樣並保存一些樣本,而後用這些樣原本重建原始的音頻信號。
工具:MSU Stego、TCStego
3款軟件爲表明:
暗鼠行動應用了不少技術,但主要是用包含惡意代碼的釣魚郵件攻擊Windows系統。
Windows中的數據隱藏:
>notepad mike.txt
>dir
>notepad mike.txt:mikehidden.txt
>dir
>notepad mike.txt:mikehidden2.txt // 同一文件可建立的交換數據流不止一個
>dir
> echo mike > mike.txt
> echo mike > COM1.txt
> mkdir COM1
>dir
> echo mike > \\?\c:\sandbox\NUL //將"\\?\"選項和保留設備名組合在一塊兒建立一個名爲NUL的文件。
>dir
>more NUL // 這裏將會提示 Cannot access file \\.\NUL
但熟悉該技術的人仍是能夠經過在命令中加入"\\?\"來讀取到文件內容
>more \\?\c:\sandbox\NUL
使用cmd.exe綁定到CON文件中,以建立隱蔽交換數據流:
>type cmd.exe > \\?\c:\sandbox\CON:hiddencmd.exe
>wmic process call create
Linux中的數據隱藏
VoIP中的數據隱藏:IP語音(voice over internet protocol,VoIP)。應用廣、產生大量的小數據包、豐富的數據包類型、編碼器和編碼方法,爲數據隱藏提供了良好的條件。隱藏的步驟:(1)將祕密消息分割成的小數據塊嵌入到RTP有效載荷的報文頭中。由於多數RTP有效負荷類型都有內置的報文頭,其中包含了有效載荷的配置信息。所以,能夠在其中嵌入少許字節。(2)將祕密消息轉換成比特流,而後用每位依次替換RTP有效負荷數據編碼中的最低有效位。
下面三幅圖講明原理。其中RTP延遲包修改法是故意讓包不可達。
IP層數據隱藏,TTL字段:網絡路由十分智能,大多數報文從源地址到達目的地址一般只需通過幾跳。雖然尚無針對典型IP報文路由跳數的確切統計數據,但據做者所知,美國本土的網絡流量中平均報文跳數爲8~15,比TTL容許的最大值255小得多,所以除非目標不可達,不然在報文到達目的地前幾乎不可能耗盡生存時間(TTL)。因此咱們能夠用TTL值的前兩位來隱藏數據,而不會影響報文傳輸。
反取證——隱藏痕跡:(1)經過對比隱藏數據的圖片和原載體文件是能夠發現不一樣的,所以強烈建議嵌入操做完成後將原始載體文件刪除。還要在進行數據隱藏操做的計算機上清除數據隱藏程序的痕跡。別忘了清理垃圾箱和鬆散空間。最好選擇定製的數碼照片而不是普通照片做爲載體,由於普通照片可能會從網上搜索到原始載體進行對比。(2)數據隱藏密碼:1)不要使用操做系統的密碼,在網頁瀏覽器中存儲的密碼或網絡設備使用的密碼。2)密碼應包含大小寫字母、數字和特殊字符的組合。3)若是要把密碼保存在某個地方,最好使用Bruce Scheier 的 PasswordSafe(http://passwordsafe.sourceforge.net/)。(3)隱藏痕跡,在windows中可使用cleanmgr工具來清理系統,使其不會殘留數據隱藏軟件的任何痕跡。
取證:
檢查能夠系統中是否包含數據隱藏軟件的方法不少,主要包括:
通常都使用現成的工具進行。