信息安全的五大歷史教訓(xùn)
我們從歷史中得到教訓(xùn),然后進(jìn)步。這是保證我們能夠不斷發(fā)展的核心理念。觀望信息安全的發(fā)展道路,每次我們從IT的困境中逃脫出來(lái)都很追悔莫及。所以我們應(yīng)當(dāng)回顧歷史,避免這些事情重復(fù)發(fā)生。
依賴以簽名為基礎(chǔ)的防御
早在上個(gè)世紀(jì)80年代,當(dāng)計(jì)算機(jī)病毒首次出現(xiàn)在我們的系統(tǒng)中時(shí),廠商為我們提供一些檢測(cè)工具,并將病毒徹底刪除。但是一些很有預(yù)見(jiàn)性的人發(fā)現(xiàn),以簽名為基礎(chǔ)的信息安全產(chǎn)品對(duì)于一些更大的問(wèn)題來(lái)說(shuō)只是短期的有效解決辦法。
到了上個(gè)世紀(jì)90年代,入侵檢測(cè)系統(tǒng)IDS成為流行產(chǎn)品,同樣的問(wèn)題又出現(xiàn)了。實(shí)際上,現(xiàn)有的大部分的IDS和IPS產(chǎn)品仍舊以靜態(tài)簽名數(shù)據(jù)庫(kù)為檢測(cè)攻擊的基準(zhǔn)。
當(dāng)然,產(chǎn)品肯定不可能至今沒(méi)有任何改進(jìn),簽名引擎已經(jīng)增加了很多功能,如正則表達(dá)式解析,幫助更加準(zhǔn)確地檢測(cè)和防御。但是根源問(wèn)題始終存在。
直到我們開(kāi)始訴諸于積極的驗(yàn)證方法(一種只允許安全的東西通過(guò)并阻止一切不安全東西進(jìn)入的機(jī)制)的時(shí)候,我們被遇到的新興攻擊所震驚。為了積極驗(yàn)證問(wèn)題的存在,我們需要了解下一步該怎么做,這就意味著,解決方案必須與應(yīng)用軟件很相近。什么事情都是說(shuō)起來(lái)比做起來(lái)容易,但是我們必須要在行動(dòng)上表現(xiàn)得更好。
滲透測(cè)試不萬(wàn)能
滲透測(cè)試是我們安全問(wèn)題中的重要組成部分,但是單純依靠滲透測(cè)試來(lái)決定系統(tǒng)或程序的安全與否就大錯(cuò)特錯(cuò)了。
原因在于滲透測(cè)試工具和技巧往往只是以網(wǎng)絡(luò)和應(yīng)用掃描為基礎(chǔ)。它本質(zhì)上是從外到內(nèi)的方法,對(duì)軟件體系結(jié)構(gòu)、設(shè)計(jì)和源代碼的根部問(wèn)題的深入檢查力不從心。
任何可靠的信息安全測(cè)試程序都一定包括適當(dāng)?shù)脑O(shè)計(jì)和源代碼審查,除了那些嚴(yán)格的動(dòng)態(tài)測(cè)試。但是滲透測(cè)試卻沒(méi)有。
軟件認(rèn)識(shí)的墮落
當(dāng)我上個(gè)世紀(jì)80年代進(jìn)入這個(gè)行業(yè)的時(shí)候,遇到了一個(gè)很不可思議的問(wèn)題,明顯讓系統(tǒng)管理員去做編程。幾乎這個(gè)領(lǐng)域的每個(gè)人都有一些扎實(shí)的計(jì)算機(jī)科學(xué)的背景。
回到今天,你會(huì)發(fā)現(xiàn)信息安全已經(jīng)成為主要的難題,能讀懂軟件源代碼的人卻少之又少。這是個(gè)很大的問(wèn)題。因?yàn)槲覀兒茈y知道最新出現(xiàn)的攻擊事件和攻擊工具是怎么一回事。我們需要對(duì)工作中的一些基礎(chǔ)技術(shù)有很深入的認(rèn)識(shí)。這被認(rèn)為是安全技術(shù)人員必須要達(dá)到的安全技術(shù)水平。
權(quán)宜之計(jì)不可喧賓奪主
每當(dāng)我了解到一些新的攻擊工具或技巧的時(shí)候,出于本能的反映我都希望我們的企業(yè)的系統(tǒng)能夠適當(dāng)?shù)刈龊梅烙H绻麄儧](méi)有做好,我們就會(huì)尋找一些補(bǔ)救的方法。這些都是很自然和可以想到的做法。
但是尋找最快修復(fù)辦法總是讓我們步入“螺旋安全”的怪圈。我們從廠商那買(mǎi)來(lái)產(chǎn)品,放在企業(yè)系統(tǒng)的前端,然后希望奇跡很發(fā)生。但是往往相反,我們總是感到失望。
解決問(wèn)題的權(quán)宜之計(jì)本身沒(méi)有問(wèn)題,但是我們要意識(shí)到它們只是權(quán)宜之計(jì)。如果我們不始終著眼于信息安全系統(tǒng)根源的問(wèn)題,注定會(huì)失敗。
過(guò)于樂(lè)觀的“代碼”
這觀點(diǎn)有點(diǎn)過(guò)于左了,但是這是多次遇到的問(wèn)題。很多時(shí)候,我們所依賴的軟件都被編寫(xiě)得過(guò)于樂(lè)觀了。編寫(xiě)代碼的人肯定不會(huì)想到會(huì)在這里出現(xiàn)問(wèn)題。
我所要明確的是,人們?cè)诰帉?xiě)軟件的時(shí)候都想當(dāng)然地認(rèn)為不會(huì)有問(wèn)題。例如,將文件存到磁盤(pán)上。我們想當(dāng)然地認(rèn)為有足夠的空間存入這個(gè)文件,以及存盤(pán)的過(guò)程是沒(méi)有病毒的。事實(shí)上,計(jì)算機(jī)環(huán)境經(jīng)常會(huì)丟出讓我們意想不到的問(wèn)題來(lái)。很多這種失敗都會(huì)出現(xiàn)嚴(yán)重的信息安全影響:客戶記錄遭到竊取,認(rèn)證證書(shū)欺騙等等。
在做系統(tǒng)審查的時(shí)候,我總是會(huì)想到出現(xiàn)問(wèn)題的一剎那。例如,一個(gè)成年人人帶著孩子走在繁忙街道,他的心態(tài)是怎樣的?他要保證孩子的安全。成年人就是我們所謂的軟件開(kāi)發(fā)者,他們應(yīng)該預(yù)料到可能存在的問(wèn)題并保證使用者的安全。
【編輯推薦】