安全人工智能應用之我見:時代“風口”的交叉點
編者按:10月11-14日,為期四天的2017杭州雲棲大會(門票火熱搶購中!)將再度在杭州雲棲小鎮起航,作為全球最具影響力的科技展會之一,本屆大會將有不少阿裏集團專家以及各企業行業領袖的精彩演講。本文是阿裏雲資深算法專家施亮所寫,他將在10月的雲棲大會上分享安全智能帶來的思考和變革(想了解嘉賓以及最新議題信息請關注“雲棲大會”公眾號)。
施亮
從年初的RSA大會,到前兩周剛結束的Blackhat和Defcon,這些大會上一個熱議的焦點,就是人工智能和機器學習技術,在安全領域和產品上的應用。
給人的印象是,如果一個安全產品,現在沒有運用機器學習技術,都不算是有價值的產品。以人工智能驅動的安全公司也受到了資本的青睞,2017年6月份以來就至少有7家號稱運用機器學習技術的安全公司獲得新一輪融資,融資總額接近 5 億美元。
實際上,機器學習技術,在安全領域應用並不是什麼新鮮事物。早在10幾年前,機器學習和統計分析模型已經應用於垃圾郵件檢測、IDS、惡意二進製、URL和DNS分析等領域;特別是垃圾郵件的檢測,在十年前,就有非常成熟的商業產品,而機器學習引擎,是其核心檢測部分。機器學習能早期應用於垃圾郵件的商業產品,主要原因是垃圾郵件曆史上樣本的積累足夠豐富,而且安全公司願意投入大量的運營人員進行打標。
當時國外業界一家大型安全公司,郵件的打標團隊就有上百人,每日由檢測引擎和人工確認的樣本,有幾十萬級之多。郵件用戶反饋和灰樣本的人工打標,形成了良好的數據閉環,機器學習模型優化迭代很快。而大量精準的樣本,和良好的數據閉環,正是機器學習成功應用的基礎。
工業界在機器學習安全應用的過往發展史上,有兩次大的性能突破性提升,一次是機器學習新技術的應用,一次是數據計算能力的提升。還是以垃圾郵件檢測舉例,10年前,隨機森林RF、GBDT等boosting方法開始流行,這些模型對抗overfitting的能力非常強。
當時國外業界某家大型安全公司內垃圾郵件的機器學習檢測模型和各種規則集有上百個,用stacking的方法輸出,每個模型或者規則集的貢獻權重是由其曆史表現決定的。在機器學習的新技術RF、GDBT引入後,最後起統治地位權重dominant weights的,都是使用RF、GBDT等技術的模型,一舉可以提升檢測精度幾個百分點。另一次突破,就是雲計算的引入。
最早的機器學習模型特征,都是用大型關係數據庫計算的,這家公司當時在全球有6個數據中心,每日回吐的數據量有幾百G到T級,昂貴的Oracle係統和數據庫query優化專家,也不能很好的解決海量數據query的效率問題,當時有些特征的計算需要1天以上的時間;而有些spam IP的發送時間,是以小時計算的,等到特征產生,spam IP已經轉移,攔截效果大打折扣。
2008年,公司內數據挖掘研究小組開始嚐試搭建Hadoop,首先用公司計算中心淘汰的廢舊機器,搭建了12台服務器的Hadoop集群,使用優化的MapReduce算法,隻用了10分鍾的時間,就能計算出Oracle大型服務器上一天都計算不出的特征。基於雲計算技術的特征工程,訓練出的1小時、2小時實效的快速檢測模型,將垃圾郵件的攔截效率,又提升了幾個百分點。
技術的演進總是類似的。21世紀10年代以來, 機器學習領域興起的深度學習熱潮,推動了圖像視頻、語音、自然語言處理等方向的突破性進展,深度學習的成功,其實是神經網絡模型方法理論加GPU集群計算能力的進步,兩者疊加所以進展更加迅勐。最近兩年,深度學習開始在安全應用領域落地,例如在惡意二進製檢測領域,國外的Deepinstinct和國內的瀚思科技,都有深度學習的商業化產品。
深度學習的優勢在於,模型的特征工程,相對不需要太深的安全領域經驗,深度學習的輸入向量化方法、模型的結構和參數設置,就基本可以決定模型的表現。
相對於其他的分類模型,由於需要深厚安全領域經驗支撐的特征工程,特征依賴程度大,模型往往受製於特征提取問題,而深度學習的優勢就凸顯出來;深度學習的另外一個特點就是匹配複雜度高的模型優勢非常明顯,這是深度學習模型的多層神經網絡組合實現超高非線性適配導致的。當然,深度學習在安全領域的應用也有它的局限性,一是深度學習模型訓練需要大量的覆蓋範圍全麵的正負樣本,在安全領域,滿足這種要求的場景很少;二是深度學習模型適合原子化的數據特征輸入,安全領域中,離子化數據特征,在大多數領域,都是比較困難的;三是深度學習是黑盒算法,模型的可解釋性很差,對於傳統安全運營分析來說,模型的產出很難做類似安全規則的分析和調整。所以深度學習在安全領域的應用,現在還主要集中在惡意二進製檢測和WAF等樣本比較豐富、輸入比較容易原子化的領域。
深度學習加強化學習(RL)的辦法在棋牌類的應用,已經超越了人類的水準。
大家都知道AlphaGo的一代和二代,在番棋大戰中,連續戰勝了人類職業圍棋的頂尖棋手;今年1月30日,在賓夕法尼亞州匹茲堡的Rivers賭場,卡耐基梅隆大學(CMU)開發的人工智能係統Libratus戰勝4位德州撲克頂級選手,獲得最終勝利。
雖然人工智能技術在棋牌領域已經可以隨意碾壓人類對手,但是在安全領域,人工智能想要在網絡攻防對抗上戰勝人類黑客,這個道路,從現在的技術看,我認為還比較漫長。原因是不管圍棋也好,德撲也罷,雖然變化極多,分別達到10的171次方和10的160次方,但是它們的輸贏規則是非常簡單,很容易用數學模型描述。隻要用合適的機器學習方法,就會在類似的brute force領域取得突破。但是在安全領域,類似的規則描述一般都是極其困難,因為人類黑客的攻擊和網絡安全專家的防守,並不會遵從現有的固定的一套規則,所以很難用數學模型去描述攻防領域的對抗。目前人工智能對這種創造性很強的領域,效果都不是很好。
一個值得注意的趨勢是Generative Adversarial Networks(GANs)的發展,GANs最早由Ian Goodfellow於2014年提出,其基本思想是同時訓練兩個神經網絡,一個網絡訓練產生混淆攻擊樣本,一個網絡訓練識別混淆樣本,兩個網絡互相學習演進。GANs出現後,成功的被用於圖片樣本的混淆,例如成功的欺騙深度學習引擎,使其將大熊貓圖片識別為長臂猿。在安全應用領域,GANs已經被用來產生Malware的混淆樣本,今年Blackhat的一篇文章,作者聲稱自己訓練的GANs樣本,可以欺騙現在的商業Malware識別引擎,使其誤識別率超過70%。
綜合這兩個進展,今後安全人工智能領域,RL和GANs會得到更廣泛的應用,RL主要會用來解決安全領域的樣本問題,隨機生成或者按照某種規則生成的樣本,可以不停的強化模型對某類攻擊或者某類正常訪問混淆行為的學習,同時提高模型識別的精確率和覆蓋率;GANs當前主要用於攻擊方對使用機器學習檢測引擎的欺騙攻擊,從防守方的視角來說,同樣可以使用GANs技術,增強自己的檢測模型針對混淆黑樣本的檢測能力;另外,GANs有可能被用於一些攻防規則比較容易用數學模型定義的安全領域,在某些安全領域實現人工智能機器自動攻防的夢想前景。筆者認為,在Malware攻防領域,由於樣本的成熟度比較高,安全公司的運營團隊成熟,加上這個領域企業的安全需求比較大,所以最有可能取得類似的突破。當前學術界的研究,已經初現Malware自動攻防的端倪。在這個領域筆者認為可以重點關注兩個公司,一個是Cylance,一個是Deep Instinct。Cylance廣泛使用機器學習技術用於其安全產品,主打的Malware檢測產品,大量使用機器學習模型,這個是機器學習廣度運用的成功case。 Cylance在去年獲得1億美元的D輪融資。Deep Instinct號稱是業界第一家運用深度學習技術進行APT檢測的公司,它的Off-the-Shelf Malware檢測引擎,在針對阿裏雲Malware樣本上的實測,也取得了不錯的成績。Deep Instinct在上個月剛獲得B輪3200萬美元的融資。
另外一個快速發展的安全領域將是IoT安全。隨著智能設備廣泛的應用,IoT在今後幾年的發展會更加迅勐,但是由於IoT設備的特性以及曆史原因,IoT設備的安全防護一直處於一個低水平。早在2010 年,Stuxnet 蠕蟲病毒就針對西門子的監控與數據采集(SCADA)係統進行攻擊;去年10月, Mirai惡意軟件侵襲了大量存在低級漏洞的智能攝像頭、網關、家電等IoT設備,並利用它們作為肉雞,攻陷了北美地區的主要DNS服務器,使得北美基於DNS的大規模的互聯網訪問,中斷了數個小時,造成很大損失。今後IoT設備,天然結合雲端的設備數據上傳,會是機器學習發揮能力的絕佳戰場。這個領域可以關注一些初創公司例如Bayshore Networks,這家公司在今年3月取得440萬美元的A輪融資。
安全領域應用場景對機器學習算法的應用有幾個特殊的要求,一是對誤報率的要求非常高。誤報的含義就是將正常的用戶行為解讀為攻擊。最近幾天Facebook頒了一個十萬美金的安全獎,給CMU的一個魚叉釣魚攻擊檢測研究團隊,主要技術因素就是這個檢測方法的誤報率非常低。安全領域的問題,如果誤報高,就算告警結果涵蓋所有的攻擊,實際的結果仍然不可用,因為沒有哪家公司可以提供龐大數量的安全工程師,去分析過濾機器學習的告警,遑論安全工程師的水平也會參差不齊,會有人工誤差。二是安全領域的問題,往往沒有ground truth,也有人喜歡說沒有上帝視角。也就是說,其實沒有人知道某種異常行為,到底是不是攻擊,這個事情聽起來很沮喪,但是這個確實是現實,一些詭異和精心設計的攻擊,很難用常規的辦法去確認。造成機器學習模型,在這種場景下,沒有反饋,很難形成數據閉環去不斷優化;三是在安全領域,大多數的問題,沒有樣本或者極少的樣本,導致很難建立相對比較精準的監督學習模型,無監督學習的模型,又會造成問題一中誤報率高的問題。綜上所訴,這三個問題互相交織作用,造成機器學習在安全領域的應用一直比較艱難。
近年來雲計算的發展,為解決上述難題,提供了一個良好的環境;雲平台本身每天麵對的攻擊體量和頻率都遠遠大於線下環境,比如,阿裏雲平台每天防禦的體量為16億次攻擊,其中成功防禦的DDoS攻擊占全網一半以上,對攻擊數據的甄別和保存,形成了大量和多樣性的攻擊樣本沉澱;
另外,雲計算平台本身提供了海量數據的計算能力,對人工智能大數據模型提供了平台級的計算支持。在阿裏雲, 我們依托阿裏雲計算平台和大數據的優勢、國內頂尖的安全和機器學習算法人才, 針對上述難題,找尋和攻克解決這些問題的答案。這也是我認為基於雲的安全算法,大有可為的原因。
針對安全告警誤報的問題,我們運用較長曆史的大數據流量,使用統計學習模型+深度學習模型,學習人、設備等的正常行為,如果現有安全告警被這些模型分辨為曆史上出現過的正常訪問行為,就可以判斷為誤報,使用這種方法,我們可以將目前主機入侵的日告警量,降低85%以上,並且全部保留對阿裏雲真正有威脅的攻擊告警。
針對第二個問題,我們從工程上運用灰度測試的技巧,及時比對模型和模型之間,模型和安全規則之間的誤差,從有限的用戶反饋,來最大限度的達到攔截攻擊流量,同時保留正常用戶的訪問不受幹擾。為了解決上述第三個問題中提到的沒有樣本或者樣本少的問題,除了做好數據打標的留存工作,我們還使用了深度學習模型去生成樣本,再用當前的機器學習檢測模型做樣本的甄別, 生成的混淆樣本可以極大的增強現有模型的魯棒性[1],這裏我們引入了一個強化學習樣本生成的思想,使用機器學習模型自身,去加強機器學習模型自己。
阿裏雲安全的數據智能團隊,主要運用機器學習技術,支持阿裏雲平台自身的安全,也讓安全服務變得更智能、高效。我們希望將安全傳統的防守視角,轉變為攻守兼備。
安全是網絡安全和人工智能時代“風口”的交叉點。我從機器學習算法出身,在安全領域遊蕩了9年,研究風控、機器學習和算法研發,但至今仍深感對這兩個領域的了解不足。對於安全算法的未來之星們,我的建議是:均衡發展,同時培養和積累兩個領域的能力和經驗,並且不斷付諸於實踐,才是在這個行業裏成就自己夢想的關鍵突破口。
據我所了解,每年國內的安全人才缺口在10萬級,從事安全事業的人才,又掌握機器學習算法武器的,少之又少。於我來說,交叉型人才最聚集的地方,除了國內外頂尖的安全公司和人工智能廠商之外,還有各大高校,這也是為什麼,阿裏雲每年舉辦安全算法大賽,從行業和高校,尋找“跨界”的參賽隊伍。在切磋與合作中,每年1000多位來自算法或者安全領域的高手,取長補短,激發出新的靈感和技術方向。不僅如此,安全算法雖然目前“稀缺”,但在未來,必然會成為雲安全的必備武器。當有一天,100%的企業都安家雲上,安全一定不是能通過人去解決的事情,每個機器大腦背後的智慧,是推動雲安全前進的關鍵。
一切技術發展的背後,人才是最珍貴的源泉。我們當下的所思、所想和所為,會在一次又一次的技術變革中得到印證。而我們現在要做的,就是開始。
雲棲大會購票通道請戳這裏!。
1魯棒是Robust的音譯,也就是健壯和強壯的意思。 它是在異常和危險情況下係統生存的關鍵。 比如說,計算機軟件在輸入錯誤、磁盤故障、網絡過載或有意攻擊情況下,能否不死機、不崩潰,就是該軟件的魯棒性。 所謂“魯棒性”,是指控製係統在一定(結構,大小)的參數攝動下,維持其它某些性能的特性。
雲棲大會報道:
專訪iDST NLP負責人——淘寶內容搜索、評價歸納的幕後英雄
專訪阿裏雲異構計算負責人:異構計算,GPU、FPGA、ASIC芯片將三分天下
最後更新:2017-09-26 14:02:56