做者簡介:算法
叢磊,白山合夥人兼工程副總裁
2016年加入白山,主要負責雲聚合產品的研發管理和雲鏈產品體系構建等。
2006年至2015年就任於新浪,原SAE(SinaAppEngine)創始人,曾任總負責人兼首席架構師,2010年起,帶領新浪雲計算團隊從事雲相關領域的技術研發工做。
現任工信部可信雲服務認證評委。數據庫
摘要後端
SIEM是企業安全的核心中樞,負責收集彙總全部的數據,並結合威脅情報對危險進行準確的判斷和預警。但傳統的SIEM過分依靠人工定製安全策略,不只僅增長了人力成本,並且整個SIEM的識別準確率和使用效果也都大打折扣。而目前附帶AI功能的SIEM系統也只是把AI當成算法插件做爲集成,沒法在沒有安全人員介入的狀況下獨立的智能工做。安全
本文將從傳統SIEM組件構成入手,介紹AI對於下一代SIEM的適用性和重要性,並重點闡述當前主流SIEM&AI平臺和全新一代SIEM@AI平臺的區別;隨後將結合實際案例深刻討論SIEM@AI的兩個核心技術原理:數據分析和數據關聯;在最後的篇幅,文章會探討SIEM@AI的發展和研究方向。服務器
SIEM是Security Information Event Management的縮寫,又名安全信息事件管理平臺,做爲企業的安全大腦,它能夠爲企業提供安全數據的收集、整合、分析、關聯、處置和展示等功能,是企業業務安全運營的核心和基礎。網絡
早在10年前,SIEM的概念就已經被提出。SIEM做爲企業內部涉及安全的日誌管理平臺,提供日誌的採集、存儲、分析查詢功能。通過十多年的發展,現在SIEM的產品形態已獲得豐富拓展,包括支持多維數據源輸入、威脅情報中心(Threat Intelligence)、策略腳本庫(Playbook)等,同時外部威脅數據的共享和獲取也使得SIEM系統不斷被完善。架構
圖1:SIEM市場規模預測(來自Gartner 2017年報告)負載均衡
SIEM在美國一直保持着較快發展,根據Gartner相關市場報告,SIEM在全球(主要是美國)最近每一年都保持着10%的增加速度,預計在2020年市場規模可達200億人民幣。然而在中國,SIEM還處於比較初級的階段,不少企業對自身安全問題並無系統性的管理。2017年整個中國市場只有3.17億人民幣的規模,這個數字相比中國經濟對全球經濟的佔比是不相符的。不過可喜的是,SIEM中國市場最近每一年都保持着近20%的增加速度,說明愈來愈多的中國企業已經意識到了SIEM的重要性。框架
但並不是全部企業都須要SIEM,處於初期發展階段的企業數據流和業務量單一,面臨的安全威脅較少,安全設備和軟件的需求也相對較小,依靠獨立的安全產品便可知足基本需求。當企業發展到中大型規模時,業務線增多,內外網安全環境變得複雜,同時前期使用的安全產品也達到了必定數量,這時就有必要接入SIEM來實現統一的安全運營管理。運維
圖2:SIEM總體架構圖
SIEM平臺的主要架構由5個層次組成:
1.採集層:系統數據入口。SIEM大多支持多種數據輸入,這些數據歷來源劃分,包括終端用戶設備、網絡設備、服務器、存儲設備等;從OSI模型劃分,包括了數據鏈路層、網絡層、傳輸層、應用層的網絡流量;從系統角色劃分,包括不一樣的業務系統、中間件系統、負載均衡系統等。這些數據或以推送的方式或以拉取的方式向SIEM平臺輸送,供SIEM進行後續的分析計算。
採集層使用的技術主要分爲兩類:「侵入式」和「無侵入式」。「侵入式」通常採用部署Agent程序,或者用戶在自身代碼邏輯中添加程序探針等方式採集數據;「無侵入式」通常則採用旁路鏡像流量或者輸入日誌等方式採集數據。兩種模式各有優缺點,「侵入式」有利於企業增長定製化功能,並結合SIEM平臺的多維特性深刻貼合業務,但弊端在於外掛式的Agent一旦不穩定,就會影響用戶自身業務,甚至致使系統宕機,我本身就遇到過好幾個客戶向我抱怨自身的服務被廠商的嵌入SDK搞的不穩定。「無侵入式」則能夠徹底避免對業務系統的影響,一方面提高系統穩定性,另外一方面保護系統數據安全。在技術成熟的狀況下,對用戶來講,「無入侵式」採集方式顯然更加友好。
2.存儲層:採集後的數據除了供給後面的計算分析外,還會進行存儲。存儲層有兩個目的:一是對原始採集數據進行存儲,二是對計算分析完成的結果進行存儲。
存儲可選擇的技術棧通常包括數據管道(中間數據傳輸),熱存儲(存儲經常使用數據查詢、更新),冷存儲(存儲不經常使用的數據)。嚴格說,數據管道不算是存儲,但在實際上爲了防範後端數據丟失或堆積,通常也會將通過管道的數據進行臨時存儲,好比互聯網公司最經常使用的Kafka隊列就是將中間數據落地在磁盤上。
冷熱分級存儲的目的在於,保證熱數據操做速度的同時,在必定程度上下降企業存儲成本。對於冷存儲而言,比性能更大的技術挑戰是可靠性和可用性,支持多IDC、甚至多Zone的大型分佈式存儲技術系統是企業首選;而對於熱存儲,更關注的是讀寫速度以及如何被計算單元使用,因此通常會選擇帶有Sharding能力的分佈式存儲。
3.計算層:SIEM平臺的核心。分析準不許、全不全、快不快都依賴這層的計算單元。目前主流的計算模式包括實時計算平臺和離線計算平臺。
海量數據的離線計算平臺起源較早,早在10多年前就出如今Google的MapReduce系統中,MapReduce底層先利用GFS將海量數據分片存儲,解決了單點設備的IO吞吐瓶頸。每一個計算節點再依賴調度器或執行Map任務或執行Reduce任務,不斷將海量計算任務分解、歸併,最終輸出指望的計算結果。實時計算平臺算是海量數據計算的後起之秀,包括了以Storm爲表明的實時流處理和以Spark steaming爲表明的微批次處理兩種技術實現方式。
在實時性上,實時流處理模式的處理速度更快,但從實際的使用經驗來看,這種模式也要求更高的技術運維經驗。不管是實時計算平臺仍是離線計算平臺,都要求支持任務的Partition,這樣能夠在某些主機宕機的狀況下,仍然保證計算順利完成。
計算平臺最核心的並非計算框架,而是算法部分的計算邏輯。計算邏輯對流量、用戶請求、系統交互信息等不一樣類型的數據進行計算。目前絕大部分SIEM平臺的實現都是基於規則引擎,如Drools,這就須要依賴使用者制定大量的規則,一旦使用者制定的規則有錯誤或者有遺漏,就會形成錯判漏判。
4.輸出層:計算層分析的結果最終傳導至輸出層。傳統SIEM的輸出方式有不少,包括展示層面、報表層面、報警通知層面、實時阻斷層面等,企業能夠根據不一樣業務部門的不一樣需求選擇合適的輸出方式。SIEM的輸出結果不只僅和安所有門或業務部門有關,還可能涉及到其餘業務單元,好比資產管理、組織管理等。
從事件處理的生命週期來看,處理方式能夠分紅自動方式和手動方式,自動方式能夠對計算層分析出的安全威脅事件進行自動處理,包括通知、預警、上報甚至阻斷,而對於不能自動處理的狀況,就須要手動方式,這時能夠藉助工單系統進行後續處理跟蹤,最終保證安全威脅被處理。
5.情報中心:情報中心爲SIEM計算層提供額外的數據支撐,從而提升威脅和異常行爲識別的準確率。情報中心的數據來源通常有三種渠道,第一種是來自公開輸出的威脅情報,如X-Force Exchange、ThreatBook、Shodan等;第二種是來自自身蒐集的威脅情報數據,如經過蜜罐採集、API調取或者交換購買等方式取得有價值的威脅情報;第三種就是來自跟業務自身相關的輔助數據,如用戶註冊信息,企業資產信息、組織信息等等,這些信息看似和安全威脅關聯不大,可是當多種數據聯合分析時,就能夠爲最終的結果輸出提供有效參考。
情報中心數據的內容包含多種形式,經常使用的如IP庫、設備指紋庫、黑卡庫、漏洞庫等。使用或依賴情報中心要注意情報的實時性,由於目前雲化和共(zu)享(yong)經濟的普及,不少資源並非獨佔的,而是在必定時間後就被回收,並交由其餘用途,這樣的話若是情報更新不及時就會拔苗助長。
SIEM、態勢感知和SOC安全運營中心有着緊密關係。其中態勢感知範圍很廣,主要聚焦在感知過去、理解如今、預測將來三個層面,這和SIEM的採集並計算分析給出結果進而感知預測是高度吻合的。一些企業發佈的態勢感知系統其實就是簡化的SIEM或者是SIEM的超集。SOC安全運營中心則在SIEM的基礎上突出了人的做用,強調了人和平臺以及軟件之間的聯動,經過相似Ticket系統的任務追蹤機制,配合SIEM提供的數據分析結果,用人對業務和資產進行全面的安全管理。
總之,SIEM對於企業的總體安全分析是很是重要的,經過SIEM能夠打通多種數據流的信息,造成對於安全威脅的事前、事中、過後處理,最終保證企業的總體資產及業務安全。
若是說IT技術有風口的話,那麼AI無疑是最前沿而且最落地的,AI總體發展分爲三個階段:
1.識別階段,解決What的問題,這是最基礎的AI問題。目前的AI經過大量有監督學習,提取標註樣本的表象或內在特徵,造成一個或多個分類器,分類器對樣本數據特徵進行學習訓練,最終對新的輸入進行準確識別,從而解決什麼是什麼的問題。好比什麼是小狗、什麼是色情圖片等。
典型的應用包括驗證碼識別、語音識別、垃圾郵件識別等。人們熟知的AlphaGo也是識別問題,深度學習經過對成千上萬個已經標註好輸贏的棋局進行訓練,利用頭幾層的神經元網絡,越過表象特徵挖掘出人都很難理解的深層次特徵,造成了對於棋局的「感應」能力,從而對某個棋局是更有利於黑方仍是白方作出判斷,再結合αβ search或MCTS等算法,給出下一步走法的最優解。應該說識別是應用AI最成熟的領域。
2.理解階段,解決Why的問題,這是在識別的基礎上進一步的AI問題。好比一段文字想表達的情感是什麼?一個電影講述的故事是什麼?一段語音的問題是問什麼等等。最典型的應用場景就是人機對話,其基礎是理解人說的是什麼,想表達什麼意思。
理解問題最原始的解決辦法就是構造各類語義模板,用來作情感標註,變相把理解問題轉換成識別問題。但隨着深度學習的普及,已經出現了不少新的技術以突破模板定義的限制進而試圖真正理解內在含義。可是經過蘋果手機Siri的例子就能夠看出,目前的AI對於理解問題的能力還遠遠沒有到成熟的階段。
3.反饋階段,解決How的問題。How本質是在識別的基礎上,理解了對方的信息內容後,作出恰當的反饋。反饋是AI的最高境界,是實現真正人機互動的關鍵,有了反饋互動的能力,AI就能夠像真人同樣在一些領域部分代替人類,甚至徹底代替人類。但很明顯,目前AI的發展階段離這個目標還相距甚遠。
從AI的三個發展階段看,目前AI還主要處於「識別」和「理解」的初期,離真正的「代替人類」還有很長遠的路要走,當下真正已經成熟使用的技術基本集中在「識別」問題。同時咱們觀察安全領域就會發現,安全領域裏的問題偏偏就是很是典型的"識別"問題,經過SIEM裏的各類輸入數據進行分析,只須要識別這個事件或這個用戶是否存在威脅便可,整個過程無關理解也無關反饋。
圖3:主流SIEM系統AI工具示例
應該看到,目前的新型SIEM已經集成了AI的能力,好比有的SIEM平臺,集成了經常使用的AI算法,好比異常檢測、線性預測,這些算法以插件的方式集成進平臺,用戶能夠基於這些算法分析自身的數據。
目前主流SIEM平臺的最大缺點是:他們僅僅是SIEM&AI(以AI做爲工具),把AI僅僅當成是SIEM平臺的一個附屬插件或工具,而沒有把整個SIEM平臺構建在AI技術上面。這樣帶來的影響是,企業使用SIEM時須要花費大量的時間、精力、人力去學習、配置和使用這些AI工具,另外,SIEM&AI還要求企業具備必定的特徵工程經驗,而這對於不少企業而言是不現實的。我見過不少企業客戶,當我問到他們使用SIEM&AI類產品的的AI部分的體驗時,都是一臉茫然,彷彿花了大價錢買了高級玩具卻沒玩起來。
而企業真正須要的是:SIEM@AI(以AI做爲平臺),無需不少成本甚至徹底無需學習成本,便可使用AI技術從海量的輸入數據流信息中發掘威脅事件,並自動使用AI技術對不一樣業務、不一樣維度的數據進行智能關聯,創建內在聯繫,並最終自動的對威脅事件進行處置處理。
數據標註難題
如前所述,在安全領域,大部分問題都是「識別」問題,從數據分析的角度,能夠將問題最終歸爲分類問題。經過創建算法模型,預測進行中的事件甚至還未到來的事件是否存在威脅,也就是把它們分紅有威脅和無威脅兩類。可是安全領域在使用AI時存在一個巨大的困難,即樣本標註難。對於經典的圖片識別問題,企業可使用較低的人力成本批量製做標註樣本,而後送入深度神經網絡訓練。可是安全問題則不一樣,從大量雜亂的信息數據中識別是否存在威脅、是何種威脅,須要專業的安全人員,甚至多個部門跨部門協做才能完成。
無監督學習化解標註難題
標註難問題可解嗎?答案是確定的,那就是利用無監督學習。無監督學習能夠將正常事件聚在一塊兒,同時也會將異常事件聚在一塊兒,從而方便算法識別出異常威脅。而整個威脅識別的過程無需標註樣本,也大大下降了人工參與的程度。
無監督學習是機器學習中一個很是重要的分支,不一樣於有監督學習須要依賴大量標註好的樣本才能讓分類器進行學習,無監督學習能夠在沒有任何標註樣本的狀況下由分類器自主學習。只不過目前市場上絕大多數產品都集中在有監督學習上,致使無監督被長期忽略了。
圖4:聚類示意圖
白山ATD(Advanced Threat Detection,深度威脅識別,新一代的SIEM@AI系統)產品大量使用了無監督學習技術來進行威脅事件識別,無監督學習的本質是將數據進行聚類,而根據聚類實現的過程不一樣又主要分爲三種算法:
距離聚類
距離聚類是最多見的聚類算法,本質是EM算法,經過對於距離中心點的不斷迭代修正,最終將全部事件進行歸類,那麼有威脅的事件天然會被歸到一簇或者幾簇,而正常的事件也會由於更類似的距離而歸到一簇或者幾簇。固然這是理想狀況,在現實場景中實施算法還須要作不少的加工工做。距離聚類的最大困難一是距離計算方式的選擇,二是聚類簇數量的選擇。
距離計算選擇主要包含兩個方面:
簇的數量選擇對於無監督學習的算法效果相當重要,一旦初始簇的數量選擇不合適,就有可能致使聚類的結果徹底錯誤。
圖5:聚類示意圖
如上圖,紅色異常點是咱們須要識別出來的,顯然聚類簇數爲2的效果比聚類簇數爲3的效果要好,由於3將正常的事件點也分爲了兩類。ATD使用一系列算法在聚類前預判準確的聚類簇數量,最好的狀況下能夠提高200%的聚類效果。
核密度聚類
核密度聚類不須要事先指定聚類的簇數,而是根據初始的密度值進行聚類選擇,全部與核距離過遠的事件都會被標記爲離羣點,這些離羣點從安全角度看可能就是威脅事件。
密度聚類的前提是須要選擇合適的初始密度值,若是選擇不當將致使離羣點錯誤,最終使威脅事件誤判。另外一方面,控制離羣點的數量和純度對最終的識別效果也很重要,由於在實際生產環境中,頗有可能出現大量的離散點其實也是正常的事件。因此有時候也須要在第一次聚類後,調整事件的特徵選擇算法,針對離羣點進行二次聚類。
層次聚類
層次聚類的原理是先將全部事件當作樹的葉子節點,每一個葉子節點自成一類,而後根據相互的距離,自下而上逐層合併,最終造成一個根。
層次聚類能夠根據須要,按照最終聚類的簇數進行層層歸併,最終聚成的小簇咱們能夠認爲是某種離羣點,即有多是一些威脅事件。能夠看出,層次聚類的核心仍然是距離計算模型的選擇。
智能分析風險
利用無監督學習,能夠在無需標註樣本和無人工介入的前提下,發現不少異常的威脅風險。下圖是一個被ATD系統識別出的實際例子:
圖6:ATD無監督學習示例結果
這是一個ATD對企業電商業務無監督學習的實際案例,案例顯示大部分用戶的訪問路徑集中在
登陸頁=》受權頁=》訂單頁的訪問趨勢,經過無監督學習就能夠將正經常使用戶的行爲聚在一塊兒。反觀刷單的惡意行爲則會繞過受權頁直接訪問訂單頁,這樣在無監督學習過程當中就天然造成了離羣點,這樣咱們就能夠幫助企業識別出刷單的威脅風險。
橫向關聯
AI威脅數據分析,分紅縱向的數據分析和橫向的數據關聯:
圖7:數據的縱向分析和橫向關聯
縱向分析指的是對於事件羣體按照時間軸學習規律,以此進行對於已有的威脅識別和對於將來的態勢感知。橫向關聯指對空間上不直接相關的不一樣事件羣體,經過算法挖掘它們的深層次關聯關係,最終造成更準確的威脅識別或者便於對威脅事件進行更全面的回溯。
對於大多數SIEM產品,只要附帶AI工具功能的,即可以完成諸如異常點檢查、趨勢預測等任務(儘管他們當中絕大多數都是有監督學習,這也就意味着客戶須要提供大量標註好的威脅事件和正常事件的樣本),不過這些任務都是縱向分析,並非橫向關聯。所以,對於新一代SIEM@AI系統來講,比起無監督學習進行縱向分析,更有挑戰的任務是在表層不相關的海量數據中創建潛在關聯,從而實現真正的深度威脅識別。
事件的相關運算
常見的事件關聯場景基本上能夠分爲這兩種:
A,某一做用域(如某一時間段內)的事件集合,挖掘事件之間的關聯關係,如:
上圖就是兩個徹底由不一樣系通通計輸出的事件,咱們須要用算法分析是否存在關聯,這個過程實際能夠轉換爲:按行分析相關性。
B,同一類型事件,挖掘構成的因素是否存在關聯關係,如:
上圖所示,所有「ERP系統不能訪問」的事件中,各個因素間是否存在關聯,這個過程實際能夠轉換爲:按列分析相關性。
由此能夠看出,不管是不一樣事件的關聯分析,仍是同一類事件的內在因素關聯,本質能夠轉換爲矩陣的行相關或列相關。對於列相關,經過對於矩陣轉置運算,也能夠轉換爲行相關,即:
咱們只須要分析K1和K2是否在某種程度存在相關。
對於這種關聯分析,最多見的方式是用相似KNN算法中,經過計算兩個事件元素的夾角來判斷相關性:
θ=acos(K1⋅K2/(|K1||K2|))
當夾角越小時,表示兩個事件越相關,而當夾角互相垂直(即正交)時,表示兩個事件徹底無關。
固然,咱們還可使用其餘的方式計算相關性,好比Jaccard距離:
J(K1,K2)=|K1⋂K2|/|K1⋃K2|
當J值越大時,表示兩個事件越相關,反之則越不相關。
夾角距離計算方式更適用數值型的事件向量,而Jaccard距離計算方式更適合枚舉字符串類型的事件向量。固然事實上,咱們能夠把任何字符串類型的事件,經過word2vec或者simhash等算法方式轉變爲數值型事件向量,而後再進行夾角計算。
啤酒與尿布
說到數據關聯,不得不提的經典故事就是「啤酒與尿布」了,沃爾瑪在作數據關聯分析時發現啤酒和尿布在購物單上是相關的,這是怎麼回事?原來妻子常常會囑咐丈夫下班之後要爲孩子買尿布。而丈夫在買完尿布以後又要順手買回本身愛喝的啤酒,所以啤酒和尿布的銷售行爲上具備相關性。
從數據關聯算法複雜性的角度看,啤酒和尿布的關聯屬於比較簡單也相對直接一些的關聯,Apriori算法就是解決這個問題的簡單可實現的算法之一。Apriori算法經過不斷的篩選頻繁項而且不斷的產生新關聯規則的方式,最終獲得關聯性最強的事件元素。
圖8:Apriori算法示意圖
深刻Apriori算法的過程就會發現,其實Apriori整個計算過程和計算事件間的Jaccard距離十分相似,本質都是比較兩個事件的類似因素後進行篩選。不過Apriori算法在實現上比兩兩比較效率更高,由於在其中有剪枝縮小範圍的過程。
更隱晦的事件關聯
其實,在ATD給客戶服務的實際應用場景中,上文提到的「啤酒,尿布」還都算是比較簡單的事件關聯模型。更爲複雜的是,如何發現從人的感知認識角度看並非那麼直接的關聯關係。好比空氣的霧霾指數和城市用電量的關係,從人的感知角度,這兩個並非特別的直接相關。但當咱們在兩個事件中引入一個橋樑,即室內人數佔比,就會發現這樣的機率關係:
P(用電量/霧霾)=>P(室內人數增長/霧霾)* P(用電量增長/室內人口增長),其中P(A/B)表示B事件發生狀況下發生A事件的機率
若是能夠列舉出霧霾致使的全部核心事件,就可使用全機率公式推導出霧霾和用電量的關係(因此這裏我並無使用等號=而是使用了=>)。
從威脅識別的角度,經過這種中間的橋樑事件,同理也能夠構建出兩個看似不相關的事件之間的關係。好比在咱們給某家電企業部署的ATD運行中,就發現了一次疑似的CC攻擊實際是和後端某業務線數據庫變動操做有關:
P(疑似CC攻擊/業務線數據庫變動)=>P(疑似CC攻擊/接口訪問飆升) P(接口訪問飆升/504佔比) P(504佔比/請求阻塞)P(請求阻塞/數據庫阻塞)P(數據庫阻塞/數據庫變動)
解決這種複雜隱晦的事件關聯的前提是首先要把全部信息(無論認爲是否相關)都收集進來(這也是文章開始階段提到的SIEM的採集層須要解決的),儘量多的採集各類數據,由於只有採集到數據纔有可能創建關聯。當海量的數據採集進來後,咱們每每在作下一步相關分析時會發現一個難題,即:由於數據太多,致使分析的性能很低。若是威脅事件分析的不及時,極可能會影響後續的處理,因此整個分析過程的低延遲相當重要。
數據降維
如何保證處理速度呢?那就須要對數據進行降維分解,從而下降計算空間,這裏面有兩種作法:
若是企業自己有大量標註數據,那就可使用有監督降維,最經典的有監督降維就是PCA(Principal Component Analysis,主成分分析),其原理是選擇一種最優的數據投射方式,從高維空間投射到低維空間,而且保證投射後有較好的區分度。
在沒有大量標註數據的狀況下就可使用無監督降維,這也正是ATD所使用的數據降維方式。有不少種算法均可以進行無監督降維,ATD最先使用的是LDA(Latent Dirichlet Allocation)主題發現模型進行降維,經過LDA先將數據按照主題相關性聚類,下降每一類中數據的數量和維度,從而減小後續計算的複雜度。
這裏,我想介紹另一種數據降維的方式,也是咱們目前正在嘗試的——SVD(Singular Value Decomposition)分解。
圖9:對威脅事件進行SVD分解
上圖所示,咱們先對於一個海量的事件集進行了SVD分解,分解的結果是三個矩陣的乘積,而後經過對於中間Σ矩陣的元素進行篩選,就能夠下降整個事件集羣的複雜度,同時找到同一個隱含主題下的關聯事件和關聯因素。隱含主題的數量本質上就是事件矩陣的秩。
從更深的角度講,不管是LDA仍是SVD,其實本質都是去尋找事件矩陣的秩,利用秩找到構成事件的最核心因素,好比對於一個入侵事件,可能的核心因素是用戶的屬性(內/外部用戶、是否受權、相應職級等等)、入侵時間、侵入的業務類型,而其餘的因素,諸如員工的年齡、當時的服務器負載等等其餘因素有可能就會被算法自動識別爲非關鍵因素而忽略掉。經過這種方式就能夠在茫茫信息中發現關鍵因素,從而爲後面的事件關聯大大下降運算量。
總之,數據的橫向關聯是一個極富挑戰性的任務,其中最重要的先決條件是經過SIEM的採集層收集足夠的數據,其次是選擇合適的算法對數據進行加工處理,最後是經過AI算法對數據進行關聯分析。在ATD客戶的實際使用中,咱們成功地發現了外網的接口攻擊和內網數據庫變動之間的關係,也發現了某郵件系統的Exchange日誌事件和內網SSH事件之間的關係。這種關聯分析不只僅對於已知威脅的回溯有幫助,也對將來的安全態勢感知有重大意義。
從SIEM&AI模式到SIEM@AI模式,咱們再也不將AI當作是插件或者工具,而是將系統運行在一個徹底由AI驅動的智能平臺上。在這個平臺上,咱們無需標註數據,無需大量人工介入,也無需定製規則,而是經過以無監督學習爲主導的機器學習算法自動對異常威脅事件進行識別,自動的爲各個復瑣事件創建內在關聯,提升識別的準確率和召回率的同時,解放安全工程師的人力並提升其效率,最終實現對於企業外網、業務、內網的三層智能防護。
白山ATD產品就是一套全新的SIEM@AI系統,咱們過去花費了大量時間和精力去研發基於無監督學習的AI算法來代替目前的傳統企業安全產品,這種模式的有效性在企業實踐中已經獲得了驗證。將來,ATD還會在兩個方向作進一步探索研究:
1.經過主動學習引入人的參與
引入無監督學習的目的是不依賴標註的樣本,由於在安全領域,標註樣本的獲取成本很是大,可是這並不表明能夠徹底不依靠人工。在可預見的時間範圍內,有經驗的安全專家對威脅風險的識別、對於算法的修正以及對於整個AI系統的魯棒性維護都是很是重要的。可是,安全專家的時間精力畢竟有限,如何在準確全面識別安全威脅的前提下,下降安全專家的時間成本就顯得十分關鍵。
對此,咱們引入主動學習算法,它是一種特殊的半監督學習,依靠安全專家對少許的AI識別出的結果進行人工校驗,從而不斷對原有算法進行微調,直到最終收斂。主動學習裏有兩個因素很是重要,一是如何挑選供給人工校驗的識別結果,二是對於識別結果的糾正如何反饋到算法模型中。經過主動學習,咱們就能夠構建不斷學習、不斷演變的SIEM系統,進而隨着與人的磨合,系統會變得愈來愈智能,愈來愈準確。
2.經過深度學習識別非直觀威脅
有些威脅或者異常自己不具有直觀表述性,甚至不能被向量化、離散化,最直接的例子就是加密流量。加密後的流量自己是人不可表述的,只是一層二進制輸入流。還有些安全事件因爲關聯業務太多,很難用語言來表述爲何當初這個問題被斷定爲異常。對於這些問題,均可以嘗試使用深度學習的算法來解決,不過深度學習要求有大量的標註樣本,只有在這個前提下,才能保證算法的效果。這就要求企業在平時的SIEM系統運行中,就不斷增長對於威脅事件斷定的積累,當數據積累到必定程度後,就可使用深度學習算法進行分析。
AI做爲安全領域的顛覆性技術,與SIEM的結合將構建一個徹底基於AI的、充分智能的、低人工甚至無需人工介入的新一代SIEM@AI平臺,這將改變目前安全產品依靠策略設定的固有模式,成爲新一代企業安全大腦。