王 磊,蘇命峰
(中南大學(xué)計(jì)算機(jī)學(xué)院,湖南長沙 410083)
電子設(shè)計(jì)自動(dòng)化是從計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助制造、計(jì)算機(jī)輔助工程等概念發(fā)展而來的電子設(shè)計(jì)自動(dòng)化。設(shè)計(jì)人員在EDA軟件平臺上,利用硬件描述語言VHDL,以計(jì)算機(jī)為工具,記性自動(dòng)編輯、精簡、布局、模擬或者優(yōu)化設(shè)計(jì),直至完成特定目標(biāo)的邏輯映射,虛擬EDA實(shí)驗(yàn)攻擊過程[1]。通過使用EDA技術(shù),在一定程度上可以提高電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。為確保電子設(shè)計(jì)自動(dòng)化設(shè)計(jì)結(jié)果的應(yīng)用性能,在投入生產(chǎn)和使用前都要經(jīng)過試驗(yàn)測試,通過測試的電子設(shè)計(jì)自動(dòng)化設(shè)備和程序才能投入使用。
在高等教育、遠(yuǎn)程教育和科技普及中,虛擬EDA實(shí)驗(yàn)是必不可少的環(huán)節(jié)。大學(xué)和社會(huì)中有相當(dāng)一部分人想要掌握一定的信息安全方面的技術(shù)和知識,有關(guān)方面的培訓(xùn)需求越來越大,而與實(shí)驗(yàn)相關(guān)的信息安全產(chǎn)品如防火墻、入侵檢測等的成本較高,因此需要研制一套價(jià)格低廉的信息安全技術(shù)實(shí)驗(yàn)產(chǎn)品,對虛擬 EDA實(shí)驗(yàn)中的信息安全攻擊過程進(jìn)行實(shí)時(shí)仿真,從而保證 EDA實(shí)驗(yàn)結(jié)果的完整性和正確性。
虛擬化EDA實(shí)驗(yàn)攻擊主要是指攻擊者利用當(dāng)前網(wǎng)絡(luò)通信協(xié)議本身存在的問題、漏洞或者因?yàn)檎`操作不合適的設(shè)備所造成的安全漏洞等,通過使用網(wǎng)絡(luò)命令或從Interact下載專用軟件或攻擊者自己編寫的軟件,在本地或遠(yuǎn)程的用戶主機(jī)系統(tǒng)中非法獲取、修改、刪除用戶系統(tǒng)隱私信息。利用虛擬EDA實(shí)驗(yàn)中攻擊過程的實(shí)時(shí)仿真技術(shù),分別從保密性、真實(shí)性、完整性、未授權(quán)拷貝以及所寄生系統(tǒng)的安全性等五個(gè)方面,對虛擬EDA實(shí)驗(yàn)中的信息安全進(jìn)行仿真,并得出攻擊測試結(jié)果。
針對虛擬 EDA實(shí)驗(yàn)中的信息安全問題,提出了一種實(shí)驗(yàn)攻擊過程實(shí)時(shí)仿真方法,并結(jié)合網(wǎng)絡(luò)攻擊的一般構(gòu)成結(jié)構(gòu)和攻擊步驟,實(shí)現(xiàn)了攻擊仿真過程,圖1顯示了攻擊的基本構(gòu)成。
圖1 攻擊基本組成框圖
為保證虛擬 EDA實(shí)驗(yàn)?zāi)P?PC操作系統(tǒng)環(huán)境的穩(wěn)定性,在存在故障、有統(tǒng)一操作環(huán)境要求或需要進(jìn)行基于網(wǎng)絡(luò)的程序測試的情況下,采用了虛擬主機(jī)方案。虛擬機(jī)是通過軟件模擬在物理計(jì)算機(jī)的操作系統(tǒng)上的“計(jì)算機(jī)”,用戶操作系統(tǒng)只是主機(jī)操作系統(tǒng)上的一個(gè)特殊的數(shù)據(jù)文件[2]??蛻魴C(jī)上的任何操作僅影響宿主操作系統(tǒng)上的這一數(shù)據(jù)文件,而且,提供虛擬主機(jī)的軟件也可以將計(jì)算機(jī)設(shè)備虛擬到客戶機(jī)上,其中虛擬網(wǎng)卡可以與宿主或宿主連接的物理網(wǎng)絡(luò)通信,或者一個(gè)宿主的多個(gè)客戶操作系統(tǒng)也可以通過一個(gè)虛擬網(wǎng)卡網(wǎng)絡(luò)進(jìn)行聯(lián)網(wǎng),而該網(wǎng)絡(luò)可以連接到物理網(wǎng)絡(luò),如圖2所示。
圖2 虛擬EDA實(shí)驗(yàn)主機(jī)體系結(jié)構(gòu)圖
在虛擬EDA實(shí)驗(yàn)環(huán)境中,通過軟件技術(shù),服務(wù)器端對各種實(shí)驗(yàn)環(huán)境進(jìn)行模擬,接收來自客戶的實(shí)驗(yàn)操作請求,根據(jù)客戶的不同要求,調(diào)整儀器狀態(tài),模擬實(shí)驗(yàn)現(xiàn)象,生成實(shí)驗(yàn)結(jié)果,輸出相應(yīng)的實(shí)驗(yàn)數(shù)據(jù)。實(shí)驗(yàn)在客戶端進(jìn)行,實(shí)驗(yàn)過程和實(shí)驗(yàn)結(jié)果數(shù)據(jù)可放在服務(wù)器端,一些機(jī)密數(shù)據(jù)可單獨(dú)放在客戶端[3]。為了保證協(xié)同實(shí)驗(yàn)過程中的多人同步,可以通過網(wǎng)絡(luò)與實(shí)驗(yàn)人員進(jìn)行聯(lián)絡(luò),服務(wù)器端的后臺數(shù)據(jù)庫提供實(shí)驗(yàn)數(shù)據(jù)和實(shí)驗(yàn)方法。
在虛擬 EDA實(shí)驗(yàn)中,信息安全涉及密碼技術(shù)、認(rèn)證機(jī)制、防火墻、入侵檢測、安全掃描和網(wǎng)絡(luò)抗病毒等技術(shù)。而在信息安全領(lǐng)域,密碼技術(shù)是最為有效的關(guān)鍵技術(shù)之一[4]。虛擬 EDA實(shí)驗(yàn)中的認(rèn)證機(jī)制通??梢苑譃楹唵握J(rèn)證機(jī)制和強(qiáng)認(rèn)證機(jī)制,服務(wù)系統(tǒng)只接受簡單認(rèn)證機(jī)制中的名字和口令。動(dòng)態(tài)密碼是一種隨機(jī)變化的密碼形式,每次登錄時(shí)使用不同的密碼。一項(xiàng)口令只能在特定的時(shí)間間隔使用一次,重復(fù)使用的口令將被拒絕。當(dāng)前普遍使用的動(dòng)態(tài)密碼認(rèn)證系統(tǒng)主要包括客戶端操作部分和服務(wù)器端認(rèn)證兩個(gè)部分??蛻魴C(jī)活動(dòng)的作用是,通過使用用戶密碼和某些變化的因素作為給定算法的輸入?yún)?shù),操作后得到的處理值被稱為動(dòng)態(tài)密碼,并且作為用戶登錄密碼使用。還可以在服務(wù)器認(rèn)證端執(zhí)行類似操作,將計(jì)算結(jié)果作為認(rèn)證方口令保存,并將其與客戶端發(fā)送的登錄信息相比較,如果兩者匹配,則允許登錄,否則拒絕登錄[5]。在防火墻技術(shù)的實(shí)現(xiàn)過程中,對每一個(gè)數(shù)據(jù)包的源地址、目的地址、所用端口號、協(xié)議狀態(tài)等因素進(jìn)行檢測,或?qū)ζ溥M(jìn)行組合,以決定是否允許數(shù)據(jù)通過防火墻,一般分為網(wǎng)絡(luò)包過濾和網(wǎng)絡(luò)服務(wù)代理。防火墻技術(shù)主要是采用多種技術(shù)相結(jié)合的形式來保護(hù)網(wǎng)絡(luò)免受攻擊。建立一系列規(guī)則,用戶可以指定允許數(shù)據(jù)包進(jìn)入或離開內(nèi)部網(wǎng)絡(luò)的類型,以及傳輸數(shù)據(jù)包的類型,以便進(jìn)行攔截。根據(jù)包的信息,包過濾規(guī)則可以對包的源地址、目標(biāo)地址、封裝協(xié)議、端口號等進(jìn)行過濾。這類操作可以在路由器或網(wǎng)橋和獨(dú)立的主機(jī)上執(zhí)行[6]。在信息安全分析過程中,通過建立虛擬EDA實(shí)驗(yàn)?zāi)P?,對模型中所采用的信息安全保護(hù)措施進(jìn)行檢測,越多的保護(hù)技術(shù)被用來證明虛擬EDA實(shí)驗(yàn)?zāi)P偷男畔踩燃壴礁?。除保護(hù)技術(shù)的應(yīng)用數(shù)量外,保護(hù)技術(shù)的應(yīng)用水平也是決定實(shí)驗(yàn)信息安全等級的一個(gè)重要因素。
實(shí)驗(yàn)攻擊模擬器主要由控制臺、策略編輯工具、測試用例集和攻擊模擬器四大模塊組成。在控制臺上安裝攻擊模擬器,通過編輯源 IP地址、目標(biāo) IP地址、源 MAC地址、目標(biāo) MAC地址、目標(biāo)端口和測試持續(xù)時(shí)間等參數(shù),與策略編輯工具一起選擇攻擊后返回的攻擊字段解析值,來構(gòu)造攻擊數(shù)據(jù)包,實(shí)現(xiàn)具體的網(wǎng)絡(luò)攻擊仿真,顯示 DUT在有狀態(tài)攻擊中的響應(yīng)信息[7]。一般而言,網(wǎng)絡(luò)攻擊可分為探測、已有攻擊、新攻擊、包構(gòu)造以及執(zhí)行等步驟,在探測過程中收集 IP地址、 MAC地址等可用信息,掃描目標(biāo)系統(tǒng)的開放端口,使用的服務(wù)和版本。合成探測階段獲得的 IP、 MAC地址,可能入侵作用點(diǎn)的端口號,所使用的網(wǎng)絡(luò)協(xié)議和攻擊需要的數(shù)據(jù)域,構(gòu)成完整的數(shù)據(jù)包?;谠摲椒▽?shí)現(xiàn)攻擊的具體實(shí)施。
根據(jù)在攻擊端進(jìn)行反攻擊測試時(shí)與 DUT交互的包是否具有上下文關(guān)聯(lián),將攻擊過程分為有狀態(tài)包和無狀態(tài)包。如果攻擊端向DUT發(fā)送一個(gè)或多個(gè)數(shù)據(jù)包,并且期望得到DUT的響應(yīng),直到攻擊端收到DUT的響應(yīng)數(shù)據(jù)包之后,才向DUT發(fā)送下一個(gè)或多個(gè)數(shù)據(jù)包,這樣循環(huán)一次或多次,直到DUT進(jìn)入特定狀態(tài),此時(shí)攻擊端發(fā)出的數(shù)據(jù)包才具有攻擊效果,并且可以看到DUT是否正確響應(yīng)或觸發(fā)了漏洞,那么這一過程就是有狀態(tài)攻擊[8]。如果攻擊端偽造數(shù)據(jù)包并以泛洪方式發(fā)送給DUT,而不期望得到DUT的響應(yīng),則每一個(gè)輸入彼此獨(dú)立,可隨時(shí)查看DUT的狀態(tài)和是否觸發(fā)了漏洞,這一過程為無狀態(tài)攻擊。圖3顯示了有狀態(tài)和無狀態(tài)的攻擊行為。
圖3 有/無狀態(tài)攻擊行為示意圖
此外,基于虛擬 EDA實(shí)驗(yàn)信息安全研究的目的和內(nèi)容,通常把威脅和攻擊分為機(jī)密性攻擊、完整性攻擊和可用性攻擊三大類。保密性攻擊指的是導(dǎo)致信息和其它資源丟失或泄漏。駭客企圖竊取重要的機(jī)密資料,例如密碼,電子郵件,信用卡資料,醫(yī)療紀(jì)錄等。其攻擊方式多種多樣,主要有查找系統(tǒng)漏洞、密碼算法漏洞等。完全攻擊意味著破壞信息和其它資源。黑客經(jīng)常試圖非法修改局部系統(tǒng)[9]。比如,銀行職員修改賬戶系統(tǒng),以便將客戶資金存入自己的個(gè)人賬戶,這會(huì)危害到整個(gè)交易系統(tǒng)的安全??捎眯怨羝茐牧诵畔⒎?wù)。黑客經(jīng)常試圖破壞系統(tǒng)的正常工作。它主要指拒絕服務(wù)類攻擊。例如,攻擊者會(huì)肆無忌憚地攻擊系統(tǒng),使其與網(wǎng)絡(luò)的其它部分隔離。
攻擊行為發(fā)生的行為規(guī)則是網(wǎng)絡(luò)存在漏洞,即漏洞是攻擊發(fā)生的前提和基礎(chǔ)。所以,一個(gè)攻擊者的一次攻擊行為可以被看作是一個(gè)對漏洞的利用。與此同時(shí),攻擊行為的發(fā)生還必須滿足一些其它的先決條件,比如必須有連接關(guān)系,或者有一定的權(quán)限級別等[10]。若攻擊行為成功完成,則此行為所產(chǎn)生的結(jié)果可視為一次攻擊權(quán)限的提升或網(wǎng)絡(luò)中連接關(guān)系的增加或漏洞的增加。若這次攻擊尚未達(dá)到攻擊目標(biāo),則這次攻擊行為所產(chǎn)生的結(jié)果可視為下一次攻擊的準(zhǔn)備工作,而一次攻擊行為的成功實(shí)施則需要付出一定的代價(jià)。因此,可以將攻擊行為用四元組來表示,四元組的具體表達(dá)式為:
A=Vul×Pre×Ppost×Ccon
(1)
式(1)中,Vul表示攻擊所利用的漏洞,Pre表示利用此漏洞進(jìn)行攻擊必須滿足的前提條件的集合,Ppost表示攻擊行為導(dǎo)致的后果的集合,而Ccon表示攻擊行為完成所花費(fèi)的代價(jià)。
設(shè)信息安全虛擬EDA實(shí)驗(yàn)攻擊位置近鄰查詢函數(shù)表達(dá)式為P(xi,j),如下所示。
(2)
虛擬EDA實(shí)驗(yàn)信息安全實(shí)時(shí)攻擊過程可分為三個(gè)階段:準(zhǔn)備階段、實(shí)時(shí)攻擊階段和善后處理階段。在準(zhǔn)備階段,攻擊者需要收集信息,一旦攻擊者確定了目標(biāo)主機(jī),攻擊者就會(huì)試圖了解其所在的網(wǎng)絡(luò)結(jié)構(gòu)、訪問控制機(jī)制、系統(tǒng)信息等[11]。利用端口掃描工具掃描開放端口和開放服務(wù),使用安全掃描器掃描系統(tǒng)存在的漏洞和弱點(diǎn)信息,利用公共信息和社會(huì)工程技術(shù)獲取有價(jià)值的信息資源,是收集系統(tǒng)信息的方法。此外,攻擊者在選擇目標(biāo)時(shí),首先要確定的是目標(biāo)主機(jī)上有哪些漏洞,是否可以利用這些漏洞為跳板進(jìn)行攻擊。因此,在日常的網(wǎng)絡(luò)管理工作中,徹底堵住這些漏洞是十分必要和必要的。就系統(tǒng)漏洞而言,再加上操作系統(tǒng)本身的安全漏洞,攻擊者們最喜歡的當(dāng)然是應(yīng)用程序的安全漏洞了。根據(jù)底層技術(shù)的劃分,目前漏洞掃描可以分為基于網(wǎng)絡(luò)的掃描和基于主機(jī)的掃描兩種類型。
在攻擊的實(shí)施階段,攻擊者經(jīng)常使用程序攻擊法,包括病毒、特洛伊木馬等,以及緩沖區(qū)溢出攻擊、協(xié)議漏洞、拒絕服務(wù)攻擊等,另外網(wǎng)絡(luò)電子欺騙攻擊也是主動(dòng)攻擊的重要手段。就拿拒絕服務(wù)攻擊來說,惡意用戶向服務(wù)器發(fā)送大量請求確認(rèn)的信息,使服務(wù)器充滿了這些無用信息。請求的地址都是假的,當(dāng)服務(wù)器試圖回傳的時(shí)候,卻找不到用戶。在斷開連接之前,服務(wù)器會(huì)暫時(shí)等待,有時(shí)會(huì)超過一分鐘。在服務(wù)器斷開連接后,攻擊者又發(fā)送新的假請求,這一過程周而復(fù)始,最終容易使網(wǎng)站癱瘓,無法正常為用戶提供服務(wù)。
通常,在成功入侵之后,攻擊者為了實(shí)現(xiàn)對主機(jī)的長期控制,會(huì)立即在系統(tǒng)中設(shè)置一個(gè)后門,以便隨時(shí)可以登錄系統(tǒng)?!昂箝T”是登錄系統(tǒng)的一種方式,它不僅可以繞過系統(tǒng)現(xiàn)有的安全設(shè)置,而且可以阻止系統(tǒng)中各種增強(qiáng)的安全設(shè)置[12]。從技術(shù)上講,后門的種類主要有:網(wǎng)頁后門,插入后門,擴(kuò)展后門,C/S后門等等。登錄經(jīng)常會(huì)記錄攻擊者入侵的痕跡,為避免被系統(tǒng)管理員發(fā)現(xiàn)犯罪證據(jù),登錄完成后,需要將系統(tǒng)日志文件、應(yīng)用程序日志文件和防火墻日志文件等進(jìn)行清除?;?qū)⑷肭智跋到y(tǒng)日志覆蓋為假日志。
為了測試設(shè)計(jì)的信息安全虛擬EDA實(shí)驗(yàn)攻擊過程實(shí)時(shí)仿真方法的應(yīng)用效果,設(shè)計(jì)仿真,并對比攻擊過程實(shí)時(shí)仿真方法應(yīng)用前后,虛擬EDA實(shí)驗(yàn)的信息安全性變化情況。仿真環(huán)境分為兩個(gè)部分,一個(gè)是信息安全虛擬EDA實(shí)驗(yàn)環(huán)境,另一個(gè)是實(shí)驗(yàn)的攻擊過程實(shí)時(shí)仿真環(huán)境,其中MAX+plusII是這個(gè)實(shí)驗(yàn)環(huán)境的主要運(yùn)行工具,它提供了一個(gè)界面,可以與其它工業(yè)標(biāo)準(zhǔn)的 EDA工具軟件一起使用。該界面符合EDIF200和EDIF300標(biāo)準(zhǔn),LPM2.1的參數(shù)化模塊庫,標(biāo)準(zhǔn)的延遲格式SDF2.0,VITAL95,VerilogHDL,VHDL1987和VHDL1993等標(biāo)準(zhǔn)。設(shè)計(jì)輸入可使用其它 EDA工具軟件,再使用 MAX+plusII的計(jì)算機(jī)進(jìn)行編譯處理,以及使用第三方 EDA工具進(jìn)行設(shè)備和板級仿真,如圖4所示的信息安全虛擬 EDA實(shí)驗(yàn)運(yùn)行環(huán)境。
圖4 信息安全虛擬EDA實(shí)驗(yàn)運(yùn)行界面
實(shí)驗(yàn)攻擊過程的模擬運(yùn)行環(huán)境還包括1臺服務(wù)器和50臺計(jì)算機(jī),任意5臺計(jì)算機(jī)都分別安裝了2臺虛擬機(jī),這樣就有15臺目標(biāo)訓(xùn)練主機(jī),45臺訓(xùn)練主機(jī),60臺主機(jī)和服務(wù)器組成一個(gè)局域網(wǎng)。就 IP地址分配而言,服務(wù)器192.168.0.1,靶機(jī)地址分布在192.168.0.2到192.168.0.16之間,測試主機(jī)地址分布在192.168.0.101到192.168.0.145之間,靶機(jī)訓(xùn)練主機(jī)的系統(tǒng)和軟件安裝都是根據(jù)不同科目的需要而確定的,并將這些信息存入實(shí)驗(yàn)數(shù)據(jù)庫中,作為實(shí)驗(yàn)的樣本數(shù)據(jù)。由于信息安全虛擬EDA實(shí)驗(yàn)攻擊過程實(shí)時(shí)仿真方法中應(yīng)用了攻擊模擬器,因此在實(shí)驗(yàn)環(huán)境中通過運(yùn)行得出攻擊模擬器的運(yùn)行界面,如圖5所示。
圖5 實(shí)驗(yàn)攻擊模擬器界面設(shè)計(jì)
按照設(shè)計(jì)攻擊仿真方法的運(yùn)行原理,對虛擬EDA實(shí)驗(yàn)中的信息安全進(jìn)行攻擊與測試,進(jìn)而得出實(shí)驗(yàn)的輸出結(jié)果如圖6所示。
圖6 信息安全虛擬EDA實(shí)驗(yàn)輸出結(jié)果
結(jié)合圖6中得出的實(shí)驗(yàn)測試結(jié)果,可以得出當(dāng)前虛擬EDA實(shí)驗(yàn)信息安全的缺陷,進(jìn)而對實(shí)驗(yàn)的信息安全進(jìn)行維護(hù)與改進(jìn)。分別統(tǒng)計(jì)實(shí)驗(yàn)攻擊過程仿真方法應(yīng)用前后,虛擬EDA實(shí)驗(yàn)信息的丟失量和篡改量,從而得出能夠反映攻擊過程仿真方法應(yīng)用性能的測試結(jié)果,如表1所示。
表1 實(shí)驗(yàn)攻擊過程仿真方法應(yīng)用性能測試結(jié)果
從表1中可以看出,攻擊過程仿真方法應(yīng)用前后,虛擬EDA實(shí)驗(yàn)信息的平均篡改量和丟失量,經(jīng)過計(jì)算仿真方法應(yīng)用后信息的平均篡改量降低了約3.40MB,丟包量降低了約5.13MB。由此可見,將設(shè)計(jì)的攻擊過程仿真方法應(yīng)用到虛擬EDA實(shí)驗(yàn)的信息安全管理工作當(dāng)中,可以有效地提升信息的安全性,對于保存EDA實(shí)驗(yàn)信息具有重要意義。
作為伴隨著網(wǎng)絡(luò)信息化發(fā)展的一對矛盾體,網(wǎng)絡(luò)攻防在當(dāng)今乃至未來仍將是網(wǎng)絡(luò)信息化發(fā)展的主旋律。而且從紛亂復(fù)雜的網(wǎng)絡(luò)攻擊中還可以循跡摸索出各種網(wǎng)絡(luò)攻擊的特點(diǎn),有針對性地開發(fā)出各種防御方法或工具。虛擬EDA實(shí)驗(yàn)在開發(fā)信息安全防護(hù)技術(shù)時(shí),更需要查漏補(bǔ)缺,強(qiáng)化各種管理手段,從源頭上消除網(wǎng)絡(luò)安全隱患,同時(shí)借助現(xiàn)有防護(hù)手段,提高實(shí)驗(yàn)信息的安全性。