李致遠,畢俊蕾,宋香梅
(1.江蘇大學 計算機科學與通信工程學院,江蘇 鎮江 212013;2.江蘇大學 信息化中心,江蘇 鎮江 212013)
近年來,隨著工程教育認證深入高等學校,成果導向教育(outcome-based education,OBE)[1]的理念日益融入我國高等教育的課程改革。OBE亦稱能力導向教育、目標導向教育或需求導向教育。自1981年由Spady等人提出后,OBE理念和方法被公認為是追求卓越教育的有效方法,受到世界各國著名大學的推崇。作為國際化程度最高、體系最完整的本科工程教育國際互認協議,即《華盛頓協議》(Washington Accord),全面接受了OBE理念并將其融入工程教育專業認證中。2013年6月中國加入《華盛頓協議》,2016年6月中國成為《華盛頓協議》正式成員,這意味著中國工程教育認證結果將在《華盛頓協議》正式簽約國和地區實現互認。
OBE理念下的Web應用安全教學模式,即三位一體教學模式,三位是指正確的安全世界觀、扎實的Web應用安全理論知識和熟練的攻防實踐能力。通過三位一體的教學培養模式,旨在為國家和社會主義現代化建設培養有國家安全意識、嚴格遵守國家安全法且具有堅實的Web應用安全理論知識及相應實踐操作能力的信息安全專業人才。
近年來,國內外大學信息安全專業對Web安全課程的教學和實踐教學環節進行了較深入的研究和探討,公布了相關的教學大綱,發表了相應的教改論文[2-5]。
其中,文獻[2]從信息收集技術、攻擊技術和防御技術出發,給出了網絡嗅探、漏洞掃描、拒絕服務攻擊、緩沖區溢出攻擊、SQL 注入攻擊、跨站腳本攻擊、ARP 欺騙網頁劫持攻擊、惡意代碼攻擊、防火墻和入侵檢測系統相關實驗項目。文獻[3]提出利用開源項目資源搭建Web安全實驗平臺,作者提出了4個實驗項目,包括HTTP/HTTPS 數據流分析、HTTP 響應分割攻擊、XSS/CSRF及SQL 注入攻擊、Web 安全防護工具的配置與使用。文獻[4]圍繞開放式Web應用程序安全項目組織(open web application security project,OWASP)提出的十大安全威脅,給出了課程實驗的組織方式和組織流程,不足的是目前尚停留在想法階段,未能給出Web安全實驗的具體實施方法。
從文獻[2—3]提供的效果來看,學生能夠很好地完成技術原理并實現較為簡單的實驗,如信息收集實驗;對于技術原理復雜且帶有工程實踐的實驗項目,如跨站腳本攻擊中的XSS 釣魚攻擊和惡意代碼攻擊中的IPC 漏洞攻擊,完成效果不太理想;對流程步驟繁瑣、規則較多的防御類型實驗完成效果一般,如Snort入侵檢測系統的配置和規則更新。
國外著名的斯坦福大學則采用了Web編程與安全課程[5]相結合的授課方法,在實驗環節由高校提供硬件環境,讓學生通過實際網站或自建網站方式構建Web平臺,并自行設計和實現Web安全檢測與防御實驗。
綜上所述,國內Web應用安全課程的教學環節仍然存在“填鴨式”的灌輸課堂。知識主宰著課堂,教師成了知識的權威,學生成了知識的“容器”,教學過程成了“復制”知識的過程。此外,教學環節缺乏學生的反饋,教師無法掌握學生對Web應用安全理論知識的實際掌握情況。部分高校將Web應用安全課程設置為理論講述課程,導致理論和實踐環節脫節。這些就是目前我國信息安全專業學生的培養沒有達到預期的根本原因。盡管國外的Web安全課程體系較為先進,但與我國信息安全專業課程建設的實際情況不符。首先,由于課程體系和課時數的限制,我國部分高校的信息安全專業沒有開設Web 編程課程,有些高校即便開設了Web 編程課程,但與Web應用安全課程不在同一個學期上,無法做到實際意義上結合。其次,信息安全專業的建設經費有限,不太可能為了某一門課程專門購置實驗用的硬件環境。最后,就是我國現有大學生更適應驗證性實驗,對于創新型實驗缺乏獨立完成的能力。
首先,給出OBE理念下面向信息安全專業的Web應用安全課程三位一體教學模式的組織結構,見圖1。這套Web應用安全三位一體教學模式讓學生從正確的安全世界觀出發,學習和掌握扎實的Web安全理論并具備一定的攻防實踐能力。這套教學模式培養的人才主要面向經濟活躍的長三角地區。目前,長三角地區的信息共享、社交、娛樂及大宗和批量小額交易都是基于Web應用平臺的。為此,長三角地區的網絡空間安全成為我國網絡空間安全防御的最前沿,急需大量具有正確的安全世界觀、專業技術嫻熟且動手能力強的Web應用安全專業技術人才。

圖1 Web應用安全的三位一體教學模式
在Web應用安全課程的教學過程中,教師向學生講述樹立正確的安全世界觀的重要性和必要性,并在課程理論教學和實踐教學環節將這一思想貫穿始終。
培養學生正確的安全世界觀,首先要讓他們了解Web安全簡史,包括黑客簡史、黑客技術的發展歷程;其次是深刻理解“安全問題的本質是信任問題”這句話的含義;最后了解“黑帽子”和“白帽子”的區別,能夠深刻理解白帽子兵法,包括黑白名單、最小權限原則、縱深防御原則、數據與代碼分離原則和不可預測原則。要培養學生致力于做一名志存高遠、謙虛謹慎的“白帽子”專業技術人員,不做危害社會和他人利益的腳本小子。除此之外,還須明白Web應用安全的學習之路是艱苦的,需要始終保持艱苦奮斗的精神,靠短暫的激情和三分鐘熱度是無法掌握好Web應用安全課程要旨的。
在理論教學環節,三位一體教學模式的要點在于“教是為了不教,學是為了會學”,在課堂上實現五大轉變。重點要培養學生掌握在工程中解決實際問題所需的基本概念、基礎理論和邏輯思維能力。實施策略如下。
1)“1-3:4-2”課堂組織形式。
教和學是辯證統一的,為了實現“教是為了不教,學是為了會學”的目標,要求學生成為教學過程的主體。在此,提出“1-3:4-2”課堂組織形式,這是課堂教學時間的分配,即在該階段時間內,教師和學生應該共同完成的授課和學習任務。其中,“1”指復習上次課所學內容的時間,并提出本次課要學習的內容和上次課程的關系,以100分鐘的授課時間為例,大約就是10分鐘。在這段時間里,讓學生回憶上節課的學習要點,對于有聯系的課程,則引導學生提出新的問題,即本次的授課內容。“3:4”指學生在本次授課過程中要自行閱讀的時間和教師上課講授相關知識和理論的時間比例是3:4,以100分鐘的授課時間為例,學生課上自行閱讀時間總計為30分鐘左右,教師的授課時間約為40分鐘左右。增加學生課上自學時間主要是為了讓學生能夠參與課堂交流,對授課內容產生興趣,而不是消極被動地接收知識?!?”指學生和教師在課堂上互動交流的時間,主要是教師引導學生對本次課上講述的知識進行討論,大約是20分鐘。在這20分鐘內,學生由輸入的角色轉變為輸出的角色,真正成為課堂教學的主體。
2)綜合運用多元授課方式。
針對Web應用安全在不同階段的不同授課內容,應綜合運用多元授課方式,包括實例化教學、啟發式教學及任務驅動教學。
(1)實例化教學。
實例化教學源于哈佛大學的案例教學法,其含義是采用與傳統教學的“概念—理論—應用”模式相反的教學模式,即“案例—理論—概念”的模式。以瀏覽器安全為例,由于同源策略描述比較抽象,按照傳統的教學方法,初學者學起來常常摸不著頭腦,教師從概念出發授課也同樣困難。鑒于此,應采用實例化教學方法,首先拋開概念和理論不談,引入一個日常生活的案例。比如一個惡意網站的頁面通過iframe嵌入了銀行的登錄頁面(二者不同源),如果沒有同源限制,惡意網頁上的Javascript腳本可以在用戶登錄網銀時獲取用戶名和密碼。之后,通過Javascript編寫web1和web2頁面,講述同源策略是如何工作的。


首先在Google Chrome瀏覽器中執行web1頁面,再點擊web2頁面,由于web1和web2的端口不同,因此兩個頁面是不同源的。此時根據同源策略,web2頁面無法訪問,會得到如下錯誤的提示,Error:Permission denied to access property ‘body’。
由此解決了上述提出的案例問題,即惡意網站通過iframe嵌入銀行的登錄頁面(二者不同源),當用戶單擊iframe框時,惡意網頁上的Javascript腳本可以捕獲用戶登錄時的用戶名和密碼。
(2)啟發式教學。
啟發式教學強調傳授知識的同時重視學生能力的培養及非智力因素的發展。它把學生真正置于主動者位置,充分調動學生的積極性,激發學生的內在動力。由于本課程理論和邏輯性較強,概念原理較多,因此充分發揮學生的積極性尤為重要。以點擊劫持為例進行說明,首先,在標簽<body></body>內寫入嵌入標簽<iframe></iframe>和<button></button>生成web頁面,同時iframe框設置為透明浮動,演示點擊后出現被劫持的效果。之后,引導學生自主發現Button點擊劫持方式之外的點擊劫持攻擊方式,如Flash點擊劫持、圖片覆蓋點擊劫持、拖拽劫持與數據竊取及當前更加流行的移動智能終端觸屏劫持等。引導學生自主發現新的劫持攻擊方式,找到技術問題并解決技術問題(即點擊劫持防御)的過程,可以讓學生主動參與課堂,讓學生更加輕松地掌握相關的理論知識和技術。
(3)任務驅動教學。
任務驅動就是將要學習的新知識隱含在一個或幾個任務中,學生通過分析、討論,明確涉及的知識,并找出新知識,然后在教師的幫助下找出解決問題的方法,在完成任務的同時培養學生分析問題、解決問題的能力。在“應用層拒絕服務攻擊(distributed denial of service,DDoS)防御”章節的講述中,采用任務驅動教學。首先是發現和分析問題,應用層DDoS不同于網絡層DDoS,發起攻擊的IP地址都是真實的;現有的商業DDoS防御設備只在對抗網絡層DDoS時效果較好,而對應用層DDoS攻擊缺乏有效的防御手段。然后,教師講述現有的應用層攻擊案例,比如CC(Challenge Collapasar)攻擊、低速HTTP攻擊Slowloris和HTTP POST D.O.S.攻擊。最后,針對這些案例,引導學生找到對應的防御策略,比如限制客戶端的請求頻率,但是如何進行人機識別是實施該策略的關鍵。對于此任務,可以通過學生自學課本的相關內容后討論的方式讓學生成為課堂的主體,讓學生感受到學習的快樂和解決問題的成就感。
實踐是Web應用安全課程教學的重點,是培養工科專業學生動手能力的重要環節。江蘇大學信息安全專業主要通過與企業合作的方式研發了一套用于信息安全及網絡攻防實戰的綜合實訓平臺。該平臺通過OpenStack系統搭建了小型云平臺,在該平臺上部署相關的Web應用安全相關課程,比如XSS跨站腳本攻擊、SQL注入漏洞攻擊、Web應用服務和框架攻擊、文件上傳利用漏洞攻擊等。學生可以在實驗室或者教學區域使用一臺帶有Chrome瀏覽器的終端訪問該實訓平臺。以XSS跨站腳本攻擊實驗為例,全部課程包括XSS平臺搭建實驗、XSS反射型攻擊實驗、XSS存儲型攻擊實驗、XSS獲取cookie攻擊實驗和XSS跨站腳本攻擊實驗。學生只要點擊相應的實驗模塊,就可以看到實驗目的、實驗原理、實驗步驟等信息,一步步操作下來即可理解和掌握XSS跨站腳本攻擊的流程步驟和相關理論方法。熟練操作后即可達到三位一體中“熟練的攻防實踐能力”的目標。
筆者對2016級信息安全專業本科學生運用了三位一體教學法,在課程結束后,讓58名學生在網上進行了匿名的教學質量評價。結果表明,三位一體教學法教學效果明顯好于之前的教學方法。表1從授課內容條理清晰、重點突出、課堂氣氛活躍、教學內容充實、能夠激發學生興趣、啟迪學生思維、授課內容能夠實現理論聯系實際、培養學生綜合能力等方面進行了教學效果對比分析。表1中數據來源于江蘇大學教務管理系統。

表1 教學改革成效
通過對表1數據的對比分析可知,三位一體教學模式在各方面都明顯優于之前的教學模式,在培養學生理論聯系實際方面和工程實踐能力方面94.8%以上的學生表示滿意;在激發興趣、啟迪學生思維方面98.3%以上的學生表示滿意。
表2為Web應用安全課程的達成度分析,其中畢業要求1為具有正確的安全世界觀和道德準則,畢業要求2為具有扎實的Web應用安全理論知識,畢業要求3為具備熟練運用安全理論知識進行Web攻防的實踐動手能力。課程目標1:熟知網絡安全法,能在工程實踐中理解并遵守職業道德規范,具備安全、保密和服務意識;課程目標2為系統地掌握Web應用安全的知識體系結構、基本概念和基礎理論;課程目標3:了解Web應用面臨的常見安全威脅,并掌握常規的防御方法;課程目標4:掌握發起各類Web攻擊的常用工具、具備編寫漏洞利用代碼的能力并具備相應的Web攻擊防御能力。

表2 Web應用安全課程達成度分析
從該課程指標點達成效果來看,達成度超過70%,說明該級學生達到了三位一體教學的培養要求。
在OBE教育理念的引導下,以Web應用安全課程為研究對象,三位一體教學實踐新模式重在將學生在課堂上的角色從被動客體轉為教學主體;重在課堂上培養學生正確的安全世界觀和職業操守、激發學生的學習興趣,培養學生思考和解決問題的能力、理論聯系實際的能力及加強其動手實踐的能力。學生反映在面對實際安全問題時,不再有手足無措的感覺,總能游刃有余地找到解決問題的方法。江蘇大學信息安全系網絡攻防課程群的其他教師在其課程中采用三位一體教學模式后也普遍反映教學質量和教學效果得到了明顯提升。