SCADA系統安全性問題面面談
- 時間:2012-10-23
- 來源:
遠光軟件(來源:北極星電力軟件網 作者:不詳)
定制化將成解決SCADA系統安全性的趨勢
如果你是CXO,負責監控一個復雜的基礎設施,包括一個SCADA系統,那么你最關心的可能就是怎么樣防止這一系統遭到外界的攻擊。由于很多復雜的基礎設施的脆弱部位已經遍布世界各地,所以自動控制軟件也在不斷地加速改進。但是要替換所有的控制系統可能還需要很多年。
為了解決這一問題,網絡供應商一直在想盡辦法來監測控制系統遭受攻擊的情況,以不斷的完善網絡系統。他們可以通過身份驗證和入口控制等手段來和控制系統進行信息交換。隨著新一代控制系統的發展,監控任務將主要由系統自己負責,所有的入口通道將可以識別是否有惡意用戶進入。
但是當涉及到電力、冶金、化工、水處理、核能等控制系統領域時,關注點就又有所不同了。這時研發人員就要考慮到在上述的特殊環境中遇到問題時該如何及時作出反應。
控制系統需要通過一系列的綜合性的測試。我們很難用一張數據表將所有可能發生的情況,及其與其他系統的協作問題挪列出來。在化工及水工業等高危行業中,一旦出現問題,結果可能將是災難性的,所以這就更需要控制系統要做到精細化,來應對可能出現的一連串的問題。
SCADA仿真軟件或許能解決這一問題。這種SCADA仿真電力軟件不禁使人們想起了電廠用于起/停監控的能源管理系統。這一監控軟件將可以將電力線路分成不同的區段,當系統顯示正常是就可以完成電能的交換。
這種仿真軟件有什么不同之處呢?由于我們很難為一個特定的行業制定一套監控系統,比如說石化行業,這一模擬軟件就好比是為不同的行業所定制的,當要將這一系統運用于不同的行業時,客戶只需要提前進行參數設置和性能測試就可以了。當然軟件錯誤也會使給系統帶來災難性的結果,所以在使用于特定行業之前必要的測試是必不可少的。
其他問題還包括內部無線網絡的連接情況。仿真軟件與線路網、控制器的連接情況也非常重要。這可能需要為這一監控系統制定一款更為可靠地無線網絡通訊系統。
在未來的幾年,SCADA控制系統的弱點將會得到不斷的改進。可能會出現運用于不同工業控制環境、不同客戶類型的仿真軟件。隨著控制系統的不斷復雜化,仿真軟件的要求也會不斷的提高。鑒于安全方面的考慮,對于同一行業不同企業,軟件也會有不同的授權。
SCADA如何突出尋找安全脆弱性
脆弱性泄露具有多種性質,在信息安全領域中歷史悠久。雖然安全專業人員有時支持以緩和形式管理脆弱性泄露,SCADA系統更多相關結論的出現,使得許多安全專業人員重新對他們的觀點進行思考。利用熟練的技術風險管理方法以及對風險模型的更為細致的觀察,有助于在這個方面上更加清晰的思考。
理解泄密對IT風險所產生的影響的關鍵是承認威脅和脆弱性之間的相互作用。容易陷入僅考慮受影響脆弱性程度的陷阱。當研究人員公開脆弱性時,通常是為了更加安全的軟件。實際上,脆弱性級別不受初期揭露的影響;無論我們是否知道脆弱性級別,當脆弱性進入環境時,級別發生變化(由于攻擊者)。揭露的目的是識別脆弱性,并消弱脆弱性–通常通過路徑–因此降低了脆弱性級別。
但是一個系統的修補是一個非常危險且耗時的過程。如同所有系統變化一樣,進入生產前,必須對補丁進行徹底評估和測試。即便如此,補丁仍可能失敗。因此必須對補丁過程相關成本和避免損害所獲得利益進行對比。以前我們知道極少脆弱性曾經被實際解決,利用SCADA系統,我們現在可以處理高度敏感的系統,一般長時間不發生變化,實際應用補丁的可能性相當低。更重要的是,因為在種情況中無可可用的補丁,必須采用其它機制。最終,脆弱性程度不可能被影響數月。
威脅受揭露細節影響嚴重,似乎不直觀。因為聰明人自有其成本利益的分析,任何使其成本降低的舉措將增加其利益。提供的信息越多,例如武器化的攻擊代碼,成本越低。利用SCADA系統,攻擊者知識庫仍然相對較小,因此whitehats專家幫助大大幫助了該壞人。
許多研究人員(但不是全部)尋找脆弱點,試圖降低風險。然而,他們忽略了威脅部分。這意味著,為了降低風險,脆弱性級別降低必須大于威脅程度的增加。雖然大多數脆弱性從來未被利用,過去的眾多例子表明在揭露后發生的事故更多。既然已經掌握了SCADA的情況,不可能通過降低脆弱性級別以彌補威脅的增加,因此發生更多的事故。
研究人員提到其成功時,通常突出他們認為變得更安全的軟件應用–通常這是微軟喜歡的方式。這恰恰是他們不了解脆弱點以及理解威脅重要的很好的例子。雖然這些應用程序實際變得更加安全,實際上與事故降低無關緊要。這突出了兩件事-第一,在所包含環境中起作用的事情比一定在整體中起作用-這也是為何QA部門仍然有意義的原因。第二,這種整體運行是不起作用的。
第二件事簡直是不起作用的。在面對這些“更安全”方案時,風險如何改變?有沒有人說明風險實在正在下降?問題是在世界代碼庫中(或者當今大型數據中心)太多軟件試圖利用現代技術查找每一個缺陷。不僅如此,差距正在擴大–這就像一個較差的數學數字問題-軟件開發正在前面以50mph速度前進,脆弱性研究以5mph速度在相同方向移動,何時能夠追上?
由于我們不可能找到所有脆弱性,通常也不可能找到“正確的”脆弱性,因此我們需要利用更好的且更有效的方式保護我們自己。雖然對脆弱性的“正面攻擊”不起作用,但是還有其它方式處理這些問題。首先,我們可以在架構中涉及更好的控制方法。類似微軟藍帽獎的舉措更有可能引起安全突破。第二,我們可以更加努力地進行威脅監測。雖然有另一個問題,但是已經顯現成功,而且正在轉好。這只是開始。
SCADA系統是個嚴肅的行業,其中可能威脅人的生命。Stuxnet是缺陷尋找不起作用的很好的例子-我們丟失了那些價值-以及替換技術的承諾-我們才發現違反規律并返回。為突出某問題的嚴重性,使其惡化毫無意義。讓安全研究人員-在我們領域內最優秀的人才-開始以不同方式思考該問題。