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