魏 忠,張保穩(wěn),2
隨著計算機(jī)網(wǎng)絡(luò)的不斷發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為社會各行各業(yè)不可或缺的工具。然而,網(wǎng)絡(luò)在提供各種便利的同時,也帶來了諸多安全隱患。目前,網(wǎng)絡(luò)攻擊不斷威脅著個人、組織、企業(yè)甚至國家的數(shù)據(jù)安全與信息系統(tǒng)安全。例如,2010年的伊朗震網(wǎng)病毒攻擊事件;2011年3月,EMC公司下屬的RSA公司遭受入侵,部分SecurID技術(shù)及客戶資料被竊??;2016年,雅虎超15億用戶信息遭竊;2017年上半年的優(yōu)酷信息數(shù)據(jù)被公開售賣;12306官網(wǎng)再現(xiàn)安全漏洞。這些網(wǎng)絡(luò)安全攻擊案例,均對公民和組織的數(shù)據(jù)與信息安全造成了嚴(yán)重危害。在上述案例中,社交工程、APT等新攻擊方式開始出現(xiàn),代表了一種網(wǎng)絡(luò)攻擊行為的新趨勢:網(wǎng)絡(luò)攻擊在漏洞利用方面不再限于軟件漏洞,而是逐步增強(qiáng)對安全管理漏洞和安全配置漏洞的利用,通過發(fā)起多步網(wǎng)絡(luò)攻擊,威脅現(xiàn)有網(wǎng)絡(luò)保障和防御機(jī)制。
本文提出了一種基于本體的潛在網(wǎng)絡(luò)攻擊路徑的發(fā)現(xiàn)方法,通過本體構(gòu)建信息系統(tǒng)模型,描述攻擊者、安全弱點和攻擊方法,然后利用規(guī)則刻畫攻擊者能力。該模型可以結(jié)合本體推理機(jī)自動識別信息系統(tǒng)中潛在的多步網(wǎng)絡(luò)攻擊路徑。
網(wǎng)絡(luò)攻擊是指攻擊者通過系統(tǒng)的安全漏洞,利用攻擊手段對目標(biāo)進(jìn)行非法操作,以達(dá)到非法牟利、信息竊取等目的。基于對已有網(wǎng)絡(luò)攻擊特征的分析,從攻擊者角度出發(fā),將網(wǎng)絡(luò)攻擊技術(shù)進(jìn)行層次化分類,以漏洞、攻擊過程、攻擊目標(biāo)、攻擊影響4個要素作為分類依據(jù)構(gòu)造攻擊模型,具體如圖1所示。
圖1 網(wǎng)絡(luò)攻擊相關(guān)要素
攻擊者之所以能夠在未授權(quán)的情況下訪問和使用系統(tǒng)資源,是因為網(wǎng)絡(luò)和系統(tǒng)中存在安全漏洞。系統(tǒng)漏洞是指系統(tǒng)對特定威脅攻擊或危險事件的敏感度,或進(jìn)行攻擊的威脅作用的可能性。網(wǎng)絡(luò)信息系統(tǒng)在硬件、軟件、協(xié)議、通信、安全策略的設(shè)計和實現(xiàn)中存在缺陷和不足,均可造成安全漏洞。安全管理方面實施不到位也可帶來安全漏洞。
分析和歸納已發(fā)生的網(wǎng)絡(luò)攻擊事件發(fā)現(xiàn),網(wǎng)絡(luò)攻擊行為主要包括目標(biāo)系統(tǒng)探測分析、實施攻擊和蹤跡隱藏。據(jù)此,對網(wǎng)絡(luò)攻擊方法進(jìn)行層次化分類,大體可分為目標(biāo)探測、漏洞掃描、權(quán)限獲取、提升權(quán)限和蹤跡隱藏。整個攻擊過程的關(guān)鍵階段是鎖定目標(biāo)和獲取權(quán)限階段。一旦攻擊者鎖定目標(biāo)獲取權(quán)限,即可通過系統(tǒng)漏洞提升訪問權(quán)限,竊取信息或者危害系統(tǒng)安全。在實際運用過程中,攻擊過程往往結(jié)合一個到多個網(wǎng)絡(luò)攻擊方法(如緩沖區(qū)溢出、SQL注入等)進(jìn)行。
一般情況下,目標(biāo)系統(tǒng)是一個擁有硬件資源和數(shù)據(jù)資源并能夠?qū)ν馓峁┓?wù)的綜合體。由此,將攻擊目標(biāo)分為以下四類:硬件資源、網(wǎng)絡(luò)資源、數(shù)據(jù)資源和服務(wù)。在網(wǎng)絡(luò)攻擊目標(biāo)中,網(wǎng)絡(luò)信息系統(tǒng)及其組件均可成為被攻擊目標(biāo)。
攻擊影響是指網(wǎng)絡(luò)攻擊對系統(tǒng)的完整性、保密性和可用性造成的損害程度。攻擊影響可能是篡改或破壞系統(tǒng)中的數(shù)據(jù),使系統(tǒng)不可靠,甚至無法正常提供服務(wù);或者試圖竊取系統(tǒng)中的隱私數(shù)據(jù),使系統(tǒng)不再具有保密性。由此,將攻擊影響分為以下三類:損害系統(tǒng)完整性、損害系統(tǒng)保密性和損害系統(tǒng)可用性。
攻擊模型是對網(wǎng)絡(luò)攻擊加深認(rèn)識的重要手段,有助于深入了解攻擊模式和特點,分析整個攻擊過程。目前,常用的攻擊模型有AttackTree模型[1-2]、基于 PetriNet的 AttackNet模型[3-4]等。Attack Tree模型使用樹來表示攻擊行為和攻擊步驟間的相關(guān)依賴關(guān)系,但攻擊行為和結(jié)果都用樹中的節(jié)點表示而不進(jìn)行區(qū)分,容易造成混淆。AttackNet模型是一種網(wǎng)狀結(jié)構(gòu)類型表示的攻擊模型,只能表達(dá)單一攻擊行為,無法滿足當(dāng)前網(wǎng)絡(luò)攻擊的模型構(gòu)建工作。于是,研究人員開始嘗試新的網(wǎng)絡(luò)安全建模方法,以應(yīng)對復(fù)雜的網(wǎng)絡(luò)攻擊場景的描述需求,而本體開始被越來越多地應(yīng)用到網(wǎng)絡(luò)安全建模中。
在計算機(jī)科學(xué)領(lǐng)域中,本體被用于刻畫信息對象來進(jìn)行領(lǐng)域知識共享和應(yīng)用[5]。本體通過形式化的術(shù)語,使某一領(lǐng)域內(nèi)的概念相互聯(lián)系。本體模型已經(jīng)被用于網(wǎng)絡(luò)攻擊模型構(gòu)建。目前,國內(nèi)外在對基于本體的攻擊模型建模的研究方面均已取得一定進(jìn)展,目前主要的相關(guān)研究如下。
Jeffrey Undercoffer等研究人員[6]構(gòu)建了一種攻擊模型,通過對4 000多種計算機(jī)攻擊類別及其相應(yīng)攻擊策略的分析,按照目標(biāo)系統(tǒng)組件、攻擊手段、攻擊結(jié)果和攻擊者位置構(gòu)建本體模型。分析結(jié)果表明,非內(nèi)核空間應(yīng)用最有可能受到來自遠(yuǎn)程攻擊的攻擊。通常,這些攻擊會導(dǎo)致攻擊者獲取root權(quán)限。
Gokhan Kul等提出了一種基于本體的內(nèi)部攻擊模型。他們以銀行領(lǐng)域的數(shù)據(jù)庫系統(tǒng)為目標(biāo),以內(nèi)部人員作為潛在攻擊者,通過構(gòu)建theSuggested Upper Merged Ontology(SUMO)[7-8]、Friend of a Friend(FOAF)[9-10]和 Finance[11]三種本體模型來推理潛在的威脅。同時,研究者結(jié)合不同攻擊類型的事例場景,論證了所構(gòu)建的系統(tǒng)模型如何能夠有效抵御內(nèi)部攻擊。
高建波等[12]提出了一種從攻擊角度評估信息系統(tǒng)安全性的本體建模。該模型將攻擊劃分為5個維度——攻擊影響、攻擊方式、攻擊目標(biāo)、漏洞和防御,以此來構(gòu)建攻擊本體。同時,以國家漏洞數(shù)據(jù)庫(NVD)為漏洞樣本,構(gòu)建基于本體的網(wǎng)絡(luò)系統(tǒng)安全策略,描述了攻擊本體下的安全策略。另外,該研究也提供了系統(tǒng)受到攻擊時,評估攻擊影響的方法。
Herzog[13]利用OWL語言構(gòu)建信息安全領(lǐng)域的本體。本體包括風(fēng)險評估領(lǐng)域內(nèi)較為經(jīng)典的組成,即Asset(資產(chǎn))、Threats(威脅)、Countermeasures(措施)、Vulnerability(漏洞)和他們之間的關(guān)系。其中,Asset和Vulnerability通過“hasVu-lnerability”連接;Asset受到Threats威脅,同時被Countermeasures所保護(hù);Countermeasures同時也是一份資產(chǎn),保護(hù)Security goal(安全目標(biāo))。
隨著社交工程等新型攻擊手段的出現(xiàn),網(wǎng)絡(luò)攻擊呈現(xiàn)出復(fù)雜性、隱蔽性和分布式等特點,威脅著網(wǎng)絡(luò)安全和信息安全。攻擊者不再局限于依賴于常見軟件漏洞發(fā)起攻擊,開始通過釣魚、木馬和一些人員行為的管理漏洞發(fā)起攻擊甚至實施APT。為了能夠識別網(wǎng)絡(luò)信息系統(tǒng)中存在的被攻擊的路徑和風(fēng)險,構(gòu)建網(wǎng)絡(luò)安全模型時,需要對上述安全管理漏洞和安全配置漏洞加以刻畫,并納入分析場景。
本文構(gòu)建的網(wǎng)絡(luò)安全模型,將分別從信息系統(tǒng)、安全弱點、攻擊者、網(wǎng)絡(luò)攻擊方式和安全屬性等方面進(jìn)行本體類的構(gòu)建。在安全弱點中,明確構(gòu)造了配置漏洞本體類和安全管理漏洞類等本體類,用于刻畫安全管理漏洞和安全配置漏洞,從而使該模型可以分析包含新型網(wǎng)絡(luò)攻擊在內(nèi)的網(wǎng)絡(luò)攻擊場景。
本文使用Protégé和OWL語言類構(gòu)建本體模型。在OWL中使用Class創(chuàng)建類,Properties構(gòu)建關(guān)系,Individuals創(chuàng)建實例。構(gòu)建的攻擊本體類及其語義具體如下。
信息系統(tǒng)組件ISComponents。信息系統(tǒng)組件包括信息系統(tǒng)構(gòu)成的各層次組件。這些信息系統(tǒng)包括(但不限于)各類信息系統(tǒng),如服務(wù)器、網(wǎng)絡(luò)、主機(jī)、應(yīng)用和服務(wù)等。其中,ISComponents主要包括 Application、Host、InternetISC、Network和ComprisedISC。這些本體類用于描述常見網(wǎng)絡(luò)信息系統(tǒng)。其中,InternetISC類用于描述信息系統(tǒng)中可以訪問互聯(lián)網(wǎng)的信息組件對象,ComprisedISC用于描述被攻擊者所攻克的信息系統(tǒng)組件。
網(wǎng)絡(luò)攻擊方式CyberAttack。結(jié)合既有網(wǎng)絡(luò)攻擊類型的研究,本文在網(wǎng)絡(luò)攻擊方法類CyberAttack下,構(gòu)建了若干常見網(wǎng)絡(luò)攻擊方式,如口令攻擊(passwordAttack)、嗅探攻擊(sniffingAttack)、中間人攻擊(ManInMiddle)、SQL注入(SQLInjection)和木馬(Trojan)等。事實上,這部分本體類可以繼續(xù)擴(kuò)充,納入更多的網(wǎng)絡(luò)攻擊類型。
攻擊者Attacker。攻擊者分為外部攻擊者(OutsideAttacker)和內(nèi)部攻擊者(InsideAttacker)。外部攻擊者主要指在Internet端存在的攻擊者,內(nèi)部攻擊者則指已經(jīng)滲入信息系統(tǒng)的內(nèi)部網(wǎng)絡(luò),或者在信息系統(tǒng)內(nèi)部網(wǎng)絡(luò)發(fā)起攻擊的攻擊者。
漏洞本體類Vulnerability。漏洞本體類包含有配置漏洞類、安全管理漏洞類和軟件漏洞類3個子類。其中,配置漏洞主要指,在防病毒軟件安裝、防火墻和路由器安全配置等方面的漏洞。安全管理漏洞類主要包括管理層面的安全漏洞,如人員對于管理制度的違反情形等。軟件漏洞則指常規(guī)的軟件層面的安全漏洞。
系統(tǒng)安全屬性SecurityProperty。系統(tǒng)安全屬性包括可用性、可控性、保密性和完整性。攻擊者針對信息系統(tǒng)發(fā)動網(wǎng)絡(luò)攻擊時,會威脅這些安全屬性。
本文構(gòu)造的網(wǎng)絡(luò)攻擊測試用例的場景,為一個簡單的局域網(wǎng)系統(tǒng)。在該局域網(wǎng)內(nèi),有一臺應(yīng)用服務(wù)器和若干臺終端。其中,一臺終端沒有安裝防病毒軟件,且可以連接互聯(lián)網(wǎng),存在配置管理漏洞;在應(yīng)用服務(wù)器端則開啟了telnet服務(wù);在管理漏洞層面,應(yīng)用服務(wù)器的管理員存在使用telnet協(xié)議以root方式遠(yuǎn)程登錄應(yīng)用服務(wù)器進(jìn)行管理的行為。telnet協(xié)議以明文傳輸數(shù)據(jù),所以攻擊者可以通過sniffing攻擊手段獲取其root賬戶密碼。
結(jié)合上述用例場景,通過構(gòu)建testTerminal和testServer實例分別代表終端和服務(wù)器;構(gòu)造badAntirus和rootAcbyTelnet漏洞實例分別對應(yīng)安全配置漏洞和安全管理漏洞;構(gòu)造攻擊者實例testOutsideAttacker為互聯(lián)網(wǎng)攻擊者。具體網(wǎng)絡(luò)配置場景如圖2所示。
圖2 網(wǎng)絡(luò)攻擊安全場景
進(jìn)一步,為了模擬攻擊場景,使用SWRL設(shè)計相應(yīng)的網(wǎng)絡(luò)攻擊規(guī)則。
(1)外部攻擊規(guī)則
Host(?host)^InternetISC(?host)^Vulnerability(?vu l)^Attacker(?attacker)^exploitedWith(?vul,?cyberattac k)^equippedWith(?attacker,?cyberattack)->CompromisedISC(?host)^InsideAttack-er(?attacker)
該規(guī)則語義:系統(tǒng)中存在可聯(lián)網(wǎng)主機(jī),攻擊者利用系統(tǒng)漏洞通過相應(yīng)的攻擊手段攻擊目標(biāo)主機(jī),則目標(biāo)主機(jī)被攻破,攻擊者成為內(nèi)部攻擊者。
(2)明文協(xié)議遠(yuǎn)程登錄漏洞攻擊規(guī)則
Host(?host,?service)^Telnet(?service)^hasVulnerabil ity(?host,?vul)^RootAcByPlaintextProtocol(?vul)^exploite dWith(?vul,cyberattack)^InsideAttacker(?attack)^equippe dWith(?attack,?cyberattack)->CompromisedISC(?host)
該規(guī)則語義:系統(tǒng)中存在開啟Telnet通信服務(wù)的主機(jī)系統(tǒng),并有協(xié)議漏洞;內(nèi)部攻擊者利用這個漏洞通過相應(yīng)攻擊手段攻擊目標(biāo)主機(jī),則目標(biāo)主機(jī)被攻破。
在構(gòu)建上述本體類和規(guī)則后,啟動Protégé推理機(jī)進(jìn)行推理??梢园l(fā)現(xiàn),對應(yīng)的testTerminal和testServer均被歸為CompromisedeISC的individual,即二者均會被攻擊者攻克。
具體推理結(jié)果如圖3所示。
通過Protégé的解釋功能,可以得到其中兩個實例的推理過程,具體如圖4、圖5所示。
其中,圖4中的推理過程依次為:
(1)testTerminal的類型是InternetISC(可聯(lián)網(wǎng)的信息系統(tǒng));
(2)testTerminal的類型是Host(主機(jī));
(3)規(guī)則判斷:如果Host即testTerminal是一個可聯(lián)網(wǎng)主機(jī),則攻擊者利用漏洞進(jìn)行攻擊,攻破主機(jī),并由外部攻擊者變?yōu)閮?nèi)部攻擊者;
(4)trojanImp利用badAntivirus漏洞;
(5)testOutsideAttacker使用trojanImp攻擊方法;
(6)exploitedWith的定義域是Vulnerability;
(7)equippedWith的定義域是Attacker。
圖5的推理過程依次為:
(1)testServer的類型是Host;
圖3 本體推理結(jié)果
圖4 testTerminal的推理結(jié)果
圖5 testServer的推理結(jié)果
(2)testServer開啟testTelnet服務(wù);
(3)testServer存在rootAcByTelnet漏洞;
(4)規(guī)則判斷:如果Host是一個可聯(lián)網(wǎng)主機(jī),則攻擊者利用漏洞進(jìn)行攻擊,攻破主機(jī),并由外部攻擊者變?yōu)閮?nèi)部攻擊者;
(5)testOutsideAttacker的類型是Attacker;
(6)hasVulnerability的值域是Vulnerability;
(7)testOutsideAttacker使用 sniffer;
(8)testTelnet的類型是Telnet;
(9)規(guī)則判斷:如果Host開啟Telnet服務(wù), 就 存 在 RootAcbyPlaintextProtocol漏 洞;InsideAttacker通過這個漏洞。利用攻擊手段進(jìn)行攻擊,攻破Host,則Host成為CompromisedISC;
(10)rootAcByTelnet的 類 型 是 RootAcBy-PlaintextProtocol;
(11)testTerminal的類型是InternetISC;
(12)sniffer利用 rootAcByTelnet;
(13)testTerminal的類型是Host。
上述推理過程可以復(fù)原如下:
(1)內(nèi)部用戶使用終端testTerminal訪問互聯(lián)網(wǎng);
(2)由于testTerminal沒有安裝任何安全防護(hù)軟件,則攻擊者通過木馬注入攻破testTerminal獲得控制權(quán),使其升級成為一個內(nèi)部攻擊者;
(3)由于服務(wù)器沒有安裝任何安全軟件,開啟Telnet通信服務(wù),在存在root用戶遠(yuǎn)程登錄情況時,則攻擊者通過嗅探的方式獲取賬號密碼,控制應(yīng)用服務(wù)器。
通過上述用例基本可以驗證,使用本文提出的基于本體的網(wǎng)絡(luò)安全模型,可以自動發(fā)現(xiàn)網(wǎng)絡(luò)系統(tǒng)潛在的被攻擊路徑和方法。
隨著社交工程等新型攻擊手段的出現(xiàn),攻擊者已不再局限于依賴于常見軟件漏洞發(fā)起攻擊,而是開始通過釣魚、木馬和一些人員行為的管理方面漏洞發(fā)起攻擊甚至實施APT。為了能夠識別網(wǎng)絡(luò)信息系統(tǒng)中存在的被攻擊路徑和風(fēng)險,本文提出了一種基于本體的網(wǎng)絡(luò)安全模型。該模型分別從信息系統(tǒng)、安全弱點、攻擊者、網(wǎng)絡(luò)攻擊方式和安全屬性等方面出發(fā),進(jìn)行本體類的構(gòu)建。在安全弱點中,專門構(gòu)造了配置漏洞本體類和安全管理漏洞類等本體類,用于刻畫安全管理漏洞和安全配置漏洞。然后,通過添加攻擊者規(guī)則,利用本體推理機(jī),即可自動發(fā)現(xiàn)系統(tǒng)中潛在的網(wǎng)絡(luò)攻擊路徑。
后續(xù)工作打算在安全漏洞類中列入更多更細(xì)的管理漏洞和配置漏洞本體類,擴(kuò)充上述模型,并構(gòu)造更多社交工程用例拓展模型的應(yīng)用場景。
[1] Schneider B.Attack Trees:Modeling Security Threats[J].DrDobb's Journal,1999,12(24):21-29.
[2] Moberg F.Security Analysis of an Information Systems:Usingan Attack Tree-BasedMethodology[D].Sweden:Chalmers University of Technology,2000.
[3] Mcdermott J.Attack Net Penetration Testing[C].The 2000 New Security Paradigms Workshop,2000:15-22.
[4] Steffan I,Schumacher M.Collaborative Attack Modeling[C].Proceeding s of SAC,2002.
[5] 高建波,張保穩(wěn),陳曉樺.安全本體研究進(jìn)展[J].計算機(jī)科學(xué),2012,39(08):14-19,41.GAO Jian-bo,ZHANG Bao-wen,CHEN Xiao-hua.Research Progress in Security Ontology[J].Computer Science,2012,39(08):14-19,41.
[6] Undercoffer J,Joshi A,Finin T,et al.A Target Centric Ontology for Intrusion Detection:UsingDAML+OIL to Classify Intrusive Behaviors[D].Cambridge:Cambridge University Press,2004:23-29.
[7] Niles I,Pease A.Towards a Standard Upper Ontology[C].Proc. of the 2nd International Conference onFormal Ontology in Information Systems(FOIS’01),2001:2-9.
[8] Pease A,Niles I,Li J.The Suggested Upper Merged Ontology:A Large Ontology forthe Semantic Web and Its Applications[C].AAAI, Tech. Rep.,2002.
[9] Golbeck J,Rothstein M.Linking Social Networks on the Web with FOAF:A Semantic Web Case Study[C].Proc. of the 23rd National Conference on Artificial Intelligence(AAAI’08),2008.
[10] Ding L,Zhou L,Finin T,et al.How the Semantic Web is Being Used:An Analysis of FOAFDocuments[C].Proc.of the 38th Annual Hawaii International Conference on System Sciences (HICSS’05),2005:113-122.
[11] Emem U,Pedro R,Falcone S.The 'REFINTO' Framework and Tool:Supporting Business-IT Alignment in Enterprise Financial Application Development[C].Enterprise Distributed Object Computing Conference Workshops and Demonstrations(EDOCW) 2014 IEEE 18th International,2014:406-409.
[12] GAO Jian-bo,ZHANG Bao-wen,CHEN Xiao-hua,et al.Ontology-Based Model of Network and Computer Attacks for Security Assessment[J].J. Shanghai Jiaotong Univ. (Sci.),2013,18(05):554-562.
[13] Herzog A,Shahmehri N,Duma C.An Ontology ofInformation Security[J].International Journal of Information Security and Privacy,2007,1(04):1-23.