淺談加密流量安全檢測技術
隨著金融數字化轉型的快速發(fā)展,網絡攻擊持續(xù)復雜化,從企業(yè)自身數字化轉型到支撐國家數字化發(fā)展過程中,一部分防護較為薄弱的金融關鍵信息基礎設施暴露在互聯網環(huán)境,正在成為網絡攻擊的重點目標。一方面,《網絡安全法》《密碼法》《關鍵信息基礎設施安全保護條例》等政策法規(guī)對數據安全的相關要求,推升了加密技術在金融關鍵業(yè)務中的應用比例;另一方面,隨著攻防雙方對抗不斷升級,為逃避傳統(tǒng)安全設備對攻擊行為的檢測,一些惡意軟件或攻擊行為轉為加密通信混雜在正常業(yè)務數據中。加密技術在提升數據安全性和隱私性的同時也為安全檢測帶來了新的挑戰(zhàn)。本文主要介紹加密流量安全檢測技術。
1.常見加密流量類型和面臨主要威脅
加密流量是使用加密協(xié)議進行數據通信和傳輸而產生的網絡流量。加密流量可分為標準加密協(xié)議流量和隱蔽隧道流量兩類,常見的標準加密協(xié)議有提供加密通信的SSL/TLS協(xié)議、用于Web瀏覽器和Web服務器通信的HTTPS協(xié)議、支持電子郵件加密傳輸的SMTPS和POP3S等;隱蔽隧道指將其它協(xié)議封裝在常見的網絡協(xié)議中建立通信用于命令控制或數據泄露,如DNS隧道、ICMP隧道、HTTP隧道等。
加密流量中常見的威脅行為有數據泄露、惡意軟件傳播、命令控制。標準加密協(xié)議在保護數據傳輸和通信的同時,因加密流量難以被監(jiān)控或攔截,也可用于隱藏敏感數據泄露行為;而惡意軟件或高級威脅攻擊行為使用加密通信的情況也越來越普遍,并且加密協(xié)議或種類趨向多樣化,加密流量成為“藏污納垢”的“有效”通道。
2.加密流量采集和處理
隨著網絡安全技術的發(fā)展,流量威脅檢測已成為各行各業(yè)縱深防御體系中不可缺少的一環(huán)。通過網絡流量發(fā)現和分析威脅攻擊行為一般分為三個環(huán)節(jié):流量采集、流量處理和檢測分析。下面介紹流量采集和流量處理的工作內容。
圖1 加密流量威脅檢測過程
(一)流量采集
為盡可能降低對業(yè)務的影響,流量采集類設備在網絡結構中一般采用旁路監(jiān)聽模式部署,通過交換機與網絡設備鏡像功能,捕獲分析網絡交換機進出口鏡像流量,完成流量采集。
(二)流量處理
網絡流量的協(xié)議識別和特征提取是加密流量檢測的首要任務,主要包括鏈路層協(xié)議的識別與解封裝、IP分片數據和TCP分片數據的重組、網絡層和應用層常見協(xié)議的識別、明文流量的識別。在協(xié)議識別和深度解析的基礎上,提取應用報文和各類元數據。主要的元數據包括:協(xié)議字段(協(xié)議五元組信息、加密算法、HASH算法、密碼參數等)、統(tǒng)計信息(會話上行包數、下行包數、上行載荷總量、下行載荷總量)。此外,運營日志在分析中至關重要:ICMP日志、TELNET日志、DNS日志、HTTP日志、SMTP日志、RDP日志等常見通信協(xié)議數據。
3.加密流量威脅檢測
由于隱私保護相關法律法規(guī)的限制以及加密攻擊手段的升級,不同于依賴明文規(guī)則和明文特征的傳統(tǒng)流量檢測方法,目前業(yè)界主要使用不解密流量的方法分析加密流量中是否存在惡意攻擊行為。主要的檢測技術有指紋法、行為分析和機器學習。
(一)指紋法
TLS協(xié)議可以分為兩個階段:握手階段和數據傳輸階段。握手階段的目的是通信雙方約定在數據傳輸階段使用的加解密算法及密鑰,這些消息都以明文形式發(fā)送。通過對這些未加密信息提取指紋信息,與指紋庫中的惡意流量指紋進行比對來識別惡意流量。TLS握手過程如下,啟動TLS會話時,客戶端發(fā)送ClientHello數據包,數據包包含客戶端支持的TLS協(xié)議版本以及加密算法等信息。
圖2 TLS握手過程示意圖
在指紋檢測法中,JA3指紋是比較常見的一種方式,主要用來識別SSL/TLS客戶端。它基于客戶端與服務端TLS握手過程的參數來生成獨特的標識,用于識別和分類不同的客戶端。例如抓取win10系統(tǒng)使用burpsuite_v2.0工具測試掃描產生的數據包,分析數據包中的客戶端JA3指紋,發(fā)現此JA3指紋是固定的,通過與指紋庫中的指紋信息進行匹配來識別測試工具。
圖3 burpsuite_v2.0_win10 JA3指紋
(二)行為分析
行為分析指通過分析通信流量中客戶端/服務端的交互方式、交互數據量、交互時間等方面存在的固定特點尋找流量數據的相似性和相關性,進行特征提取,構建惡意家族的行為檢測模型,進而實現對惡意加密流量的檢測。
以TLS協(xié)議為例,TLS協(xié)議承載的正常應用層會話(如HTTP會話),對于每個請求和響應,其客戶端/服務端交互方式、交互數據量、交互時間等都會有一定的行為方面的差別。通過分析遠控木馬的業(yè)務類型,發(fā)現其行為基本不會脫離激活、上線、下發(fā)、回傳、心跳,因此在客戶端/服務端的交互方式、交互數據量、交互時間等方面都會有固定的特點。這些特點反映在TLS協(xié)議的加密數據交互,即Application Data消息(以下簡稱APPDATA)階段。行為檢測模型可從單流和多流兩個角度進行:
?單流行為特征:單流行為從APPDATA交互階段獲取三類信息,一是方向信息,即數據包是上行還是下行;二是大小信息,即APPDATA消息載荷的長度;三是時間信息,即APPDATA消息到達的時間間隔。
?多流行為特征:僅從單流層面考察,有時候并不能反應惡意家族的行為全貌。因此需要提取TLS多流行為特征,表現惡意家族多次會話行為上的特征。多流行為特征主要可分為三類:時間特征、長度特征、數量特征。時間特征主要包括多次會話持續(xù)時間、多次會話之間的間隔信息等;長度特征主要包括多次會話中每個會話上行流量、下行流量、總流量的大小等;數量特征主要包括多次會話中每個會話的上行包數、下行包數、總包數等。
以CobaltStrike(簡稱CS)為例,CS是一款綜合滲透工具,因其功能強大在攻防演練中被廣泛使用。CS交互行為經歷上線、響應、心跳、下發(fā)和回傳幾個階段。通過對心跳會話間隔等時間特征、請求體與響應體等長度特征構建行為檢測模型識別心跳、下發(fā)指令、數據回傳、心跳等惡意交互行為,對CS攻擊行為進行檢測。
圖4 CS執(zhí)行過程及檢測結果
(三)機器學習
機器學習檢測技術主要是基于以專家領域知識為基礎的特征提取和深度學習特征提取技術,采用隨機森林、一維卷積神經網絡、LSTM等學習方法,對加密流量中的惡意威脅行為進行檢測。
在利用機器學習算法檢測的技術路線中,通過對加密流量進行深度分析,將加密流量所能提取的特征相對獨立的分為:時空特征、握手特征、證書特征、背景流量特征,分別構建和訓練單獨的子模型進行檢測。不同類型的加密流量,根據所包含的信息,調用不同子模型進行預測,最終在子模型輸出基礎上,再進行加權平均得到最終預測結果,從而識別加密威脅。
時空特征指與協(xié)議無關的流特征,例如數據包的個數、數據包的大小、數據包到達時間、上下行包長、上下行包到達時間等;握手特征指客戶端與服務端發(fā)起加密會話后的密鑰協(xié)商過程特征,例如密碼套件、協(xié)議版本、支持的擴展項等;證書特征指服務端提供的加密會話證書特征,例如證書鏈長度、使用者正常度、證書頒發(fā)者、證書有效期等;背景流量特征指客戶端和服務端在加密會話過程中所關聯的DNS、HTTP等其他協(xié)議元數據和基于這些元數據計算得出的特征。
圖5 機器學習檢測模型及示例
總結與展望
盡管采用不解密的技術手段對惡意加密流量的檢測已經取得了一定的效果,但是在日常安全監(jiān)測中仍然存在誤報問題,對惡意流量識別的精準率仍需進一步提升。因此G行將緊跟前沿技術,不斷優(yōu)化流量檢測模型,提升對惡意威脅識別的準確度;同時推進加密流量檢測與現有網絡安全防御體系其它部分的聯動協(xié)同,實現對網絡威脅的感知和有效應對。
作者:賈晶晶
微信圖片_20250308122810.jpg
作為一名運維安全工程師,目前主要負責流量檢測設備的安全運維與威脅監(jiān)控分析。信息安全之路道長且阻,希望不斷提升自我能力,致力于成為一名合格的信息安全運營工作者。
編輯:趙星源
圖片
業(yè)精于勤,荒于嬉;行成于思,毀于隨。新入行持續(xù)學習中的運維安全人,希望能給大家?guī)砀嗑饰恼隆?/p>