TWI781852B - 偵測惡意網域名稱的電子裝置和方法 - Google Patents

偵測惡意網域名稱的電子裝置和方法 Download PDF

Info

Publication number
TWI781852B
TWI781852B TW110146896A TW110146896A TWI781852B TW I781852 B TWI781852 B TW I781852B TW 110146896 A TW110146896 A TW 110146896A TW 110146896 A TW110146896 A TW 110146896A TW I781852 B TWI781852 B TW I781852B
Authority
TW
Taiwan
Prior art keywords
domain name
processor
malicious
state
electronic device
Prior art date
Application number
TW110146896A
Other languages
English (en)
Other versions
TW202327319A (zh
Inventor
黃秀娟
林秀靜
陳少謙
Original Assignee
中華電信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW110146896A priority Critical patent/TWI781852B/zh
Application granted granted Critical
Publication of TWI781852B publication Critical patent/TWI781852B/zh
Publication of TW202327319A publication Critical patent/TW202327319A/zh

Links

Images

Landscapes

  • Credit Cards Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供一種偵測惡意網域名稱的電子裝置和方法。方法包含:取得惡意流量資料庫,其中惡意流量資料庫包含主網域名單以及關鍵字名單;接收網路流量,並且自網路流量取得多筆網域名稱系統日誌;根據主網域名單以及關鍵字名單過濾多筆網域名稱系統日誌以取得至少一網域名稱系統日誌;響應於至少一網域名稱系統日誌與預設規則匹配,判斷至少一網域名稱系統日誌對應於惡意網域名稱;以及輸出對應於至少一網域名稱系統日誌的警示訊息。

Description

偵測惡意網域名稱的電子裝置和方法
本發明是有關於一種偵測惡意網域名稱的電子裝置和方法。
網域名稱系統(domain name system,DNS)是現行網路架構中重要的基礎服務之一,其主要負責提供網域名稱解析服務。例如:域名與網際網路(Internet protocol,IP)位址之間的轉換。DNS服務作為網路之重要基礎服務,一般企業網路通常都不會阻擋DNS埠號(例如:port 53)的流量。因此,越來越多攻擊者利用這個特性,將DNS協定作為中繼站與受駭主機間傳輸資料的協定,也就是使用DNS穿隧(tunneling)技術,將中繼站命令與回傳資訊編碼或加密於DNS查詢與回應中,達到遠端控制與資料傳輸的目的。DNS協定中的TXT記錄或NULL記錄可以記載各種文字資訊。攻擊者很容易通過對這些文字資訊進行編碼以將惡意代碼傳送至受駭主機。因此,如何偵測惡意的DNS封包,是本領域的重要課題之一。
本發明提供一種偵測惡意網域名稱的電子裝置和方法,可自動地分析網路流量並在偵測到惡意網域名稱時警示用戶。
本發明的一種偵測惡意網域名稱的電子裝置,包含處理器、儲存媒體以及收發器。收發器接收網路流量。儲存媒體儲存惡意流量資料庫,其中惡意流量資料庫包含主網域名單以及關鍵字名單。處理器耦接儲存媒體以及收發器,其中處理器經配置以執行:自網路流量取得多筆網域名稱系統日誌;根據主網域名單以及關鍵字名單過濾多筆網域名稱系統日誌以取得至少一網域名稱系統日誌;響應於至少一網域名稱系統日誌與預設規則匹配,判斷至少一網域名稱系統日誌對應於惡意網域名稱;以及通過收發器輸出對應於至少一網域名稱系統日誌的警示訊息。
在本發明的一實施例中,上述的至少一網域名稱系統日誌包含時戳、用戶端、查詢、回應以及存活時間。
在本發明的一實施例中,上述的處理器響應於存活時間小於存活時間閾值而判斷至少一網域名稱系統日誌與預設規則匹配。
在本發明的一實施例中,上述的處理器響應於查詢的長度大於查詢長度閾值而判斷至少一網域名稱系統日誌與預設規則匹配。
在本發明的一實施例中,上述的處理器響應於回應的長度大於回應長度閾值而判斷至少一網域名稱系統日誌與預設規則匹配。
在本發明的一實施例中,上述的處理器響應於查詢的無意義值為真而判斷至少一網域名稱系統日誌與預設規則匹配。
在本發明的一實施例中,上述的處理器根據n元語法以及詞頻-逆向檔案頻率演算法判斷無意義值為真。
在本發明的一實施例中,上述的處理器根據n元語法將查詢拆解為多個單詞,根據詞頻-逆向檔案頻率演算法計算分別對應於多個單詞的多個分數,並且響應於多個分數的總和大於閾值而判斷無意義值為真。
在本發明的一實施例中,上述的處理器統計預設時段內網路流量中與至少一網域名稱系統日誌相同的封包的數量以產生計數值。
在本發明的一實施例中,上述的處理器響應於計數值小於計數值閾值而判斷至少一網域名稱系統日誌與預設規則匹配。
在本發明的一實施例中,上述的查詢包含主網域,其中至少一網域名稱系統日誌包含第一網域名稱系統日誌以及第二網域名稱系統日誌,其中處理器響應於第一網域名稱系統日誌與第二網域名稱系統日誌對應於相同的主網域、用戶端以及時戳範圍而根據第一網域名稱系統日誌以及第二網域名稱系統日誌計算連線數量。
在本發明的一實施例中,上述的處理器響應於連線數量大於連線數量閾值而判斷至少一網域名稱系統日誌與預設規則匹配。
在本發明的一實施例中,上述的惡意流量資料庫更包含正則表達式黑名單,其中處理器根據正則表達式黑名單過濾多個網域名稱系統日誌以產生至少一網域名稱系統日誌。
在本發明的一實施例中,上述的處理器響應於至少一網域名稱系統日誌對應於惡意網域名稱而根據至少一網域名稱系統日誌中的多個子網域來產生正則表達式,並且將正則表達式儲存於正則表達式黑名單中以更新正則表達式黑名單。
在本發明的一實施例中,上述的處理器將多個子網域轉換為確定有限狀態自動機,並且根據確定有限狀態自動機最小化演算法將確定有限狀態自動機轉換為正則表達式。
在本發明的一實施例中,上述的確定有限狀態自動機的狀態集合包含初始狀態以及多個子網域的首N個字元構成的字串,其中N為大於零且小於或等於多個子網域的長度的正整數。
在本發明的一實施例中,上述的確定有限狀態自動機的輸入字母表包含多個子網域的每一個字元。
在本發明的一實施例中,上述的確定有限狀態自動機的狀態轉移函式將多個子網域的首(N-1)個字元組成的第一字串轉換為多個子網域的首N個字元組成的第二字串,其中N為大於零且小於或等於多個子網域的長度的正整數。
在本發明的一實施例中,上述的確定有限狀態自動機最小化演算法包含:將確定有限狀態自動機的狀態集合中的初始狀態以及最終狀態自狀態集合移除以取得非接受集合;利用最終狀態組成接受集合;響應於非接受集合中的第一狀態的次一狀態不在非接受集合中,將第一狀態自非接受集合移除以更新非接受集合,並且利用第一狀態組成第一子集合;響應於經更新的非接受集合中的第二狀態的次一狀態不在經更新的非接受集合中,將第二狀態自經更新的非接受集合移除以再次更新非接受集合,並且利用第二狀態組成第二子集合;以及產生第二確定有限狀態自動機,其中第二確定有限狀態自動機的第二狀態集合包含初始狀態、對應於第一子集合的狀態、對應於第二子集合的狀態以及對應於接受集合的狀態,其中處理器將第二確定有限狀態自動機轉換為正則表達式。
在本發明的一實施例中,上述的主網域名單包含主網域白名單以及主網域黑名單,其中處理器根據主網域白名單過濾多個網域名稱系統日誌中對應於非惡意網域的網域名稱系統日誌,並根據主網域黑名單過濾多個網域名稱系統日誌中對應於已知惡意網域的網域名稱系統日誌。
在本發明的一實施例中,上述的關鍵字名單包含關鍵字白名單以及關鍵字黑名單,其中處理器根據關鍵字白名單過濾多個網域名稱系統日誌中對應於非惡意查詢/回應的網域名稱系統日誌,並根據關鍵字黑名單過濾多個網域名稱系統日誌中對應於已知惡意查詢/回應的網域名稱系統日誌。
在本發明的一實施例中,上述的處理器根據預設週期過濾多個網域名稱系統日誌以取得至少一網域名稱系統日誌。
在本發明的一實施例中,上述的處理器響應於通過收發器接收用戶指令而過濾多個網域名稱系統日誌以取得至少一網域名稱系統日誌。
本發明的一種偵測惡意網域名稱的方法,包含:取得惡意流量資料庫,其中惡意流量資料庫包含主網域名單以及關鍵字名單;接收網路流量,並且自網路流量取得多個網域名稱系統日誌;根據主網域名單以及關鍵字名單過濾多個網域名稱系統日誌以取得至少一網域名稱系統日誌;響應於至少一網域名稱系統日誌與預設規則匹配,判斷至少一網域名稱系統日誌對應於惡意網域名稱;以及輸出對應於至少一網域名稱系統日誌的警示訊息。
基於上述,本發明的電子裝置可對DNS日誌中的TXT與NULL記錄進行分析,過濾掉正常流量及已知惡意行為後,再判斷未知的惡意通道行為是否符合惡意通道特徵。若有DNS日誌符合惡意通道特徵,則電子裝置可將DNS查詢之子網域、查詢或回應等資訊更新偵測惡意網域名稱的規則。同一攻擊族群若採用相似的後門程式,雖然主網域會改變,但子網域或查詢/回應可能會呈現相似的結構組成。因此,電子裝置可通過更新的規則偵測出更多的惡意網域。從DNS流量中偵測出可疑的主網域(primary domain)以及查詢該網域的用戶端(DNS-client),可協助企業釐清受害範圍、進行影響評估並進行資安事件處理。
圖1根據本發明的一實施例繪示一種偵測惡意網域名稱的電子裝置100的示意圖。電子裝置100可包含處理器110、儲存媒體120以及收發器130。
處理器110例如是中央處理單元(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)或其他類似元件或上述元件的組合。處理器110可耦接至儲存媒體120以及收發器130,並且存取和執行儲存於儲存媒體120中的多個模組和各種應用程式。
儲存媒體120例如是任何型態的固定式或可移動式的隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read-only memory,ROM)、快閃記憶體(flash memory)、硬碟(hard disk drive,HDD)、固態硬碟(solid state drive,SSD)或類似元件或上述元件的組合,而用於儲存可由處理器110執行的多個模組或各種應用程式。在本實施例中,儲存媒體120可儲存惡意流量資料庫200等多個模組,其中惡意流量資料庫200可包含主網域名單210、關鍵字名單220以及正則表達式(regular expression,regex)黑名單230。主網域名單210可包含主網域白名單211以及主網域黑名單212。關鍵字名單220包括關鍵字白名單221以及關鍵字黑名單222。
收發器130以無線或有線的方式傳送及接收訊號。收發器130還可以執行例如低噪聲放大、阻抗匹配、混頻、向上或向下頻率轉換、濾波、放大以及類似的操作。
圖2根據本發明的一實施例繪示一種偵測惡意網域名稱的方法的流程圖,其中所述方法可由如圖1所示的電子裝置100實施。在步驟S201中,處理器110可通過收發器130接收網路流量,並且自網路流量取得多筆DNS日誌(passive DNS log)。具體來說,處理器110可自網路流量中萃取出多筆DNS日誌。DNS日誌例如是由處理器110從TXT記錄記錄或NULL記錄中萃取出來的資訊。
DNS日誌可包含時戳、用戶端(即:用戶端的IP位址)、查詢(query)、查詢種類(query type)、回應(answer)或存活時間(time to live,TTL)等參數。在一實施例中,DNS日誌還可包含傳輸協定(protocol)等參數。查詢或回應可包含主網域(primary domain)以及子網域(subdomain)等資訊。處理器110可進一步根據上述的參數計算出DNS日誌的計數值(count)。具體來說,處理器110可統計預設時段內網路流量中與DNS日誌相同的封包的數量以產生計數值。若在預設時段內的多筆DNS日誌具有相同的參數(除了時間戳記不相同),則處理器110可判斷所述多筆DNS日誌為相同的。相同的DNS日誌可能是因用戶端重複地執行相同的DNS查詢而產生的。處理器110可將相同的DNS日誌合併為單一筆DNS日誌,並為合併後的DNS日誌標註計數值。舉例來說,若預設時段內,網路流量中存在兩筆相同的DNS日誌,則處理器110可將所述兩筆DNS日誌合併為一筆DNS日誌,並且為合併後的DNS日誌標註計數值「2」。
處理器110還可根據DNS日誌中的參數計算出對應於DNS日誌的連線數量,其中連線數量可代表源自於相同主網域以及用戶端的DNS日誌的數量。具體來說,若網路流量中的多筆DNS日誌對應於相同的主網域、用戶端以及時戳範圍,則處理器110可統計所述多筆DNS日誌的數量以取得對應於所述多筆DNS日誌的每一者的連線數量。
表1為DNS日誌的範例,其中DNS日誌包含DNS日誌#1、#2、#3、#4和#5。假設DNS日誌#1、#2和#3對應於相同的時戳範圍,由於DNS日誌#1、#2和#3具有相同的用戶端「192.168.0.1」以及相同的主網域「example1.com」,故處理器110可判斷DNS日誌#1、#2和#3對應於相同連線。據此,處理器110可統計DNS日誌#1、#2和#3的數量以產生等於3的連線數量。換句話說,日誌#1、#2或#3所對應的連線數量為3。另一方面,假設DNS日誌#4和#5對應於相同的時戳範圍,由於DNS日誌#4和#5具有相同的用戶端「192.168.0.2」以及相同的主網域「example2.com」,故處理器110可判斷DNS日誌#4和#5對應於相同連線。據此,處理器110可統計DNS日誌#4和#5的數量以產生等於2的連線數量。換句話說,日誌#4或#5所對應的連線數量為2。 表1
DNS日誌 時戳 用戶端 協定 查詢
#1 1623225333 192.168.0.1 UDP foc.ns1.example1.com
#2 1623225334 192.168.0.1 UDP hoc.ns1.example1.com
#3 1623225336 192.168.0.1 UDP ooc.ns1.example1.com
#4 1623225337 192.168.0.2 UDP abc.ns1.example2.com
#5 1623225338 192.168.0.2 UDP def.ns1.example2.com
  查詢種類 回應 存活時間 計數值
#1 TXT AAAIPNHDAABAAAAAAAAAA 5 1
#2 TXT PPPPPAAAAAAAAAEAAAAAA 5 1
#3 TXT AAAAAAAEAAAAAAAAAAAA 5 1
#4 TXT GAAAAAAAAGADAABAAAAA 5 1
#5 TXT MJAJDAAAKAJDAAALAJDA 5 1
在步驟S202中,處理器110等待觸發事件發生。若觸發事件發生,則處理器110可開始執行步驟S203以完成圖2的流程。在一實施例中,觸發事件週期性地發生。處理器110可根據預設週期開始執行步驟S203。在一實施例中,觸發事件可由電子裝置100的用戶發起。處理器110可響應於通過收發器130接收用戶指令而開始執行步驟S203,其中所述用戶指令例如是來自於由用戶所操作的終端裝置。
在步驟S203中,處理器110可根據主網域名單210、關鍵字名單220或正則表達式黑名單230過濾多筆DNS日誌以取得至少一DNS日誌。由於網路流量的多筆DNS日誌中,多數的DNS日誌用於正常網路查詢用途。因此,處理器110可先在步驟S203對多筆DNS日誌進行初步的過濾,藉以降低後續步驟所需處理的資料量。此外,一些正常服務(例如:防毒軟體查詢服務、網域名稱黑名單查詢服務或郵件認證服務等)的網路行為與DNS穿隧類似或藉由DNS協定進行資料傳輸。這些服務的傳輸資訊較多且較頻繁,容易被誤判為惡意網域名稱。因此,電子裝置100藉由步驟S203將這些正常查詢行為過濾掉,藉以降低電子裝置100誤報的機率。
具體來說,主網域名單210可包含主網域白名單211以及主網域黑名單212。主網域白名單211記載了諸如防毒軟體查詢、網域名稱黑名單查詢服務或郵件認證服務等已知的正常網域名稱。主網域黑名單212記載了已知的惡意網域名稱。處理器110可根據主網域白名單211過濾多筆DNS日誌中對應於非惡意的DNS日誌,並可根據主網域黑名單212過濾多筆DNS日誌中對應於已知惡意網域的DNS日誌。若DNS日誌中的主網域與主網域白名單211或主網域黑名單212中的網域名稱匹配,則處理器110可過濾DNS日誌。若DNS日誌中的主網域與主網域白名單211或主網域黑名單212中的網域名稱不匹配,則處理器110可不過濾DNS日誌。
關鍵字名單220可包含關鍵字白名單221以及關鍵字黑名單222。關鍵字白名單221記載了對應於已知正常服務的相關關鍵字。舉例來說,關鍵字白名單221可包含郵件認證服務的關鍵字,諸如SPF、DKIM、DMARC或domainkey等。關鍵字白名單221可包含網域驗證服務的關鍵字,諸如google-site-verification或_acme-challenge等。關鍵字黑名單222記載了已知的惡意查詢或惡意回應。攻擊者時常將惡意代碼植入DNS日誌中的查詢中子網域名稱或回應以進行散播。處理器110可根據關鍵字白名單221過濾多筆DNS日誌中對應於非惡意查詢/回應的DNS日誌,並可根據關鍵字黑名單222過濾多筆DNS日誌中對應於已知惡意查詢/回應的DNS日誌。若DNS日誌中的查詢或回應包含與白名單221或關鍵字黑名單222匹配的字串,則處理器110可過濾DNS日誌。若DNS日誌中的查詢或回應不包含與白名單221或關鍵字黑名單222匹配的字串,則處理器110可不過濾DNS日誌。
正則表達式黑名單230可包含子網域的正則表達式或回應的正則表達式。若DNS日誌中的查詢或回應包含與正則表達式黑名單230匹配的字串,則處理器110可過濾DNS日誌。若DNS日誌中的查詢或回應不包含與正則表達式黑名單230匹配的字串,則處理器110可不過濾DNS日誌。
在步驟S204中,處理器110可判斷DNS日誌是否與預設規則匹配。若DNS日誌與預設規則匹配,則處理器110判斷DNS日誌對應於惡意網域名稱,並進入步驟S205。若DNS日誌與預設規則不匹配,則結束圖2的流程。在一實施例中,若處理器110判斷DNS日誌對應於惡意網域名稱,處理器110可通過收發器130輸出對應於DNS日誌的警示訊息。警示訊息可包含被判定為惡意網域名稱的DNS日誌的相關資訊,諸如主網域名稱或用戶端等。
在一實施例中,預設規則可關聯於存活時間。惡意網域時常將DNS封包的存活時間設為很小以加速惡意代碼的散播速度。據此,處理器110可響應於DNS日誌的存活時間小於存活時間閾值而判斷DNS日誌與預設規則匹配,並可響應於DNS日誌的存活時間大於或等於存活時間閾值而判斷DNS日誌與預設規則不匹配。
以表1的DNS日誌#1為例。DNS日誌#1的存活時間為「5」。若存活時間「5」小於存活時間閾值,則處理器110可判斷DNS日誌#1與預設規則匹配,並且DNS日誌#1對應於惡意網域名稱。
在一實施例中,預設規則可關聯於查詢的長度。惡意網域時常將惡意代碼植入查詢中,進而使查詢的長度增加。據此,處理器110可響應於DNS日誌的查詢的長度大於查詢長度閾值而判斷DNS日誌與預設規則匹配,並可響應於DNS日誌的查詢的長度小於或等於查詢長度閾值而判斷DNS日誌與預設規則不匹配。
以表1的DNS日誌#1為例。DNS日誌#1的查詢「foc.ns1.example1.com」的長度為「20」。若查詢「foc.ns1.example1.com」的長度「20」大於查詢長度閾值,則處理器110可判斷DNS日誌#1與預設規則匹配,並且DNS日誌#1對應於惡意網域名稱。
在一實施例中,預設規則可關聯於回應的長度。惡意網域時常將惡意代碼植入回應中,進而使回應的長度增加。據此,處理器110可響應於DNS日誌的回應的長度大於回應長度閾值而判斷DNS日誌與預設規則匹配,並可響應於DNS日誌的回應的長度小於或等於回應長度閾值而判斷DNS日誌與預設規則不匹配。
以表1的DNS日誌#1為例。DNS日誌#1的回應「AAAIPNHDAABAAAAAAAAAA」的長度為「21」。若回應「AAAIPNHDAABAAAAAAAAAA」的長度「21」大於查詢長度閾值,則處理器110可判斷DNS日誌#1與預設規則匹配,並且DNS日誌#1對應於惡意網域名稱。
在一實施例中,預設規則可關聯於查詢或回應的無意義值(nonsense)。「無意義值為真」代表DNS日誌中的查詢或回應包含由隨機亂碼組成的字串,其中隨機亂碼時常是加密後的惡意代碼。據此,處理器110可響應於DNS日誌中的查詢或回應的無意義值為「真」而判斷DNS日誌與預設規則匹配,並可響應於DNS日誌中的查詢或回應的無意義值為「偽」而判斷DNS日誌與預設規則不匹配。
處理器110可根據n元語法(n-gram)以及詞頻(term frequency,TF)-逆向檔案頻率(inverse document frequency,IDF)演算法判斷一字串(例如:查詢或回應)的無意義值是否為「真」。具體來說,處理器110可根據n元語法將字串(string)拆解為至少一單詞(word),其中每一單詞包含n個字元,並且n為正整數。舉例來說,假設字串為「apple」且n等於3。處理器110可根據3元語法將字串「apple」拆解為單詞「app」、「ppl」以及「ple」。
處理器110可根據TF-IDF演算法計算分別對應於至少一單詞的至少一分數,並且計算至少一分數的總和。若總合大於閾值,則處理器110可判斷所述字串的無意義值為「真」,即無意義值等於1。若總合小於或等於閾值,則處理器110可判斷所述字串的無意義值為「偽」,即無意義值等於0。處理器110可根據方程式(1)、(2)和(3)計算字串S的單詞W的分數TF-IDF,其中A為字串S所包含的所有單詞的數量,B為字串S所包含的單詞W的數量,C為字詞庫(包含多個字串)中包含了單詞W的字串的數量,並且D為字詞庫所包含的所有字串的數量。
Figure 02_image001
…(1)
Figure 02_image003
…(2)
Figure 02_image005
…(3)
以表1的DNS日誌#1為例。若DNS日誌#1的查詢「foc.ns1.example1.com」的無意義值為「真」,則處理器110可判斷DNS日誌#1與預設規則匹配,並且DNS日誌#1對應於惡意網域名稱。若DNS日誌#1的回應「AAAIPNHDAABAAAAAAAAAA」的無意義值為「真」,則處理器110可判斷DNS日誌#1與預設規則匹配,並且DNS日誌#1對應於惡意網域名稱。
在一實施例中,預設規則可關聯於計數值。當惡意網域需要散播惡意代碼時,惡意網域需利用不同的DNS封包的子網域或回應來夾帶惡意代碼。因此,惡意網域所散播的DNS封包通常不會是相同的。大量相同的DNS封包通常是由用戶端重複地執行正常的DNS查詢而產生的。據此,處理器110可響應於DNS日誌的計數值小於計數值閾值而判斷DNS日誌與預設規則匹配,並可響應於DNS日誌的計數值大於或等於計數值閾值而判斷DNS日誌與預設規則不匹配。
以表1的DNS日誌#1為例。DNS日誌#1的計數值為「1」。若計數值「1」小於計數值閾值,則處理器110可判斷DNS日誌#1與預設規則匹配,並且DNS日誌#1對應於惡意網域名稱。
在一實施例中,預設規則可關聯於連線數量。惡意網域或惡意用戶端時常散播大量DNS封包,故可根據來自相同連線的DNS封包的數量判斷DNS封包的主網域是否為惡意主網域或判斷DNS封包的用戶端是否為惡意用戶端。據此,處理器110可響應於DNS日誌所對應的連線數量大於連線數量閾值而判斷DNS日誌與預設規則匹配,並可響應於所述連線數量小於或等於連線數量閾值而判斷DNS日誌與預設規則不匹配。
以表1的DNS日誌#1為例。DNS日誌#1所對應的連線數量為「3」。若連線數量「3」大於連線數量閾值,則處理器110可判斷DNS日誌#1與預設規則匹配,並且DNS日誌#1對應於惡意網域名稱。
在一實施例中,處理器110可根據邏輯判斷式(4)判斷DNS日誌與預設規則是否匹配,其中TTL為存活時間,
Figure 02_image007
為存活時間閾值,
Figure 02_image009
為查詢的長度,
Figure 02_image011
為查詢長度閾值,
Figure 02_image013
為回應的長度,
Figure 02_image015
為回應長度閾值,Cnt為計數值,
Figure 02_image017
為計數值閾值,Con為連線數量,
Figure 02_image019
為連線數量閾值,
Figure 02_image021
為查詢的無意義值,並且
Figure 02_image023
為回應的無意義值。若邏輯判斷式(4)為「真」,則處理器110可判斷DNS日誌與預設規則匹配。若邏輯判斷式(4)為「偽」,則處理器110可判斷DNS日誌與預設規則不匹配。
Figure 02_image025
…(4)
在步驟S205中,處理器110可為對應於惡意網域名稱的一或多筆DNS日誌進行分組。具體來說,在取得對應於惡意網域名稱的一或多筆DNS日誌後,處理器110可根據主網域對DNS日誌進行分群。具有相同主網域的DNS日誌可被分至相同的群組。具有不同主網域的DNS日誌可被分至不同的群組。以表1為例,假設處理器110判斷DNS日誌#4和#5對應於惡意網域名稱。處理器110可響應於DNS日誌#4和#5具有相同的主網域「example2.com」而將日誌#4和#5分至相同的群組。
在一實施例中,處理器110可自對應於惡意網域名稱的DNS日誌中擷取出主網域,並且將擷取出來的主網域增加至主網域黑名單212以更新主網域黑名單212。
在步驟S206中,處理器110可根據DNS日誌群組產生子網域或回應的正則表達式,並且將正則表達式增加至正則表達式黑名單230。處理器110可根據相同群組中的至少一DNS日誌中的多個子網域產生對應於子網域的正則表達式。處理器110還可根據相同群組中的至少一DNS日誌的多個回應產生對應於回應的正則表達式。處理器110可將子網域或回應的正則表達式儲存至正則表達式黑名單230中以更新正則表達式黑名單230。
具體來說,處理器110可將相同群組中的DNS日誌的子網域轉換為確定有限狀態自動機(deterministic finite automaton,DFA),並且根據DFA最小化(DFA minimization)演算法化簡確定有限狀態自動機。接著,處理器110可將經化簡的確定有限狀態自動機轉換為正則表達式。
確定有限狀態自動機為5-元組函數,如方程式(5)所示,其中A為確定有限狀態自動機,Q為非空有限的狀態集合,Σ為輸入字母表,
Figure 02_image027
為狀態轉移函式,
Figure 02_image029
為初始狀態,並且
Figure 02_image031
為接受狀態集合(或最終狀態集合)。
Figure 02_image033
…(5)
假設至少一子網域被轉換為確定有限狀態自動機A,則狀態集合Q可包含初始狀態以及至少一子網域的首N個字元構成的字串等狀態,其中N為大於0且小於或等於至少一子網域的長度的正整數。圖3根據本發明的一實施例繪示確定有限狀態自動機300的示意圖。以表1的DNS日誌#4和#5為例,處理器110可自DNS日誌#4擷取出子網域「abc.ns1」,並可自DNS日誌#5擷取出子網域「def.ns1」。處理器110可將子網域「abc.ns1」以及「def.ns1」轉換為確定有限狀態自動機300。確定有限狀態自動機300的狀態集合Q可包含初始狀態以及子網域「abc.ns1」和子網域「def.ns1」的首N個字元構成的字串等狀態,如表2所示,其中N大於0且小於或等於長度「7」,其中ε代表空值。 表2
狀態 狀態代表的字串
Figure 02_image035
ε
Figure 02_image037
a
Figure 02_image039
ab
Figure 02_image041
abc
Figure 02_image043
abc.
Figure 02_image045
abc.n
Figure 02_image047
abc.ns
Figure 02_image049
abc.ns1
Figure 02_image051
d
Figure 02_image053
de
Figure 02_image055
def
Figure 02_image057
def.
Figure 02_image059
def.n
Figure 02_image061
def.ns
Figure 02_image063
def.ns1
假設至少一子網域被轉換為確定有限狀態自動機A,則確定有限狀態自動機A的數入字母表Σ可包含至少一子網域的每一個字元。以確定有限狀態自動機300為例,確定有限狀態自動機300的數入字母表Σ可包含子網域「abc.ns1」和子網域「def.ns1」的每一個字元,如方程式(6)所示。 Σ={a,b,c,.,n,s,1,d,e,f}     …(6)
假設至少一子網域被轉換為確定有限狀態自動機A,則確定有限狀態自動機A的狀態轉移函式δ可將至少一子網域的首(N-1)個字元組成的字串轉換為至少一子網域的首N個字元組成的字串,其中N為大於0且小於或等於至少一子網域的長度的正整數。以確定有限狀態自動機300為例,確定有限狀態自動機300的狀態轉移函式δ可將子網域「abc.ns1」的首(N-1)個字元組成的字串轉換為子網域「abc.ns1」的首N個字元組成的字串,其中N大於0且小於或等於「7」。此外,狀態轉移函式δ可將子網域「def.ns1」的首(N-1)個字元組成的字串轉換為子網域「def.ns1」的首N個字元組成的字串,其中N大於0且小於或等於「7」,如表3和表4所示。 表3
N 當前狀態 次一狀態 當前字串 次一字串
1
Figure 02_image035
Figure 02_image037
ε a
2
Figure 02_image037
Figure 02_image039
a ab
3
Figure 02_image039
Figure 02_image041
ab abc
4
Figure 02_image041
Figure 02_image043
abc abc.
5
Figure 02_image043
Figure 02_image045
abc. abc.n
6
Figure 02_image045
Figure 02_image047
abc.n abc.ns
7
Figure 02_image047
Figure 02_image049
abc.ns abc.ns1
表4
N 當前狀態 次一狀態 當前字串 次一字串
1
Figure 02_image035
Figure 02_image051
ε d
2
Figure 02_image051
Figure 02_image053
d de
3
Figure 02_image053
Figure 02_image055
de def
4
Figure 02_image055
Figure 02_image057
def def.
5
Figure 02_image057
Figure 02_image059
def. def.n
6
Figure 02_image059
Figure 02_image061
def.n def.ns
7
Figure 02_image061
Figure 02_image063
def.ns def.ns1
假設至少一子網域被轉換為確定有限狀態自動機A,則確定有限狀態自動機A的初始狀態s可為空值,且確定有限狀態自動機A的接受狀態集合(或最終狀態集合)F可包含至少一子網域的最末字元。以確定有限狀態自動機300為例,確定有限狀態自動機300的初始狀態s可為空值ε,並且確定有限狀態自動機300的接受狀態集合F可包含子網域「abc.ns1」和子網域「def.ns1」的最末字元「1」。
處理器110可根據DFA最小化演算法化簡確定有限狀態自動機A。具體來說,處理器110可將所述確定有限狀態自動機A的狀態集合中的初始狀態以及最終狀態(即:接受狀態集合F中的狀態)自狀態集合移除以取得非接受集合(non-accept set)。另一方面,處理器110可利用最終狀態組成接受集合(accept set)。假設非接受集合包含第一狀態,處理器110可響應於第一狀態的次一狀態不在非接受集合中,將第一狀態自非接受集合移除以更新非接受集合,並且利用第一狀態組成對應的第一子集合。第一子集合中的每一個狀態可根據相同的輸入轉移至相同的集合。在更新完非接受集合後,假設經更新的非接受集合包含第二狀態,處理器110可響應於第二狀態的次一狀態不在經更新的非接受集合中,將第二狀態自經更新的非接受集合移除以再次更新非接受集合,並且利用第二狀態組成第二子集合。第二子集合中的每一個狀態可根據相同的輸入轉移至相同的集合。處理器110可重複地執行上述的步驟直到每一個子集合中的狀態之次一狀態屬於相同的集合為止,藉以化簡確定有限狀態自動機A。經化簡的確定有限狀態自動機A的狀態集合可包含初始狀態、對應於第一子集合的狀態、對應於第二子集合的狀態以及對應於接受集合的狀態等多個狀態。經化簡的確定有限狀態自動機A與未經化簡的確定有限狀態自動機A具有相同的初始狀態,並且經化簡的確定有限狀態自動機A的最終狀態對應於接受集合。
圖4根據本發明的一實施例繪示確定有限狀態自動機400的示意圖。處理器110可根據DFA最小化演算法將確定有限狀態自動機300化簡為確定有限狀態自動機400。具體來說,確定有限狀態自動機300的狀態集合
Figure 02_image065
可包含初始狀態
Figure 02_image067
以及最終狀態
Figure 02_image069
Figure 02_image071
。處理器110可將確定有限狀態自動機300的狀態集合Q中的初始狀態
Figure 02_image067
以及最終狀態
Figure 02_image069
Figure 02_image071
自狀態集合Q移除以取得非接受集合
Figure 02_image073
。另一方面,處理器110可利用最終狀態
Figure 02_image069
Figure 02_image071
組合接受集合
Figure 02_image075
接著,處理器110可響應於狀態
Figure 02_image077
的次一狀態
Figure 02_image069
以及狀態
Figure 02_image079
的次一狀態
Figure 02_image071
不在非接受集合
Figure 02_image073
中而將狀態
Figure 02_image077
Figure 02_image079
自非接受集合移除以將非接受集合更新為
Figure 02_image081
。處理器110可利用狀態
Figure 02_image077
Figure 02_image079
組成子集合
Figure 02_image083
,其中子集合
Figure 02_image083
中的每一個狀態可根據相同的輸入「1」轉移至相同的集合,即接受集合
Figure 02_image075
而後,處理器110可響應於狀態
Figure 02_image085
的次一狀態
Figure 02_image077
以及狀態
Figure 02_image087
的次一狀態
Figure 02_image079
不在經更新的非接受集合
Figure 02_image081
中而將狀態
Figure 02_image085
Figure 02_image087
自經更新的非接受集合移除以將非接受集合更新為
Figure 02_image089
。處理器110可利用狀態
Figure 02_image085
Figure 02_image087
組成子集合
Figure 02_image091
,其中子集合
Figure 02_image091
中的每一個狀態可根據相同的輸入「s」轉移至相同的集合,即子集合
Figure 02_image083
處理器110可重複地執行與上述的步驟以取得經更新的非接受集合
Figure 02_image093
、子集合
Figure 02_image095
Figure 02_image097
Figure 02_image099
Figure 02_image101
以及最終狀態
Figure 02_image103
。處理器110可響應於狀態
Figure 02_image105
的次一狀態
Figure 02_image107
以及狀態
Figure 02_image109
的次一狀態
Figure 02_image111
不在非接受集合
Figure 02_image093
中而將狀態
Figure 02_image105
Figure 02_image109
自非接受集合移除以將非接受集合更新為
Figure 02_image113
。處理器110可利用狀態
Figure 02_image105
Figure 02_image109
組成子集合。由於狀態
Figure 02_image105
Figure 02_image109
並無法根據相同的輸入轉移至相同的集合,故處理器110可分別根據狀態
Figure 02_image105
Figure 02_image109
組成子集合
Figure 02_image115
和子集合
Figure 02_image117
處理器110可響應於狀態
Figure 02_image119
的次一狀態
Figure 02_image105
以及狀態
Figure 02_image121
的次一狀態
Figure 02_image109
不在非接受集合
Figure 02_image113
中而將狀態
Figure 02_image119
Figure 02_image121
自非接受集合移除以將非接受集合更新為空集合Ø。處理器110可利用狀態
Figure 02_image119
Figure 02_image121
組成子集合。由於狀態
Figure 02_image119
Figure 02_image121
並無法根據相同的輸入轉移至相同的集合,故處理器110可分別根據狀態
Figure 02_image119
Figure 02_image121
組成子集合
Figure 02_image123
和子集合
Figure 02_image125
處理器110可將接受集合
Figure 02_image075
設為新的狀態
Figure 02_image127
以作為確定有限狀態自動機400的最終狀態,並可將初始狀態
Figure 02_image067
設為確定有限狀態自動機400的初始狀態。處理器110可將子集合
Figure 02_image083
設為新的狀態
Figure 02_image129
以作為確定有限狀態自動機400的狀態。處理器110可將子集合
Figure 02_image091
設為新的狀態
Figure 02_image131
以作為確定有限狀態自動機400的狀態。處理器110可將子集合
Figure 02_image133
設為新的狀態
Figure 02_image135
以作為確定有限狀態自動機400的狀態。處理器110可將子集合
Figure 02_image095
設為新的狀態
Figure 02_image137
以作為確定有限狀態自動機400的狀態。處理器110可將子集合
Figure 02_image139
Figure 02_image141
Figure 02_image143
設為確定有限狀態自動機400的狀態。據此,處理器110已經取得了確定有限狀態自動機400的所有狀態。處理器110已成功地將確定有限狀態自動機300化簡為確定有限狀態自動機400。
在完成確定有限狀態自動機的化簡後,處理器110可將經化簡的確定有限狀態自動機(以下稱為「第二確定有限狀態自動機」)轉換為正則表達式。具體來說,處理器110可為第二確定有限狀態自動機的每一個狀態產生對應的方程式。假設第二確定有限狀態自動機的特定狀態具有對應於至少一輸入的至少一前一狀態,所述特定狀態的方程式可等於至少一前一狀態與至少一輸入的串接的結果。表5為確定有限狀態自動機400的每一個狀態的方程式的範例。 表5
Figure 02_image145
Figure 02_image147
Figure 02_image149
Figure 02_image151
Figure 02_image153
Figure 02_image155
Figure 02_image157
Figure 02_image159
Figure 02_image161
Figure 02_image163
以狀態
Figure 02_image119
為例,狀態
Figure 02_image119
具有對應於輸入「a」的前一狀態
Figure 02_image067
。據此,狀態
Figure 02_image119
的方程式可等於狀態
Figure 02_image067
與輸入「a」的串接「
Figure 02_image067
a」。以狀態
Figure 02_image137
為例,狀態
Figure 02_image137
具有對應於輸入「c」的前一狀態
Figure 02_image105
以及對應於輸入「f」的前一狀態
Figure 02_image109
。據此,狀態
Figure 02_image137
的方程式可等於狀態
Figure 02_image105
與輸入「c」的串接「
Figure 02_image105
c」或狀態
Figure 02_image109
與輸入「f」的串接「
Figure 02_image109
f」,以「
Figure 02_image165
」的方程式表示。
處理器110可根據第二確定有限狀態自動機的每一個狀態的方程式推導出最終狀態的方程式。以表5為例,處理器110可根據表5的10個方程式推導出最終狀態
Figure 02_image127
的方程式,如方程式(7)所示。
Figure 02_image167
…(7)
處理器110可將最終狀態的方程式中的初始狀態移除,並且將方程式中的特殊符號加入跳脫字元以更新所述方程式。在更新完方程式後,處理器110可將經更新的方程式轉換為正則表達式,如表6所示。 表6
將最終狀態的方程式中的初始狀態ε移除(例如:根據Brzozowski algebraic演算法):
Figure 02_image169
將正則表達式的特殊符號「.」加入跳脫字元「\」,將「+」轉換成以邏輯符號「|」表示:
Figure 02_image171
將括號內之資料進行統整,得到子網域的正則表達式(若括號內僅包含文字,則根據括號產生正則表達式[a-z];若括號內僅包含數字,則根據括號產生正則表達式[0-9];括號內包含文字和數字,則根據括號產生正則表達式[a-z0-9];若括號中每一個字串的長度相同且等於n,則根據括號產生正則表達式{n};若括號中存在長度不同的字串,則根據括號產生正則表達式{min max},其中max代表括號中的最長字串的長度,min代表括號中的最短字串的長度): [a-z]{3}\.ns1
處理器110可基於與產生子網域的正則表達式相同的方式產生回應的正則表達式。以表1的DNS日誌#4和#5為例,在日誌#4和#5被判斷為對應於惡意網域名稱後,處理器110可根據日誌#4和#5產生如表7所示的資訊,其中處理器110可將主網域「example2.com」增加至主網域黑名單212中,並可將對應於子網域的正則表達式「[a-z]{3}\.ns1」以及對應於回應的正則表達式「[A-Z]{20}」增加至正則表達式黑名單230中。 表7
主網域 子網域的正則表達式 回應的正則表達式
example2 [a-z]{3}\.ns1 [A-Z]{20}
圖5根據本發明的一實施例繪示一種偵測惡意網域名稱的方法的流程圖,其中所述方法可由如圖1所示的電子裝置100實施。在步驟S501中,取得惡意流量資料庫,其中惡意流量資料庫包含主網域名單以及關鍵字名單。在步驟S502中,接收網路流量,並且自網路流量取得多筆網域名稱系統日誌。在步驟S503中,根據主網域名單以及關鍵字名單過濾多筆網域名稱系統日誌以取得至少一網域名稱系統日誌。在步驟S504中,響應於至少一網域名稱系統日誌與預設規則匹配,判斷至少一網域名稱系統日誌對應於惡意網域名稱。在步驟S505中,輸出對應於至少一網域名稱系統日誌的警示訊息。
綜上所述,本發明的電子裝置可針對DNS穿隧特性,從DNS日誌中的TXT與NULL記錄進行分析,過濾掉正常的流量之後,偵測可能的惡意通道行為,具有辨識企業內部DNS流量是否有存在利用隱匿通道通訊的網域名稱與通訊主機之功效。本發明的電子裝置可經由DNS日誌中的查詢長度、回應長度、查詢的無意義值、回應的無意義值、存活時間、相同封包之計數值或相同連線數量等多種特徵作為惡意網域名稱的偵測依據。本發明的電子裝置可針對DNS日誌中的查詢的子網域或回應進行分析以偵測惡意網域名稱。因為攻擊者若採用相似的後門程式,雖然主網域名稱會改變,但子網域名稱、查詢或回應等參數可能會呈現相似的結構。本發明的電子裝置可利用這些相似性偵測更多的惡意域名,並動態地更新偵測規則。本發明的電子裝置部署簡單,不需花費大量運算資源,可應用於流量或日誌即時監測,檢測速度快且檢測結果準確度高,能夠部署在各種網路環境中。本發明的電子裝置可利用從網路流量萃取生成Passive DNS日誌定期分析出疑似提供隱匿通道通訊的網域名稱,可找出企業內部透過隱匿通道通訊主機,以降低企業內部資料洩漏之風險。
100:電子裝置 110:處理器 120:儲存媒體 130:收發器 200:惡意流量資料庫 210:主網域名單 211:主網域白名單 212:主網域黑名單 220:關鍵字名單 221:關鍵字白名單 222:關鍵字黑名單 230:正則表達式黑名單 300、400:確定有限狀態自動機 S201、S202、S203、S204、S205、S206、S501、S502、S503、S504、S505:步驟
圖1根據本發明的一實施例繪示一種偵測惡意網域名稱的電子裝置的示意圖。 圖2根據本發明的一實施例繪示一種偵測惡意網域名稱的方法的流程圖。 圖3根據本發明的一實施例繪示確定有限狀態自動機的示意圖。 圖4根據本發明的一實施例繪示確定有限狀態自動機的示意圖。 圖5根據本發明的一實施例繪示一種偵測惡意網域名稱的方法的流程圖。
S501、S502、S503、S504、S505:步驟

Claims (22)

  1. 一種偵測惡意網域名稱的電子裝置,包括:收發器,接收網路流量;儲存媒體,儲存惡意流量資料庫,其中所述惡意流量資料庫包括主網域名單以及關鍵字名單;以及處理器,耦接所述儲存媒體以及所述收發器,其中所述處理器經配置以執行:自所述網路流量取得多個網域名稱系統日誌;根據所述主網域名單以及所述關鍵字名單過濾所述多個網域名稱系統日誌以取得未被過濾掉的網域名稱系統日誌;響應於所述未被過濾掉的網域名稱系統日誌與預設規則匹配,判斷所述未被過濾掉的網域名稱系統日誌為對應於所述惡意網域名稱的惡意網域名稱系統日誌;以及通過所述收發器輸出對應於所述惡意網域名稱系統日誌的警示訊息,其中所述惡意流量資料庫更包括正則表達式黑名單,其中所述處理器根據所述正則表達式黑名單過濾所述多個網域名稱系統日誌以產生所述未被過濾掉的網域名稱系統日誌,其中所述處理器響應於所述未被過濾掉的網域名稱系統日誌對應於所述惡意網域名稱的所述惡意網域名稱系統日誌而根據所述惡意網域名稱系統日誌中的多個子網域來產生正則表達式,並且將所述正則表達式儲存於所述正則表達式黑名單中以更新所述 正則表達式黑名單。
  2. 如請求項1所述的電子裝置,其中所述未被過濾掉的網域名稱系統日誌包括時戳、用戶端、查詢、回應以及存活時間。
  3. 如請求項2所述的電子裝置,其中所述處理器響應於所述存活時間小於存活時間閾值而判斷所述未被過濾掉的網域名稱系統日誌與所述預設規則匹配。
  4. 如請求項2所述的電子裝置,其中所述處理器響應於所述查詢的長度大於查詢長度閾值而判斷所述未被過濾掉的網域名稱系統日誌與所述預設規則匹配。
  5. 如請求項2所述的電子裝置,其中所述處理器響應於所述回應的長度大於回應長度閾值而判斷所述未被過濾掉的網域名稱系統日誌與所述預設規則匹配。
  6. 如請求項2所述的電子裝置,其中所述處理器響應於所述查詢的無意義值為真而判斷所述未被過濾掉的網域名稱系統日誌與所述預設規則匹配。
  7. 如請求項6所述的電子裝置,其中所述處理器根據n元語法以及詞頻-逆向檔案頻率演算法判斷所述無意義值為真。
  8. 如請求項7所述的電子裝置,其中所述處理器根據所述n元語法將所述查詢拆解為多個單詞,根據所述詞頻-逆向檔案頻率演算法計算分別對應於多個單詞的多個分數,並且響應於所述多個分數的總和大於閾值而判斷所述無意義值為真。
  9. 如請求項2所述的電子裝置,其中所述處理器統計預設時段內所述網路流量中與所述未被過濾掉的網域名稱系統日誌相同的封包的數量以產生計數值。
  10. 如請求項9所述的電子裝置,其中所述處理器響應於所述計數值小於計數值閾值而判斷所述未被過濾掉的網域名稱系統日誌與所述預設規則匹配。
  11. 如請求項2所述的電子裝置,其中所述查詢包括主網域,其中所述未被過濾掉的網域名稱系統日誌包括第一網域名稱系統日誌以及第二網域名稱系統日誌,其中所述處理器響應於所述第一網域名稱系統日誌與所述第二網域名稱系統日誌對應於相同的主網域、用戶端以及時戳範圍而根據所述第一網域名稱系統日誌以及所述第二網域名稱系統日誌計算連線數量。
  12. 如請求項11所述的電子裝置,其中所述處理器響應於所述連線數量大於連線數量閾值而判斷所述未被過濾掉的網域名稱系統日誌與所述預設規則匹配。
  13. 如請求項1所述的電子裝置,其中所述處理器將所述多個子網域轉換為確定有限狀態自動機,並且根據確定有限狀態自動機最小化演算法將所述確定有限狀態自動機轉換為所述正則表達式。
  14. 如請求項13所述的電子裝置,其中所述確定有限狀態自動機的狀態集合包括初始狀態以及所述多個子網域的首N 個字元構成的字串,其中N為大於零且小於或等於所述多個子網域的長度的正整數。
  15. 如請求項13所述的電子裝置,其中所述確定有限狀態自動機的輸入字母表包括所述多個子網域的每一個字元。
  16. 如請求項13所述的電子裝置,其中所述確定有限狀態自動機的狀態轉移函式將所述多個子網域的首(N-1)個字元組成的第一字串轉換為所述多個子網域的首N個字元組成的第二字串,其中N為大於零且小於或等於所述多個子網域的長度的正整數。
  17. 如請求項13所述的電子裝置,其中所述確定有限狀態自動機最小化演算法包括:將所述確定有限狀態自動機的狀態集合中的初始狀態以及最終狀態自所述狀態集合移除以取得非接受集合;利用所述最終狀態組成接受集合;響應於所述非接受集合中的第一狀態的次一狀態不在所述非接受集合中,將所述第一狀態自所述非接受集合移除以更新所述非接受集合,並且利用所述第一狀態組成第一子集合;響應於經更新的所述非接受集合中的第二狀態的次一狀態不在經更新的所述非接受集合中,將所述第二狀態自所述經更新的所述非接受集合移除以再次更新所述非接受集合,並且利用所述第二狀態組成第二子集合;以及產生第二確定有限狀態自動機,其中所述第二確定有限狀態 自動機的第二狀態集合包括初始狀態、對應於所述第一子集合的狀態、對應於所述第二子集合的狀態以及對應於所述接受集合的狀態,其中所述處理器將所述第二確定有限狀態自動機轉換為所述正則表達式。
  18. 如請求項1所述的電子裝置,其中所述主網域名單包括主網域白名單以及主網域黑名單,其中所述處理器根據所述主網域白名單過濾所述多個網域名稱系統日誌中對應於非惡意網域的網域名稱系統日誌,並根據所述主網域黑名單過濾所述多個網域名稱系統日誌中對應於已知惡意網域的網域名稱系統日誌。
  19. 如請求項1所述的電子裝置,其中所述關鍵字名單包括關鍵字白名單以及關鍵字黑名單,其中所述處理器根據所述關鍵字白名單過濾所述多個網域名稱系統日誌中對應於非惡意查詢/回應的網域名稱系統日誌,並根據所述關鍵字黑名單過濾所述多個網域名稱系統日誌中對應於已知惡意查詢/回應的網域名稱系統日誌。
  20. 如請求項1所述的電子裝置,其中所述處理器根據預設週期過濾所述多個網域名稱系統日誌以取得所述未被過濾掉的網域名稱系統日誌。
  21. 如請求項1所述的電子裝置,其中所述處理器響應於通過所述收發器接收用戶指令而過濾所述多個網域名稱系統日誌以取得所述未被過濾掉的網域名稱系統日誌。
  22. 一種偵測惡意網域名稱的方法,包括:取得惡意流量資料庫,其中所述惡意流量資料庫包括主網域名單、關鍵字名單以及正則表達式黑名單;接收網路流量,並且自所述網路流量取得多個網域名稱系統日誌;根據所述主網域名單、所述正則表達式黑名單以及所述關鍵字名單過濾所述多個網域名稱系統日誌以取得未被過濾掉的網域名稱系統日誌;響應於所述未被過濾掉的網域名稱系統日誌與預設規則匹配,判斷所述未被過濾掉的網域名稱系統日誌為對應於所述惡意網域名稱的惡意網域名稱系統日誌;輸出對應於所述惡意網域名稱系統日誌的警示訊息;以及響應於所述未被過濾掉的網域名稱系統日誌對應於所述惡意網域名稱的所述惡意網域名稱系統日誌而根據所述惡意網域名稱系統日誌中的多個子網域來產生正則表達式,並且將所述正則表達式儲存於所述正則表達式黑名單中以更新所述正則表達式黑名單。
TW110146896A 2021-12-15 2021-12-15 偵測惡意網域名稱的電子裝置和方法 TWI781852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW110146896A TWI781852B (zh) 2021-12-15 2021-12-15 偵測惡意網域名稱的電子裝置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110146896A TWI781852B (zh) 2021-12-15 2021-12-15 偵測惡意網域名稱的電子裝置和方法

Publications (2)

Publication Number Publication Date
TWI781852B true TWI781852B (zh) 2022-10-21
TW202327319A TW202327319A (zh) 2023-07-01

Family

ID=85462558

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110146896A TWI781852B (zh) 2021-12-15 2021-12-15 偵測惡意網域名稱的電子裝置和方法

Country Status (1)

Country Link
TW (1) TWI781852B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006014980A2 (en) * 2004-07-27 2006-02-09 U.S. Telecom Inc. Method for blocking unwanted e-mail based on proximity detection
US20130191915A1 (en) * 2012-01-25 2013-07-25 Damballa, Inc. Method and system for detecting dga-based malware
US20150288711A1 (en) * 2014-04-03 2015-10-08 The Sylint Group Network analysis apparatus and method
CN105827594A (zh) * 2016-03-08 2016-08-03 北京航空航天大学 一种基于域名可读性及域名解析行为的可疑性检测方法
CN106101104A (zh) * 2016-06-15 2016-11-09 国家计算机网络与信息安全管理中心 一种基于域名解析的恶意域名检测方法及系统
US10027688B2 (en) * 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
US20210021611A1 (en) * 2019-07-19 2021-01-21 Palo Alto Networks, Inc. Inline malware detection
CN112910929A (zh) * 2021-03-24 2021-06-04 中国科学院信息工程研究所 基于异质图表示学习的恶意域名检测方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006014980A2 (en) * 2004-07-27 2006-02-09 U.S. Telecom Inc. Method for blocking unwanted e-mail based on proximity detection
US10027688B2 (en) * 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
US20130191915A1 (en) * 2012-01-25 2013-07-25 Damballa, Inc. Method and system for detecting dga-based malware
US20150288711A1 (en) * 2014-04-03 2015-10-08 The Sylint Group Network analysis apparatus and method
CN105827594A (zh) * 2016-03-08 2016-08-03 北京航空航天大学 一种基于域名可读性及域名解析行为的可疑性检测方法
CN106101104A (zh) * 2016-06-15 2016-11-09 国家计算机网络与信息安全管理中心 一种基于域名解析的恶意域名检测方法及系统
US20210021611A1 (en) * 2019-07-19 2021-01-21 Palo Alto Networks, Inc. Inline malware detection
CN112910929A (zh) * 2021-03-24 2021-06-04 中国科学院信息工程研究所 基于异质图表示学习的恶意域名检测方法及装置

Also Published As

Publication number Publication date
TW202327319A (zh) 2023-07-01

Similar Documents

Publication Publication Date Title
US11797671B2 (en) Cyberanalysis workflow acceleration
Yen et al. Traffic aggregation for malware detection
US8260914B1 (en) Detecting DNS fast-flux anomalies
US7958227B2 (en) Attributes of captured objects in a capture system
Prasse et al. Malware detection by analysing network traffic with neural networks
WO2018113594A1 (zh) 防御dns攻击的方法、装置及存储介质
US8010689B2 (en) Locational tagging in a capture system
US8495737B2 (en) Systems and methods for detecting email spam and variants thereof
US10880319B2 (en) Determining potentially malware generated domain names
JP5832951B2 (ja) 攻撃判定装置、攻撃判定方法及び攻撃判定プログラム
US11108794B2 (en) Indicating malware generated domain names using n-grams
TWI781852B (zh) 偵測惡意網域名稱的電子裝置和方法
Hou et al. A Survey of DNS Tunnel Detection
CN112583827A (zh) 一种数据泄露检测方法及装置
Gavrilut et al. Identifying DGA-based botnets using network anomaly detection
Nguyen Quoc et al. Detecting DGA Botnet based on Malware Behavior Analysis
Zhang Detecting advanced botnets in enterprise networks
Nordby Security Incident detection with passive DNS logs
US12019745B2 (en) Cyberanalysis workflow acceleration
Matsubara et al. Open DNS resolver activity in campus network system
TWI742808B (zh) 隱匿通道偵測方法及裝置
Wang et al. The Rapid Extraction of Suspicious Traffic from Passive DNS.
JP2023165633A (ja) 機械学習ベースのマルウェア検出のためのシステムおよび方法
Reddy Detecting Networks Employing Algorithmically Generated Domain Names
Musashi et al. Detection of Host Search Attacks in PTR Resource Record DNS Query Packet Traffic

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent