寫文章

草稿已保存

我們終其一生,都在尋找各自的終極答案。我們無時無刻,無不希望能在自己從事的領域離真相更近一步,哪怕是一小步。對威脅的對抗、對情報的研判、對數據的分析、對知識的理解、對智能的追尋、對內心的挖掘、對人性的洞察、對生命的頓悟、對世界的認知、對宇宙的探索,歸根結底都是對真相的渴望。

安全的真相是什么?安全的過去是人與人的對抗,安全的現狀是攻擊者加攻擊機器對抗防御者加防御機器。而未來安全的終局,一定是機器與機器的自主對抗。從這個角度來看,安全的本質其實是智能體之間的知識對抗,智能可以是碳基的智能,也可以是硅基的智能。到終局那一天我們有沒有「搞清楚安全」顯得一點都不重要,重要的是到那一天我們親手鍛造的機器智能,作為人類智能的延伸,注定是會早于我們一步,提前觸達安全的真相。

通用技術與人類發展

技術是人類自身能力的延伸,發明技術是人類最大的天賦。早在現代智人出現之前,早期的原始人就發明了各種技術,使得他們在與其他動物的生物競爭中更占優勢。而在人類歷史進程中,生產力和經濟水平的一次次躍遷,背后的核心推動力是一代又一代通用技術(GPTs General Purpose Technologies)的發明。通用技術通過對已有經濟結構和社會結構的影響,徹底影響著人類的發展進程。




通用技術是單一可識別的基礎性共性技術,目前為止人類歷史上只有二十來種技術可被歸類為通用技術,這些技術具有如下幾個特點:

  • 「無處不在」通用技術有著各種各樣的使用用途以及大量廣泛的使用場景;

  • 「持續改進」隨著時間的推移,通用技術不斷在改進使用成本也不斷降低;

  • 「驅動創新」通用技術使技術創新和技術發明更加容易,催生更多新產品。




從新石器時代農業革命,對動植物的馴化技術、文字書寫技術,到18-19世紀第一次工業革命,蒸汽引擎技術、工廠系統、鐵路系統……,到第二次工業革命,內燃機技術、電力技術、汽車技術、飛機技術……,再到20世紀信息革命,計算機、互聯網、生物科技等。通用技術的發明間隔時間越來越短、密集程度越來越高、影響范圍也越來越大、生產力的提升也越來越快。

同一時代各種通用技術之間的技術銜接產生的協同效應,更是對生產力提升、經濟發展、促進創新起到了疊加推動的作用。蒸汽時代,蒸汽引擎提供動力能源,鐵路網連接各個物理空間傳輸鋼鐵等物資,應用到各種機器系統。電氣時代,中央電站提供電力能源,電力網連接各個物理空間傳輸電流,應用到各類電氣系統。

信息時代,個人電腦(或服務器)提供計算能力,互聯網連接傳輸數據,連接各個數字空間的信息系統。而在智能時代,通用計算(云邊端等各類計算形態)提供計算能力,物理空間和數字空間的邊界會越來越模糊形成融合空間,萬物互聯網連接融合空間中的各個智能系統。不同的時代,通用技術之間有著相似的協同方式。蒸汽時代給機器以動能,電力時代給機器以電能,信息時代給機器以數據,智能時代給機器以知識。




機器智能的歷史發展

在所有通用技術中,機器智能又是最為特殊的一種通用技術,這是人類第一次發明讓機器能自主獲取知識的技術,也是人類第一次有能力打造非碳基體系的智能體。

1882年2月一個寒冷的下午,年輕的尼古拉·特斯拉完成了困擾其5年的交流電發電機設想,欣喜若狂地感嘆道「從此之后人類不再是重體力勞動的奴役,我的機器將解放他們,全世界都將如此」。

1936年,為證明數學中存在不可判定命題,24歲的艾倫·圖靈提出「圖靈機」的設想,1948年在論文《 INTELLIGENT MACHINERY》中描繪了聯結主義的大部分內容,緊接著在1950年發表《COMPUTING MACHINERY AND INTELLIGENCE》,提出了著名的「圖靈測試」。同年,馬文·明斯基與其同學鄧恩·埃德蒙建造了世界上第一臺神經網絡計算機。

1955年馮·諾伊曼接受了耶魯大學西里曼講座的邀請,講稿內容后來匯總成書《THECOMPUTER AND THE BRAIN》。1956年,約翰·麥卡錫在達茅斯學院夏季學術研討會上首次提出了「Aritificial Intelligene」的概念。至此,機器智能的歷史序幕正式拉開,符號主義(Symbolism)、聯結主義(Connectionism)、行為主義(Actionism)三大流派相繼形成。




機器智能發展至今,經歷了幾次浪潮和寒冬,三大主義也各自起起落落。50年代起,以專家系統、經典機器學習為代表的符號主義長期占據統治地位。相比之下聯結主義則歷經了一波三折,從感知機的提出到80年代反向傳播的發表,再到深度學習借助算力與數據大獲成功,到2018年三巨頭Geoffrey Hinton、Yann LeCun、Yoshua Bengio獲得圖靈獎,最后才變得炙手可熱。而以強化學習為代表的行為主義在2016年AlphaGo、AlphaZero的橫空出世之后大獲關注,更是被譽為通向通用機器智能的必經之路。

人類智能的演化經歷了上百萬年,機器智能演化迄今為止也才六十余年。盡管通用機器智能依舊還很遙遠,但今天機器智能在很多領域已經逐漸超過了人類智能。過去這六十年,數據計算能力、數據存儲能力、數據傳輸能力都至少提升了1000萬倍。同時數據資源的增長速度,更是遠遠超過摩爾定律增長的速度,預計到2020年全球數據總量能達到40ZB。機器智能今天已經到達通用技術爆炸的一個關鍵節點,同時在其他通用技術的協同作用下,這一次通用技術引發的變革會比以往任何一次都來得更劇烈。

數據驅動到智能驅動

「商業智能與智能商業」、「安全智能與智能安全」……類似這樣的詞還有很多,二者之間核心的區別前者是單點的智能,后者是全局的智能,前者是基于數據驅動,而后者是基于智能驅動。「數據驅動」與「智能驅動」看似相似但卻有著根本性的區別,最本質的不同是背后決策主體的不同。「數據驅動」最終還是依賴人類來做決策,數據只是提供了能夠做出更好決策的輔助判斷信息,而「智能驅動」則是機器取代人類直接做在線決策。




人類大腦受認知偏見的影響一直是生命進化的結果。受限于人腦信息傳輸帶寬和信息處理速度的限制,從早期狩獵者階段開始,人類就逐步形成了基于簡單啟發式的推理決策系統,規避了處理大量信息的高額成本。這使得人類在處于各種危險的環境時能夠快速、幾乎無意識地做出決策,文明才得以延續至今。然而,快速和幾乎無意識的決策并非意味著總是最佳甚至是準確的決策。

啟發式的方法通過遺傳,成為刻入我們大腦中預先加載的認知偏差,這些「偏見」以偏離理性客觀的方式影響人類的決策。直到「數據驅動」時代的來臨,豐富海量的在線數據為更好的決策提供了輔助判斷的依據。我們用通用計算、海量數據處理技術,將數據量減少到人腦可消化的摘要范圍之內,用于各種應用場景下的輔助決策。

「數據驅動」相比以往基于「直覺驅動」或「經驗驅動」有著無法比擬的優勢,但人類在這其中仍然扮演著「中央處理器」的決策主體,這依然存在著局限性。人腦處理器的吞吐量限制,無法處理全量原始數據,只能將全量數據資源變為「匯總數據」或「摘要數據」,進而再從其中提取知識。這個過程注定是伴隨著信息量的損失,從而會丟掉全量數據中的部分隱含關系、數據模式以及數據背后的洞察。

「智能驅動」是讓機器智能直接做線上決策,無論是決策效率、規模程度、客觀程度還是進化成長速度,都是「數據驅動」所無法比擬的。「智能驅動」是直接從全量數據資源中提取全量知識,然后運用全量知識直接進行全局決策。「數據驅動」本質上是匯總數據加人類智能,「智能驅動」的本質則是全量數據加機器智能。

然而現實的現狀是在業務場景中我們大量的決策連「數據驅動」都還沒做到,更談不上「智能驅動」。機器智能實現「感知」只是第一步,實現「決策」則是更為關鍵的一步,現階段的機器智能正如丘吉爾的一句話「Now this is not the end, it is not even the beginning of the end.But it is perhaps the end of beginning」。那么,到底什么才是真正的機器智能系統?

智能系統的核心范式

真正意義上的智能系統,實例的核心范式一定有如下幾個組成部分:感知體系、認知體系、決策體系、行動體系。同時,一個智能系統的實例,一定離不開與環境的交互,過去我們總是過多的強調和關注系統內在本身,卻容易忽視與環境交互的作用。




感知體系的作用是對環境進行觀測和沉淀,產出的是數據。一切數據的產生都源于對環境的觀測和沉淀,觀測和沉淀背后的動機是我們測量、記錄、分析世界的渴望。信息時時刻刻存在于環境中(數字空間或物理空間),在不同的場景下,我們用硬件、軟件、算法的方式,將其「數據化」。硬件有如傳感器、攝像頭等,軟件如日志記錄器、數據采集器等,算法如各類智能視覺算法、智能語音算法等。終有一天,我們能夠將一切物理空間都數據化,將物理空間完完全全映射到數據空間。

認知體系的作用是對數據進行歸納和總結,提煉出知識。人類理解的知識一定是要用自然語言表達,而對機器而言,用能夠代表問題空間的數據集進行訓練,再用訓練好的「模型」來在新的數據空間中進行推理。只要是能解決特定目標任務,無論其表現形態是向量、圖譜還是自然語言,其實都是知識,特征空間的表達本身就是一種知識。

決策體系的作用是對目標任務進行規劃和決策,生成對目標任務的策略。行動體系根據策略執行具體動作,和環境進行交互、對環境產生影響。動作作用于環境后形成反饋,反饋又促進感知體系感知更多的數據,進而持續獲取更多的知識,對目標任務作出更好的決策,形成閉環持續迭代進化。

從這個角度來看,機器智能的本質,實質是一種觀測環境沉淀數據、歸納數據提煉知識、規劃目標在線決策、作出行動影響環境的自主機器。機器智能是一種自主機器,而自主機器與過去自動化機器的最大區別在于其能否自主獲取解決目標任務的知識。

單體智能到群體智能

今天大多數的智能系統,都是一個個孤立分布的單體智能實例,解決的相應也是一個個孤立分布的單體問題。云計算的本質是「計算在線」,大數據的本質是「數據在線」,而機器智能最終也需要實現讓智能在線,讓智能實例之間進行自主在線交互。




單個智能實例都是由「感知-認知-決策-行動」的體系構成的自主系統,有著自己的世界表征形式,能自主完成自身的目標任務。在同一個動態復雜的博弈環境之中,實例與實例之間通過互聯實現在線,彼此存在相互作用,可以合作、競爭,可以競合并存,也可以既不合作也不競爭。一個實例的策略變化不光會影響自身的環境,也會影響其他實例的策略變化。

對于合作的多個智能實例之間,可以選擇共享數據、知識、策略或動作,協調協作以完成更為復雜的目標任務,共同形成更為高階的智能實例。當單位空間內智能實例的覆蓋密度足夠大的時候,單體智能開始向群體智能演進。

智能與安全的四象限

安全是所有技術中最為特殊的一種,嚴格意義上甚至或許都不能稱「安全」為一門技術。早在人類還未發明任何技術之前,安全就已經伴隨著人類的各種活動。迄今為止,沒有任何一種技術是安全領域獨有或者說從安全領域長出來的,但安全從來都是與其他技術相伴相生、相輔相成。




任何一門通用技術,與安全的結合都有如下四種方式。機器智能技術也不例外,縱向是「給智能以安全」和「給安全以智能」,橫向是「攻擊視角」和「防御視角」。給智能以安全,是指機器智能技術本身會帶來新的安全問題,一種是機器智能自身脆弱性導致的安全問題,一種是機器智能引發周邊場景衍生出的安全問題。給安全以智能,是指將機器智能應用于安全場景,攻擊者利用機器智能賦能攻擊,防御者利用機器智能賦能防御。

而在這四個象限中,新技術與安全發生交集的時間和發展的成熟程度又有所不同。攻擊者相比防御者而言,有更強的動機和利益,所以攻擊相關的象限通常都會更容易去探索新技術去接納新技術。防御者總是滯后,也總是容易沉迷于舊技術和人工經驗營造出的安全假象中,導致第四象限總是發展最滯后最緩慢的一個象限。當然,這與防御視角自身的屬性與困境也有直接關系。

機器智能的安全之困

圍棋是簡單的復雜游戲,而安全是復雜的簡單游戲。1994年,認知科學家Steven Pinker在《The Language Instinct》中寫道「對機器智能而言,困難的問題是易解的,簡單的問題是難解的」。「簡單的復雜問題」指的是問題空間是閉合的,但是問題本身卻又有較高的復雜度,「復雜的簡單問題」指的是問題空間是是無限開放式的,但問題本身卻并沒有很高的復雜度。今天機器智能技術在「簡單的復雜問題」的領域,往往都比人類會更強,但對于「復雜的簡單問題」,泛化界限引起的維數災難,機器智能往往都會失效。




安全是一個典型的「復雜的簡單問題」,莫拉維克悖論在安全領域更為明顯。高度不確定性是安全最大的特點,安全自身最大的困境就是如何去應對「未知的未知」。很多時候我們問題都沒定義清楚問題就沖上去說要用機器智能解決問題,這是絕大多數機器智能在安全領域失效的主要原因。今天在安全領域,不太需要去突破智能技術的天花板,亟待解決的反而是「定義清楚問題」,即如何閉合掉問題空間。

安全的問題空間通常都是無界的,同時問題空間對應的正負樣本的樣本空間卻又嚴重的不對稱。「未知的未知」引起的負向數據(如攻擊數據、風險數據等)的嚴重缺乏導致特征空間的不對稱,進而導致特征空間無法真正表征問題空間。「模型」是已有數據空間下關于世界的假設,并且用于在新的數據空間下進行推理。今天機器智能技術已經能很好的解決表示輸入和輸出之間的非線性復雜關系,但對于樣本空間與問題空間存在的巨大鴻溝卻依然比較乏力。

20世紀六十年代,貝爾-拉帕杜拉安全模型(Bell-La Padula )指出「當僅當系統開始于安全的狀態,且一直不會落入非安全狀態,它才是安全的」。由于安全的本質是對抗,對抗的存在導致安全領域的機器智能模型多數都逃不過的「上線即衰減」的命運。在訓練集上表現良好的模型,對于大規模的現實環境,從上線那一刻起就在引起對抗升級,進而不斷跌入失效的狀態。模型衰減和封閉系統中的熵增一樣,是一個必然。

同時,安全場景中對檢測結果的準確性、結果可解釋性都高度敏感。機器智能相比于傳統安全中經常使用的基于規則、基于策略的檢測技術,優勢在于其強大的表征能力,但同時其不可解釋性、模糊性導致推理結果在決策場景下無法直接使用,這也是今天很多智能安全系統大都只在做「感知」,至多也只是做輔助決策的原因。

然而這些都還不是最大的「困」,機器智能在安全領域最大的「困」是思維模式上的困局。安全的思維模式是「守正出奇」,而機器智能的思維模式是「Model The World」。這兩種思維模式之間不僅存在巨大的差異,也異常難調和。一方面極少有人能同時駕馭這兩種思維方式,另一方面把兩種思維的人放到一起也極難協作起來,本質原因是缺少橋梁來銜接安全問題到算法問題之間的相互轉換和定義。

問題空間之困、樣本空間之困、推理結果之困、對抗衰減之困、思維模式之困,這些問題導致了今天絕大多數現實中的智能安全系統的表現都差強人意。或者也可以說得更悲觀一點,今天在安全領域,迄今為止還沒有真正意義的智能安全系統。

真正的智能安全系統

先來說說通用安全場景下的通用數據范式。柏拉圖學派認為「我們感知的世界是洞穴里面墻壁上的投影」,現象世界都是理性世界的倒影,理性世界才是世界的本質或本原。「洞穴比喻」意味著存在一個外在的客觀的知識體系,不依賴人類的認知而存在,人類探索知識的過程就是不斷從現實世界的現象觀察中,摸索、推測這個客觀知識體系的過程。亞里士多德進一步奠定了本體論最初的思想,定義其為研究「存在」的科學,是形而上學的基本分支。再到17世紀,哲學家郭克蘭紐 (R. Goclenius) 首次提出「Ontology」一詞,再到20世紀60年代,機器智能領域開始引入Ontology的思想,之后又進一步演化出語義網、知識圖譜等。

安全中的對抗本質是知識的對抗,獲取知識更多的一方就能擁有更多的不對稱優勢。無論是威脅分析、情報研判、攻擊檢測、事件溯源……本質都是在探索知識的一個過程,這就是為什么Palantir的Gotham、IBM的I2、UEBA、各種威脅情報產品等等背后都不約而同或多或少借鑒了Ontology思想的根本原因。



而安全場景下的通用數據范式,也離不開Ontology。實體、屬性、行為、事件、關系,通過這五大元數據類型,可以構建出所有安全場景中的數據架構(無論是基礎安全、業務安全、數據安全、公共安全、城市安全……注:公共安全領域也單獨關注「軌跡」這一類元數據類型,因「軌跡」是一種特殊的「行為」數據,故這里統一都合并成行為)。

  • 實體:實體是客觀存在并可以與其他對象區分開來的對象;

  • 屬性:屬性即為標簽,是描述實體的表述,對實體抽象方面的刻畫;

  • 行為:行為是實體在特定時間、空間下發出的動作;

  • 事件:事件是一定時空或條件下所認識到的可識別的事情;

  • 關系:關系是實體與其他實體之間的關聯程度與表述。

安全領域絕大多數沉淀的源數據都是行為類數據,無論是網絡流量日志、主機命令日志、業務日志、攝像頭數據流、感知設備數據流……,這些都是行為數據。而實體、屬性、關系、事件的產生都是從行為數據中進行萃取,通過對不同的行為數據運行不同的 Function 來產生。

當 Function 是生成事件的時候,即為安全檢測問題,包括攻擊檢測、威脅檢測、風險檢測、異常檢測等等。絕大多數安全檢測問題的原子范式都可以抽象為Y=F(X),其中X是實體的行為數據,Y是檢測結果,F是檢測模型。F可以是基于規則、基于策略、詞法語義、統計檢測、機器學習、深度神經網絡等等,Y可以是正常、異常、攻擊或者未知。



更為復雜的檢測場景也都可以通過一個個基本F與各類算子組裝編排而成。每一種類型的F都有其優勢和劣勢,有不同的最優使用場景,并不存在一種絕對先進絕對領先的檢測技術。事實上算法在安全檢測中最應該關注的不是去做檢測模型本身,而是能否自主化的根據各種場景生成最優的檢測模型,并能自主化持續迭代檢測模型。



真正意義上的智能安全系統一定也是具備感知體系、認知體系、決策體系和行動體系,同時和環境形成反饋閉環。感知體系至少包括異常感知器、攻擊感知器、漏報感知器和誤報感知器。「異常感知器」的作用一方面是保持感知「未知的未知」的能力,另一方面是利用「通過定義正常來尋找異常」的思想來解「樣本空間之困」的問題。「攻擊感知器」的作用是在異常數據的基礎上去檢測攻擊,為了解「推理結果之困」的同時,也大大縮減推理結果誤報漏報范圍。「漏報感知器」和「誤報感知器」是為了去解「對抗衰減之困」。由此可以看出,整個行業內大家最常關注的「用算法做攻擊檢測」,其實只是做了智能系統當中感知體系里很小的一小步。

認知體系沉淀的是跟安全相關的各種知識,至少包括正常知識、攻擊知識、漏報知識、誤報知識。安全知識可以是基于專家規則、向量、模型、圖譜、自然語言等等,但無論是哪種形態,一定都是精細化個性化的「千人千面」的知識。即對每一個受保護對象(如用戶、系統、資產、域名、數據等),沉淀形成適用于該受保護對象的一套感知異常、攻擊、漏報、誤報的知識。決策體系當中至少包含對目標任務的攔截策略、各類模型的上線下線等策略等,能自主決策哪些行為該攔截,哪些模型已經衰減該重訓練該替換等。

行動體系當中是各類作用于環境的動作,如放行、阻斷、重訓練、發布等等。一個真正的智能安全 instance 里面包了含成千上萬的 agent ,每一個 agent 只作用于其對應的受保護對象。最后,「問題空間之困」的解法是將開放的問題空間收斂為一個個小的閉合的風險場景,一方面靠的是四個感知器的級連形成的縱深檢測,另一方面靠的就是「千人千面」的 agent 。

機器智能重塑新安全

安全領域發展至今,一直處于問題消滅得少概念卻造得不少的階段,亟待利用新技術去真正解決舊問題。機器智能在各個行業的炙手可熱,同樣也引起了安全行業的追捧。但今天安全領域的智能能力參差不一的同時,又難以分辨其真假。以至于但凡用了一丁點算法的,都會宣稱「基于人工智能的XX安全系統」。同早年的智能駕駛領域一樣,今天的智能安全也亟需統一的分級標準,用以明確不同級別智能安全技術之間的差異性。「安全的本質是智能體的對抗」,故根據自主對抗的程度,我們將智能安全劃分為L0~5共如下6個級別:




  • L0級別為「人工對抗」,即完全沒有任何機器智能的能力,完全由防御者人工雨攻擊者進行對抗,對抗操作、感知判斷、任務支援全都由人工進行。

  • L1級別為「輔助對抗」,由機器完成已知攻擊的攻擊檢測和攻擊防御,其余的操作(如感知未知威脅、感知漏報、感知誤報等)由人類進行。

  • L2級別為「低度自主對抗」,由機器完成已知攻擊攻擊檢測和攻擊防御,并具備能感知未知威脅或誤報漏報,其余由人類操作。

  • L3級別為「中度自主對抗」,由機器完成所有的對抗操作(攻擊檢測、攻擊防御、主動感知未知威脅、誤報漏報主動感知、對抗升級自動學習),根據系統要求,人類在適當的時候進行應答(中間過程必須需要人類參與)。

  • L4級別為「高度自主對抗」,由機器完成所有的對抗操作,根據系統要求,人類不一定提供所有的應答(中間過程非必須有人類參與),但只能作用于限定的特定的安全場景(如網絡域、主機域等)。

  • L5級別為「完全自主對抗」,由機器完成所有的對抗操作,根據系統要求,人類不一定提供所有的應答,不限定特定的場景,作用于全域范圍。

不同于智能駕駛技術,不同的 Level 采用的是完全不同的技術棧,智能安全中的 L0~5 是需要逐步往上構建往上發展。按照這個劃分,今天行業內絕大部份的安全系統都是L1 的系統,極少一部分能達到 L2,但還沒有真正意義上的L3及以上的智能安全系統。隨著級別往上走,能夠將防御者從低水平對抗中逐步釋放出來,能更加關注高級對抗,L3是個分水嶺,有望在5年內實現。「始于圍棋終于安全」,機器智能在安全領域的終局是什么?網絡層、主機層、應用層、業務層、數據層都分別有各自的智能實例,不同層的實例在線互聯,實現真正意義的協同防御與情報共享。當智能「Intelligence」和情報「Intelligence」融合的那一天,才是真正的「Intelligence Remodels New Security」。

目前阿里云智能安全實驗室正在多個領域打造L3級別的智能安全系統,致力于智能技術在云安全中的應用,現招聘安全算法專家和安全數據專家,尋志同道合者一起探索打造「智能重塑新安全」。目前在不到一年的時間,已經取得了一定的階段性成果:

  • LTD 攻擊檢測算法入選人工智能頂會 IJCAI 2019「Locate Then Detect:Web Attack Detection viaAttention-Based Deep Neural Networks」;

  • WAF AI 內核助力阿里云 WAF 入選 2019 Gartner Web 應用防火墻魔力象限,算法能力被評為強勢;

  • Anti-Bot AI 內核助力阿里云爬蟲風險管理入選 2018Forrester Bot Management 競爭者象限;

  • 內容安全算法助力阿里云在國家級重保活動中平穩度過,無任何風險外漏;

  • 上線[XDATA]安全數據內核、[XID]核心數據資產、[XService]智能安全服務、[弦+]安全知識引擎等一系列安全數據平臺服務產品,上線百億級節點千億級邊的復雜網絡和圖計算應用;上線QPS千萬級的復雜流計算應用。







原文鏈接

本文為云棲社區原創內容,未經允許不得轉載。