熊 竹,周順良,代先勇,王 煒,熊 民
(1.中國電子科技集團第三十研究所,四川 成都 610041;2.成都深思科技有限公司,四川 成都 610096)
近年來,隨著互聯網的高速發展及加密技術在網絡中的廣泛使用,為了保護用戶的個人隱私,越來越多的網絡應用協議采用加密技術提高機密性。根據最近的網絡研究報告,當前87%的Web 流量采用了加密通信[1],同樣電子郵件也大幅采用了超文本傳輸安全協議(Hyper Text Transfer Protocol over Secure Socket Layer,HTTPS)、簡單郵件傳輸安全協議(Simple Mail Transfer Protocol over Secure Socket Layer,SMTPS)、郵局安全協議版本3(Post Office Protocol Version 3 over Secure Socket Layer,POP3S)等加密協議進行傳輸,網絡通信加密已經成為不可阻擋的趨勢。加密網絡流量的快速增長,給網絡流量審計和網絡威脅檢測帶來了極大的挑戰,超過70%的惡意軟件利用加密流量進行隱藏的攻擊活動[2],加密流量給攻擊者隱藏命令及其控制活動提供了可乘之機。
郵件通信長期以來都是網絡攻擊的重災區,主要有3 個方面的原因:一是郵件通信擁有天然的中轉特性,防火墻、入侵防御系統(Intrusion Prevention System,IPS)等防護設備默認不會對其進行攔截,長期被包含竊密木馬在內的惡意軟件作為信息傳輸的通道;二是不斷曝光的郵箱賬號泄露事件,例如2019 年12 月Security Discovery 披露發現10 億電子郵箱明文泄露,包含雅虎、Gmail 和中國國內多個大型郵服;三是郵箱作為個人、商務聯系的常用工具,郵箱中通常存留了一些交互信息,這也導致郵箱成為定向攻擊的主要對象。
加密流量環境下,郵箱通信行為已經很難被辨識,以往基于明文的威脅檢測也隨之失效,如何在加密流量中有效地檢測郵件異常攻擊竊取行為,已成為網絡安全領域面臨的重要挑戰。針對這一問題,本文設計了一種基于網絡行為的加密流量郵件攻擊行為分析系統。該系統先通過從加密流量中提取郵件特征、判定郵件行為,再采用智能分析模型判定加密流量中的郵件攻擊行為。
郵件協議主要分為兩大類:一類是基于客戶機/服務器(Client/Server,C/S)架構的客戶端方式,在使用前需在本地設備安裝郵件客戶端,例如Microsoft Outlook、Mozilla Thunderbird、Foxmail等,協議主要包含簡單郵件傳輸協議(Simple Mail Transfer Protocol,SMTP)、郵局協議(Post Office Protocol,POP)、因特網消息訪問協議(Internet Message Access Protocol,IMAP),其中SMTP 協議主要用于郵件發送,而POP、IMAP 協議主要用于郵件存取;另一類是基于瀏覽器/服務器(Brower/Server,B/S)架構的萬維網方式,直接通過瀏覽器即可進行郵件的交互操作,主要協議為Webmail。
Webmail 是因特網上一種主要使用網頁瀏覽器來閱讀或發送電子郵件的協議,因特網上的許多公司,如谷歌、雅虎、新浪等,都提供Webmail 服務。其優勢為,計算機能連上網絡便可隨時隨地轉郵件和發送件,無需額外安裝客戶端軟件;在Webmail中可以修改密碼,設置自動轉發、自動回復等;在Webmail 中可以及時清理不需要的郵件,防止郵件容量超限;郵件發送速度比通過客戶端方式發送更快。
Webmail 協議應用生態良好,互聯網上有很多能夠提供Webmail 服務的開源產品,例如JWebmail、GatorMail、Claros Webmail、JFoxMail 等,此類產品可用于Webmail 服務的直接搭建或進行定制性研發。
郵件協議的明文傳輸抗攻擊能力很弱,容易被旁路竊聽,因此各大郵件服務公司,甚至個人都提供了加密郵件傳輸協議。據谷歌透明度報告[3],2020 年經過加密的出站電子郵件所占的比例為87%,經過加密的入站電子郵件所占的比例為93%。目前郵件加密傳輸協議主要有基于安全套接字層(over Secure Sockets Layer,over SSL)和基于安全傳輸層的協議(over Transport Layer Security,over TLS),以及優良保密協議(Pretty Good Privacy,PGP)、安全/多用途網際郵件擴充協議(Secure/Multipurpose Internet Mail Extensions,S/MIME)方式。其中,over TLS 方式既重要又普遍,絕大多數郵件服務器和客戶端,都會使用它來為電子郵件提供基礎性的加密,并默認或強制地配置電子郵件事務使用安全TLS 標準。
安全套接字層(Secure Sockets Layer,SSL)和其后續版本——安全傳輸層協議(Transport Layer Security,TLS)運行于傳輸層和應用層之間,在互聯網的環境中,它們可以被用于在兩個通信應用程序之間提供基本的保密性與數據完整性。在郵件安全的應用場景中,應用層通過提供一套安全的框架,將郵件傳輸協議SMTP、POP3、IMAP、Webmail“封裝”成SMTPS、POP3S、因特網消息安全訪問協議(Internet Message Access Protocol over Secure Socket Layer,IMAPS)和HTTPS,以保障用戶的電子郵件在網上的正常通信。
郵件客戶端發送或接收消息時,將啟動與郵件服務器的“握手”通信,在握手的過程中,郵件客戶端和服務器相互驗證安全性和加密設置,為郵件傳輸做好準備。握手過程的工作原理如下:
(1)客戶端向郵件服務器發送“hello”,其中包括加密的類型和所兼容的TLS 版本;
(2)服務器端使用服務器的TLS 數字證書和本身的公鑰予以響應;
(3)客戶端驗證發過來的證書信息;
(4)客戶端使用服務器的公鑰生成共享密鑰(Shared Secret Key),也稱為預主密鑰(Pre-Master Key),并將其發送給服務器;
(5)服務器解密,以獲得共享密鑰;
(6)客戶端和服務器端可以使用共享密鑰來加密要傳輸的數據,即開啟用戶登錄、郵件發送和郵件存取。
網絡流量是指在一定時間間隔內具有相同五元組的數據包集合。五元組包括源IP 地址、源端口號、目的IP 地址、目的端口號和協議類型。迄今為止,學術界和工業界對網絡流量分析技術方法已開展了大量研究,傳統的流量分析技術一般是對網絡流量中的有效明文負載、不同主機端口及主機周期性行為等具有區分度的信息進行模式匹配。雖然這些傳統的明文流量分析技術可以有效地處理非加密網絡流量,但在當前越來越普遍的加密網絡環境中受到了極大限制。
實際網絡流量識別分析過程中,加密網絡流量與明文流量的本質區別在于,流量加密后大量用于區分網絡應用和協議的有效信息發生了改變[4]。例如,加密后的流量報文內容變為密文,原本在常規流量中明文的應用簽名、協議簽名、攻擊特征也被隱藏,傳統的流量分析技術由于這些變化不再適用于處理加密網絡流量。因此,需要針對性地建立適合當今復雜場景并且能高效準確地分析加密流量的模型來應對挑戰。當前網絡加密流量識別方法整體分類架構如圖1 所示。

圖1 加密網絡流量識別方法整體分類
當前網絡加密流量分析技術大致可以分為基于數據分組負載的識別方法、基于流統計特征的識別方法和基于網絡行為特征的識別方法3 類[5]。基于數據分組負載的識別方法主要通過對網絡流量中不同數據分組的負載內容進行分析,一般多用于網絡應用分類。基于流統計特征的識別方法一般基于機器學習算法,先對原始網絡流量中的數據包信息和網絡流信息進行統計并進行特征提取,然后基于統計特征集進行模型訓練,最后使用訓練后的模型對待測試的流量數據進行識別。基于網絡行為特征的識別方法通過網絡通信行為特征判定加密流量中是否存在異常,此類方法既可以結合機器學習算法,也可以使用圖論知識完成加密流量識別。
當前業界針對加密流量中郵箱異常攻擊行為的研究還處于探索階段,因此,本文通過研究加密流量中的郵件攻擊行為,結合機器學習算法判定提出了對加密流量中郵箱行為進行識別的方法。相較于傳統檢測方法,本文提出的方法對加密流量中郵箱異常攻擊的檢測效果有了明顯提升。
本節提出了一種基于異常行為的加密流量郵件攻擊行為判定框架,系統整體架構如圖2 所示。該框架包括流量采集、流量特征提取、郵件行為判定、異常郵件行為智能分析判定和配置管理。采用網絡分析、功能模塊化的設計思路,降低各個軟件模塊的專用性及模塊之間的耦合性,提高軟件模塊的獨立性和繼承性。

圖2 基于異常行為的加密流量郵件攻擊行為檢測系統架構
流量采集模塊是整個系統數據來源的基礎。該模塊對分光、分流的鏡像網絡流量進行實時采集或對離線流量數據進行導入,實現協議識別以及流量的清洗、聚合和存儲,篩選出SMTPS、POP3S、IMAPS 和HTTPS(包含Webmail over TLS)協議數據,為后續各模塊提供基礎的數據支撐。模塊處理流程如圖3 所示。

圖3 流量采集流程
基于采集到的SMTPS、POP3S、IMAPS 和HTTPS 數據,提取包含五元組在內的基礎特征和證書指紋等加密通道特征,并篩選出與郵箱操作行為高度相關的特征,為機器學習算法的訓練和預測提供高質量特征向量,從數據層面保障算法的高效和準確。本步驟最終形成如圖4 的特征向量文件。

圖4 特征向量文件
模塊主要處理步驟如下文所述。
(1)基礎信息提取:解析流量采集引擎傳遞的有效數據,提取會話基礎特征,包含源IP、目標IP、源端口、目標端口、包數量、包大小、負載大小、數據包負載序列、通信開始時間、通信持續時間等信息。
(2)加密通道信息提取:解析加密會話握手包,提取加密通道特征,包括TLS 證書指紋、TLS證書頒發者、TLS 證書使用者、TLS 證書有效時間、TLS 會話JA3 指紋、TLS 會話JA3S 指紋等。
(3)特征初篩:依據業務經驗過濾掉與加密郵箱流量行為判定無關的特征,譬如源端口、TLS指紋等信息,此類信息后續用于數據分析和顯示,但不用于流量行為判定的特征。
(4)特征切分和轉換:將時間切分為年、月、日、小時、分,將協議SMTPS、POP3S、HTTPS、IMAPS 轉換為數字表示,通信持續時間小于1 s 的歸一化為1 s,其他非數字化信息均按類似操作進行。
(5)特征選擇:將準備好的基礎特征向量,采用經典的卡方檢驗,進行進一步的特征篩選,最終留下412 個相關性較好的特征向量。卡方檢驗是一種經典的相關性檢查方法,假設自變量有N種取值,因變量有M種取值,考慮自變量等于i且因變量等于j的樣本頻數的觀察值與期望的差距。
系統中對于加密郵箱流量通信行為的判定尤為重要,其判定的準確性直接決定了后期異常行為建模分析的準確性。本文采用了兩個重要環節來進行保障:一是通過機器學習算法對各類行為進行模式學習;二是郵服分類,通過分類方式保持各郵服的特有屬性,生成對應的專有模型或通用模型,進一步提升行為判定的準確性。考慮到待標記的加密郵箱流量數據易于構造的數據基礎和對預測準確度較高的期望,本文選用了監督機器學習的支持向量機(Support Vector Machine,SVM)算法。
SVM 算法通常用來進行模式識別、分類及回歸分析,其主要優勢有:
(1)樣本量不是海量數據的時候,分類準確率高,泛化能力強;
(2)有大量核函數可以使用,可以很靈活地解決各種非線性的分類回歸問題;
(3)只需使用一部分支持向量來做超平面的決策,無須依賴全部數據;
(4)解決高維特征的分類問題和回歸問題很有效,在特征維度大于樣本數時依然有很好的效果。
SVM 機器學習模型訓練與行為判定的工作流程如圖5 所示。

圖5 SVM 機器學習行為判定工作流程
模型學習階段的主要處理步驟如下文所述。
(1)郵服分類:依據證書指紋進行郵服分類,分離出各類公有郵箱服務,包含網易、騰訊、億郵、Gmail 等,對于無法分類的歸屬到通用郵箱流量。各類郵箱加密流量包含郵箱登錄、郵件發送、郵件收取的數據,另外還加入了大量非郵箱流量的HTTPS 數據。
(2)特征工程:采用2.2 節中介紹的特征工程方法,獲取分離好的各類數據流量的特征向量集。
(3)模型訓練:采用SVM 機器學習算法對分離好的特征向量集進行模型訓練,對于明確有歸屬郵服的生成專有模型,例如網易專有模型、騰訊專有模型,對不能明確歸屬的郵服生成通用模型。
模型預測階段的主要處理步驟如下文所述。
(1)郵服分類:采用與學習階段相同的方式分類流量。
(2)特征提取:提取與學習階段相同的特征向量維度。
(3)模型預判:依據分類信息,將提取好的特征向量輸入SVM 算法框架對應的專有模型或通用模型進行判定,最終判定出郵箱登錄、郵件發送、郵件收取行為,同時將前期未能排除的非郵箱流量的HTTPS 數據進行排除。
本文基于行為判定獲取到的加密郵箱協議流量中郵箱登錄、郵件收取、郵件發送等行為,構建出智能判定模型,從加密流量中發現異常郵件攻擊行為并進行告警展示[6]。異常郵件行為智能判定模型框架如圖6 所示。

圖6 異常郵件行為智能判定框架
為描述簡潔,將“登錄或通聯郵箱的客戶端IP或IP 段”簡稱為“端點”。典型的加密流量異常郵件行為模型包括但不限于暴力破解、異常時間登錄、異常郵件收取、異常郵件發送、非法時間登錄、非法地域登錄、非法連接。本文將詳細描述這幾種異常郵件行為的判定流程。
2.4.1 暴力破解
暴力破解為同一“端點”短時間內連續多次嘗試連接郵件服務器并登錄郵箱的行為。特別是在遭受嘗試行為后,如果存在郵箱其他操作行為,則用戶信息泄露的風險更高。具體判定步驟如下文所述。
步驟1:篩選出所有郵箱登錄記錄,并按照單位時間(分鐘)和IP 兩個元素進行聚合統計,得到單個IP 在單位時間登錄行為的數量,形成集合Slm+ip。
步驟2:預先設定郵箱暴力破解在單位時間(分鐘)內的判定閾值為Tlm+ip,將步驟1 中獲取的集合Slm+ip 進行比對挖掘,獲得超出閾值的集合Slm+ip+t。
步驟3:基于Slm+ip+t 集合按照更大的單位時間(小時)進行聚合,形成集合Slh+ip;然后基于集合Slh+ip 進一步挖掘超出單位時間(小時)暴力破解設定閾值Tlh+ip 的數據集Slh+ip+t。
步驟4:基于Slm+ip+t 集合按照IP 段進行聚合,形成集合Slm+ipc;然后基于集合Slm+ipc,挖掘超出單位時間(分鐘)相同IP 段暴力破解閾值Tm+ipc,得到數據集Slm+ipc+t;進一步挖掘超出更大單位時間(小時)暴力破解設定閾值Th+ipc 的數據集Slh+ipc+t。
步 驟5:將Slh+ip+t、Slm+ip+t、Slh+ipc+t、Slm+ipc+t 集合作為可疑異常集合,并依據“端點”進行時序化,通過后續行為強化暴力破解結果判定,即檢測存在破解可疑行為后有郵件收取行為或郵件發送行為。
步驟6:整合挖掘結果,按照暴力破解行為可信任度排序集合,Slh+ip+t、Slm+ip+t、Slh+ipc+t、Slm+ipc+t,并結合步驟5 辨識出存在登錄成功的行為,向用戶發起告警。
2.4.2 異常時間登錄
以“端點”作為行為判定基礎單元,找出滿足兩個條件的異常“端點”:條件一是與郵箱的通聯時間異常,即該“端點”與其他“端點”通聯時間存在明顯差異的時間點;條件二是這個差異的時間點,是該“端點”與郵箱通聯的常用時間點。此類異常的檢測創新性地引入了文檔關鍵字TF-IDF 算法,具體算法如下文所述。
(1)TF 在本文中代表“某個通聯時間”在該“端點”多次通聯郵服中出現的頻率,計算公式為:

式中:ni,j為“通聯時間”在“端點”多次通聯郵服dj出現的次數;為“端點”多次通聯郵服dj中所有時間出現的次數總和。
(2)IDF 在本文中代表“某個通聯時間”普遍重要性的度量,即某一特定“通聯時間”的idf,可以由總“端點”數目除以包含該“通聯時間”之“端點”的數目,再將得到的商取以10 為底的對數得到:

式中:|D|為所有“端點”的總數;|{j:ti∈dj}|為“通聯時間”ti的“端點”數目(即ni,j≠0 的“端點”數目)。如果“通聯時間”不在所有“端點”的所有“通聯時間”中,就導致分母為零,因此本文采用了1+|{j:ti∈dj}|。
(3)通過IDF 得到所有“端點”連接郵服時的異常“通聯時間”,然后通過tfidf公式得到擁有異常“通聯時間”的主要“端點”,具體公式為:

2.4.3 異常郵件收取
同一“端點”短時間內連續收取郵件,交互次數和郵件收取流量超過一定閾值,存在郵箱信息竊取的風險。具體步驟如下文所述。
步驟1:篩選出所有郵件收取記錄,并按照單位時間(小時)和IP 兩個元素進行聚合統計,得到單個IP 在單位時間郵件收取的通信數據量和交互次數,形成集合Srh+ip。
步驟2:挖掘Srh+ip 集合中超出單位時間(小時)異常收郵設定閾值Trm+ip 的數據集,形成集合Srh+ip+t。
步驟3:基于Srh+ip+t 集合按照IP 段進行聚合,形成集合Srh+ipc;然后基于集合Srh+ipc,挖掘超出單位時間(小時)相同IP 段異常收郵閾值Trh+ipc,得到數據集Srh+ipc+t。
步驟4:整合挖掘結果,按照異常收郵行為可信任度排序集合Srh+ip+t、Srh+ipc+t,向用戶發起告警。
2.4.4 異常郵件發送
同一“端點”短時間內連續發送郵件,交互次數和郵件收取流量超過一定閾值,存在發送垃圾郵件或木馬將竊密信息通過郵件進行回傳的風險。步驟與異常郵件收取類似。
2.4.5 非法時間登錄
在非工作時間(例如凌晨)與郵件服務器進行連接操作,且有大流量交互的通信行為。此外,該行為又是該“端點”較為常見的操作,最終通過計算公式獲取到此類數據。
2.4.6 非法地域登錄
私有郵服服務對象有限,用戶登錄客戶端來源地區范圍有限,超出限定地域并存在登錄后的收郵、發郵行為的為非法地域登錄。
2.4.7 非法連接
與威脅情報庫聯動,發現可疑IP(如暗網IP、CC 地址等)登錄郵件服務器進行郵件收發的行為。
配置管理模塊實現對系統內部整個流量采集、郵件行為判定、郵件特征提取、異常郵件行為判定全流程進行集中的配置管理,同時能夠監控系統本身的運行狀態,對判定為異常郵件的行為進行智能告警推送。
為了測試實驗的真實性和準確性,構建了實驗網絡環境進行郵箱異常攻擊的檢測。網絡環境包括多臺用于測試的私有郵件服務器,安裝了Outlook、Foxmail 等郵件客戶端軟件的終端設備,且檢測系統設備和互聯網連接。實驗拓撲如圖7 所示。

圖7 系統測試實驗拓撲
實驗過程中在測試客戶端計算機上采用Outlook、Foxmail 等客戶端配置加密模式,以及使用HTTPS 協議在瀏覽器中登錄郵箱賬號進行郵件收取件、發送件等相關操作。在互聯網環境中對公有郵服的測試郵箱進行連續、大量地收取和發送郵件;對私有測試郵服,嘗試暴力破解、exp 打擊,以及大量郵件發送和郵件收取的測試。
在以上試驗環境中,先通過出口交換機鏡像采集客戶端計算機與私有郵服及互聯網交換的流量數據;然后將采集到的數據分別送入上述加密流量郵件攻擊檢測分析原型系統和傳統的基于流量的郵件分析系統,對郵件異常行為進行判定;最后將判定結果與客戶端實際操作進行驗證比對。本文采用精確率和召回率兩個評價指標來對實驗結果進行評估[7]。表1 給出了對采用加密流量郵件攻擊檢測分析原型系統及傳統的基于流量的郵件分析系統進行測試實驗的相關結果。

表1 測試實驗結果 %
從上述結果中可以看出,本文設計的加密流量下郵件異常攻擊行為分析系統對加密郵件異常行為有一定的識別能力。而傳統檢測方式,即傳統的基于流量的郵件分析系統,只能通過還原原始流量中未加密的郵件協議,即基于郵件明文內容中的文本、主題、鏈接和附件內容,發現郵件攻擊行為,因此在對郵件進行加密后,這種方法的郵件行為識別率和異常判定識別率基本為零[8]。相較于傳統的方式,本文設計的系統在加密流量下對郵件異常攻擊的檢測效果有了明顯的提升,其具有更強的可用性和適用性。
當前,隨著加密流量的日益增加,攻擊者基于加密技術的攻擊手法也日漸增加,其中針對郵箱的攻擊更是層出不窮。在加密流量中針對郵箱的異常攻擊檢測和防御已經成為網絡安全研究領域中的焦點。本文對網絡加密流量中的基本概念、研究框架進行了論述,并設計了一種基于異常行為的加密流量郵件攻擊行為判定框架。該框架先通過從加密流量中提取郵件相關特征,再基于機器算法模型判定郵件行為,智能分析加密流量中的異常郵件攻擊行為。
本文的主要貢獻有兩點:
(1)基于機器學習算法,提出了分類學習的方式,對加密流量下郵箱通信行為進行細粒度的模型訓練,該方法能夠較為準確地識別到加密流量下郵箱登錄、郵件發送、郵件接收的通信行為;
(2)本文基于識別到的郵箱通信行為,提出了通過行為模型進行異常檢測的手段,能夠檢測包含暴力破解、異常收郵、異常發郵等郵箱高危操作。
綜上,本文面對新問題研究新方法,進一步探索了網絡加密流量中相關應用的識別和分析技術,對于安全運維人員了解網絡安全態勢、發現網絡攻擊行為具有重要意義。