搜尋此網誌

2009年9月9日 星期三

[個人意見] 問題的問題 (四之四)

既然是資安的論壇,我們在這系列的最後一篇文章中就來看看資怎麼下手解決複雜的資安問題。我會用一個假想的例子來加以說明。

假設今天有一個抽獎系統,原本的設計是在每次抽獎時會從所有會員中隨機抽出特定數目的會員致贈出豪華獎品。因為每次抽獎的獎品數量、種類都不盡相同,所以順帶提供了一個後台介面讓有權限的人可以設定獎品的數量、種類、以及抽獎的時間。在一次的抽獎結果中,事後卻意外發現頭獎(百萬獎金)的中獎人與該系統的系統管理員竟是一家人,而此系統管理員已於此次抽獎後的隔天無故離職,而得獎者也已經把獎金領走了。進一步的追蹤發現,此系統管理員到職僅約半年的時間,而且之前的工作經驗都在別的地區。

為了追蹤問題發生的原因,我們必須先找到為何得獎者”剛好”是該系統管理員的家人。是抽獎程式被修改而未被發現,還是抽獎程式執行時被其他程式干擾而產生異常的結果,還是在公布結果前得獎者的資料被置換了,甚至有可能是公布後原先得獎者的個人會員資料被換掉了。經由我們的分析發現,原來是因為程式被修改而未被發現,所以抽獎程式在該次抽獎中”一定”會抽中特定的會員(原系統管理者的家人)。

這次事件發生的"直接”原因被發現後,我們可能的立即反應就是如何避免抽獎程式執行異常(如抽出特定的會員)的行為。但是如果這樣就開始要找解法稍嫌過早了。首先,抽獎程式被修改而未被發現,至少還可以衍生出員工素質不良、程式碼管控不當、沒有做好程式的完整性檢查、CM機制不足等更深層的原因。除了這些原因外,因為系統本身還有其它的管道可供有心份子做手腳,所以如果不一併加以考慮,就算今天補了第一個缺口,其他缺口依舊存在。這也是我在第一篇文章中提到有關解決問題的第四個階段 ─ 避免類似問題再發生。這個階段(避免類似問題再發生)對於資安議題特別重要,原因在於資安問題不像一般資訊系統,就算再小心問題還是會”主動”發生。如果沒有抱持未雨綢繆的心態來加以面對,恐怕不只是疲於應付問題,我想應該是連飯碗都不保才是。

事實上,我們認真的看待所有的可能性後,發現都有一個共通的原因,那就是素質不良的員工。為了因應這個問題,包含員工背景調查、責任劃分(Separation of duty)、Two-man control、定期輪調等管理措施或許是更有效的防範方法。對於程式碼管控,則有責任劃分、權限管控等機制可以運作。

當然我們不能這麼武斷,必須經過一些分析的方法找出真正值得執行的解法。而光是避免程式被修改這個議題,就可能衍生出許多種可行的解決方法。那麼當再加上其他議題後,解決方法沒有上百,也有數十個。如果這樣討論下去,整個需要比較的資料會過於龐大,所以在資訊安全的領域中,會透過風險分析的方式,試圖將分析步驟作簡化的動作。風險分析的方法,基本上就是把所有原因(稱之為威脅)的發生機率跟危害程度做一個分析,兩個數值相乘後的值就是該威脅造成損失的期望值,然後將期望值較高的威脅(原因)當作解決的對象[註一]。除了適用於上述的定量化分析方法外,定性化分析方法也可以應用同樣的概念。對象決定後,再找出針對各個威脅(原因)最有效率的解法。也就是說,透過風險分析將找尋最佳解法的步驟一分為二,避免了因為威脅(原因)與解法之間的交互作用所產生的複雜情況。嚴格來說,這樣的做法不見得能夠找到真正最有效益的解法,但是在面對資訊安全這麼複雜的議題時,卻是一個比較可行的方法。更何況資訊安全有時候不能僅從效率的角度來看,當風險很高時,就算是要花多一點的錢,也有不得不為的時候。就用我們買保險一樣,不見得都是買最划算的保險,有些保險買了是求心安的,有些則是避免發生問題時只能等死。

事實上,風險分析的方法在很多地方都有用到,像是金融財務、以及這幾年大行其道的專案管理都有這樣的做法。 只是在不同的領域中,因為對損失的定義不同,所以考慮的對象會有所差別。儘管如此,基本的精神都是一樣的,就是先找出會造成最大損失的點加以面對並處理之。

如何有效地處理問題,在此次金融風暴發生後的此刻更形重要。因為,省錢如果只是省錢,其實沒有大太的幫助。如果能夠省錢但是依舊完成同樣的任務,甚至能夠完成更多的任務,如此一來才能大幅增加企業的競爭力。當然,這個議題踩到另外一個大多數公司的痛腳,那就是哪些事情對公司而言才是有價值且重要的業務。道理很簡單,把風險分析反過來用就可以了(其實還有更適合的方法),但是這通常已經是非常非邏輯性的問題。怎麼解,就得靠各位的科學與藝術天分了。

註一:計算單一威脅損失期望值的公式為

Annualized Loss Expectancy (年度損失期望值) =
    Asset Value (資訊資產的價值) *
    Exposure Factor (此威脅造成事件發生會造成多少比例的損失) *
    Annulaized Rate of Occurrence (每年度此威脅造成危害的次數)

About