然而隨著網路連線的複雜性日益增加,帶來的資安疑慮隨之提升。1970年代, 出現了惡意駭客、網路漏洞和惡意軟體。1980年代是電腦蠕蟲(Computer Worm)氾濫的年代。而1990年代則見證了電腦病毒的興起。如今,隨著網際網路尤其是物聯網(IoT)的興起,電腦變得無處不在,萬物互聯的時代到來,所有從使用智慧門鈴、喇叭和空調等智慧產品的個人,到跨國大型企業和政府,都對網路安全或安全性的缺失感到擔憂。
不幸的是,即使是當今最先進的網路安全系統,也很難應對不斷變化的威脅勢態。如今一個新的威脅媒介已經出現,因為它可以在系統組裝完成之前,系統元件尚在全球供應鏈運輸階段時,透過攻擊這些元件對系統造成破壞。新的威脅就是針對元件韌體的攻擊。韌體漏洞已經成為所有組織急需關注和制定策略應對的薄弱環節。The National Vulnerability Database的報告顯示,2016年至2019年之間,韌體漏洞數量增加了700%以上。
為了理解損壞的韌體如何影響系統,可從以下情況分析。在與開放運算計畫(OCP)聯合撰寫的一篇白皮書中,雲端安全產業高峰會表示,對於運算系統、電器和相關的基礎設施而言,韌體已經成為一種重要的威脅媒介。元件啟動時,如果它執行的首行程式碼遭到破壞,那麼整個系統就不再也不應被視為安全了,韌體可能由於惡意攻擊或無意遭到破壞。
正如本文所述,保障韌體安全的解決方案就是實現網路保護恢復系統,它能夠保護自身免於攻擊、受到攻擊時進行偵測、並自動從攻擊中恢復。這一過程的關鍵就是能夠保障整個供應鏈中,產品整個生命週期的安全,讓惡意入侵者在供應鏈的任何環節都難以有效損壞韌體。
工業4.1 萬物互聯的一個典型案例就是工業4.0,它被定義為傳統製造業和產業流程在智慧技術幫助下持續推進自動化的過程。它包括了大規模機器對機器通訊(M2M)與工業物聯網(IIoT),有助於提高自動化水準、優化通訊和自我監控以及部署智慧型機器,進而無需人為干預即可分析和診斷問題所在。
工業4.0的一大動力來自OPC統一架構。OPC全稱為開放平台通訊,是工業自動化領域和其他產業中用於資料安全穩定交換的一種交互操作標準。OPC基金會負責該標準的開發和維護。最初的標準為OPC Classic,僅限於微軟Windows作業系統。OPC統一架構(UA)於2008年發布,是一個安全、獨立於平台的架構,它將各個OPC Classic規範的所有功能整合到一個可延伸的框架中,因此能夠確保多家供應商的元件之間資訊的無縫通訊。
OPC統一架構定義了標準化通訊協定,這些協定基於授權和認證、簽名和憑證以及加密。它們負責管理用戶端的接收和彙集資訊,與伺服器的分析、處理該資訊並操作之間的所有通訊。工廠或生產線首次上線時,任何通訊都由受信任的伺服器發起。在此之前,來自用戶端的請求都不會被回應。只有在用戶端透過受信任的伺服器驗證後,才允許網路中進行雙向通訊。
資訊科技(IT)是指使用電腦和網路來儲存、檢索、傳輸和操作資料和資訊。營 運技術(OT)是指用於監控和控制實體設備(如馬達、發電機、閥門和泵)的軟體和硬體。以前OT網路使用的是針對其所需功能優化的專有協定。近來,OT設備和系統中採用了IT標準網路通訊協定(例如TCP/IP)來降低複雜性並提高與傳統IT硬體的相容性。
OPC統一架構可以實現IT和OT的融合,透過打通業務系統和營運系統來消除 資料孤島,進而更易即時感知、監控和回應工廠任何地點發生的任何情況,縮短洞察時間(Time to Sight)並最大程度提高效率。OPC統一架構有助於通訊的特點十分重要,因為工業4.0的關鍵特徵之一就是將越來越多的事物接入到系統中,從網路邊緣的簡單感測器和驅動器,到形成雲端的複雜伺服器,都需要進行通訊(圖1)。
以預測性維護舉例,不久之前,一台簡單的機器可能只配備一個溫度感測器和溫度上限控制器。如果機器的溫度超過某個臨界值,這種功能單一的控制器就會關閉系統。而如今的智慧控制器可能擁有人工智慧功能,透過各類感測器來監測機器狀態和執行的數據,如溫度、功耗和震動,進而掌握機器動態趨勢和異常狀況,例如該機器的主軸承出現問題,如不進行維護,可能會在72小時內發生故障,並將結果發送給控制鏈上層進一步評估和行動。但是如果該控制器安裝完成後,其韌體受到攻擊,或者,OT部門如何確保他們將其運送到工廠準備連接到網路時,設備的韌體沒有遭到破壞呢?
現階段,工業4.0已經發展了好幾年。然而與許多新興事物一樣,這一概念也是一把雙面刃。在出現工業4.0和OPC統一 架構出現之前,連網功能尚不普及,攻擊者必須艱難跨越多道防火牆才能有所作為。即使駭客最終成功存取了工廠核心資料,卻仍無法破壞沒有連接任何網路的設備。相反,工業4.0和OPC統一架構的問題在於當萬物互聯,不同的設備開始交換資訊時,單個被惡意破壞的設備有可能造成整個系統的損壞和崩潰。
在網路部署之前,電腦安全最早期的形式是周邊環境安全,即是用物理屏障將入侵者拒之門外。網路的出現則催生了防火牆這一概念,即網路安全設備使用軟體和/或硬體來監控網路通訊的出入,並基於一組明確的規則來判斷是否允許特定的通訊。目前的最佳實踐是採用深度防禦策略,受信任的來源和端點在所有層面都採用安全措施,但即便如此,還是不足以抵禦某些形式的攻擊。
即使系統的初始狀態保持完好,系統的各個部分仍需要定期打上韌體補丁、更新韌體和重啟電源。這就引出了安全啟動(確保韌體啟動的程式碼是受信任的)和安全更新(確保韌體補丁和更新是受信任的)的概念,但是誰能保證控制這些操作的最底層韌體功能本身沒有遭到破壞呢?守衛自身又由誰來保護呢?
工業4.1正是目前急需的解決方案。工業4.1的系統不會簡單地依賴於網路安全,還擁有網路保護恢復機制。網路安全的做法通常是竭盡全力將入侵者拒之門外,但如果防禦遭到破壞,那麼網路安全可能面臨崩潰。但是,如果系統從網路邊緣設備到雲端伺服器的各個層面同時具有網路保護恢復機制,則能夠保護自身和其他信任度較低的設備免受攻擊、偵測到攻擊發生、並自動從中恢復。
網路安全失敗案例
網路攻擊是指透過未經授權存取電腦或網路進而曝露、更改、禁用、破壞、竊取或獲取資訊的行為。網路攻擊通常旨在存取、修改或破壞敏感資訊,向使用者勒索金錢或中斷正常業務流程。它們涉及的行為十分廣泛,包括在個人電腦上安裝間諜軟體,甚至是試圖破壞一個國家的基礎設施。
網路安全是指透過技術、流程和其他做法來保護網路、設備、應用(程式)和資 料免受網路攻擊。嵌入式領域中現有多種網路安全標準,例如ISO 27001、IEC 62443和美國國家標準技術協會(NIST)的網路安全框架。問題在於,在當今日益複雜的技術環境中,僅靠網路安全已經不足以解決問題。
網路安全失敗的一個典型案例就是2017年丹麥航運巨頭A.P. Moller-Maersk的遭遇。Maersk是一家綜合性集裝箱物流公司,負責全球76個港口的營運,在130個多個國家設有564家辦事處。該公司還營運了約800艘航船,包括運載量達數百萬噸的集裝箱船。總而言之,Maersk控制著全球近20%的航運能力。
2017年6月,Maersk不幸成為大規模網路攻擊的受害者。實際上,Maersk並非直接的攻擊目標,而是蠕蟲病毒NotPetya的間接受害者,該病毒源自俄羅斯,旨在攻擊烏克蘭的銀行系統。不幸的是,Maersk烏克蘭辦事處的一位財務主管要求他的IT管理員在一台電腦上安裝了一個會計套裝軟體。被病毒感染的套裝軟體繞過了公司的網路安全防禦程式。僅僅幾個小時之內,Maersk公司的全球業務就如死水一般停滯了下來。Maersk耗費了幾周時間才從中恢復,損失至少達到2億美元(有人估計損失可能高達3億美元)。問題在於,儘管Maersk的網路安全措施很到位,它並沒有採取任何網路保護恢復措施。需要注意,本文無意貶低網路安全措施,因為它構成了網路保護恢復的基礎。需要理解的是,網路安全本身還是不夠的。
通常人們會存在這樣的思維模式,例如沒受到攻擊是因為已經擁有完美的防禦機制。但是問題在於,完美的防禦不存在,任何人都有可能遭遇攻擊,所有對待網路
安全應有的態度是,關注何時會受到攻擊,而不是是否會受到攻擊。因此,思維方式應當從當然可以預防攻擊,轉變為發生攻擊時,如何才能順利度過?或者如何更好地從攻擊中恢復過來?答案就是建立從底層,也就是韌體層面開始就具備保護恢復能力的系統。
網路保護恢復的興起
網路保護恢復(Cyber Resiliency)是指系統在不利的網路事件(例如網路攻擊)出現 時依然能夠持續交付預期結果。它包括資訊安全、企業持續經營和全面的組織恢復能力。作業系統和軟體應用一直在使用離散記憶體模型和虛擬機器監視器(創建、運行虛擬機器的軟體、韌體和/或硬體)等技術來實現高等級的網路保護恢復機制。虛擬機器監視器的工作原理是,如果一個虛擬機器損壞、崩潰或終止運作,其他虛擬機器可以繼續在其自己的容器中執行。
這固然很好,但是當前的高階的網路保護恢復機制在韌體層面基本無效。因此,駭客大多將注意力放在韌體層面也就不足為奇了,因為在作業系統或應用層面不太可能實施此類攻擊。如果公司在韌體等級受到攻擊,在BIOS或引導程式碼中或各元件啟動的基礎層面,並且該公司不具備網路保護恢復方案,那麼系統必將癱瘓,該公司也將不能正常運作。通常這可能會對公司造成嚴重的財務和聲譽損失。另一方面,如果公司的韌體能保護系統免受攻擊、偵測攻擊和從攻擊中恢復,進而保證系統正常運轉,那麼就可以被歸類為網路保護恢復系統。
一些網路保護恢復的規範和標準已經問世或準備推出。例如,美國國家標準技術協會(NIST)在 2018年發布了SP 800-193平 台韌體保護恢復規範;可信賴運算組織(TCG)下的網路保護恢復(CyRes)工作小組將於2021年發布一項類似標準;SAE International的一個網路物理安全工作小組也涉足了網路保護恢復,將於2021年發布一項標準。
網路保護恢復機制早已在伺服器上使用,如今正快速應用於商業、工業、醫療和軍事等領域的嵌入式系統中。實際上任何可能出現問題的地方都有必要採用該方案,因此其應用範圍可以說是無處不在。此外,採用網路保護恢復方案的企業也將這一事實告知其投資者和股東,表明他們在採取積極措施保護他們的組織、客戶和產品。
實現網路保護恢復
市場上現有各種網路保護恢復解決方案。廠商如萊迪思半導體的網路保護恢復 功能是基於MachXO3D FPGA,該元件為客戶提供低功耗、大量可程式化設計 邏輯資源以及大量I/O的理想資源組合。MachXO3D FPGA基於快閃記憶體的配 置可實現瞬時啟動,使其成為平台最先通電、最後斷電的元件,並在系統控制和電源管理功能市場上有較大的占有率(圖2)。MachXO3D元件還擁有強大的硬體安全特性,能夠實現安全性達到NIST等級的嵌入式系統。實際上,該元件是10K LUT以下FPGA中唯一擁有NIST認證的不可更改安全引擎(ISE)的產品。
除了作為系統中最先通電、最後斷電的元件實現硬體可信任根(HRoT)外,MachXO3D不可更改的安全引擎還能實現預驗證加密功能,例如ECDSA、ECIES、AES、SHA、HMAC、TRNG、唯一安全ID和公/私金鑰生成。該安全引擎整合軟體、硬體和服務解決方案Sentry,可以在整個產品生命週期中,從元件的製造和運輸到平台製造、安裝、運行直至報廢保障資訊安全。同時該方案提 供資料安全、設備安全、資料驗證、設計安全和品牌保護等服務,可針對各種威脅實現全面保護。
根據NIST SP 800 193標準的定義,平台韌體保護恢復(PFR)包括保護、偵測和 恢復。保護是指保護平台的韌體和關鍵資料不受損壞,並確保韌體更新的真實性和完整性。偵測包括在首次通電、運行時以及在進行任何在系統更新時,以加密方式偵測損壞的平台韌體和關鍵資料。恢復則包括啟動受信任的恢復過程,並將所有損壞的平台韌體和關鍵資料恢復到其之前的狀態。
MachXO3D FPGA透過提供安全的雙引導等功能滿足網路保護恢復的需求。其可 程式化設計邏輯、不可更改的安全引擎以及安全的雙引導配置模讓設計實現更為靈活,並且能讓系統在部署完成後進行安全更新。在目前的分散式架構下,未受保護的晶片間、電路板間以及系統間通訊可能會遭到駭客竊聽或者模擬。在有多個韌體模組的系統中,駭客只需要入侵其中之一就能控制整個系統,因此他們總會攻擊最薄弱的環節。
正如之前所述,而MachXO3D FPGA嵌入式系統中最先通電和最後斷電的元件。 系統通電後,MachXO3D立即安全啟動進行自我檢查,確保只有經過認證的韌體才能在它上面運行。MachXO3D還會檢查和驗證系統中所有其他元件的相關韌體,只有在驗證其真實性後,它才會釋放這些元件。系統啟動並重新作用後(符合NIST SP 800 193平台韌體保護恢復標準),MachXO3D透過保護、偵測和從惡意攻擊中恢復讓系統持續具備網路保護恢復機制。此外,該元件的可程式化設計架構所擁有的大規模平行處理能力使其能夠同時保護、偵測和恢復多個其他平台韌體,尤其是那些不太受信任的韌體。
一般來說,政策引擎(Policy Engine)可以讓系統設計人員和管理人員創建、監控和強制執行有關如何計算、網路資源以及組織資料的規則。在具有網路保護恢復措施的
系統中,其政策引擎可以指定偵測到網路攻擊時應採取的措施。例如採用Sentry解決方案,MachXO3D可以即時主動監控多個通道(例如I2C和SPI匯流排)來發現異常行為。設計人員可以選擇在FPGA內部構建政策引擎,也可以在更高階實現政策引擎,此時,MachXO3D可以作為該政策引擎的原始元件(Primitive)。在進行恢復時,多數操作都可以由政策引擎來實現,也可以作為FPGA自動響回的一部分進行操作如圖3所示,HRoT是信任鏈中保護整個系統的首個環節,但是如何保證HRoT本身是可信任的呢?這就引出了網路保護恢復機制的最後一部分,保護供應鏈。
保障供應鏈安全
供應鏈是指創造一種產品或者服務並將其提供給終端使用者所涉及到的整個組織、人員、活動、資訊和資源系統。在嵌入式系統中,它可能包括一個或多個合約製造商、OEM、系統整合商和經銷商,這些都是為了將產品送到終端使用者的手裡。因此全球供應鏈極度分散,十分複雜,許多環節都有可能並且確實會出現問題。
目前的供應鏈使用非對稱,包含私密金鑰/公開金鑰加密,韌體智慧財產權(IP)由其創建者/所有者使用公開金鑰鎖定。在供應鏈的某個階段,韌體必須載入到系統元件中。這就需要與外部(例如合約製造商)共享公開金鑰,後者則使用硬體安全模組(HSM)將加密的韌體載入到元件中。
問題在於管理者需要知道可信任的對象是誰,供應鏈安全性漏洞已被利用多年,結果導致虛假韌體可能在供應鏈的任何環節,載入到任何類型的可程式化設計IC 中,包括CPU、微處理器(MPU)、微控制器(MCU)、圖形處理器(GPU),甚至是現場FPGA。
一個典型的例子是Zombie Zero惡意攻擊,許多人認為其背後的支持者是國家。 該國讓境內的一家合約製造商與一個駭客組織合作,目的是入侵全球財富雜誌的100強公司的企業資源規劃(ERP)系統。惡意程式Zombie Zero的攻擊大獲成功,合約製造商將受損的韌體載入到手持掃描器中,然後分別銷售到財富雜誌排名前100的公司。只要有一台掃描器安裝到了公司防火牆內部的無線網路上,它就開始對公司內部網路發起複雜的攻擊。結果,所有掃描資料,包含專案類型、來源、目標位址等,都被洩露到該國的僵屍網路。
因此,在無法保證所有合作夥伴都可以被信任的情況下,公司如何才能可靠地推出產品呢?確保潛入式元件的安全至關重要,因為它是硬體可信任根的核心。為了解決安全難題,萊迪思利用基於快閃記憶體的MachXO3D的雙引導特性,提出解決方案。與其他FPGA一樣,最初的MachXO3D元件透過各種介面支援多種程式化設計機制。為了保障供應鏈安全,該FPGA上載入了一個鎖定程式,程式包含了基於非對稱加密的加密金鑰,然後將該鎖定的元件交付給特定的製造商(圖4)。
該鎖定程式的一個特點是它會禁用所有的程式化設計埠。對其進行編程的唯一方法是載入相應金鑰加密的韌體。即便在最壞的情況下,老練的駭客逐層對 FPGA進行物理解構,那麼除了鎖定程式,他們將一無所獲,這對他們也毫無 用處。在首次製造之前,客戶的IP不會載入元件中。客戶的任何加密金鑰或其他資產也是如此。
當系統將解鎖金鑰獨立於鎖定元件直接安全地發送給客戶,也就是系統的設計者或所有者,客戶在加密IP時使用此金鑰,隨後由製造商載入到FPGA中。製造商不僅無法讀取此加密IP,還無法將其載入到其他原始的FPGA中,進而防止了對元件的複製和過度生產(Overbuilding)。該IP只能載入到已經包含鎖定程式以及相應鎖定金鑰的FPGA中。此外,由於FPGA充當其自身的硬體安全模組(HSM)來保護自身免遭修改,因而無需其他昂貴的HSM。
這時,FPGA的雙引導功能就開始發揮作用了。該功能背後的原理就是,當一 個程式運行時,可以將一個新的程式載入到另一個快閃記憶體區段中。正在運行的程式將根據其解鎖金鑰對新程式進行身份驗證。新程式通過身份驗證後,被載入到另一個快閃記憶體區段中,然後對其進行重新驗證,確保該程式正確載入並獲得授權。
此時,如果有人嘗試進行網路攻擊(例如重啟電源),該元件將恢復為原始的鎖 定程式。只有元件重新程式化設計並透過了自我驗證之後,原始鎖定程式才會將所有權轉移到另一個引導區段,並將自身及其金鑰從元件永久擦除。
接下來,除了客戶的IP外,新影像還包含自己的鎖定程式實例,但是這一次包 含了客戶自己的加密金鑰。這意味著該IP只能被包含相應的解鎖金鑰以及鎖定程式和該程式的加密金鑰的新IP覆蓋。這意味著,當系統離開製造商時,它仍然處於鎖定狀態,但是這一次是使用客戶自己的金鑰鎖定。最重要的是,客戶在任何階段都無需與其他任何人共用其IP或加密金鑰。
所有的設計都為所有權安全轉移奠定了基礎。最初的客戶IP可能只是一個低等級測試程式,它成功運作後,客戶可以向製造商提供第二個韌體影像載入到元件中。在這種情況下,新IP只能被載入到包含之前IP的元件中。而且,該新IP將再次包含其鎖定程式和加密金鑰。
系統的整個生命週期都遵循相同的過程,此後如果產品被送往維護和維修廠, 則會向這些廠商提供新的IP韌體用以載入到元件中。同樣,此韌體只能載入到已經包含解鎖程式和正確加密金鑰的元件中。而且,該韌體也將包含自己的解鎖程式以及加密金鑰。該安全機制一直持續到產品報廢。
這種安全的所有權轉移過程擁有嚴格的許可權畫分,確保只有經過授權的所有者才能僅存取其IP和加密資產(即金鑰),而不會影響或曝露先前的所有者。這大幅增加在供應鏈中利用元件及其韌體進行攻擊的難度。
韌體確保供應鏈安全
沒有任何系統可以免於網路攻擊,所有系統都有受到攻擊的風險。傳統的網路安全系統可以防止許多攻擊,但是當系統受到最底層韌體等級的攻擊時,這些措施遠遠不夠。本文提出的解決方案是利用網路保護恢復來增強現有的網路安全性,它可以抵禦韌體攻擊、即時偵測正在進行的韌體攻擊並將系統恢復到完好狀態。
確保系統真正具備網路保護恢復機制的一個關鍵就是確保該系統的供應鏈安全。而確保供應鏈安全的關鍵在於要確保除了加密韌體IP的所有者之外,其他任何人都不能存取任何加密金鑰。例如萊迪思MachXO3D FPGA結合Sentry解決方案,可以充分保護供應鏈安全,並為系統設計人員提供可以信任的硬體可信任根,這一方案的優勢在於他們不需要與供應鏈中的任何其他實體建立信任。
(本文作者為萊迪思半導體安全業務副總裁)