王 磊,蘇命峰
(中南大學計算機學院,湖南長沙 410083)
電子設計自動化是從計算機輔助設計、計算機輔助制造、計算機輔助工程等概念發展而來的電子設計自動化。設計人員在EDA軟件平臺上,利用硬件描述語言VHDL,以計算機為工具,記性自動編輯、精簡、布局、模擬或者優化設計,直至完成特定目標的邏輯映射,虛擬EDA實驗攻擊過程[1]。通過使用EDA技術,在一定程度上可以提高電路設計的效率和可操作性,減輕了設計者的勞動強度。為確保電子設計自動化設計結果的應用性能,在投入生產和使用前都要經過試驗測試,通過測試的電子設計自動化設備和程序才能投入使用。
在高等教育、遠程教育和科技普及中,虛擬EDA實驗是必不可少的環節。大學和社會中有相當一部分人想要掌握一定的信息安全方面的技術和知識,有關方面的培訓需求越來越大,而與實驗相關的信息安全產品如防火墻、入侵檢測等的成本較高,因此需要研制一套價格低廉的信息安全技術實驗產品,對虛擬 EDA實驗中的信息安全攻擊過程進行實時仿真,從而保證 EDA實驗結果的完整性和正確性。
虛擬化EDA實驗攻擊主要是指攻擊者利用當前網絡通信協議本身存在的問題、漏洞或者因為誤操作不合適的設備所造成的安全漏洞等,通過使用網絡命令或從Interact下載專用軟件或攻擊者自己編寫的軟件,在本地或遠程的用戶主機系統中非法獲取、修改、刪除用戶系統隱私信息。利用虛擬EDA實驗中攻擊過程的實時仿真技術,分別從保密性、真實性、完整性、未授權拷貝以及所寄生系統的安全性等五個方面,對虛擬EDA實驗中的信息安全進行仿真,并得出攻擊測試結果。
針對虛擬 EDA實驗中的信息安全問題,提出了一種實驗攻擊過程實時仿真方法,并結合網絡攻擊的一般構成結構和攻擊步驟,實現了攻擊仿真過程,圖1顯示了攻擊的基本構成。

圖1 攻擊基本組成框圖
為保證虛擬 EDA實驗模型 PC操作系統環境的穩定性,在存在故障、有統一操作環境要求或需要進行基于網絡的程序測試的情況下,采用了虛擬主機方案。虛擬機是通過軟件模擬在物理計算機的操作系統上的“計算機”,用戶操作系統只是主機操作系統上的一個特殊的數據文件[2]。客戶機上的任何操作僅影響宿主操作系統上的這一數據文件,而且,提供虛擬主機的軟件也可以將計算機設備虛擬到客戶機上,其中虛擬網卡可以與宿主或宿主連接的物理網絡通信,或者一個宿主的多個客戶操作系統也可以通過一個虛擬網卡網絡進行聯網,而該網絡可以連接到物理網絡,如圖2所示。

圖2 虛擬EDA實驗主機體系結構圖
在虛擬EDA實驗環境中,通過軟件技術,服務器端對各種實驗環境進行模擬,接收來自客戶的實驗操作請求,根據客戶的不同要求,調整儀器狀態,模擬實驗現象,生成實驗結果,輸出相應的實驗數據。實驗在客戶端進行,實驗過程和實驗結果數據可放在服務器端,一些機密數據可單獨放在客戶端[3]。為了保證協同實驗過程中的多人同步,可以通過網絡與實驗人員進行聯絡,服務器端的后臺數據庫提供實驗數據和實驗方法。
在虛擬 EDA實驗中,信息安全涉及密碼技術、認證機制、防火墻、入侵檢測、安全掃描和網絡抗病毒等技術。而在信息安全領域,密碼技術是最為有效的關鍵技術之一[4]。虛擬 EDA實驗中的認證機制通常可以分為簡單認證機制和強認證機制,服務系統只接受簡單認證機制中的名字和口令。動態密碼是一種隨機變化的密碼形式,每次登錄時使用不同的密碼。一項口令只能在特定的時間間隔使用一次,重復使用的口令將被拒絕。當前普遍使用的動態密碼認證系統主要包括客戶端操作部分和服務器端認證兩個部分。客戶機活動的作用是,通過使用用戶密碼和某些變化的因素作為給定算法的輸入參數,操作后得到的處理值被稱為動態密碼,并且作為用戶登錄密碼使用。還可以在服務器認證端執行類似操作,將計算結果作為認證方口令保存,并將其與客戶端發送的登錄信息相比較,如果兩者匹配,則允許登錄,否則拒絕登錄[5]。在防火墻技術的實現過程中,對每一個數據包的源地址、目的地址、所用端口號、協議狀態等因素進行檢測,或對其進行組合,以決定是否允許數據通過防火墻,一般分為網絡包過濾和網絡服務代理。防火墻技術主要是采用多種技術相結合的形式來保護網絡免受攻擊。建立一系列規則,用戶可以指定允許數據包進入或離開內部網絡的類型,以及傳輸數據包的類型,以便進行攔截。根據包的信息,包過濾規則可以對包的源地址、目標地址、封裝協議、端口號等進行過濾。這類操作可以在路由器或網橋和獨立的主機上執行[6]。在信息安全分析過程中,通過建立虛擬EDA實驗模型,對模型中所采用的信息安全保護措施進行檢測,越多的保護技術被用來證明虛擬EDA實驗模型的信息安全等級越高。除保護技術的應用數量外,保護技術的應用水平也是決定實驗信息安全等級的一個重要因素。
實驗攻擊模擬器主要由控制臺、策略編輯工具、測試用例集和攻擊模擬器四大模塊組成。在控制臺上安裝攻擊模擬器,通過編輯源 IP地址、目標 IP地址、源 MAC地址、目標 MAC地址、目標端口和測試持續時間等參數,與策略編輯工具一起選擇攻擊后返回的攻擊字段解析值,來構造攻擊數據包,實現具體的網絡攻擊仿真,顯示 DUT在有狀態攻擊中的響應信息[7]。一般而言,網絡攻擊可分為探測、已有攻擊、新攻擊、包構造以及執行等步驟,在探測過程中收集 IP地址、 MAC地址等可用信息,掃描目標系統的開放端口,使用的服務和版本。合成探測階段獲得的 IP、 MAC地址,可能入侵作用點的端口號,所使用的網絡協議和攻擊需要的數據域,構成完整的數據包。基于該方法實現攻擊的具體實施。
根據在攻擊端進行反攻擊測試時與 DUT交互的包是否具有上下文關聯,將攻擊過程分為有狀態包和無狀態包。如果攻擊端向DUT發送一個或多個數據包,并且期望得到DUT的響應,直到攻擊端收到DUT的響應數據包之后,才向DUT發送下一個或多個數據包,這樣循環一次或多次,直到DUT進入特定狀態,此時攻擊端發出的數據包才具有攻擊效果,并且可以看到DUT是否正確響應或觸發了漏洞,那么這一過程就是有狀態攻擊[8]。如果攻擊端偽造數據包并以泛洪方式發送給DUT,而不期望得到DUT的響應,則每一個輸入彼此獨立,可隨時查看DUT的狀態和是否觸發了漏洞,這一過程為無狀態攻擊。圖3顯示了有狀態和無狀態的攻擊行為。

圖3 有/無狀態攻擊行為示意圖
此外,基于虛擬 EDA實驗信息安全研究的目的和內容,通常把威脅和攻擊分為機密性攻擊、完整性攻擊和可用性攻擊三大類。保密性攻擊指的是導致信息和其它資源丟失或泄漏。駭客企圖竊取重要的機密資料,例如密碼,電子郵件,信用卡資料,醫療紀錄等。其攻擊方式多種多樣,主要有查找系統漏洞、密碼算法漏洞等。完全攻擊意味著破壞信息和其它資源。黑客經常試圖非法修改局部系統[9]。比如,銀行職員修改賬戶系統,以便將客戶資金存入自己的個人賬戶,這會危害到整個交易系統的安全。可用性攻擊破壞了信息服務。黑客經常試圖破壞系統的正常工作。它主要指拒絕服務類攻擊。例如,攻擊者會肆無忌憚地攻擊系統,使其與網絡的其它部分隔離。
攻擊行為發生的行為規則是網絡存在漏洞,即漏洞是攻擊發生的前提和基礎。所以,一個攻擊者的一次攻擊行為可以被看作是一個對漏洞的利用。與此同時,攻擊行為的發生還必須滿足一些其它的先決條件,比如必須有連接關系,或者有一定的權限級別等[10]。若攻擊行為成功完成,則此行為所產生的結果可視為一次攻擊權限的提升或網絡中連接關系的增加或漏洞的增加。若這次攻擊尚未達到攻擊目標,則這次攻擊行為所產生的結果可視為下一次攻擊的準備工作,而一次攻擊行為的成功實施則需要付出一定的代價。因此,可以將攻擊行為用四元組來表示,四元組的具體表達式為:
A=Vul×Pre×Ppost×Ccon
(1)
式(1)中,Vul表示攻擊所利用的漏洞,Pre表示利用此漏洞進行攻擊必須滿足的前提條件的集合,Ppost表示攻擊行為導致的后果的集合,而Ccon表示攻擊行為完成所花費的代價。
設信息安全虛擬EDA實驗攻擊位置近鄰查詢函數表達式為P(xi,j),如下所示。

(2)
虛擬EDA實驗信息安全實時攻擊過程可分為三個階段:準備階段、實時攻擊階段和善后處理階段。在準備階段,攻擊者需要收集信息,一旦攻擊者確定了目標主機,攻擊者就會試圖了解其所在的網絡結構、訪問控制機制、系統信息等[11]。利用端口掃描工具掃描開放端口和開放服務,使用安全掃描器掃描系統存在的漏洞和弱點信息,利用公共信息和社會工程技術獲取有價值的信息資源,是收集系統信息的方法。此外,攻擊者在選擇目標時,首先要確定的是目標主機上有哪些漏洞,是否可以利用這些漏洞為跳板進行攻擊。因此,在日常的網絡管理工作中,徹底堵住這些漏洞是十分必要和必要的。就系統漏洞而言,再加上操作系統本身的安全漏洞,攻擊者們最喜歡的當然是應用程序的安全漏洞了。根據底層技術的劃分,目前漏洞掃描可以分為基于網絡的掃描和基于主機的掃描兩種類型。
在攻擊的實施階段,攻擊者經常使用程序攻擊法,包括病毒、特洛伊木馬等,以及緩沖區溢出攻擊、協議漏洞、拒絕服務攻擊等,另外網絡電子欺騙攻擊也是主動攻擊的重要手段。就拿拒絕服務攻擊來說,惡意用戶向服務器發送大量請求確認的信息,使服務器充滿了這些無用信息。請求的地址都是假的,當服務器試圖回傳的時候,卻找不到用戶。在斷開連接之前,服務器會暫時等待,有時會超過一分鐘。在服務器斷開連接后,攻擊者又發送新的假請求,這一過程周而復始,最終容易使網站癱瘓,無法正常為用戶提供服務。
通常,在成功入侵之后,攻擊者為了實現對主機的長期控制,會立即在系統中設置一個后門,以便隨時可以登錄系統。“后門”是登錄系統的一種方式,它不僅可以繞過系統現有的安全設置,而且可以阻止系統中各種增強的安全設置[12]。從技術上講,后門的種類主要有:網頁后門,插入后門,擴展后門,C/S后門等等。登錄經常會記錄攻擊者入侵的痕跡,為避免被系統管理員發現犯罪證據,登錄完成后,需要將系統日志文件、應用程序日志文件和防火墻日志文件等進行清除。或將入侵前系統日志覆蓋為假日志。
為了測試設計的信息安全虛擬EDA實驗攻擊過程實時仿真方法的應用效果,設計仿真,并對比攻擊過程實時仿真方法應用前后,虛擬EDA實驗的信息安全性變化情況。仿真環境分為兩個部分,一個是信息安全虛擬EDA實驗環境,另一個是實驗的攻擊過程實時仿真環境,其中MAX+plusII是這個實驗環境的主要運行工具,它提供了一個界面,可以與其它工業標準的 EDA工具軟件一起使用。該界面符合EDIF200和EDIF300標準,LPM2.1的參數化模塊庫,標準的延遲格式SDF2.0,VITAL95,VerilogHDL,VHDL1987和VHDL1993等標準。設計輸入可使用其它 EDA工具軟件,再使用 MAX+plusII的計算機進行編譯處理,以及使用第三方 EDA工具進行設備和板級仿真,如圖4所示的信息安全虛擬 EDA實驗運行環境。

圖4 信息安全虛擬EDA實驗運行界面
實驗攻擊過程的模擬運行環境還包括1臺服務器和50臺計算機,任意5臺計算機都分別安裝了2臺虛擬機,這樣就有15臺目標訓練主機,45臺訓練主機,60臺主機和服務器組成一個局域網。就 IP地址分配而言,服務器192.168.0.1,靶機地址分布在192.168.0.2到192.168.0.16之間,測試主機地址分布在192.168.0.101到192.168.0.145之間,靶機訓練主機的系統和軟件安裝都是根據不同科目的需要而確定的,并將這些信息存入實驗數據庫中,作為實驗的樣本數據。由于信息安全虛擬EDA實驗攻擊過程實時仿真方法中應用了攻擊模擬器,因此在實驗環境中通過運行得出攻擊模擬器的運行界面,如圖5所示。

圖5 實驗攻擊模擬器界面設計
按照設計攻擊仿真方法的運行原理,對虛擬EDA實驗中的信息安全進行攻擊與測試,進而得出實驗的輸出結果如圖6所示。

圖6 信息安全虛擬EDA實驗輸出結果
結合圖6中得出的實驗測試結果,可以得出當前虛擬EDA實驗信息安全的缺陷,進而對實驗的信息安全進行維護與改進。分別統計實驗攻擊過程仿真方法應用前后,虛擬EDA實驗信息的丟失量和篡改量,從而得出能夠反映攻擊過程仿真方法應用性能的測試結果,如表1所示。

表1 實驗攻擊過程仿真方法應用性能測試結果
從表1中可以看出,攻擊過程仿真方法應用前后,虛擬EDA實驗信息的平均篡改量和丟失量,經過計算仿真方法應用后信息的平均篡改量降低了約3.40MB,丟包量降低了約5.13MB。由此可見,將設計的攻擊過程仿真方法應用到虛擬EDA實驗的信息安全管理工作當中,可以有效地提升信息的安全性,對于保存EDA實驗信息具有重要意義。
作為伴隨著網絡信息化發展的一對矛盾體,網絡攻防在當今乃至未來仍將是網絡信息化發展的主旋律。而且從紛亂復雜的網絡攻擊中還可以循跡摸索出各種網絡攻擊的特點,有針對性地開發出各種防御方法或工具。虛擬EDA實驗在開發信息安全防護技術時,更需要查漏補缺,強化各種管理手段,從源頭上消除網絡安全隱患,同時借助現有防護手段,提高實驗信息的安全性。