為AI SoC打造晶片級安全性

作者 : Marco Ciaffi、John Min

使用內建於RISC-V架構的固有特性以及附加擴展,有助於從晶片級另外增加一個分層,從而確保AI SoC的安全性…

隨著人工智慧(AI)的快速部署,人工智慧系統單晶片(SoC)設計的重點一直著重於建構更智慧、更快速且更可負擔的裝置,而忽略了更安全、更可靠和更具防護性。

美國國家安全專家Jason Matheny曾經強調這個議題的重要性。他說:「儘管政府和私人企業為人工智慧系統的開發提供了充足的資金,但在實際開發時並未關注到持續變化的威脅形勢。事實上,只有不到1%的資金用於安全性。」Matheny同時也是美國喬治城大學(Georgetown University)安全和新興技術中心(Center for Security and Emerging Technology;CSET)總監暨美國國家人工智慧安全委員會(National Security Commission on Artificial Intelligence)委員。

在探討如何以晶片級將安全性建構到AI SoC之前,先思考一下什麼是人工智慧系統。人工智慧系統中一般包括三項要素:

  • 推論引擎,用於處理資料、進行決策和發送命令;
  • 訓練資料以及在機器學習階段創建的一組權重;
  • 執行命令的實體裝置。

例如,Nest恆溫器能分析並學習用戶的行為,從而設置使用者的最愛溫度。最終,它能預測到使用者喜歡在晚上將溫度調低10度,於是推論引擎就會在每天的同一時間向恆溫器發送調降溫度的命令。

人工智慧系統中的安全威脅

人工智慧系統面臨的最大威脅分為兩類:控制導向(control-oriented)的攻擊以及資料(data-oriented)導向的攻擊。當攻擊者利用常見的軟體漏洞——如緩衝區溢位(buffer overflow),並接管系統時,就會發生控制導向的攻擊。顧名思義,控制導向的攻擊控制人工智慧裝置,以執行攻擊者的命令。無論是匯出私人資料或者是更危險的事情,例如迫使自動駕駛車撞向高速公路上的護欄等。

而在資料導向的攻擊中,攻擊者會操縱人工智慧系統的訓練資料或系統中用於進行決策的現實世界資料,導致人工智慧裝置故障,並根據錯誤資料指示做出不應該的事情。這可能是無害的,如同破壞垃圾郵件篩檢程式使其帶有惡意或導致自動駕駛車輛無法辨識停車標誌一樣。

使用RISC-V固有的安全功能

SoC設計人員可以在設計時結合內建於CPU架構中的安全功能,然後在CPU周圍添加硬體和軟體層,這將有助於使其更接近在其基本結構中內建安全的設計。

那麼,SoC設計人員如何在其設計中利用這種功能呢?第一步是選擇可預測常見安全攻擊形式的CPU架構,例如以安全性為考量而建構的最新一代RISC-V開源指令集架構(ISA)。接下來,添加監督矽智財(IP)和軟體,使其可在威脅到達CPU硬體之前先進行查找問題。

RISC-V架構是在人工智慧時代和當今具安全意識的世界中開發而來的。由於該架構開放公眾監督和工程社群,採用這一開源架構應該不至於有任何意外。

此外,RISC-V還提供了具有不同授權級和存取權限的運作模式。第一種是機器模式(M-Mode),其中軟體可以完全存取機器資源。在建立信任根後開機時,機器進入使用者模式以執行使用者程式。在使用者模式下,使用控制中斷和異常分配來限制CPU的存取。兩個額外的RISC-V安全架構特性是(1)實體記憶體保護(physical memory protection;PMP)和(2)實體記憶體屬性(physical memory attributes;PMA)。這些特性讓設計人員指定哪些應用程式可以存取記憶體及其如何存取。

Figure 1 RISC-V security - Andes-Dover

1:內建RISC-V安全性。

商用的RISC-V IP供應商為設計人員添加了可選擇實施於其設計中的附加功能。例如,晶心科技(Andes Technology)增加了堆疊溢位保護機制。為了實現此功能,設計人員決定堆疊其應用程式正常運行所需的最大程式。例如,假設應用程式需要不超過15個項目。當應用程式在現場執行時,如果檢測到堆疊溢位,CPU將會產生異常。異常可能是由正常事件或惡意攻擊引起的。無論是哪一種情況,異常處理軟體都能夠確定罪魁禍首。

另一個安全附加元件是可編程的記憶體屬性,它讓設計人員能夠將記憶體區域分配為唯讀、唯寫或是不受限制地存取。此外,設計人員可以選擇隱藏包含應用關鍵資料的記憶體區域。如果發生任何試圖存取該區域的情況,則會產生一個異常以評估哪個功能試圖未經授權破壞該區域。Andes Technology添加的第三個附加功能是隱藏程式碼使其不被解構和反向工程(reverse engineered)的能力。

啟用RISC-V ISA中可用的更安全功能是添加客製擴展(custom expansion)的能力。例如,創建客製指令以加速加密演算法的執行。這些客製指令可以加擾資料和解密資料,任何不熟悉該指令的人都很難在沒有專業知識的情況下進行駭客攻擊。另一個安全功能是創建與主系統記憶體隔離的專用記憶體儲存,只能由設計人員的應用軟體存取。

最後,創建用於存取協同處理器、加密處理器和私有記憶體的專用匯流排,為RISC-V ISA增加了另一個層級的安全性。這種私有存取使最重要的資料遠離系統匯流排和任何尋求進行秘密入侵的應用程式。Andes Technology透過其Andes Custom Extensions (ACE)工具,簡化了向RISC-V ISA添加客製擴展和安全元素的任務。ACE大幅減少了製作和驗證這些附加功能所需的時間。

Figure 2 Andes custom extensions - Andes-Dover

2Andes Custom Extensions (ACE)客製擴展工具。

除了結合RISC-V ISA中固有的安全功能,以及上述Andes提供的附加功能外,Dover Microsystems的CoreGuard則圍繞RISC-V CPU添加了一個監督系統。它就像是主機RISC-V處理器的保鏢,監控執行的每條指令並防止利用軟體漏洞。CoreGuard解決方案包括硬體和軟體元件,硬體元件是與主機RISC-V核心整合的監督矽IP。駐留在硬體中使其在網路上無懈可擊,並以硬體速度運作以提供即時執行。

該解決方案的軟體方面包括兩個部份。首先是一套微觀政策(micropolicy),定義了安全、防護和隱私規則。第二個是中繼資料(metadata),即受微觀政策保護的軟體應用程式相關資訊。在操作中,主機RISC-V處理器從記憶體中讀取需要處理的指令和資料,並將指令追蹤發送到監督硬體。硬體採用動態的微觀政策集,以及每個微觀政策做出決定所需的所有相關中繼資料。如果指令不違反微觀政策,則執行該指令。然而,如果違反了微觀政策,則會將違規發回主機作為異常處理。

Figure 3 CoreGuard block diagram - Andes-Dover

3CoreGuard方塊圖。

除了能在造成任何損害之前阻止攻擊,安全解決方案還為主機RISC-V處理器提供了任何試圖執行非法操作的精確惡意指令相關資訊。

然後,主機可以根據該資訊採取各種行動。預設操作將會終止應用程式的分段錯誤——但是,這通常不是生產選項。其他選項包括要求使用者輸入、啟動位址空間佈局隨機化(ASLR)以爭取時間,或讓單獨的「安全」應用程式接管。

例如,如果攻擊者試圖利用包裹遞送無人機導航軟體中的漏洞,將所有的包裹重新安排路徑並遞送到另一個位置。當檢測到違反微觀政策時,可以從受保護的儲存空間中取出一個安全位置,然後指示無人機飛回該安全位置。

為了說明此安全解決方案如何阻止控制導向的攻擊,讓我們以自動駕駛車為例。如果攻擊者成功利用硬體對策未檢測到在CPU中的緩衝區溢位漏洞,並嘗試注入程式碼以完全控制車輛,則CoreGuard的微觀政策——Heap,就會阻止所有緩衝區溢位攻擊,包括零日威脅,因而也關閉攻擊者入口路徑的門。

在2015年進行的一次安全測試就屬於這種類型的攻擊。當時研究人員成功控制了一輛吉普車,包括控制從音量到刹車和轉向的一切。在採用CoreGuard保護的自動駕駛車中,它可以通知駕駛人關閉自動駕駛模式並接管車輛控制。

而在資料導向的攻擊中,攻擊者的目標是存取執行人工智慧推論引擎的應用程式,並修改其感測器資料,從而導致系統出現故障。使用人工智慧的一個常見應用是預測性維護,以預測機器或飛機何時需要維護。在跨多個產業中均採用了人工智慧來預測各種事情,從飛機上的機械問題到預測食品生產設施中的工業冰箱何時需要維護等。

預測性維護應用取決於高品質、準確的資料讀數。如果攻擊者操縱了這些資料讀數,人工智慧系統將無法取得清晰或準確的圖片來進行預測。例如,這可能意味著無法注意到需要維護的飛機,致使它可能在飛行途中發生故障。

在簽核之前和簽核驗證過程之後,為人工智慧系統提供動力的資料最容易受到攻擊。如果攻擊者可以攔截和更改該資料,則人工智慧系統可能會受到嚴重損害。CoreGuard可以使用資料完整性微觀政策,確保資料的真實性。該微觀政策可防止在數位簽章認證和人工智慧系統之間修改資料,確保僅將可信賴且安全的資料登錄系統。

4中說明了這如何將安全性內建於設計中,而不是在事後才添加。在此示例中,CoreGuard解決方案與Andes N25 RISC-V主機處理器集進行整合。這項整合包括辨識通知CoreGuard互鎖有關指令執行的訊號:載入、儲存,以及從資料記憶體存取管線階段提取的資料位址。接下來,整合的SoC設計用於硬體模擬。其結果成功地執行一項示例應用,以實現所有CoreGuard互鎖路徑,從而證明了整合N25 RISC-V處理器與CoreGuard的可行性。

Figure 4 Proof of integration feasibility - Andes-Dover

4N25 RISC-V處理器與CoreGuard整合的可行性證明。

許多方法都可用於確保SoC的安全性。本文介紹的是使用內建於RISC-V架構中的固有特性以及附加擴展,如何有助於展開確保CPU安全的過程。接著,本文說明為晶片級安全性另外增加一個分層,能夠保護資料流程以及SoC中不同元件之間的互動。確保安全並不至於困難,但確實需要規劃。

本文作者:

Marco CiaffiDover Microsystems共同創辦人兼工程副總裁
John MinAndes Technology北美現場應用工程總監

(參考原文:Building security into an AI SoC using CPU features with extensionsby Marco Ciaffi & John Min)

本文同步刊登於EDN Taiwan 202211月號雜誌

加入LINE@,最新消息一手掌握!

發表評論