楊安義
(生態環境部核與輻射安全中心,北京 100082)
現場可編程門陣列(field programmable gate array,FPGA)技術出現于20世紀80年代末,是一種可以實現用戶現場編程的半定制大規模數字集成電路技術。FPGA技術具有用戶可定制、運行效率高、邏輯結構簡單且可驗證、系統可靠性高等優點,在核電領域得到廣泛應用[1]。早期應用主要針對部分微處理器產品老化和停產等問題,采用FPGA器件進行替代[2-3]。隨著技術發展,FPGA作為一種應對基于微處理器技術共因故障隱患、實現安全技術多樣化的技術而得到廣泛認可。為此,國際原子能機構(International Atomic Energy Agency,IAEA)專門成立了核電廠FPGA應用專題小組,定期組織技術研討和經驗分享,以促進基于FPGA技術在核領域的安全應用。近年來,針對核設施等關鍵基礎設施的網絡攻擊越來越頻繁。這已成為業界關注的熱點問題。而針對FPGA技術網絡安全的相關研究尚處于起步階段,相關文獻和標準還比較少。
本文梳理了當前核電廠基于FPGA儀控系統的安全監管實踐,從FPGA技術自身脆弱性、面臨安全威脅和當前主流安全防御技術等方面進行分析、研究,提出核電廠基于FPGA儀控系統網絡安全的解決方案及相關建議。
為了監督和規范FGPA技術在核能領域的應用,相關國際機構和標準組織發布了多項標準和技術文件。
從2009年起,美國電力研究院著手研究FPGA技術在核電廠中的應用問題,先后發布技術報告TR-1019181[4]和TR-1022983[5],提出FPGA技術在核電廠中的應用指南和設計準則,為核電廠基于FPGA技術儀控系統的設計規劃奠定了基礎。
2010年,美國核管會發布技術報告NUREG/CR-7006[6]。該報告匯編了基于FPGA技術的安全設計實踐,結合IEEE 1012、IEEE 603、IEEE 7-4.3.2和IEC 61508等儀控系統功能安全監管標準,對基于FPGA儀控系統的生命周期模型、方案設計、安全評估、配置管理、確認和驗證(validation and verification ,V&V)等方面提出安全要求,為基于FPGA安全系統的設計和安全審查提供指南。
在上述工作的基礎上,國際電工技術委員會發布了標準IEC 62566[7]和IEC 62566-2[8],詳細規范了在核電廠安全重要儀控系統中使用FPGA等可編程邏輯設備和專用集成電路技術的設計和驗證工作。IEC 62566適用于執行安全A類安全功能的儀控系統和設備。IEC 62566-2適用于執行安全B類或C類安全功能的儀控系統和設備。
2016年, IAEA發布核能系列叢書NES No.NP-T-3.17[9]。該叢書總結了基于FPGA技術開發的最新知識和在核電廠應用的實踐,為所有成員國開展基于FPGA儀控系統和組件的設計、制造、鑒定、認可、實施、運行、維護提供指導。
電氣與電子工程師協會標準IEEE 7-4.3.2起初是一個關于核電廠安全系統中數字計算機適用準則的標準,經過多次修訂,現行版本為2016版。在現行版本中,標準的適用范圍不再局限于數字計算機設備,而是擴展到包含FPGA技術在內的所有基于可編程數字化技術的設備和系統。IEEE 7-4.3.2為可編程數字化技術在核電廠的安全應用奠定了基礎,是關于核電廠儀控系統功能安全的一項重要標準。
FPGA監管相關標準和技術文件如表1所示。
從1.1節所述標準和技術文件可以看出,當前核安全監管實踐中,對基于FPGA技術的安全監管主要聚焦于系統的功能安全方面,對網絡安全方面的關注比較少。IEC 62645[10]標準是關于核電廠儀控系統網絡安全的頂層標準,提出了核電廠制定和建立網絡安全大綱的要求和方法。但IEC 62645的關注重點是基于微處理器的儀控系統,相關技術措施不完全適用于基于FPGA的儀控系統。
FPGA技術是集硬件和軟件于一體的技術,由芯片硬件和邏輯設計(軟件)兩部分組成。芯片硬件由基本可編程邏輯單元、布線資源和可編程輸入/輸出單元等組成,本身并不具備任何邏輯功能。邏輯設計由系統開發者根據客戶業務需求,使用硬件描述語言來描述,并經過仿真、綜合、布局布線和調試后,形成以位流文件形式加載的業務邏輯設計(業界通常稱之為系統映像),使得相同的芯片實現不同的邏輯功能。為提高產品競爭力和設計開發效率,在當前FGPA技術開發過程中引入知識產權(intelligent property,IP)核的概念。所謂IP核,是一段經過驗證、具有特定功能的可重用功能代碼模塊。使用IP核,可以避免簡單的重復勞動,提升業務邏輯設計的效率。IP核在當前FPGA系統開發設計中得到廣泛應用。
與基于微處理器的技術相比,基于FPGA技術具有更好的網絡安全特性,如:基于FPGA的儀控系統不需要運行龐大的通用操作系統和軟件,極大地減少了網絡攻擊或惡意行為的攻擊面;基于FPGA的系統設備具有簡單且結構化的設計,其V&V過程更有可能檢測到潛在惡意設計的存在;基于反熔絲技術的FPGA芯片具有一次性編程的技術特性,可以有效消除被惡意篡改的網絡風險。同時,FPGA技術又有自身獨有的安全脆弱性[11-12],同樣面臨網絡攻擊風險。FPGA技術在核電領域應用的不斷增加,給安全評審和許可工作帶來新的風險和挑戰。因此,有必要系統分析和研究基于FPGA技術的網絡安全風險問題。
核電廠基于FPGA儀控系統面臨的網絡安全風險,指外部威脅利用FPGA技術中存在的脆弱性(也稱為漏洞)展開攻擊,給核電廠核安全帶來不利影響的潛在可能性。其中:FPGA技術的脆弱性是產生網絡安全風險的內因;外部威脅是產生網絡安全風險的外因。內外因共同作用,形成核電廠FPGA儀控系統的網絡安全風險全景。
基于FPGA的核電儀控系統脆弱性分析是一項復雜的工作,需要站在儀控系統生命周期的角度進行全面分析。基于FPGA的核電儀控系統的生命周期可分為芯片開發、系統開發和系統運行維護三個階段。不同階段涉及不同的利益相關方,具有不同的脆弱點。基于FPGA的核電儀控系統生命周期如圖1所示。
芯片開發階段主要完成FPGA芯片的設計、制造和封裝測試等工作。利益相關方包括芯片設計廠商、代工廠、封裝測試廠商等,處于產業鏈的上游。設計廠商進行芯片結構設計。代工廠主要完成芯片晶圓制造工作。封裝測試廠商主要完成芯片的封裝測試工作。這個過程涉及多個利益相關方。任何一方的安全管理疏漏,如不規范的設計流程、不安全的設計開發工具和環境、不可追溯的代工和封裝管理過程等,都有可能給芯片帶來安全漏洞。大型FPGA芯片制造商都建立了比較完善的安全管理體系,具有較強的安全保障能力。
系統開發階段主要完成核電儀控系統所需特定功能的二次開發工作。利益相關方包括系統用戶、系統開發商、系統集成商、IP核供應商等。系統用戶提出用戶需求。系統開發商進行方案設計和設備選型(包括芯片和IP核),完成系統二次開發。系統集成商實現所需功能。這一階段是核電儀控系統建設、當前功能安全評審和核安全監督,以及引入系統網絡脆弱性的重點階段。不完整的用戶需求、不規范的二次開發過程、缺乏安全驗證的IP核、不可追溯的集成過程等,都會給系統帶來開發漏洞和安全隱患。
系統運行維護階段主要完成核電儀控系統上線后的正常運行和維護。利益相關方包括系統用戶、系統開發商和系統集成商等。系統用戶是系統需求提出者和最終系統使用者。在系統開發商、系統集成商的技術支持下,系統用戶維護系統的正常運行,定期開展維護和系統升級等工作。在這一階段,安全管理缺失、安全意識單薄、技術能力有限等,都會導致潛在的脆弱性。
任何一個脆弱性被威脅利用后都有可能影響到基于FPGA的核電儀控系統的安全性。所涉及的脆弱性既包括FPGA技術自身的脆弱性,又包括系統開發和運行過程中由于安全管理薄弱而引入的脆弱性。產生技術自身脆弱性(如賽靈思-7系列芯片的“StarBleed”漏洞[13])的根本原因是芯片架構設計失誤,后期一般無法彌補和修正。而系統開發和運行過程中引入的脆弱性,主要源于安全意識淡薄、安全標準缺失和安全管理不到位,亟需引起人們的高度重視。其中,系統開發階段涉及的流程和環節眾多,是脆弱性分析的重點。
作為一種新型信息技術,FPGA技術面臨一系列安全威脅。在FPGA技術應用早期,這些威脅主要源自行業競爭對手。動機是通過竊取知識專利以獲取更多的經濟利益或市場競爭優勢。隨著FPGA技術在國防軍事、航空航天等國民經濟關鍵基礎領域的廣泛應用, FPGA技術逐漸成為不法分子、恐怖主義甚至是國際斗爭的工具或手段。動機也逐漸從獲取經濟利益擴展到對人員、環境甚至國家安全的傷害。FPGA技術面臨的威脅主要有以下幾種。
①系統克隆。 FPGA配置文件以位流文件的形式存在。不正當競爭者不需要了解產品的結構設計和技術原理,通過復制配置文件即可實現產品的仿制,從而獲得不當利益。由于缺乏可信的技術能力和質量保證過程,這種假冒產品用于高可靠性應用時可能會產生嚴重的后果。
②逆向工程。逆向工程又稱逆向技術,是通過對芯片內部電路的分析、整理和提取,了解和掌握芯片的設計思路、技術原理和工藝制造等內容,以進一步改進產品或仿制出功能相近的產品。逆向技術是一把雙刃劍,既可以被用于芯片漏洞挖掘和木馬檢測等,又可以被用于知識產權盜竊等不正當商業競爭領域。
③過度生產。過度生產是進行FPGA設計剽竊較為簡單的一種形式。代工廠會在設計廠商要求數量之外制造額外的芯片,以出售獲利。這在法律上屬于假冒產品,但由于生產出來的產品與原件完全相同而很難被發現。
④系統篡改。當具有系統訪問權限時,攻擊者通過修改程序設計或添加額外邏輯功能,實現泄漏系統信息或改變系統功能的目的。這被稱為篡改。篡改可以是逆向工程的一部分,或系統篡改本身就是惡意犯罪的目標。
⑤旁路攻擊。高端FPGA多采用加密技術保護其知識產權。研究表明[14-15],攻擊者可以通過對芯片工作時的電壓、運行時間和電磁輻射等物理參數變化的統計分析,猜測出其內部密鑰。這種攻擊被稱為旁路攻擊。該攻擊具有技術實現復雜、攻擊效率高的特點。該攻擊以差分功率攻擊和電磁攻擊技術較為典型。
⑥硬件木馬。硬件木馬指FPGA芯片或第三方IP核在設計或制造過程中被植入惡意功能電路。當滿足某些特定觸發條件時,惡意功能被激活并執行惡意破壞行為。這些惡意功能電路稱為硬件木馬。硬件木馬可以在設計生產的多個工藝過程中被加入。木馬檢測需要對設計代碼和網表進行深入分析,而終端用戶難以檢測。如何消除電路中硬件木馬隱患已成為業界關注的熱點。
以上是FPGA技術面臨的常見威脅。威脅可以通過威脅主體、動機、表現形式等多個方面進行分類。不同威脅所造成的危害后果也不同。在具體進行核電儀控系統威脅識別時,還要結合特定的應用環境進行針對性分析,確定每種威脅出現的頻率和危害的大小,以此作為后續風險處置的依據。
為應對FGPA面臨的各種威脅,相應的防御技術應運而生。當前的安全防御技術以增加芯片的機密性和完整性為出發點,主要有以下幾種。
①防回讀保護技術。回讀機制是FPGA的一個特點,目的是檢測設備上程序和數據的完整性,但同時也給系統克隆提供了便利。為防止非授權的系統復制,人們通過在程序中設置一個可編程位來實現回讀保護功能。這種機制對基于閃存的FPGA和反熔絲FPGA有效。但對基于隨機存儲器的FPGA而言,由于每次啟動時必須從外部加載位流文件,敵手可以輕易截獲位流文件。因此,這種保護措施效果有限。
②質詢-響應技術。質詢-響應技術是一種比較簡單的防克隆技術,又稱為敵我識別技術。該技術的核心思想是為FPGA芯片配備一個外置安全輔助設備,一般為一次可編程只讀存儲器,用于存儲加密算法和密鑰。FPGA芯片在每次運行前通過質詢-響應方式檢查外部安全設備的存在性:如響應正確,則芯片正常運行;如響應錯誤,則判斷為克隆環境,芯片停止運行。由于質詢和響應信息都通過明文位流傳輸,加密算法多采用安全散列算法,整體安全性不高。
③數字水印技術。數字水印技術是20世紀90年代末興起的一種FPGA知識產權保護技術。數字水印技術通過在FPGA芯片或IP核中嵌入加密的數字簽名(即水印)來宣示版權。當發生產權糾紛時可通過檢測水印的方式來明確知識產權。數字水印技術目前還存在一定的局限性,如:水印會給芯片帶來額外的開銷;水印的可檢測性、可驗證性、可跟蹤性技術還沒有完全成熟等。這些不足限制了水印技術的實際應用。此外,水印技術不能跟蹤到核電知識產權侵權的源頭,不能有效解決芯片克隆問題。
④加密保護技術。加密保護技術綜合使用各種現代加密算法,對FPGA配置文件等關鍵信息進行加密處理,實現關鍵信息的加密存儲、數字簽名和身份鑒別等保護功能。在配置文件被加載到FPGA芯片運行前,需要進行解密和身份認證。只有通過解密且身份認證正確后,配置位流文件才能正常運行。加密保護是當前較為有效的網絡安全防護技術。現代加密算法安全強度高,能有效防止克隆、逆向工程和篡改等攻擊方式,但存在加密成本高、芯片資源受限,以及密鑰易受到旁路攻擊等缺陷[16]。
⑤物理不可克隆功能(physical unclonable function,PUF)技術。PUF技術是近年提出的一種新型硬件安全技術。其核心思想如下。芯片制造工藝的隨機性會帶來芯片性能的細微差異性,如電路的細微延遲或晶體管閾值電壓的微小波動等。這種差異性不會對芯片的功能和性能產生影響。但對于給定的芯片而言,這些差異性是確定和可測量的,類似于人類的指紋特征,因而可以被用作芯片的身份標志。這一標志具有唯一性、不可克隆性、非易失性和安全性等優點。使用PUF技術創建密鑰,可以有效防御旁路攻擊,從而打造具有根可靠性的FPGA設備。PUF技術是近年硬件安全與可信領域研究的熱點。PUF技術的缺點是隨著環境變化和芯片老化,PUF響應會受到單粒子翻轉(single event upset,SEU)影響,進而影響到標志的唯一性。
⑥旁路攻擊防御技術。旁路攻擊防御技術有兩個主要思路:一是盡量降低或減少信息泄漏,提高探測的難度;二是通過增加噪聲、數據冗余和信號混淆等技術掩蓋有效信息,提高分析的難度。旁路攻擊防御技術根據實現方式可分為算法級防御和電路級防御兩種。算法級防御指通過引入隨機數對芯片內部數據進行掩蓋,使電路的功耗、運行時間和電磁輻射等信息與真實運算數據不完全一致,從而掩蓋真實的計算過程。電路級防御是改變電路自身設計,構建沒有有效旁路泄漏的安全芯片的技術。目前,有關旁路攻擊和防御技術仍處于探索和研究階段。市場上部分高端產品已經具備一定的抗旁路攻擊能力。
時至今日,網絡安全不再是一種選擇,而是一種必然。從網絡安全的角度來看,核電廠基于FPGA儀控系統網絡安全的重點是維護系統/數據的保密性、完整性和真實性(身份可驗證性)。保密性是確保系統中存儲或傳輸的數據不會被非授權實體獲取。對核電廠基于FPGA的儀控系統而言,無論是系統設計的位流文件,還是系統運行中產生的數據文件,都具有高度敏感性,要防止被競爭對手或敵人竊取。完整性是確保系統數據不會被意外修改或惡意篡改。這種意外修改或惡意篡改既包括系統內部因網絡傳輸或芯片SEU導致的數據錯誤,又包括外來攻擊導致的惡意數據篡改。真實性是對數據發送方和接收方的身份進行驗證,從而確保身份的真實可信,以及雙方具有適當的數據訪問權限。
從生命周期的角度來看,核電廠基于FPGA儀控系統的網絡安全解決方案要在系統的整個生命周期內解決基于FPGA技術應用程序的保密性、完整性和身份可驗證性問題。基于FPGA儀控系統的網絡安全防御體系從硬件安全、設計安全和數據安全三個層面建立。基于FPGA的儀控系統網絡安全防御體系如圖2所示。

圖2 基于FPGA的儀控系統網絡安全防御體系
芯片硬件安全是系統安全的基礎,而密鑰和加密算法則是芯片安全的基石。硬件安全包括兩層含義。
一是硬件本身的安全可信。芯片廠商綜合采取各種加密算法,設計芯片的安全架構,構建基于芯片硬件的安全信任根和可信運行環境,為芯片制造和產品供應鏈提供安全、可信保證。二是芯片硬件抗物理攻擊的能力(如旁路攻擊等)。根據業務場景和需求不同,芯片廠商提供各種安全等級不同的芯片。科學、合理的芯片選型是核電廠儀控系統安全建設的第一步。
系統設計安全是系統安全的關鍵。系統設計安全貫穿了儀控系統開發的整個過程。在系統開發的計劃、需求、設計、實現、測試、評估的每個步驟,都需要明確系統的網絡安全需求。網絡安全需求既要防范復制、克隆等傳統威脅,又要考慮硬件木馬等新型威脅。實現核電廠儀控系統設計安全,需要將網絡安全管理納入質量保證體系,確保系統設計開發環境和工具安全,維護系統設計的安全性和真實性,定期開展安全評審和V&V工作。
系統數據安全是系統安全的核心,也是儀控系統網絡安全建設的目標。對此,要綜合采用技術手段和管理手段,嚴格限制未授權實體對系統的訪問,確保系統中數據的保密性、完整性和真實性,從而維護儀控系統的數據安全。
核電廠基于FPGA儀控系統的網絡安全問題是新形勢下的新問題,涉及專業面廣,技術難度大。目前,該問題尚無有效的解決方案。
①網絡安全風險是核電廠面臨的現實風險之一。加強基于FPGA核電儀控系統的網絡安全建設,政策導向是關鍵,標準規范是基礎,能力建設是核心。對此,要充分發揮制度優勢,有效整合全社會資源,立足自主可控,在關鍵核心技術上實現突破,從而切實提升我國核設施的網絡安全防護水平。
②核電廠基于FPGA儀控系統的網絡風險管理涉及系統全生命周期和整個產品供應鏈,涵蓋了芯片供應商、儀控系統開發商和系統用戶等眾多利益相關方。因此,各方應該面向整個產品供應鏈體系開展風險評估,正確判明風險形勢、明確安全目標和責任分工,并綜合采用技術和管理手段,建立科學全面的網絡安全保障體系,從而確保數據安全、設計安全和硬件安全,實現風險處置成本效益的最優化。
③核電廠基于FPGA儀控系統網絡安全建設需要堅持“同步規劃、同步建設、同步使用”的原則,將網絡安全工作納入系統立項、采購、建設、驗收、運維和退役的每個階段,明確每個階段的網絡安全要求,做好每個階段的安全評審和V&V工作。同時,核電廠要建立網絡安全應急響應機制,完善預案、細化流程,以切實提高應急響應能力。
④協調處理功能安全與網絡安全。功能安全和網絡安全都是儀控系統安全的有機組成部分,不能也不應該被割裂開來考慮。核電廠應在系統建設初期,從概念、邏輯和架構上進行有效整合,并適時開展評估和驗證工作,從而妥善解決可能存在的沖突和不一致問題。
首先,本文介紹了FPGA技術在核能領域的應用情況和當前的監管實踐。根據FPGA技術的特點,本文從產品和系統生命周期的角度,全面分析了FPGA技術存在的網絡安全脆弱性和面臨的網絡安全威脅,指出在核電廠中加強基于FPGA技術儀控系統網絡安全監管的必要性。然后,本文結合當前主流防御技術,從硬件安全、設計安全和數據安全三個層面,提出核電廠中基于FPGA技術儀控系統網絡安全問題的解決方案。最后,本文提出相關建議,為后續全面開展網絡安全風險評估、有效提升核電廠網絡安全水平奠定了基礎。