我們該如何發現,那些你所不知道的未知威脅突破了你邊界防護?而且它還正在做著你無法察覺的事情?答案是,從確定性解決方案的思路轉到可能性上來,然后讓計算機來完成工作。
這就是機器學習、人工智能和認知計算在網絡安全方向上新進展的目標。以上三種方式都依賴于云計算來提供嶄新的計算能力和大數據集合與分析才得以實現;每種方式都對影響網絡安全的未來擁有巨大潛力。
基本定義
人工智能和機器學習的定義已經相對得到公認了。盡管需要注意的是,許多用戶甚至是一些供應商都在混用這兩個詞。認知學習仍舊是一個新進展,而且其定義也有很多版本。
機器學習。機器學習可以被看成是“類固醇規則”。巨大的數據量和企業運行的復雜程度讓手動生成并檢查所有的入侵檢測規則成為不可能。機器學習的過程就是讓系統自己生成并調整新的、復雜規則的過程。
機器學習可以分為兩個小類別:受監控的學習和未受監控的學習。受監控的學習需要分析師介入,幫助機器生成正確的規則。未受監控的學習來自自動發現異常行為,并自動調整規則。機器不會通過人們一般認為的那種方式學習,它只不過是基于預設的算法進行反應而已。
人工智能。人工智能是模仿人類作出決策的過程,也就是讓系統自己作出決定。人工智能的核心是針對數據的處理,只有這樣才能夠生成決策。人工智能是一項很難的技術,我們只是在該技術發展的初步階段。
認知學習。認知學習是一項近期的發展。它通常被稱為“通過計算化的模型模擬人類思維過程。使用基于數據挖掘、模式識別和自然語言處理的自我學習算法,計算機可以模擬人類大腦的工作方式”。通過圖像對分析結果進行輸出一般也是認知學習的重要部分。
不過,不論使用哪個術語,它們都擁有一個相同的目的:開發切實可行的方法,基于給出的可能性評級,快速檢測所有的隱蔽惡意威脅。這三種技術在實際使用時很有可能是相互交叉的。不過這與安全分析師技術水平鴻溝越來越大這一背景相抵觸。使用這些技術的動機值得探討:它們到底是要徹底消滅對安全分析師的需求,還是減輕對分析師的需求。
當前使用的可能性機器
不管使用什么術語進行描述,幾種技術的最終目標都是相同的:使用可能性評分來將合法與可疑活動區分開來。不過它們都面臨著另外一個大難題:很難給足以構成“可疑活動”的事件標出一條紅線,這樣就導致了決策困難。行話里把這些事件稱為標簽 (Label) ,而且網絡安全是一個“標簽稀有空間”。在每天發生的數億計的網絡活動中,只有一小部分是惡意的。
大多數廠商將自動化安全分析視為制造產品區分度的方法,特別是尋找、辨別或者為惡意事件加標簽這幾類方式。
PatternEX
PatternEX是一家最近開始告別隱身模式的公司,它將稀有事件建模和主動式上下文建模結合在一起。該方式的開始階段是通過自家的算法將系統數據過濾一遍,找到“不合群”,或者相對稀少或不常見的事件。這些不合群者會被手動標記,確定到底是合法還是惡意,這樣就能讓機器學習到新知識。
不過,PatternEX公司CMO Travis Reed建議稱:“我認為所有人將來的必經之路是轉移到一個更能夠實時化學習的系統。有人把它稱為主動學習,我們則將其稱為上下文主動建模。它是你可以收集、檢視輸入數據,并且通過人類參與來訓練整套系統,找出攻擊。在發現攻擊之后,該系統能夠檢查你所有的數據,并且找到來自類似攻擊的其它實例或相關事件,實時保護你所有的入口和出口點位。”
PatternEX在今年4月份的IEEE International Conference on Big Data Security上發布的一篇同行評議論文中支持了自己的說法,證明該途徑是有效的。在研究中,系統受到了36億份日志文件的檢測,并能夠檢測到85%的攻擊,而且假陽性率降低到了之前的五分之一。
Vectra Networks
Vectors Networks公司在產品中同時使用受監控和未受監控的機器學習方式。Vectra公司CSO Gunter Ollmann解釋了未受監控的學習所使用的元素來自網絡通常行為的基線。系統之后會檢測網絡上的所有異常行為。CSO補充稱,可以利用“暗示”或手動標記的事件來修正結果,但通常而言系統是自主運行的。該系統特別擅長找到隱秘、緩慢的數據滲漏 (Exfiltration) ,甚至是極小的行為異常。不過,它在給異常事件加標記,進行分類方面表現不佳。系統仍舊需要人類分析師來評估找到的結果。
Vectors開發的未受監控學習元件是能夠建立并訓練數學模型,得到威脅類別。Ollmann將它們稱為“N維簽名模型”,也即通過可能性建立多個簽名矩陣。他以Vectra的新型勒索軟件檢測解決方案為例,解釋了該過程是如何實現的。“需要盡可能多的惡意軟件樣本,并且在云端將它們全部運行。通過這一過程,我就能記錄每個惡意軟件的所有網絡活動,并獲得比如2000個與所有已知惡意軟件行為的數據包樣本。然后我就拿著相同數量的數據包樣本進行比對,比如數據備份或者歸檔,它們不是惡意軟件,但有可能與惡意軟件行為混在一起。”
這時候,就獲得了一個陽性集合(勒索軟件)和一個陰性集合(與惡意行為類似,但本身并不是惡意軟件),而且還獲得了由數百萬計數據包樣本組成的樣本池。然后,可以利用所有常見的機器學習技術,轉而使用配備機器學習模型的專門設備。這些模型被用于歸類分析得到的數據和結果。
由于行為好壞是已知的,分析師就能夠判斷哪個機器學習模型在識別惡意軟件痕跡上做得最好。最終,會得到一個勒索軟件識別率最高的模型。Ollmann說:“之后,該模型就會被推送給用戶進行Beta測試,我則會評估該模型對于實際數據的效果如何。Beta測試結果會返回給云端,并與初始數據進行結合。在有效的新模型誕生之前,該過程將一直重復,并最終被推送給全部用戶。”
該方法和一些早期方法的區別在于,新數據和新勒索軟件行為會一直傳輸給模型(模型每天都會重新計算數萬次),且模型的新版本會不斷推送給用戶。機器在不停學習。
不過,仍舊需要注意的是,盡管機器學習了不少處理數據的方法,但真正的智能來自分析師。由他們來給數據惡意與否打標簽。
Ollmann認為,基于機器學習的威脅檢測和以前的IPS、SIEM技術的巨大區別在于準確度。該技術不會僅僅是看到了一個簽名就發出警報,而是收集相關的活動,直到可能性評級達到特定程度之后才會發出準確的警報。這樣,模型實際上能夠模擬安全分析師或安全專家的工作過程:在發出警報之前,先收集各種各樣的證據。
IBM Watson
2016年5月,IBM發布了一項新計劃:Watson安全。該技術的理念在于利用IBM的Watson認知計算技術,幫助分析師創建并保持更大的網絡安全性能。
Watson和大多數人工智能引擎不同。傳統上講,計算機的設計和開發目的是分析結構化數據。這讓它能夠分析來自多個系統日志的結構化數據。不過,80%的安全知識存在于非結構化文檔中:研究論文、安全博客、會議議項等不能通過傳統方式處理的數據。
Watson的目標是吸收并理解所有這些非結構化數據,來處理并響應非結構化的查詢請求。最終,網絡專家將能夠直接查詢“如何應對xzy零日漏洞攻擊”,甚至是“當前的零日漏洞威脅都是什么?”Watson將使用之前從研究論文、博客上收集并處理的信息來進行回答。
該項目也面臨著人工智能的常見問題:如何輸入數量足夠、標簽正確的數據,供后續計算過程使用,來返回擁有足夠準確度的答案。
IBM Security副總裁Caleb Barlow解釋了這一過程:“我們教給它閱讀的方法,就像教孩子閱讀一樣。比如,名詞、動詞、形容詞、攻擊事件、受害者、目標、威脅源、惡意軟件。然后就是以上概念之間的關系。”
要對單個文檔進行標注,這在初期是高度勞動力密集的人工過程;但在該過程結束時,Watson就擁有了理解的能力,還會自動吸收新的文檔。
也可能會存在錯誤。有些文檔會提供錯誤的信息。這里就要運用到兩個老概念了:大眾智慧和信譽。首先,有些信息來源的信譽較好,而且在過程中會被給予相對其它來源而言更高的信任度。但更重要的是,隨著時間推移,Watson將逐漸變成大眾智慧的縮影。
Barlow說:“我們的目標是在年末進入用戶測試階段。”但他不認為Watson安全 (Watson for Security) 是一個傳統產品:它更像是一個有延續性的計劃,會隨著時間推移獲得更高的效率和準確率。
埃森哲
2016年2月,埃森哲推出了自家的網絡情報平臺,混合了來自人工智能、機器學習和認知計算的元素。Vikram Desai是埃森哲咨詢的常務董事,他對媒體描述了其過程。“埃森哲通過路由器取得計算機的活動信息,并對其進行分析:就像傳統情報機構做的那樣。使用機器學習和人工智能,我們可以確定任意網絡的常態情況。”
這在大量數據之中確定了常態的基準線。“典型的企業網絡每天可能會有40到60萬次活動。通過理解什么是正常,我們就能分辨那些不正常的活動。它可能意味著‘還行,但是不屬于常態’,也可能代表著‘出麻煩了’”。
基準線是通過未受監控的機器學習來創建的。然后是活動分析和受到網絡操作員監控的學習。“只要時間夠長,這就能保證最初的惡意活動能夠整合進‘正常行為’基準線里。”
之后,計算機就能夠發現并實時標出那些于正常行為區別開來的異常行為。不過,埃森哲的平臺并未止步于此。“最終,可以使用一個認知模塊來視覺化呈現輸出。我們會用視覺化的方式來呈現攻擊的細節。人們有可能無法很快弄清表格數據的含義。視覺化能夠幫助分析師區別‘非常態但還行’和‘非常態但出麻煩了’的行為。”
谷歌Common Sense計劃
2016年6月26日,谷歌宣布組建谷歌研究歐洲分部,辦公室在蘇黎世。該機構將專注于三個特定的領域:機器智能、自然語言處理與理解、機器認知。不過,引起人們最大注意的是研究負責人Emmanuel Mogenet對媒體給出的一條回復:關鍵領域將是訓練計算機的“常識”。
常識推理對人工智能而言并不算是新概念了,但谷歌為它專門開了一個研究中心的確不多見。該領域與傳統人工智能有所不同。它嘗試教育機器作出像人類一樣的假定和判斷,而傳統的人工智能嘗試教育機器作出像人類一樣的決策。這并非易事。IBM的Watson正嘗試吸收全部人類知識,而常識機器需要吸收所有的人類認知。
2016年6月21日谷歌科學家聯手伯克利大學發布的一份論文研究了人工智能的“意外事故”。論文給出了一個簡單的例子:“假設設計者想要增強學習模塊達成莫中目標,比如把盒子從房子的一角挪到對角。有時候最有效的方法包括做一些不相關、甚至對環境有害的事情,比如打碎擋路的花瓶。”
論文中接著說:“換言之,想要實現‘完成任務X’的目標函數往往得到的是不想要的結果,因為設計者真正想要達成的目標是‘在常識對環境的限制下完成X任務’,或者‘完成X任務,但要盡可能避免副作用’。更進一步,有理由認為副作用往往是負面的,因為它們往往會擾亂更廣的環境,而不是保持反映了人類偏好的現狀。”
要解決該問題,需要教給機器預測其行為后果的能力,也就是能夠進行常識推理。谷歌還沒有解釋具體如何開發該能力。Mogenet說:“四歲的孩子也會通過認知世界獲取這些知識,而不會作出牛會飛的判斷。計算機需要理解一些顯而易見的知識,因此我們希望建立一個常識數據庫。”
綜述
自我治愈網絡的終極潛力極具吸引力:從高層面上實現這一目標的方法十分容易理解。首先,你教育機器系統,通過受監控和未受監控的機器學習來理解當前正在發生的事件;然后你應用人工智能或者認知學習來作出類似人類的決策,應對被檢測到的情景。
但不是所有人都對此深信不疑。Bromium公司CTO Simon Crosby認為機器學習在幫助分析師作出決策方面擁有巨大優勢。但這可能就是它能做的一切了。他認為,“機器學習,特別是未受監控的機器學習,將不可避免地創造假陽性。這些假陽性將必須通過人類技師予以糾正。你永遠無法相信全自動運轉的機器。”
“它有助于幫助檢測存在的入侵事件,但對于防止未來入侵沒有什么幫助。”這就是該問題的本質。它能夠幫助將關注點從防護入侵調整到檢測入侵;這意味著更多地關注檢測,而不是安全設計。Crosby說:“從定義上來看,如果你在尋求入侵檢測,你會遇到麻煩:入侵從未發生。”