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