◆宋超 吳明
CTF賽題在“1+X”證書制度下的教學實踐
◆宋超 吳明
(江蘇聯(lián)合職業(yè)技術學院 無錫旅商分院 江蘇 214000)
隨著“1+X”網(wǎng)絡安全類證書的大力推廣,圍繞證書的教學實施成了“1+X”政策落地的關鍵,傳統(tǒng)的網(wǎng)絡安全類課程以理論為主,內容相對孤立,實踐操作不足,學生在解決實際問題時缺乏動手能力;CTF競賽作為當前網(wǎng)絡安全界熱門比賽,旨在提高參賽人員分析和解決網(wǎng)絡安全類問題的能力,具有很強的實戰(zhàn)性,將它的引入課堂教學有助于學生對知識的掌握、激發(fā)學生的學習興趣。
CTF;“1+X”;教學實踐
網(wǎng)絡安全是當今社會的熱點,習近平總書記曾指出“沒有網(wǎng)絡安全就沒有國家安全”,“網(wǎng)絡空間的競爭,歸根到底是人才的競爭”。我國的網(wǎng)絡安全人才的培養(yǎng)雖然經(jīng)歷了數(shù)十年發(fā)展,但整體缺口較大,結構不盡合理,能力和素質有待加強[1]。隨著2019年國務院關于職業(yè)教育“1+X”資格證書制度的大力推廣[2-4],網(wǎng)絡安全類企業(yè)踴躍參與,網(wǎng)絡安全人才建設進入了快車道,與此同時,陳舊的教學內容和傳統(tǒng)的教學模式卻成了學生迅速踏入職場、適應社會需求的一大制約。CTF(Capture The Flag)是近些年網(wǎng)絡安全圈非常流行的競賽形式,賽事兼具技術性和競爭性、門檻相對低、深受廣大青年人的喜歡,目前國內外CTF每年比賽數(shù)以百計,從無差別組到專門面向在校學生的比賽,眾多的網(wǎng)絡安全公司在入職員工時也會考慮CTF的積分和排名[5],正是如此本文將CTF賽題融入“1+X”證書制度下課堂教學中,利用CTF賽題將原有的網(wǎng)絡安全類課程內容重新組織和串聯(lián),繼而提高學生的學習效率。
CTF奪旗賽,是網(wǎng)絡安全技術人員進行技術競技的一種比賽,現(xiàn)在已經(jīng)成為全球網(wǎng)絡安全非常流行的競賽形式,深受廣大青年學生的歡迎。CTF比賽一般分為三種形式:解題模式、攻防模式、混戰(zhàn)模式。在解題模式下參加比賽的人員以小組為單位,通過在線做題獲得分值,并進行實時排名;在攻防模式下則要求比賽隊伍進行相互攻擊,挖掘對方系統(tǒng)服務漏洞提交flag得分,同時修補自身服務漏洞避免丟分,具有很強的競技性;混合模式則結合了解題模式和攻防模式,參賽隊伍通過解題獲得初始分數(shù),通過攻防進行分數(shù)的增減。
CTF賽題涉及范圍廣,主要包括Web滲透,逆向工程,PWN二進制漏洞、Crypto密碼攻防、Mobile移動安全和Misc安全雜項,常用的技術有逆向技術、數(shù)據(jù)包分析、代碼審計、腳本編寫、Web注入、系統(tǒng)提權、信息隱寫、數(shù)據(jù)庫滲透等。
截至2020年初,網(wǎng)絡安全類“1+X”證書有北京奇虎測騰科技有限公司的網(wǎng)絡安全評估證書、中科軟科技公司的網(wǎng)絡安全運維證書、上海海盾的企業(yè)網(wǎng)絡安全防護證書等。證書內容如下表1所示:
表1 網(wǎng)絡安全類“1+X”證書內容
其中證書內容涉及的課程有計算機組成、編譯原理、計算機網(wǎng)絡技術、網(wǎng)站開發(fā)技術、計算機語言、數(shù)據(jù)庫原理、密碼學、操作系統(tǒng)配置與管理,網(wǎng)絡安全技術、信息安全概論等。
雖然“1+X”證書制度試點已超過三年,但“1+X”下的課程實施卻是一個值得思考的問題。筆者在高職院校中從事網(wǎng)安類課程教學多年,深刻地感受到目前網(wǎng)安類課程存在設置相對獨立、缺乏內在聯(lián)系的問題;教材內容理論為主,缺乏動手環(huán)節(jié);考核形式比較陳舊、實踐課程缺乏系統(tǒng)考慮等問題,而將CTF賽題引入“1+X”課程有助于提高學生學習的興趣,增強學生對課程知識的內化以及解決實際問題的能力。
CTF賽題內容與“1+X”網(wǎng)安類課程存在著很強的對應關系如圖1所示,在長期的教學實踐中,筆者將CTF賽題融入各個課程中,并收到了良好的效果。
圖1 “1+X”證書課程與CTF課程對應表
網(wǎng)站開發(fā)課程是“1+X”網(wǎng)安類課程的基礎,但在教學實施中一些概念如網(wǎng)站前后臺的聯(lián)系、網(wǎng)站數(shù)據(jù)傳遞原理以及網(wǎng)站開發(fā)語言的基本特點往往會使學生產生混淆。
如圖2所示,這是一道簡單的Web滲透題,采用了PHP編碼,由此在實際的課程教學中先從講解PHP語言的基本語法入手如、變量定義和使用、大括號的作用等內容;接著由Web滲透題中的“flag.php”講解PHP文件包含函數(shù)include,指明在PHP網(wǎng)頁同一級目錄下存在flag.php文件;然后由代碼中if判斷中的內容,引出網(wǎng)頁傳遞信息采用的GET形式,說明GET和POST在網(wǎng)頁信息傳遞上的不同;最后從“echo flag”引出本題CTF題正確解法,在URL中輸入...?num=flag,繼而出現(xiàn)了flag值“I love Webctf!”??梢娨坏赖湫偷腃TF Web滲透題能將大量的網(wǎng)站開發(fā)知識串聯(lián)在一起,學生通過動手和思考能更好掌握課程內容。
圖2 CTF Web滲透題
逆向技術是一種對目標產品設計再實現(xiàn)的過程,在CTF比賽中逆向題往往是把一個應用程序(exe)利用工具還原成匯編、C等代碼程序,再對這些代碼進行分析,找出原作者在編寫程序時的關鍵算法。逆向技術在“1+X”課程體系中屬于編譯原理的范疇,涉及程序的開發(fā)、編譯、生成等相關知識,現(xiàn)實教學中編譯原理卻是一門理論性強,相對枯燥的課程。
如圖3所示,這是一道CTF逆向題,題目要求找出應用程序reg.exe中注冊碼“hello”對應的序列號,教學中首先利用IDA軟件對reg.exe進行反編譯,由編譯原理可知應用程序的編譯分為詞法分析、語法分析、語義分析、中間代碼產生、優(yōu)化、目標代碼生成五個階段,在IDA軟件中可以看應用程序的匯編代碼,按F5將匯編語言轉成C語言,查找關鍵函數(shù)GetDlgItemTextA,這時找到了應用程序加密的關鍵算法:把輸入注冊碼中每個字符的序號(從 0 開始算)與這個字符的ASCII碼的平方相乘,然后整體再加上序號,得到的和繼續(xù)對 0x42 求余,最后將結果加上 33 ,轉為ASCII碼,再將上述結果連接在字符串“Happy@”之后構成注冊碼。利用Python語言復現(xiàn)該算法,最后得到“hello”對應的序列號為“Happy@!GAOU”,從而彈出flag值“I love ctf!”??梢娊鉀QCTF逆向題的過程就是能把編譯原理中學習到的知識點進行靈活運用的過程。
圖3 CTF逆向題
密碼學是網(wǎng)安類“1+X”課程的核心,它是研究編制和破譯密碼的技術科學,在數(shù)據(jù)通信、信息隱藏、數(shù)字簽名等領域有著廣泛的應用。密碼學分為密碼分析和加密技術兩部分,加密技術又分為:對稱加密和非對稱加密。密碼學和數(shù)學理論關系密切,但在教學中學生面對大量的推導公式往往顯得不知所措很難理解。
如圖4所示,這是一道CTF信息隱藏題,要求通過test.jpg找到隱藏的背后的flag值。在實際教學中,首先利用notepad++打開test.jpg文件,會發(fā)現(xiàn)在圖片文件源代碼中隱藏了一串“fomo{dew@1jrz}”字符,由此猜想這段字符可能是通過古典加密后的密文,接著利用kali Linux中的foreomost工具對test.jpg進行分解,會發(fā)現(xiàn)圖片中隱含著一個zip文件,解壓之后會發(fā)現(xiàn)有key.jpg圖片,打開圖片可看到“administrator”字符串,結合前面密文(fomo{dew@1jrz})和key(administrator),判斷密文可能是通過維基尼亞加密獲得的,由密碼學知識可知,維基尼亞加密一種簡單的多表加密方法,明文通過計算與密鑰的距離進行移位得到密文,密文反過來也能得到明文。此時密文“fomo{dew@1jrz}”對應的密鑰為“admi{nis@1tra}”(維基尼亞加密要求密鑰長度和明文、密文一致且只對小寫字母有效),計算字母f與a的距離為5,所以明文為a向后移動5:f,字母o與d的距離為11,所以明文為a向后移動11 :l,以此類推,其中字母d與n的距離為-10,所以明文為a向前移動10:r(26個字母首尾相連),最后得到明文為flag{qwe@1qaz}。通過CTF實例能進一步鞏固課堂所學知識,讓枯燥的理論知識生動起來。
圖4 CTF信息隱寫題
本文將CTF賽題與“1+X”網(wǎng)安類課程相融合,從教學內容的角度指明CTF題能有效鞏固學生課堂所學的理論知識,同時讓學生體驗到獲得flag值、解開題目的快樂,此外,CTF賽題融入也會給學生評價方式帶來變化,如以提交writeup作為成績考核依據(jù),或者以團隊攻防成績?yōu)樵u價依據(jù)等。
[1]葛昕,馬立新.基于CTF競賽的網(wǎng)絡安全課程教學研究[J].教育教學論壇,2020,11(46).
[2]曾德生,龐雙龍,陳曉丹,唐玉芳,邵翠.“1+X”證書背景下高職計算機網(wǎng)絡技術專業(yè)人才培養(yǎng)改革研究[J].工業(yè)和信息化教育,2020(04).
[3]賈鐵剛深度產教融合下物流管理“1+X”書證融通人才培養(yǎng)模式研究[J].工業(yè)和信息化教育,2020(04).
[4]曾曉琴,王利華.基于“1+X”證書制度的高職學分銀行建設的問題與對策[J].教育與職業(yè),2020(08).
[5]張國防,陳雪利.基于紅藍對抗的網(wǎng)絡安全技術教學設計研究[J].網(wǎng)絡安全技術與應用,2021(04).
2020年無錫市職業(yè)教育創(chuàng)新發(fā)展專項研究課題(“1+X”融合下的五年制高職網(wǎng)絡安全課程的教材開發(fā)與實踐,課題編號8202013)