圖數據庫助力高效威脅情報處理

面對雜亂無章的大量數據,想要高效抽取有用的威脅情報,離不開圖數據庫的強力助推。
組織壯大到一定程度,總免不了面對網絡威脅的日常侵襲。可以說,組建一支團隊專門處理威脅情報是很有必要的。但威脅情報涉及多方面因素,需要前所未有的復雜方法加以處理。首先就得弄清楚該怎樣合理利用數據來應對安全威脅。
威脅情報涉及多個方面。各類實體的入口點或接入點種類龐雜、分布廣泛,包括網站、應用、后臺辦公系統和用戶賬戶等等。這些系統都可能具有各種復雜的關聯和關系,而且不僅僅相互之間關系復雜,其關聯還可能隨時間的推移而加深。對于大型組織而言,能收集到的數據量幾乎是無限的。
事實上,這些數據集可以囊括成千上萬億個數據點。分開來看,各個數據實體似乎沒什么意義。但綜合到一起,弄清各個數據實體間可能的關系,可能就會暴露出一些問題了。因此,圖數據庫非常適合用來梳理雜亂無章的數據,看清數據背后的真相。
為什么選擇圖數據庫?
常見關系型數據庫的性能會隨數據量的增加而下降。特別是,處理復雜數據的關系操作時,這種性能下降尤為明顯。簡而言之,關系型數據庫早已過時,既不適用于遍歷上億級別的數據點,也不適合用來關聯數據。
所以,盡管距離圖數據庫的誕生已經有些年頭,這種數據庫卻是在最近才獲得更多關注。威脅情報恰好是很適合使用圖數據庫來處理的理想用例。圖數據庫能做的可不僅僅是提取數據,揭示數據之間和數據集之間的關系才是這類數據庫的專長。圖數據庫的工作原理很復雜。我們需要知道的就是,圖數據庫不同于RDBMS(關系型數據庫管理系統),這類數據庫將關于數據的深層關系特征存儲在數據本身中。
基本數據功能需求
圖數據庫解決方案的核心是快速寫入數據和查詢數據的能力。像政府機構或跨國公司這樣的組織,其數據點規模可能是十億級別的,所以他們可能希望數據庫能夠支持批量離線導入日常產生的數據。因為他們每天產生的關系數據可能是百億級別的。這些數據需要在幾個小時之內寫入數據庫,這樣系統才能為第二天再次迎接百億級別數據量做好準備。
另外,圖數據庫是支持在線實時查詢的理想選擇。查詢性能應是毫秒級的。篩選功能也必不可少。比如說,數據科學家就很可能需要按屬性查詢數據庫頂點和邊。
所以,基本上,所選圖數據庫應能夠實時離線寫入數據,并能夠查詢在線圖數據。這些基本功能是大數據分析的基礎,是實現大規模威脅情報所必不可少的。
模塊化圖數據庫
確定圖數據庫結構時需要考慮的另一重要因素是:需要處理多少數據?正如上面所提到的,大型組織,尤其是擁有大量資產,捕獲或存儲了大量數據點的大型組織,往往會產生千億乃至萬億級圖數據實體。
計算引擎和存儲引擎分離是明智的選擇。這樣一來,兩種引擎都可以獨立擴展和管理了。可擴展性支持既可以帶來便利,又能夠實現冗余。而DevOps團隊可能還需要考慮的是,自己是否需要具備不中斷生產環境服務就能在線擴展集群的能力。
威脅情報圖基礎
我們可以分解威脅入侵機會和防護點,將之融入其各個網絡層,從而著手闡明圖模型的作用。例如,底層可以包含文件中的散列值和文件存儲與傳輸,前者作為弱點,后者作為防御層機會。往上一層,IP或域名可以作為威脅點,其網絡層則可視為防御點。再往上走,我們可以將手機號碼及其用戶視為威脅點,而用戶與設備身份驗證則作為防御點。
各個層點上,黑客和網絡安全響應團隊通常處于敵對位置。這一點可用于開始定義建模。通常,我們沒有什么很好的方法可以通過特定關系將各個點聯系起來。而采用圖數據庫,運用頂點、邊和屬性,這個問題就迎刃而解了。我們可以構建三維層級網絡來了解攻擊方法、所用工具等等。
舉個例子,聯網設備需要網絡層、設備層、賬戶層和用戶層。每一層上,聯網設備都有自己的標識。借助圖數據庫,我們可以完成對此設備的三維風險識別。
我們應對賬戶和設備間的關系進行加權。比如說,如果某個賬戶經常用到某個設備,那我們就可以認為這個賬戶與該設備間存在強聯系。于是,其間關系的權重應該更高。與之類似,如果賬戶使用設備進行犯罪活動,則可能意味著該賬戶與設備間的關聯并不緊密。所以此賬戶與設備間的關系權重就較低。
如此定義的邊不僅僅具有權重屬性,還應具備時間屬性。這樣才能將賬戶使用情況與設備典型使用時間相關聯,而不是關聯到非典型使用時間上。
開始使用圖數據庫
關聯數據集以構建有意義的大數據是很復雜的。從威脅情報到實時建議,各類應用皆是如此。不過,經驗豐富的程序員可以輕松上手。畢竟,網絡上有各個開源圖數據庫項目可供試水。