TWI684889B - 評估網域名稱的方法及其伺服器 - Google Patents
評估網域名稱的方法及其伺服器 Download PDFInfo
- Publication number
- TWI684889B TWI684889B TW107135011A TW107135011A TWI684889B TW I684889 B TWI684889 B TW I684889B TW 107135011 A TW107135011 A TW 107135011A TW 107135011 A TW107135011 A TW 107135011A TW I684889 B TWI684889 B TW I684889B
- Authority
- TW
- Taiwan
- Prior art keywords
- specific
- vector
- item
- patent application
- domain name
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/144—Detection or countermeasures against botnets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本發明提供一種評估網域名稱的方法及其伺服器。所述方法包括:取得原始網域名稱,並將原始網域名稱區分為多個部分;取出前述部分中的特定部分,其中特定部分包括字元;將字元編碼為編碼資料;將編碼資料填補至特定長度;將填補後的編碼資料投影至多個嵌入向量;將前述嵌入向量依序輸入長短期記憶模型中的多個單元,以產生結果向量;以及透過全連接層及特定函數將結果向量轉換為預測機率。
Description
本發明是有關於一種評估網域名稱的方法及其伺服器,且特別是有關於一種評估網域名稱是否為由網域生成演算法(Domain Generation Algorithm, DGA)所產生之機率的方法及其伺服器。
當駭客(hacker)意圖攻擊某些裝置時,其將嘗試各種可能方式以將病毒(例如,Bot病毒)植入受害者的裝置中,進而感染受害者的裝置。當駭客掌控多個受感染的裝置時,就能形成一個殭屍網路(botnet),並在需要的時候對目標發動攻擊(例如,分散式阻斷服務攻擊(distributed denial-of-service attack,DDos attack)。在潛伏期時,Bot病毒需要與命令與控制(Command and Control,C2)伺服器保持聯繫,以更新最新版的指令,並讓駭客能精準掌握Bot病毒的數量與狀態。為了提高Bot病毒回報的成功率,以及避免C2伺服器確切的IP位置被發現,駭客將運用DGA以動態產生聯絡用的網域名稱(domain name),以讓bot病毒得以不斷嘗試透過合法的網域名稱系統(Domain Name System,DNS) 服務與C2伺服器連接,進而提升整體殭屍網路的壽命。
現今DNS已成為上網不可或缺的服務,因此多數的單位或使用者並不會特別關注 DNS 查詢的流量與內容。Domain-flux 即針對此一漏洞,在Bot無法連到預設的伺服器時,使其不斷地連接由DGA所產生的網域名稱。因此,只要駭客成功註冊其中的一個網域名稱,最終Bot必定可以連接上C2伺服器。
由於DGA演算法能在短時間內產生大量的網域名稱,因而使得傳統以網域名稱為防堵基礎的黑名單機制失效。即便相關網管人員仍能透過一些細微的線索來推測哪些網域名稱可能是由DGA所產生的(例如,網域名稱多為無意義之字串、網域名稱過長…等),但由於DNS的流量通常很大,難以逐項檢查。並且,DGA的種類繁多,其中有些演算法產生的隱性特徵更是難以用人眼判斷。
有鑑於此,本發明提出的評估網域名稱的方法及其伺服器可用於預測所輸入的原始網域名稱為DGA演算法所產生之機率,進而早期發現哪些網域名稱可能有問題。
本發明提供一種評估網域名稱的方法,包括:取得一原始網域名稱,並將原始網域名稱區分為多個部分;取出前述部分中的一特定部分,其中特定部分包括至少一字元;將至少一字元編碼為至少一編碼資料;將至少一編碼資料填補至一特定長度;將填補後的至少一編碼資料投影至多個嵌入向量,其中填補後的至少一編碼資料一對一地對應於前述嵌入向量;將前述嵌入向量依序輸入一長短期記憶模型中的多個單元,以產生一結果向量;以及透過一全連接層及一特定函數將結果向量轉換為一預測機率。
本發明提供一種伺服器,其包括儲存電路及處理器。儲存電路儲存多個模組。處理器耦接儲存電路,存取前述模組以執行以下步驟:取得一原始網域名稱,並將原始網域名稱區分為多個部分;取出前述部分中的一特定部分,其中特定部分包括至少一字元;將至少一字元編碼為至少一編碼資料;將至少一編碼資料填補至一特定長度;將填補後的至少一編碼資料投影至多個嵌入向量,其中填補後的至少一編碼資料一對一地對應於前述嵌入向量;將前述嵌入向量依序輸入一長短期記憶模型中的多個單元,以產生一結果向量;以及透過一全連接層及一特定函數將結果向量轉換為一預測機率。
基於上述,本發明提出的評估網域名稱方法及其伺服器可利用訓練好的長短期記憶(Long Short Term Memory,LSTM)模型來辨識哪些網域名稱可能是駭客使用DGA所產生的網域名稱,進而讓相關人員可及早採取相應的防備措施。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
概略而言,本發明提出的方法可先基於深度學習的技術而以大量的訓練資料來訓練LSTM模型,再將未知的網域名稱輸入至LSTM模型中,以利用LSTM模型預測此未知網域名稱為DGA所產生的機率。
深度學習(Deep learning)是機器學習的其中一個分支,由多層類神經網路(Neural network)建構而成。請參照圖1,其是類神經網路及深度學習神經網路的示意圖。如圖1所示,上述類神經網路是一種模仿生物神經系統的數學模型,其通常具有數個階層,而每個階層中包含多個神經元(neuron)。每個神經元會先將上一層神經元的輸入值乘以權重後加總,並在經過激活函數(Activation function)的轉換後,輸出至下一層。整個類神經網路的訓練過程,就是為了找到最佳的權重(weight)設定,使輸出結果趨近於最佳化目標。透過將資料經過多個處理層(layer)中的線性或非線性轉換,能夠自動擷取出可以代表資料特性的特徵。因此,只要架構與參數設定得宜,類神經網路的特徵擷取(Feature extraction)能力不僅可以省去專家進行特徵工程所需花費的時間,還可以在以往機器學習一直無法突破的應用上,得到非常優異的表現,因此成為了現今最熱門的研究領域之一。
請參照圖2,其是遞歸神經網路(Recurrent Neural Networks,RNN)的示意圖。有別於一般的類神經網路,圖2所示的RNN是一種可以記憶的神經網路。具體而言,在一般的類神經網路中,神經元的資訊只能完全由當下輸入的資料貢獻,但RNN除了讓神經元與當下輸入的資料連接之外,同時也跟過去的神經元連接,使得神經元能保有前面的記憶。
然而,當傳統的RNN 當往前連接的網路愈長時,反向傳播(backpropagation) 時的梯度(gradient)就愈小,因而產生梯度消失(gradient vanish)的問題,導致學習效果變差。因此,傳統RNN 很難學習太久之前的記憶,而LSTM模型則可用於改善此問題。
請參照圖3,其是依據本發明之一實施例繪示的LSTM模型單元的示意圖。如圖3所示,在LSTM模型(其可由多個單元(cell)串接而成)的個單元中存在一個記憶區。有別於傳統RNN完全輸入完全輸出的方式,LSTM模型單元是由3個閥(gate)控制記憶區的更新及輸出。前述3個閥包括:(1)遺忘閥(forget gate)311:決定要傳遞前一個單元多少比例的記憶至下一個單元的記憶區裡;(2)輸入閥(input gate)312:決定有多少新的資訊要進入記憶區 (包含目前輸入的
前面輸出的
);及(3)輸出閥(output gate)313:決定更新後的記憶有多少比例要輸出至下一個單元。
基於上述,本發明利用大量的訓練資料(例如,已知為由DGA所產生的網域名稱)來訓練LSTM模型,藉以讓LSTM模型自動從上述訓練資料中學習到可用於辨識DGA所產生的網域名稱的有效特徵。在完成訓練後,當上述LSTM模型接收未知網域名稱時,即可藉由擷取其中的特徵來預估此未知網域名稱係由DGA所產生的機率,以下將進行詳細說明。
請參照圖4,其是依據本發明之一實施例繪示的伺服器功能方塊圖。在本實施例中,伺服器400例如可設置於一間公司中,並可用於讓相關的網管人員監控上述公司中多台電腦的上網記錄。舉例而言,當上述電腦連上某一網站時,伺服器400可透過日誌(log)記錄此網站的網域名稱,而此網域名稱即可作為原始網域名稱而輸入至訓練後的LSTM模型以進行辨識,但本發明可不限於此。
伺服器400包括儲存電路420及處理器404。儲存電路402例如是記憶體、硬碟或是其他任何可用於儲存資料的元件,而可用以記錄多個程式碼或模組。處理器404耦接於儲存電路402,並可為一般用途處理器、特殊用途處理器、傳統的處理器、數位訊號處理器、多個微處理器(microprocessor)、一個或多個結合數位訊號處理器核心的微處理器、控制器、微控制器、特殊應用集成電路(Application Specific Integrated Circuit,ASIC)、場可程式閘陣列電路(Field Programmable Gate Array,FPGA)、任何其他種類的積體電路、狀態機、基於進階精簡指令集機器(Advanced RISC Machine,ARM)的處理器以及類似品。
請參照圖5,其是依據本發明之一實施例繪示的評估網域名稱的方法流程圖。圖5的方法可由圖4的伺服器400執行,以下即搭配圖4的元件來說明圖5各步驟的細節。
首先,在步驟S510中,處理器404可取得原始網域名稱,並將原始網路名稱區分為多個部分。在一實施例中,前述部分可由次級網域名稱(sub-level domain name)、通用頂級網域名稱(generic top-level domain name,gTLD name)、國家和地區頂級域名(country code top-level domain name,ccTLD name)及特定部分組成。換言之,上述特定部分即為原始網域名稱中除了次級網域名稱、gTLD及ccTLD之外的剩餘部分。
由於次級網域名稱、gTLD及ccTLD亦會包括於正常的網域名稱中,無助於之後進行的辨識操作,因此在步驟S520中,處理器404可取出前述部分中的特定部分,以提升後續辨識的效率。
為便於理解本發明的概念,以下特輔以圖6、圖7、圖8及圖9來進行例示性說明,但其僅用以舉例,並非用以限定本發明可能的實施方式。請先參照圖6,其是依據本發明之一實施例繪示的對原始網域名稱進行預處理的示意圖。在圖6實施例中,原始網域名稱611例如是「***.com」。相應地,處理器404可在步驟S510將原始網域名稱611區分為「***」(即,特定部分612)及「.com」等部分,並在步驟S520中將特定部分612取出。
如圖6所示,特定部分612包括字元612a、612b、612c、612d、612e、612f。相應地,在步驟S530中,處理器404可將字元612a-612f編碼為編碼資料613a、613b、613c、613d、613e、613f。具體而言,由於在類神經網路的運算過程中需經歷反覆的矩陣相乘,以得到各節點間最合適的權重,因此需先經過步驟S530來將特定部分612編碼為相應的數字,方能輸入至後續的LSTM模型中。在其他實施例中,設計者可依需求而調整將字元編碼為編碼資料的方式,並不限於圖6所示的機制。
之後,在步驟S540中,處理器404可將編碼資料613a-613f填補至特定長度(例如,75個字元)。具體而言,由於不同原始網域名稱的長度不盡相同,而為了便於輸入至後續的LSTM模型中,處理器404可將編碼資料613a-613f填補至適於輸入至LSTM模型的長度。在本實施例中,處理器404可採用補零(zero-padding)的方式來將編碼資料613a-613f填補至75個字元。亦即,處理器404可計算編碼資料613a-613f的長度(即,6個字元)與特定長度(例如,75個字元)之間的差值(即,59個字元),並在編碼資料613a-613f之前填補59個特定數字(即,0),但本發明可不限於此。
在其他實施例中,設計者亦可依經驗而選擇其他的數值作為上述特定長度,只要所選的特定長度可涵蓋大部分的網域名稱長度即可適用。
之後,在步驟S550中,處理器404可將填補後的編碼資料614投影至多個嵌入向量。具體而言,在LSTM模型中一般包括嵌入層(embedding layer)、LSTM層及全連接層(fully-connected layer),而步驟S550的用意即在於建立上述的嵌入層,其細節將輔以圖7進行說明。
請參照圖7,其是依據圖6繪示的嵌入層示意圖。在本實施例中,填補後的編碼資料614可經由處理器404投影為75個嵌入向量X
1-X
75,而各個嵌入向量的維度例如是(128,1)。具體而言,對於填補後編碼資料614中的第j個(j為介於1及75的整數)字元而言,處理器404可將所述第j個字元一對一地投影為上述75個嵌入向量中的第j個嵌入向量(以嵌入向量X
j表示)。藉此,可利用嵌入向量之間的差異來區別特性相近與相異的字元。
在其他實施例中,各嵌入向量的維度亦可由設計者依需求而定為任一個大於36的數值即可。具體而言,由於一般網域名稱多以英文字母(共26個)及數字(共10個)組成,因此只要將嵌入向量的維度設計為大於36即可體現出各字元間的差異,但本發明可不限於此。
接著,在步驟S560中,處理器404可將嵌入向量X
1-X
75依序輸入LSTM模型中的多個單元,以產生結果向量,其細節將輔以圖8進行說明。
請參照圖8,其是依據圖7繪示的LSTM層示意圖。在本實施例中,LSTM層可包括依序串接的多個單元C
1-C
75,其中各單元的結構可採用已知的各種LSTM模型單元來實現,例如圖3所示的架構,但可不限於此。
對於第i個單元(以單元C
i表示)而言,其可接收前述嵌入向量中的第i個嵌入向量(即,嵌入向量X
j)及第(i-1)個單元的輸出向量(以輸出向量V
( i-1 )表示),並據以產生單元C
i的輸出向量V
i,其中i介於2及(N-1)之間,N為前述單元的總數(即,75)。
此外,對於前述單元的第N個單元(即,單元C
75)接收嵌入向量中的第N個嵌入向量(以嵌入向量X
75表示)及第(N-1)個單元的輸出向量(以輸出向量V
74表示),並據以產生單元C
75的輸出向量(以輸出向量V
75表示)以作為結果向量VM(其例如是一個與各嵌入向量具有同樣維度的向量,即(128,1))。
簡言之,每個嵌入向量在經過對應的單元處理過後將作為下一個單元的輸入而往後傳遞,直到經過最後一個單元C
75之後,才將由單元C
75產生的輸出向量V
75作為結果向量VM而輸出。
之後,在步驟S570中,處理器404可透過全連接層及特定函數將結果向量轉換為預測機率。在本實施例中,前述特定函數例如是Sigmoid函數,而前述預測機率例如是原始網域名稱611係由DGA所產生的機率。
請參照圖9,其是依據圖8繪示的全連接層及特定函數的示意圖。在本實施例中,全連接層910可將圖8中的結果向量VM映射為參考值Z,而特定函數920(例如,Sigmoid函數)可用於將參考值Z轉換為介於0及1之間的數值,用以表徵前述預測機率。
由上可知,本發明提出的評估網域名稱方法及其伺服器可利用訓練好的LSTM模型來辨識哪些網域名稱可能是駭客使用DGA所產生的網域名稱。藉此,可在潛伏期時就找出Bot所在的位置,以避免後續更多裝置受到感染。
在一實施例中,上述LSTM模型可經由類似於圖5的機制來進行訓練。具體而言,為了讓LSTM模型學習到由DGA產生網域名稱的特徵,處理器404可將已知為經由DGA所產生的網域名稱作為訓練資料,並經由圖6所示的機制將這些訓練資料轉換為適於饋入嵌入層的狀態(例如填補後的編碼資料614)。之後,可再經由圖7的嵌入層及圖8的LSTM層來擷取(或學習)上述訓練資料中的特徵。
到了全連接層時,與圖9所示的不同之處在於,處理器404在訓練階段中可依據一定的捨棄率(dropout rate)(例如,0.5)來捨棄與結果向量VM中的一部分元素相關的權重,藉以避免訓練後的LSTM模型出現過度擬和(overfitting)的不良結果(例如,僅能辨識具有少部分特定特徵的網域名稱)。
如先前實施例中所提及的,填補後編碼資料的長度(即,前述特定長度)可由設計者依需求而定。然而,在其他實施例中,前述特定長度亦可由LSTM模型在訓練的過程中自行學習出特定長度的較佳數值。舉例而言,若LSTM模型在訓練的過程中發現所有的訓練資料的長度皆少於60個字元,則設計者可相應地調整所採用的特定長度,藉以讓處理器404在對編碼資料進行填補時可減少用於填補的字元數量,但本發明可不限於此。
綜上所述,本發明提出的評估網域名稱方法及其伺服器可利用訓練好的LSTM模型來辨識哪些網域名稱可能是駭客使用DGA所產生的網域名稱。藉此,可在潛伏期時就找出Bot所在的位置,以避免後續更多裝置受到感染,而導致大規模的殭屍網路攻擊事件。另外,也能夠藉由分析這些網域名稱背後共同連接的IP位址而找出C2伺服器的真實位置,進而將此IP位址列入黑名單觀察,避免使用者的裝置再次被植入新的Bot。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
311‧‧‧遺忘閥
312‧‧‧輸入閥
313‧‧‧輸出閥
400‧‧‧伺服器
402‧‧‧儲存電路
404‧‧‧處理器
611‧‧‧原始網域名稱
612‧‧‧特定部分
612a、612b、612c、612d、612e、612f‧‧‧字元
613a、613b、613c、613d、613e、613f‧‧‧編碼資料
614‧‧‧填補後的編碼資料
910‧‧‧全連接層
920‧‧‧特定函數
C1-C75‧‧‧單元
S510~S570‧‧‧步驟
V1-V75‧‧‧輸出向量
VM‧‧‧結果向量
X1-X75‧‧‧嵌入向量
Z‧‧‧參考值
圖1是類神經網路及深度學習神經網路的示意圖。 圖2是遞歸神經網路的示意圖。 圖3是依據本發明之一實施例繪示的LSTM模型單元的示意圖。 圖4是依據本發明之一實施例繪示的伺服器功能方塊圖。 圖5是依據本發明之一實施例繪示的評估網域名稱的方法流程圖。 圖6是依據本發明之一實施例繪示的對原始網域名稱進行預處理的示意圖。 圖7是依據圖6繪示的嵌入層示意圖。 圖8是依據圖7繪示的LSTM層示意圖。 圖9是依據圖8繪示的全連接層及特定函數的示意圖。
S510~S570‧‧‧步驟
Claims (16)
- 一種評估網域名稱的方法,包括: 取得一原始網域名稱,並將該原始網域名稱區分為多個部分; 取出該些部分中的一特定部分,其中該特定部分包括至少一字元; 將該至少一字元編碼為至少一編碼資料; 將該至少一編碼資料填補至一特定長度; 將填補後的該至少一編碼資料投影至多個嵌入向量,其中填補後的該至少一編碼資料一對一地對應於該些嵌入向量; 將該些嵌入向量依序輸入一長短期記憶模型中的多個單元,以產生一結果向量;以及 透過一全連接層及一特定函數將該結果向量轉換為一預測機率。
- 如申請專利範圍第1項所述的方法,其中該些部分由次級網域名稱、通用頂級網域名稱、國家和地區頂級域名稱及該特定部分組成。
- 如申請專利範圍第1項所述的方法,其中各該編碼資料為一數字。
- 如申請專利範圍第1項所述的方法,其中該特定長度大於36,且將該至少一編碼資料填補至該特定長度的步驟包括: 計算該至少一編碼資料的長度與該特定長度之間的差值;以及 在該至少一編碼資料之前填補至少一特定數字,其中該至少一特定數字的數量等於該差值。
- 如申請專利範圍第1項所述的方法,其中該些單元依序串接,且該些單元中的第i個單元接收該些嵌入向量中的第i個嵌入向量及第(i-1)個單元的輸出向量,並據以產生所述第i個單元的輸出向量,其中i介於2及(N-1)之間,N為該些單元的一總數。
- 如申請專利範圍第5項所述的方法,其中該些單元的第N個單元接收該些嵌入向量中的第N個嵌入向量及第(N-1)個單元的輸出向量,並據以產生所述第N個單元的輸出向量以作為該結果向量。
- 如申請專利範圍第1項所述的方法,其中該特定函數為Sigmoid函數,且透過該全連接層及該特定函數將該結果向量轉換為該預測機率的步驟包括: 透過該全連接層將該結果向量映射為一參考值;以及 透過該Sigmoid函數該將參考值轉換為該預測機率。
- 如申請專利範圍第1項所述的方法,其中該預測機率代表原始網域名稱是由一網域生成演算法所產生的機率。
- 一種伺服器,包括: 儲存電路,儲存多個模組;以及 處理器,耦接該儲存電路,存取該些模組以執行以下步驟: 取得一原始網域名稱,並將該原始網域名稱區分為多個部分; 取出該些部分中的一特定部分,其中該特定部分包括至少一字元; 將該至少一字元編碼為至少一編碼資料; 將該至少一編碼資料填補至一特定長度; 將填補後的該至少一編碼資料投影至多個嵌入向量,其中填補後的該至少一編碼資料一對一地對應於該些嵌入向量; 將該些嵌入向量依序輸入一長短期記憶模型中的多個單元,以產生一結果向量;以及 透過一全連接層及一特定函數將該結果向量轉換為一預測機率。
- 如申請專利範圍第9項所述的伺服器,其中該些部分由次級網域名稱、通用頂級網域名稱、國家和地區頂級域名稱及該特定部分組成。
- 如申請專利範圍第9項所述的伺服器,其中各該編碼資料為一數字。
- 如申請專利範圍第9項所述的伺服器,其中該特定長度大於36,且該處理器經配置以: 計算該至少一編碼資料的長度與該特定長度之間的差值;以及 在該至少一編碼資料之前填補至少一特定數字,其中該至少一特定數字的數量等於該差值。
- 如申請專利範圍第9項所述的伺服器,其中該些單元依序串接,且該些單元中的第i個單元接收該些嵌入向量中的第i個嵌入向量及第(i-1)個單元的輸出向量,並據以產生所述第i個單元的輸出向量,其中i介於2及(N-1)之間,N為該些單元的一總數。
- 如申請專利範圍第13項所述的伺服器,其中該些單元的第N個單元接收該些嵌入向量中的第N個嵌入向量及第(N-1)個單元的輸出向量,並據以產生所述第N個單元的輸出向量以作為該結果向量。
- 如申請專利範圍第9項所述的伺服器,其中該特定函數為Sigmoid函數,且該處理器經配置以: 透過該全連接層將該結果向量映射為一參考值;以及 透過該Sigmoid函數該將參考值轉換為該預測機率。
- 如申請專利範圍第9項所述的伺服器,其中該預測機率代表該原始網域名稱是由一網域生成演算法所產生的機率。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107135011A TWI684889B (zh) | 2018-10-04 | 2018-10-04 | 評估網域名稱的方法及其伺服器 |
US16/242,013 US11095672B2 (en) | 2018-10-04 | 2019-01-08 | Method for evaluating domain name and server using the same |
EP19154604.3A EP3633950B1 (en) | 2018-10-04 | 2019-01-30 | Method for evaluating domain name and server using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107135011A TWI684889B (zh) | 2018-10-04 | 2018-10-04 | 評估網域名稱的方法及其伺服器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI684889B true TWI684889B (zh) | 2020-02-11 |
TW202014922A TW202014922A (zh) | 2020-04-16 |
Family
ID=65324161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107135011A TWI684889B (zh) | 2018-10-04 | 2018-10-04 | 評估網域名稱的方法及其伺服器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11095672B2 (zh) |
EP (1) | EP3633950B1 (zh) |
TW (1) | TWI684889B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593589B2 (en) * | 2019-05-17 | 2023-02-28 | Robert Bosch Gmbh | System and method for interpretable sequence and time-series data modeling |
CN114499906B (zh) * | 2020-11-12 | 2023-04-25 | 清华大学 | 一种dga域名检测方法及*** |
CN113098896A (zh) * | 2021-04-26 | 2021-07-09 | ***通信集团陕西有限公司 | 域名检测方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017193036A1 (en) * | 2016-05-05 | 2017-11-09 | Cylance Inc. | Machine learning model for malware dynamic analysis |
TW201822505A (zh) * | 2016-12-14 | 2018-06-16 | 中華電信股份有限公司 | 根據半被動網域名稱伺服器以偵測可疑域名之系統及方法 |
CN108494746A (zh) * | 2018-03-07 | 2018-09-04 | 长安通信科技有限责任公司 | 一种网络端口流量异常检测方法及*** |
CN108600200A (zh) * | 2018-04-08 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 域名检测方法、装置、计算机设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401141B (zh) * | 2006-03-14 | 2011-12-07 | 日本电气株式会社 | 信息处理***以及信息处理方法 |
CA3000166A1 (en) | 2017-04-03 | 2018-10-03 | Royal Bank Of Canada | Systems and methods for cyberbot network detection |
US10873782B2 (en) * | 2018-10-02 | 2020-12-22 | Adobe Inc. | Generating user embedding representations that capture a history of changes to user trait data |
-
2018
- 2018-10-04 TW TW107135011A patent/TWI684889B/zh active
-
2019
- 2019-01-08 US US16/242,013 patent/US11095672B2/en active Active
- 2019-01-30 EP EP19154604.3A patent/EP3633950B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017193036A1 (en) * | 2016-05-05 | 2017-11-09 | Cylance Inc. | Machine learning model for malware dynamic analysis |
TW201822505A (zh) * | 2016-12-14 | 2018-06-16 | 中華電信股份有限公司 | 根據半被動網域名稱伺服器以偵測可疑域名之系統及方法 |
CN108494746A (zh) * | 2018-03-07 | 2018-09-04 | 长安通信科技有限责任公司 | 一种网络端口流量异常检测方法及*** |
CN108600200A (zh) * | 2018-04-08 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 域名检测方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3633950A1 (en) | 2020-04-08 |
TW202014922A (zh) | 2020-04-16 |
US20200112575A1 (en) | 2020-04-09 |
EP3633950B1 (en) | 2022-04-06 |
US11095672B2 (en) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ning et al. | Improved whale optimization algorithm for solving constrained optimization problems | |
CN111209497B (zh) | 基于GAN和Char-CNN的DGA域名检测方法 | |
TWI684889B (zh) | 評估網域名稱的方法及其伺服器 | |
Feng et al. | Web2vec: Phishing webpage detection method based on multidimensional features driven by deep learning | |
CN111325028B (zh) | 一种基于深度分层编码的智能语义匹配方法和装置 | |
WO2019096099A1 (zh) | Dga域名实时检测方法和装置 | |
Ding et al. | Research on using genetic algorithms to optimize Elman neural networks | |
CN110929515A (zh) | 基于协同注意力和自适应调整的阅读理解方法及*** | |
CN107579821B (zh) | 密码字典生成方法及计算机可读存储介质 | |
CN109977118A (zh) | 一种基于词嵌入技术和lstm的异常域名检测方法 | |
CN113938291B (zh) | 一种基于对抗攻击算法的加密流量分析防御方法和*** | |
CN113132410B (zh) | 一种用于检测钓鱼网址的方法 | |
Yang et al. | A deep‐learning‐and reinforcement‐learning‐based system for encrypted network malicious traffic detection | |
Deng et al. | Network Intrusion Detection Based on Sparse Autoencoder and IGA‐BP Network | |
CN108881254A (zh) | 基于神经网络的入侵检测*** | |
Zhu et al. | CCBLA: a lightweight phishing detection model based on CNN, BiLSTM, and attention mechanism | |
CN112653684B (zh) | 一种基于多路特征感知长短期记忆的异常流量检测方法 | |
Pan et al. | Using extended character feature in Bi-LSTM for DGA domain name detection | |
CN116318845B (zh) | 一种正负样本比例不平衡条件下的dga域名检测方法 | |
Ding et al. | Botnet dga domain name classification using transformer network with hybrid embedding | |
CN111125563A (zh) | 评估网域名称的方法及其伺服器 | |
Zhou et al. | Evolutionary optimization of liquid state machines for robust learning | |
CN114844682B (zh) | 一种dga域名检测方法及*** | |
CN113055890B (zh) | 一种面向移动恶意网页的多设备组合优化的实时检测*** | |
CN110049034A (zh) | 一种基于深度学习的复杂网络实时Sybil攻击检测方法 |