24小時聯(lián)系電話:18217114652、13661815404
中文
技術專題
使用帶有擴展功能的CPU功能將安全性構建到AI SoC中
使用帶有擴展功能的CPU功能將安全性構建到AI SoC中
隨著人工智能(AI)的快速部署,人工智能片上系統(tǒng)(SoC)設計的重點一直放在構建更智能,更快和更便宜的設備上,而不是更安全,更受信任和更安全的設備上。在研究如何在芯片級將安全性構建到AI SoC中之前,請考慮什么是AI系統(tǒng)。它包含三個元素:
處理數(shù)據(jù),做出決定并發(fā)送命令的推理引擎;
訓練數(shù)據(jù)和在機器學習階段創(chuàng)建的一組權重;
執(zhí)行命令的物理設備。
例如,Nest恒溫器可以通過分析和學習用戶的行為來設置用戶的首選溫度。最終,它可以預測用戶喜歡在晚上將溫度設置為低10度,然后推理引擎將在每天的同一時間向恒溫器發(fā)送命令以降低溫度。
人工智能系統(tǒng)中的安全威脅
對AI系統(tǒng)的最大威脅分為兩類:面向控制的攻擊和面向數(shù)據(jù)的攻擊。當攻擊者利用常見的軟件漏洞(例如緩沖區(qū)溢出)并接管系統(tǒng)時,就會發(fā)生面向控制的攻擊。顧名思義,面向控制的攻擊會控制AI設備以執(zhí)行攻擊者的命令。是否正在導出私有數(shù)據(jù)。或更不祥的事物,例如迫使無人駕駛汽車撞上高速公路上的護欄。
在面向數(shù)據(jù)的攻擊中,攻擊者操縱AI系統(tǒng)的訓練數(shù)據(jù)或系統(tǒng)用于決策的現(xiàn)實數(shù)據(jù),從而導致AI設備發(fā)生故障并執(zhí)行基于錯誤的操作數(shù)據(jù)。這可能是無害的,就像將垃圾郵件過濾器轉(zhuǎn)換為惡意的東西一樣,如導致自動駕駛汽車無法識別停車標志。
使用RISC-V的固有安全功能
通過將內(nèi)置在CPU體系結構中的安全功能結合在一起,然后在CPU周圍添加硬件和軟件層,SoC設計人員可以更接近將安全性內(nèi)置到其基本結構中的設計。
那么,SoC設計人員如何在他們的設計中利用這種功能呢?第一步是選擇一種可以預測常見安全攻擊形式的CPU體系結構,例如最新一代的RISC-V開源指令集體系結構(ISA),該體系結構在設計時就考慮了安全性。接下來,添加監(jiān)督硅知識產(chǎn)權(IP)和軟件,以在威脅進入CPU硬件之前查找威脅。
RISC-V體系結構是在AI時代和當今具有安全意識的世界中開發(fā)的。憑借其開放源代碼架構,由于該架構已公開接受公眾審查和工程設計,因此不足為奇。
此外,RISC-V附帶具有不同特權級別和訪問權限的操作模式。第一種是機器模式(M-模式),其中軟件可以完全訪問機器資源。在建立信任根之后的引導時間,計算機將進入用戶模式以運行用戶程序。在用戶模式下,使用控制中斷和異常分配來限制CPU訪問。RISC-V安全體系結構的兩個附加功能是(1)物理內(nèi)存保護(PMP)和(2)物理內(nèi)存屬性(PMA)。這些允許設計人員指定哪些應用程序可以訪問內(nèi)存以及訪問方式。
圖1.內(nèi)置RISC-V安全性。
商業(yè)RISC-V IP供應商添加了設計人員可以選擇實現(xiàn)的其他功能。例如,安第斯技術公司增加了堆棧溢出保護機制。為了實現(xiàn)此功能,設計人員確定其應用程序正常運行所需的程序堆棧的最大大小。例如,如果應用程序需要的條目不超過15個。當應用程序在現(xiàn)場并正在執(zhí)行時,如果檢測到堆棧溢出,則CPU會生成異常。該異常可能是由正常事件或惡意攻擊引起的。無論哪種情況,異常處理軟件都可以確定罪魁禍首。
另一個安全性附加項是可編程存儲器屬性,該屬性使設計人員能夠?qū)⒋鎯ζ鲄^(qū)域分配為只讀,只寫或可不受限制地訪問。此外,設計人員可以選擇隱藏包含該應用程序的關鍵數(shù)據(jù)的內(nèi)存區(qū)域。如果發(fā)生任何嘗試訪問該區(qū)域的嘗試,則會生成一個異常,以評估是什么功能在未經(jīng)授權的情況下試圖破壞該區(qū)域。Andes Technology添加的第三項附加功能是能夠隱藏代碼,以免被反匯編和反向工程。
啟用RISC-V ISA中可用的甚至更安全的功能是添加自定義擴展的能力。例如,創(chuàng)建自定義指令以加快加密算法的執(zhí)行速度。這些自定義指令可以對數(shù)據(jù)進行加擾,而對不熟悉該指令的任何人在沒有工作知識的情況下都難以破解,則可以對數(shù)據(jù)進行加擾。另一個安全功能是創(chuàng)建與主系統(tǒng)內(nèi)存隔離的專用內(nèi)存存儲,只有設計人員的應用程序軟件才能訪問。
最終,創(chuàng)建用于訪問協(xié)處理器,加密處理器和私有存儲器的私有總線為RISC-V ISA增添了另一層安全性。這種私有訪問使最重要的數(shù)據(jù)遠離系統(tǒng)總線和任何希望進行隱式入侵的應用程序。Andes Technology通過其Andes自定義擴展(ACE)工具簡化了向RISC-V ISA添加自定義擴展和安全元素的任務。ACE大大減少了進行和驗證這些添加所需的時間。
圖2. Andes定制擴展。
除了整合RISC-V ISA固有的安全功能以及如上所述安第斯提供的其他功能外,Dover Microsystems的CoreGuard還在RISC-V CPU周圍增加了一個監(jiān)督系統(tǒng)。它充當主機RISC-V處理器的保鏢,監(jiān)視執(zhí)行的每條指令并防止利用軟件漏洞。CoreGuard解決方案包括硬件和軟件組件。硬件組件是與主機RISC-V內(nèi)核集成的監(jiān)督硅IP。駐留在硬件中使其在網(wǎng)絡上無懈可擊,并且以硬件速度運行可提供實時實施。
解決方案的軟件部分包括兩個部分。首先是一系列的微觀政策。這些定義了安全性,安全性和隱私性規(guī)則。第二個是元數(shù)據(jù),即有關受微政策保護的軟件應用程序的信息。在操作中,主機RISC-V處理器從內(nèi)存中讀取需要處理的指令和數(shù)據(jù),并將指令跟蹤發(fā)送到監(jiān)督硬件。硬件將活動的微策略集與每個微策略進行決策所需的所有關聯(lián)元數(shù)據(jù)一起使用。如果該指令未違反微觀政策,則執(zhí)行該指令。但是,如果違反了微觀政策,則會將違規(guī)發(fā)回主機以作為異常處理。
圖3. CoreGuard框圖。
除了在造成任何損害之前停止攻擊之外,該安全解決方案還為主機RISC-V處理器提供了有關試圖執(zhí)行不應執(zhí)行的操作的精確惡意指令的信息。
然后,主機可以根據(jù)該信息采取各種措施。默認操作是分段錯誤,它將終止應用程序-但是,通常這不是生產(chǎn)選項。其他選項包括,請求用戶輸入,激活地址空間布局隨機化(ASLR)來購買時間,或由單獨的“安全”應用程序接管。
例如,如果攻擊者試圖利用包裹遞送無人機導航軟件中的漏洞,將所有包裹重新路由并遞送到一個位置。當檢測到違反微觀政策時,可以從受保護的存儲區(qū)中取出一個安全地點,并且無人機會指示飛往該安全地點。
為了說明此安全解決方案如何阻止面向控制的攻擊,讓我們考慮一種自動駕駛汽車。如果攻擊者成功利用了硬件對策未檢測到的CPU中的緩沖區(qū)溢出漏洞,并試圖注入代碼以完全控制車輛,則CoreGuard的微策略(堆)將阻止所有緩沖區(qū)溢出攻擊(包括零時差威脅),因此,在攻擊者的入口路徑上關上門。
2015年,當研究人員成功控制了吉普車時,這類攻擊得到了充分的記錄。研究人員能夠控制一切,從音量到剎車和轉(zhuǎn)向。在受CoreGuard保護的自動駕駛汽車中,它可以通知駕駛員關閉自動駕駛模式并控制車輛。
在面向數(shù)據(jù)的攻擊中,攻擊者的目標是獲得對運行AI推理引擎的應用程序的訪問權,并修改其傳感器數(shù)據(jù),從而導致系統(tǒng)故障。使用AI的常見應用是預測性維護,以預測何時需要對機器(或飛機)進行維護。它可用于各行各業(yè),以預測從飛機上的機械問題到預測食品生產(chǎn)設施中的工業(yè)冰箱何時需要維護的任何事物。
此應用程序依賴于高質(zhì)量,準確的數(shù)據(jù)讀數(shù)。如果攻擊者能夠操縱這些數(shù)據(jù)讀數(shù),則AI系統(tǒng)將沒有清晰或準確的圖片來進行預測。例如,這可能意味著需要維護的飛機將不被注意,并且在飛行途中可能會發(fā)生故障。
在簽名之前和簽名驗證過程之后,為AI系統(tǒng)提供動力的數(shù)據(jù)最容易受到攻擊。如果攻擊者可以攔截和更改該數(shù)據(jù),則可能嚴重損害AI系統(tǒng)。CoreGuard可以使用數(shù)據(jù)完整性微策略來確保數(shù)據(jù)的真實性。這種微政策可防止在數(shù)字簽名身份驗證和AI系統(tǒng)之間修改數(shù)據(jù),從而確保僅將可信和安全的數(shù)據(jù)饋送到系統(tǒng)中。
在圖4中,我們說明了如何將安全性內(nèi)置到設計中,而不是事后才添加。在此示例中,CoreGuard解決方案與Andes N25 RISC-V主機處理器集成在一起。集成涉及識別必要的信號,以告知CoreGuard互鎖有關指令執(zhí)行的信息:從數(shù)據(jù)存儲器訪問管道階段提取的加載,存儲和數(shù)據(jù)地址。接下來,綜合了集成的SoC設計以進行硬件仿真。結果成功運行了一個示例應用程序,以練習所有CoreGuard互鎖路徑,從而證明了將N25 RISC-V處理器與CoreGuard集成的可行性。
圖4.集成可行性證明(N25 + CoreGuard)。
有許多方法可以保護片上系統(tǒng)。我們在本文中說明的是如何通過使用RISC-V體系結構和其他擴展中內(nèi)置的固有功能來開始保護CPU。然后,我們展示了如何在芯片級安全性上添加額外的一層來保護SoC中各種設備之間的數(shù)據(jù)流和交互。安全性不一定非要難,但確實需要進行計劃。