<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    安全態勢感知與機器學習:數據預處理與特征工程

    VSole2021-08-16 06:01:02

    隨著網絡規模和復雜性不斷增大,新型高級入侵攻擊手段不斷涌現,傳統的網絡安全方案力不從心,單點檢測和防護技術很難應對復雜的安全問題,網絡安全人員的關注點也從單個安全問題的解決,發展到研究整個網絡的安全狀態及其變化趨勢。

    安全態勢感知就是獲取影響網絡安全的諸多要素,進行多維度綜合理解、評估,并預測未來的發展趨勢,態勢感知已經成為網絡安全2.0時代安全技術的焦點,對保障網絡安全起著非常重要的作用。

    安全態勢感知的概念由來已久,早在1995年,前美國空軍首席科學家Mica R. Endsley就建立了態勢感知的經典模型,其核心內容包括:態勢要素獲取、態勢理解和態勢預測,如下圖所示。


    態勢要素獲取(第1級):提取環境中態勢要素的位置和特征等信息;

    態勢理解(第2級):關注信息融合以及信息與預想目標之間的聯系;

    態勢預測(第3級):主要預測未來的態勢演化趨勢以及可能發生的安全事件。

    根據正在討論的國標《信息安全技術 網絡安全態勢感知通用技術要求(征求意見稿)》,安全態勢感知系統主要劃分為數據匯聚層、數據分析層、態勢展示層和監測預警層,具體框圖如下所示:

    數據匯聚層包括數據采集、數據預處理和數據存儲,對應Endsley模型中的態勢要素獲取。

    數據分析層包括網絡攻擊分析、異常行為分析和資產風險分析,對應Endsley模型中的態勢理解。

    態勢展示層包括整體態勢展示、專題態勢展示和態勢報告,是態勢理解的可視化展示。

    監測預警層包括監測告警和安全預警,對應Endsley模型中的態勢預測。

    總體來看,安全態勢感知系統本質就是一個大數據分析系統,通過對海量數據的智能分析,理解網絡的當前安全狀態,預測網絡的未來安全狀態。數據匯聚層負責采集原始數據并進行預處理和存儲,這部分功能決定了數據的質量,也是大數據分析的基礎,數據質量決定分析質量,本文主要討論數據預處理的相關技術。

     數據預處理

    安全態勢感知系統通過各種方式、采用多種協議、從多種設備采集到各種數據,采集數據類型包括但不限于網絡流量、資產信息、日志、漏洞信息、用戶行為、威脅信息等數據。這些多源異構數據必須經過預處理才能進入后續的分析環節。

    傳統的數據預處理的內容一般包括:

    • 數據篩選

    即基于既定策略(如必填字段缺失、重要字段格式錯誤、重復數據等)對采集的原始數據進行篩選,丟棄無效垃圾數據,確保數據質量。

    • 數據轉換

    即將采集的同一類型、不同格式的原始數據轉換為統一的數據格式,且轉換時不能造成關鍵數據項的丟失和損壞,如統一時間格式、統一漏洞名稱等。數據轉換保證后續處理過程中的數據一致性性和概念一致性。

    • 數據歸并

    即對采集的原始數據進行同類項合并,如對同一事件的多次告警進行歸并,對同一會話的日志進行歸并等。數據歸并能大幅減少數據量,同時又不影響數據質量。

    • 數據補全

    即基于資產庫、威脅信息庫、地理信息庫等對采集的原始數據進行補全,補全的內容可包括資產屬性、關聯事件、地理位置等。數據補全能提供更完整的數據信息,通過數據冗余的方式,減少關聯查詢的性能消耗,更有利于后續的數據分析。

    • 數據標簽

    即根據數據字段對采集的原始數據進行標簽化處理,標簽內容應基于分析需求進行設置,具體可包括數據可信度、重要程度、數據來源、區域、行業等。數據標簽能豐富數據的內容,根據已有的數據知識做初步的判斷,并和原始數據綁定在一起,進入后續的數據分析階段。

    經過上述的數據預處理,我們就得到了一個規范、精煉、完整、內容豐富的數據集,這樣的數據集可以比較好的支持多個維度的統計分析。

    近年來,機器學習技術得到快速發展和應用,在安全態勢感知系統中也有豐富的應用案例和場景。對于機器學習來講,這樣的數據集屬于原始數據集,還不能直接用于機器學習算法。要在態勢感知系統中引入機器學習模型和算法,還需要對這些原始數據進行特殊處理,也就是機器學習領域最重要的特征工程。

     特征工程

    Coming up with features is difficult,time-consuming,requires expert knowledge. “Applied machine learning” is basicallyfeature engineering. ——Andrew Ng(吳恩達)

    吳恩達認為:“應用機器學習”本質上就是在做特征工程(Feature Engineering)。特征工程是機器學習的必備過程,需要大量專業知識,而不是簡單地把數據扔給機器就可以學習了。數據和特征決定了機器學習的上限,而模型和算法只是逼近這個上限而已。

    數據預處理、特征工程以及機器學習的邏輯關系如下圖所示。

    特征工程,顧名思義就是最大限度地從原始數據中構建事務的特征以供算法和模型使用的一項工程活動。構造特征是一個嚴重依賴經驗的過程,需要對業務有深入的理解。對業務理解的越深入,越能抓住數據的重點構建合適的特征,越能幫助機器學習算法進行更有效的學習和判斷。

    特征越好,數據分析的靈活性越強,機器學習就可以選擇相對簡單的模型,運行速度更快,也更容易理解和維護,不需要花大量時間調參和優化就可以取得很好的效果。

    下面舉兩個實際的例子來說明特征構建。

    問題一,根據一個人的身高和體重,判斷此人是否肥胖。身高和體重是2個主要的原始數據,但是直接根據這兩個數據很難判斷胖瘦。針對這個問題,一個非常經典的特征工程是,構建BMI指數作為特征,BMI=體重/(身高^2),其中體重使用公斤為單位,身高使用米為單位。這樣,通過BMI指數,就能非常顯然地幫助我們,刻畫一個人身材如何。甚至,你可以拋棄原始的體重和身高數據。

    問題二,根據用戶登錄信息,判斷是否異常登錄。一般登錄信息包括用戶名、登錄時間、登錄IP、登錄結果(成功/失敗),這些維度的數據可以用來識別一些常見的異常登錄,比如多次登錄失敗。如果對安全登錄有更深的理解,就可能構造一些其他特征,比如:是否工作時間登錄、登錄失敗時間間隔、連續失敗次數、登錄IP地域信息等,這樣就能從更多的維度描述登錄過程,能更有效的識別異常登錄。

    所以特征構建的主要目的是基于原始數據集,構造適合機器學習的特征數據,并且這些數據要和業務需求緊密相關。

    那么什么樣的數據適合機器學習?答案是標準化和歸一化的數據。

    比如前面例子中的登錄時間,如果是具體的時間,最常用的就是精確到秒的時間,這些數據的差別可能非常大,但是如果轉換為是否工作時間,那就是0或者1,極大的簡化了時間特征,這種屬于定量特征二值化的處理方法。

    歸一化方法即把大范圍的數據轉換為同一量綱,把數據映射到[0,1]或者[a,b],這樣所有的數據都位于一個區間范圍,更具有可比性。歸一化方法是特征工程常用的一種處理方法。

    其他還有很多特征數據處理方法,這些常用的處理方法都已經在Python的sklearn.preprocessing庫中有完整的實現,可以直接使用。

    經過特征工程處理后的數據,就應該是標準化和歸一化的數據,這些數據一般可以使用矩陣向量(或矢量)表示,也稱為特征向量(或矢量),方便計算機的算法處理。

    下面我們再回到本文的主題,看看在安全態勢感知領域,特征工程主要涉及哪些內容。

    網絡安全特征集

    分析網絡安全,最重要的數據就是原始流量報文,所有的網絡掃描、滲透和攻擊,都必然要通過網絡報文來實現。所以,流量報文數據就是我們的原始數據集。

    網絡安全涉及的范圍非常寬泛,針對不同的問題,需要做不同的特征選擇和處理。比如,研究網絡層的攻擊,就需要針對TCP/IP的頭部信息、分片信息等進行細粒度的分析處理,建立特征;研究HTTP應用層攻擊,就需要針對HTTP的頭部信息、內容信息等進行細粒度的分析處理,建立特征;研究工控系統的網絡攻擊,就需要針對工控協議進行深度解析,對命令碼、參數變量等進行細粒度的分析處理,建立特征。

    針對通用的網絡入侵攻擊,業界早已出現標準的數據集和其特征集。

    KDD99數據集是最早最出名的網絡安全數據集,是由MIT利用TCPdump收集了9周時間的網絡連接和系統審計數據,仿真各種用戶類型、各種不同的網絡流量和攻擊手段形成的數據樣本。這些樣本分別被標記為正常(normal)或異常(attack),被廣泛用來測試各種入侵檢測以及類型算法的驗證實驗集。哥倫比亞大學的Sal Stolfo 教授和來自北卡羅萊納州立大學的 Wenke Lee 教授采用數據挖掘等技術對以上的數據集進行數據預處理和特征分析,形成了一個新的數據集即特征集。

    KDD99數據集獲取方式:https://www.ll.mit.edu/ideval/data/1999data.html

    下面我們來分析一下這些經過處理后的特征集,特征集共分為4大類41個特征,這些特征的具體說明詳見下列各表:

    表 1基于獨立TCP連接基礎的特征集

    表 2基于安全專業知識的特征集  

    表 3基于2秒時間窗口的統計特征集

    表 4基于100個連接窗口的統計特征集 

    通過上述分析,可以看到網絡安全相關的特征工程,主要從幾個方面入手:

    1、網絡層連接的基本屬性,包括連接時長、IP端口、Flag標志等,除了KDD99特征集中的特征,還可以考慮報文長度、滑動窗口尺寸、分片數量、分片大小等諸多維度的特征,并進一步基于這些特征做方差、均值等計算,得到一些新的特征。

    2、應用層和安全相關的屬性,這要結合具體的業務應用和應用層協議進行具體分析,KDD99特征集主要對遠程登錄相關的數據抽取特征,如果你的應用涉及其他業務,應該從你的業務出發構建特征,比如要識別SQL注入,就需要解析到SQL語句,對字符串中的information_schema、information_schema.table、select、from、where等關鍵詞進行特征抽取;要識別XSS攻擊,就需要解析HTTP協議,對提交的內容中的javascript、alert、onerror=等特征進行抽取。對工業控制系統的特征構建,需要針對工控協議中的每個指令碼建立特征,尤其是那些高危指令,需要專門進行統計建立統計特征。

    3、基于時間窗口的統計特征,這部分可以參考KDD99的2秒時間窗統計特征集,也需要結合具體的網絡業務做進一步的分析,比如要識別CC攻擊,就需要對連接的特殊URL進行統計建立特征。

    4、時間窗口的特征無法準確表達慢連接攻擊或者APT攻擊,KDD99中使用最近的100個連接進行統計分析,我們在實際應用中,還可以進一步細分,比如針對同一目的IP、針對同一源IP分別進行統計建立特征集。

    另外,CICIDS2017數據集則是目前較新的網絡安全數據集,由Canadian Institute for Cybersecurity采集發布,格式類似于kdd99,其特征集包含81個特征,具有更豐富的特征數據,可能檢測識別更多類型的異常情況,有興趣的同學可以自行進行研究。

    CICIDS2017數據集獲取方式:http://www.unb.ca/cic/datasets/ids-2017.html

    總 結

    網絡安全態勢感知系統,本質是一個大數據分析系統。近年來隨著機器學習的廣泛應用,越來越多的安全態勢感知系統開始使用機器學習進行數據分析和態勢預測。應用機器學習的重要環節就是特征工程,特征工程做不好,機器學習學不好。

    特征工程是數據分析中最耗時間和精力的一部分工作,它不像算法和模型那樣是確定的步驟,更多是工程上的經驗和權衡,也沒有統一的方法。

    要做好特征工程,首先需要找到該領域懂業務的專家,或者借鑒領域專家的經驗繼續優化。安全態勢感知系統在使用機器學習前,必須依靠安全專家結合各自領域的具體業務,對數據進行特征提取和構建,只有貼合業務的特征才能起到更好的表達效果,才能更好地利用機器學習理解態勢、預測態勢。

    機器學習態勢感知
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    大數據環境下,海量數據呈現出主體多樣化、處理活動復雜化的特點,數據除了面臨傳統的安全威脅外,更要面臨諸多新型安全威脅,傳統的安全手段及體系已不能有效應對大數據環境下的安全威脅。針對大數據的流轉復雜、關聯融合、蘊含價值等特點,提出了面向動態防御的大數據防御模型。此外,研究了相關的大數據安全技術,這些技術能夠構建大數據安全動態防御體系,提供動態防御能力,促進大數據安全全面向動態、主動防御方向轉變。
    安全態勢感知系統本質就是一個大數據分析系統
    ?機器學習算法依靠在數據中觀察到的用戶知識和模式,對我們可能喜歡或感興趣的內容做出推斷和建議。
    工業安全態勢感知平臺利用大數據、機器學習、人工智能等技術對網絡的安全狀況進行深度感知,其感知能力主要集中在對網絡、設備、主機、應用的數據收集、泛化,對采集的數據進行統計、分析、預測。工業安全態勢感知平臺通過對采集的數據集中處理,實現以下價值:
    工業安全態勢感知通過采集工業網絡中的安全設備日志、網絡設備日志、工業控制系統日志、業務應用日志,利用平臺集成的安全分析模型,實時發現網絡中的威脅,并對分析的結果產生告警,但此類分析能力只局限于事中、事后,缺少事前預測的能力,因此工業安全態勢感知的終極目標是通過收集網絡源數據,實現攻擊預測,協助運營者提前落實防護策略,避免業務系統遭受攻擊造成經濟損失和惡劣的社會影響。
    構建完善的安全防護體系,需要“高中低”三位一體能力,未來中高位積極防御能力成為網絡安全能力發展關鍵 360企業安全曾提出,面對日益復雜的網絡環境和層出不窮的網絡攻擊威脅,政府和企業需要構建“低、中、高”三位能力的信息安全系統。
    然而,邊緣計算設備因遭遇攻擊而無法及時處理終端發出的任務請求導致停機,將使區域或整個物聯網絡崩潰。態勢感知技術有助于通過有限的邊緣計算資源成本合理評估物聯網系統,充分考慮各種威脅,防范攻擊。因此,傳統的基于操作日志定位攻擊的防御措施可能是無效的。隨機選取聚類中心點,表示為。2)對于基于復雜網絡的態勢感知節點集合,狀態矩陣由列向量組成,其中列向量代表設備在數據采集時間段的狀態。
    4月28日,在2021中國網絡信息安全峰會上,深信服態勢感知產品線產品總監駱錚發表了題為《實戰背景下的安全運營新思路》的主題演講,圍繞實戰背景下的安全運營建設思路作了分享。
    1月8日~9日,2017國際反病毒大會在天津召開,亞信安全作為協辦單位,與來自全球多個國家、政府相關部門、協會和企業的網絡信息安全和反病毒領域頂級專家匯聚一堂。本次大會以“萬物互聯背景下反病毒的新挑戰”主題,針對當前突出的網絡安全熱點問題,及前沿技術和發展趨勢進行了深入研討。亞信網絡安全產業技術研究院副院長童寧在主題演講中以WannaCry勒索蠕蟲事件為例,分析了如何通過態勢感知、人工智能、機器
    在安全和隱私保護需求的驅動下,網絡通信加密化已經成為不可阻擋的趨勢。加密網絡流量呈現爆炸增長,給流量審計與網絡空間治理帶來了挑戰。盡管機器學習已解決了部分加密流量識別的問題,但仍存在無法自動提取特征等局限。深度學習可以自動提取更本質、更有效的特征,已被用于加密流量識別,并取得了高精度。基于深度學習的加密流量識別的相關研究工作,提出基于深度學習的加密流量識別的框架,并通過數據集、特征構造和模型架構回
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类