在昨天的《NSM19: 企業組織安全性週期》提到:偵測階段包括網路安全監控NSM的三項要素:收集資料、偵測、分析,藉由收集來的各種資料,進行偵測、分析,驗證偵測到的活動和事件是否為正常、可疑或惡意。這些資料包括:
• 全文 Full content
• 提取內容 Extracted content
• Session 資料 Session data
• 處理資料 Transaction data
• 統計資料 Statistical data
• 元資料Metadata
• 警告資料 Alert data
為什麼要收集這麼多資料?一般觀察到的活動想要判別究竟是正常、可疑或惡意,運用的分析、偵測方法不外乎signature-based和anomaly-based兩種,各有優劣。我們都希望活動被歸納為正常或惡意,但事實上沒辦法做非黑即白的判別,中間會有灰色地帶的可疑活動,所以要盡量收集來自各種不同來源的資料,進一步幫助比對、分析、偵測,確認是否為惡意行為。
這種分析方式將監控、收集到的各種資料與現有的特徵資料庫(signature)比對,一旦觀察到與特徵資料庫相符合的活動便會判定為惡意行為,並發出警示。好處是因為和特徵資料庫裡的已知威脅特徵比較,準確率較高,分析速度比較快,耗用的資源也比較少,比對結果可以依照活動符合的程度,以confidence level信賴程度呈現。如果信賴程度很高,那觀察到的活動幾乎完全符合特徵資料庫的紀錄;如果信賴程度低,那觀察到的活動和特徵資料庫的紀錄差異較大,可能需要蒐集更多新資料,或使用工具進一步分析。
這種分析方式和大家熟知的防毒軟體一樣,需要定期更新特徵資料庫才能跟上不斷變化的威脅,對於未知的入侵特徵難以判別,頂多將可疑行為分做低信賴度事件,而通常低信賴度事件會有多少資安團隊花時間和精力去調查呢?若入侵者意志堅定,對於規避繞過signature-based分析有經驗,突破防禦而不觸發警示﹝或觸發低信賴度警示﹞,將是資安團隊的惡夢。
通常資安團隊會用幾種方法輔助signature-base分析方式的缺陷,例如勤於更新特徵資料庫,或者制定流程加強分析低信賴度警示,甚至整合Threat Intelligence 威脅情資, 憑Threat Intelligence或OSINT﹝Open-source intelligence 公開來源情報﹞與來源比對,協助判斷。
這種分析方式沒有之前signature-based分析方式的缺陷,通常是觀察網路環境活動一段時間,慢慢學習建立baseline基準之後,藉此統計、分析、比對,發現anomaly可疑行為或異常行為;或是專注監控入侵者可能運用的管道來偵測異常狀況,例如嚴密監控分析DNS流量和DNS查詢,避免入侵者將C2 Server指令藏在DNS查詢中。這種方式會針對可疑行為發出比較多的警示,建立風險指數Risk Score﹝類似signature-based方式的信賴程度﹞,當發現越多可疑行為,風險指數隨之上升,也越來越像是入侵活動。當活動被判定為惡意之後,便可以建立特徵signature,輔助之前的signature-based分析方式。
這種分析方式需要較多資源,分析偵測的時間也比較長,而且因為是從行為來偵測,準確率一直被質疑,需要分析師憑經驗和知識去過濾,畢竟人的行為本就充滿不固定性,例如「帳號登入多次失敗」這個活動,可能是入侵者正在brute-force attack帳密,也可能純粹是員工一時記不起密碼,光靠單一活動紀錄比較難判定;所以需要收集不同資料,和前後行為一併比對以協助分析。例如觀察到「使用者Serge帳號登入多次失敗」,系統經過比對後發現Serge通常只會上班時間在公司登入,現在這個活動與以往觀察到的時間和地點都不同,非常可疑;若是進一步發現登入後執行隱藏在DNS查詢的指令,入侵行為的可能性就更大了。所以行為分析並非單一事件而是多重行為的分析,除非單一事件非常明顯極有可能為入侵活動,例如公司網路環境從來不用IRC卻觀察到特定時段對外IRC流量等。
通常資安團隊或廠商會運用AI/Machine Learning來協助anomaly-based分析,以現在人工智慧和機器學習的發展,誤判率確實較以往下降,未來很期待在這方面的發展。另一種方式是加入Honeypot蜜罐,藉由引誘入侵者攻擊蜜罐,分析入侵手法,建立特徵幫助Signature-based分析的方式提升整體偵測。
無論是anomaly-based方式或signature-based方式,分析方式皆各有優劣,所以通常建議兩種並用,互補彼此不足,分析師要選擇正確工具,收集工具必需的資料,不要買了三個產品全部都是signature-based,誤以為撒了三張網捕魚,其實三張網的網眼全都一樣大小,讓入侵者鑽同一個漏洞就得不償失了。
IThome: 網路威脅情報正流行
https://www.ithome.com.tw/news/108022
自然語言技術與AI/ML初探系列: OSINT
https://ithelp.ithome.com.tw/articles/10207771
利用資料庫方式,建立參數,建議最好還能有自我學習的功能!
machine learning會自我學習,但要先設定好要學習「什麼」。
機器麻煩的地方就在沒辦法舉一反三廠商很快就會推薦第二套 第三套....這商機還真大勒呵呵!
除非自己懂然後自己玩。^^
朋友有自己架過machine learning拿來辨別正常和釣魚郵件,據說成功率還頗高。