經由 HMI 攻擊 SCADA
SCADA 是所謂的「監控與資料擷取」(Supervisory Control and Data Acquisition) 系統的縮寫。普遍用於全球的各種關鍵基礎架構,因此天生就很容易吸引各種駭客的覬覦。駭客可能駭入 SCADA 系統來蒐集一些資訊,例如:廠房設施配置圖、關鍵門檻值、裝置設定等等,來協助他們從事後續攻擊。駭客攻擊可能帶來的最壞情況包括服務中斷,或是駭客利用易燃物質或重要物資來製造威脅生命安全的危險狀況。
Stuxnet 病毒及烏克蘭發電廠遭受攻擊的案例讓趨勢科技見識到,真正有心從事破壞的駭客不僅對企業是一大威脅,更可能危及社會大眾的安全。駭客有許多可入侵 SCADA 系統的管道,其中之一就是經由其人機介面 (HMI) 軟體普遍存在的漏洞。由於 SCADA 系統大多透過所謂的 HMI 軟體來管理,而這類軟體通常安裝在具有網路連線的電腦上。因此,HMI 是 SCADA 系統遭受攻擊最主要的目標之一,最好安裝在隔離或獨立安全的網路上。但根據經驗,實際情況通常並非如此。
何謂 HMI?
所謂的人機介面 (HMI) 就是顯示資料與接受操作人員指令的介面。操作人員可透過該介面監控系統狀況並做出適當的回應。今日的 HMI 大多具備先進、可自訂的資料顯示功能,讓操作人員很方便地掌握系統的狀況。
HMI 常見的漏洞類型
趨勢科技 Zero Day Initiative (ZDI) 零時差漏洞懸賞計畫團隊特別針對今日 SCADA HMI 的安全性做了一番深入研究,仔細分析了 2015 至 2016 年間所有已揭露並修復的 SCADA 軟體漏洞,其中也包括 ZDI 計畫所接獲通報的 250 個漏洞。
趨勢科技發現,這些漏洞主要分成幾類:記憶體損毀、登入憑證管理不良、缺乏認證/授權機制與不安全的預設值,以及程式碼注入漏洞,全都是可以藉由安全的程式撰寫習慣來預防的漏洞。
記憶體損毀:這類問題在所有已揭露的漏洞當中約占 20%,這類漏洞是很典型的程式碼不夠嚴謹的安全問題,例如:堆疊和記憶體緩衝區溢位,以及超出範圍的記憶體存取動作。
登入憑證管理:這類問題占所有已發現漏洞的 19% 左右,這類漏洞包括:使用寫死的密碼、不安全的密碼儲存方式 (如純文字),以及登入憑證保護機制不夠充分。
缺乏認證/授權機制與不安全的預設值:這類問題占 SCADA 漏洞的 12% 左右,包括不安全的預設值、以純文字方式傳送敏感資訊、缺乏加密機制、不安全的 ActiveX 控制項卻標記成安全並用於執行腳本。
程式碼注入漏洞:這類問題占所有已發現漏洞的 9%,除了一般常見的程式碼注入類型:SQL、指令、作業系統、程式碼等等,還有一些 SCADA 系統特有的程式碼注入漏洞。
SCADA 產業的漏洞揭露數據與其他產業比較
趨勢科技發現,從通報一個漏洞給 SCADA 廠商到廠商釋出修補更新平均最高需要 150 天,較一般常見軟體 (如 Microsoft 或 Adobe 的軟體) 約多出 30 天,但仍大幅低於 HPE (惠普) 和 IBM 的企業軟體。
換句話說,SCADA 的漏洞從通報到修復大約需要五個月的時間。當然,時間長短隨不同廠商而異,有些廠商可能在一個星期內就修復,但有些卻可能要 200 天才會修復。
有關各類漏洞的詳細討論以及 SCADA HMI 漏洞的個案研究,請參閱趨勢科技的報告:「駭機介面:SCADA 人機介面 (HMI) 漏洞的現況 」。此外,該報告也針對漏洞研究人員 (包括正在檢查自家軟體漏洞的廠商) 提出一些研究方向及方法,以便他們迅速發掘並有效解決軟體漏洞問題。