

摘要:針對網絡攻防課程實驗環境的構建問題,本文設計了作為網絡攻防課程的教學和實驗輔助環境的網絡攻防演練平臺。以通過建立課堂演示和課程相關的驗證性實驗攻擊標靶搭建攻擊測試環境為目標進行模塊化的設計,同時,針對支持網絡攻防對抗演練的支撐環境進行設計,對推進網絡攻防課程教學和提高學生動手能力具有重要意義。
關鍵詞:演練平臺;教學演示;目標虛擬化;實戰環境
隨著互聯網、專用網絡化信息系統和各種網絡應用的普及,網絡與信息安全已成為關系到國家政治、國防、社會的重要問題,它對培養具有網絡信息安全知識和應用技能的專業技術人才提出了更高要求。網絡攻防是網絡信息安全方向的重要課程,主要以網絡攻擊步驟為線索向學生介紹黑客攻擊各階段常用的攻擊方法和原理,以及對相應網絡攻擊的防護策略和手段。該課程實踐性較強,而且具體的攻擊方法往往針對現實的網絡環境和網絡服務。為了將實戰性較強和具有實際網絡環境特色的攻擊技術在課堂教學和實驗環境中展現,需要在實驗室里有選擇和有針對性地創建應用網絡環境。在這個環境中,一方面攻擊技術手段有了再現的場景,可以實現攻防方法的演示再現甚至對抗性的攻防演練;另一方面,將教學和實驗操作中產生的攻擊行為限制在一定的范圍內,防止對互聯網的實際網絡和服務造成干擾和破壞。
網絡攻防演練平臺就是要解決網絡攻防課程的課堂演示和實驗操作環境方面的問題。該平臺作為網絡攻防實驗室的主要環境,一方面選擇了某些實驗內容并搭建適當的環境,對網絡攻防的課堂演示和課程相關的驗證性實驗提供特定場景;另一方面為網絡信息安全知識的應用提供了綜合實驗環境,支持網絡攻防對抗演練。該平臺在網絡攻防實驗課程的實踐中取得了較好效果。
1整體架構
網絡攻防演練平臺要同時具有教學演示、攻擊實驗和攻擊演練的功能,既要設置有效的攻擊環境,又要解決平臺支撐服務器和實驗教學網絡自身的安全可靠性問題。為了解決這兩者之間的矛盾,我們將提供演示和學習資料的服務器組和攻擊實驗子網用防火墻進行隔離,采用了如圖1所示的網絡拓撲結構。
在受防火墻保護的服務器組里配置了實驗教學系統,防火墻另一側的攻擊子網里配置了標靶服務器,結合每次實驗內容,設置具有一定脆弱性的網絡服務,提供了攻擊演示和驗證性實驗的環境。實驗PC組的網絡設置方式有效支持了對抗性攻擊演練。下面詳細介紹教學演示、驗證性實驗環境和對抗性實驗環境這幾部分的設計。
2教學演示部分
教學演示部分由Web服務器、流媒體服務器和備份服務器支撐,具有課件信息更新、學生管理、在線交流、實驗設置和作業提交等功能。在內容上緊密結合課程教學,涵蓋了網絡攻防各個方面,是課堂授課內容的補充。該部分的設計體現了學生在自學加練習中知識積累和能力提高的學習規律。
演練平臺的演示部分采用了流行的網上教學平臺形式,使用瀏覽器服務器模式,瀏覽器作為客戶端,用ASP實現Web應用界面,MSSQLSERVER 作為數據庫存儲管理信息和演示內容的三層結構。該結構便于用戶界面的優化和演示內容的添加,適合網絡攻防的內容量大且不斷更新的特點[1]。對每次實驗的教學演示,都把攻擊過程的各個操作細節通過屏幕錄像軟件制作成視頻,存放在流媒體服務器上,在教學演示系統中通過網絡視頻的方式播放。演示部分和練習內容緊密結合,每章內容在實驗相關知識和視頻演示之后,提供了驗證性實驗的操作步驟說明以及相關工具、素材的說明和下載服務,體現學習和練習互動的特點。
在線交流是以BBS的形式給教師與學生一個公開交流的場所。指導老師可以通過它方便地回答學生做實驗時遇到的問題,也可以在BBS上提出各種問題來考查學生,了解學習進度。學生則可以通過它來相互交流經驗,討論老師所提的問題,發表自己的觀點[2]。
在備份服務器上,一方面建立課程的FTP站點,提供學習資料的下載和共享,另一方面提供了Web服務器、標靶服務器、視頻文件以及操作系統鏡像的備份,保證整個平臺的可靠運行。
3驗證性實驗環境
驗證性實驗環境為教學演示和實驗課提供測試素材和環境支持。基于多年的網絡攻防實驗的課堂實踐積累,按照網絡攻擊不同階段的順序,在該環境中設置了如下實驗主題。
實驗1網絡安全掃描;
實驗2口令攻擊;
實驗3緩沖區溢出原理;
實驗4腳本攻擊和防范;
實驗5木馬攻擊和查殺;
實驗6防火墻入侵檢測系統的使用。
每個主題都由若干難易程度不同的實驗項目組成,在驗證性實驗的內容選擇和環境設計中體現了以下原則。
1) 以理解原理為主。
該部分實驗的目的在于對課堂知識的印證和加深理解,偏重于原理展示,要求簡潔直觀,具有啟發性。因此對于每個實驗主題,結合平臺演示部分的相關知識介紹,精心選擇了最具代表性的素材和經典案例作為實驗內容,在盡量簡潔的環境配置下,提供通用強的一般工具,在操作的步驟中體現網絡協議分析、操作系統原理和程序設計的基礎知識應用,使學生能夠加深了解相應網絡攻防技術的原理。同時,在內容上便于學生操作和理解掌握,為提高動手能力、激發興趣開展自主研究提供了必要的基礎,并按照實驗順序在后續操作中提供了較為復雜的提高性實驗工具。
如對于網絡安全掃描實驗,既使用了Superscan等功能簡捷、操作簡單的圖形界面工具,又使用了專業性較強的nmap命令行掃描工具,在掃描的過程中,用網絡嗅探器采集這些工具在工作的時候發送的數據包,對照掃描工具產生的結果信息,分析這些工具掃描和判別時的工作原理,如圖2所示。
對于腳本攻擊中的SQL注入實驗,首先要求學生設計一個最簡的、具有注入漏洞的頁面。在實驗指導中給出了下面的相應代碼。
404 Not Found
404 Not Found
nginx
輸入的查詢語句為:
<%
f = request("ID")
sqlsearch="select * from news where ID="&f
response.write(sqlsearch)
mrs=conn.execute(sqlsearch)
%>
學生只要運用動態網頁程序設計和Web服務器搭建的相關知識,通過上述簡單代碼就可設計出一個具有漏洞的頁面,進而通過SQL注入工具進行數據庫各個表名字段的猜解攻擊測試,從而掌握這種攻擊方法的原理,可以舉一反三。
其他實驗內容在使用一些自動化工具的時候,同樣結合通用的系統和網絡分析軟件,使學生對實驗結果的分析建立在掌握基本原理的基礎上。
在每個主題的驗證性實驗之后,設置了提高性實驗內容,學生在掌握原理的基礎上,可以進行相應主題下的較深層次的實驗內容,以及根據實驗要求里提出的研究內容進行設計性實驗練習。每個主題在整體上具有良好的難度層次劃分。
2) 攻防實驗相結合。
攻和防的能力是相互提高的。攻防實驗相結合,可使實驗內容更具針對性和現實性,在實驗環境的組建上也可以互相搭配組合。
首先,在攻擊技術實驗中,都針對攻擊的原理提出怎樣進行防護的問題,并設置了防護實驗內容。如對于緩沖區溢出、SQL注入和跨站腳本攻擊,在自行實現具有漏洞的程序,并利用攻擊工具進行突破的同時,要求對相應的代碼進行安全性修改,達到防范攻擊的目的,實驗本身也達到了鍛煉安全編程能力的目的。數據捕獲和分析的在木馬一章的實驗里,首先進行木馬遠程控制實現和隱藏技術的實驗內容,然后有針對的進行木馬檢測和清除的實驗。其他的如口令攻擊等實驗,都設置了對相應攻擊防范的內容。另外,一些實驗本身就具有攻防兩方面的雙重意義,如網絡數據捕獲和分析,既是嗅探攻擊的手段,又是入侵檢測的基礎步驟。攻和防的實驗已密不可分。
其次,在安全性實驗里,要求攻擊內容作為配合。在防火墻和入侵檢測系統使用實驗里,要求在設置了防護系統后,通過重復攻擊性實驗內容產生攻擊數據,查看安全軟硬件的防護效果。對防護系統安全配置策略的理解也要建立在對攻擊行為了解的基礎上。作為最后一個驗證性實驗,綜合練習了前面的實驗內容。
3) 攻擊性實驗標靶的虛擬化。
攻擊性實驗需要一個現實的具有漏洞的系統和服務作為攻擊的目標,一些攻擊的破壞性會影響系統和網絡的正常運行,影響他人的實驗操作,有的意外操作甚至會造成系統不可恢復的破壞。為了在有限的實驗室資源條件下,使學生能并行且充分地完成攻擊實驗內容,網絡攻防演練平臺著重考慮攻擊實驗目標的虛擬化。
攻擊實驗和教學演示統一在靶機上進行,靶機由虛擬機構建。虛擬機利用現有操作系統的軟硬件資源,虛擬出新的標準PC硬件環境,可以在里面安裝新的兼容系統,并通過虛擬機軟件創建模擬的網絡環境。虛擬機本身以文件形式存放在磁盤上,利用虛擬機里的操作系統安裝具有漏洞的服務后作為靶機,只需要復制虛擬機文件,就可以快速建立攻擊的環境,具有方便備份恢復的特點。將靶機建立在虛擬機構成的