調查:工控系統裝置面臨邊通道嚴重威脅
上個月,一名研究人員在SecurityWeek於安大略省亞特蘭大舉行的《ICS網路安全會議》上警告稱,邊通道攻擊(Side-channel Attack,簡稱SCA)可能會對工業控制系統(ICS)構成嚴重威脅。
為了證實這一結論,電力管理公司Eaton的首席工程師Demos Andreou已經針對能源領域常用的保護裝置(尤其是配電站使用的裝置)進行了分析。
邊通道攻擊(SCA)最初是由Kelsey等學者於1998年提出的一種理論。與傳統密碼分析不同,邊通道攻擊利用功耗、電磁輻射等方式所洩露的能量資訊與內部運算運算元之間的相關性,通過對所洩露的資訊與已知輸入或輸出資料之間的關係作理論分析,選擇合適的攻擊方案,獲得與安全演算法有關的關鍵資訊。
目前邊通道理論發展越發迅速,從最初的簡單功耗分析(SPA),到多階功耗分析(CPA),碰撞攻擊、模板攻擊、電磁功耗分析以及基於人工智慧和機器學習的邊通道分析方式,邊通道攻擊方式也推陳出新,從傳統的直接能量採集發展到非接觸式採集、遠距離採集、行為邊通道等等。
而此次Andreou的研究重點主要聚焦在時序攻擊(Timing Attack)和功耗分析攻擊(power analysis attack)上。它們都屬於邊通道攻擊方法範疇,其中,時序攻擊(TA)需要獲得目標攻擊系統詳細配置引數,重建對照環境,利用統計分析方法,對照採集到的密碼演算法一次加密/解密的整體時間來推測金鑰;而功耗分析攻擊則是通過分析時間週期內半導體的功率變化,即示波器顯示的兩個脈衝之間的時間量,訊號形成功率配置檔案,可以提供有關資料處理方式的線索。
研究人員表示,時序攻擊和功率分析攻擊都可以針對工控系統(ICS)裝置發揮作用。但是,由於時序攻擊更易於檢測和阻止,所以他將研究重點放在了功率分析上。
自1998年提出至今,雖然邊通道攻擊已經出現了很長時間,但卻很少有研究論文專門探究過它們對工業控制系統的影響。值得注意的是,臭名昭著的Meltdown(熔斷)和Spectre(幽靈)邊通道攻擊也會影響工控系統,但這些方法只涉及軟體,而且它們實際上利用了現代CPU中用於提升執行效能的兩種並行執行特性:亂序執行(Out-of-Order Execution)和推測執行(Speculative Execution)。
Andreou指出,此次研究的目的是提高工控行業對風險的認識,意識到這些攻擊不僅僅是理論上可行的,即便是在資源有限的條件下,這些攻擊仍然有能力實現。
作為在Eaton公司工作的一部分,Andreou開展了工業控制系統和網路的合規性和道德滲透測試研究。此外,Andreou還和其他人幫助Eaton公司確保其產品安全,以及客戶網路不易受到網路威脅。
功耗分析攻擊依賴於分析時間週期內半導體的功率變化,即示波器顯示的兩個脈衝之間的時間量。訊號形成功率配置檔案,可以提供有關密碼資料處理方式的線索。
例如,通過觀測輸入正確密碼字元和非正確密碼字元的功率配置檔案間的差異,可以一次推測一個字元的密碼,之後通過相同的技術來提取完整的加密金鑰資訊。
目前,研究人員已經對來自三家主要供應商的保護裝置進行了測試,結果均取得了成功,但他認為,如果這三家公司使用的微處理器容易受到這些型別的攻擊,那麼來自其他公司的產品也會受到影響。
雖然測試的裝置都已有5至10年的歷史,但研究人員表示,新產品可能具有相同的漏洞,因為這些型別的攻擊直至最近才從理論走向現實,供應商不太可能意識到這種威脅,更不可能已經提前採取措施來降低風險。除此之外,開源軟體和廉價硬體的可用性也使得進行邊通道攻擊變得更加容易。
研究人員指出,已經獲得到保護裝置物理訪問許可權的攻擊者可以使用示波器和執行開源軟體的專用硬體裝置來獲取加密金鑰,而進行此類攻擊所需的硬體成本僅為300美元。
在測試的保護裝置案例中,攻擊者可以成功提取加密金鑰,並使用它來進行配置更改。由於這些系統主要用於保護電網等國家關鍵基礎設施,因此擅自更改裝置將產生非常嚴重的後果。
惡意行為者可能會造成系統失效或將錯誤的資料傳送回其運營商。由於這些裝置都是由主系統控制的分散式系統,因此來自一個裝置的錯誤讀數就可能會對網路的其他不同部分產生影響。
此外,研究人員還進一步解釋稱,攻擊者可以進行隱匿的配置更改。例如,在測試的保護裝置中,有一些會針對不同的季節具有不同的設定,並且黑客可預設配置更改僅在某個季節開始時生效,如此一來就能很好地掩蓋其攻擊行徑。
功率分析攻擊可能會造成嚴重的威脅,因為它們幾乎無法檢測到,且目標裝置即便是在受到攻擊後也能維持正常操作,讓人察覺不到異常。
在現實場景中實施此類攻擊並非易事,但也並非不可能實現。研究人員指出,想要獲取目標裝置的物理訪問許可權可能並不困難,因為它們通常都處於無人監管的狀態。無論是惡意內部人員、顧問還是外包維修人員都可能有很多機會發動攻擊。
另一方面,必須恰好在目標進行加密金鑰操作時對功率進行測量,這就需要對裝置進行逆向工程,並提前瞭解目標產品的型別。
進行攻擊可能需要數小時,其中大部分時間都屬於物理準備(例如開啟目標裝置、連線感測器等)。攻擊的軟體部分要快得多,金鑰可以在幾分鐘內獲取到。
例如,如果保護裝置使用的是高階加密標準(AES),攻擊者可以一次提取一個位元組的金鑰。就AES-128而言,攻擊者需要做的就是對加密金鑰的16個字元中的每個字元進行00到255的組合,並監控每次嘗試的功率配置檔案。