TW202311994A - 偵測惡意網域查詢行為的系統及方法 - Google Patents
偵測惡意網域查詢行為的系統及方法 Download PDFInfo
- Publication number
- TW202311994A TW202311994A TW110133747A TW110133747A TW202311994A TW 202311994 A TW202311994 A TW 202311994A TW 110133747 A TW110133747 A TW 110133747A TW 110133747 A TW110133747 A TW 110133747A TW 202311994 A TW202311994 A TW 202311994A
- Authority
- TW
- Taiwan
- Prior art keywords
- query
- domain
- domain name
- list
- address
- Prior art date
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一種偵測惡意網域查詢行為的系統和方法。系統包括收發器、儲存媒體以及處理器。處理器耦接收發器與儲存媒體,經配置以執行多個模組,其中多個模組包括:網域名稱過濾模組,根據預設清單過濾網路流量之中的網域名稱服務查詢紀錄而取得不存在網域查詢紀錄;特徵計算模組,根據不存在網域查詢紀錄計算待測網際協議位址的相似度;以及偵測模組,反應於相似度大於門檻值,通過機器學習模型偵測待測網際協議位址是否為受惡意程式感染的主機以產生偵測結果,並且通過收發器輸出偵測結果。
Description
本發明是有關於一種網路安全技術,且特別是有關於一種偵測惡意網域查詢行為的系統及方法。
由於網際網路的興起,現今網域名稱服務(Domain Name Service,DNS)已成為上網不可或缺的服務。然而,多數的單位或使用者並不會特別關注DNS查詢的流量與內容。網路犯罪者為了保持與受害主機的溝通渠道順暢,會使用一台主機當作中控中心,此主機又稱為命令與控制伺服器(Command and Control Server,C&C Server),由此主機作為中繼站進行指令派送與收容竊取到的受害主機的私密資訊。因為命令與控制伺服器在整個犯罪的過程中扮演重要角色,網路犯罪者會使用各種方法延長其存活的時間與增加其隱蔽性以躲避偵測。
網域生成演算法(Domain Generation Algorithm,DGA)的技術至今為止還是駭客策劃網路攻擊時的主要手段。DGA惡意程式常常是一個進階持續性滲透攻擊的工具。DGA惡意程式除了不易偵測外,駭客還同時可以賦予DGA所產生的網域名稱不同功能進行惡意活動。
有鑑於此,本發明提出一種偵測惡意網域查詢行為的系統及方法,可分析DNS查詢來偵測出DGA所產生的惡意網域。
本發明的實施例提供一種偵測惡意網域查詢行為的系統,包括:收發器,接收網路流量;儲存媒體,儲存多個模組;以及處理器,耦接所述收發器與所述儲存媒體,經配置以執行所述多個模組,其中所述多個模組包括:網域名稱過濾模組,根據預設清單過濾所述網路流量之中的網域名稱服務查詢紀錄而取得不存在網域查詢紀錄;特徵計算模組,根據所述不存在網域查詢紀錄計算待測網際協議位址的相似度;以及偵測模組,反應於所述相似度大於門檻值,通過機器學習模型偵測所述待測網際協議位址是否為受惡意程式感染的主機以產生偵測結果,並且通過所述收發器輸出所述偵測結果。
本發明的實施例提供一種偵測惡意網域查詢行為的方法,包括:接收網路流量;根據預設清單過濾所述網路流量之中的網域名稱服務查詢紀錄而取得不存在網域查詢紀錄;根據所述不存在網域查詢紀錄計算待測網際協議位址的相似度;反應於所述相似度大於門檻值,通過機器學習模型偵測所述待測網際協議位址是否為受惡意程式感染的主機以產生偵測結果;以及輸出所述偵測結果。
基於上述,本發明所提供的偵測惡意網域查詢行為的系統及方法,結合異常行為分析方面與人工智慧技術的輔助,利用在DNS查詢中出現不存在網域的異常查詢進行行為分析,並利用機器學習模型偵測異常行為中的DGA網域。藉此,可以有效地找出DGA惡意程式所連線的惡意中繼站,降低DGA惡意程式的危害,阻止進階持續性滲透攻擊的入侵,並防止機敏資料被竊取。
本發明的部份實施例接下來將會配合附圖來詳細描述,以下的描述所引用的元件符號,當不同附圖出現相同的元件符號將視為相同或相似的元件。這些實施例只是本發明的一部份,並未揭示所有本發明的可實施方式。更確切的說,這些實施例只是本發明的專利申請範圍中的系統與方法的範例。
圖1是依照本發明實施例的一種偵測惡意網域查詢行為的系統的方塊圖。請參照圖1,系統10可包括處理器100、收發器200以及儲存媒體300。處理器100耦接收發器200以及儲存媒體300。處理器100可經配置以執行儲存媒體200所儲存的多個模組。
處理器100例如是中央處理單元(central processing unit,CPU),或是其他可程式化之一般用途或特殊用途的微控制單元(micro control unit,MCU)、微處理器(microprocessor)、數位信號處理器(digital signal processor,DSP)、可程式化控制器、特殊應用積體電路(application specific integrated circuit,ASIC)、圖形處理器(graphics processing unit,GPU)、影像訊號處理器(image signal processor,ISP)、影像處理單元(image processing unit,IPU)、算數邏輯單元(arithmetic logic unit,ALU)、複雜可程式邏輯裝置(complex programmable logic device,CPLD)、現場可程式化邏輯閘陣列(field programmable gate array,FPGA)或其他類似元件或上述元件的組合。處理器100可存取和執行儲存於儲存媒體300中的多個模組和各種應用程式以執行系統10的各種功能。
收發器200可接收網路流量。收發器200以無線或有線的方式傳送及接收訊號。收發器200還可以執行例如低噪聲放大、阻抗匹配、混頻、向上或向下頻率轉換、濾波、放大以及類似的操作。
儲存媒體300可儲存多個模組。儲存媒體300例如是任何型態的固定式或可移動式的隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read-only memory,ROM)、快閃記憶體(flash memory)、硬碟(hard disk drive,HDD)、固態硬碟(solid state drive,SSD)或類似元件或上述元件的組合,而用於儲存可由處理器100執行的多個模組或各種應用程式。多個模組可包括網域名稱過濾模組310、特徵計算模組320以及偵測模組330。
網域名稱過濾模組310可根據預設清單過濾網路流量之中的網域名稱服務(Domain Name Service,DNS)查詢紀錄而取得不存在網域(Non-existent Domain,NXDomain)查詢紀錄。
特徵計算模組320,可根據不存在網域查詢紀錄計算待測網際協議(Internet Protocol,IP)位址的相似度。不存在網域查詢紀錄可包含多個使用者IP位址。特徵計算模組320可從多個使用者IP位址中選出待測IP位址。
偵測模組330,可反應於相似度大於門檻值,通過機器學習模型偵測待測網際協議位址是否為受惡意程式感染的主機以產生偵測結果,並且通過收發器200輸出偵測結果。
圖2是依照本發明實施例的一種偵測惡意網域查詢行為的方法的流程圖。請參照圖2,本實施例的方法適用如圖1所示的系統10,以下說明本發明實施例的詳細步驟。在步驟S210中,接收網路流量。在步驟S220中,根據預設清單過濾網路流量之中的網域名稱服務查詢紀錄而取得不存在網域查詢紀錄。在步驟S230中,根據不存在網域查詢紀錄計算待測網際協議位址的相似度。在步驟S240中,反應於相似度大於門檻值,通過機器學習模型偵測待測網際協議位址是否為受惡意程式感染的主機以產生偵測結果。在步驟S250中,輸出偵測結果。
在本發明的一實施例中,預設清單包括白名單。網域名稱過濾模組310可反應於網域名稱服務查詢紀錄之中的待確認網域查詢不在白名單之中,將待確認網域查詢列入不存在網域查詢紀錄。在本發明的一實施例中,預設清單包括黑名單。網域名稱過濾模組310可反應於網域名稱服務查詢紀錄之中的待確認網域查詢不在黑名單之中,將待確認網域查詢列入不存在網域查詢紀錄。
舉例來說,白名單儲存多個正常活動所產生的DNS查詢。白名單的作用在於降低系統的計算負擔與降低誤報率。白名單所記錄的網域也有可能包含NXDomain的查詢,如果將此流量也進行計算則會產生大量誤報。網域名稱過濾模組310將蒐集到的DNS查詢紀錄進行過濾,將白名單所記錄的正常活動產生之DNS查詢過濾掉而只留下關注的NXDomain查詢紀錄。具體來說,通常網路流量中NXDomain查詢的產生主要是來自輸入錯誤查詢網域與一些特殊用途的服務,所以NXDomain的流量只占整體流量不到十分之一。
另外NXDomain的流量中可能包含大量的特殊服務所產生的查詢。最常見的屬於防毒軟體中的黑名單比對,例如防毒軟體的黑名單會將防毒軟體廠商的網域與待確認網域做結合。另一個常見的服務則是電子郵件伺服器,若是使用同一個公司所提供的第三方黑名單,則網路流量中會產生與DGA所產生的異常查詢相似的網域查詢,造成系統的誤判。因此,網域名稱過濾模組310可將所有第三方黑名單的網域查詢過濾掉。如此一來,網路流量經過預設清單過濾後只需處理不到原來網路流量的二十分之一的流量。藉此,系統10不需要處理龐大的網路流量,可節省計算資源並有效提升運行效能,也同時提高整體偵測精準度。
在本發明的一實施例中,網域名稱服務查詢紀錄可包括使用者IP位址、查詢時間、查詢網域名稱或網域解析結果。舉例來說,使用者IP位址可以是由十進位數字組成的IPv4位址,也可以是由十六進位數字組成IPv6位址。查詢網域名稱可以是由多個部分組成的字串,這些部分通常連接在一起,並由點分隔,查詢網域名稱的英文字母可不區分大小寫。網域解析結果可以是DNS伺服器所回傳對於查詢網域名稱的解析結果。
在本發明的一實施例中,特徵計算模組320可經配置以執行下列指令來計算相似度。特徵計算模組320可從網域名稱服務查詢紀錄中取得對應於待測網際協議位址的第一查詢網域清單以及對應於參考網際協議位址的第二查詢網域清單。特徵計算模組320可取得第一查詢網域清單與第二查詢網域清單的交集數量。特徵計算模組320可取得第一查詢網域清單與第二查詢網域清單的聯集數量。特徵計算模組320可將交集數量除以聯集數量而得到相似度。
舉例來說,特徵計算模組320將DNS查詢紀錄蒐集到的所有查詢網域當作輸入資料,藉以統計第一使用者(即待測IP位址)查詢過的網域以產生第一查詢網域清單,並且統計第二使用者(即參考IP位址)查詢過的網域以產生第二查詢網域清單。接著,特徵計算模組320可計算待測IP位址與參考IP位址之間查詢的共同網域(即對應於待測網際協議位址的第一查詢網域清單以及對應於參考網際協議位址的第二查詢網域清單之間共同的查詢網域)比例。
同一隻DGA惡意程式會查詢同一份的網域名單,直到查詢到有存活的網域才會停止。當使用者之間的相似度很高代表很有可能是同一隻DGA惡意程式,因此查詢的網域清單會極為相似。由於異常查詢行為會有一份相同的網域名單,而正常使用者很少會去查詢整個網域名單,所以受惡意程式感染的使用者之間的查詢網域清單會有很高的相似度。
具體來說,相似度可由以下公式計算:
其中
為相似度,其中
代表使用者,
為第一IP位址(即待測IP位址)的查詢網域清單,
為第二IP位址(即參考IP位址)的查詢網域清單,
代表
與
的交集數量,
代表
與
的聯集數量。此公式計算的是兩兩使用者的相似度,而不是針對整體的網路環境進行分析,因此即使應用在不同的網路環境中也可以精準的算出使用者之間的相似度。
舉例而言,當特徵計算模組320所計算的相似度高於門檻值(又稱為設計水位)就可以由偵測模組330對待測IP位址與對應的查詢網域進行偵測。在一些實施例中,當設計水位之值在0.8至0.9的區間,偵測模組330即可有效的偵測待測IP位址與對應的查詢網域是否為DGA所產生的網域。
在本發明的一實施例中,機器學習模型為長短期記憶(Long Short Term Memory,LSTM)模型。在深度學習技術中,LSTM模型為遞迴神經網路(Recurrent Neural Network,RNN)最常見的變形之一,適合用於語音識別、語言建模、情感分析和文本預測等具有前後文特性的資料,具有良好的準確性和處理複雜特徵的能力。在一實施例中,偵測模組330可將網路上可蒐集到的多種DGA演算法產生的網域清單作為訓練資料集進行訓練。在一實施例中,偵測模組330將LSTM模型訓練成可以判斷字串是否符合DGA形式。例如,LSTM模型可以針對網域名稱中是否存在疑似使用DGA或是隨機亂數產生的字串進行判斷,由於此判斷為字串上的語意分析,因此非常適合使用LSTM模型。當LSTM模型判斷網域清單符合DGA形式,偵測模組330判斷此待測IP位址為受惡意程式感染的主機以產生偵測結果,並且通過收發器200輸出偵測結果。
值得一提的是,許多DGA生成的網域有一定的規律或是使用特定種子產生的字串,並且此字串會在二級域(Second level domain)中出現。因此,在一些實施例中,偵測模組330可使用隨機字串以及二級域訓練機器學習模型。偵測模組330在進行判斷時,機器學習模型可只萃取二級域作為輸入以產生偵測結果。
在本發明的一實施例中,偵測模組330可產生多組隨機字串。偵測模組330可從歷史不存在網域查詢紀錄中擷取多筆二級域。偵測模組330可將多組隨機字串以及多筆二級域作為訓練資料訓練機器學習模型。
在本發明的一實施例中,偵測模組330可反應於相似度大於門檻值,從不存在網域查詢紀錄取得對應於待測網際協議的待測查詢網域清單。偵測模組330可從待測查詢網域清單中擷取分別對應於多個查詢網域的多個二級域。偵測模組330可將多個二級域輸入機器學習模型以產生偵測結果。
由於網路犯罪者使用DGA所產生的網域每天在變換,而防毒軟體廠商蒐集的惡意網域清單也未必會即時更新,若只單靠看網域名稱很難達到準確抓出惡意網域查詢行為。因此,本發明的實施例從使用者行為的層面與深度學習演算法做結合,彌補防毒軟體可能遺漏之惡意DGA程式所產生的網域。DGA確實會產生大量的NXDomain查詢,但是更常發現是機器內建之網域清單查詢而造成誤判。本發明的實施例更可結合人工智慧技術對網域名稱組成進行分析,使得偵測出來的告警更準確。本發明的實施例從NXDomain先篩選出非人類的查詢行為,接著再利用針對DGA網域訓練得到的機器學習模型偵測惡意DGA程式所產生的網域。如此,可達成更為精確的惡意網域偵測結果。
綜上所述,本發明所提供的偵測惡意網域查詢行為的系統及方法可達到以下之技術功效:(1)針對使用者行為模式計算相似度,不需要事前大量資料建模與訓練即可有效的區別出異常使用者查詢。(2)藉由使用者行為與查詢網域名稱分析綜合偵測,有效的避免分析網域名稱上的誤判,也可以利用使用者異常行為提供偵測結果的有效證據力。(3)利用DNS通訊無法加密之特性,針對DNS查詢的行為進行偵測,可避免因為封包加密而影響系統的偵測率或讓系統無法進行偵測。(4)利用使用者群體的連線行為進行偵測,不需知道網域清單的產生方式或是產生時間,即可偵測出不同型態之惡意DGA網域。(5)從大量的網路流量中萃取需要分析的流量,可有效提升系統運行效能,並可增加偵測的精準度。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10:系統
100:處理器
200:收發器
300:儲存媒體
310:網域名稱過濾模組
320:特徵計算模組
330:偵測模組
S210、S220、S230、S240、S250:步驟
圖1是依照本發明實施例的一種偵測惡意網域查詢行為的系統的方塊圖。
圖2是依照本發明實施例的一種偵測惡意網域查詢行為的方法的流程圖。
10:系統
100:處理器
200:收發器
300:儲存媒體
310:網域名稱過濾模組
320:特徵計算模組
330:偵測模組
Claims (9)
- 一種偵測惡意網域查詢行為的系統,包括: 收發器,接收網路流量; 儲存媒體,儲存多個模組;以及 處理器,耦接所述收發器與所述儲存媒體,經配置以執行所述多個模組,其中所述多個模組包括: 網域名稱過濾模組,根據預設清單過濾所述網路流量之中的網域名稱服務查詢紀錄而取得不存在網域查詢紀錄; 特徵計算模組,根據所述不存在網域查詢紀錄計算待測網際協議位址的相似度;以及 偵測模組,反應於所述相似度大於門檻值,通過機器學習模型偵測所述待測網際協議位址是否為受惡意程式感染的主機以產生偵測結果,並且通過所述收發器輸出所述偵測結果。
- 如請求項1所述的系統,其中所述預設清單包括白名單,其中所述網域名稱過濾模組反應於所述網域名稱服務查詢紀錄之中的待確認網域查詢不在所述白名單之中,將所述待確認網域查詢列入所述不存在網域查詢紀錄。
- 如請求項1所述的系統,其中所述預設清單包括黑名單,其中所述網域名稱過濾模組反應於所述網域名稱服務查詢紀錄之中的待確認網域查詢不在所述黑名單之中,將所述待確認網域查詢列入所述不存在網域查詢紀錄。
- 如請求項1所述的系統,其中所述網域名稱服務查詢紀錄包括使用者網際協議位址、查詢時間、查詢網域名稱以及網域解析結果。
- 如請求項1所述的系統,其中所述特徵計算模組經配置以執行: 從所述網域名稱服務查詢紀錄中取得對應於所述待測網際協議位址的第一查詢網域清單以及對應於參考網際協議位址的第二查詢網域清單; 取得所述第一查詢網域清單與所述第二查詢網域清單的交集數量; 取得所述第一查詢網域清單與所述第二查詢網域清單的聯集數量;以及 將所述交集數量除以所述聯集數量而得到所述相似度。
- 如請求項1所述的系統,其中所述機器學習模型為長短期記憶模型。
- 如請求項1所述的系統,其中所述偵測模組經配置以執行: 產生多組隨機字串; 從歷史不存在網域查詢紀錄中擷取多筆二級域;以及 將所述多組隨機字串以及所述多筆二級域作為訓練資料訓練所述機器學習模型。
- 如請求項1所述的系統,其中所述偵測模組經配置以執行: 反應於所述相似度大於所述門檻值,從所述不存在網域查詢紀錄取得對應於所述待測網際協議的待測查詢網域清單; 從所述待測查詢網域清單中擷取分別對應於多個查詢網域的多個二級域;以及 將所述多個二級域輸入所述機器學習模型以產生所述偵測結果。
- 一種偵測惡意網域查詢行為的方法,包括: 接收網路流量; 根據預設清單過濾所述網路流量之中的網域名稱服務查詢紀錄而取得不存在網域查詢紀錄; 根據所述不存在網域查詢紀錄計算待測網際協議位址的相似度; 反應於所述相似度大於門檻值,通過機器學習模型偵測所述待測網際協議位址是否為受惡意程式感染的主機以產生偵測結果;以及 輸出所述偵測結果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110133747A TWI777766B (zh) | 2021-09-10 | 2021-09-10 | 偵測惡意網域查詢行為的系統及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110133747A TWI777766B (zh) | 2021-09-10 | 2021-09-10 | 偵測惡意網域查詢行為的系統及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI777766B TWI777766B (zh) | 2022-09-11 |
TW202311994A true TW202311994A (zh) | 2023-03-16 |
Family
ID=84958144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110133747A TWI777766B (zh) | 2021-09-10 | 2021-09-10 | 偵測惡意網域查詢行為的系統及方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI777766B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI823657B (zh) * | 2022-11-02 | 2023-11-21 | 中華電信股份有限公司 | 用戶設備的異常行為的監視系統和監視方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291268B (zh) * | 2011-09-23 | 2014-11-26 | 杜跃进 | 一种基于安全域名服务器系统的恶意域名监控方法 |
AU2015403433B2 (en) * | 2015-07-24 | 2021-08-19 | Certis Cisco Security Pte Ltd | System and method for high speed threat intelligence management using unsupervised machine learning and prioritization algorithms |
CN107239701B (zh) * | 2016-03-29 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 识别恶意网站的方法及装置 |
US11936604B2 (en) * | 2016-09-26 | 2024-03-19 | Agari Data, Inc. | Multi-level security analysis and intermediate delivery of an electronic message |
TWI677803B (zh) * | 2018-05-09 | 2019-11-21 | 中華電信股份有限公司 | 可疑網域之偵測方法、閘道裝置及非暫態電腦可讀取媒體 |
TWI684113B (zh) * | 2018-08-28 | 2020-02-01 | 中華電信股份有限公司 | 閘道裝置、惡意網域與受駭主機的偵測方法及其非暫態電腦可讀取媒體 |
-
2021
- 2021-09-10 TW TW110133747A patent/TWI777766B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI777766B (zh) | 2022-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11558418B2 (en) | System for query injection detection using abstract syntax trees | |
US10574681B2 (en) | Detection of known and unknown malicious domains | |
US8260914B1 (en) | Detecting DNS fast-flux anomalies | |
US10601848B1 (en) | Cyber-security system and method for weak indicator detection and correlation to generate strong indicators | |
EP3272096B1 (en) | Learned profiles for malicious encrypted network traffic identification | |
US10516671B2 (en) | Black list generating device, black list generating system, method of generating black list, and program of generating black list | |
Catak et al. | Distributed denial of service attack detection using autoencoder and deep neural networks | |
CN111431939B (zh) | 基于cti的sdn恶意流量防御方法 | |
US11269995B2 (en) | Chain of events representing an issue based on an enriched representation | |
US11700269B2 (en) | Analyzing user behavior patterns to detect compromised nodes in an enterprise network | |
US10425436B2 (en) | Identifying bulletproof autonomous systems | |
CN111224941B (zh) | 一种威胁类型识别方法及装置 | |
JP6174520B2 (ja) | 悪性通信パターン検知装置、悪性通信パターン検知方法、および、悪性通信パターン検知プログラム | |
US11108794B2 (en) | Indicating malware generated domain names using n-grams | |
Liang et al. | A security situation prediction algorithm based on HMM in mobile network | |
CN109660517B (zh) | 异常行为检测方法、装置及设备 | |
CN116451215A (zh) | 关联分析方法及相关设备 | |
US10965697B2 (en) | Indicating malware generated domain names using digits | |
CN114070593A (zh) | 一种基于多级告警和联动防御的虚拟网络安全管控方法 | |
TWI777766B (zh) | 偵測惡意網域查詢行為的系統及方法 | |
US10911481B2 (en) | Malware-infected device identifications | |
Nguyen et al. | An efficient approach to reduce alerts generated by multiple IDS products | |
WO2024036822A1 (zh) | 一种恶意域名确定方法、装置、设备及介质 | |
CN113329035B (zh) | 一种攻击域名的检测方法、装置、电子设备及存储介质 | |
Shinan et al. | BotSward: Centrality Measures for Graph-Based Bot Detection Using Machine Learning. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |