目錄
一、延遲包修改方法
1.1、資料隐藏方法:
1.2、利用:
1.3、優點:
二、IP 層資料隐藏, TTL 字段
2.1、概述:
2.2、TTL字段:
分析可行性:
利用:
2.3、TTL字段隐藏資料:
示例
過程:
2.4、總結:
三、協定中的資料隐藏分析
3.1、概述:
3.2、Wireshark
簡介:
下載下傳(官網):
使用:
一、延遲包修改方法
1.1、資料隐藏方法:
這個方法充分利用了RTP包作為核心元素偶爾會發生延時、失序或者丢失的特性。1.2、利用:
(1)在發送資料流之前先系統地從資料流提取出特定資料包,故意讓這些資料包不能按時發送到接收方。
(2)接收資料包的應用程式, 不管是VoIP還是音頻播放器, 都會自動填充這些空白, 以補充延時的資料包。
RTP延遲包修改方法![]()
(8.3)【網絡協定中的資料隐藏】延遲包修改、協定中的資料隐藏 1.3、優點:
因為大多數RTP封包都隻包含幾微秒的語音, 聽語音對話甚至音樂流時很難察覺到其中有填充内容。
一旦将封包從資料流中提取出來, 資料隐藏應用程式就會在整個有效載荷區域中嵌入隐藏消息片段, 然後再把封包放回到資料流中(但是會有幾秒鐘的延遲) 。資料包到達目的地時(已有明顯延遲), 接收應用程式就會丢棄這些資料包,并永不使用, 因為延遲而導緻的空白區域已經填充過了。然而,VoIP的偵聽應用程式會識别并提取延遲包, 進而恢複有效載荷, 重構其中的原始秘密資訊。
二、IP 層資料隐藏, TTL 字段
2.1、概述:
OSI模型的每層協定幾乎都有嵌入資料的可能
在這就選擇IP包路由的主力(IP層)作為研究對象,IP資料包是UDP和TCP封包的主要組成部分
從标準IP封包頭字段布局中, 可以看到IP封包頭定義了20個位元組,這20個位元組沒有可選值, 但都有各自的特殊用途
eg:指定源位址和目标位址、定義服務類型、校驗和或者下層協定。
還有個有趣的字段就是8 位(1個位元組) 的TTL(T ime to live, 存活時間) 字段。
IP協定![]()
(8.3)【網絡協定中的資料隐藏】延遲包修改、協定中的資料隐藏 2.2、TTL字段:
分析可行性:
因為IP是個很“盡最大努力” 的協定。也就是說,IP層會盡它的最大努力把封包發送到最終目的地, 是以就出現了所謂的封包生命周期機制,以便在封包無法送達目的地的情況下丢棄該封包。IP封包在路由器間穿梭, 不斷尋找到達目的地的路徑。它每經過一個路由器,TTL值就減1, 當TTL值變為0時, 就丢棄該封包。這個機制使IP封包不會持續循環傳輸, 進而造成網絡擁塞。
如今, 網絡路由十分智能, 大多數封包從源位址到達目的位址通常隻需經過幾跳。雖然尚無針對典型IP封包路由跳數的确切統計資料, 美國本土的網絡流量中平均封包跳數為8 ~ 15, 比TTL允許的最大值255小得多, 是以除非目标不可達, 否則在封包到達目的地前幾乎不可能耗盡生存時間(TTL)。
利用:
是以我們可以用TTL值的前兩位來隐藏資料, 而不會影響封包傳輸。嵌入資料的封包格式如下, 我們将所有封包的預設TTL值定為3F(十六進制), 即63跳, 剩餘的前兩位則用來嵌入隐藏資料。通過分割TTL字段來隐藏資料![]()
(8.3)【網絡協定中的資料隐藏】延遲包修改、協定中的資料隐藏 2.3、TTL字段隐藏資料:
示例
用在IP流中隐藏單詞“ HIDE”過程:
(1)将每個字元轉換成十六進制的ASCII碼值, 比如,H = 48。
(2)再轉換成二進制, 每2位分成一組, 這些兩位組将會分别嵌入到各個封包的TTL值的前兩位中。
(3)TTL值的低6位值預設為3F, 即xxllllll。其中xx将被替換為兩位組。替換完成後就形成了一個新的IP封包序列(共16個IP包), 然後就可以傳遞隐藏資訊"HIDE"了
TTL資料隐藏計劃的詳細資訊![]()
(8.3)【網絡協定中的資料隐藏】延遲包修改、協定中的資料隐藏 2.4、總結:
通過這種方法發送1MB的隐藏檔案可能會有些不可思議, 因為每個IP 封包隻能嵌入1/4 個位元組, 那麼要隐藏1MB 的資料就需要大約4百萬個封包。但是, 要知道流媒體傳輸過程需要大量的封包, 比如, 一小時的流媒體(音樂或視訊流)傳輸, 你知道其中會有多少個IP 封包嗎?
三、協定中的資料隐藏分析
3.1、概述:
如果從調查驗證的角度分析協定, 我們則需要使用網絡協定分析工具或嗅探器, Wireshark 就是個不錯的工具。如果你懷疑網絡協定中嵌入了資料, 那麼就可以用Wireshark 抓取兩個通信實體間的RTP 封包。然後, 通過分析封包載荷區域的頭部資訊就可以檢測到隐藏資訊。這種方法聽起來可能不太現實, 但實際上, Wireshark 還有很強大的搜尋和過濾功能, 而且封包頭格式是很規律的, 稍微花點功夫就可以檢測到可疑的封包。
如果要檢測延遲封包中的資料隐藏, 就需要先找到延遲封包的序列号, 将封包根據時間戳排序, 然後寫一個簡單的python 腳本來識别延遲超過幾秒的封包。如果你很熟悉SNORT 或其他入侵檢測工具, 可以采用一些政策和觸發條件來持續監控網絡通信, 進而發現異常行為。
3.2、Wireshark
簡介:
Wireshark(前稱Ethereal)是一個網絡封包分析軟體。網絡封包分析軟體的功能是截取網絡封包,并盡可能顯示出最為詳細的網絡封包資料。Wireshark使用WinPCAP作為接口,直接與網卡進下載下傳(官網):
使用:
![]()
(8.3)【網絡協定中的資料隐藏】延遲包修改、協定中的資料隐藏 ![]()
(8.3)【網絡協定中的資料隐藏】延遲包修改、協定中的資料隐藏