利用機器學習檢測惡意活動

2022-09-23 22:12:25 字數 1656 閱讀 6041

研究人員開始使用無監督機器學習演算法來對大量網域名稱資訊資料集進行分析,以發現新的威脅並進行攔截。一旦惡意網域名稱開始活躍,機器學習演算法就可以快速識別出攻擊活動的惡意網域名稱。

背景比如在一類**的惡意活動中使用了許多個網域名稱,並持續了一段時間。這些活動一般利用像世界盃這類近期的熱點事件,網域名稱一般模仿一些合法服務或合法網域名稱,比如c0mpany.com就是模仿合法網域名稱company.com。

2023年equifax資料洩露後,equifax就搭建了乙個**www.equifaxsecurity2017[.]com來幫助使用者確定其是否受影響。然後惡意攻擊者就註冊了上百個模仿該網域名稱的惡意網域名稱,比如www.equifaxsecurity3017[.]com。

辨別乙個欺詐網域名稱很容易,但乙個惡意攻擊活動會建立上百個這樣的網域名稱,因此問題的關鍵就是如何找出所有這些欺詐網域名稱。雖然這些網域名稱不同,但屬於同一攻擊活動的惡意網域名稱也有一些共同點,比如ip子網、autonomous system number (asn)、dns time-to-live (ttl)、whois等資訊。

因此,研究人員提出一種基於相似性來從dns流量和網域名稱簇來提出屬性的系統。系統通過充實現有的方法,可以識別出屬於同一攻擊活動的網域名稱。

圖1 基於機器學習方法從dns流量識別出惡意網域名稱的系統

方法如圖1所示,研究人員的方法是將被動dns(passive dns)記錄**現的網域名稱進行聚集。passive dns是一種記錄dns查詢和響應流量的機制。記錄主要含有時間戳、查詢的網域名稱、響應的ip位址等。出於隱私考慮,來自單個客戶端的passive dns記錄有很多的**,常被用來理解網路流量。研究人員發現每天會有6tb的passive dns記錄產生。研究人員將沒有在passive dns記錄中的資訊根據特徵將網域名稱進行聚類,比如ip位址、bgp、whois等。

因為這些資料目前是沒有標記的,因此研究人員選擇使用無監督機器學習方法。這些被分為同一組的網域名稱共享一些特徵,但這些特徵是否是惡意的還不能確定。為了找到惡意的分組,需要用到攻擊活動中的seed網域名稱。

seed網域名稱

seed網域名稱是分組中惡意網域名稱的示例。有很多方法可以找到seed,本例中使用三種資訊源來識別候選seed網域名稱:domain registrations, newly seen domains, trending topics。

· domain registrations

檢視最近註冊的網域名稱,找出有相似名的分組。如果攻擊活動使用的是最近的事件,就會有許多與該事件相關的網域名稱註冊。研究人員檢查了已知的惡意網域名稱的分組,結果放在seed網域名稱列表中。最後根據檢測結果和第三方威脅情報來識別已知的惡意網域名稱。許多惡意網域名稱可能都沒有被報告國,但只需要一些例子就可以開始這一過程。

· newly seen domains

還可以在passive dns記錄中查詢一些新出現的網域名稱。這些網域名稱可能註冊了很久,但最近才開始使用。研究人員通過找出有相似名的分組,然後從含有惡意網域名稱的組中找出seed。

· trending topics

同時也要從社交**來搜尋最新的熱點。如果有大的公眾事件發生,一般都會成為當天的社交**熱點。可以通過在google或twitter中交叉搜尋熱點關鍵詞。然後找出具有類似網域名稱的分組並檢查是否含有惡意網域名稱。

惡意網域名稱簇

在識別出seed網域名稱的分組後,在passive dns資料中搜尋這些聚集的簇(如圖2)。含有seed網域名稱比例較高的簇被認為是惡意的,而且簇中的所有網域名稱都會被標記為惡意的。

圖2: 網域名稱簇

基於機器學習的惡意軟體檢測(二)

乙個有效的,強大的和可擴充套件的惡意軟體識別模組是每個網路安全產品的關鍵組成部分。基於預執行和執行後兩階段收集的資料,惡意軟體識別模組來決定乙個物件是否是乙個威脅。預執行階段的資料 乙個檔案在執行前可獲得所有資料。這可以包括可執行檔案格式描述 描述 二進位制資料統計 通過 提取文字字串和資訊機其他相...

機器學習 目標檢測

如何理解一張?根據後續任務的需要,有三個主要層次 一 分類 二 檢測 三 分割 檢測模型 兩階段 2 stage 1 r cnn regions with cnn features r cnn系列的開山之作 2 fast r cnn 共享卷積運算 3 faster r cnn 兩階段模型的深度化 單...

機器學習(四) 異常檢測

機器學習中的異常檢測分為兩種,一種是無監督的異常檢測,另一種為有監督的異常檢測。無監督的異常檢測即在沒有標籤的情況下,演算法從一堆資料點中,挑選出其認為不正常的資料點。而有監督的異常檢測為在對訓練集提前設定好標籤的前提下,演算法對其進行劃分。異常檢測演算法可以應用於發動機的挑選中,假設乙個廠家生產了...