Aurora 電網漏洞與 BlackEnergy 木馬程式

最近在一些工業物聯網 (IIoT) 資安研討會上,Aurora 漏洞持續成為眾人話題。與會者都在問:「我們國家的電網是否安全無虞?我們如何保護電網安全?Aurora 到底是什麼?」這篇文章就是要來探討一下 Aurora 漏洞以及專門利用該漏洞的 BlackEnergy 攻擊。

2007 年 3 月,美國能源部 (US Department of Energy) 展示了 Aurora 漏洞 (請參閱這段來自 CNN 的實測影片)。影片中發生了什麼事?

基本上,發電機內部是由一個永久性磁鐵所構成的轉子在一個由線圈構成的定子當中持續旋轉來產生電力。而帶動轉子旋轉的動力可以是水力 (水力發電機)、燃油 (柴油發電機)、蒸氣 (核能發電機) 或是風力 (風力發電機)。發電機所產生的電力會匯集到電網,然後再輸送至全國各地,提供民生及商業用電所需。

其他類型的發電設備同樣也要將電力匯集到電網。美國電網所提供的電力屬於 60 Hz 的交流電,這表示電壓的正負變化為每秒 60 次。只要發電機的相位與電網同步,其電力就能順利地併入電網的總電量當中。但萬一發電機輸出的電力與電網發生相位不同步的情況,就會無法將電力併入電網。

美國能源局的實驗使用了一台 2.25 MW 的柴油發電機。Aurora 漏洞可讓駭客將發電機與電網斷開一段足以造成相位不同步的時間,然後再恢復連接。這樣的非同步會對轉子瞬間造成嚴重負擔,進而產生一波機械式能量,導致發電機震動,造成培林損壞並讓溫度瞬間升高。Aurora 漏洞就是藉由快速地斷開並重新連接發電機與電網之間的迴路來造成發電機在三分鐘之內損毀。

不過在上述實驗當中,個別攻擊週期 (斷開斷路器然後再重新連接) 並未連續,因為能源部希望能在攻擊的過程當中讀取發電機的相關數據。所以,如果是真正的駭客攻擊的話,時間會縮短許多。

防範 Aurora 攻擊

為了避免發電機自我損壞,製造商都會在發電機內設置一套安全系統,一旦發電機與電網斷開超過 15 個週期 (約 ¼ 秒) 就不允許再重新連接電網。某些發電機可能會運用機械式繼電器,但更常見的是由軟體所控制的安全系統。而且為了監控及營運上的方便,這些系統還會連上網路。

Aurora 攻擊當中的個別開啟/關閉週期都只需不到 ¼ 秒的時間。因此,攻擊事實上在安全系統還來不及反應就已經觸發。

目前的一些安全機制都無法有效防範 Aurora 攻擊。

BlackEnergy 上場

BlackEnergy 是一個木馬程式,可發動分散式阻斷服務 (DDoS) 攻擊、下載客製化垃圾郵件,以及竊取銀行登入憑證。趨勢科技資安情報部落格 (Security Intelligence Blog) 曾在 2016 年 2 月的一篇文章當中詳細說明了這個惡意程式。此惡意程式從 2007 年首次被發現開始即不斷演進,新的變種曾在 2010 年被發現。2015 年 11 月,BlackEnergy 被發現用於攻擊烏克蘭的電力、採礦與鐵路公司,甚至在 2015 年 12 月 23 日造成影響 225,000 人的大斷電。

該次攻擊使用魚叉式網路釣魚來散布 BlackEnergy 惡意程式,直接鎖定目標企業的員工以及與目標企業有所關聯的對象。其散布的惡意檔案當中還有 KillDisk 惡意程式,用來讓受害系統無法開機。受害系統因而無法還原、也無法從遠端遙控,而不斷電系統 (UPS) 也失效。除此之外,惡意程式也會停用序列轉乙太網路 (Serial-to-Ethernet) 裝置,這讓損害復原的速度大為延遲。多數的系統都必須等到韌體復原之後才能使用。請參閱美國國土安全部工業控制系統網路緊急應變小組 (DHS ICS-CERT) 的這篇文章

攻擊、回應與防範

針對烏克蘭發電廠的攻擊之所以能夠得逞,完全在於歹徒事先已進行了數個月的偵查工作。他們確切掌握了每個廠房所使用的設備,並且在這些地點的人機介面 (HMI) 裝置上植入了後門程式,而且熟悉目標對象的復原作業程序。他們知道,停用了序列轉乙太網路裝置之後就能讓遠端管理失去作用,使得現有的人力很難維持營運,並且減緩矯正與復原的速度。而且他們還知道該停用哪些 UPS 系統,以及如何停用。他們還讓操作人員無法從主控台上進行操作 (現場人員表示螢幕游標一直在畫面上移動,而且不受主控台上的鍵盤或滑鼠控制)。

最重要的是,駭客並未發揮 Aurora 漏洞的真正實力。事件當中並無任何發電機損毀,電力也在幾小時後復原。萬一發電機遭到損毀,復原工作很可能得花數個月的時間。絕大多數的大型發電機都是量身訂製的,不可能有庫存可以採購。而電網的重建也需要數個月的時間以及數百萬美元的成本。不僅如此,摧毀發電機將形同宣戰。因此,這項攻擊可說是一大威脅。

美國境內的電網也存在著同樣的弱點。電力輸送與發電單位必須將網路切割開來,並且執行惡意程式掃瞄、保留記錄檔以供分析,同時應制定緊急應變程序、將系統鎖住、隔離不安全的裝置。