一種基于STIX信息交互的滲透測(cè)試協(xié)作方案研究*
劉岳,張海峰,張良,楊秉杰,邊帥
(國(guó)家互聯(lián)網(wǎng)應(yīng)急中心河南分中心,河南 鄭州 450000)
摘要:對(duì)網(wǎng)絡(luò)安全工作滲透測(cè)試工作中的效率瓶頸問(wèn)題進(jìn)行了分析,總結(jié)了原有測(cè)試工作協(xié)作方式以及測(cè)試過(guò)程中的低效之處。對(duì)現(xiàn)有威脅情報(bào)實(shí)時(shí)信息共享標(biāo)準(zhǔn)(STIX)進(jìn)行了介紹,提出了一種基于STIX信息交互的滲透測(cè)試協(xié)作方案。通過(guò)對(duì)STIX進(jìn)行定制擴(kuò)充,可有效提升測(cè)試人員與測(cè)試人員、測(cè)試人員與測(cè)試工具以及測(cè)試工具之間的信息交互效率,提高信息交互的標(biāo)準(zhǔn)化、自動(dòng)化程度。
關(guān)鍵詞:滲透測(cè)試,STIX,協(xié)作,信息交互,POC
中圖分類(lèi)號(hào):TP273
文獻(xiàn)標(biāo)識(shí)碼:A
DOI: 10.19358/j.issn.2096-5133.2018.12.001
引用格式:
劉岳,張海峰,張良,等.一種基于STIX信息交互的滲透測(cè)試協(xié)作方案研究[J].信息技術(shù)與網(wǎng)絡(luò)安全,2018,37(12):1-5.
Research on a collaborative method of penetration testing based on
STIX information interaction
Liu Yue,Zhang Haifeng,Zhang Liang,Yang Bingjie,Bian Shuai
(National Internet Emergency Center(CNCERT/CC),Zhengzhou 450000,China)
Abstract:In this paper,the bottleneck of the proceeding of the penetration test is summarized,especially in the low efficiency of the pentest cooperation and use of the test tools.Cyber threat intelligence standard STIX(Structured Threat Information Expression) is introduced in this paper,and a new collaborative method of penetration testing based on STIX information interaction is proposed.This method makes some customization and extension to the original STIX standard,effectively improving the information interaction efficiency in pentester to pentester,pentester to POC and POC to POC scenarios,as well as promoting the standardization and automation of the information interaction.
Key words: pentest; STIX; collaboration; information interaction; POC
*基金項(xiàng)目:國(guó)家互聯(lián)網(wǎng)應(yīng)急中心青年科技基金項(xiàng)目(2018Q20)
0 引言
在日常開(kāi)展的網(wǎng)絡(luò)安全測(cè)試工作中,網(wǎng)絡(luò)安全工作人員經(jīng)常接觸到來(lái)自各個(gè)渠道、自行編寫(xiě)或同行分享的測(cè)試工具代碼。因?yàn)楣ぞ叽a使用在某些方面存在效率瓶頸,影響了日常工作開(kāi)展的質(zhì)量和效率。其中包括:
(1)在實(shí)際使用POC進(jìn)行測(cè)試的時(shí)候,代碼的編寫(xiě)者一般有自有習(xí)慣,不太明確應(yīng)當(dāng)傳入怎樣的參數(shù),各參數(shù)采取怎樣的格式。因?yàn)橥ǔ2粫?huì)附帶詳細(xì)的文檔說(shuō)明,往往需要進(jìn)行很多嘗試,降低了效率。
(2)在實(shí)際使用POC進(jìn)行測(cè)試的時(shí)候,對(duì)于該P(yáng)OC將達(dá)到怎樣的效果不明確,不知道返回的結(jié)果會(huì)采取怎樣的格式,且返回的信息不夠詳細(xì)。
(3)由于各個(gè)POC的輸入、輸出情況不明確,不同的POC之間無(wú)法進(jìn)行互操作,如很難將不同POC連接使用來(lái)完成測(cè)試目標(biāo),難以自動(dòng)使一個(gè)POC的輸出成為另一個(gè)POC的輸入,無(wú)法實(shí)現(xiàn)自動(dòng)化測(cè)試。
(4)多個(gè)工作人員一起進(jìn)行滲透測(cè)試協(xié)作時(shí)常有較多不便,一名測(cè)試人員測(cè)試得到的結(jié)果必須詳細(xì)向另一名測(cè)試人員描述,如已經(jīng)在目標(biāo)主機(jī)上上傳腳本,但所上傳目錄沒(méi)有執(zhí)行權(quán)限,需要另一名測(cè)試人員進(jìn)行提權(quán)或者移動(dòng)腳本至其他目錄。測(cè)試人員無(wú)法系統(tǒng)化描述其測(cè)試的中間結(jié)果,只能使用低效的口頭描述方式。
網(wǎng)絡(luò)安全滲透測(cè)試工作由于以上的一些效率瓶頸,事實(shí)上還處在手動(dòng)進(jìn)行、各自為戰(zhàn)的工作協(xié)作狀態(tài),已完成的測(cè)試工作只能通過(guò)語(yǔ)言描述,效率較低。本文擬提出一種基于STIX信息交互的滲透測(cè)試協(xié)作方案,可有效提高滲透測(cè)試工作的標(biāo)準(zhǔn)化、規(guī)范化程度,并可一定程度上實(shí)現(xiàn)自動(dòng)化測(cè)試。
1 STIX介紹
結(jié)構(gòu)化威脅信息表達(dá)式(Structured Threat Information eXxpression, STIX)是結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織(Organization for the Advancement of Structured Information Standards,OASIS)的網(wǎng)絡(luò)威脅情報(bào)技術(shù)委員會(huì)(Cyber Threat Intelligence Technical Committee,CTITC)通過(guò)的用于機(jī)器可讀威脅情報(bào)(Machine-Readable Threat Intelligence,MRTI)的實(shí)時(shí)信息共享的委員會(huì)規(guī)范。
STIX 2.0是個(gè)概念性數(shù)據(jù)模型,用于描述攻擊指標(biāo)(IOC),凸顯網(wǎng)絡(luò)攻擊序列中可影響技術(shù)棧的其他各種元素。包括攻擊者所用戰(zhàn)術(shù)、技術(shù)和規(guī)程(TTP),威脅執(zhí)行者的潛在動(dòng)機(jī)和意圖、惡意軟件屬性,受害目標(biāo)確定的各種特征以及其他元素。
STIX 2.0的主體架構(gòu)是一個(gè)由節(jié)點(diǎn)和邊組成的圖,“節(jié)點(diǎn)”是Domain Objects(SDOs),“邊”是Relationship Objects(SROs)。SDO描述了網(wǎng)絡(luò)安全攻擊情報(bào)的方方面面,包括Campaign、Identity、Indicator、Malware、Intrusion Set、Vulnerability等。SROs描述了SDO之間的關(guān)系,包括Relationship、Sighting。
一種SDO類(lèi)別Observed Data提供了對(duì)各種可以被觀(guān)察到的對(duì)象的結(jié)構(gòu)化描述,其中包括了大部分IOC指標(biāo)中所涉及的數(shù)據(jù)類(lèi)型,如域名、IP地址、目錄、文件、進(jìn)程、注冊(cè)表項(xiàng)、證書(shū)等。每一種類(lèi)型的Observed Object都擁有一定數(shù)量的基本屬性和擴(kuò)展屬性(extensions)。
STIX具有高度的可擴(kuò)展性,如Observed Data可以進(jìn)行基于對(duì)象(Custom Observable Objects)、基于擴(kuò)展(Custom Object Extensions)和基于屬性(Custom Object Properties)的定制。
STIX 2.0將網(wǎng)絡(luò)攻擊情報(bào)和IOC用SDO及SRO進(jìn)行系統(tǒng)性的描述,然后通過(guò)標(biāo)準(zhǔn)格式使用XML或者JSON承載,生成文件在公司和組織之間完成網(wǎng)絡(luò)安全威脅信息交互的功能。
2 方案介紹
本文提出的基于STIX信息交互的滲透測(cè)試協(xié)作方案,可以有效解決上述工作中的效率瓶頸問(wèn)題,旨在建立一個(gè)高效普適的滲透測(cè)試協(xié)作系統(tǒng),該系統(tǒng)如圖1所示,由中央控制單元以及與中央控制單元相接口的滲透測(cè)試人員和自動(dòng)化測(cè)試軟件組成。中央控制單元與測(cè)試人員和測(cè)試軟件都通過(guò)基于STIX的滲透測(cè)試描述文檔進(jìn)行交互,即中央控制單元向測(cè)試人員和測(cè)試軟件都可以發(fā)送“測(cè)試任務(wù)書(shū)”,也可以從后者獲取“測(cè)試結(jié)果報(bào)告”,“測(cè)試任務(wù)書(shū)”和“測(cè)試結(jié)果報(bào)告”都是基于STIX的XML文檔(在本文中稱(chēng)為PEN_STIX文檔),測(cè)試人員之間和測(cè)試軟件之間可通過(guò)中央控制單元進(jìn)行交互。此方案中將測(cè)試人員和測(cè)試軟件作為同等的測(cè)試單元,每個(gè)測(cè)試單元所完成的工作都通過(guò)基于PEN_STIX文檔記錄,具有某方面特長(zhǎng)的滲透測(cè)試人員可以獲取適合他的“測(cè)試任務(wù)書(shū)”完成某個(gè)測(cè)試環(huán)節(jié),實(shí)現(xiàn)滲透測(cè)試工作的流水線(xiàn)化作業(yè),提升測(cè)試效率。
為完成流水線(xiàn)化作業(yè),必須解決測(cè)試單元的信息交互問(wèn)題。信息交互的場(chǎng)景可能發(fā)生在以下的幾種情況:
(1)所編寫(xiě)的針對(duì)某一類(lèi)漏洞的測(cè)試工具,對(duì)此工具提供必要的信息進(jìn)行調(diào)用,調(diào)用者可能是測(cè)試人員或者其他測(cè)試軟件,因此發(fā)生人對(duì)軟件或者軟件對(duì)軟件的信息交互。
(2)所編寫(xiě)的針對(duì)某一類(lèi)漏洞的測(cè)試工具,執(zhí)行完成后得到的結(jié)果,需要供外界使用,使用者可能為測(cè)試人員或者其他測(cè)試軟件,因此發(fā)生軟件對(duì)人或者軟件對(duì)軟件的信息交互。
(3)不同的測(cè)試人員進(jìn)行測(cè)試協(xié)作,可能是某種形式的眾測(cè),測(cè)試進(jìn)行到某一步驟的中間信息可能需要互相交流,此時(shí)發(fā)生人與人之間的信息交互。
(4)實(shí)現(xiàn)某種形式的測(cè)試平臺(tái)時(shí),可能會(huì)由平臺(tái)調(diào)用眾多不同的滲透測(cè)試代碼,因此平臺(tái)需要將目標(biāo)主機(jī)信息傳送到測(cè)試代碼,此時(shí)發(fā)生軟件與軟件的信息交互。
眾多信息交互場(chǎng)景需要一種系統(tǒng)性的描述測(cè)試信息的方式,可以消除歧義,也可以消除安全人員隨手寫(xiě)下測(cè)試腳本的隨意性。
STIX本身即是一種標(biāo)準(zhǔn)化傳輸威脅信息的方式,其定義的類(lèi)別Observed Data可以用來(lái)傳輸各種滲透測(cè)試中所需要使用的數(shù)據(jù),但是標(biāo)準(zhǔn)中定義的類(lèi)型和屬性有限,必須使用其支持的擴(kuò)展定制功能進(jìn)行擴(kuò)展,以滿(mǎn)足實(shí)際滲透測(cè)試的需求。
方案繼續(xù)利用Directory、Domain Name、File、IPv4 Address、IPv6 Address、MAC Address、Email Address、Email Message、Network Traffic(包含HTTP、ICMP、TCP等多個(gè)擴(kuò)展,表示網(wǎng)絡(luò)請(qǐng)求、網(wǎng)絡(luò)訪(fǎng)問(wèn)情況等)、Process、Software、User Account、URL、Registry、Certificate等。
為更加適合滲透測(cè)試需要進(jìn)行一些定制。如增加Network Service表示目標(biāo)服務(wù)器上存在的網(wǎng)絡(luò)服務(wù)如SSH、FTP等。在User Account中增加SSH等服務(wù)相應(yīng)的extension。增加Database表示主流數(shù)據(jù)庫(kù)系統(tǒng)。IPv4 Address中增加Port屬性,并增加兩種Observed Object:IPv4 Range和IPv4 CIDR,分別表示普通的IP地址段和CIDR形式的IP地址段等。具體情況如表1所示。
表1添加定制
如下代碼段為給某次測(cè)試的輸入信息,包括目標(biāo)主機(jī)IP及主機(jī)上運(yùn)行服務(wù)的信息。
[
{
"type":"observed-data",
"id":"observed-data--b67d30ff-02ac-498a-92f9-32f845f448cf",
"created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"created":"2018-10-29T15:58:16.000Z",
"modified":"2018-10-29T15:58:16.000Z",
"objects":{
"0":{
"type":" ipv4-range",
"value":"198.51.100.15-198.51.100.23",
"port":"8080",
"description":"待測(cè)試主機(jī)IP地址"
}
"1":{
"type":"Network Service",
"value":"Weblogic",
"port":"8080",
"description":"待測(cè)試主機(jī)運(yùn)行服務(wù)信息"
}
}
}
]
如下代碼段為測(cè)試的輸出信息,如在服務(wù)器某路徑上傳腳本及檢測(cè)到服務(wù)器上運(yùn)行FTP服務(wù)等。
[
{
"type":"observed-data",
"id":"observed-data--b67d30ff-02ac-498a-92f9-32f845f448cf",
"created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"created":"2018-10-29T16:10:16.000Z",
"modified":"2018-10-29T16:10:16.000Z",
"objects":{
"0":{
"type":" ipv4 address",
"value":"198.51.100.19",
"port":"8080",
"description":"測(cè)試輸出相關(guān)IP地址"
}
"1":{
"type":"URL",
"value":"http://198.51.100.19:8080/bea_wls_internal/abc.jsp",
"description":"上傳后門(mén)腳本"
}
"2":{
"type":"Network Service",
"value":"FTP",
"port":"4400",
"ip_ref":"0",
"description":"目標(biāo)主機(jī)存在FTP服務(wù)"
}
"3":{
"type":"file",
"hashes":{
"SHA-256":"35a01331e9ad96f751278b891 b6ea09699806faedfa237d40513d92ad1b7128f"
},
"extensions":{
"script-ext":{
"type":"jsp",
"url_ref":"1",
"path":"/var/aaa/bbb/abc.jsp"
"description":"后門(mén)腳本物理路徑"
}
}
}
}
}
]
如上示例的輸入信息可用于測(cè)試人員之間的信息交流,亦可輸入測(cè)試IOC,由測(cè)試IOC選取必需的目標(biāo)參數(shù)進(jìn)行測(cè)試。而輸出的信息可作為中間信息傳遞給其他測(cè)試人員,亦可傳入另外的測(cè)試腳本。
3 方案實(shí)現(xiàn)
Github上有python-stix和java-stix等STIX規(guī)范的實(shí)現(xiàn),對(duì)代碼加以修改,添加對(duì)定制對(duì)象和屬性的支持,即可實(shí)現(xiàn)PEN_STIX文檔的生成和讀?。粚⒋a封裝成為庫(kù)函數(shù)import_module和export_module。import_module負(fù)責(zé)解讀PEN_STIX文檔,解析為輸入?yún)?shù)集合;export_module負(fù)責(zé)生成PEN_STIX文檔,將測(cè)試工作完成所得結(jié)果元數(shù)據(jù)表達(dá)為PEN_STIX文檔。具體可分為測(cè)試代碼和測(cè)試人員兩種情況:
(1)對(duì)測(cè)試代碼情況,為使測(cè)試代碼可以使用STIX方式獲取傳入數(shù)據(jù),需在測(cè)試代碼入口處使用import_module,解析傳入的PEN_STIX文檔,即獲得了此測(cè)試任務(wù)的全部輸入?yún)?shù),且這些輸入?yún)?shù)全部是標(biāo)準(zhǔn)格式。測(cè)試代碼選取其需要的參數(shù)進(jìn)行測(cè)試工作,得到結(jié)果后,在程序的出口處使用export_module,將結(jié)果記錄在PEN_STIX文檔,供下一步測(cè)試使用。
(2)對(duì)測(cè)試人員情況,測(cè)試人員可自行讀取PEN_STIX文檔,或者使用import_module編寫(xiě)簡(jiǎn)單的讀取工具,來(lái)獲取此測(cè)試任務(wù)的全部輸入?yún)?shù),并使用這些參數(shù)進(jìn)行測(cè)試。在測(cè)試完成后,測(cè)試人員可以使用export_module編寫(xiě)簡(jiǎn)單的生成工具,將自己在測(cè)試中所發(fā)現(xiàn)的或者完成的工作記錄為PEN_STIX文檔,供下一步測(cè)試使用。
中央控制單元按照測(cè)試項(xiàng)目的工作規(guī)劃使用import_module和export_module將測(cè)試任務(wù)表達(dá)為PEN_STIX文檔,根據(jù)任務(wù)特征將文檔分別發(fā)往測(cè)試軟件和測(cè)試人員,測(cè)試人員反饋的PEN_STIX文檔如包含了新發(fā)現(xiàn)的服務(wù)器或系統(tǒng)應(yīng)用,即可根據(jù)這些特征將PEN_STIX文檔派發(fā)給相應(yīng)的測(cè)試軟件。如果某個(gè)測(cè)試人員沒(méi)有得到最終結(jié)果而只是中間結(jié)果,即可將反饋的PEN_STIX文檔派發(fā)給其他測(cè)試人員和測(cè)試軟件。如此循環(huán),可高效協(xié)作完成測(cè)試任務(wù)。
4 結(jié)束語(yǔ)
本文提出了一個(gè)基于STIX信息交互的滲透測(cè)試協(xié)作方案,該方案利用STIX威脅情報(bào)標(biāo)準(zhǔn)交換格式,添加適合滲透測(cè)試工作場(chǎng)景的定制對(duì)象和屬性等,制定了一種進(jìn)行滲透測(cè)試工作時(shí)的完善、高效、準(zhǔn)確的信息交換方式,利用該方式既便于滲透測(cè)試人員對(duì)測(cè)試工具的使用,便于測(cè)試POC使用其他測(cè)試工具產(chǎn)生的測(cè)試結(jié)果,也便于測(cè)試人員之間的信息交互,可有效提高滲透測(cè)試工作的效率。
參考文獻(xiàn)
[1] KAMPANAKIS P.Security automation and threat information-sharing options[J].IEEE Security & Privacy,2014,12(5): 42-51.
[2] AADRIAN J, KAMHOUA C, KIAT K, et al. Cyber threat information sharing: a category-theoretic approach [C].2017 Third International Conference on Mobile and Secure Services,Miami Beach,FL,USA:IEEE,2017.
[3] ERIC W, BURGER, MICHAEL D, et al. Taxonomy model for cyber threat intelligence information exchange technologies [C].WISCS '14 Proceedings of the 2014 ACM Workshop on Information Sharing & Collaborative Security,Scottsdale,Arizona,USA,2014:51-60.
[4] 張繼業(yè),謝小權(quán).基于攻擊圖的滲透測(cè)試模型的設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005(7):1516-1518,1533.
[5] 吳朝雄,王曉程,王紅艷,等.實(shí)時(shí)網(wǎng)絡(luò)安全威脅態(tài)勢(shì)感知[J].計(jì)算機(jī)工程與設(shè)計(jì),2015(11):2953-2957.
[6] 楊沛安, 武楊,蘇莉婭,等.網(wǎng)絡(luò)空間威脅情報(bào)共享技術(shù)綜述[J].計(jì)算機(jī)科學(xué),2018(6):9-18,26.
[7] 楊沛安,武楊,蘇莉婭,等.網(wǎng)絡(luò)空間威脅情報(bào)感知、共享與分析技術(shù)綜述[J].網(wǎng)絡(luò)與信息安全學(xué)報(bào),2016(2):16-29.
[8] 陳劍鋒,范航博.面向網(wǎng)絡(luò)空間安全的威脅情報(bào)本體化共享研究[J].通信技術(shù),2018(1):171-177.
[9] 徐文韜, 王軼駿, 薛質(zhì).面向威脅情報(bào)的攻擊指示器自動(dòng)生成[J].通信技術(shù),2017(1):116-123.
[10] 李浩杰,裘國(guó)永.基于自動(dòng)化滲透測(cè)試的分析[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2015(12):25-28.
(收稿日期:2018-11-19)
作者簡(jiǎn)介:
劉岳(1984-),男,碩士,工程師,主要研究方向:網(wǎng)絡(luò)安全。