使用機器學習偵測惡意活動

Jan 02, 2019
1 minutes
... views

我們一直努力尋找新的方法來保護客戶並防範攻擊成功,我們最近新增的一種研究工具能夠將無需監管的機器學習用於分析大量網域資訊數據。如此的機器學習型技術有助於我們發現新的威脅,並在這些威脅影響我們的客戶之前予以阻止。威脅開始活躍時,這些技術很快就會識別屬於大規模活動的惡意網域,並且針對這些活動提供比傳統方法更廣泛的覆蓋範圍。

此部落格就如何使用這種無需監管的機器學習提供一些詳細資訊和範例。具體而言,在最近的一次網路釣魚活動中,我們發現了 333 個活躍網域。在此活動開始活躍的第一天,常用的線上惡意軟體數據庫只知其中 87 個網域,而兩個已知封鎖清單則對所有網域完全不知。在接下來的兩週內,效果最佳的封鎖清單僅阻止了 333 個網域之中的 247 個,而惡意軟體數據庫僅識別出 93 個。

我們的無需監管的機器學習會擴展這些活動的整體覆蓋範圍,並且在活動影響易受攻擊的使用者之前盡早識別。對於以下討論的活動以及使用相同技術偵測到的其他活動,Palo Alto Networks 客戶都在這些網域上線後的一天內獲得保護。

 

背景

一類惡意線上活動涉及在短時間內針對相同目的使用許多網域。這些活動通常利用最近的主題活動,例如世界盃,而且網域名稱通常利用網域搶註的合法網域名稱,或表明與合法服務有關的名稱,例如,針對 company.com 的 c0mpany.com。

關於這方面的先前範例是在 2017 年 Equifax 數據洩露之後發動的惡意活動。對於 Equifax 洩漏事件,信用報告機構設立了一個合法網站 www.equifaxsecurity2017[.]com,以協助外界確認自身是否已受影響。這反而引發了一個或多個惡意活動,這些活動註冊了數百個與真實 URL 極為相似的網域。例如,www.equifaxsecurity3017[.]com。

仔細查看一個網域名稱並看出其詐欺性質通常很容易,但是,由於可以在活動中建立數百個此類網域,因此欲在所有詐欺網域開始影響許多人之前將其全部找到並不容易。雖然這些網域名稱略有不同,但是屬於同一個活動的惡意網域仍然具有許多共同特徵,例如 IP 子網路、自發系統號碼 (ASN)、DNS 存留時間 (TTL)、Whois 資訊和其他許多屬性。基於此觀察,我們運用系統根據 DNS 流量和叢集網域的相似性,從 DNS 流量和叢集網域中擷取屬性。我們的系統可補強現有的方法,而且能夠識別以其他方式可能無法識別的活躍網域。

圖 1:高階流程

方法

我們的方法 (見圖 1) 是對於被動 DNS 記錄中已發現的網域進行聚集。被動 DNS 是記錄 DNS 查詢/回應流量的機制。記錄主要由時間戳記、要求的網域和相應的 IP 位址以及其他數據組成。基於隱私原因,不會擷取各個用戶端的 DNS 流量 (設定「期望遞歸」位元),而且會刪除用戶端 IP。

被動 DNS 記錄可從各種來源取得,而且通常被研究人員用於瞭解大規模網際網路流量。每天通常有超過 6TB 的被動 DNS 記錄可供分析。

我們使用根據被動 DNS 記錄中的資訊 (例如 IP 位址) 以及其他來源 (例如 BGP 和 Whois) 產生的特徵來聚集這些網域。我們會獲得彼此相關但未標記為良性或惡意的網域叢集。

因為該數據此時未被標記,因此這是無需監管的機器學習的應用。我們知道,分為同一組的網域具有許多共同特徵,但是,不知道這些網域是否為惡意網域。為了找出惡意叢集,我們會使用看似屬於新活動的種子網域,而且我們已驗證其為惡意網域。

 

種子網域

種子網域是以群組形式顯示的惡意網域範例。

種子可以透過多種方式找到,我們目前專注於三種資訊來源來辨識這些候選種子網域:網域註冊、新發現的網域和熱門主題。

 

網域註冊

我們查看最近註冊的網域,並尋找具有相似名稱的群組。如果活動正在利用最近的事件,則可以使用與該事件相對應的名稱來註冊大量網域。我們會檢查任何已知惡意網域的群組,並將結果放入種子網域的清單中。我們根據自己的偵測以及第三方威脅情報 (例如常用的線上惡意軟體數據庫),識別已知的惡意網域。目前可能有許多未知或未報告的惡意網域,但是我們只需要找到一些範例即可展開該流程。

 

新發現的網域

我們也會檢查被動 DNS 記錄中前所未見的新網域。這些網域可能很久以前就已經註冊,但是在活動開始之前並未投入使用。我們在這些網域中搜尋相似名稱的群組,並根據任何已知的惡意種子來識別種子。

 

熱門主題

我們也在社群媒體中搜尋熱門主題。如果發生任何廣為人知的事件,這些事件通常會出現在日常的社群媒體趨勢中。我們透過最近看到的網域名稱來交叉檢查在 Google 或 Twitter 上看到的熱詞。例如,如果我們看到與最近的活動相關的 Google 趨勢,例如體育賽事,我們會檢查最近看到也涉及該體育賽事的網域。我們會再次搜尋相似名稱的群組,並檢查任何已知的惡意群組。透過我們的種子網域清單,我們現在可以搜尋包含這些種子的網域叢集。

 

尋找惡意叢集

我們確定將使用的種子網域群組之後,便會在先前根據被動 DNS 數據計算而得的網域叢集中進行搜尋。(見圖 2)任何包含大量種子網域的叢集會被視為惡意活動,而且叢集中的所有網域都會被標記為惡意。

圖 2:網域叢集

結果

例如,我們最近發現一個網路釣魚活動使用了 check-box-with-money##[.]loan 之類名稱的惡意網域。我們透過觀察同時註冊的一組類似網域來選取這組網域。第一天,我們發現有 77 個網域註冊。其中,只有 17 個是常用的線上惡意軟體數據庫已知的惡意網域,不過足以將其加入到我們的種子群組中。透過對被動 DNS 中發現的網域進行叢集分析,我們立即看到 2 個未在註冊中發現的網域。

第二天,我們發現了活動的另外 16 個網域,之後發現 58 個網域,然後再發現 88 個網域。在此活動的前兩週,我們發現了與此網路釣魚活動相關的 333 個網域。

更值得注意的是,在這 333 個網域中,我們發現,在這些網域出現的第一天,常用的線上惡意軟體數據庫對於其中的 247 個網域毫無所悉。在隨後的兩週內,這些網域之中只有 7 個最終被標記。兩週後,即使仍然有 240 個網域存在於網際網路,而且顯然屬於同一個活動,該數據庫卻仍未將這些網域標記為網路釣魚。

我們也檢查了兩個已知封鎖清單。對於封鎖清單,我們發現,在這些網域出現在網際網路上的第一天,這些封鎖清單也未開始封鎖這些網域。在隨後的兩週內,對於 333 個網域,其中一份封鎖清單僅封鎖了 80 個網域,另一份封鎖了 247 個網域。

這些結果突顯,即使安全社群發現了活動中的一些網域,但是其中許多網域卻易於繞過封鎖,這才是攻擊者的最終目標。

 

結語

這只是其中一例。在過去幾個月中,我們發現 15 個不同的活動,其中包含 1,000 多個活躍網域。雖然這些網域相當活躍,而且是惡意活動的一部份,不過其中許多網域並未由一些常用的第 3 方服務單獨識別。在已經由第 3 方服務識別的網域中,我們發現這些網域的用時平均早於線上惡意軟體數據庫 2.8 天,早於其中一份常用封鎖清單 3.9 天,早於另一份 2.4 天。到目前為止,在由第 3 方識別的網域中,我們發現這些網域的用時最多早於惡意軟體數據庫 46 天,早於第一份封鎖清單 15 天,早於第二份 32 天。圖 3 顯示識別時間的整體比較。

圖 3:第 3 方識別前的時間

防護並採取行動

Palo Alto Networks 客戶透過威脅防護訂閱中的 PAN-DB URL Filtering 和 DNS C2 特徵碼來防禦這些惡意和網路釣魚網域。Palo Alto Networks 防火牆客戶可以協助我們的被動 DNS 研究主動發現惡意和網路釣魚網域。若要在 PAN-OS 8.0 版或更高版本中啟用被動 DNS 共享,請選取「被動 DNS 監控」(「裝置」>「設定」>「遙測」)。對於 PAN-OS 7.1 或更早版本,則在反間諜軟體安全性設定檔中啟用被動 DNS 共享。被動 DNS 記錄主要由時間戳記、要求的網域和相應的 IP 位址以及其他數據組成。基於隱私原因,不會擷取各個用戶端的 DNS 流量 (設定「期望遞歸」位元),而且會刪除用戶端 IP。


Subscribe to the Blog!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.