




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
安全態勢感知與機器學習:數據預處理與特征工程
近年來隨著機器學習的廣泛應用,越來越多的安全態勢感知系統開始使用機
器學習進行數據分析和態勢預測。應用機器學習的重要環節就是特征工程,特征
工程做不好,機器學習學不好。
一、安全態勢感知模型
隨著網絡規模和復雜性不斷增大,新型高級入侵攻擊手段不斷涌現,傳統
的網絡安全方案力不從心,單點檢測和防護技術很難應對復雜的安全問題,網
絡安全人員的關注點也從單個安全問題的解決,發展到研究整個網絡的安全狀
態及其變化趨勢。
安全態勢感知就是獲取影響網絡安全的諸多要素,進行多維度綜合理解、
評估,并預測未來的發展趨勢I態勢感知已經成為網絡安全2.0時代安全技術
的焦點,對保障網絡安全起著非常重要的作用。
安全態勢感知的概念由來已久,早在1995年,前美國空軍首席科學家Mi
caR.Endsley就建立了態勢感知的經典模型,其核心內容包括:態勢要素獲
取、態勢理解和態勢預測,如下圖所示。
態勢要素獲取(第1級):提取環境中態勢要素的位置和特征等信息;
態勢理解(第2級):關注信息融合以及信息與預想目標之間的聯系;
態勢預測(第3級):主要預測未來的態勢演化趨勢以及可能發生的安全事
件。
根據正在討論的國標《信息安全技術網絡安全態勢感知通用技術要求(征
求意見稿)》,安全態勢感知系統主要劃分為數據匯聚層、數據分析層、態勢
展示層和監測預警層,具體框圖如下所示:
網絡安全態勢感知系統
態勢展示層監測覆界層
零g態勢?示
安全每警
數
系
據
統
賁
服
源
務
管
接
理
II
一一飛
前途數據源
采集對象I|—真愛貓關里
數據匯聚層包括數據采集、數據預處理和數據存儲,對應Endsley模型中
的態勢要素獲取。
數據分析層包括網絡攻擊分析、異常行為分析和資產風險分析,對應Ends
ley模型中的態勢理解。
態勢展示層包括整體態勢展示、專題態勢展示和態勢報告,是態勢理解的
可視化展示。
監測預警層包括監測告警和安全預警,對應Endsley模型中的態勢預測。
總體來看,安全態勢感知系統本質就是一個大數據分析系統,通過對海量
數據的智能分析,理解網絡的當前安全狀態,預測網絡的未來安全狀態。數據
匯聚層負責采集原始數據并進行預處理和存儲,這部分功能決定了數據的質
量,也是大數據分析的基礎,數據質量決定分析質量,本文主要討論數據預處
理的相關技術。
二、數據預處理
安全態勢感知系統通過各種方式、采用多種協議、從多種設備采集到各種
數據,采集數據類型包括但不限于網絡流量、資產信息、日志、漏洞信息、用
戶行為、威脅信息等數據。這些多源異構數據必須經過預處理才能進入后續的
分析環節。
數據篩選
數據標簽數據轉換
數據預
處理
數據歸并數據補全
傳統的數據預處理的內容一般包括:
?數據篩選
即基于既定策略(如必填字段缺失、重要字段格式錯誤、重復數據等)對
采集的原始數據進行篩選,丟棄無效垃圾數據,確保數據質量。
?數據轉換
即將采集的同一類型、不同格式的原始數據轉換為統一的數據格式,且轉
換時不能造成關鍵數據項的丟失和損壞,如統一時間格式、統一漏洞名稱等。
數據轉換保證后續處理過程中的數據一致性性和概念一致性。
?數據歸并
即對采集的原始數據進行同類項合并,如對同一事件的多次告警進行歸
并,對同一會話的日志進行歸并等。數據歸并能大幅減少數據量,同時又不影
響數據質量。
?數據補全
即基于資產庫、威脅信息庫、地理信息庫等對采集的原始數據進行補全,
補全的內容可包括資產屬性、關聯事件、地理位置等。數據補全能提供更完整
的數據信息,通過數據冗余的方式,減少關聯查詢的性能消耗,更有利于后續
的數據分析。
?數據標簽
即根據數據字段對采集的原始數據進行標簽化處理,標簽內容應基于分析
需求進行設置,具體可包括數據可信度、重要程度、數據來源、區域、行業
等。數據標簽能豐富數據的內容,根據已有的數據知識做初步的判斷,并和原
始數據綁定在一起,進入后續的數據分析階段。
經過上述的數據預處理,我們就得到了一個規范、精煉、完整、內容豐富
的數據集,這樣的數據集可以比較好的支持多個維度的統計分析。
近年來,機器學習技術得到快速發展和應用,在安全態勢感知系統中也有
豐富的應用案例和場景。對于機器學習來講,這樣的數據集屬于原始數據集,
還不能直接用于機器學習算法。要在態勢感知系統中引入機器學習模型和算
法,i不需要對i文些原始數據講行特殊處理,也就是機器學習領域最重要的特征
工程。
三、特征工程
Comingupwithfeaturesisdifficult,time-consuming,requirese
xpertknowledge."Appliedmachinelearning**isbasicallyfeatureen
gineering.-----AndrewNg(吳恩達)
吳恩達認為:"應用機器學習”本質上就是在做特征工程(FeatureEngi
neering)。特征工程是機器學習的必備過程,需要大量專業知識,而不是簡
單地把數據扔給機器就可以學習了。數據和特征決定了機器學習的上限,而模
型和算法只是逼近這個上限而已。
數據預處理、特征工程以及機器學習的邏輯關系如下圖所示。
原
實
始
際
數
應
據
用
特征工程,顧名思義就是最大限度地從原始數據中構建事務的特征以供算
法和模型使用的一項工程活動。構造特征是一個嚴重依賴經驗的過程,需要對
業務有深入的理解。對業務理解的越深入,越能抓住數據的重點構建合適的特
征,越能幫助機器學習算法進行更有效的學習和判斷。
特征越好,數據分析的靈活性越強,機器學習就可以選擇相對簡單的模
型,運行速度更快,也更容易理解和維護,不需要花大量時間調參和優化就可
以取得很好的效果。
F面舉兩個實際的例子來說明特征構建。
問題一,根據一個人的身高和體重,判斷此人是否肥胖。身高和體重是2
個主要的原始數據,但是直接根據這兩個數據很難判斷胖瘦。針對這個問題,
一個非常經典的特征工程是,構建BMI指數作為特征,BMI=體重/(身高八2),
其中體重使用公斤為單位,身高使用米為單位。這樣,通過BMI指數,就能非
常顯然地幫助我們,刻畫一個人身材如何。甚至,你可以拋棄原始的體重和身
高數據。
問題二,根據用戶登錄信息,判斷是否異常登錄。一般登錄信息包括用戶
名、登錄時間、登錄IP、登錄結果(成功/失敗),這些維度的數據可以用來識
別一些常見的異常登錄,比如多次登錄失敗。如果對安全登錄有更深的理解,
就可能構造一些其他特征,比如:是否工作時間登錄、登錄失敗時間間隔、連
續失敗次數、登錄IP地域信息等,這樣就能從更多的維度描述登錄過程,能更
有效的識別異常登錄。
所以特征構建的主要目的是基于原始數據集,構造適合機器學習的特征數
據,并且這些數據要和業務需求緊密相關。
那么什么樣的數據適合機器學習?答案是標準化和歸一化的數據。
比如前面例子中的登錄時間,如果是具體的時間,最常用的就是精確到秒
的時間,這些數據的差別可能非常大,但是如果轉換為是否工作時間,那就是
。或者1,極大的簡化了時間特征,這種屬于定量特征二值化的處理方法。
歸T七方法即把大范圍的數據轉換為同一量綱,把數據映射到[0,1]或者[a,
b],這樣所有的數據都位于一個區間范圍,更具有可比性。歸一化方法是特征
工程常用的一種處理方法。
其他還有很多特征數據處理方法,這些常用的處理方法都已經在Python
的sklearn.preprocessing庫中有完整的實現,可以直接使用。
經過特征工程處理后的數據,就應該是標準每口歸一化的數據,這些數據
一般可以使用矩陣向量(或矢量)表示,也稱為特征向量(或矢量),方便計
算機的算法處理。
原始數據特征矢量
下面我們再回到本文的主題,看看在安全態勢感知領域,特征工程主要涉及哪
些內容。
四、網絡安全特征集
分析網絡安全,最重要的數據就是原始流量報文,所有的網絡掃描、滲透
和攻擊,都必然要通過網絡報文來實現。所以,流量報文數據就是我們的原始
數據集。
網絡安全涉及的范圍非常寬泛,針對不同的問題,需要做不同的特征選擇
和處理。比如,研究網絡層的攻擊,就需要針對TCP/IP的頭部信息、分片信
息等進行細粒度的分析處理,建立特征;研究HTTP應用層攻擊,就需要針對
HTTP的頭部信息、內容信息等進行細粒度的分析處理,建立特征;研究工控
系統的網絡攻擊,就需要針對工控協議進行深度解析,對命令碼、參數變量等
進行細粒度的分析處理,建立特征。
針對通用的網絡入侵攻擊,業界早已出現標準的數據集和其特征集。
KDD99數據集是最早最出名的網絡安全數據集,是由MIT利用TCPdum
P收集了9周時間的網絡連接和系統審計數據,仿真各種用戶類型、各種不同
的網絡流量和攻擊手段形成的數據樣本。這些樣本分別被標記為正常(norma
I)或異常(attack),被廣泛用來測試各種入侵檢測以及類型算法的驗證實驗
集。哥倫比亞大學的SalStolfo教授和來自北卡羅萊納州立大學的WenkeL
ee教授采用數據拾掘等技術對以上的數據集進行數據預處理和特征分析,形
成了一個新的數據集即特征集。
KDD99數據集獲取方式:/ideval/data/1999dat
a.html
下面我們來分析一下這些經過處理后的特征集,特征集共分為4大類41
個特征,這些特征的具體說明詳見下列各表:
表1基于獨立TCP連接基礎的特征集
說明:基本連接數據包含了基本屬性,如聆時間,協議類型,傳送的字節
數等,這些數據經簡單處理,形成本特征維。
特征名稱特征描述數據類型
duration連接的持續時間,精度為秒強
protocoltype連接的協議類型:TCP、UDP、ICMP爛
service連接的服務類型:http、ftp、smtp等等爛
srcbytes—的字節數跡
dstbytes一個連接接收到的字節數迪
飆狀態:SF,SO,S1,S2,S3,OTH,REJ,RSTO,
RSTOSO,SH,RSTRH,SHR,它表示該連接是否按照協
Flag議要求開始或完成。例如SF表示連接正常建立并終廨
止;SO表示只接到了SYN請求數若包,而沒有后面的
SYN/ACK,其中Sf?示正常,其他10種都是error。
Land源IP、端口和目的IP、端口一致,則為1;否則為0二蝴
wrongfragment連接中無效校驗和的包的總數超
Urgent連接中的urgent位被激活的包的總數整型
表2基于安全專蜘識的特征集
說明:這些臉來自應用層協議深度分析,從數據內容里面抽取了部分可能反映入侵行為的
內容特征,如登錄失敗的次數等,這需要基于一定的安全專業知識,對內容數據進行簡單處
理或統計,形成本特征集。
特征名標特征描述數據類型
訪問系統敏感文件和目錄的次數,如輸入系
hot迪
統目錄、創建程序和執行程序
numfailedjogins連續登錄失敗次數強
loggedin如果登錄成功就為1,否則為0
numcompromisedcompromised條件出現的次數強
如果獲得了獲得超級用戶投限rootshell,
rootshell
則為1,否則為0
suattempted如果出現suroo蹄令為1,否則為0zz^l
numrootroot用戶的訪問次數整型
numfilecreations創建文牛操作的數量迪
numshells使用shell命令的次數迺
numaccessfiles操作控制文件的次數整型
numoutboundcmdsftp會話中出站命令的總和跡
登錄是否屬于超級用戶或管理員登錄,是為
ishotlogin
1,否則為0
用戶是否作為guest、anonymous或visitor
isguestjogin
登錄,是為1,否則為0
表3基于2秒時間窗口的統計特征集
說明:網絡攻擊事件在時間上有很強的關聯性,因此統計出當前連接記錄與之前一段
時間內的連接記錄之間存在的某些聯系,可以更好的反映連接之間的關系。這類特征
又分為兩種集合:一個是“samehost"特征,只觀察在過去兩秒內與當前連接有相
同目標主機的連接;另一個是“sameservice"特征,只觀察過去兩秒內與當前連接
有相同服務的連接。這些特征需要多維度統計得出,也需要專業的安全知識指導。
特征名稱特征描述數據類型
count與當前連接具有相同目的ip的連接數量遜
srvcount與當前連接具有相同目的端口的連接數量整型
與當前連接具有相同目標主機的連接中,出現
serrorrate實型
“SYN”錯誤的連接的百分比
與當前連接具有相同服務的連接中,出現“
srvserrorrate實型
SYN”錯誤的連接的百分比
與當前連接具有相同目標主機的連接中,出現
rerrorrate建
“REJ”錯誤的連接的百分比
與當前連接具有相同服務的連笠中,出現“REJ
srverrorrate連
”錯誤的連接的百分比
在count中聚合的連接中,連接到相同服務的連
samesrvrate實型
接的百分比
在count中聚合的連接中,連接到不同服務的連
diffsrvrate連
接的百分比
在srv_count中聚合的連接中,連接到不同目標
srvdiffhostrate實型
機器的百分比
在srv_count中聚合的連接中,連接到不同目標
srvdiffhostrate迪
機器的百分比
表4基于100個連接窗口的統計特征集
說明:實際入侵攻擊事件中,有些Probing攻擊使用慢速攻擊模式來掃描主機瞬
口,當它們掃描的頻率大于2秒的時候,基于2秒時間窗口的統計特征就失去了價值
,所以WenkeL?喀按照目標主機迸行分類,使用一介具有100個連接的時間窗,
統計當前連接之前100個連接記錄中與當前連接具有相同目標主機的統計信息。這些
特征是另外一些維度的統計數據,也需要專業的安全知識指導。
特征名稱特征描述
dsthostcount與當前連接具有相同目的IP的連接數量整型
與當前連接具有相同目的IP和端口的連
dsthostsrvcount迪
在dsthostcount中聚合的連接中,連
dsthostsamesrvrate實型
接到同一服務所占的百分比
在dsthostcount中聚合的連接中,連
dsthostdiffsrvrate迪
接到不同服務的百分比
在dst_host_srv_count中聚合的連接
dsthostsamesrcportrate迎
中,相同源端口所占的百分比
在dst_host_srv_count中聚合的連接
dsthostsrvdiffhostrate迎
中,不同源主機所占的百分比
在dsthostcount中聚合的連接中,出
dsthostserrorrate實型
現SYN錯謖的連接所占的百分比
在dst_host_srv_count中聚合的連接
dst_host_srv_serror_rate賣型
中,出現SYN錯誤的連接所占的百分比
在dst_host_count中聚合的連接中,出
dsthostrerrorrate實型
現REJ錯誤的連接所占的百分比
在dsthost_srv_count中聚合的連接
dst_host_srv_errorrate實型
中,出現REJ錯誤的連接所占的百分比
通過上述分析,可以看到網絡安全相關的特征工程,主要從幾個方面入
手:
1、網絡層連接的基本屬性,包括連接時長、IP端口、Flag標志等,除了KDD
99特征集中的特征,還可以考慮報文長度、滑動窗口尺寸、分片數量、分片大
小等諸多維度的特征,并進一步基于這些特征做方差、均值等計算,得到一些
新的特征。
2、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論