李致遠(yuǎn),畢俊蕾,宋香梅
(1.江蘇大學(xué) 計算機科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013;2.江蘇大學(xué) 信息化中心,江蘇 鎮(zhèn)江 212013)
近年來,隨著工程教育認(rèn)證深入高等學(xué)校,成果導(dǎo)向教育(outcome-based education,OBE)[1]的理念日益融入我國高等教育的課程改革。OBE亦稱能力導(dǎo)向教育、目標(biāo)導(dǎo)向教育或需求導(dǎo)向教育。自1981年由Spady等人提出后,OBE理念和方法被公認(rèn)為是追求卓越教育的有效方法,受到世界各國著名大學(xué)的推崇。作為國際化程度最高、體系最完整的本科工程教育國際互認(rèn)協(xié)議,即《華盛頓協(xié)議》(Washington Accord),全面接受了OBE理念并將其融入工程教育專業(yè)認(rèn)證中。2013年6月中國加入《華盛頓協(xié)議》,2016年6月中國成為《華盛頓協(xié)議》正式成員,這意味著中國工程教育認(rèn)證結(jié)果將在《華盛頓協(xié)議》正式簽約國和地區(qū)實現(xiàn)互認(rèn)。
OBE理念下的Web應(yīng)用安全教學(xué)模式,即三位一體教學(xué)模式,三位是指正確的安全世界觀、扎實的Web應(yīng)用安全理論知識和熟練的攻防實踐能力。通過三位一體的教學(xué)培養(yǎng)模式,旨在為國家和社會主義現(xiàn)代化建設(shè)培養(yǎng)有國家安全意識、嚴(yán)格遵守國家安全法且具有堅實的Web應(yīng)用安全理論知識及相應(yīng)實踐操作能力的信息安全專業(yè)人才。
近年來,國內(nèi)外大學(xué)信息安全專業(yè)對Web安全課程的教學(xué)和實踐教學(xué)環(huán)節(jié)進(jìn)行了較深入的研究和探討,公布了相關(guān)的教學(xué)大綱,發(fā)表了相應(yīng)的教改論文[2-5]。
其中,文獻(xiàn)[2]從信息收集技術(shù)、攻擊技術(shù)和防御技術(shù)出發(fā),給出了網(wǎng)絡(luò)嗅探、漏洞掃描、拒絕服務(wù)攻擊、緩沖區(qū)溢出攻擊、SQL 注入攻擊、跨站腳本攻擊、ARP 欺騙網(wǎng)頁劫持攻擊、惡意代碼攻擊、防火墻和入侵檢測系統(tǒng)相關(guān)實驗項目。文獻(xiàn)[3]提出利用開源項目資源搭建Web安全實驗平臺,作者提出了4個實驗項目,包括HTTP/HTTPS 數(shù)據(jù)流分析、HTTP 響應(yīng)分割攻擊、XSS/CSRF及SQL 注入攻擊、Web 安全防護(hù)工具的配置與使用。文獻(xiàn)[4]圍繞開放式Web應(yīng)用程序安全項目組織(open web application security project,OWASP)提出的十大安全威脅,給出了課程實驗的組織方式和組織流程,不足的是目前尚停留在想法階段,未能給出Web安全實驗的具體實施方法。
從文獻(xiàn)[2—3]提供的效果來看,學(xué)生能夠很好地完成技術(shù)原理并實現(xiàn)較為簡單的實驗,如信息收集實驗;對于技術(shù)原理復(fù)雜且?guī)в泄こ虒嵺`的實驗項目,如跨站腳本攻擊中的XSS 釣魚攻擊和惡意代碼攻擊中的IPC 漏洞攻擊,完成效果不太理想;對流程步驟繁瑣、規(guī)則較多的防御類型實驗完成效果一般,如Snort入侵檢測系統(tǒng)的配置和規(guī)則更新。
國外著名的斯坦福大學(xué)則采用了Web編程與安全課程[5]相結(jié)合的授課方法,在實驗環(huán)節(jié)由高校提供硬件環(huán)境,讓學(xué)生通過實際網(wǎng)站或自建網(wǎng)站方式構(gòu)建Web平臺,并自行設(shè)計和實現(xiàn)Web安全檢測與防御實驗。
綜上所述,國內(nèi)Web應(yīng)用安全課程的教學(xué)環(huán)節(jié)仍然存在“填鴨式”的灌輸課堂。知識主宰著課堂,教師成了知識的權(quán)威,學(xué)生成了知識的“容器”,教學(xué)過程成了“復(fù)制”知識的過程。此外,教學(xué)環(huán)節(jié)缺乏學(xué)生的反饋,教師無法掌握學(xué)生對Web應(yīng)用安全理論知識的實際掌握情況。部分高校將Web應(yīng)用安全課程設(shè)置為理論講述課程,導(dǎo)致理論和實踐環(huán)節(jié)脫節(jié)。這些就是目前我國信息安全專業(yè)學(xué)生的培養(yǎng)沒有達(dá)到預(yù)期的根本原因。盡管國外的Web安全課程體系較為先進(jìn),但與我國信息安全專業(yè)課程建設(shè)的實際情況不符。首先,由于課程體系和課時數(shù)的限制,我國部分高校的信息安全專業(yè)沒有開設(shè)Web 編程課程,有些高校即便開設(shè)了Web 編程課程,但與Web應(yīng)用安全課程不在同一個學(xué)期上,無法做到實際意義上結(jié)合。其次,信息安全專業(yè)的建設(shè)經(jīng)費有限,不太可能為了某一門課程專門購置實驗用的硬件環(huán)境。最后,就是我國現(xiàn)有大學(xué)生更適應(yīng)驗證性實驗,對于創(chuàng)新型實驗缺乏獨立完成的能力。
首先,給出OBE理念下面向信息安全專業(yè)的Web應(yīng)用安全課程三位一體教學(xué)模式的組織結(jié)構(gòu),見圖1。這套Web應(yīng)用安全三位一體教學(xué)模式讓學(xué)生從正確的安全世界觀出發(fā),學(xué)習(xí)和掌握扎實的Web安全理論并具備一定的攻防實踐能力。這套教學(xué)模式培養(yǎng)的人才主要面向經(jīng)濟(jì)活躍的長三角地區(qū)。目前,長三角地區(qū)的信息共享、社交、娛樂及大宗和批量小額交易都是基于Web應(yīng)用平臺的。為此,長三角地區(qū)的網(wǎng)絡(luò)空間安全成為我國網(wǎng)絡(luò)空間安全防御的最前沿,急需大量具有正確的安全世界觀、專業(yè)技術(shù)嫻熟且動手能力強的Web應(yīng)用安全專業(yè)技術(shù)人才。
圖1 Web應(yīng)用安全的三位一體教學(xué)模式
在Web應(yīng)用安全課程的教學(xué)過程中,教師向?qū)W生講述樹立正確的安全世界觀的重要性和必要性,并在課程理論教學(xué)和實踐教學(xué)環(huán)節(jié)將這一思想貫穿始終。
培養(yǎng)學(xué)生正確的安全世界觀,首先要讓他們了解Web安全簡史,包括黑客簡史、黑客技術(shù)的發(fā)展歷程;其次是深刻理解“安全問題的本質(zhì)是信任問題”這句話的含義;最后了解“黑帽子”和“白帽子”的區(qū)別,能夠深刻理解白帽子兵法,包括黑白名單、最小權(quán)限原則、縱深防御原則、數(shù)據(jù)與代碼分離原則和不可預(yù)測原則。要培養(yǎng)學(xué)生致力于做一名志存高遠(yuǎn)、謙虛謹(jǐn)慎的“白帽子”專業(yè)技術(shù)人員,不做危害社會和他人利益的腳本小子。除此之外,還須明白Web應(yīng)用安全的學(xué)習(xí)之路是艱苦的,需要始終保持艱苦奮斗的精神,靠短暫的激情和三分鐘熱度是無法掌握好Web應(yīng)用安全課程要旨的。
在理論教學(xué)環(huán)節(jié),三位一體教學(xué)模式的要點在于“教是為了不教,學(xué)是為了會學(xué)”,在課堂上實現(xiàn)五大轉(zhuǎn)變。重點要培養(yǎng)學(xué)生掌握在工程中解決實際問題所需的基本概念、基礎(chǔ)理論和邏輯思維能力。實施策略如下。
1)“1-3:4-2”課堂組織形式。
教和學(xué)是辯證統(tǒng)一的,為了實現(xiàn)“教是為了不教,學(xué)是為了會學(xué)”的目標(biāo),要求學(xué)生成為教學(xué)過程的主體。在此,提出“1-3:4-2”課堂組織形式,這是課堂教學(xué)時間的分配,即在該階段時間內(nèi),教師和學(xué)生應(yīng)該共同完成的授課和學(xué)習(xí)任務(wù)。其中,“1”指復(fù)習(xí)上次課所學(xué)內(nèi)容的時間,并提出本次課要學(xué)習(xí)的內(nèi)容和上次課程的關(guān)系,以100分鐘的授課時間為例,大約就是10分鐘。在這段時間里,讓學(xué)生回憶上節(jié)課的學(xué)習(xí)要點,對于有聯(lián)系的課程,則引導(dǎo)學(xué)生提出新的問題,即本次的授課內(nèi)容。“3:4”指學(xué)生在本次授課過程中要自行閱讀的時間和教師上課講授相關(guān)知識和理論的時間比例是3:4,以100分鐘的授課時間為例,學(xué)生課上自行閱讀時間總計為30分鐘左右,教師的授課時間約為40分鐘左右。增加學(xué)生課上自學(xué)時間主要是為了讓學(xué)生能夠參與課堂交流,對授課內(nèi)容產(chǎn)生興趣,而不是消極被動地接收知識。“2”指學(xué)生和教師在課堂上互動交流的時間,主要是教師引導(dǎo)學(xué)生對本次課上講述的知識進(jìn)行討論,大約是20分鐘。在這20分鐘內(nèi),學(xué)生由輸入的角色轉(zhuǎn)變?yōu)檩敵龅慕巧嬲蔀檎n堂教學(xué)的主體。
2)綜合運用多元授課方式。
針對Web應(yīng)用安全在不同階段的不同授課內(nèi)容,應(yīng)綜合運用多元授課方式,包括實例化教學(xué)、啟發(fā)式教學(xué)及任務(wù)驅(qū)動教學(xué)。
(1)實例化教學(xué)。
實例化教學(xué)源于哈佛大學(xué)的案例教學(xué)法,其含義是采用與傳統(tǒng)教學(xué)的“概念—理論—應(yīng)用”模式相反的教學(xué)模式,即“案例—理論—概念”的模式。以瀏覽器安全為例,由于同源策略描述比較抽象,按照傳統(tǒng)的教學(xué)方法,初學(xué)者學(xué)起來常常摸不著頭腦,教師從概念出發(fā)授課也同樣困難。鑒于此,應(yīng)采用實例化教學(xué)方法,首先拋開概念和理論不談,引入一個日常生活的案例。比如一個惡意網(wǎng)站的頁面通過iframe嵌入了銀行的登錄頁面(二者不同源),如果沒有同源限制,惡意網(wǎng)頁上的Javascript腳本可以在用戶登錄網(wǎng)銀時獲取用戶名和密碼。之后,通過Javascript編寫web1和web2頁面,講述同源策略是如何工作的。
首先在Google Chrome瀏覽器中執(zhí)行web1頁面,再點擊web2頁面,由于web1和web2的端口不同,因此兩個頁面是不同源的。此時根據(jù)同源策略,web2頁面無法訪問,會得到如下錯誤的提示,Error:Permission denied to access property ‘body’。
由此解決了上述提出的案例問題,即惡意網(wǎng)站通過iframe嵌入銀行的登錄頁面(二者不同源),當(dāng)用戶單擊iframe框時,惡意網(wǎng)頁上的Javascript腳本可以捕獲用戶登錄時的用戶名和密碼。
(2)啟發(fā)式教學(xué)。
啟發(fā)式教學(xué)強調(diào)傳授知識的同時重視學(xué)生能力的培養(yǎng)及非智力因素的發(fā)展。它把學(xué)生真正置于主動者位置,充分調(diào)動學(xué)生的積極性,激發(fā)學(xué)生的內(nèi)在動力。由于本課程理論和邏輯性較強,概念原理較多,因此充分發(fā)揮學(xué)生的積極性尤為重要。以點擊劫持為例進(jìn)行說明,首先,在標(biāo)簽<body></body>內(nèi)寫入嵌入標(biāo)簽<iframe></iframe>和<button></button>生成web頁面,同時iframe框設(shè)置為透明浮動,演示點擊后出現(xiàn)被劫持的效果。之后,引導(dǎo)學(xué)生自主發(fā)現(xiàn)Button點擊劫持方式之外的點擊劫持攻擊方式,如Flash點擊劫持、圖片覆蓋點擊劫持、拖拽劫持與數(shù)據(jù)竊取及當(dāng)前更加流行的移動智能終端觸屏劫持等。引導(dǎo)學(xué)生自主發(fā)現(xiàn)新的劫持攻擊方式,找到技術(shù)問題并解決技術(shù)問題(即點擊劫持防御)的過程,可以讓學(xué)生主動參與課堂,讓學(xué)生更加輕松地掌握相關(guān)的理論知識和技術(shù)。
(3)任務(wù)驅(qū)動教學(xué)。
任務(wù)驅(qū)動就是將要學(xué)習(xí)的新知識隱含在一個或幾個任務(wù)中,學(xué)生通過分析、討論,明確涉及的知識,并找出新知識,然后在教師的幫助下找出解決問題的方法,在完成任務(wù)的同時培養(yǎng)學(xué)生分析問題、解決問題的能力。在“應(yīng)用層拒絕服務(wù)攻擊(distributed denial of service,DDoS)防御”章節(jié)的講述中,采用任務(wù)驅(qū)動教學(xué)。首先是發(fā)現(xiàn)和分析問題,應(yīng)用層DDoS不同于網(wǎng)絡(luò)層DDoS,發(fā)起攻擊的IP地址都是真實的;現(xiàn)有的商業(yè)DDoS防御設(shè)備只在對抗網(wǎng)絡(luò)層DDoS時效果較好,而對應(yīng)用層DDoS攻擊缺乏有效的防御手段。然后,教師講述現(xiàn)有的應(yīng)用層攻擊案例,比如CC(Challenge Collapasar)攻擊、低速HTTP攻擊Slowloris和HTTP POST D.O.S.攻擊。最后,針對這些案例,引導(dǎo)學(xué)生找到對應(yīng)的防御策略,比如限制客戶端的請求頻率,但是如何進(jìn)行人機識別是實施該策略的關(guān)鍵。對于此任務(wù),可以通過學(xué)生自學(xué)課本的相關(guān)內(nèi)容后討論的方式讓學(xué)生成為課堂的主體,讓學(xué)生感受到學(xué)習(xí)的快樂和解決問題的成就感。
實踐是Web應(yīng)用安全課程教學(xué)的重點,是培養(yǎng)工科專業(yè)學(xué)生動手能力的重要環(huán)節(jié)。江蘇大學(xué)信息安全專業(yè)主要通過與企業(yè)合作的方式研發(fā)了一套用于信息安全及網(wǎng)絡(luò)攻防實戰(zhàn)的綜合實訓(xùn)平臺。該平臺通過OpenStack系統(tǒng)搭建了小型云平臺,在該平臺上部署相關(guān)的Web應(yīng)用安全相關(guān)課程,比如XSS跨站腳本攻擊、SQL注入漏洞攻擊、Web應(yīng)用服務(wù)和框架攻擊、文件上傳利用漏洞攻擊等。學(xué)生可以在實驗室或者教學(xué)區(qū)域使用一臺帶有Chrome瀏覽器的終端訪問該實訓(xùn)平臺。以XSS跨站腳本攻擊實驗為例,全部課程包括XSS平臺搭建實驗、XSS反射型攻擊實驗、XSS存儲型攻擊實驗、XSS獲取cookie攻擊實驗和XSS跨站腳本攻擊實驗。學(xué)生只要點擊相應(yīng)的實驗?zāi)K,就可以看到實驗?zāi)康?、實驗原理、實驗步驟等信息,一步步操作下來即可理解和掌握XSS跨站腳本攻擊的流程步驟和相關(guān)理論方法。熟練操作后即可達(dá)到三位一體中“熟練的攻防實踐能力”的目標(biāo)。
筆者對2016級信息安全專業(yè)本科學(xué)生運用了三位一體教學(xué)法,在課程結(jié)束后,讓58名學(xué)生在網(wǎng)上進(jìn)行了匿名的教學(xué)質(zhì)量評價。結(jié)果表明,三位一體教學(xué)法教學(xué)效果明顯好于之前的教學(xué)方法。表1從授課內(nèi)容條理清晰、重點突出、課堂氣氛活躍、教學(xué)內(nèi)容充實、能夠激發(fā)學(xué)生興趣、啟迪學(xué)生思維、授課內(nèi)容能夠?qū)崿F(xiàn)理論聯(lián)系實際、培養(yǎng)學(xué)生綜合能力等方面進(jìn)行了教學(xué)效果對比分析。表1中數(shù)據(jù)來源于江蘇大學(xué)教務(wù)管理系統(tǒng)。
表1 教學(xué)改革成效
通過對表1數(shù)據(jù)的對比分析可知,三位一體教學(xué)模式在各方面都明顯優(yōu)于之前的教學(xué)模式,在培養(yǎng)學(xué)生理論聯(lián)系實際方面和工程實踐能力方面94.8%以上的學(xué)生表示滿意;在激發(fā)興趣、啟迪學(xué)生思維方面98.3%以上的學(xué)生表示滿意。
表2為Web應(yīng)用安全課程的達(dá)成度分析,其中畢業(yè)要求1為具有正確的安全世界觀和道德準(zhǔn)則,畢業(yè)要求2為具有扎實的Web應(yīng)用安全理論知識,畢業(yè)要求3為具備熟練運用安全理論知識進(jìn)行Web攻防的實踐動手能力。課程目標(biāo)1:熟知網(wǎng)絡(luò)安全法,能在工程實踐中理解并遵守職業(yè)道德規(guī)范,具備安全、保密和服務(wù)意識;課程目標(biāo)2為系統(tǒng)地掌握Web應(yīng)用安全的知識體系結(jié)構(gòu)、基本概念和基礎(chǔ)理論;課程目標(biāo)3:了解Web應(yīng)用面臨的常見安全威脅,并掌握常規(guī)的防御方法;課程目標(biāo)4:掌握發(fā)起各類Web攻擊的常用工具、具備編寫漏洞利用代碼的能力并具備相應(yīng)的Web攻擊防御能力。
表2 Web應(yīng)用安全課程達(dá)成度分析
從該課程指標(biāo)點達(dá)成效果來看,達(dá)成度超過70%,說明該級學(xué)生達(dá)到了三位一體教學(xué)的培養(yǎng)要求。
在OBE教育理念的引導(dǎo)下,以Web應(yīng)用安全課程為研究對象,三位一體教學(xué)實踐新模式重在將學(xué)生在課堂上的角色從被動客體轉(zhuǎn)為教學(xué)主體;重在課堂上培養(yǎng)學(xué)生正確的安全世界觀和職業(yè)操守、激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生思考和解決問題的能力、理論聯(lián)系實際的能力及加強其動手實踐的能力。學(xué)生反映在面對實際安全問題時,不再有手足無措的感覺,總能游刃有余地找到解決問題的方法。江蘇大學(xué)信息安全系網(wǎng)絡(luò)攻防課程群的其他教師在其課程中采用三位一體教學(xué)模式后也普遍反映教學(xué)質(zhì)量和教學(xué)效果得到了明顯提升。