安全沒有自己的技術(shù)?
信息安全專業(yè)已經(jīng)成為計(jì)算機(jī)相關(guān)專業(yè)中一個(gè)非常突出的獨(dú)特分支。國內(nèi)很多大學(xué)都已經(jīng)建立了信息安全專業(yè)或?qū)I(yè)方向。那么,信息安全專業(yè)畢業(yè)的學(xué)生有前途嗎?應(yīng)當(dāng)怎么教?應(yīng)當(dāng)怎么學(xué)?
作為一名在信息安全企業(yè)中從業(yè)超過十五年的老人兒,接觸過不少從高校畢業(yè)的本科畢業(yè)生、碩士畢業(yè)生、博士們。個(gè)人的總體感受:目前信息安全專業(yè)本科畢業(yè)生和碩士畢業(yè)生并不特別搶手;而在本碩期間搞網(wǎng)絡(luò)和編程設(shè)計(jì)的好手特別受歡迎;在博士期間搞安全研究的會(huì)很受歡迎,但絕對(duì)不要只沉迷在密碼學(xué)的公式中。直白地說,就是有真本事的人會(huì)受到歡迎。
我以前曾經(jīng)說過一句很極端的話:“安全沒有自己的技術(shù)”。“網(wǎng)絡(luò)安全”靠的是“網(wǎng)絡(luò)”技術(shù)、“系統(tǒng)安全”靠的是“操作系統(tǒng)”技術(shù)、“應(yīng)用安全”靠的是“應(yīng)用軟件開發(fā)”技術(shù);也許,只有密碼技術(shù)好像才算是信息安全領(lǐng)域獨(dú)有的技術(shù)。 再有一句話:“安全是一種思維方式”,比如,風(fēng)險(xiǎn)管理、博弈、逆向等等都是一種安全專屬思維方式。這種安全思維方式與“某某技術(shù)”結(jié)合就成為了“某某安全技術(shù)”。那么,到底安全有沒有自己的特色技術(shù)?有沒有獨(dú)特的方法和思維?如果有,應(yīng)該如何教育和培養(yǎng),如何能夠讓信息安全專業(yè)人才具有這樣的技能?
當(dāng)前信息安全專業(yè)方向本科教學(xué)的路線分析
在大學(xué)的信息安全專業(yè)培養(yǎng)目標(biāo)中,常常會(huì)有這樣的描述:“??要求學(xué)生:掌握現(xiàn)代化信息安全的基本理論和基本方法;具備研究和開發(fā)信息安全系統(tǒng)和產(chǎn)品的基本能力;??”。那么什么是信息安全的基本理論、基本方法?什么是構(gòu)建信息安全系統(tǒng)的基本能力?大學(xué)的教授們能講出來嗎?企業(yè)中被稱為專家的高人們能說得清楚嗎?這并不容易,但是我們有責(zé)任講清楚。
如果我們對(duì)比計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)、計(jì)算機(jī)軟件專業(yè)、網(wǎng)絡(luò)工程專業(yè)、信息安全專業(yè)的課程體系。很難區(qū)別出這些專業(yè)之間有什么根本性差別,在課程體系設(shè)計(jì)和實(shí)驗(yàn)實(shí)踐安排上確實(shí)非常雷同。
一個(gè)典型的大學(xué)信息安全專業(yè)相關(guān)的本科課程體系大致可描述為:
1. 公共基礎(chǔ)課:數(shù)學(xué)、物理、工學(xué)基礎(chǔ)、英語、體育、政治等;
2. 學(xué)科基礎(chǔ)課:電路與電子技術(shù)課程、計(jì)算機(jī)科學(xué)概論、專業(yè)數(shù)學(xué)課(離散數(shù)學(xué)、計(jì)算方法)、系統(tǒng)課(數(shù)字邏輯、計(jì)算機(jī)組成與體系結(jié)構(gòu)、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)安全)、程序設(shè)計(jì)課(匯編語言程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、編譯原理、數(shù)據(jù)庫、軟件工程);
3. 專業(yè)領(lǐng)域課:密碼類課(信息安全數(shù)學(xué)基礎(chǔ)、密碼學(xué)、PKI 原理與技術(shù))、網(wǎng)絡(luò)防御與對(duì)抗。
4. 實(shí)驗(yàn)實(shí)踐環(huán)節(jié):信息安全課程設(shè)計(jì)。
這樣的課程體系很難體現(xiàn)信息安全學(xué)科的獨(dú)特性。信息安全學(xué)科的實(shí)質(zhì)內(nèi)涵和信息安全應(yīng)用的實(shí)用實(shí)踐都體現(xiàn)得不夠充分。
從學(xué)科基礎(chǔ)課的安排和實(shí)踐看,這樣的課程體系延續(xù)了舊有體系的通病:在學(xué)習(xí)基礎(chǔ)課的時(shí)候,不知道為什么學(xué)?不知道怎么和專業(yè)有機(jī)結(jié)合?比如,網(wǎng)絡(luò)工程專業(yè)的學(xué)生,在學(xué)離散數(shù)學(xué)中圖論的時(shí)候,并不知道“圖論是網(wǎng)絡(luò)靜態(tài)結(jié)構(gòu)的基礎(chǔ)理論”;再比如,信息安全專業(yè)的學(xué)生,在學(xué)操作系統(tǒng)時(shí),沒有反向思考如何入侵和防御;在學(xué)編譯原理時(shí),不知道需要同步探索“注入攻擊”;學(xué)習(xí)軟件工程時(shí),不知道要同時(shí)養(yǎng)成“安全開發(fā)生命周期”的良好習(xí)慣。
從專業(yè)領(lǐng)域課的安排看,密碼類的課程容易讓學(xué)生感到枯燥難懂,而難于把握其基于密碼算法、安全協(xié)議、邏輯關(guān)聯(lián)和信任體系的結(jié)構(gòu)性安全實(shí)質(zhì);網(wǎng)絡(luò)攻防課程則主要介紹一些浮于表面的安全產(chǎn)品功能性和應(yīng)用性介紹(如防火墻、入侵檢測(cè)、防病毒等等),而這類產(chǎn)品在實(shí)際市場(chǎng)和使用環(huán)境中已經(jīng)快速變化很多代了。
從實(shí)驗(yàn)實(shí)踐環(huán)節(jié)的安排看:很多學(xué)校都遇到了一個(gè)很大的尷尬,就是網(wǎng)絡(luò)攻防實(shí)踐課“不會(huì)上、不好上、不敢上”。不會(huì)上,就是我們能夠教學(xué)生的攻防方法和技術(shù)很可能已經(jīng)過時(shí)了;不好上,學(xué)生在網(wǎng)絡(luò)上自己搜索學(xué)到的鳳羽龍爪,很可能就讓老師不知如何對(duì)付;不敢上,在實(shí)驗(yàn)環(huán)節(jié)教給學(xué)生如何攻擊系統(tǒng),會(huì)給老師、學(xué)校、學(xué)生自己帶來意想不到的麻煩,甚至法律糾紛。如果拿醫(yī)學(xué)教學(xué)來做比喻,網(wǎng)絡(luò)攻防課就如同是醫(yī)學(xué)院在教學(xué)生怎么殺人,這就麻煩大了。
信息安全用人機(jī)構(gòu)需要什么樣的人才
如果我們?cè)偬S到學(xué)科專業(yè)教學(xué)的出口處看看。簡(jiǎn)單劃分一下,本科教學(xué)階段過后,信息安全專業(yè)方向畢業(yè)生大概會(huì)有的幾個(gè)走向:
1. 成為安全科研型人才Researcher:在院校讀碩士甚至博士繼續(xù)進(jìn)修(個(gè)別人或可進(jìn)入企業(yè)研究院從事專門研究);
2. 成為安全專業(yè)型人才Practitioner:進(jìn)入安全企業(yè)從事安全產(chǎn)品開發(fā)、安全服務(wù)實(shí)施等;或者進(jìn)入IT應(yīng)用機(jī)構(gòu)從事安全建設(shè)和應(yīng)用;或者進(jìn)入相關(guān)主管或第三方機(jī)構(gòu)從事安全治理和第三方活動(dòng);
3. 轉(zhuǎn)向其他IT 方向;
4. 轉(zhuǎn)向非IT 方向。
本文主要討論的是如何培養(yǎng)第二類“安全專業(yè)型人才”,同時(shí)也為第一類“安全科研型人才”發(fā)展打基礎(chǔ)。從用人機(jī)構(gòu)的角度,總結(jié)一個(gè)安全人才能力表。展現(xiàn)出需要哪些不同類型的信息安全專業(yè)人士,并且羅列出來他們的哪些能力會(huì)被特別看重。
在安全人才能力表中,將能力分為A、B、C 三類:
A類能力就是分析能力Analyzing。分析可以將觀察、情報(bào)、了解、理解等類似語義都涵蓋在內(nèi)。分析可能是攻擊者對(duì)于被攻擊對(duì)象的分析,也可能是防御者對(duì)被保護(hù)者的分析和對(duì)攻擊者的分析。
B類能力就是拆構(gòu)能力Breaking。所謂拆構(gòu),就是破壞、攻擊。所謂攻擊可以是攻擊者對(duì)被保護(hù)目標(biāo)的攻擊,也可以是防御者對(duì)于攻擊者行為的破壞和阻斷。
拆構(gòu)是一個(gè)更強(qiáng)調(diào)攻防執(zhí)行階段的動(dòng)態(tài)活動(dòng)。
C 類能力就是建構(gòu)能力Constructing。建構(gòu)常常指在實(shí)際攻防交鋒發(fā)生之前的預(yù)設(shè)部署。不管是攻擊體系還是防御體系,都有一個(gè)預(yù)先籌備部署的相對(duì)靜態(tài)階段。
在A、B、C三類能力中,分析能力是基礎(chǔ)。拆構(gòu)的前提是對(duì)拆構(gòu)對(duì)象的了解,建構(gòu)的前提是對(duì)于建構(gòu)資源和環(huán)境的了解以及對(duì)于拆構(gòu)場(chǎng)景的預(yù)判。這就如同在醫(yī)學(xué)中,診斷是所有后續(xù)治療手段的前提,保健預(yù)防當(dāng)然也要基于診斷展開。
安全人才能力表中的這些能力,在當(dāng)前的大學(xué)教育中基本上沒有特別針對(duì)性的培養(yǎng)措施。而這些能力要么靠學(xué)生自己自學(xué),要么靠企業(yè)在招聘后的培訓(xùn)和鍛煉。這樣教育缺口就導(dǎo)致了很多信息安全專業(yè)的畢業(yè)生被認(rèn)為能力不實(shí)用,不如學(xué)網(wǎng)絡(luò)和做編程的人。
本科教育專家們一定要深入研究用人機(jī)構(gòu)對(duì)相關(guān)專業(yè)人才的細(xì)粒度能力頻譜需求;同時(shí),用人機(jī)構(gòu)的行業(yè)協(xié)會(huì)和權(quán)威專家們也要有高度責(zé)任感去認(rèn)真地影響教育機(jī)構(gòu),引導(dǎo)本領(lǐng)域后續(xù)人才的培養(yǎng)。
信息安全分析如同醫(yī)學(xué)中的解剖學(xué)
我們把安全人才能力表中出現(xiàn)的A 類分析能力羅列一下:系統(tǒng)結(jié)構(gòu)分析、( 二進(jìn)制) 代碼分析、被攻目標(biāo)系統(tǒng)和體系的分析和了解、分析代碼安全性、分析程序的設(shè)計(jì)安全性、業(yè)務(wù)安全需求分析、系統(tǒng)安全需求分析、宏觀態(tài)勢(shì)感知和分析、安全監(jiān)控和事件發(fā)現(xiàn)、產(chǎn)業(yè)分析、行業(yè)和領(lǐng)域態(tài)勢(shì)分析。
所謂分析都是對(duì)某種對(duì)象的深入觀察。而分析對(duì)象可以分類為:
1. 數(shù)據(jù)體(靜態(tài)數(shù)據(jù)體、數(shù)據(jù)流、程序體、密文等)
2. 結(jié)構(gòu)(網(wǎng)絡(luò)結(jié)構(gòu)、體系結(jié)構(gòu)、信任結(jié)構(gòu)等)
3. 過程(流的思維、協(xié)議等)
4. 人或人集合體(動(dòng)機(jī)、能力、習(xí)慣等)
如果把一個(gè)IT 系統(tǒng)比喻為人體,數(shù)據(jù)體和結(jié)構(gòu)的安全分析認(rèn)識(shí),就如同醫(yī)學(xué)中的解剖。是基礎(chǔ)中的基礎(chǔ)!而對(duì)于IT 過程和系統(tǒng)中人的分析認(rèn)識(shí),就如同神經(jīng)醫(yī)學(xué)、精神醫(yī)學(xué)和心理學(xué)中的診斷活動(dòng)。
由于有了解剖學(xué)的存在,讓現(xiàn)代西方醫(yī)學(xué)有了根基。同樣,中醫(yī)的基礎(chǔ)同樣是診斷。這些解剖、分析診斷技能再加上治病的目的和手段,讓醫(yī)學(xué)徹底區(qū)別于生物學(xué)而成為一個(gè)獨(dú)立的大學(xué)科。同樣,有了IT 系統(tǒng)的深度分析能力,再加上系統(tǒng)拆構(gòu)和建構(gòu)能力,將讓信息安全學(xué)科清晰地區(qū)別于其他計(jì)算機(jī)和IT 相關(guān)學(xué)科。也讓信息安全產(chǎn)業(yè)更加清晰地意識(shí)到自己到底需要哪些專業(yè)人才。
換一種直白的說法:“對(duì)于數(shù)據(jù)和結(jié)構(gòu)的安全分析認(rèn)識(shí),是信息安全學(xué)科的基本理論和基本方法的根基。”
我們想象一下醫(yī)學(xué)院的畢業(yè)生:是希望培養(yǎng)很多能夠操作CT 設(shè)備或驗(yàn)血設(shè)備的操作人員呢,還是那些能夠?qū)τ谌梭w解剖結(jié)構(gòu)了然于胸的西醫(yī)大夫呢?我們是希望招聘很多能夠照方抓藥的中藥店伙計(jì),還是那些能夠通過望聞問切明斷病癥的中醫(yī)新人呢?
如果從用人機(jī)構(gòu)的角度看,一個(gè)大學(xué)本科畢業(yè)生,如果能夠熟練地做數(shù)據(jù)體分析,那么很可能就能夠直接進(jìn)入到病毒分析、惡意代碼樣本分析、網(wǎng)絡(luò)流監(jiān)控分析等核心專業(yè)崗位;如果能夠敏銳地對(duì)一個(gè)中型網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行深入分析,那么很可能就能直接擔(dān)負(fù)前線技術(shù)的高級(jí)安全咨詢和安全工程設(shè)計(jì)的責(zé)任。
如何設(shè)置和安排信息安全學(xué)科的解剖學(xué)課程
如果我們看看醫(yī)學(xué)院中一個(gè)典型的臨床醫(yī)學(xué)專業(yè)課程體系設(shè)計(jì),會(huì)發(fā)現(xiàn)“人體解剖學(xué)”課程一般都安排在大學(xué)第一年。而各大學(xué)的信息安全專業(yè)課普遍安排在三年級(jí)以后;在大學(xué)一年級(jí)的計(jì)算機(jī)專業(yè)基礎(chǔ)課都很少,一般只有“高級(jí)程序設(shè)計(jì)語言”。
筆者主張一定要在大學(xué)一年級(jí)為信息安全專業(yè)的學(xué)生安排兩門信息安全專業(yè)領(lǐng)域課,并調(diào)整一門計(jì)算機(jī)專業(yè)基礎(chǔ)課:
舉辦一門專業(yè)領(lǐng)域必修講座《信息安全思維》:采用4~6 課時(shí)的講座形式,最好邀請(qǐng)產(chǎn)業(yè)界專家和學(xué)校教授各講一半。課程主要內(nèi)容是:信息安全產(chǎn)業(yè)和學(xué)術(shù)領(lǐng)域概述、信息安全的獨(dú)特思維模式和獨(dú)特技術(shù)介紹、其他專業(yè)基礎(chǔ)課程的安全視角提示。而《信息安全思維》講座應(yīng)當(dāng)在大學(xué)四年的每個(gè)學(xué)年中都安排一場(chǎng),針對(duì)每個(gè)學(xué)年的課程安排,引導(dǎo)學(xué)生如何從安全視角去審視。
開設(shè)一門專業(yè)領(lǐng)域必修課《信息安全分析基礎(chǔ)》:在大學(xué)一年級(jí)第二學(xué)期,安排30~40 學(xué)時(shí)的課程+ 實(shí)驗(yàn)。課程主要內(nèi)容是:介紹安全分析基本思想、IT 系統(tǒng)結(jié)構(gòu)基本分析和認(rèn)識(shí)(結(jié)構(gòu)分析)、Web 訪問數(shù)據(jù)分析(數(shù)據(jù)體分析)等。在后續(xù)的高年級(jí)中,再逐步安排《信息安全分析》的高級(jí)課程,涉獵不同領(lǐng)域和形態(tài)的安全分析。
調(diào)整一門專業(yè)基礎(chǔ)課程《高級(jí)程序設(shè)計(jì)語言》的輔導(dǎo)課:這門課程可能會(huì)和其他計(jì)算機(jī)相關(guān)專業(yè)的學(xué)生共同上大課。而對(duì)這門課的輔導(dǎo)課時(shí)和實(shí)驗(yàn)課時(shí)中,要增加安全視角的講解和討論。將程序漏洞和安全開發(fā)生命周期等基本概念和思想融合進(jìn)去。這樣信息安全專業(yè)的學(xué)生在學(xué)習(xí)程序設(shè)計(jì)的一開始就同時(shí)兼具正向設(shè)計(jì)思維和逆向破解思維。
這樣的課程體系改變,就是要在四年中一直抓住這三條線索:第一,每學(xué)年都舉辦由大師和專家講授的《信息安全思維》講座系列;第二,每學(xué)年不斷升級(jí)的《信息安全分析》課程系列;第三,對(duì)每年講授的其他專業(yè)課程的輔以安全視角指導(dǎo)。
當(dāng)然,以《信息安全分析》為基礎(chǔ)和軸心展開的課程體系設(shè)計(jì),并不是要徹底拋棄原有的課程和體系,而是做出具有安全專業(yè)特色的調(diào)整。比如“PKI 和密碼學(xué)課程”,也許不要從密碼理論入手,而是按照密碼對(duì)抗的發(fā)展脈絡(luò)講解。沿著密碼分析、密碼破解、密碼設(shè)計(jì)等形成的ABC 三能力展開,可以讓學(xué)生不僅知其然,而且知其所以然。
這樣的課程體系改變,將大大緩解和解決了前面分析得出的當(dāng)前課程體系的問題:
各個(gè)基礎(chǔ)課與信息安全專業(yè)的關(guān)系,會(huì)在《信息安全思維》講座和專業(yè)課程輔導(dǎo)中讓學(xué)生了解;
學(xué)生能夠通過每年不斷更新的《信息安全思維》講座了解和跟進(jìn)最新的技術(shù)和產(chǎn)業(yè)變化;
學(xué)生不需從枯燥的密碼學(xué)開始接觸信息安全,而是從活生生的攻防對(duì)抗中感受真實(shí)的信息安全;
可以回避對(duì)于網(wǎng)絡(luò)攻防實(shí)踐課程講授的尷尬。大學(xué)課程中教授給學(xué)生的不是如何殺死一個(gè)系統(tǒng),而是如何解剖一個(gè)系統(tǒng)。
想象一下,一群系統(tǒng)性地學(xué)習(xí)了四年《信息安全分析》課程、系統(tǒng)性地跟蹤了四年信息安全產(chǎn)業(yè)動(dòng)態(tài)、不斷修煉了四年信息安全思維的畢業(yè)生們,會(huì)徹底改變信息安全專業(yè)畢業(yè)生的能力結(jié)構(gòu)和層次。
信息安全教育須要產(chǎn)學(xué)緊密協(xié)同
從來沒有開過解剖學(xué)課程的醫(yī)學(xué)院怎么才能開設(shè)起來這門如此關(guān)鍵的基礎(chǔ)課呢?
當(dāng)我們放眼看看國內(nèi)的醫(yī)學(xué)院,會(huì)發(fā)現(xiàn)所有的醫(yī)學(xué)院都與大醫(yī)院有極度密切的關(guān)系。
那么在大學(xué)的計(jì)算機(jī)學(xué)院中開設(shè)《信息安全分析》這樣的IT 系統(tǒng)解剖課怎么能夠脫離信息安全企業(yè)和信息安全大用戶呢?大學(xué)信息安全專業(yè)教育體系的發(fā)展必須走產(chǎn)學(xué)緊密互動(dòng)的道路。雖然信息安全的從業(yè)資格認(rèn)證沒有從醫(yī)資質(zhì)那么嚴(yán)苛(所有執(zhí)業(yè)醫(yī)師必須是醫(yī)學(xué)院正規(guī)畢業(yè)和實(shí)習(xí)合格者),這樣的“醫(yī)學(xué)院+醫(yī)院的一體化模式”卻很值得借鑒。
而且這種產(chǎn)學(xué)互動(dòng),不是一個(gè)公司與一個(gè)院校的個(gè)體互動(dòng),而是“群群互動(dòng)模式”。所謂的群群互動(dòng)就是信息安全產(chǎn)業(yè)群體(企業(yè)群體和用戶群體)和信息安全專業(yè)教育群體(大學(xué)學(xué)院群體)這兩個(gè)群體的協(xié)同互動(dòng)。在這樣的互動(dòng)中,新的教材、課程大綱、實(shí)驗(yàn)和實(shí)驗(yàn)環(huán)境、教師培養(yǎng)、實(shí)訓(xùn)基地就會(huì)逐步成熟起來。
在信息安全專業(yè)教育體系的調(diào)整變革中,要遵循教育的規(guī)律,不適宜做顛覆性革命。課程的改進(jìn)、課程體系的調(diào)整要循序漸進(jìn)。而這個(gè)變革的第一步就是從信息安全專業(yè)的解剖學(xué)課程《信息安全分析基礎(chǔ)》開始。
我們期望通過穩(wěn)扎穩(wěn)打的循序漸進(jìn)式調(diào)整變革,通過產(chǎn)業(yè)界和教育界的群群互動(dòng),用5~10 年的時(shí)間最終真正實(shí)現(xiàn)信息安全專業(yè)教育的根本變革和高層次建設(shè)。這樣的改變一定會(huì)改變整個(gè)信息安全產(chǎn)業(yè)的人力資源結(jié)構(gòu),進(jìn)而為整個(gè)信息安全產(chǎn)業(yè)跨越式發(fā)展準(zhǔn)備足夠多的高素質(zhì)工程人才、研究人才、管理人才。這樣的未來非常值得我們期待,并值得為之共同努力!