彭光彬,張永志
(重慶機電職業(yè)技術學院 信息工程學院,重慶 402760)
進入21世紀以來,IT技術得到迅猛發(fā)展,一些在網絡安全上造成重大影響的安全漏洞陸續(xù)被修復,而另一些新的安全漏洞也被陸續(xù)挖掘出來,同時黑客技術或網絡攻擊方法也在不斷演進,但是當前許多網絡攻防技術教材仍然在教授Windows XP時代或以前的一些網絡攻防技術,很少或幾乎沒有涉及最近2年內的一些安全漏洞或網絡攻擊方法。另外,由于教材開發(fā)周期一般比較長,導致教材在某些內容上仍然跟不上技術的發(fā)展,很難做到與時俱進,因時而變,因此,實踐內容的陳舊是當前互聯網+時代網絡攻防技術課程實踐教學面臨的一個巨大挑戰(zhàn)。
網絡攻防技術課程是一門綜合性、實踐性很強的課程,涉及的前導課程多達6~10門(如圖1所示),涵蓋信息安全與管理專業(yè)的大部分專業(yè)課程。教師在課上除了要講授網絡攻防技術外,還需復習、展開、深化以前講過的知識,使學生對相關原理融會貫通、舉一反三,這要求教師必須對這些內容信手拈來、爛熟于胸,并加大授課難度。如果授課方法不當,對內容不熟悉,就會使學生失去學習的信心和興趣。
網絡攻防技術課程涉及面廣,實驗比較多,每個實驗環(huán)境基本都不一樣。實驗環(huán)境的準備是一個很大的挑戰(zhàn),一般的微機管理員或實驗員很難正確部署,而對于一般民辦高職院校,購買動輒幾十萬的實驗設備和實訓軟件,也是一件比較困難的事情,因此要上好網絡攻防技術課程,無論對教師還是學生,都要付出極大的努力才行。
圖1 網絡攻防技術課程前導課程示意圖
信息安全與管理專業(yè)的培養(yǎng)目標是培養(yǎng)德、智、體、美等全面發(fā)展的,具有與本專業(yè)相適應的文化水平、良好的職業(yè)道德和創(chuàng)新精神,掌握計算機網絡與信息安全基本理論和專業(yè)知識,具有網絡系統(tǒng)建設與管理、信息系統(tǒng)安全測評、安全方案制訂及實施、安全產品銷售等技能,能夠從事信息安全管理、信息安全設計、網絡管理、網絡工程設計、施工及技術支持等方面工作的高素質技術技能型專門人才。
圍繞課程目標,結合信息安全與管理專業(yè)的課程開設情況,網絡攻防技術課程作為信息安全與管理專業(yè)的專業(yè)核心技術課程,其重點在于“攻”,但同時也應兼顧“防”(同期開設有網絡防護技術專注于“防”);以案例為載體,以技能為抓手,強調網絡攻防原理的重要性。本課程以網絡攻防為線索,使學生在學習和實踐過程中融會貫通已學的網絡、信息安全、操作系統(tǒng)、數據庫、編程語言等相關知識和技能,熟悉常見漏洞的發(fā)掘方法和網絡攻擊模式;掌握常用安全工具的使用;針對常見的漏洞和安全缺陷,設計并實施相關防護策略,為將來從事信息安全管理與設計相關工作打下堅實基礎。
網絡攻防技術課程以網絡攻擊的過程為主線。教師可根據信息安全與管理專業(yè)相關人才培養(yǎng)目標,利用互聯網+相關技術[1](網頁爬取技術、分詞技術、數據分析技術等),從相關招聘網站(如51job、智聯招聘網等)統(tǒng)計信息安全工程師、滲透測試工程師等職位相關信息,并結合用人單位實地走訪情況,從網絡攻擊者的角度串起整個課程。
在某些實踐內容的選取上,充分利用互聯網內容的及時性、海量性,廣泛調研、綜合權衡,最終形成如圖2所示的實踐體系綱目。
圖2 網絡攻防技術課程知識體系概覽
1)利用開源軟件搭建實驗平臺。
由于網絡攻防技術課程涉及眾多系統(tǒng)的多個版本,如Linux、Windows,也不可能使用真實搭建的計算機網絡,因此該課程某些實驗平臺的搭建必然要用到虛擬化技術。對于民辦院校來說,VMware虛擬化軟件價格高昂,成本太高,因此可以使用免費、開源的Oracle VirtualBox進行虛擬化。VirtualBox功能完善、操作簡單,非常適合實驗教學。
Web攻防技術課程的教學也使用開源軟件DVWA(damn vulnerable Web application)模擬Web攻防。DVWA是RandomStorm的一個開源項目,是一個用來進行安全脆弱性鑒定的PHP/MySQL Web應用,旨在為安全專業(yè)人員測試自己的專業(yè)技能和工具提供合法的環(huán)境,幫助Web開發(fā)者更好地理解Web應用安全防范的過程。對于初學者來說,DVWA相比其他測試工具更容易理解和掌握。
除此之外,互聯網上還有其他的一些開源軟件和專門的靶機ISO文件,使用虛擬機軟件直接就可以運行起來,無需再安裝配置。
2)利用MOOC資源實施理實一體化教學。
網絡攻防技術課程是一門實踐性很強的課程,但實踐離不開理論的支撐,缺乏理論推導的實踐通常都會走一些冤枉路。此外,實踐也可以驗證理論,有利于加深對理論知識的理解。在教學過程中,應做到既強化實踐教學,又高度重視理論教學,在“做”中參悟理論,在“學”中推導實踐,邊做邊學,邊學邊做,真正實現教、學、做的融合,如在“NSR模式植入代碼”的教學過程中,在花2 min左右時間講授其原理后,立即讓學生進行Shellcode代碼植入的實驗,并讓學生在實驗過程中思考Shellcode代碼為什么能被執(zhí)行;在大多數學生完成實驗后,讓部分學生思考為什么實驗會失敗。經過這樣一個教、學、做的過程,絕大部分學生會對實驗的原理及方法印象深刻。
在實施理實一體化教學過程中,任課教師除了自己制作一些微課外,還可以利用互聯網中一些成熟的MOOC(大型開放式網絡課程)資源或視頻資源輔助教學,這可大大緩解師資緊張的民辦院校教師的備課壓力。目前,互聯網上的免費MOOC課程比較多,有關網絡安全或網絡攻防的課程也有一些,尤其在一些專注網絡安全的站點上,這些網絡課程大多數質量不錯,技術較新,教師可以有針對性地選擇部分視頻或片段解決網絡攻防技術課程的重難點及新技術問題。以“TCP/IP協(xié)議棧攻防技術”的教學為例,教師首先讓學生觀看騰訊課堂的MOOC“網絡安全攻防實戰(zhàn)課”[2]中的“TCP/IP協(xié)議棧”視頻,然后有針對性地提一些典型問題,有效解決TCP/IP攻防原理難理解、實驗難做的問題;在“逆向工程:惡意代碼分析技術”的教學中,教師可利用合天網安實驗室的MOOC視頻“CTF-REVERSE練習之算法分析1”[3]很好地解決逆向分析技術過程復雜、分析難度大的問題。
3)利用博客等資源設計實驗。
CSDN、博客園等網站上有許多優(yōu)秀的IT博客作者,一些專業(yè)的網絡安全網站也采用博客的形式傳播網絡安全技術。學生和教師可以充分利用博客、社區(qū)(如論壇)、社群(如QQ群、微信群)等發(fā)掘優(yōu)秀的教學案例,借此解決一些疑難問題。教師在講解Windows系統(tǒng)攻防技術實驗時,可以時下最流行(也是招聘單位要求較多的工具)的滲透測試工具Metasploit作為學生學習的主工具,讓學生充分掌握該工具的使用,在一篇博客[4]的基礎上設計“利用Metasploit生成木馬滲透Windows 7”的實驗;講解Linux系統(tǒng)攻防技術實驗時,在翻閱多個網站、博客的基礎上,利用Kali Linux下的Metasploit軟件,選取當下影響比較大的漏洞,設計“Metasploit下利用is_known_pipename漏洞滲透CentOS 6.9”的實驗(該漏洞即CVE-2017-7494);講解Web攻防實驗時,直接可以使用FREEBUFF站點上的DVWA全級別新手指南教程[5](站點以博客的形式傳播)作為實驗手冊。
4)利用MOOE資源設計或實施實驗。
隨著云計算等技術的發(fā)展,MOOE(massive open online experiments)即大規(guī)模在線開放實驗室,很好地解決了網絡攻防技術課程實驗環(huán)境搭建的煩惱。MOOE具有大規(guī)模、開放性和在線支持的特點[6],既可以滿足學生不受時空約束的自我學習需要,又可以讓教師擺脫實驗室的束縛,從多種維度觀察和評測學生的學習效果。目前在安全領域做得比較好的MOOE是合天網安實驗室,民辦院校一方面可以借鑒其實驗設計自己的實驗,如上文中提到的逆向工程算法分析實驗,另一方面教師也可以挑選部分實驗(可分成必做、選做兩部分),鼓勵學生在其平臺上完成實驗。除了合天網安實驗室,實驗吧也做得不錯,可以參照其模式(奪旗模式)、內容設計部分實驗。
5)利用移動設備、網絡教學平臺等輔助教學。
隨著移動互聯網技術的不斷發(fā)展,智能手機等移動設備在學生中已經相當普及。一些在線考試系統(tǒng)對教師推出免費服務,如“考試酷”“藍墨云”“雨課堂”等就有考試服務(測試活動)。利用移動互聯網技術實現實時課堂測評成為可能,有利于教師及時掌握學生的學習效果,督促學生學習。除此之外,清華大學開發(fā)的免費軟件“雨課堂”還有考勤、視頻播放等功能,學生只要用手機掃描PPT上的課堂二維碼,輸入課堂驗證碼就可實現考勤;在放映幻燈片時,可把一些互聯網上的視頻資源、測評題目推送到學生手機上。
互聯網+時代網絡攻防技術課程實踐體系解決方案如圖3所示,教師可據此設計相應實踐課程體系,以實現其新穎性、易操作性以及便于考查教學效果等目的。
圖3 互聯網+時代網絡攻防技術課程實踐體系解決方案
理實一體化的教學模式非常適合網絡攻防技術課程的實踐教學,由于高職學生的特性所在,部分學生對原理性、理論性的知識掌握得并不是很好,但其對動手實驗相當感興趣,因此,應正確引導這部分學生,防止學生成為“腳本小子”,在做完實驗后應讓學生回顧一下實驗原理,讓其不但知其所以然,而且能舉一反三,融會貫通。
網絡攻防技術課程內容多而雜,一般來講,一個章節(jié)一個任務,或一個章節(jié)幾個任務(如Web攻防技術就有5個任務,每個任務有3個級別),這些屬于大任務,幾乎涵蓋該章節(jié)的所有內容。在該章節(jié)開始之前,通過巧妙的方法加以提出,引導學生逐步實現這些任務。
在實際教學過程中,這些大任務也套著小任務,如Windows攻防技術,包括Windows進程/線程查看分析、注冊表使用、命令式用戶/組創(chuàng)建、口令破解、安全配置、SQL存儲過程提權等小任務,最后以兩個大任務“利用Metasploit生成木馬滲透Windows 7”“利用MS08-067漏洞攻擊Windows XP SP2”結束該內容;再如惡意代碼及其分析技術,包括惡意程序識別、文件格式識別、反匯編、反編譯、加殼、脫殼、靜態(tài)分析、動態(tài)分析等小任務,最后以2個大任務“CRACKME系列破解分析”“CTF-REVERSE練習之算法分析”結束該內容。小任務時間短(不超過5 min)、容易完成,且提高大任務的總體完成率;大任務時間長(一節(jié)課及以上時間)、難完成,有一定挑戰(zhàn)性、綜合性,是對各個小節(jié)點內容的綜合、復習,小、大任務模式有利于學生知識、技能的掌握。
根據網絡攻防技術課程的特點,課程的評測應盡量避免期末考試一刀切的方法,而應注重過程考核,加大學生平時實驗成績比例;同時還應加強課堂測評,以便端正學生學習態(tài)度,培養(yǎng)學生良好的學習習慣,及時掌握學生學習效果[7]。課程評測比例構成見表1。
表1 網絡攻防技術課程評測比例構成
目前該課程題庫已有400個選擇、判斷題,課堂測評一般安排在每次課的最后5 min。學生在測試時使用手機作答,題目隨機排序、隨機抽題(至少2倍比例抽題)、隨機編排備選答案,避免學生抄襲。課堂實驗需完成24個,評分標準見表2(信息安全與管理專業(yè)采取小班化教學,前5名完成實驗的學生將協(xié)助教師參與成績評定)。課外實驗主要以合天實驗、實驗吧實驗為主,要求每名學生注冊賬號,以截圖形式提交,以學會自主學習,明白課內學習是打基礎,課外學習才是提升水平的有效之道。
網絡攻防技術課程是一門理論性、實踐性都很強的課程,經過實踐改革,教學效果有所改善。從學生的反饋看,學生學習興趣濃厚,滿意度較高。當然實踐也存在某些不足,如實驗、測評不夠自動化,某些內容仍顯陳舊,教學方式、方法有待進一步優(yōu)化等,這些將是下一輪授課時重點改進的地方。
表2 實驗成績計分標準