安全是一門語言的藝術|威脅調查分析語言概述
2021-04-19
語言的本質源于規則,準確的規則是安全邏輯判別的標尺;語言的魅力在于傳播,有效的傳播是安全情報與技術打破安全信息孤島的關鍵路徑?;仡櫩偨Y安全智能與運營智能技術的演進,筆者愈發認為,網絡安全是一門語言的藝術,需要深入解讀與探討,以通過語言模型的構建、語義的度量,來提升數據驅動方法在安全場景中的魯棒性與適應性。因此,《安全是一門語言的藝術》將分多個篇章,梳理安全這門語言藝術的技術思考與實現,介紹自動化與智能化手段如何助力新的安全語言設計和應用。
本文為系列首篇,將淺談對安全領域專用語言的思考,進而概述總結面向威脅狩獵的調查分析語言(Threat Hunting Investigation and Analysis Language)技術與方案。
一、 安全數據分析技術與領域專用語言
熟悉安全領域學術論文的朋友應該都有體會,論證數據驅動的(Data driven)和智能驅動的(AI driven)方法相對傳統方法的有效性,一般會把基于規則的(Rule based)方法拿出來對比一下。在數據過載的時代背景下,安全大數據給提取指紋特征、寫檢測規則這種傳統純手工的安全防護模式出了多道難題:規則的泛化能力、適應性、覆蓋率等指標如何跟上數據、場景、手法數量的爆炸式增長。
此時,機器學習、深度學習、圖算法等數據驅動的方法的優越性就體現出來了。數據中蘊含的規律和模式,是可以通過數據挖掘的方法呈現出來的。流量特征、樣本特征、編碼特征、序列特征、關聯特征、時序特征等等,這些關鍵的數字維度能夠在沒有專家參與的情況下,在限定條件下完成檢測、溯源、評估等任務。這里的“限定條件”是一個關鍵的問題。諸多實驗性模型與算法,在實戰化的安全運營中難以有效發揮作用。主要瓶頸體現在:
l 異構多源數據欠缺規范約束。數據采集系統所收集的數據完整度,包括基礎的字段完整性,信息流的刻畫完整性,信息歸屬的完整性等等,難以有效的、規范化的留存。與此同時,數據分析中的訓練數據集往往經過多輪次的清洗、過濾和標記。而實際部署環境下,理想的數據分布假設空間難以覆蓋復雜動態的網絡環境與攻擊技戰術變化。
l 模型黑盒缺乏可解釋性。某些復雜高容量的模型,端到端的給出的預測結果,無論是惡意的流量或樣本,或是高風險的告警,都無法同時給出合理的佐證。這在運營環節中帶來巨大的分析成本。
l 統計數據匱乏語義內涵。與缺乏可解釋性相關,統計驅動的機器學習方法習得的數據模式,不總是能夠匹配安全經驗與直覺,對不齊安全的關注焦點。舉個例子,異常檢測是安全智能技術中的重要組成之一。然而,異常識別的維度可源于多種類型的數據統計維度,例如密度、距離、關聯性等等。這些統計維度的離散點,需要在安全場景中給定一個對應的語義化“閾值”才能有潛在的安全含義。
l 采集數據隱私泄露隱憂。數據利用與數據隱私保護之間的對抗與平衡,始終是安全技術升級的驅動力之一。隨著安全防御收集的數據廣泛性和深度的提升,被采集端的數據所有者對采集系統的抵觸心理愈發明顯。數據從明文到加密,甚至拒絕“出境”,這些都限制了數據驅動技術方案的落地。
上述列舉的多個技術瓶頸,給數據挖掘方法的安全應用加入了不少限制。與之相對應的是,安全技術的工業實現中,與攻擊方武器庫相對應的,各種類型的規則仍然是最寶貴的情報戰略資源;各種類檢測防御系統的核心單元,絕大部分還是規則引擎,而不是某個基于機器學習的檢測模型。那么,是否有一天,當模型的準確性足夠高、泛化能力足夠強,模型與算法將統一安全防御體系的天下呢?智能化手段與方法,應該在安全場景中發揮怎樣的作用呢?
為回答上述問題,不妨設想和回顧網絡安全的本質。安全可以認為是一種狀態,在這種狀態下,人、系統、財產等現實或虛擬實體未受到威脅與損害。那么怎么界定與評價實體是否受到威脅和損害呢?筆者認為其中的關鍵在于“立法”,也就是設定界限與規則,對越界、違規行為進行懲罰。這里的“法”不特指法律或者法令,而是強調界限與規則的重要性。“不以規矩,不能成方圓”,在網絡安全的場景下明確任務邊界尤為關鍵。而安全場景下執行任務的關鍵,則在于“依法”執行與“執法”透明。以上可統稱為“依法”屬性。安全行業的“依法”屬性,決定了規則引擎的安全技術底座核心地位。從這個角度來看,數據驅動的模型的主要瓶頸,在于其對邊界定義的模糊性。模糊的邊界定義給統計類模型賦予了超過規則的靈活性,但同時注定了其無法對任何事件分析給出明確的責任劃定。所以可以得出這樣的樸素結論:數據驅動方法應當用于輔助安全“立法”與“執法”,而不應該是“立法”與“執法”的主體。
圖1 威脅檢測領域的經典語言
回到本文的主題,所謂語言,正是規則的集合,是“法”的具體體現形式。一套面向特定場景的、自成體系的規則系統,可稱為一種領域語言;而描述或者定義規則系統的規則,可稱為領域語言的語言,即元語?;氐骄W絡安全領域,比較經典的規則系統,包括用于流量攻擊檢測的Snort規則,用于惡意文件檢測的YARA規則,用于日志威脅檢測的Sigma規則等等。這些規則系統都自成體系,形成領域專用的語言系統。而Snort、YARA、Sigma規則的書寫規范與規則,就是其對應的元語。
安全領域專用語言(Domain Specific Language For Security),在威脅檢測的各個領域,都具有很強的統治地位。這種規則系統的完善,或稱為語言系統的成熟,會充分發揮語言的規范性、表達力,有效提升其本身的傳播性與影響力。近年來ATT&CK知識庫的風靡,正得益于威脅分類與描述元語設計的完備性與表達力。
二、 威脅狩獵調查分析語言概述
語言的設計源于科學的認知,也更依賴對事物理解的藝術。標準語言,類似普通話,能夠促進信息的交換與傳播,減少信息孤島效應。在安全領域,除了上述提到的檢測語言,威脅情報規范STIX,惡意軟件描述語言MAEC,威脅檢測框架ATT&CK等等,都是具有廣泛影響力的領域信息交換與描述語言,雖然不一定稱為標準,但其影響力被行業廣泛認可。標準語言的成功普及一方面依賴于產業技術的成熟,另一方面需要強有力的行業領導者來推動。除了標準語言,定制語言也很重要,類似方言,能夠提升局部信息的高效流轉與決策實施。定制語言就是為了效率而生,一千個成熟廠商就可能有一千個定制的檢測規則引擎系統。
我們已經看到,在威脅檢測領域,即定位威脅的方法論上,已經有較為成熟的語言系統。但隨著高級攻擊技戰術的演進與攻擊面的拓展,威脅分析已經不僅限于初級的威脅定位。主動的威脅狩獵,對靈活的威脅定位、高效的上下文拓展、精準的路徑溯源提出了更高的要求。傳統流量、樣本、情報、日志分立的“語言模型”與規則系統,已經難以適應跨多源、多類型日志的威脅調查與分析需求。
圖2 泄露的FireEye攻擊工具檢測方法概述
如圖1所示,為了應對攻擊工具集泄露,FireEye給出了數百條檢測規則,其中包括Snort、Yara、ClamAV、HXIOC等多種語言格式[1]。盡管相關規則都是各自領域的系統中的語言“標準”,但在安全運營中心日漸成熟的今天,缺乏一種更靈活的、能夠有效覆蓋多種日志數據的標準語言,支持交互式的威脅調查與分析,這無疑是技術發展的痛點之一。此外,這些規則系統仍然普遍局限于基于IOC的特征指紋匹配預定位功能,無法捕獲威脅事件的時序依賴、信息流依賴等復雜關系特征。
雖然缺乏事實的公認方法與標準,但是面向主動威脅狩獵場景下的威脅調查與分析,工業界與學術界團隊仍然給出了不少“方言”版嘗試,以下通過表格概述幾種前沿技術方案。
表1 威脅調查分析語言總結
如表1所示,我們主要從該語言模型針對的數據類型、支持的模式類型、實時性三個角度來初步標定各技術方案主要的應用領域與方式。數據類型方面,行為、環境、情報、知識四種類型的數據可覆蓋安全運營中心所接入的不同類型數據。在模式類型中,“單點”指的是以特征或指紋匹配為主的單個事件模式;“集合”表示多個事件的無序組合;“序列”表示有序的事件組合;“靜態圖”表示信息流或結構相關的事件組合;“時序圖”表示有序并且存在信息關聯的事件組合;“模型”表示基于機器學習等模型方法,在統計特征上可關聯起來的事件組合。實時性方面,主要包括流式的分析模式和批量的調查模式。
威脅調查分析語言,核心在于“表達力”,即能否靈活的支持威脅狩獵過程中的持續驗證過程。為此,數據類型覆蓋越全面,支持的事件模式類型越豐富,語言的表達能力越強,越能夠有效的降低調查過程中的跨數據開銷和復雜事件關聯分析開銷。威脅調查分析語言不限于表中總結的幾種實現方案。如前文所述,當前針對威脅調查領域語言的設計,業界尚處于探索之中,是安全學術與工業研究中的重要課題之一。限于篇幅,本文簡要總結在此,感興趣的讀者可在參考文獻或資料中深入研究具體的技術實現。
三、 總結
與語言的建模與分析相關,安全知識庫、知識圖譜、語義分析、可解釋智能、因果挖掘等等,這些技術名詞已經逐漸融入安全技術發展的視野中。拋去追逐熱點的部分,從語言設計與應用的角度審視安全技術的發展,能更清晰的審視我們為什么要做與如何做。
參考文獻
[1] https://github.com/fireeye/red_team_tool_countermeasures
[2] https://github.com/endgameinc/eql
[3] Noel S, Harley E, Tam K H, et al.: CyGraph: graph-based analytics and visualization for cybersecurity, Handbook of Statistics: Elsevier, 2016: 117-167.
[4] Shu X, Araujo F, Schales D L, et al. Threat Intelligence Computing[C]. Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 2018: 1883-1898.
[5] https://github.com/SigmaHQ/sigma
[6] https://ci.apache.org/projects/flink/flink-docs-stable/dev/libs/cep.html
[7] Gao P, Shao F, Liu X, et al. Enabling Efficient Cyber Threat Hunting With Cyber Threat Intelligence[J]. arXiv preprint arXiv:2010.13637, 2020.
[8] Gao P, Xiao X, Li D, et al. {SAQL}: A stream-based query system for real-time abnormal system behavior detection[C]. 27th {USENIX} Security Symposium ({USENIX} Security 18), 2018: 639-656.
[9] Gao P, Xiao X, Li Z, et al. {AIQL}: Enabling efficient attack investigation from system monitoring data[C]. 2018 {USENIX} Annual Technical Conference ({USENIX}{ATC} 18), 2018: 113-126.