惡意軟件加密通信概要分析
惡意加密流量是當前流量安全檢測的痛點和難點。在未解密的情況下如何檢測惡意加密流量,機器學習可提供頗為有效的解決方案。傳統機器學習依賴于訓練數據集和特征工程,而搜集的各類惡意加密流量種類繁多,且可能含有“雜質”,如果對這些數據不加區分,直接進行訓練,將會影響模型檢測的準確率和誤報率。
我們把些惡意加密流量分為三類:惡意軟件使用加密通信、加密通道中的行為、惡意或非法加密應用。本文主要針對“惡意軟件使用加密通信”進行分析,接下來將從三個方面進行闡述:
- 惡意軟件使用加密通信要素統計;
- 使用加密通信的惡意軟件分類;
- 惡意軟件加密通信方式分析。
一、惡意軟件使用加密通信要素統計
為從宏觀上總結惡意軟件加密通信規律,我們對加密流量(十萬個有效的惡意樣本)的眾多要素進行了統計分析。本文對其中四個要素:通信端口、SSL協議版本、客戶端支持的加密套件個數和提供的擴展個數進行統計分析,從統計結果來看,惡意軟件加密通信的要素存在一定的規律:
1. 通信端口
惡意軟件加密通信使用的端口較為廣泛,不僅包括TCP443、TCP465等標準端口,還包括部分非標準端口。整體來看采用TCP443端口最多,占85%以上;其他三個使用比較多的端口為TCP449、TCP9001、TCP465,分別占5.48%、3.71%、1.96%。
圖1 惡意加密流量端口分布
2. TLS/SSL協議版本
在惡意軟件的加密流量中,使用TLSv1.2協議通信的占53.56%。早期的幾類TLS/SSL版本仍在廣泛使用,如
TLSV1.2占56.24%,TLSV1.0占36.26%,SSLV3占6.97%,TLSv1.1和SSLV2占的比重極小。
圖2 惡意加密流量TLS協議分布
3. 客戶端支持的加密套件個數
從統計結果看到,有將近35%的惡意軟件支持12個加密套件,將近25%的惡意軟件支持21個,約10%的惡意軟件支持36個。
圖3 客戶端支持的加密套件個數統計
4. 客戶端提供的擴展個數
通過統計發現,超過98%的惡意軟件客戶端提供的TLS擴展個數小于7;其中占比較大的擴展個數是5、3、0,分別占38%、32%、11%。
圖4 惡意軟件客戶端提供的擴展個數
二、使用加密通信的惡意軟件分類
我們監測發現,使用加密通信的惡意軟件家族超過200種,所有惡意軟件中使用加密通信占比超過40%,平均每天新增使用加密通信的惡意軟件數量超過1000個,使用加密通信的惡意軟件幾乎覆蓋了所有常見類型,如:特洛伊木馬、勒索軟件、感染式、蠕蟲病毒、下載器等,其中特洛伊木馬和下載器類的惡意軟件家族占比較高。
圖5 加密通信的惡意軟件分類
六大類惡意軟件TOP5的病毒家族如下(微軟殺毒引擎):
圖6 典型加密通信惡意軟件Top5
三、惡意軟件加密通信方式
通過對惡意加密流量的分析,我們把惡意軟件產生加密流量的用途分為以下六類:C&C直連、檢測主機聯網環境、母體正常通信、白站隱蔽中轉、蠕蟲傳播通信、其它。惡意加密流量用途與各類惡意軟件的對應關系如下:
下面,我們將對各類加密通信方式進行闡述:
1. C&C直連
惡意軟件在受害主機執行后,通過TLS等加密協議連接C&C(黑客控制端),這是最常見的直連通訊方式。基于我們監測的數據統計結果,C&C地理位置分布統計情況如下:
圖7 C&C地理位置
2. 檢測主機聯網環境
部分惡意軟件在連接C&C服務器之前,會通過直接訪問互聯網網站的方式來檢測主機聯網情況,這些操作也會產生TLS加密流量。通過統計發現:使用查詢IP類的站點最多,約占39%;使用訪問搜索引擎站點約占30%,其它類型站點約占31%。
圖8 檢測主機聯網環境站點
3. 母體程序正常通信
感染式病毒是將惡意代碼嵌入在可執行文件中,惡意代碼在運行母體程序時被觸發。母體被感染后產生的流量有母體應用本身聯網流量和惡意軟件產生的流量兩類。由于可被感染的母體程序類別較多,其加密通信流量與惡意樣本本身特性基本無關,本文就不做詳細闡述。
4. 白站隱蔽中轉
白站是指相對于C&C服務器,可信度較高的站點。黑客將控制命令載荷隱藏在白站中,惡意軟件運行后,通過SSL協議訪問白站獲取相關惡意代碼或信息。通過統計發現,最常利用的白站包括Amazonaws、Github、Twitter等。
圖9 白站隱蔽中轉站點排行
隱藏惡意代碼的中轉文件類型包括圖片、腳本、二進制數據等,如下三個實例:
5. 蠕蟲傳播通信
蠕蟲具有自我復制、自我傳播的功能,一般利用漏洞、電子郵件等途徑進行傳播。監測顯示近幾年活躍的郵件蠕蟲已經開始采用TLS協議發送郵件傳播,如Dridex家族就含基于TLS協議的郵件蠕蟲模塊。我們對36個蠕蟲家族樣本進行分析,有5個家族使用加密通信協議與C&C服務器建立連接:
圖10蠕蟲樣本加密通信占比
6. 其他通信
除以上幾類、還有一些如廣告軟件、漏洞利用等產生的惡意加密流量。
四、總結
我們將常見的惡意軟件使用加密通信方式總結如下圖:
圖11 惡意軟件加密通訊示意圖
我們利用上述分類方法,對前期流量數據進行分類處理,將惡意加密流量中的雜質進行過濾、并對其進行分類,再進行特征工程和模型訓練調參。數據分類處理的細度和準確度,將直接影響最終模型檢出的準確率和誤報率。
【本文是51CTO專欄作者“李少鵬”的原創文章,轉載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權】