楊艷麗,宋禮鵬
(中北大學 大數(shù)據(jù)學院,太原 030051)
攻擊圖技術通過圖形化的形式展示網(wǎng)絡中可能存在的攻擊路徑,幫助防御者直觀地理解目標網(wǎng)絡內各個脆弱性之間的關系,以便防御者采取相應的防御措施。PHILIPS[1]等人提出了攻擊圖的概念,并將其應用于網(wǎng)絡脆弱性分析。隨著攻擊圖技術的發(fā)展,攻擊圖作為關鍵技術被應用于告警信息關聯(lián)分析[2]、網(wǎng)絡風險評估[3]、網(wǎng)絡入侵意圖識別[4]等方面,但這些研究在攻擊圖構建過程中都未考慮社交網(wǎng)絡威脅對網(wǎng)絡安全狀況的影響。隨著網(wǎng)絡攻防對抗技術的不斷發(fā)展,攻擊者為達到入侵的目的,已不僅僅是依賴于網(wǎng)絡設備中存在的漏洞,而是更多地借助社交網(wǎng)絡發(fā)起社交工程攻擊。在社交網(wǎng)絡中,攻擊者利用社交網(wǎng)絡好友間的信任關系,模仿正常用戶與受害者進行互動,以達到竊取敏感信息的目的,而受害者難以發(fā)現(xiàn)[5]。因此,借助社交網(wǎng)絡和物理網(wǎng)絡入侵的兩網(wǎng)協(xié)作攻擊比單獨利用傳統(tǒng)網(wǎng)絡脆弱性的攻擊更具威脅性[6]。但由于社交工程攻擊隨生活方式的改變不斷產(chǎn)生新的攻擊方式,并且受非技術因素影響太大,目前鮮有研究將社交網(wǎng)絡威脅結合到傳統(tǒng)攻擊圖中。
知識圖譜具有組織、管理和理解互聯(lián)網(wǎng)海量信息的能力[7]。針對上述攻擊圖技術未將社交網(wǎng)絡威脅和傳統(tǒng)網(wǎng)絡脆弱性結合的問題,知識圖譜技術的知識組織和管理特性能夠為社交網(wǎng)絡和物理網(wǎng)絡的各類信息提供統(tǒng)一的知識表達方式,可以對現(xiàn)實網(wǎng)絡環(huán)境中的實體、概念、屬性以及它們之間的關系進行建模,盡可能直觀、真實地展現(xiàn)現(xiàn)實環(huán)境中的情況,利用其知識推理的能力可以對社交網(wǎng)絡數(shù)據(jù)和物理網(wǎng)絡數(shù)據(jù)進行關聯(lián)分析。知識圖譜的引入,可以將社交網(wǎng)絡和物理網(wǎng)絡有機地連接起來,從而豐富攻擊圖的輸入信息,提高攻擊圖分析的全面性和完備性。
本文提出一種基于知識圖譜生成融合社交網(wǎng)絡威脅的攻擊圖生成方法。通過構建融合社交網(wǎng)絡威脅的網(wǎng)絡安全本體模型和知識圖譜,整合社交網(wǎng)絡與物理網(wǎng)絡的相關數(shù)據(jù),在此基礎上,利用廣度優(yōu)先搜索算法和自定義的查詢推理規(guī)則生成融合社交網(wǎng)絡威脅的攻擊圖。
攻擊圖技術中的最小攻擊單位被稱為原子攻擊。由于攻擊圖的類型和需求不同,原子攻擊可以是一次漏洞利用攻擊、一次社交工程攻擊和一次非授權登錄行為,或僅表示網(wǎng)絡狀態(tài)發(fā)生了變化而不體現(xiàn)具體的攻擊細節(jié)[8]。
在攻擊圖生成方面,文獻[9]利用手工構建的安全規(guī)則和攻擊模式知識庫生成攻擊圖,該方法效率較低,且可能存在收集信息不全面、難以發(fā)現(xiàn)信息間的關聯(lián)關系等問題。文獻[10]提出了基于攻擊模式的廣度搜索攻擊圖的生成算法,該方法能有效減少冗余的攻擊路徑,但該方法中數(shù)據(jù)的存儲使用關系型數(shù)據(jù)庫,在存儲大規(guī)模數(shù)據(jù)時讀寫性能較差。文獻[11]以矩陣描述攻擊過程中攻擊者的權限提升過程,基于權限矩陣構建攻擊圖。上述研究成果存在的共同問題是忽略了社交工程對整個網(wǎng)絡帶來的威脅,導致防御者不能全面地掌握整個網(wǎng)絡狀況,一旦在內部社交網(wǎng)絡中發(fā)生社交工程攻擊,防御者難以及時采取有效措施。
在利用攻擊圖技術分析社交工程威脅方面,文獻[12]通過構建社交工程屬性攻擊圖,利用貝葉斯網(wǎng)絡實現(xiàn)社交網(wǎng)絡中社交工程對個人隱私威脅的評估,該研究主要是針對面向Internet 的社交賬號,并不完全適用于企業(yè)和組織內部的局域網(wǎng)社交網(wǎng)絡。文獻[13]提出一種社交工程框架,并用攻擊圖技術展示了社交工程攻擊各階段之間的相互關系。上述研究側重于利用攻擊圖技術分析社交工程造成的個人隱私數(shù)據(jù)泄露的問題,但未利用攻擊圖技術展示出社交工程攻擊對局域網(wǎng)終端設備的影響。另外,社交工程可以是網(wǎng)絡入侵過程中的一個階段性攻擊,單純利用社交網(wǎng)絡威脅構建的攻擊圖無法為防御者提供完整的攻擊鏈。
文獻[14]提出一種將社交工程威脅結合到傳統(tǒng)攻擊圖中的方法,其利用企業(yè)內部的訪問控制列表和通信圖來識別可能成為社交工程攻擊受害者的相關角色。該方法生成的攻擊圖在節(jié)點粒度上,沒有考慮詳細的網(wǎng)絡拓撲,一旦發(fā)生攻擊,無法準確地定位到受害者,在攻擊圖分析方面,沒有提供社交工程威脅利用成功率的評估模型。
在構建網(wǎng)絡安全領域知識圖譜方面,文獻[15]提出一種構建網(wǎng)絡安全本體的方法,并設計了STUCCO 網(wǎng)絡安全本體,該本體中涵蓋了15 種實體類型以及115 種屬性。文獻[16]提出一種構建網(wǎng)絡安全知識庫的方法,并設計了網(wǎng)絡安全知識庫架構,實現(xiàn)了網(wǎng)絡安全領域知識的抽取以及屬性和關系的推理。
隨著知識圖譜技術在醫(yī)療、金融等行業(yè)的廣泛應用,知識圖譜在網(wǎng)絡安全領域的研究也開始向應用方面發(fā)展。文獻[17]根據(jù)態(tài)勢感知的需求設計了物聯(lián)網(wǎng)網(wǎng)絡安全本體模型和用戶自定義推理規(guī)則,利用本體的推理能力實現(xiàn)了對復雜攻擊的推理和網(wǎng)絡態(tài)勢的推斷。文獻[18]提出利用原子攻擊知識圖譜生成擴展的攻擊圖,通過知識圖譜技術對多源信息融合的能力,為攻擊圖分析技術提供更加精確的攻擊成功率和攻擊收益評估,該方法提供了一種一般網(wǎng)絡通用的漏洞知識庫。
本文利用知識圖譜的方法關聯(lián)社交網(wǎng)絡和物理網(wǎng)絡的各類信息,將構建的知識圖譜應用于社交網(wǎng)絡威脅和傳統(tǒng)網(wǎng)絡脆弱性結合的屬性攻擊圖的生成與分析。本文將社交網(wǎng)絡威脅和漏洞作為攻擊圖的頂點,并以兩者為核心,根據(jù)搭建的內網(wǎng)環(huán)境和生成攻擊圖的需求,設置相關實體并與社交網(wǎng)絡威脅實體和漏洞實體進行關聯(lián)。上述構建網(wǎng)絡安全知識圖譜的研究成果主要以傳統(tǒng)網(wǎng)絡脆弱性為核心,其設計的網(wǎng)絡安全本體中未包含社交網(wǎng)絡的相關信息,因此不能直接用于指導本文攻擊圖的生成與分析,需要重新設計能輔助生成融合社交網(wǎng)絡威脅的攻擊圖的本體模型并構建知識圖譜。本文在參考上述研究成果的本體設計的基礎上,提出了“社交網(wǎng)絡+物理網(wǎng)絡”的本體模型。
知識圖譜的構建方法有自頂向下和自底向上兩種[7]。自頂向下是指預先定義領域內的本體模型,通過添加獲取的實體數(shù)據(jù)構建知識圖譜。自底向上是通過獲取到的數(shù)據(jù)抽象出領域內的概念,再將置信度較高的信息加入知識庫中,從而構建知識圖譜。本文采取自頂向下和自底向上相結合的方式構建知識圖譜。在預先定義好本體模型的基礎上,依據(jù)內網(wǎng)環(huán)境中收集到的數(shù)據(jù),對本體模型中的類、關系和屬性進行補充。下文將介紹“社交網(wǎng)絡+物理網(wǎng)絡”的網(wǎng)絡安全本體模型的設計及知識圖譜構建。
知識圖譜通常被劃分為模式層和數(shù)據(jù)層[7]。本體是結構化知識庫的概念模板,通過本體庫形成的知識庫不僅層次結構較強,而且冗余程度較小,所以本體庫通常作為知識圖譜的模式層。本文提出的“社交網(wǎng)絡+物理網(wǎng)絡”的本體模型的整體設計如圖1所示。
圖1 本體模型整體設計Fig.1 The overall design of the ontology model
本體模型主要包括以下8 種實體類型:
1)用戶:企業(yè)或組織內部對網(wǎng)絡中設備具有操作和訪問能力的人員。每個用戶實例包括資歷和身份兩種屬性。資歷用時間表示,以“年”為單位;身份指用戶在企業(yè)或組織內部承擔的角色或職位。在真實內網(wǎng)環(huán)境中,用戶和用戶之間存在具體的關系。用戶是物理網(wǎng)絡和社交網(wǎng)絡關聯(lián)的核心。
2)用戶名:企業(yè)或組織內部人員訪問網(wǎng)絡內設備需要登錄的用戶名。
3)權限:每個用戶名訪問設備時所具備的權限,主要包括管理員權限和用戶權限。
4)賬號:內部人員使用的內部通信軟件的賬號。所屬應用用以標識賬號所屬的具體通信軟件;賬號設置表示用戶設置的賬號登錄方式,例如記住密碼、自動登錄等。賬號之間通過好友關系建立起社交網(wǎng)絡。
5)資產(chǎn):內部網(wǎng)絡中存在的各類設備,如服務器、計算機等。設備與設備之間存在連接關系(包括直連和遠程連接)。每個資產(chǎn)實例具備5 種屬性,分別為IP、MAC、操作系統(tǒng)、重要程度、區(qū)域。其中區(qū)域用以區(qū)分設備所處的網(wǎng)段。
6)攻擊:網(wǎng)絡中可能存在的威脅,包括社交網(wǎng)絡威脅和軟硬件漏洞利用攻擊等。每種攻擊實例包括攻擊條件和攻擊危害兩種屬性。
7)脆弱性:內部網(wǎng)絡中存在的已知漏洞。每個脆弱性實例包括脆弱性利用條件、脆弱性危害、CVSS(Common Vulnerability Scoring System)值、攻擊利用復雜度、利用路徑和認證方式6 種屬性。脆弱性利用條件是指脆弱性利用的訪問條件以及權限條件;脆弱性危害指脆弱性利用后可能產(chǎn)生的后果,例如信息泄露、系統(tǒng)破壞等;攻擊利用復雜度、利用路徑和認證方式是CVSS 中對脆弱性評分的3 個基礎指標,也是本文在計算脆弱性利用成功率中要用到的指標。
8)防御措施:能夠降低內部網(wǎng)絡威脅風險值的建議或措施。
基于以上本體模型構建的知識圖譜,能夠將物理網(wǎng)絡和社交網(wǎng)絡聯(lián)系在一起,為后續(xù)攻擊圖的生成和分析提供更加全面的數(shù)據(jù)。
數(shù)據(jù)是知識圖譜構建中必不可少的部分,常見的網(wǎng)絡安全漏洞知識庫主要包括中國信息安全漏洞庫、CVE(Common Vulnerabilities and Exposures)漏洞庫和NVD(National Vulnerability Database)漏洞庫等各國政府建立的漏洞庫,以及知道創(chuàng)宇的Seebug漏洞平臺等由安全企業(yè)建立的漏洞庫。本文構建知識圖譜所用到的信息主要來自于搭建的內網(wǎng)環(huán)境中采集到的數(shù)據(jù)以及CVE、NVD 漏洞數(shù)據(jù)庫和安全論壇的網(wǎng)絡文本數(shù)據(jù)。
2.2.1 知識抽取
知識抽取是從半結構化和非結構化數(shù)據(jù)源中抽取實體、關系和屬性的過程,目前已有不少成熟的工具和方法[19-21]。
在網(wǎng)絡安全實體抽取方面,文獻[16]驗證了Stanford 的NER(Named Entities Recognition)工具提供的一些特征,能有效地識別網(wǎng)絡安全領域實體。本文中需要抽取2.1 節(jié)中提到的8 類實體,大部分實體可以從結構化數(shù)據(jù)中獲得。
關系抽取是從各類信息中抽取實體與實體、實體與屬性之間的關系,通常利用規(guī)則或機器學習的方法。本文需要抽取如圖1 所示的類與類之間存在的威脅、訪問、擁有、利用、修復、緩解等關系以及各類與其屬性之間存在的關系。對于半結構化或非結構化數(shù)據(jù),利用已有的關系抽取技術實現(xiàn)。
屬性抽取是從信息源中獲取特定實體的相關屬性。本文中資產(chǎn)屬性通過網(wǎng)絡拓撲掃描可獲得結構化數(shù)據(jù)信息,其中區(qū)域以網(wǎng)段和各網(wǎng)段的設備類型劃分為外部服務器區(qū)、用戶區(qū)和內部服務器區(qū),重要程度利用層次分析法對連接設備量、設備類型、設備訪問量、隱私數(shù)據(jù)量、設備使用人員身份5 個方面評估得出;從漏洞掃描報告和CVE 漏洞庫中可通過規(guī)則提取脆弱性屬性信息;攻擊屬性需要從非結構化的網(wǎng)絡文本數(shù)據(jù)中獲取。
利用采集的數(shù)據(jù)構建的局部知識圖譜如圖2所示。
圖2 局部知識圖譜Fig.2 Local of knowledge graph
2.2.2 知識推理
知識推理是對知識圖譜進行補全的一個過程,通過推理發(fā)現(xiàn)知識圖譜中實體間存在的隱藏關系或屬性。常見的推理方式有基于規(guī)則的推理、基于分布式表示的推理和基于神經(jīng)網(wǎng)絡的推理[22]。本文通過自定義查詢和推理規(guī)則,實現(xiàn)在攻擊圖生成過程中對網(wǎng)絡節(jié)點連通性、社交賬號與網(wǎng)絡內設備之間映射等的查詢和推理。部分查詢和推理規(guī)則如下:
1)已知主機查找該主機上登錄的社交賬號:
sql="MATCH(n:賬號)←[r:擁有]-(u:用戶)-[r:擁有]→(m:用戶名)-[f:訪問]→(d:資產(chǎn))WHERE d.uri='PC27'return n.uri"
2)節(jié)點連通性推理規(guī)則:
(A-[連接]-B)or(A.區(qū)域=B.區(qū)域)
2.2.3 知識存儲
常見的知識圖譜存儲方式包括圖數(shù)據(jù)庫和關系型數(shù)據(jù)庫。圖數(shù)據(jù)庫以圖的形式存儲數(shù)據(jù),與傳統(tǒng)的關系型數(shù)據(jù)庫相比,圖數(shù)據(jù)庫查詢速度更快,并且能夠發(fā)現(xiàn)節(jié)點間隱藏的關系。目前常用的圖數(shù)據(jù)庫有Neo4j、OrientDB 和Titan 等,本文采用Neo4j 圖數(shù)據(jù)庫存儲知識圖譜數(shù)據(jù)。
基于“社交網(wǎng)絡+物理網(wǎng)絡”知識圖譜生成攻擊圖的過程如圖3 所示。在攻擊圖生成過程中,數(shù)據(jù)處理是對知識圖譜中脆弱性和攻擊的利用條件以及危害信息進行提取標記,便于后期條件匹配時調用。查詢推理是通過自定義查詢規(guī)則獲取節(jié)點連接關系、訪問權限、節(jié)點漏洞、賬號與設備間映射關系等信息。條件匹配是指根據(jù)獲取的節(jié)點連通性、訪問權限、利用條件、危害、賬號間好友關系等信息來發(fā)現(xiàn)攻擊路徑。最后通過調用graphviz 實現(xiàn)攻擊圖的可視化。
圖3 基于“社交網(wǎng)絡+物理網(wǎng)絡”知識圖譜生成攻擊圖的過程Fig.3 Process of generating attack graph based on "social network+physical network" knowledge graph
本文攻擊圖的生成分為兩個部分:一是利用社交工程手段的攻擊路徑的生成,便于第二部分的快速調用;二是社交網(wǎng)絡威脅和脆弱性利用攻擊相結合的攻擊圖的生成。社交網(wǎng)絡威脅攻擊路徑的生成方法如算法1 所示。
算法1社交攻擊路徑生成算法
算法1 生成社交網(wǎng)絡威脅攻擊路徑的集合,以便后續(xù)加入到攻擊圖中,生成過程采取了后向鏈接和廣度優(yōu)先搜索的思想。首先從知識圖譜中查詢獲取社交賬號集和社交網(wǎng)絡威脅屬性,然后從社交賬號威脅屬性中提取利用條件和危害,分別作為其前置條件和后置條件;獲取目標賬號ai存在的威脅satti,若存在,則查找賬號ai具有好友關系的賬號列表;對于賬號列表中的每個賬號fj,若存在威脅sattj,且satti的后置條件滿足sattj的前置條件,則為其建立關系,同時為sattj與被其危害的設備建立連接關系;最后將從ai開始的所有攻擊路徑存入社交網(wǎng)絡威脅攻擊路徑集。重復以上過程直到遍歷完所有賬號。
在生成所有存在的社交網(wǎng)絡威脅攻擊路徑的基礎上,社交網(wǎng)絡威脅和漏洞利用攻擊相結合的攻擊圖的生成算法如算法2 所示。
算法2攻擊路徑生成算法
算法2 采用前向鏈接、廣度優(yōu)先搜索的思想生成融合社交網(wǎng)絡威脅的攻擊圖。首先從圖數(shù)據(jù)庫中獲取設備節(jié)點集和脆弱性屬性,并從脆弱性屬性中提取利用條件和危害,分別作為其前置條件和后置條件;依次將node 中的節(jié)點作為目標節(jié)點,當nodei存在脆弱性vuli時,通過圖數(shù)據(jù)庫的查詢,找到nodei所有能訪問到的節(jié)點;對于鄰接節(jié)點集中的每個節(jié)點nj,如果nj存在vulj,并且vulj的后置條件滿足vuli的前置條件,則為其建立連接關系。在此基礎上,如果vuli的后置條件滿足其映射賬號的威脅的前置條件,則為其建立連接關系,并將該賬號的威脅攻擊路徑加入到攻擊圖鄰接表中。重復以上過程,直到遍歷所有的設備節(jié)點。
攻擊成功率反映攻擊者成功入侵路徑上所有節(jié)點的概率。假設一條攻擊路徑R={n1,n2,…,nm},則該路徑的攻擊成功率為:
3.3.1 傳統(tǒng)脆弱性利用成功率
CVSS 提供了一套通用的脆弱性評分機制,其度量指標中的攻擊路徑AV、攻擊復雜度AC、訪問認證條件AU 描述了漏洞利用的攻擊方式。因此,本文將這3 個指標作為漏洞利用攻擊成功率計算的指標,其中,AV、AC、AU 的概率賦值如表1 所示。
表1 攻擊路徑、攻擊復雜度和認證方式的概率Table 1 Probability of attack path,attack complexity and authentication method
由表1 可以看出,漏洞利用攻擊的入侵路徑條件越低,攻擊復雜度越低,對攻擊者的認證要求越低,一次漏洞利用攻擊的成功率越高。因此,本文定義一次漏洞利用攻擊成功概率為:
3.3.2 社交網(wǎng)絡威脅利用成功率
社交網(wǎng)絡中的社交工程攻擊通過收集用戶的信息發(fā)展和利用用戶間的信任關系,從而達到入侵網(wǎng)絡設備的目的。目前,大部分企業(yè)使用企業(yè)內部的通信工具軟件來提高工作效率[23]。因此,本文基于內部社交網(wǎng)絡的特征以及屬性攻擊圖的特點列出了3 種內部社交網(wǎng)絡可能存在的威脅,如表2 所示,其中誘餌計劃和網(wǎng)絡釣魚為社交工程攻擊。
表2 內部社交網(wǎng)絡可能存在的威脅Table 2 Possible threats to internal social networks
攻擊者在能訪問到通信軟件的環(huán)境條件下,利用社交賬號的登錄設置或通過一定技術盜取用戶的賬號及密碼,并偽裝成內網(wǎng)的正常用戶與受害者交互,這一過程稱為身份盜用。由于被盜取的賬號在內部社交網(wǎng)絡中與其他賬號之間存在一定的信任度,因此身份盜用攻擊為后續(xù)的誘餌計劃和網(wǎng)絡釣魚提供了攻擊基礎。
身份盜用成功率根據(jù)賬號登錄設置、用戶是否有使用弱密碼的習慣來定級。有弱密碼使用習慣的用戶可以猜測他的密碼復雜度不會太高,在密碼爆破時比較容易成功。弱密碼使用習慣可以從用戶對用戶名的密碼設置情況來檢測。當用戶未設置記住密碼或自動登錄,并且未檢測到用戶有弱密碼使用習慣時,暴力破解在密碼復雜度不確定的情況下,可能比較費時,所以概率取值比較低。身份盜用成功率P(n)取值如表3 所示。
表3 身份盜用成功率P(n)取值Table 3 Value of the success rate P(n)of identity theft
攻擊者通過身份盜用可獲得某一賬號的控制權,同時繼承該賬號在社交網(wǎng)絡中的信任度,從而利用用戶間信任發(fā)起社交工程攻擊。因此,誘餌計劃和網(wǎng)絡釣魚這兩種威脅的成功率根據(jù)賬號間信任度來度量。假設賬號a 被攻擊者控制,賬號b 對賬號a的信任度越高,社交工程攻擊成功率也越高。
在內網(wǎng)環(huán)境中,用戶和用戶之間彼此認識,所以賬號間的信任度可以轉化為現(xiàn)實環(huán)境中用戶間的信任度。本文利用用戶資歷和相處時間兩個因素來衡量用戶間的信任度。
在實際情況中,用戶資歷會對信任度產(chǎn)生影響。隨著資歷差值的增大,資歷淺的用戶對資歷深的用戶的信任度有所提升,但提升速度相對較緩。本文資歷表示用戶在企業(yè)或組織中工作或學習的時長,因此設置賬號a 對賬號b 基于資歷的信任度函數(shù)Re(ta,tb):
其中,ta、tb表示賬號a 用戶和賬號b 用戶的資歷,tb-ta表示兩個用戶資歷差值。
在一般情況下,相處時間長的用戶值得相信。隨著相處時間的不斷變化,用戶間的信任度也動態(tài)地變化,且隨著相處時間的增長,信任度增長速度逐漸變緩,因此設置賬號a 對賬號b 基于相處時間的信任度函數(shù)Rt(ta,tb):
其中,min(ta,tb)表示兩個用戶的相處時間,即資歷短的為兩人相處的時長。綜上所述,可得賬號a 對賬號b 的信任度R(a,b):
其中,ta=0 和tb=0 表示兩個用戶為陌生關系,即相處時間很短,可根據(jù)實際情況確定時間界限值來定義陌生關系,C為常數(shù),代表賬號a 用戶資歷深且兩個用戶為陌生關系時的信任度,即賬號a 對陌生人的信任度,α為權重,當賬號b 用戶資歷較深且兩個用戶為陌生關系時,相處時間對信任度的影響很小,即α取值較小,ρ為信任學習因子,其值越小,用戶資歷對信任度的影響越小。隨著相處時間的增加,用戶資歷對信任度的影響逐漸減小,ρ是動態(tài)變化的,因此將ρ值定義為:
綜上可知,誘餌計劃和網(wǎng)絡釣魚這兩種威脅的成功率P(n):
其中,k為比例系數(shù),代表社交工程成功率與用戶間信任度正相關。
3.3.3 節(jié)點和路徑損失計算
節(jié)點損失是指脆弱性利用或社交網(wǎng)絡威脅發(fā)生后對設備節(jié)點造成的影響。假設單個設備節(jié)點i被攻擊后產(chǎn)生了b種危害,則該節(jié)點i的損失為:
其中,wi為設備節(jié)點i的重要程度,是一個權重參數(shù)。因此,任意一條包含m個節(jié)點的攻擊路徑造成的路徑損失為:
圖4 網(wǎng)絡拓撲結構Fig.4 Network topology
為驗證本文所提本體模型的可行性和生成攻擊圖的有效性,本文基于真實內部環(huán)境網(wǎng)絡進行實驗,所有實驗運算均在相同系統(tǒng)平臺(處理器Intel?Core?i7—8550U CPU 1.80 GHz,內存8.00 GB,操作系統(tǒng)Windows10)和編程環(huán)境(python 3.7)下進行。實驗環(huán)境的網(wǎng)絡拓撲如圖4 所示。
網(wǎng)絡中包含外部服務器區(qū)、用戶區(qū)和內部服務器區(qū)3 個區(qū)域。防火墻隔離外網(wǎng)和內網(wǎng),攻擊者可通過遠程網(wǎng)絡連接對內部網(wǎng)絡系統(tǒng)發(fā)起攻擊。外部服務器區(qū)有一臺Web 服務器,為用戶區(qū)的用戶提供外網(wǎng)訪問的功能。內部服務器區(qū)包括通信服務器、FTP 服務器和SQL 服務器,為用戶區(qū)提供內部通信、文件傳輸和信息存儲的功能。由于內部網(wǎng)絡的配置,攻擊者從外部網(wǎng)絡只能訪問到外部服務器區(qū),外部服務器區(qū)和內部服務器區(qū)不能訪問其他網(wǎng)段,用戶區(qū)主機可訪問外部服務器區(qū)和內部服務器區(qū)中的設備,用戶區(qū)有16 個用戶,每個用戶擁有自己的內網(wǎng)社交賬號。其中,有兩個用戶分別擁有訪問FTP 服務器和SQL 服務器的管理員賬號,有一個用戶為臨時人員且與其他用戶相處時間短。網(wǎng)絡中存在的脆弱性和社交網(wǎng)絡威脅如表4 所示。
表4 脆弱性及社交網(wǎng)絡威脅信息Table 4 Information of vulnerabilities and social network threats
為計算社交工程成功率,需確定式(5)和式(7)中C、α、k3 個參數(shù),參數(shù)取值如表5 所示。根據(jù)CSS2015 調查報告顯示,在人際交往中對陌生人的信任度僅為0.056[24],考慮到不同用戶可能對陌生人的信任度不同,因此將對陌生人的信任度C設置為[0.04,0.07]之間的值;α取值視用戶間的資歷差確定;本文將用戶間信任度視為社交工程攻擊成功率,因而k取值為1。
表5 參數(shù)取值Table 5 Parameter values
假設攻擊者在穿透防火墻后對內部網(wǎng)絡發(fā)起攻擊,在現(xiàn)有實驗環(huán)境下攻擊者可通過兩種方式入侵內網(wǎng):一是通過漏洞利用攻擊實現(xiàn)對內部網(wǎng)絡的入侵,攻擊示意圖如圖5 所示;二是通過漏洞利用攻擊和社交工程攻擊相結合的方式達到入侵內網(wǎng)的目的,攻擊示意圖如圖6 所示,攻擊者通過漏洞利用攻擊獲得用戶區(qū)主機控制權后,盜用該主機上的社交賬號信息,冒充該用戶與正常用戶交互,利用用戶間的信任度獲取內部服務器的登錄賬號密碼或誘導正常用戶點擊惡意鏈接。
圖5 利用漏洞入侵內網(wǎng)的攻擊方式Fig.5 Attack methods to use loopholes to invade the intranet
圖6 利用漏洞和社交網(wǎng)絡威脅入侵內網(wǎng)的攻擊方式Fig.6 Attack methods that exploit vulnerabilities and social network threats to invade the intranet
為測試本文方法能夠提高攻擊圖分析的全面性,在現(xiàn)有網(wǎng)絡拓撲和脆弱性信息條件下,選擇文獻[10]中的方法得到傳統(tǒng)攻擊圖,與本文方法得到的攻擊圖進行對照分析。傳統(tǒng)攻擊圖如圖7 所示,使用本文方法得到的融合社交網(wǎng)絡威脅的攻擊圖如圖8 所示。從圖7 和圖8 兩個攻擊圖中可以看出,社交工程攻擊和利用傳統(tǒng)脆弱性的攻擊都能入侵到內網(wǎng)的FTP 服務器和SQL 服務器,從而竊取機密信息。在對網(wǎng)絡系統(tǒng)造成大規(guī)模破壞方面,攻擊者通過社交網(wǎng)絡可以使用誘餌計劃傳播木馬等惡意代碼,從而擴大攻擊范圍,但是僅利用軟硬件上存在的漏洞不足以對網(wǎng)絡系統(tǒng)造成大規(guī)模破壞。因此,本文方法得到的攻擊圖能使防御者更加全面地了解網(wǎng)絡安全狀況。
圖7 傳統(tǒng)攻擊圖Fig.7 Traditional attack graph
圖8 基于知識圖譜生成的融合社交網(wǎng)絡威脅攻擊圖Fig.8 Attack graph of fusion of social network threats generated based on knowledge graph
本文實驗中利用用戶間信任度度量社交工程的成功率。在實際攻擊中,當用戶間信任度較低時,社交工程容易失敗并且攻擊者會被發(fā)現(xiàn),導致攻擊路徑無效。因此,對用戶間信任度進行約束,即用戶間信任度大于0.6 視為社交工程可成功發(fā)生,得到如圖9 所示的攻擊圖。另外,在實驗環(huán)境下得到的3 種攻擊圖的規(guī)模如表6 所示。
從表6 數(shù)據(jù)和3 種攻擊圖可以看出,在實驗環(huán)境下,約束用戶信任度后的攻擊圖的攻擊路徑數(shù)比不加約束的攻擊圖減少約15 個百分點,影響網(wǎng)絡內設備節(jié)點數(shù)減少約16 個百分點,由此可見:約束用戶信任度后的融合社交網(wǎng)絡威脅的攻擊圖能減少部分無效路徑;約束用戶信任度后的攻擊圖與傳統(tǒng)攻擊圖相比,有效攻擊路徑增加21 條,影響網(wǎng)絡內設備節(jié)點數(shù)增加6 個。在本文實驗環(huán)境中,網(wǎng)絡系統(tǒng)內有20 個節(jié)點,存在5 種不同漏洞和10 臺存在漏洞的設備,增加的6 個節(jié)點為不存在漏洞的設備。因此,借助社交網(wǎng)絡可入侵到不存在漏洞的設備,并且約束用戶信任度后的攻擊圖依然能為防御者提供相對全面的網(wǎng)絡威脅信息。
圖9 用戶間信任度大于0.6 的攻擊圖Fig.9 Attack graph with trust between users greater than 0.6
表6 攻擊圖規(guī)模對比Table 6 Comparison of attack graph scale
在內部網(wǎng)絡中,F(xiàn)TP 服務器上存放了重要內部資料,是網(wǎng)絡內部首要防御對象。為進一步說明引入社交網(wǎng)絡威脅能有效提高攻擊圖分析的全面性和準確性,根據(jù)圖7 和圖9 分別生成以FTP 服務器為攻擊目標,以attacker 為攻擊源的有效攻擊路徑,其路徑規(guī)模對比如表7 所示,根據(jù)圖7 傳統(tǒng)攻擊圖生成的有效攻擊路徑數(shù)據(jù)如表8 所示,根據(jù)圖9 攻擊圖生成的攻擊成功率前7的有效攻擊路徑數(shù)據(jù)如表9 所示。
表7 FTP 為攻擊目標的攻擊路徑規(guī)模對比Table 7 Comparison of attack path scale with FTP as the target
表8 根據(jù)圖7 生成的以FTP 服務器為攻擊目標且攻擊成功率前7 的攻擊路徑Table 8 Generate the attack path with the FTP server as the top7 attack success rate according to Fig.7
表9 根據(jù)圖9 生成的以FTP 服務器為攻擊目標且攻擊成功率前7 的攻擊路徑Table 9 Generate the attack path with the FTP server as the target and the top 7 attack success rate according to Fig.9
從表7 數(shù)據(jù)可看出,融合社交網(wǎng)絡威脅的攻擊圖生成的攻擊路徑比傳統(tǒng)攻擊圖增加5 條,且均為借助社交網(wǎng)絡入侵的路徑。由表9 可知,在攻擊成功率前7 的路徑中,3/7 的攻擊路徑為借助社交網(wǎng)絡入侵的路徑,且為表中攻擊成功率前3 的路徑,對網(wǎng)絡系統(tǒng)造成的損失也排在表中攻擊路徑的前4 位。由此可知,在以FTP 服務器為攻擊目標的攻擊路徑中,約42%的攻擊路徑為借助社交網(wǎng)絡入侵的路徑,其中,60%的攻擊路徑的攻擊成功率高于單純利用傳統(tǒng)網(wǎng)絡脆弱性進行攻擊的路徑。從防御角度來看,在防御資源有限的情況下,應當優(yōu)先防御攻擊成功率最高和造成損失度最大的路徑節(jié)點。由表8 數(shù)據(jù)可知,攻擊成功率最高和造成損失度最大的路徑均為路徑1,因此優(yōu)先防御的節(jié)點為Web 服務器,主機PC9 和FTP 服務器;由表9 數(shù)據(jù)可知,路徑1 借助社交網(wǎng)絡入侵,且攻擊成功率最高,比表8 路徑1 的攻擊成功率高出82.3%,表9 中路徑3 造成的損失度最高,因此優(yōu)先防御路徑1 和路徑3 上的Web 服務器,主機PC27,社交賬號acc_num4,主機PC9,社交賬號acc_num7 和FTP 服務器。另外,社交工程攻擊需要利用社交網(wǎng)絡好友間信任度,所以在加強設備和賬號安全性的同時,需要加強對用戶網(wǎng)絡安全意識的培養(yǎng)。由以上分析可知,利用融合社交網(wǎng)絡威脅的攻擊圖進行網(wǎng)絡脆弱性分析時,比傳統(tǒng)攻擊圖的分析角度更全面,得到的威脅路徑更符合實際情況。
本文針對傳統(tǒng)攻擊圖中忽略社交網(wǎng)絡威脅的問題,設計一種融合社交網(wǎng)絡威脅的網(wǎng)絡安全本體模型并構建知識圖譜。通過對內部通信社交賬號使用特性的分析,列出3 種可能存在于局域網(wǎng)社交網(wǎng)絡的威脅,給出了社交網(wǎng)絡威脅的攻擊成功率的計算方法,并利用構建的知識圖譜生成社交網(wǎng)絡威脅和傳統(tǒng)網(wǎng)絡脆弱性相結合的攻擊圖。實驗結果表明,與傳統(tǒng)攻擊圖相比,本文生成的攻擊圖在對整個網(wǎng)絡的威脅分析上明顯比單純針對傳統(tǒng)網(wǎng)絡脆弱性生成的攻擊圖更加全面。后續(xù)將嘗試與入侵檢測相結合,優(yōu)化攻擊圖生成算法,并檢測該算法在動態(tài)網(wǎng)絡中的實時性和準確率。