本屆RSA大會“合規與風險治理”專題中大部分聚焦於網路安全風險的量化以及相關的實踐案例,如Palo Alto Networks公司的Rich Howard 演講《Superforecasting II: Risk Assessment Prognostication in the 21st century》,闡述瞭如何將半定量的風險評估轉變為更深入的準確量化風險評估;《Math is Hard: Compliance to Continuous Risk Management》中分享構建量化風險管理的整個流程;另外在《NIST Cybersecurity Framework and PCI DSS》中介紹了PCI-DSS標準在CSF框架中的實踐情況,指出標準至CSF的複雜對映關係的問題。
目前在合規與風險治理領域,面臨的主要問題是非結構化和半結構化文件無法高效轉換為可量化資料,導致風險管理過程缺乏對管理資訊的有效評估。針對該問題,微軟高階風險經理Bugra Karabey提出將機器學習工具引入到網路安全風險管理中,總體思路是使用自然語言處理(NLP)實現對非結構化文件的解析,抽取文件關鍵資訊,同時結合資料降維演算法進行風險識別。
Bugra Karabey首先指出當前網路安全風險管理的現狀:
1)基於專家視角的主觀風險評估,難以量化
2)有限資料驅動的風險評估方法,評估結果缺乏全面性
3)更多以定性角度而不是定量角度進行分析
4)採用五分制對風險影響程度和發生可能性進行量化
5)聚焦於識別已知風險
同時Bugra Karabey指出機器學習在網路安全領域已經十分常見:日誌、流量模式分析,異常檢測,行為分析,但是在識別評估潛在風險主題、風險模式以及關係中,機器學習仍然有很大的應用空間。例如:
1)處理富文字資料集(安全策略異常、內部&外部事故、風險合規安全事件);
2)自然語言驅動的風險識別;
3)管理層對風險的認知更多為處理後的資訊,而非技術層面細節。
並從以下三個場景闡述機器學習如何應用到網路安全風險管理當中
1. 主題建模(Topic Modeling)識別高風險主題
主題建模是一種發現文件摘要的統計模型,採用無監督學習從大量文件中發現代表文件主題的一組單詞。常用的主題模型有:潛在語義分析(LSA)和隱狄利克雷分配模型(LDA)。採用主題建模發現高風險事件的流程如下圖所示:
1)收集網路安全相關的富格式文件,包括安全事件、策略異常、審計時間、事故報告等;
2)資料預處理,包括分詞、詞性還原、詞幹提取等;
3)主題建模(LDA/LSA);
4)識別高風險主題/類別。
其中在流程2和流程3中,Bugra Karabey建議使用機器學習工具進行實踐落地。流程2中的自然語言處理可以R語言中的文字挖掘包(TM package),流程3中的主題建模同樣可以使用R語言中的LDA包(LDA package)實現。
透過以上主題建模實現文件的摘要提取,獲取相關風險要素(捏造資料):
2. 自然語言處理(NLP)識別潛在風險
Bugra Karabey採用兩種方法進行潛在風險種類識別:詞嵌入向量(Word Embeddings)和長時短記憶網路(LSTM-RNNs)。
2.1詞嵌入向量(Word Embeddings)
Word Embedding將一個單詞轉換成固定長度的向量表示,透過訓練聚集共性單詞。工作流程如下:
1)建立安全相關文件/資料集全集(事件、異常、事故);
2)使用全集資料建立詞嵌入向量模型;
3)兩維主成分分析(PCA)轉換對映;
4)分析聚類和線性子結構從而識別潛在風險
其中在流程2構建詞嵌入向量模型中可以使用Gensim包和word2vec的skip-gram演算法。
以資產為例,透過分析詞嵌入向量空間(降低至二維或三維),識別資產—威脅、資產—脆弱性等關係:
2.2長時短記憶網路(LSTM-RNNs)
LSTM-RNN是一種特殊RNN型別,解決RNN的長時依賴的問題。其主要思想是:門控單元以及線性連線的引入,使得RNN有選擇性地儲存和輸出歷史資訊。LSTM應用於網路安全風險識別流程如下所示:
1)收集安全事件資料集;
2)利用全集建立LSTM-RNN模型;
3)透過“種子”短語作為模型輸入引數;
4)分析模型自動生成的內容,識別潛在風險主題
其中在流程2建立LSTM-RNN模型中可使用Keras,後端採用tensorflow或CNTK。
透過向建立好的模型中輸入短語,生成文字進行風險分析,樣例如下:
3. 主成分分析(PCA)聚類識別風險管理事故
主成分分析:一種資料降維演算法,主要思想是將n維特徵對映到k維上,這k維是全新的正交特徵也被稱為主成分,是在原有n維特徵的基礎上重新構造出來的k維特徵。該演算法只保留包含絕大部分方差維度的特徵,忽略方差近乎為零的特徵維度,實現對資料維度的降低。
對於網路安全事故中的風險識別的工作流程如下:
1)收集安全事故資料集;
2)使用主成分分析將資料降低至三維;
3)分析聚類結果識別風險模式。
其中在流程2可以使用R語言中的PCA和ggplot2包。示例如下圖所示,事故聚類為三個聚簇,分析聚簇內的特定模式發現不同事故之間內在風險根源。
4. 總結及展望
美國採用FISMA方案作為政府治理體系的核心。FISMA1.0至FISMA2.0,工作重心轉移到實時監控並且在總體設計中整合網路安全,而不是停留在事後的追悔。FISMA2.0的關注點從部門以及機構開發靜態、基於檔案的合規報告到持續的、實時監控聯邦網路。為了實現FSIMA2.0近乎實時的監控,NIST制定了網路安全框架(CSF)並結合安全內容自動化協議(SCAP)以及開源安全控制評估語言(OSCAL)實現不同安全標準下的系統安全技術、管理維度的自動化監測響應。
參考網路安全框架(CSF)和建模語言,綠盟科技構建了關鍵資訊基礎設施治理體系。該體系以威脅知識圖譜為核心,將結構化威脅資料(安全日誌、流量等)對映為圖譜中的知識本體,從而利用圖譜中的專家知識實現威脅分析預警;同時也將管理維度的資料,如資訊保安等級保護中的安全條例轉換為知識本體,結合知識圖譜中的推理關係實現技術維度資訊與管理維度資訊的聯通。
在該治理體系下,需要持續輸入技術、管理維度資料才能實現風險的實時監控。但由於非結構化或半結構化安全文件(審計報告、安全事件報告等)無法高效自動化解析為機器可讀的資訊,該環節成為實現體系閉環的最後一個障礙。Bugra Karabey提出將自然語言處理(NLP)引入到網路安全風險管理中,探索性地提出根據文件主題識別風險型別以及根據聚類後的文件集分析風險模式、關係,對關鍵資訊基礎設施治理體系閉環具有重要價值。