數據隱藏技術解密

數據隱藏技術解密算法

破解多媒體、操做系統、移動設備和網絡協議中的隱祕數據shell

 

概述

決心天天花點時間,一個星期看完整本書。起初,有本身親身驗證課本中所涉及全部實例,因爲時間緣由,加之我認爲課本中涉及到的工具都是會過期的,只有思想以及方法技術是能夠較長時間指導人們工做的,就來思想和技術都有可能會被替代,但在某種意義上說其能夠在較長一段時間內產生異響。人的精力和時間都是有限的,所以對本書我選擇通讀全文,中間基本不加實踐,主要是體會其思想和技術要點。windows

看書過程當中給了我這樣一個感受,基本上全書都在討論工具的使用,這有時候讓我感受有點枯燥乏味,但回頭看看,技術不就是這樣麼,孰能生巧。同時也倍感壓力,這樣的性質就註定了咱們沒法偷懶,若哪天你跟不上了,那麼你將會被新的技術淘汰掉,不過我認爲其思想和經驗仍是能夠在很長一段時間內指導工做的。瀏覽器

 

接下來主要對本書進行一個總結,也就算是我看完了吧。本書難度不是很大,原理也較爲淺顯易懂,主要是工具使用的實踐。通讀全書,從淺層面上了解了"數據隱藏"是什麼,以及通常的手段。也算是科普了相關的知識。 緩存

 

全書總共12章。由密寫術的發展史引入,其中給出了隱寫術的概念,而且對隱寫術和密碼學作了簡要的評析、比較、區分。第2章給出4則簡單練習,不涉及原理分析,應該主要是給讀者一個視覺上的認識。第3章對隱寫術作了較爲全面的介紹。4到9章分別介紹了多種數據隱藏方法與媒介,內容主要包括:多媒體中的數據隱藏、Android移動設備中的數據隱藏、蘋果IOS系統中數據隱藏、PC操做系統中的數據隱藏、虛擬機中的數據隱藏、網絡協議中的數據隱藏。第10章介紹了取證與反取證的基礎知識。第11章討論了取證調查的步驟以及緩解策略。第12是展望將來,主要討論了隱寫術在將來的一個發展軌跡。安全

  1. 密寫術的發展

p1大衛l卡恩的《破解者》(The Codebreaker)一書能夠說是迄今爲止對祕密通訊記載最全面的歷史書籍。服務器

 

密碼學:網絡

替換密碼:凱撒密碼、加密無線電消息和摩斯電碼、維吉尼亞密碼。ide

移位密碼:斯巴達密碼棒工具

區別:替換,保留明文排序而替換了原有明文信息;移位密碼,僅僅是打亂了次序。

 

隱寫術語密碼學的區分:

希臘單詞:crypt 和 stegnos

    英文單詞:covered和 hidden

    隱寫術中信息是不可見的,因此叫隱蔽(covered)或隱藏書寫(invisible writing)。

    問本身一個問題:消息是雜亂的仍是不可見的?雜亂——密碼學,不可見——隱寫術。

 

隱寫術:

    卡爾達諾柵格碼、隱形墨水、縮影術、打印機跟蹤點、水印。

 

  1. 數據隱藏簡單聯繫4則    

  • Word中的數據隱藏:利用字體中的"Hide Text",默認狀況下打印時會打印出來。識別:"Inspect Document"
  • 圖像元數據:圖像中會帶有不少我的信息,好比GPS定位,使用Google的Picasa能夠定位主一張圖片的位置。不少工具可查看和修改圖像中的元數據,尤爲是JPEG,進而能夠對圖像進行分析,或向其中隱藏數據。
  • 移動設備數據隱藏:Android市場的"Hide it Pro"工具,能夠用他來隱藏多媒體文件。
  • 文件壓縮工具數據隱藏。

 

不少文檔、圖像、多媒體文檔等在生成時會加入一些我的信息,若不加處理就在網上進行傳播,極可能會泄露我的隱私,所以應該提升安全警戒。

 

真正的隱寫術:使用複雜算法將信息隱藏到數據載體中。

 

  1. 隱寫術

在數字隱寫術中,人們一般會使用某種程序將消息或文件嵌入到一個載體文件中,而後把這個載體文件直接傳給接收者或者發佈到網站上供接收者下載。接收者獲取載體文件後,再用一樣的程序把隱藏的消息或文件恢復。有些隱藏程序會使用密碼來保護隱藏消息,還有些程序隱藏程序用密碼保護隱藏消息,有些還加入了密碼隱藏保護。

 

數字信息的隱藏方法有不少,主要分爲兩大類:

  • 插入:經過插入方法隱藏消息會插入一些額外內容,但不改變原始數據,除了被隱藏的消息外,還有文件製做工具的標識,這個標記記錄了隱寫程序處理隱藏載荷的地點。這種方法一般會利用文件格式中的空白部分。
  • 替換:經過替換方法隱藏數據一般會改變消息中對的字節或者交換字節順序。它不會在載體文件中增長任何新的內容,而是經過修改字節或者調整字節位置讓人們看不到或者聽不到文件內容。例如LSB(Least Significant Bit,最低有效位)替換方法,就是使用隱寫程序修改文件中每一個字節的最低有效位(1變爲0,0變爲1)。

 

插入方法:

  • 追加插入法:在文件末尾追加插入額外的內容,這是最爲簡單的方式,而且不會破壞文件。例如,JPEG文件,正常狀況下文件尾有一個標記"0xFF 0Xd9"的文件結束符(EOI),在EOI後加入額外的數據,而顯示時不會顯示EOI以後的數據,這樣就能夠達到隱藏數據的目的。
  • 前置插入法:任何文件能夠插入批註內容的文件均可以被插入數據,而絲絕不影響視覺效果。例如,能夠在JPEG的應用程序標識符0xFF 0xE0 和幀起始符0xFF 0xC0之間插入和修改的數據。

 

修改方法:

最經常使用的隱寫修改方法是修改文中一個或者多個字節的最低有效位,基本上就是把0改爲1,或者把1改爲0。這樣修改後生成的圖像就有渲染效果,把這些比特位重組還原後才能夠看到原始的隱藏消息,而人們僅靠視覺或聽覺是不可能發現這些改動的。

例如,LSB(最低有效位)修改法:利用24位調色板。調色板中有紅、綠、藍三原色組成,一個原色由8位二進制位表示,即265個色調,三原色混合能夠指定24位圖像中的每一個像素點,如題3.5。而這個是咱們修改每一個字節分組的最低位,圖片在顯示時的區別,肉眼是沒法辨別的,進而能夠達到隱藏數據的目的。如圖3.6和3.7,修改後的每八個字節組的最後一位能夠構成一個字節,表示一個ASCII碼,這是隱藏的數據。相似的原理還可應用在協議通訊隱藏數據、文檔信息隱藏等地方。

 

隱寫分析:

數字隱寫分析就是經過隱寫技術或軟件對隱藏的數據進行檢測和取證的過程,可能的話,還會提取出被隱藏的載荷。若是被隱藏的載荷是加過密的,那麼隱寫分析就要對其進行破解。

值得注意的是,使用工具進行隱藏的載體文件都會留下一些與軟件有關的特徵,咱們能夠將這些特徵提取出來並構成特徵庫,進而能夠成文檢測隱寫信息的一個突破口。

這裏主要會採用如下兩個手段:

  • 異常分析:異常分析會用到檢測類似文件的對比技術,若是沒有文件能夠用於對照,還會採用一些分析技術來發現文件的其餘異常特徵。
  • 隱寫分析工具:這些工具具備相同的工做原理:首先檢測文件的某些信息,根據判斷其中包含隱藏內容的,就標記爲可疑文件。而後,將可疑文件寄存起來以便後續進行深度分析;第二步分析環節能夠是半自動半手工的,大多數先進的工具都容許人工查看數據進而分析發現異常特徵。

免費軟件:StegSpy,Stegdetect。

 

  1. 多媒體中的數據隱藏

簡單音頻文件嵌入技術(不可感知的方法)——LSB:

Harry Nyquist 博士早日的研究成果是最經常使用的音頻數字化方法的理論依據。20世紀20年代Harry Nyquist 博士在貝爾實驗室(Bell Lab)工做,他認爲音頻文件數字化根本沒有必要抓取整個模擬波形,只須要對模擬信號進行取樣並保存一些樣本,而後用這些樣原本重建原始的音頻信號。

 

工具:MSU Stego、TCStego

  1. Android移動設備中的數據隱藏

3款軟件爲表明:

  • ImgHid and Reveal:能夠把一張圖片嵌入到另外一張圖片中,主要針對JPEG。處理後的圖像尺寸顯著變小、隱藏圖片的大小也改變了。使用的技術原理:數據追加法,在FF D9 後追加,工具對追加的數據添加了相同的起止符,這樣的標記也暴露了隱藏信息所採用的工具自己。
  • My Secret:能夠用來建立或讀取祕密圖像,只能在圖像中隱藏文本。結束符"FF D9"是正常的,可是嵌入數據後的圖像末尾的結束符卻不一樣,並且其中多餘的數據大小和以前被隱藏的緊急廣播通知消息的大小是同樣的。
  • StegDroid:能夠建立短文本信息、共享,並將其嵌入到音頻片斷中發送出去。採用"回聲隱寫(echo steganography)",顧名思義,就是嵌入一些回聲,好比錄音時,那些遇到牆、窗戶、桌子、電腦顯示器、鍵盤等被反射回來的聲音,這些回聲一般會被咱們的聽覺系統和大腦忽略掉。根據2009年Jenkins和Martina的實驗,用回聲隱寫方法嵌入數據,在大多狀況下都是沒法感知到閾值的。此外,回聲隱寫還有幾個優於其餘壓縮式音頻所以技術的特色:一、除了讓人沒法感知以外,還能抵抗隱寫檢測和堵塞;二、不會像MP3壓縮方法那樣致使數據丟失;三、效率雖然比LSB低,但它比其餘的壓縮數據隱藏的效率高的多。

 

  1. 蘋果系統中的數據隱藏

  • Spy Pix:Spy Pix能夠把一張照片嵌入到另外一張照片中,還能夠選擇嵌入後的質量等級。數據隱藏操做會同時下降載體和被隱藏圖像(有效載荷)的質量,但都不容易被檢測到。工做原理很簡單,就是將兩張圖片疊加,把隱藏圖像的最高有效位隱藏到載體圖像的最低有效位。根據你選擇的被隱藏圖像的保留位數,隱藏後的圖像質量不一樣,保留的越多,質量就越差。

  • StegoSec:支持從相冊中選擇已有的照片或直接拍攝照片,在JPEG文件中嵌入了隱藏信息。文本信息被嵌入EXIF JPEG文件頭部。
  • InvisiLetter:便可進行數據嵌入或從圖像中提取隱藏圖像。與前面分析過的工具略有不一樣,由於嵌入手寫信息後,最終生成的圖像是PNG格式的。對比照片發現,嵌入的數據越多,圖像的色調就越低,這代表數據是直接嵌入到圖像的RGB值中的。

 

  1. PC操做系統中的數據隱藏

暗鼠行動應用了不少技術,但主要是用包含惡意代碼的釣魚郵件攻擊Windows系統。

  1. 攻擊者發送電子郵件給目標組織中的指定人員(釣魚)
  2. 電子郵件中含有看似合法的Excel通訊附件。
  3. 用戶下載Excel附件,打開Excel文件時,在絕不知情的狀況下,木馬被釋放並保存到用戶的計算機上。
  4. 木馬訪問一個看似正常的網站,獲取最新的CnC(command-and-control,命令和控制)信息。
  5. 木馬並非從網站中直接獲取CnC信息,而是下載圖像文件,這個圖像文件中含有用隱寫技術嵌入的命令。
  6. 木馬解析這些命令後獲得當前CnC服務器的相關信息(IP地址和端口號等)。
  7. 木馬經過解析到的IP地址和端口主動鏈接CnC服務器,這樣攻擊者就能夠經過遠程shell來控制這臺被感染的計算機。

 

Windows中的數據隱藏:

  • 交換數據流(Alternate Data Steams,ADS):是windows中一個簡單有效的隱藏載體文件渠道。對於普通檢查人員來講,查看當前目錄內容時,除了一些正常文件外看不到任何特殊信息。除非使用很是規方法檢查,不然沒法發現交換數據流中隱藏的文件。須要特別注意的是,默認狀況下,大多數防病毒軟件在檢查病毒、木馬和其餘惡意代碼時,並不會掃描Windows的交換數據流,由於這樣會使掃描速度比平均下降90%。
  1. dos命令:

    >notepad mike.txt

    >dir

    >notepad mike.txt:mikehidden.txt

    >dir

    >notepad mike.txt:mikehidden2.txt        //    同一文件可建立的交換數據流不止一個

    >dir

  • 隱蔽交換數據流:隱蔽交換數據流還有一個更隱蔽的方式,就是將交換數據流綁定到一個保留設備名中,這樣就算使用工具(好比LDS或streams.exe)也沒法檢測到交換數據流。Windows中有不少這樣的保留設備名,MSDN中還特別列了出來:CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8和LPT9。
  1. dos命令:

    > 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中的數據隱藏

  • Linux文件欺騙:在Linux中隱藏文件和目錄的初級方法。在文件名前加上" . "符號便可在目錄中隱藏該文件。盡在執行" ls "命令的時候看不見,用" ls –al " 查看,就原形畢露了。
  • 擴展文件系統中的數據隱藏:每一個文件或目錄都由一個索引節點表明,索引節點中包含的信息由:文件類型、訪問權限、文件全部者、時間戳、文件大小和數據塊指針。在擴展文件系統中,刪除文件時,文件系統知識取消了文件名與索引節點間的關聯,並不會刪除文件文件的數據,除非文件系統須要爲新文件分配空間而把刪除的文件數據覆寫。
  • TrueCrypt:用於創建和維護空中加密的卷(數據存儲設備)。空中加密:在不須要任何人工干預的狀況下,數據能夠在保存前自動加密,並在加載後自動解密,若是沒有正確的密碼(註冊文件)或者加密密鑰,咱們是沒法讀取(解密)存儲在加密卷中的數據的。TrueCrypt能夠建立"隱藏"卷,功能比較強大。
  1. 虛擬機中的數據隱藏

  • MojoPac能夠在U盤上創建虛擬機環境,把U盤插入到其餘計算機後,其中的虛擬環境仍能正常運行,這樣你就能夠帶着本身專有的windows xp 環境,在不一樣計算機之間隨意使用。
  • 要隱藏數據較大時,人們通常會選擇多媒體文檔爲媒介。虛擬機的體積很大,也能夠隱藏大量數據。可是,與靜態多媒體文件不一樣,虛擬機在使用過程當中,大小老是動態變化的。這樣就能夠躲過數據有效工具(主要目的是識別對文件的非法修改)的檢查了。總之,要想在虛擬機中隱藏數據,咱們必須先了解虛擬機的組織結構。利用VMware文件能夠進行信息隱藏。
  1. 網絡協議中的數據隱藏

  • 根據握手過程,能夠將:序列號 = ASCII碼 * K,K爲常數,這樣就能夠隱藏ASCII碼,在接收端,若知道K,則能夠恢復ASCII碼,從而獲取隱藏信息。

 

VoIP中的數據隱藏:IP語音(voice over internet protocol,VoIP)。應用廣、產生大量的小數據包、豐富的數據包類型、編碼器和編碼方法,爲數據隱藏提供了良好的條件。隱藏的步驟:(1)將祕密消息分割成的小數據塊嵌入到RTP有效載荷的報文頭中。由於多數RTP有效負荷類型都有內置的報文頭,其中包含了有效載荷的配置信息。所以,能夠在其中嵌入少許字節。(2)將祕密消息轉換成比特流,而後用每位依次替換RTP有效負荷數據編碼中的最低有效位。

下面三幅圖講明原理。其中RTP延遲包修改法是故意讓包不可達。

 

IP層數據隱藏,TTL字段:網絡路由十分智能,大多數報文從源地址到達目的地址一般只需通過幾跳。雖然尚無針對典型IP報文路由跳數的確切統計數據,但據做者所知,美國本土的網絡流量中平均報文跳數爲8~15,比TTL容許的最大值255小得多,所以除非目標不可達,不然在報文到達目的地前幾乎不可能耗盡生存時間(TTL)。因此咱們能夠用TTL值的前兩位來隱藏數據,而不會影響報文傳輸。

  1. 取證與反取證

反取證——隱藏痕跡:(1)經過對比隱藏數據的圖片和原載體文件是能夠發現不一樣的,所以強烈建議嵌入操做完成後將原始載體文件刪除。還要在進行數據隱藏操做的計算機上清除數據隱藏程序的痕跡。別忘了清理垃圾箱和鬆散空間。最好選擇定製的數碼照片而不是普通照片做爲載體,由於普通照片可能會從網上搜索到原始載體進行對比。(2)數據隱藏密碼:1)不要使用操做系統的密碼,在網頁瀏覽器中存儲的密碼或網絡設備使用的密碼。2)密碼應包含大小寫字母、數字和特殊字符的組合。3)若是要把密碼保存在某個地方,最好使用Bruce Scheier 的 PasswordSafe(http://passwordsafe.sourceforge.net/)。(3)隱藏痕跡,在windows中可使用cleanmgr工具來清理系統,使其不會殘留數據隱藏軟件的任何痕跡。

 

取證:

檢查能夠系統中是否包含數據隱藏軟件的方法不少,主要包括:

  • 檢測仍然存在於能夠計算機中的數據隱藏軟件。
  • 網站頁面緩存,查找可能提供數據隱藏軟件下載的網頁。
  • 圖像緩存,查找使用並可能下載數據隱藏軟件的線索。
  • 殘留的人工痕跡,代表系統可能安裝或運行過數據隱藏軟件。
    • 註冊表
    • 軟件卸載後殘留文件
    • "Thumb"文件(圖像縮略圖緩存文件)

通常都使用現成的工具進行。

 

  1. 緩解策略

相關文章
相關標籤/搜索