馬文靜 吳建軍 周家慶



摘要:Web安全漏洞是網絡安全的主要的威脅之一,網絡空間安全專業實驗不同于普通實驗,安全測試實驗不允許在真實網絡環境中實施。因此,本文作者通過虛擬仿真項目構建了“真實”的漏洞場景,Docker容器虛擬化技術為仿真提供了低成本、高效率的實驗環境,在實驗平臺的綜合協調下,實現了Web安全漏洞實驗的線上共享開放教學。項目體現了網絡空間安全的特色,符合虛擬仿真項目建設要求。
關鍵詞:虛擬仿真;Web安全漏洞;Docker
中圖分類號:G434? 文獻標識碼:A? 論文編號:1674-2117(2021)08-0101-04
● 引言
“Web安全基礎”是網絡空間安全專業的主要專業課程之一,該課程配套的Web安全漏洞實驗教學,將Web安全領域典型安全漏洞的滲透測試和對應防御安全威脅的安全開發能力培養相結合,讓學生既具有一定的Web安全滲透測試能力,也具有較好的Web軟件安全開發能力,體現了本專業的人才培養特色。
網絡安全漏洞實驗,本身就帶有安全漏洞的測試靶機,它們不適合部署在常規的Web服務器容器中。在常規服務器部署安全漏洞靶機,會因滲透實驗過程而使整個服務器被攻擊利用,無法實現正常的實驗教學,一般只適合在用戶本地機器進行實驗測試。“根據實驗教學計劃和實際情況,本著‘能實不虛的原則加大虛擬仿真實驗教學項目建設力度,探索線上線下教學相結合的新型實驗教學模式。”[1]Web安全漏洞仿真實驗,基于虛擬仿真實驗建設的文件精神,遵循“虛實結合,能實不虛,開放共享”的原則,將“Web安全漏洞實驗”通過虛擬化容器管理模式,實現漏洞實驗的安全測試,實現了實驗教學的過程化管理。它明顯優于傳統的實驗靶機分散本地測試模式,較完善地達到了課程教學目標。
● Web安全漏洞仿真實驗平臺建設目標
本項目基于Web安全漏洞靶機,以Docker容器虛擬化技術進行部署,在本項目框架平臺中實現統一管理和自動測評。部署本項目后,教師可以統一管理實驗,學生按相關任務完成并提交實驗結果,系統自動給予操作評價,并指出錯誤原因。
基于Docker容器虛擬化技術的仿真實驗系統,每個學生的實驗環境都是獨立的,不會因為滲透測試行為而使相互之間的實驗受到影響;每個學生的實驗環境都是封閉的,測試行為不會對部署本項目平臺的服務器產生安全影響;每個學生的實驗行為和結果都實現了過程化管理,能滿足線上線下混合式教學需求。通過實驗,主要學習和驗證跨站點腳本攻擊(XSS)、命令執行漏洞、CSRF跨站請求偽造、SQL注入、Authentication Flaws認證缺陷、Access Control Flaws訪問控制缺陷等Web安全漏洞。平臺能實現Web安全漏洞仿真實驗的有效組織與評價,記錄、分析學生的實驗學習過程,可全面提交、匯總整個課程實驗教學的綜合評價結果。
● 仿真實驗原理
Web安全漏洞仿真實驗不同于傳統的計算機軟件開發類實驗,它首先需要滿足安全漏洞靶機在服務器上的安全部署,其次需要解決不同學生的獨立實驗環境,最后還需要有一個統一的管理平臺。為此,該項目由Docker容器虛擬化技術、實驗平臺與靶機即時信息交互技術,以及實驗管理系統三部分組成。
1.Docker容器虛擬化技術
基于Docker容器虛擬化技術,為每個學生構建封閉、獨立的實驗環境。容器可以按需要構建或銷毀,獨立的實驗環境確保提供自主學習過程。
如圖1所示,與傳統的主機虛擬化技術相比,Docker具有更高的資源利用率、更低的資源需求、更快的速度、簡單的管理。Docker容器虛擬化技術,在完成預設的Image構建后,啟動Image,將Docker容器的端口映射到服務器主機端口,使用Docker Run命令執行啟動、運行、停止等操作。[2]可以在實驗平臺管理下快速生成(數秒級)靶機容器,也可以快速銷毀容器,可控的Docker容器降低了實驗成本,滿足了相關的實驗要求,并且確保了實驗環境的安全性問題不易被帶到實際環境中。
本項目基于Docker容器虛擬化技術較好地解決了Web安全漏洞靶機不允許在常規服務器部署、Web安全漏洞禁止在真實網站測試、安全漏洞測試如何反復重現實驗等多個矛盾,體現了虛擬仿真的意義。
2.實驗平臺與靶機信息交互
實驗平臺在每個學生的實驗過程中,即時訪問靶機容器,獲取實驗數據,這是本系統的關鍵環節。Docker容器運行后,以Web程序方式提供學生實驗操作環境,學生的漏洞測試過程通過Web界面操作并提交給Docker容器。Docker容器的Web程序與實驗平臺(也是一個Web程序)分屬不同的Web域,本系統通過學生實驗過程中的憑據提交、后臺請求響應的方法實現實驗數據的獲取。
(1)學生開始實驗,將本次實驗的身份憑據提交給實驗平臺。
(2)實驗平臺獲得憑據后,實現后臺訪問Docker容器的Web程序權限,并按需要,隨時訪問、記錄實驗數據。
(3)實驗平臺對實驗數據進行匯總、分析,記錄實驗學習過程,提出改進策略。
Docker靶機設計了測試信息訪問接口,并合成于Image,每個容器啟動均自動啟用訪問接口;實驗平臺獲取學生提交的身份憑據,封裝為WebRequest提交至Docker靶機,獲得訪問權限;通過Docker的訪問接口,實驗平臺獲得靶機的WebResponse,通過解析存儲至實驗平臺數據庫,并按需要提供數據呈現。
3.實驗平臺管理
實現線上線下相結合、共享開放的新型實驗教學模式,是計算機虛擬仿真實驗項目建設的一個重要目標。實驗平臺是整個項目的中心,它基于一個主流的MVC框架開發,以保證自身在線上實驗教學過程的安全、穩定運行。
● 實驗平臺設計
在虛擬仿真實驗建設過程中,一定要秉持“虛實結合,能實不虛,共享開放”的原則,有效利用虛擬仿真技術,有效使用線上平臺,實現共享開放。Web安全實驗不適合在真實網站進行測試學習,Web安全漏洞靶機也不適合在服務器上以真實網站的形式進行部署實驗。前者,安全測試可能會導致真實網站的不可逆破壞;后者,會因為漏洞靶機給服務器帶來嚴重的安全后果。本實驗平臺以Docker容器應用為基礎,在安全可控的范圍內,低成本、高效率地為每個學生的實驗虛擬了獨立的漏洞靶機,實驗環境是“真實”的,整體達到了虛擬仿真項目的基本要求。
1.系統組成
Web安全漏洞仿真實驗平臺主要由實驗管理平臺和Web安全漏洞靶機Docker系統兩部分組成(如圖2)。對實驗用戶而言,Docker靶機是透明的,用戶面對的就是一個帶有Web安全漏洞的真實網站。
整個系統的管理操作包括教學管理、教學信息、實驗任務安排、成績匯總分析等,在實驗管理平臺完成。實驗過程:①學生啟動實驗后,平臺自動發送指令生成Docker靶機;②靶機啟動完成后,在實驗平臺的監控下,自動打開瀏覽器訪問靶機Web程序,整個Web漏洞實驗過程是在瀏覽器中操作完成;③實驗過程中,實驗平臺隨時收集實驗數據,在實驗完成后進行匯總分析,呈現實驗結果;④實驗完成后,銷毀實驗靶機。
平臺按學生的需要管理Docker靶機等實驗資源,自動完成實驗數據收集和實驗結果呈現。
2.實驗平臺功能
實驗平臺是一個完整的實驗教學軟件,滿足了線上虛擬仿真實驗共享開放的相關要求。
(1)用戶管理與認證授權。系統主要分為管理員、課程組長、教師和學生等角色,在登錄后完成授權使用。管理員主要對本系統的教師賬戶進行創建管理,包括平臺數據備份、平臺運行等綜合性管理。課程組長對實驗內容進行管理,可以新增、修改實驗任務等。教師是實驗教學的組織者,基于實驗課程布置任務,檢查實驗進度,指導學生實驗。在本系統中,學生除了完成教師安排的實驗任務外,可以自主選擇實驗進行學習操作;同時,學生個人中心可以展示學生的實驗過程和成績,以及改進實驗的方法等。
(2)教學信息。
(3)實驗任務管理。
(4)實驗幫助與實驗過程。作為共享開放的線上實驗需求,為用戶提供實驗幫助是一個重要的輔助形式,幫助內容包括漏洞的成因、危害,以及解決的思路等。
平臺的每個實驗,均通過Web頁面引導完成,每個步驟的操作都是開放的。例如,一個sql注入實驗,注入的sql語句可以形式繁多,但最終結果都可以統一實現。這也是本虛擬仿真項目的設計目標之一,即以虛擬的環境實現真實的漏洞測試過程。
(5)實驗數據匯總分析。基于本項目實現的平臺與靶機之間的信息訪問技術,平臺隨時收集學生在實驗過程中的嘗試過程,包括失敗和成功的測試。在實驗結果呈現時,對個人可以呈現每個步驟的每次操作記錄,對整個教學班級可以呈現學生的分類信息,較好地體現了教學軟件的自動化功能,改進了實驗教學成效。
3.實驗課程內容
本系統的實驗課程參照國際主流的OWASP(Open Web Application Security Project,開放式Web應用程序安全項目)組織公布的Web安全應用Top 10文檔[3],同步關注Web安全領域的十大威脅,力爭能夠激發學生興趣,培養其安全應用思維和安全開發方法。具體實驗內容如上表所示,每次實驗為2課時,共18課時。
● 結語
實驗教學是培養學生掌握發現、分析和解決問題能力的重要環節。[4]筆者所在學校的Web安全漏洞仿真實驗項目開發已初步完成,整個系統基本實現了設計目標。基于本實驗平臺,學生可在虛擬環境下實施Web安全測試,觀察靶機在漏洞利用狀況下的受害顯示,充分理解Web安全威脅。同時,實驗平臺對實驗行為的數據收集和匯總分析,不僅自動化地實現了實驗成績統計,而且根據學生的實驗過程,提出了操作改進,有效地提高了實驗教學需求。項目符合虛擬仿真建設要求,基本滿足該實驗課程的線上共享開發需求。
參考文獻:
[1]教育部辦公廳.關于2017—2020年開展示范性虛擬仿真實驗教學項目建設的通知[Z].教高廳[2017]4號.
[2]高禮, 高昕.Docker技術在軟件開發過程中的應用研究[J].軟件,2016(03):110-113.
[3]OWASP, OWASP Top 10 2017[EB/OL].http://www.owasp.org.cn/owasp-project/OWASPTop102017v1.3.pdf.
[4]杜曄,陳賀男,黎妹紅,等.Web應用安全實驗教學探討與案例評析[J].計算機教育,2015(19):17-19.
基金項目:2019年度浙江師范大學虛擬仿真實驗教學項目(ZC303919020)。