一種dns隱蔽信道的檢測方法
2023-05-19 05:41:11 1
專利名稱:一種dns隱蔽信道的檢測方法
技術領域:
本發明涉及網絡安全領域,尤其涉及一種DNS隱蔽信道的檢測方法。
背景技術:
域名系統(Domain Name System,DNS)是網際網路最關鍵的基礎服務之一,它將域名與IP位址相互映射,使人們能夠方便地訪問網際網路,而不必記憶複雜的IP位址。DNS域名解析為眾多的網絡應用提供支撐,因此,網絡管理策略通常對客戶端主機使用DNS服務不作限制。由此,也就出現了大量利用DNS進行隱蔽通訊的方法和程序,其能夠繞過防火牆策略的限制,利用DNS的請求和響應數據包中可變字節進行雙向數據傳輸。基於域名的DNS隱蔽信道,將隱蔽通訊所使用的域名的授權伺服器IP位址設置為隱蔽信道伺服器的地址。隱蔽信道客戶端可請求任何一臺DNS遞歸伺服器,由DNS遞歸伺服器實現查詢和響應數據的中轉,客戶端無須與隱蔽信道伺服器直接通訊。客戶端向伺服器發送的數據,通常編碼為隱蔽信道域名的子域名標籤,請求該子域名即可將標籤中的數據傳遞給隱蔽信道伺服器。伺服器向客戶端發送的數據,通常包含在DNS回答的資源記錄中。DNS隱蔽信道對網絡訪問控制和網絡安全構成極大威脅。例如,以Web方式進行身份認證的公眾WLAN(無線區域網)無線上網服務,首先允許WLAN客戶端設備連接到無線網絡,然後在打開網頁時顯示認證界面。在用戶登錄之前,不允許客戶端訪問Internet,但一般允許進行DNS域名解析。在這種情況下,利用DNS隧道進行隱蔽通訊可繞過認證限制,經過DNS隱蔽信道伺服器的代理訪問Internet。在安全要求更高的網絡環境中,除了Internet訪問的濫用,DNS隱蔽信道還可能造成敏感數據的洩露。
發明內容
有鑑於現有技術的上述缺陷,本發明所要解決的技術問題是有效地檢測DNS隱蔽信道,強化網絡管理和網絡安全。為實現上述目的,本發明提供了一種DNS隱蔽信道的檢測方法,包括以下步驟步驟一、從輸入的DNS查詢請求消息中篩選出查詢域名超長的DNS查詢請求消息;步驟二、解析並提取出域名超長的DNS查詢請求消息的發送客戶端IP和查詢域名中的純域名,並形成〈客戶端IP,純域名 > 形式的記錄;步驟三、對步驟二中所形成的所述〈客戶端IP位址,純域名 > 記錄進行統計計數,並將每條所述〈客戶端IP位址,純域名 > 記錄以及每條所述〈客戶端IP,純域名 > 記錄的計數結果寫入統計表;步驟四、以預定的時間間隔,依次讀取所述統計表中的所述〈客戶端IP,純域名>記錄及所述計數結果,並根據所述讀取結果進行是否存在隱蔽信道的判定,並在讀取和判定完成後,清空所述統計表以便步驟三重新對統計表進行寫入。
其中步驟一中所述超長域名篩選進一步是通過解析提取出所述DNS查詢請求消息的查詢域名進行超長域名篩選的,若所述查詢域名的長度超過預定的域名長度閾值,則認為所述DNS查詢請求消息是查詢域名超長的DNS查詢請求消息其中所述步驟二進一步是通過解析所述DNS查詢請求消息得到所述DNS查詢請求消息的所述查詢域名和發送所述DNS查詢請求消息的客戶端IP,並進一步從所述查詢域名中提取出去除子域名後的純域名,從而得到所述〈客戶端IP,純域名 > 形式的記錄的。其中所述步驟三進一步是通過對每條所述〈客戶端IP,純域名 > 記錄判斷其是否已存在於所述統計表中,若所述統計表中已經存在所述〈客戶端IP,純域名 > 記錄,則對所述〈客戶端IP,純域名 > 記錄的計數值加1,若所述的統計表中不存在所述〈客戶端IP,純域名 > 記錄,則將所述〈客戶端IP,純域名 > 記錄寫入所述統計表,並將所述〈客戶端IP,純域名 > 記錄的計數值設為I,來進行統計計數的。其中所述步驟四進一步是通過對每條所述〈客戶端IP,純域名 > 記錄的計數結果進行判斷,判斷所述計數結果是否大於預定的告警閾值,若所述計數結果大於所述告警閾值,則判定為存在所述客戶端IP利用所述純域名進行隱蔽通信的隱蔽信道,來進行隱蔽信道的判定的。進一步地,其中所述域名長度閾值、時間間隔和告警閾值的設定值可以根據系統的安全級別的要求而改變。進一步地,其中作為輸入的所述DNS查詢請求信息來自於網絡流量中的DNS報文或者DNS伺服器的查詢日誌。本發明的有益效果在於本發明的DNS隱蔽信道的檢測方法針對DNS隱蔽通信中客戶端向伺服器發送的數據通常編碼為子域名標籤進行傳送這一特點,監測從客戶端向伺服器發送的DNS查詢請求信息從而進行DNS隱蔽信道的檢測。同時由於DNS隱蔽通信中客戶端向伺服器發送的數據編碼為隱蔽信道域名的子域名標籤進行傳送,添加了編碼數據的子域名標籤會導致查詢域名超長,並且由於子域名標籤數據容量有限而使得DNS隱蔽通信必須頻繁大量地發送DNS查詢請求消息,基於這兩個特點,本發明的DNS隱蔽信道的檢測方法通過篩選出超長域名的DNS查詢請求消息,並提取發送該DNS查詢請求消息的客戶端IP位址以及查詢域名中的純域名部分,檢測出一定時間段內同一客戶端IP對於相同的域名頻繁大量發送DNS查詢請求消息,並判定其為DNS隱蔽通信的信道。本發明的DNS隱蔽信道的檢測方法能夠有效地檢測基於域名的DNS隱蔽信道,強化網絡訪問控制,提高網絡安全。以下將結合附圖對本發明的構思、具體結構及產生的技術效果作進一步說明,以充分地了解本發明的目的、特徵和效果。
圖I本發明的DNS隱蔽信道檢測方法的整體流程圖;圖2是本發明的DNS隱蔽信道檢測方法中超長域名篩選步驟的流程圖;圖3是本發明的DNS隱蔽信道檢測方法中DNS查詢請求解析步驟的流程圖;圖4是本發明的DNS隱蔽信道檢測方法中統計計數步驟的流程圖;圖5是本發明的DNS隱蔽信道檢測方法中數據處理步驟的流程圖。
具體實施例方式下面結合附圖來具體說明本發明的實施例。如圖I所示,一種DNS隱蔽信道的檢測方法,包括如下步驟超長域名篩選、DNS查詢請求解析、統計計數和數據處理,其中超長域名篩選步驟篩選出輸入的DNS查詢請求消息中的查詢域名超過預定的域名長度閾值L的DNS查詢請求消息,並將查詢域名超過預定的閾值的DNS查詢請求 消息輸出到DNS查詢請求解析步驟,而DNS查詢請求解析步驟對輸入的DNS查詢請求消息進行解析,並提取出DNS查詢請求消息的查詢域名中的純域名部分和發送該DNS查詢請求消息的客戶端IP位址,並將解析提取結果以〈客戶端IP,純域名>形式的記錄輸出到統計計數步驟,其中純域名是指查詢域名中去除子域名後的部分,統計計數步驟對輸入的每條〈客戶端IP,純域名 > 記錄進行計數,並將每條〈客戶端IP,純域名>記錄及該記錄的計數結果寫入統計表中,而數據處理每隔一定的時間間隔T讀取上述統計表中的記錄及其計數結果,對於其中計數結果大於預定的告警閾值N的〈客戶端IP,純域名 > 記錄,判定為該客戶端IP利用該純域名進行了隱蔽信道的通信,而對於其中計數結果小於預定的告警閾值N的〈客戶端IP,純域名 > 記錄,則判定為合法的域名解析過程,對統計表中的所有記錄讀取並判定完後,清空該統計表,使統計計數步驟對下一個時間間隔T內到達的〈客戶端IP,純域名 > 記錄重新開始計數。其中域名長度閾值L、時間間隔T和告警閾值N是根據網絡安全級別的要求預先設定的,根據網絡安全級別的要求的不同,可以改變其設定值。其中超長域名篩選步驟的處理流程如圖2所示,對於輸入的DNS查詢請求消息,解析其問題段的查詢域名,如果查詢域名長度大於預定的域名長度閾值L,則該DNS查詢請求消息屬於超長域名的DNS查詢請求,將其輸出到DNS查詢請求解析步驟,如果查詢域名長度小於預定的域名長度閾值L,則忽略該DNS查詢請求消息,不作任何處理。DNS查詢請求解析步驟的處理流程如圖3所示,對於輸入的DNS查詢請求消息,提取出其查詢域名的純域名部分,並解析發起該DNS查詢請求消息的客戶端IP位址,形成〈客戶端IP,純域名 > 記錄,發送到統計計數步驟。統計計數步驟的處理流程如圖4所示,對於每個輸入的〈客戶端IP,純域名 > 記錄,首先檢查統計表中是否已有該〈客戶端IP,純域名 > 記錄,如果統計表中已有該〈客戶端IP,純域名 > 記錄,則在該〈客戶端IP,純域名 > 記錄的計數上加1,如果統計表中沒有該〈客戶端IP,純域名 > 記錄,則將該〈客戶端IP,純域名 > 記錄寫入統計表,並將該〈客戶端IP,純域名 > 記錄的計數置為I。數據處理步驟的處理流程如圖5所示,每隔預定的時間間隔T,依次讀取上述統計表中的記錄,如果發現某條〈客戶端IP,純域名 > 記錄的計數結果超過預定的告警閾值N,則判定該客戶端IP利用該純域名進行了隱蔽信道的通信,而對於計數結果小於預定的告警閾值N的〈客戶端IP,純域名 > 記錄,則認為是合法的域名解析過程,對上述統計表中的每條記錄讀取並判定完後,清空該統計表,以便於統計計數步驟對於下一個時間間隔T內到達的〈客戶端IP,純域名 > 記錄重新進行計數並寫入統計表。本發明的DNS隱蔽信道的檢測方法以DNS查詢請求消息作為輸入,DNS查詢請求消息可以是來自於網絡流量中的DNS報文或者是DNS伺服器的查詢日誌。本發明的DNS隱蔽信道的檢測方法可以應用於DNS遞歸伺服器、DNS流量監控系統、網絡入侵檢測系統、防火牆等能夠監測DNS查詢請求的軟體或者硬體設備。本發明的DNS隱蔽信道的檢測方法,針對DNS隱蔽通信中客戶端向伺服器發送的數據通常編碼為隱蔽信道域名的子域名標籤進行傳送這一特點,監測從客戶端向伺服器發送的DNS查詢請求信息從而進行DNS隱蔽信道的檢測。同時由於DNS隱蔽通信中客戶端向伺服器發送的數據編碼為隱蔽信道域名的子域名標籤進行傳送,添加了編碼數據的子域名標籤導致查詢域名超長,並且由於子域名標籤數據容量有限而使得DNS隱蔽通信必須頻繁大量地發送消息,基於這兩個特點,本發明的DNS隱蔽信道的檢測方法通過篩選出超長域 名的DNS查詢請求消息,並提取發送該DNS查詢請求消息的客戶端IP位址以及查詢域名中的純域名部分,檢測出一定時間段內同一客戶端IP對於相同的域名頻繁大量發送DNS查詢請求消息,並判定其為DNS隱蔽通信的信道。本發明的DNS隱蔽信道的檢測方法能夠有效地檢測基於域名的DNS隱蔽信道,強化網絡訪問控制,提高網絡安全。以上詳細描述了本發明的較佳具體實施例。應當理解,本領域的普通技術人員無需創造性勞動就可以根據本發明的構思做出諸多修改和變化。因此,凡本技術領域的技術人員依本發明的構思在現有技術的基礎上通過邏輯分析、推理或者有限的實驗可以得到的技術方案,皆應在由權利要求書所確定的保護範圍內。
權利要求
1.ー種DNS隱蔽信道的檢測方法,其特徵在於,包括以下步驟 步驟一、從輸入的DNS查詢請求消息中篩選出查詢域名超長的DNS查詢請求消息; 步驟ニ、解析並提取出域名超長的DNS查詢請求消息的發送客戶端IP和查詢域名中的純域名,並形成〈客戶端IP,純域名 > 形式的記錄; 步驟三、對步驟ニ中所形成的所述〈客戶端IP位址,純域名 > 記錄進行統計計數,並將每條所述〈客戶端IP位址,純域名 > 記錄以及每條所述〈客戶端IP,純域名 > 記錄的計數結果寫入統計表; 步驟四、以預定的時間間隔,依次讀取所述統計表中的所述〈客戶端IP,純域名 > 記錄及所述計數結果,並根據所述讀取結果進行是否存在隱蔽信道的判定,並在讀取和判定完成後,清空所述統計表以便步驟三重新對統計表進行寫入。
2.如權利要求I所述的DNS隱蔽信道的檢測方法,其中步驟一中所述超長域名篩選進一歩是通過解析提取出所述DNS查詢請求消息的查詢域名進行超長域名篩選的,若所述查詢域名的長度超過預定的域名長度閾值,則認為所述DNS查詢請求消息是查詢域名超長的DNS查詢請求消息。
3.如權利要求2所述的DNS隱蔽信道的檢測方法,其中所述步驟ニ進ー步是通過解析所述DNS查詢請求消息得到所述DNS查詢請求消息的所述查詢域名和發送所述DNS查詢請求消息的客戶端IP,並進ー步從所述查詢域名中提取出去除子域名後的純域名,從而得到所述〈客戶端IP,純域名 > 形式的記錄的。
4.如權利要求3所述的DNS隱蔽信道的檢測方法,其中所述步驟三進ー步是通過對每條所述く客戶端IP,純域名 > 記錄判斷其是否已存在於所述統計表中,若所述統計表中已經存在所述〈客戶端IP,純域名 > 記錄,則對所述〈客戶端IP,純域名 > 記錄的計數值加1,若所述的統計表中不存在所述〈客戶端IP,純域名 > 記錄,則將所述〈客戶端IP,純域名 > 記錄寫入所述統計表,並將所述〈客戶端IP,純域名 > 記錄的計數值設為1,來進行統計計數的。
5.如權利要求4所述的DNS隱蔽信道的檢測方法,其中所述步驟四進ー步是通過對每條所述〈客戶端IP,純域名 > 記錄的計數結果進行判斷,判斷所述計數結果是否大於預定的告警閾值,若所述計數結果大於所述告警閾值,則判定為存在所述客戶端IP利用所述純域名進行隱蔽通信的隱蔽信道,來進行隱蔽信道的判定的。
6.如權利要求5所述的DNS隱蔽信道的檢測方法,其中所述域名長度閾值、所述時間間隔和所述告警閾值的設定值可以根據系統的安全級別的要求而改變。
7.如權利要求6所述的DNS隱蔽信道的檢測方法,其中作為輸入的所述DNS查詢請求信息來自於網絡流量中的DNS報文或者DNS伺服器的查詢日誌。
全文摘要
本發明公開了一種DNS隱蔽信道的檢測方法,包括超長域名篩選步驟、DNS查詢請求解析步驟、統計計數步驟和數據處理步驟,其中超長域名篩選步驟篩選出查詢域名超長的DNS查詢請求消息,DNS查詢請求解析步驟解析並提取出域名超長的DNS查詢請求消息的發送客戶端IP和查詢域名中的純域名,並將其以形式的記錄發送到統計計數步驟,統計計數步驟對每條記錄進行計數並將每條記錄及其計數結果寫入統計表,數據處理步驟每隔一定的時間間隔讀取統計表,並對其中計數結果超過告警閾值的記錄認為是存在隱蔽信道,讀取完統計表中的記錄後,清空統計表。本發明的DNS隱蔽信道檢測方法能夠有效地檢測基於域名的DNS隱蔽信道,強化網絡訪問控制,提高網絡安全。
文檔編號H04L12/26GK102624706SQ20121004033
公開日2012年8月1日 申請日期2012年2月22日 優先權日2012年2月22日
發明者李建華, 王魯華, 章思宇, 鄒福泰 申請人:上海交通大學