ClearView是最近由麻省理工學院和華盛頓大學研究團隊發表的一套技術,可以自動的偵測跟修復電腦程式的錯誤。
這套技術並非直接修改程式的原始碼,而是透過分析解譯後的程式碼,針對程式的正常運轉制定規則,一旦運轉中的程式出現異常狀況或是外力介入,將依據那些被違反的規則發展出修補程式(俗稱「補丁」:Patch);不僅如此,這套技術本身還會分析並找出最適合的補丁,直接置入程式中修補,若發現置入的補丁不適合,則放棄並找下一個,是完全自動的技術。
看來對付駭客攻擊應該有一定的效用,在我參考的這篇文章「ClearView修復技術 增加程式免疫力」(http://mag.udn.com/mag/digital/storypage.jsp?f_ART_ID=219686)中,測試Firefox在遭受駭客攻擊時,ClearView所發揮的功效,從偵測到搞定只花了五分鐘不到。
這讓我想起之前做QA時,也是要針對已經設計好的程式做測試,找出程式的漏洞,做法也是在程式的運轉中盡量從各方面測試有沒有錯誤,並且參照程式要達成的目的,看看哪些地方有問題,只是以人力來做沒辦法在這麼短的時間完成吧!
文中最後兩句讓我心有戚戚焉:「軟體會這麼脆弱,是因為我們讓它脆弱的」,做QA那時常常抓到的錯誤有時就只是不小心或太粗心,比如像正規使用法這類的驗證機制沒加上去…對於程式基本安全的防護方面,有時就只是多花一點檢查的時間、或多一點測試就可避免。