本文為清華大學計算機系團隊于2017年發表于計算機學報的一篇文章,作者為張蕾,崔勇,劉靜,江勇和吳建平,
摘要
文章首先闡述機器學習技術在網路空間安全應用研究中的應用流程,然后從系統安全,網路安全和應用安全三個層面介紹了機器學習在網路空間安全領域中的解決方案,歸納了這些解決方案的安全特征及常用的機器學習演算法,最后總結,
一、引言
(1)隨著互聯網,云計算,大資料等技術的迅猛發展,網路環境日益復雜,網路空間安全復雜度越來越高,資料維度不斷增加,傳統的分析問題解決問題的方法不再實用,機器學習技術開始發生作用,
(2)傳統方法問題:例如依靠安全專家人工修復方法無法解決零日漏洞問題;傳統依靠固定規則的網路入侵檢測方法,面對不斷增加的資料維度和復雜的網路行為,出現大量誤判警告和判別時間過長;依靠固定規則或黑白名單規律的垃圾郵件檢測方法存在檢測效率低,規則更新不及時等問題,
(3)除了邊信道攻擊研究外,機器學習在網路空間安全基礎,密碼學及其應用作為理論基礎方法的研究較少涉及,而在系統安全,網路安全,應用安全三個方面有大量研究成果,
——系統安全:芯片,系統硬體物理環境,系統軟體
——網路安全:網路基礎設施,網路安全檢測
——應用安全:應用軟體安全,社會網路安全
(4)本文結構如下圖:

——本文第2節剖析了機器學習的一般應用流程:問題定義,資料采集,資料預處理及特征提取,模型構建,驗證,效果評估,
——3、4、5節從系統安全,網路安全和應用安全三個研究領域,按照上述機器學習的一般流程,對機器學習在網路安全領域的應用進行分析和討論,典型的應用如圖所示,著重介紹技術思路和機器學習演算法關鍵技術,
總結:
第一節引言介紹了傳統方法存在的問題,以及機器學習為什么能夠應用,重點總結了機器學習在網路安全方面的應用都在哪些方面,分為三個方面:
| 應用安全 | 應用軟體安全 | 垃圾郵件檢測 |
| 基于URL的惡意網頁識別 | ||
| 惡意PDF檢測 | ||
| 社會網路安全 | 社交網路例外賬號檢測 | |
| 信用卡欺詐檢測 | ||
| 取證分析 | ||
| 網路輿情 | ||
| 網路安全 | 網路基礎設施安全 | BGP例外檢測 |
| 惡意域名檢測 | ||
| 網路安全檢測 | 僵尸網路檢測 | |
| 網路入侵檢測技術 | ||
| 惡意加密流量識別 | ||
| 系統安全 | 芯片安全 | 劣質芯片檢測 |
| 硬體木馬檢測 | ||
| PUF攻擊 | ||
| 系統硬體及物理環境安全 | 設備身份認證 | |
| 密碼設備邊信道攻擊 | ||
| 偽基站檢測 | ||
| 系統軟體安全 | 漏洞分析與挖掘 | |
| 惡意代碼分析 | ||
| 用戶身份認證 | ||
| 虛擬化安全 |
二、機器學習在網路空間安全中的應用流程
如圖2為機器學習在網路空間安全中的一般應用流程,主要包括安全問題抽象,資料采集,資料處理及安全特征提取,模型構建,模型驗證和模型效果評估6個階段,各階段不能獨立存在,相互關聯,

2.1 安全問題抽象
安全問題抽象即將網路空間安全問題映射為機器學習能夠解決的問題,即將問題進行抽象和定義,映射成為機器學習能夠解決的分類,聚類和降維等問題,抽象結果如圖3所示:

有些問題,如惡意入侵檢測,取證分析,網路輿情等既可以抽象為分類問題也可以抽象成聚類問題,如果是高維資料的處理,可以抽象為降維問題,利用機器學習主成分分析(PCA)演算法,奇異值分解(SVD)演算法等對資料進行降維操作,
2.2 資料采集
資料采集利用各種手段從系統層,網路層和應用層采集資料,并進行相應的檢測研究,
——系統層資料用于系統安全問題的研究,這類資料主要有芯片資訊,設備資訊,系統日志資訊以及實時運行的狀態資訊等,主要用于芯片安全,設備安全和系軟體安全,例如采集基站的位置資訊和短信日志等資料用來進行偽基站檢測研究,
——網路層資料指的是與具體網路活動密切相關的資料,比如網路包資料或網路流資料,用于檢測僵尸網路,網路入侵等,如企業內部網路采集真實的TCP流資料進行協議分類及例外協議檢測研究,
——應用層資料指的是網路空間中的各類應用軟體產生和存盤的資料,如郵件文本資訊,Web日志,社交網路文本資訊等,主要用于應用軟體安全檢測,網路輿情分析等,如采集大量的URL資料用于惡意網頁識別,
2.3 資料預處理及特征提取
提取特征之前對原始資料進行清洗和處理,主要包含對資料規范化,離散化和非平衡化處理等,
(1)資料預處理
原始資料包含缺失值和噪音,或者例外點,需要進行資料清洗和歸一化等預處理,一般是先對噪音,例外值,重復值等進行清洗,然后對資料進行歸一化,
(2)資料缺失處理和例外值處理
某個特征缺失值較多時,直接舍棄,否則產生比較大的噪聲;缺失少時,采用填充方法,如固定值填充,均值填充等,此外,有些機器學習模型如隨機森林,貝葉斯網路和人工神經網路可以自身處理資料缺失,
(3)非平衡資料處理
當資料樣本失衡時,采用過采樣(資料不足時復制或者自舉來增加少數樣本量)或者欠采樣(減少多類樣本以平衡資料)方法構建平衡資料集,
(4)資料集分割
分割為訓練集,驗證集和測驗集,且采用交叉驗證法分為訓練集和驗證集,
(5)特征提取
從資料中提取最具有安全問題的本質特征的屬性,
2.4 模型構建
本階段選擇合適的學習演算法,構建模型,包含兩個部分,演算法選擇和引數調優,
在機器學習中,按照資料集是否有標記分為監督學習(有標記)和無監督學習(無標記),
監督學習演算法常用于分類問題和回歸問題,常見演算法有LR,ANN,SVM,決策樹,線性回歸,隨機森林等,
非監督學習中,資料不包含標簽資訊,但可以通過演算法推斷出資料的內在關聯,例如社交網路賬號的檢測中對好友關系,點贊行為等聚類,常見的演算法有K-Means聚演算法,KNN演算法,基于密度的DBSCAN演算法,層次聚類(HC)演算法,圖聚類演算法等,
此外,還有一些新的方法出現,深度學習憑借強大的自動提取特征能力,被用于解決例外協議檢測,惡意軟體檢測,網路入侵檢測以及差分隱私保護等安全問題,擅長場景或領域遷移的遷移學習,在硬體木馬檢測中利用遷移學習對邊信道信號檢測進行校正,深度學習與增強學習結合的深度增強學習演算法(DQN)應用于移動終端惡意軟體檢測,生成對抗網路與深度學習演算法結合用于隨機域名生成演算法和惡意代碼檢測,
2.5 模型驗證
k倍交叉驗證,檢測模型是否有效,
2.6 效果評估
主要關注模型的學習效果和泛化能力,下表為主要的一些評價標準,

此外,不同領域還有不同的指標說法,例如在硬體木馬檢測,例外檢測等還常使用誤報率(FPR),漏報率(FNR)來衡量模型泛化能力,
在社交網路賬號檢測,例外檢測等聚類問題中,模型的目標是同一簇樣本彼此相似,不同簇不想同,因此聚類問題常用評估指標分為兩類,一類是將聚類結果與某個參考模型進行比較,另一類直接考察,不利用任何參考模型,
三、機器學習在系統安全研究中的應用
包含三個方面:芯片,系統硬體及物理環境和系統軟體,
其中,芯片安全方面包含劣質芯片檢測,硬體木馬檢測及PUF攻擊;系統硬體及物理環境安全包含設備身份認證,物理層邊信道攻擊及偽基站檢測;系統軟體安全包括漏洞分析與挖掘,惡意代碼分析,用戶身份認證及虛擬化安全,
3.1 芯片安全
機器學習解決芯片安全問題,主要基于邊信號分析,指紋識別和影像識別的劣質芯片和硬體木馬檢測,針對芯片知識產權保護安全,提出物理不可克隆(PUF)函式攻擊,利用機器學習技術推測由PUF生成的芯片知識產權保護表示,
3.1.1 劣質芯片檢測
劣質芯片和原廠芯片存在差異引數:一是邊信道差異引數,包括正偏壓溫度不穩定性,熱載流子注入等;二是芯片外形方面,例如顏色,擦痕等,
基于邊信道差異引數檢測研究中,選取若干差異引數,使用單類支持向量機法(OC-SVM)訓練劣質芯片分類器,還利用時鐘掃描技術生成芯片路徑延遲指紋,分別使用簡單例外點分析(SOA)和主成分分析法(PCA)檢測劣質芯片,
基于芯片外形的檢測研究中,利用人工神經網路(ANN)提取芯片影像特征,再進行自動分類,
同時,上述方法只是在粗粒度差異特征下提升了檢測效率,面對細粒度的差異特征時,識別效率較低,
3.1.2 硬體木馬檢測
(1)芯片的硬體木馬通常指在原始芯片植入具有惡意功能的冗余電路,
(2)可以通過收集芯片邊信道的引數指紋,在多維的空間對比,判斷是否在可信芯片的引數指紋范圍內,機器學習在硬體木馬檢測方向上研究有芯片原理圖成像識別和邊信道信號分析,
(3)方法
——利用可信芯片電路仿真,蒙特卡洛分析得到多維邊信道信號資料,利用PCA演算法(主成分分析法)降維資料,然后通過非線性回歸模型得到邊信道指紋,最后利用單類支持向量機法(OC-SVM演算法)進行分類識別,
3.1.3 PUF攻擊
物理不可克隆函式(PUF)電路是一種根據芯片在制造程序中的差異性產生獨特的激勵-回應對的電路,這種PUF電路可生成該芯片唯一的標識,
攻擊原理:收集給定PUF的激勵回應對,利用機器學習演算法推測在任意激勵下該PUF的回應值,
演算法:利用邏輯回歸,SVM和進化策略攻擊PUF,在不同電路位數下均作了攻擊實驗,獲得了較高準確率,
3.2 系統硬體及物理環境安全
硬體設備身份認證是系統硬體常見的安全問題,本文介紹基于硬體自身指紋特征的設備身份認證技術,介紹機器學習在里面的應用,主要有暫態信號,調制信號和頻譜回應這三類指紋特征,此外,系統硬體與外部設備進行資訊交換或者通信時會遇到資訊泄露,中間人攻擊,如常見的物理層邊信道攻擊,偽基站,
3.2.1 設備身份認證
(1)原理:從信號中提取反應設備身份的特征,然后生成可用于識別設備的指紋,然后利用機器學習演算法識別設備指紋,從而實作設備身份認證,
基于暫態信號,調制信號,頻譜回應以及傳感器回應產生的指紋進行識別,
認證流程如下,包括測量信號,提取信號特征,降低維度,生成指紋和指紋識別五個階段,

(2)方法:
——利用設備開關的暫態特征進行設備身份指紋識別,測量設備暫態信號中含有幅度和相位資訊的復包絡,將暫態信號的方差變數作為暫態特征,并采用自組織映射網路(SOM)降低暫態特征的資料維度,最后利用概率神經網路(PNN)進行識別,
——針對無線網路設備,提出基于調制信號的設備身份認證技術,使用SVM和K臨近演算法分別進行認證設備身份,
——基于調制信號和頻譜回應信號的RFID設備應答器的物理層認證技術,首先提取設備的調制信號和頻譜回應,利用PCA降低資料維度,生成設備指紋,利用K臨近演算法進行設備識別,
——實作智能手機和平板的設備身份認證,原理為利用不同的傳感器對同樣的運動刺激會產生不同回應的原理,首先從加速度傳感器產生運動路徑的時域,頻域信號中提取了若干特征資料,生成傳感器指紋,然后利用隨機森林演算法對設備傳感器進行指紋識別,
(3)存在問題:
——受外部環境變數影響大;
——利用單一或少量的設備身份指紋要素,未來要采用多指紋要素結合;
——用戶隱私保護,
3.2.2 物理層邊信道攻擊
(1)含有密碼演算法的設備在作業狀態時,會在電源功耗消耗,密碼演算法執行時間,電磁輻射,故障情況的輸出方面產生與密鑰相關的變化資訊,這些資訊即為物理層邊信道資訊,
物理邊信道攻擊是利用物理層邊信道資訊找出設備的加密資訊的一種攻擊方式,攻擊方法主要用模板攻擊和能耗分析攻擊,
(2)方法:
——模板攻擊中,利用多元高斯分析刻畫邊信道泄露資料的分布特征,并利用皮爾遜相關系數和PCA演算法得到特征,在密鑰恢復階段,利用最小二乘支持向量機(LS-SVM)演算法進行模式匹配實施攻擊,
——在基于松弛假設和高緯度特征向量的差分能耗分析攻擊中,將能耗與密鑰關系形式化成一個監督學習任務,特征選取對比試驗了排序法,主成分分析法,自組織映射,最大相關最小冗余演算法(mRMB),分類器對比試驗了SOA,SVM,隨機森林法,
3.2.3 偽基站檢測
(1)原理:2G/3G/4G的基站模式兼容,GSM(2G)網路協議有安全缺陷,攻擊者來利用ISMI捕捉器堵塞3G/4G網路,迫使用戶接入2G網路,然后進行詐騙,
(2)基于機器學習的ISMI捕捉器檢測系統
分為在線監測和離線學習兩部分,在線檢測由若干單類SVM,神經網路等構成的例外檢測器構成,主要利用2G到3G之間的模式轉變,真正基站檢測到的手機信號消失的時間,加密的禁用等,然后通過集成演算法形成強檢測器,結合安全專家判斷,將綜合結果反饋給離線學習部分以更新檢測器引數,
3.3 系統軟體安全
在系統軟體安全中的研究主要集中在漏洞分析與挖掘,惡意代碼分析,用戶身份認證和虛擬化安全等方面,
3.3.1 漏洞分析與挖掘
(1)漏洞是指系統在硬體,軟體和協議的具體實作中或系統安全策略設計上存在的缺陷和不足 ,從而威脅單元計算系統的安全,
(2)漏洞發現和人工審計
——基于函式形式的原始碼中提取API符號,利用PCA自動識別API用途的特征,從而發現零日漏洞;
——利用RNN識別深度的二進制程式漏洞;
——通過語法抽象圖和詞袋模型,利用機器學習方法進行分析,進行代碼漏洞漏檢自動識別;
(3)漏洞預測
——利用SVM集成學習軟體組件早期漏洞的識別;
——基于機器學習文本挖掘方法預測軟體原始碼中含有的安全漏洞;
——利用自然語言處理中的N-Gram模型和統計特征選擇來預測漏洞;
——基于人工手寫補丁特征,利用概率模型自動生成補丁,以自動修復漏洞,
3.3.2 惡意代碼分析
(1)惡意代碼:指具有惡意功能的應用程式;分為靜態分析和動態分析,
(2)方法:
——靜態分析方面,收集軟體特征,嵌入聯合特征向量空間中,用SVM檢測其中的惡意代碼;使用N-Gram模型從原始惡意代碼中提取訓練集,對比樸素貝葉斯,SVM,決策樹等演算法,將這些弱分類器演算法集成提升為強分類器演算法,及AdaBoost演算法,
——動態分析方面,基于主動學習框架的捕獲新型惡意軟體方法中,通過二進制文本和運行行為提取特征,利用貝葉斯分類演算法進行特征分類,判斷內核驅動是否含有Rootkit;選取資訊,內容,時間和連接四個網路行為特征,使用貝葉斯網路和隨機森林分析移動終端惡意軟體;記憶與動態行為,請求許可,請求時間序列,敏感介面四個特征,提出基于機器學習的惡意軟體檢測流處理框架,
3.3.3 用戶身份認證
(1)用戶身份認證研究用戶與硬體設備或用戶與系統之間的認證,主要用利用機器學習攻擊傳統用戶身份認證方法和設計新的用戶身份認證機制兩個點,
(2)攻擊傳統用戶身份認證方面:
——針對認證程序中的驗證碼,提出利用機器學習自動識別驗證碼,采用多個SVM分類器結合,從驗證碼圖片中提取顏色和文本特征,
——基于計算機視覺,提出自動盲識別觸屏設備的輸入密碼,通過DPM模型檢測和追蹤目標設備,利用光學流演算法自動識別觸摸幀以及利用K-Means聚類演算法識別觸摸點;
——基于可穿戴設備傳感器邊信道信號,推斷用戶鍵盤密碼輸入,從可穿戴設備提取資料,進行處理和特征提取,利用機器學習演算法進行推測,K臨近演算法最佳,
基于機器學習的用戶身份認證設計方面:
——基于觸屏特征:加速度,壓力,大小和時間,提出一個免打擾的用戶認證機制,采用單類學習演算法驗證是否為合法用戶;
——基于傳感器增強的擊鍵行為特征,實作多種特征提取和識別演算法(SVM,樸素貝葉斯,馬氏距離演算法,K近鄰等);
——基于斯坦福大學的智能手機擊鍵認證資料集,利用DNN提高擊鍵認證技術;
——將基于DNN改進的LSTM和GRU網路結構應用到擊鍵認證設計中;
——基于手勢特征的再次認證身份系統,采用SVM識別手機擁有者滑動手機螢屏的手勢特征;
總結如下表:

3.3.4 虛擬化安全
(1)虛擬化安全問題主要是虛擬機隔離安全,而邊信道攻擊是虛擬機隔離安全的一大威脅,此處介紹基于機器學習的虛擬機邊信道攻擊及虛擬機環境惡意行為檢測,
(2)方法:
虛擬機邊信道攻擊中,高速快取常被作為跨虛擬機攻擊的通道,
——提出通道驅動的跨虛擬機的邊信道攻擊,將一級高速快取作為攻擊通道,通過素數探針從虛擬機中提取細粒度資訊,利用SVM演算法分類Cache資訊,并基于代碼路徑的隱馬爾可夫模型提高SVM輸出的準確性,最侄訓取密鑰,
虛擬機環境惡意行為檢測研究中:
——設計了一個基于機器學習演算法的資料分析模型來作為運輸局中心虛擬機入侵檢測器,檢測到惡意行為時會啟動決策引擎回應,
總結:
本節從芯片,系統硬體及物理環境和系統軟體三個層面,介紹了已有的機器學習在系統安全中的研究作業,總結如下表所示,

存在以下問題和可能的研究方向:
(1)芯片安全層面:需要進一步提高劣質芯片和硬體木馬的檢測精度(都只有芯片外形和邊信道引數改變明顯時才能檢測),以及增強PUF的抗機器學習攻擊的能力(可以通過機器學習模擬PUF的激勵回應,攻擊成功率很高),
(2)系統硬體及物理環境安全層面:MAC地址認證很容易被偽造,利用各種信號(在信號中提取身份特征,生成識別指紋)進行設備身份認證時,需要在噪聲大的情況下提高識別準確率,還要注意隱私保護問題(收集信號時受環境影響大,且收集會涉及到隱私問題),
針對基于機器學習的物理層邊信道攻擊(采用邊信道資訊來找出設備的加密資訊),可以考慮增加邊信道信號噪聲以混淆,對抗攻擊(能耗分析較優),
偽基站檢測方面,未來需要進一步解決偽基站資料集收集,偽基站定位精度,查全率三大問題(缺少資料集,導致只能成為一種方法設想),
(3)系統軟體層面:針對漏洞分析與挖掘(漏洞發現和漏洞預測兩個方面,后者還可基于人工手寫補丁用概率模型修復),雖然利用機器學習可以推斷未知漏洞,但可信度有待研究(分局萊斯定理,不知道檢測所得是否是真的漏洞);
對于惡意代碼分析(從惡意代碼訓練集中提取特征,然后檢測),又從靜態分析到動態分析的趨勢,并利用不斷發展的機器學習演算法進一步提高惡意軟體檢測準確率;
利用機器學習攻擊傳統身份認證機制時(驗證碼攻擊:自動識別驗證碼;基于計算機視覺,自動盲識別觸屏設備輸入密碼),考慮增加視徑訓淆,邊信道噪聲等,以增強認證機制的安全性;
利用機器學習設計新的用戶身份認證機制時(基于觸屏特征,如加速度壓力和時間,識別密碼;基于手機擁有著滑動手機螢屏的手勢特征,進行身份認證),需要進一步提高準確率和進行隱私保護;
對于虛擬化安全(利用高速快取作為通道,通過提取資訊,用分類器分類,得到密鑰),考慮應對基于機器學習的虛擬機邊信道攻擊以及構建虛擬機入侵檢測器,
四、機器學習在網路安全研究中的應用
網路基礎設施安全為互聯網運行提供了基礎,各項網路安全檢測措施為互聯網各項活動開展提供了安全的通信保障,此處介紹機器學習技術在BGP的例外檢測,惡意域名檢測,僵尸網路檢測,網路入侵檢測以及惡意加密流量的識別中的應用和研究,
4.1 網路基礎設施安全
主要包含路由系統安全和域名系統安全這兩個點,對應的,采用機器學習進行的BGP的例外檢測以及DNS的惡意攻擊檢測,
4.1.1 BGP的例外檢測
邊界網關協議(BGP)是互聯網的核心路由協議,互聯網的域間路由通過BGP路由資訊交換完成,
(1)原理:例外路由檢測是通過提取當前BGP更新資訊的特征或時序特征,將當前流量識別為正常路由或者例外路由,即二分類問題,
一般采用SVM,隱馬爾可夫模型,決策樹,樸素貝葉斯,LSTM等演算法進行例外路由檢測和前綴劫持定位研究,
(2)方法:
在例外路由檢測研究中,一般是在公開資料集中提取特征,然后機器學習訓練:
——首先是基于短時特征的檢測方法,未考慮流量的時間序列特性和流量的隨機性,Li等人通過對公開路由資料集提供的BGP更新訊息提取特征,然后采用決策樹和柔性粗糙集技術對特征進行特征選擇以去掉重復特征,由此生成特征個數不同的三個資料集,然后采用決策樹和ELM演算法對不同的資料集構建分類器識別BGP例外路由,
——在考慮BGP流量時間序列的基礎上,選取具有時間序列特性的流量特征,采用LSTM模型進行BGP例外路由檢測,識別率提高,
針對前綴劫持定位問題:
——采用層次聚類演算法對LOCK系統中部署的大量監控器分成若干簇,每個簇中的監控器到目標前綴具有相似的路徑,當前綴被劫持時,每個簇中的監控器基于目標前綴被污染的路徑的概率進行排名,選擇排名最高的監控目標前綴,由此提供精準的前綴劫持定位,
(3)總結:總體而言,例外路由檢測從BGP更新資訊或時序中提取例外資訊對例外路由報警,前綴劫持行為定位以完善BGP安全為目標,對劫持行為進行定位并報警,
目前存在的問題:應用于例外路由檢測,準確率不高;局限于方法和模型的探討,未實用,
4.1.2 惡意域名檢測
(1)方法:
老方法是設定黑名單和基于查詢請求數的方法,存在誤報率高且無法檢測未知例外域名,基于機器學習的惡意域名檢測通常為離線模型和在線模型結合,流程如下圖所示:

離線模型中,將帶有標簽的域名集作為訓練集,從中提取特征,選取決策樹,X-Means聚類演算法等構建訓練模型,采用網站提供的已知域名資料集進行驗證和調參,在線模型中,實時采集的域名流量進行被動域名查詢分析,進行特征提取,如果已知輸入訓練,未知則利用分類器判斷是否惡意域名,
機器學習除了用于惡意域名檢測,還用于隨即域名生成,但生成的域名難被檢測出,
(2)存在問題:
——如果了解域名檢測系統的原理就很容易逃避檢測,所以未來要采用對抗網路等技術構建新的域名檢測系統;
——現有檢測都基于已知的訓練集,對深度學習生成的域名檢測效果不佳;
4.2 網路安全檢測
即對網路的安全狀態或者面臨的風險進行檢測,本文分析機器學習技術在僵尸網路的檢測,網路入侵檢測技術和惡意加密流量識別中的研究現狀,
4.2.1 僵尸網路的檢測
僵尸網路中存在大量被僵尸程式感染的主機,受攻擊者的控制進行惡意網路攻擊,如垃圾郵件,資訊竊取等,僵尸網路的活動分為傳播,命令與控制(C&C),攻擊三個階段,
(1)原理:將機器學習應用于僵尸網路檢測中,首先從流量和日志資訊中提取流量特征或者行為特征,然后利用X-Means,隨機游走等聚類演算法,SVM,隨機森林以及關聯規則等演算法實作檢測,根據檢測特征不同,分為基于網路流量分析和基于關聯分析的檢測技術,
(2)方法
從網路流量角度分析看,僵尸網路的通信行為有一定的關聯性和群體相似性,所以采用聚類方法分析不同的網路流量特征,
——BotGrep是一種通過對網路流量行為分析檢測結構化P2P僵尸網路的方法,該方法提取流量中的某些特征,然后利用隨機游走聚類演算法構造結構化P2P網路的子圖,再結合蜜罐等檢測技術判斷是否為僵尸網路,
——其他的方法還有圖聚類,隱馬爾科夫模型,隨機森林演算法等,
從基于關聯的分析看,僵尸網路的通信行為往往和一些惡意時間有關聯,因此,許多作業采用流量特征與日志資訊的關聯分析檢測技術檢測僵尸網路,
——BotSniffer檢測系統對同一局域網中Bot活動的時間和空間關聯性進行分析,從IRC和HTTP流量中識別可疑的僵尸網路C&C連接,然后結合例外事件日志,采用X-Means聚類方法進行關聯分析進行檢測集中式的僵尸網路,
表5總結了采用的機器學習技術和選取的檢測特征:

(3)問題
由于網路流量資料量巨大且僵尸網路通信行為復雜,使得特征選取困難,聚類方式的流量分析精度不高,關聯分析具有很多局限性,如檢測時間長,拓展性差等,因此隨著僵尸網路傳播,控制和攻擊形式的多樣化,如何有效進行特征提取,提高檢測精度變得尤為重要,
4.2.2 網路入侵檢測技術
(1)原理
網路入侵檢測即根據網路流量資料或主機資料來判斷系統的正常行為或者例外行為,可以抽象為分類問題,
網路入侵檢測分為誤用檢測,例外檢測和混合檢測,大多數檢測方法都是例外檢測和混合檢測一起使用,
機器學習應用于網路入侵檢測系統的一般流程如圖所示:

一般流程是,首先進行資料收集或采用公開資料集,對資料預處理并提取網路入侵特征,選取合適的機器學習演算法構建入侵檢測分類器,訓練好之類對待測資料進行識別是正常行為還是例外行為,
(2)方法
——神經網路是目前最流行的檢測演算法,但其構建的誤用檢測系統容易陷入區域最優解并且計算時間長;
——沒有隱藏單元的MLP構建的例外及混合檢測研究中,檢測成功率小;
——此外還有樸素貝葉斯分類器,貝葉斯網路,隱馬爾可夫模型,SVM,RSVM,決策樹等;
——此外,無監督學習聚類演算法也被應用,如基于密度的聚類演算法DBSCAN;
(3)不足和總結
基于機器學習的檢測方法誤判率高,且需要大量樣本,且訓練難度大,且不能檢測新的攻擊型別,總的來說復雜度高且很難實作實時監測,況且現實中難以部署實施,
4.2.3 惡意加密流量識別
(1)原理和程序:首先采集百萬計的流量,分析各種流量的不同之處,然后從不同的資訊中提取特征,將特征進行歸一化處理,隨后利用L1邏輯回歸分類器獲得檢測模型最優權值,然后驗證模型,最后在實際檢測中,將待測加密流量特征向量輸入模型,根據預設定的閾值進行判別是否是惡意流量,

(2)方法
——利用機器學習分析網路加密流量,用于識別移動終端用戶的行為,利用已知APP在移動終端生成的網路流量,將其時間序列進行標記,生成有標簽的訓練集,然后使用層次聚類演算法將網路流進行聚類,相似的流被分到一個簇中,代表有相似的用戶行為,每個簇特征用整數形式表示,使用隨機森林演算法執行分類操作,將未知流量分類到不同的簇中,
——此方法缺陷是訓練集是人為激發生成,與網路中真實的資料存在偏差,
總結:
本節介紹機器學習在網路基礎設施安全(路由系統的BGP例外檢測和域名系統的惡意域名檢測)和網路安全檢測(僵尸網路檢測,網路入侵檢測和惡意加密流量的識別)中的研究現狀,方法和使用的特征如下圖所示:

BGP路由安全關系到互聯網的連通性和穩定性,域名系統是各類應用的基礎,因此網路基礎設施對檢測的準確率和誤報率要求較高,僵尸網路,網路入侵以及加密流量識別,由于攻擊流量大,形式多樣化,所以要求快速實時回應,
基于機器學習的構建在線網路安全模型應滿足三需求:時間復雜度,增量更新能力以及泛化能力,現有的能夠達到線性級復雜度的神經網路無法滿足對實時流的處理,滿足增量更新的隱馬爾科夫模型及樸素貝葉斯網路帶來計算復雜度,具有良好泛化能力的模型需要強烈依賴于資料集,因此還需探討,
五、機器學習在應用安全研究中的應用
從應用軟體安全(主要包括垃圾郵件檢測,PDF惡意軟體檢測,惡意網頁檢測)和社會網路安全(社交網路例外賬號檢測,信用卡欺詐檢測,取證分析,網路輿情)介紹機器學習的應用,
5.1 應用軟體安全
包括垃圾郵件的檢測,惡意網頁的識別以及惡意PDF檔案的檢測,
5.1.1 垃圾郵件的檢測
(1)原理
傳統垃圾郵件檢測方法是在服務器端手動設定檢測規則,即在服務器端通過修改郵件傳輸協議,設定發送或接受規則或設定黑白名單等完成垃圾郵件過濾,該方法只能檢測已知型別的垃圾郵件,檢測效率低,規則更新不及時,
(2)方法
可抽象成機器學習的文本分類問題,首先將垃圾郵件的文本資訊進行數值化表示,每條資訊通常表示為一組向量,特征向量中的元素代表了垃圾郵件中的特征值,定義特征向量,構建資料集后,選取機器學習分類演算法如樸素貝葉斯,決策樹,SVM,神經網路等進行特征匹配,進而判斷,
上述基于內容的垃圾郵件檢測系統,郵件發送者可以改變IP地址或者郵件內容進行逃避,所以提出了不依賴于內容的檢測方法,該方法使用了基于輕量級的網路層的13個特征,利用多個決策樹的集成學習方法構建郵件發送者信譽評估系統,將垃圾郵件發送者IP與合法用戶區分,該方法僅能處理小規模的郵件數量,擴展性差,
(3)面臨的挑戰
如何應對海量資料中對垃圾郵件快速做出反應,以及在在線應用中,如何在郵件識別程序中自動實作分類器更新,
5.1.2 基于URL的惡意網頁識別
(1)原理
惡意網頁識別通常采用基于黑名單的識別方法,基于規則匹配的方法,基于主機行為識別的方法,它們存在時效性差,誤報率高以及更新難等問題,機器學習方法技術主要分為基于分類方法的惡意網頁識別和基于聚類方法的惡意網頁識別,
(2)方法
基于分類方法的網頁識別,抽象為二分類問題,流程如下圖:

——Justin等人采用URL資訊的詞匯特征以及主機特征,假定各個特征獨立的條件下,利用貝葉斯規則,計算每個特征屬于惡意URL的概率,對待測的URL提取特征收,計算其后驗概率,通過設定的閾值判斷待測網頁是否屬于惡意網頁,
——貝葉斯需要滿足特征獨立的假設,但惡意網頁識別時,該假設不成立,SVM演算法不許滿足此假設,還有邏輯回歸方法,均有長處和缺點,
基于聚類的惡意網頁識別流程如下:

聚類之后,根據已標記資料的聚類結果,對待測URL識別是否是惡意網頁,
——提前特征后,利用已知釣魚網站URL地址集和基于密度的聚類演算法DBSCAN對待測URL與已知的釣魚網頁特征進行密度計算,若接近,判斷為釣魚網頁,
(3)不足和總結
上述方法存在分類器速度慢,過擬合或者不收斂等問題,同時海量資料容易產生高維特征空間,因此需要進一步研究有效的特征選擇方法和降維方法,以及海量資料帶來的資料不平衡問題,
5.1.3 惡意PDF檢測
(1)原理:惡意PDF指在正常PDF里嵌入惡意代碼,機器學習方法將其抽象為二分類問題,
(2)方法
PDF檔案的檢測研究大多采用PDF檔案內容或結構為特征,然后采用隨機森林,SVM,決策樹等分類器構建PDF檢測器,
但攻擊者可以通過改變PDF結構或者隨機修改惡意代碼躲避檢測,
(3)總結:以檔案結構和內容為特征的分類器存在很大盲區,因此不能作為特征,在未來研究中不僅要考究準確率,誤報率等指標,還需考量更合適的特征,或者利用深度學習自動提取惡意PDF的特征,
5.2 社會網路安全
與機器學習相關的社會網路安全研究主要集中在社交網路例外賬號檢測,信用卡欺詐檢測,取證分析以及網路輿情方面,
5.2.1 社交網路例外賬號檢測
根據檢測特征不同分為基于帳號行為的檢測方法和基于訊息內容的檢測方法,
(1)方法
基于賬號行為的檢測方法的基本流程是,在社交網路中獲取資料集,將例外賬號與正常賬號相比,在發送訊息頻率,添加好友請求等行為方面的差異性,從資料集中選取相應特征(如用戶行為,賬號創建時間,好友數量,訊息發送數量,好友請求比率),然后用隨機森林,SVM,樸素貝葉斯,K-Means等演算法構建分類器,
基于訊息內容的檢測方法,是根據例外賬號所發布的內容和正常賬號所發布的內容的相似程度檢測,該方法采用的特征是訊息內容本身,常用的方法有SVM,邏輯回歸分類器,聚類演算法等,
下表為社交網路例外賬號檢測所用方法:

(2)總結與不足
基于賬號行為的例外賬號檢測是基于例外賬號的行為特征,因此無法對惡意行為進行實時檢測,基于訊息內容的例外賬號檢測,只能在發布而已訊息時檢測到,因此都存在模型適應性差,易被攻擊者繞過等問題,未來可利用深度學習,深度增強學習等技術挖掘行為及內容特征,提升模型的自我學習能力,
5.2.2 信用卡欺詐檢測
欺詐交易依賴于交易次數和其他因素等,且欺詐資料具有稀疏性,非平衡性以及環境復雜性等特性,
(1)方法
——針對資料的高維性和非平衡性問題,采用不同的方法(過采樣或者下采樣)來生成資料的屬性特征值,然后利用SVM,隨機森林,邏輯回歸和隱馬爾科夫模型等機器學習模型進行訓練,
(2)總結
其中訓練資料的選取和預處理是難點,未來可采用聚類等方法識別隱藏的特征屬性,或者利用更先進的機器學習模型提高準確率,如用深度學習自動提取信用卡交易的特征屬性值,以及針對應用場景,進一步提高實時性,
5.2.3 取證分析
取證分析常被用來調查詐騙,侵占知識產權,入侵攻擊等犯罪行為,常見取證技術包括電子取證,計算機取證和網路取證,
(1)方法
——Pearl等人利用機器學習技術識別檔案中的偽造筆跡,主要將書寫特征,筆記內容特征為輸入,采用監督學習中的稀疏多項式邏輯回歸分類器進行筆跡識別,
——Khanna等人將相機,掃描儀等生成的影像的差值作為殘差模式噪聲特征,利用SVM分類器區分是否為合成影像,
(2)總結與展望
存在取證程序復雜,分析時間長等問題,未來技術可以基于深度學習,遷移學習等進一步提升數字取證效果,
5.2.4 網路輿情
(1)在危險事件識別方面,Alsaedi等人提出公共危害事件實時識別框架,流程如圖所示,第三步利用樸素貝葉斯模型(相比于SVM,邏輯回歸等分類演算法效果最佳)區分是否是危害事件,然后選取事件,空間,文本等特征,再利用在線聚類演算法得出公共的危害事件,最后生成危害事件摘要資訊,

(2)其他的方法還有利用K均值演算法對語料庫聚類,進而用SVM對輿情進行分類的輿情分析方法;利用K均值演算法和SVM作為分析文本情感的熱點檢測;利用隱馬爾科夫模型進行網路輿情預測等,
(3)發展和展望
現有的基于機器學習的網路輿情研究,主要針對于具有半結構化資料特征的文本,利用視頻,語音等飛機惡化資料較少,且在網路輿情安全態勢的實時感知,實時預測方面,現有方案效率較低,
總結:
本節介紹機器學習在應用安全領域的研究現狀,包括應用軟體安全,社會網路安全兩個方面,其中常用的安全特征和使用演算法如下圖:

應用軟體安全(垃圾郵件,惡意PDF,惡意網頁資訊)研究中,利用機器學習對郵件,PDF和網頁資訊的內容,結構為特征,構建檢測模型,但現有模型過度依賴于訓練資料,泛化能力差,因此需要深入挖掘安全特征,提高模型泛化能力,
社會網路安全方面,針對社交網路中例外賬號檢測,需要進一步挖掘賬號內容及行為特征,構建更具泛化力的模型;針對信用卡詐騙,需要進一步研究資料稀疏性和非平衡性以及環境復雜性,針對取證分析,需要解決因果關系不可解釋的問題;針對網路輿情,提高安全態勢感知,預測實時性,且提高非結構化資料,如語音和視頻等的檢測方法,
六、總結與展望
面臨的挑戰:
(1)基于機器學習的安全解決方案的可解釋性與溯源性
(2)基于機器學習技術的攻擊的防御難度
(3)機器學習技術自身的安全問題:輸入資料中包含大量隱私資料,易被泄露;且當攻擊網路的輸入樣本時,機器學習模型就會白給,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/289224.html
標籤:其他
下一篇:解決Linux服務中WebSocket報錯之:/lib64/libc.so.6: version `GLIBC_2.17‘ not found
