一種面向gap隔離交換設(shè)備的滲透測試方法
【專利摘要】本發(fā)明公開了一種面向GAP隔離交換設(shè)備的滲透測試方法,具體如下:(a)測試策略配置,根據(jù)受測設(shè)備的工作原理、功能和實現(xiàn)方式,從預(yù)先設(shè)置的滲透測試規(guī)則庫中選擇適用的測試用例,并配置好測試環(huán)境參數(shù);(b)網(wǎng)絡(luò)攻擊會話生成,構(gòu)建獨(dú)立的客戶端和服務(wù)端程序,分別模擬受測設(shè)備兩端網(wǎng)絡(luò)中的主機(jī),然后各自調(diào)用測試用例所對應(yīng)的測試插件,并把步驟a配置的測試環(huán)境參數(shù)傳遞給測試插件;測試插件實時產(chǎn)生相應(yīng)的數(shù)據(jù)包,并經(jīng)由客戶端或服務(wù)端發(fā)送,從而生成網(wǎng)絡(luò)攻擊會話;(c)測試結(jié)果評判,根據(jù)網(wǎng)絡(luò)攻擊會話的完成情況和受測設(shè)備的告警信息,評判測試用例的測試結(jié)果。應(yīng)用本發(fā)明,可實現(xiàn)對GAP隔離交換設(shè)備的自動化安全性測試。
【專利說明】—種面向GAP隔離交換設(shè)備的滲透測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息安全【技術(shù)領(lǐng)域】,涉及針對GAP隔離交換設(shè)備的安全性測試,特別是涉及GAP隔離交換設(shè)備的應(yīng)用層協(xié)議控制、內(nèi)容安全、入侵防御和防木馬等主要安全特征的滲透測試方法。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)安全隔離交換系統(tǒng)(GAP隔離交換設(shè)備)采用GAP隔離交換技術(shù)。所謂GAP隔離交換,也稱為Air GAP (空氣隔離)技術(shù),它的基本技術(shù)特征是“物理阻斷、邏輯連接”,即通過該技術(shù),能夠保證兩個網(wǎng)絡(luò)在物理不連接的基礎(chǔ)上,實現(xiàn)邏輯連接以進(jìn)行數(shù)據(jù)交換。網(wǎng)絡(luò)安全隔離交換設(shè)備在結(jié)構(gòu)上包括內(nèi)網(wǎng)處理單元、外網(wǎng)處理單元、安全隔離交換處理單元三個模塊。其中,內(nèi)網(wǎng)處理單元連接內(nèi)部網(wǎng)絡(luò),外網(wǎng)處理單元連接外部網(wǎng)絡(luò),安全隔離交換單元分時連通內(nèi)、外網(wǎng)處理單元,是內(nèi)、外網(wǎng)處理單元之間唯一的數(shù)據(jù)傳輸通道。它的基本安全技術(shù)要求如下:
I網(wǎng)絡(luò)協(xié)議終止。該系統(tǒng)所連接的兩個網(wǎng)絡(luò),在網(wǎng)絡(luò)連接抵達(dá)系統(tǒng)的內(nèi)、外網(wǎng)處理單元后,都要進(jìn)行網(wǎng)絡(luò)協(xié)議終止,即剝離網(wǎng)絡(luò)數(shù)據(jù)的協(xié)議頭部,經(jīng)由安全隔離交換單元進(jìn)行純粹的數(shù)據(jù)交換。
[0003]I數(shù)據(jù)安全檢查。安全隔離交換單元對要交換的數(shù)據(jù)進(jìn)行安全檢測,確保數(shù)據(jù)是安全的,例如,要檢查數(shù)據(jù)是否含有惡意代碼,是否符合相應(yīng)應(yīng)用的格式要求。
[0004]GAP隔離交換設(shè)備具備安全隔離、信息交換和訪問控制等功能,并具有較強(qiáng)的抗攻擊能力,由于其具有對網(wǎng)絡(luò)協(xié)議的終止特性,且支持很少或不支持通用的應(yīng)用層協(xié)議(非常有限的內(nèi)外網(wǎng)數(shù)據(jù)傳輸通道),例如FTP、DNS和電子郵件協(xié)議。因此,它通常被認(rèn)為比防火墻、安全網(wǎng)關(guān)和UTM (統(tǒng)一威脅管理)產(chǎn)品更加安全。
[0005]GAP隔離交換設(shè)備的高強(qiáng)度安全性給安全測試帶來了重重困難,很多測試網(wǎng)關(guān)型安全產(chǎn)品的測試用例已無法對GAP隔離交換設(shè)備形成有效的測試。要形成有效的測試,必須依靠僅有的數(shù)據(jù)通道,精確定義網(wǎng)絡(luò)/攻擊流量。因此,本發(fā)明創(chuàng)建了一種面向GAP隔離交換設(shè)備的滲透測試技術(shù),通過應(yīng)用層協(xié)議偽裝和數(shù)據(jù)內(nèi)容包含等方式,產(chǎn)生針對特定應(yīng)用的網(wǎng)絡(luò)會話,以及Web攻擊與基于木馬行為的多種類型的網(wǎng)絡(luò)攻擊會話,實現(xiàn)網(wǎng)絡(luò)攻擊流量對GAP隔離交換設(shè)備的穿越,達(dá)到了有效開展安全性測試的目標(biāo)。
[0006]目前,針對GAP隔離交換設(shè)備的安全性測試,還沒有形成系統(tǒng)規(guī)范的方法,各安全測評機(jī)構(gòu)普遍采用的方法還是以手工測試為主,配合一些輔助工具例如發(fā)包工具或黑客工具進(jìn)行。測試人員需要人工產(chǎn)生各種網(wǎng)絡(luò)訪問或網(wǎng)絡(luò)攻擊數(shù)據(jù)來流經(jīng)GAP隔離交換設(shè)備,然后根據(jù)網(wǎng)絡(luò)訪問情況,來驗證GAP隔離交換設(shè)備的安全性。這種手工配合輔助工具的方法雖然能夠?qū)AP隔離交換設(shè)備進(jìn)行一定程度的測試,但卻存在效率低下、環(huán)境配置復(fù)雜等諸多問題,難以進(jìn)行大批量的、安全可控的測試。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的是提供一種面向GAP隔離交換設(shè)備的滲透測試方法,實現(xiàn)對GAP隔離交換設(shè)備的安全性測試。應(yīng)用本發(fā)明,可實現(xiàn)利用GAP隔離交換設(shè)備的合法網(wǎng)絡(luò)通道(例如HTTP或?qū)S脭?shù)據(jù)傳輸端口)對其進(jìn)行滲透測試的目標(biāo)。該方法包括以下步驟:
①測試策略配置,根據(jù)GAP隔離交換設(shè)備的工作原理、功能和實現(xiàn)方式,從預(yù)先設(shè)置的滲透測試規(guī)則庫中選擇適用的測試用例,并配置好測試環(huán)境參數(shù);
②生成網(wǎng)絡(luò)攻擊會話,構(gòu)建獨(dú)立的客戶端和服務(wù)端程序,分別模擬GAP隔離兩端的兩個網(wǎng)絡(luò)(子網(wǎng))中的主機(jī),客戶端和服務(wù)端程序分別調(diào)用測試用例對應(yīng)的測試插件,并把步驟a配置的測試環(huán)境參數(shù)傳遞給測試插件;測試插件實時生成相應(yīng)的數(shù)據(jù)包,并經(jīng)由客戶端或服務(wù)端發(fā)送,生成網(wǎng)絡(luò)攻擊會話;
③測試結(jié)果評判,根據(jù)網(wǎng)絡(luò)攻擊會話的完成情況,以及GAP隔離交換設(shè)備的告警與日志信息,共同評判測試用例的測試結(jié)果。
【專利附圖】
【附圖說明】
[0008]圖1為本發(fā)明的技術(shù)原理框架圖。
[0009]圖2為本發(fā)明測試時的連接示意圖。
[0010]圖3為本發(fā)明的工作流程圖。
【具體實施方式】
[0011]下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0012]圖1為本發(fā)明的技術(shù)原理框架圖,面向GAP隔離交換設(shè)備的滲透測試方法由策略配置、會話生成和結(jié)果評判三個部分構(gòu)成。策略配置模塊用于根據(jù)安全測試需求,定制網(wǎng)絡(luò)攻擊會話的策略,主要包括訪問控制、Web攻擊和木馬攻擊;會話生成模塊模擬內(nèi)外網(wǎng)網(wǎng)絡(luò)連接的主機(jī)(客戶端和服務(wù)端),根據(jù)定制的策略,產(chǎn)生精確定義的特定的網(wǎng)絡(luò)攻擊會話,穿越受測GAP隔離交換設(shè)備;結(jié)果評判模塊則檢查該網(wǎng)絡(luò)攻擊流量穿越的狀態(tài)(通行、被攔截、修改等),并結(jié)合GAP隔離交換設(shè)備的告警和審計信息,來確定測試結(jié)果,評估設(shè)備具備的安全功能或抗攻擊能力。
[0013]目前,面向GAP隔離交換設(shè)備的滲透測試方法根據(jù)GAP隔離交換設(shè)備的安全技術(shù)特征,其策略配置模塊對網(wǎng)絡(luò)會話和網(wǎng)絡(luò)攻擊會話的定制策略,主要包括如下四個方面:
I各種典型的網(wǎng)絡(luò)會話。通常,GAP安全隔離交換設(shè)備支持的應(yīng)用越少,它越安全,特別是只支持專門的應(yīng)用;但為了擴(kuò)大用戶面,安全隔離交換設(shè)備通常支持通用應(yīng)用層協(xié)議或應(yīng)用,例如HTTP協(xié)議、電子郵件傳輸協(xié)議和數(shù)據(jù)庫訪問;這里針對各種典型的網(wǎng)絡(luò)應(yīng)用,定制網(wǎng)絡(luò)會話,來對受測產(chǎn)品的訪問控制功能進(jìn)行測試。
[0014]IWeb攻擊會話。針對典型的網(wǎng)絡(luò)應(yīng)用特別是Web應(yīng)用,精確定制各種跨站腳本、SQL注入等Web攻擊會話,測試GAP隔離交換設(shè)備抵御Web攻擊的能力。
[0015]I常規(guī)木馬攻擊會話。包括常規(guī)的木馬通聯(lián)或攻擊行為,以及經(jīng)由網(wǎng)頁或電子郵件攜帶的木馬等惡意代碼行為。
[0016]I基于協(xié)議偽裝的木馬攻擊會話。木馬的攻擊與通信行為隱藏在合法網(wǎng)絡(luò)協(xié)議中,例如UDP、SMTP、HTTP、MSN、Dropbox等,來對隔離交換設(shè)備的抗攻擊能力進(jìn)行深入的測試。[0017]圖2是應(yīng)用本發(fā)明的滲透測試系統(tǒng)在測試時的連接示意圖。滲透測試系統(tǒng)需為雙宿主機(jī)平臺,可以是具有兩個網(wǎng)絡(luò)接口的筆記本電腦、PC主機(jī)或服務(wù)器;客戶端C和服務(wù)端S是滲透測試系統(tǒng)的實時產(chǎn)生網(wǎng)絡(luò)攻擊流量的兩個通信實體,分別綁定在不同的網(wǎng)絡(luò)接口上;接口 I和接口 2是GAP隔離交換設(shè)備上的內(nèi)網(wǎng)和外網(wǎng)接口。
[0018]測試時,滲透測試系統(tǒng)的客戶端C和服務(wù)端S分別與GAP隔離交換設(shè)備的接口 I和接口 2相連接,模擬GAP隔離交換設(shè)備所隔離的兩個網(wǎng)絡(luò)中的主機(jī)。這樣,滲透測試系統(tǒng)所產(chǎn)生的網(wǎng)絡(luò)攻擊流量將穿越GAP隔離交換設(shè)備,并在滲透測試系統(tǒng)上形成閉環(huán)。作為測試儀器,滲透測試系統(tǒng)的客戶端C和服務(wù)端S應(yīng)該沒有主機(jī)內(nèi)的數(shù)據(jù)轉(zhuǎn)發(fā),以確保測試時不存在芳路。
[0019]圖3是本發(fā)明的工作流程圖,分為以下三個步驟:
①測試策略配置,根據(jù)GAP隔離交換設(shè)備的工作原理、安全功能和實現(xiàn)方式,從預(yù)先設(shè)置的滲透測試規(guī)則庫中選擇適用的測試用例,并配置好測試環(huán)境參數(shù);
②生成網(wǎng)絡(luò)攻擊會話,構(gòu)建獨(dú)立的客戶端和服務(wù)端程序,分別模擬GAP隔離交換設(shè)備兩端的兩個網(wǎng)絡(luò)(子網(wǎng))中的主機(jī),客戶端和服務(wù)端程序分別調(diào)用測試用例對應(yīng)的測試插件,并把步驟a配置的測試環(huán)境參數(shù)傳遞給測試插件;測試插件實時生成相應(yīng)的數(shù)據(jù)包,并經(jīng)由客戶端或服務(wù)端發(fā)送,生成網(wǎng)絡(luò)攻擊會話;
③測試結(jié)果評判,根據(jù)網(wǎng)絡(luò)攻擊會話的完成情況,以及GAP隔離交換設(shè)備的告警與日志信息,共同評判測試用例的測試結(jié)果。
[0020]這里,我們通過一個應(yīng)用層協(xié)議偽裝的木馬測試策略的測試過程來進(jìn)行詳細(xì)說明。
[0021]首先假設(shè)現(xiàn)在要對某單位的一臺GAP隔離交換設(shè)備進(jìn)行測試,此設(shè)備用于連接該單位兩個不同類型的網(wǎng)絡(luò),它承擔(dān)的功能是內(nèi)外網(wǎng)絡(luò)的數(shù)據(jù)傳輸,具備HTTP訪問和數(shù)據(jù)庫同步功能。設(shè)備內(nèi)網(wǎng)段為172.16.1.1/24,外網(wǎng)段為100.100.1.1/24。這臺設(shè)備開啟所有安全功能和數(shù)據(jù)傳輸功能,其安全特性無需配置策略。
[0022](I)測試策略配置
策略體現(xiàn)在規(guī)則上,配置規(guī)則就是填充下面這個兩個數(shù)據(jù)結(jié)構(gòu),從而生成具體的測試用例。對于利用木馬的滲透測試策略,這里以定制一個基于HTTP協(xié)議偽裝的木馬為例,來嘗試通過GAP隔離交換設(shè)備的HTTP通道進(jìn)行穿越。該木馬測試用例規(guī)則的數(shù)據(jù)結(jié)構(gòu)中的參數(shù)需進(jìn)行如下配置:
typedef struct tagCaselnfo
{
CHAR szID[100] ;//測試用例編號:GS_005
CHAR szName[100] ;//測試用例名稱:灰鴿子木馬
CHAR szDescription[255] ; //測試用例描述:灰鴿子木馬模擬HTTP通信從內(nèi)網(wǎng)訪問外網(wǎng)穿透隔離設(shè)備
CHAR szVulnName [50] ; //脆弱性名稱:灰鴿子木馬
CHAR szVulnDisc[255] ; //脆弱性描述:測試網(wǎng)絡(luò)隔離系統(tǒng)是否能夠防御灰鴿子木馬的穿透內(nèi)網(wǎng)行為CHAR szVulnType[255] ; //脆弱性類型:數(shù)據(jù)交換服務(wù)脆弱性int nRiskLevel; //風(fēng)險等級:1=低風(fēng)險2=中風(fēng)險3=高風(fēng)險int nPolicyType; //策略類型:1 = 〃基本策略〃;2 = 〃推薦策略〃;3 =〃最大策略〃
Icaseinfo
typedef struct tagCaseVar
{
CString strClientIP; //真實內(nèi)網(wǎng)客戶端 IP:172.16.1.11 CString strServerIP; // 真實外網(wǎng)客戶端 IP: 100.100.1.11 CString ClientIP; //虛擬內(nèi)網(wǎng)客戶端IP:空 CString ServerIP; //虛擬外網(wǎng)客戶端IP:空 CString proxyCltIP; // 內(nèi)網(wǎng)代理地址 IP:172.16.1.1 CString proxyServIP; // 外網(wǎng)代理地址 IP:空
DWORD dwPort[20] ; // dwPort[0-9]為不同服務(wù)代理端口 ;dwPort[10-19]為不同服務(wù)真實端口:dwPort[l]=80
CString strKey[20] ; //分別為不同協(xié)議過濾內(nèi)容
B00L bAction[20] ; //隔離設(shè)備不同協(xié)議配置情況;True為允許,False為不允許 INT Flag;//代理模式,I:指定代理,2:透明代理
char szErrorMsg[255] ; //報錯信息,用于發(fā)現(xiàn)問題 }CASEVAR
每個測試用例為一個單獨(dú)的DLL文件,每種惡意代碼關(guān)鍵字段都在DLL文件中單獨(dú)定義。
[0023]根據(jù)這個測試用例生成具體的數(shù)據(jù)包時,這些參數(shù)會傳遞給對應(yīng)的測試插件,測試插件生成數(shù)據(jù)包時需要改變的內(nèi)容在這些參數(shù)中體現(xiàn),不需要改變的內(nèi)容直接存儲在測試插件本身中,測試插件根據(jù)這個結(jié)構(gòu)中的參數(shù)和測試插件中存儲的內(nèi)容生成一個個具體的測試數(shù)據(jù)包。
[0024](2)網(wǎng)絡(luò)會話生成
生成測試用例之后即可進(jìn)行測試,客戶端和服務(wù)端會根據(jù)測試用例對應(yīng)的規(guī)則結(jié)構(gòu)中的參數(shù)來生成具體的數(shù)據(jù)包。數(shù)據(jù)包會試圖穿越GAP隔離交換設(shè)備到達(dá)對方,每發(fā)送一個數(shù)據(jù)包都會等待對方的應(yīng)答包,只有收到期望的應(yīng)答包后才會發(fā)送下一個數(shù)據(jù)包(若GAP隔離交換設(shè)備不攔截數(shù)據(jù)包,每發(fā)送一個數(shù)據(jù)包是肯定會收到期望的應(yīng)答包的),否則,在等待一段時間后中斷數(shù)據(jù)包的發(fā)送。 [0025](3)測試結(jié)果評定
根據(jù)網(wǎng)絡(luò)攻擊會話是否成功,以及GAP隔離交換設(shè)備的告警和審計情況,來共同確定該灰鴿子木馬是否已成功地對GAP隔離交換設(shè)備進(jìn)行了滲透。如果網(wǎng)絡(luò)攻擊會話成功完成,則說明該GAP隔離交換設(shè)備不能對此利用HTTP協(xié)議進(jìn)行偽裝的灰鴿子木馬進(jìn)行防御。如果網(wǎng)絡(luò)攻擊會話被攔截(沒有完成),且GAP隔離交換設(shè)備有正確的告警和日志,則說明該GAP隔離交換設(shè)備具備抵御此木馬攻擊的能力。
【權(quán)利要求】
1.一種面向GAP隔離交換設(shè)備的滲透測試方法,包括以下步驟: Ca)測試策略配置,根據(jù)GAP隔離交換設(shè)備的工作原理、功能和實現(xiàn)方式,從預(yù)先設(shè)置的滲透測試規(guī)則庫中選擇適用的測試用例,并配置好測試環(huán)境參數(shù);(b)生成網(wǎng)絡(luò)攻擊會話,構(gòu)建獨(dú)立的客戶端和服務(wù)端程序,分別模擬GAP隔離交換設(shè)備兩端的兩個網(wǎng)絡(luò)(子網(wǎng))中的主機(jī),客戶端和服務(wù)端程序分別調(diào)用測試用例對應(yīng)的測試插件,并把步驟a配置的測試環(huán)境參數(shù)傳遞給測試插件;測試插件實時生成相應(yīng)的數(shù)據(jù)包,并經(jīng)由客戶端或服務(wù)端發(fā)送,生成網(wǎng)絡(luò)攻擊會話;(c)測試結(jié)果評判,根據(jù)網(wǎng)絡(luò)攻擊會話的完成情況,以及GAP隔離交換設(shè)備的告警與日志信息,共同評判測試用例的測試結(jié)果。
2.應(yīng)用本發(fā)明,可實現(xiàn)利用GAP隔離交換設(shè)備的合法網(wǎng)絡(luò)通道(例如HTTP或?qū)S脭?shù)據(jù)傳輸端口)對其進(jìn)行安全性測試的目標(biāo)。
【文檔編號】H04L29/06GK103916384SQ201410026981
【公開日】2014年7月9日 申請日期:2014年1月21日 優(yōu)先權(quán)日:2014年1月21日
【發(fā)明者】鐘力, 姚蘭, 阮強(qiáng), 何金勇 申請人:中國人民解放軍信息安全測評認(rèn)證中心, 鐘力