秦曉娜,黃 興,臧立成,趙 文
(中國電子科技集團公司第三十研究所,四川 成都 610041)
隨著信息系統網絡化和智能化的快速發展,網絡規模和復雜程度急劇增大。一方面為信息的高效快捷流轉帶來了極大便利,另一方面擴大了網絡的攻擊面,給網絡安全管理人員帶來了極大的運維壓力。鑒于信息系統中復雜多樣的安全防護設備和網絡設備,錯綜復雜的網絡拓撲和通連關系,以及不斷擴大的網絡規模形勢,網絡安全配置變得異常復雜困難。以人工為主的配置方式已無法滿足當前需求,網絡安全配置正在尋求更加自動化和智能化的解決方案。
近幾年知識圖譜受到了人們的廣泛關注。知識圖譜本身是一種圖結構數據[1]。采用圖構建知識和數據之間的關聯,能夠有效解決海量信息處理問題[2]。本文主要結合知識圖譜的特點對其在網絡安全配置領域的應用進行研究。
網絡安全配置復雜困難的原因主要是網絡、設備、業務等各類數據繁雜。通過構建適合網絡安全配置場景的知識圖譜,將網絡安全配置相關的數據進行關聯處理及可視化分析,能夠輔助網絡安全管理人員快速高效地完成配置任務。根據知識圖譜通用的構建方式,網絡安全配置知識圖譜的構建主要包括網絡安全配置數據處理、網絡安全配置知識融合和網絡安全配置圖譜構建3個方面[3],如圖1所示。
網絡安全配置數據處理部分通過將網絡安全配置相關的數據進行知識抽取,以獲取結構化數據。
網絡安全配置知識融合即根據專業知識庫進行各類數據知識的融合處理。
網絡安全配置圖譜構建通過完成節點及關系創建,實現網絡安全配置圖譜的數據邏輯展示。
網絡安全配置相關的數據主要包括網絡拓撲、設備資產、設備策略、業務信息、設備屬性以及安全專業知識等多源異構數據,經過實體抽取、屬性抽取以及關系抽取等操作轉化為結構化數據。
實體抽取又叫命名實體識別,指的是從采集數據的原始語料中自動識別出命名實體。由于實體是知識圖譜中的最基本元素,其抽取的完整性、準確率以及召回率等將直接影響知識庫的質量。目前,實體抽取主要使用深度學習如長短期記憶網絡(Long Short Term Memory Network,LSTM)實現。
屬性抽取主要是針對實體而言的,通過屬性可形成對實體的完整勾畫。由于實體的屬性可以看成是實體與屬性值之間的一種名稱性關系,因此可以將實體屬性的抽取問題轉換為關系抽取問題。
關系抽取主要是對待抽取關系的語句進行詞性標注、依存句法分析以及命名實體識別3個基礎自然語言處理任務。關系抽取過程如圖2所示。
在預處理階段,對于待抽取關系的語句進行詞性標注、依存句法分析以及命名實體識別3個基礎自然語言處理任務。在關系抽取階段,使用基于圖卷積的關系抽取,根據自然語言語句生成可被網絡處理的圖,以從非結構化的數據中抽取出關系。
依托數據處理之后的結構化網絡安全配置數據,網絡安全配置知識融合主要從實體鏈接和知識合并兩方面進行。
實體鏈接是指對于從文本中抽取得到的實體對象,將其鏈接到知識庫中對應的正確實體對象的操作。實體鏈接主要使用實體消歧和共指消解技術,判斷知識庫中的同名實體是否代表不同的含義以及知識庫中是否存在其他命名實體表示相同的含義,然后創建實體或鏈接到現有實體。
實體消歧是專門用于解決同名實體產生歧義問題的技術。通過實體消歧,可以根據當前的語境準確建立實體鏈接。實體消歧主要采用聚類法,也可以看做基于上下文的分類問題,類似于詞性消歧和詞義消歧。
共指消解技術主要用于解決多個指稱對應同一實體對象的問題。在一次會話中,多個指稱可能指向的是同一實體對象。利用共指消解技術可以將這些指稱項關聯(合并)到正確的實體對象。該問題在信息檢索和自然語言處理等領域具有特殊的重要性,吸引了大量的研究努力。共指消解還有一些其他的名字,如對象對齊、實體匹配和實體同義。
知識合并主要是指將前面處理之后的結構化數據與外部已存在的結構化知識庫或關系數據庫進行合并,主要需要處理數據層與模式層的沖突等問題。
經過知識融合得到完整的、結構化的網絡安全配置專業數據集,可方便后續進行圖譜構建。圖譜構建選擇Neo4j圖形數據庫,將結構化數據存儲在網絡上而不是表中,在圖(網絡)中存儲數據。Neo4j提供了大規模可擴展功能,在一臺機器上可以處理數十億節點/關系/屬性的圖,同時可擴展到多臺機器并行運行[4]。圖譜構建分為節點創建和關系創建兩方面。
在知識圖譜中構建節點,節點包含網絡名稱、設備名稱以及設備能力等。創建節點的數據格式如圖3所示,以load CSV方式創建。
首先將不同類型的數據節點放在不同的.csv文件中。例如,網絡數據文件為network.csv、設備數據文件為devices.csv等,圖3展示的是設備數據文件前5行數據,列數為節點的屬性信息,A列含義為設備名字,通過運行指令“LOAD CSV FROM“file:///devices.csv” AS line create (a:devices{name:line[0]})”,得到的圖譜如圖4所示。
通過點擊名稱為“病毒查殺系統”的節點,可以在底部看到此節點的詳細信息,如節點類型為“devices”,節點id為“38”(Neo4j自動分配)。
根據創建的實體節點,完成相應的關系建立。實體關系建立的過程中需要明確頭節點、尾節點及連接關系。關系創建數據格式,如圖5所示。
文件每一行有3列,依次為頭結點、關系和尾節點。以一條數據為例,關系創建流程如圖6所示。
基于Neo4j構建的網絡安全配置知識圖譜,通過圍繞圖進行數據建模,以相同的速度遍歷節點與邊,且遍歷速度與構成圖的數據量沒有任何關系,因此可解決網絡規模增大帶來的問題。最后,創建的網絡安全配置知識圖譜可視化效果,如圖7所示。
網絡安全配置知識圖譜不僅實現了對網絡安全配置領域多源知識的整合存儲,而且善于處理大量復雜、互連接、低結構化的數據,并利用Neo4j解決了查詢響應性能衰退問題,可以通過其進行多維網絡安全配置數據的關聯查詢及可視化分析,輔助完成準確快速的網絡安全配置[5]。
本文對知識圖譜在網絡安全配置領域的應用進行研究,主要根據網絡安全配置面臨的問題現狀及知識圖譜在處理海量多源數據方面的優勢,提出構建網絡安全配置知識圖譜的思路。通過網絡安全配置數據處理、網絡安全配置知識融合以及網絡安全配置圖譜構建等技術,構建出適合網絡安全配置場景的知識圖譜,可以輔助完成網絡安全配置過程,促進網絡安全配置向更加自動化和智能化方向發展。