24小(xiǎo)时联系電(diàn)话:18217114652、13661815404
中文(wén)
- 您当前的位置:
- 首页>
- 電(diàn)子资讯>
- 技术专题>
- 使用(yòng)带有(yǒu)扩展功能(néng)的CP...
技术专题
使用(yòng)带有(yǒu)扩展功能(néng)的CPU功能(néng)将安全性构建到AI SoC中
使用(yòng)带有(yǒu)扩展功能(néng)的CPU功能(néng)将安全性构建到AI SoC中
随着人工智能(néng)(AI)的快速部署,人工智能(néng)片上系统(SoC)设计的重点一直放在构建更智能(néng),更快和更便宜的设备上,而不是更安全,更受信任和更安全的设备上。在研究如何在芯片级将安全性构建到AI SoC中之前,请考虑什么是AI系统。它包含三个元素:
处理(lǐ)数据,做出决定并发送命令的推理(lǐ)引擎;
训练数据和在机器學(xué)习阶段创建的一组权重;
执行命令的物(wù)理(lǐ)设备。
例如,Nest恒温器可(kě)以通过分(fēn)析和學(xué)习用(yòng)户的行為(wèi)来设置用(yòng)户的首选温度。最终,它可(kě)以预测用(yòng)户喜欢在晚上将温度设置為(wèi)低10度,然后推理(lǐ)引擎将在每天的同一时间向恒温器发送命令以降低温度。
人工智能(néng)系统中的安全威胁
对AI系统的最大威胁分(fēn)為(wèi)两类:面向控制的攻击和面向数据的攻击。当攻击者利用(yòng)常见的软件漏洞(例如缓冲區(qū)溢出)并接管系统时,就会发生面向控制的攻击。顾名思义,面向控制的攻击会控制AI设备以执行攻击者的命令。是否正在导出私有(yǒu)数据。或更不祥的事物(wù),例如迫使无人驾驶汽車(chē)撞上高速公路上的护栏。
在面向数据的攻击中,攻击者操纵AI系统的训练数据或系统用(yòng)于决策的现实数据,从而导致AI设备发生故障并执行基于错误的操作数据。这可(kě)能(néng)是无害的,就像将垃圾邮件过滤器转换為(wèi)恶意的东西一样,如导致自动驾驶汽車(chē)无法识别停車(chē)标志(zhì)。
使用(yòng)RISC-V的固有(yǒu)安全功能(néng)
通过将内置在CPU體(tǐ)系结构中的安全功能(néng)结合在一起,然后在CPU周围添加硬件和软件层,SoC设计人员可(kě)以更接近将安全性内置到其基本结构中的设计。
那么,SoC设计人员如何在他(tā)们的设计中利用(yòng)这种功能(néng)呢(ne)?第一步是选择一种可(kě)以预测常见安全攻击形式的CPU體(tǐ)系结构,例如最新(xīn)一代的RISC-V开源指令集體(tǐ)系结构(ISA),该體(tǐ)系结构在设计时就考虑了安全性。接下来,添加监督硅知识产权(IP)和软件,以在威胁进入CPU硬件之前查找威胁。
RISC-V體(tǐ)系结构是在AI时代和当今具有(yǒu)安全意识的世界中开发的。凭借其开放源代码架构,由于该架构已公开接受公众审查和工程设计,因此不足為(wèi)奇。
此外,RISC-V附带具有(yǒu)不同特权级别和访问权限的操作模式。第一种是机器模式(M-模式),其中软件可(kě)以完全访问机器资源。在建立信任根之后的引导时间,计算机将进入用(yòng)户模式以运行用(yòng)户程序。在用(yòng)户模式下,使用(yòng)控制中断和异常分(fēn)配来限制CPU访问。RISC-V安全體(tǐ)系结构的两个附加功能(néng)是(1)物(wù)理(lǐ)内存保护(PMP)和(2)物(wù)理(lǐ)内存属性(PMA)。这些允许设计人员指定哪些应用(yòng)程序可(kě)以访问内存以及访问方式。
图1.内置RISC-V安全性。
商(shāng)业RISC-V IP供应商(shāng)添加了设计人员可(kě)以选择实现的其他(tā)功能(néng)。例如,安第斯技术公司增加了堆栈溢出保护机制。為(wèi)了实现此功能(néng),设计人员确定其应用(yòng)程序正常运行所需的程序堆栈的最大大小(xiǎo)。例如,如果应用(yòng)程序需要的条目不超过15个。当应用(yòng)程序在现场并正在执行时,如果检测到堆栈溢出,则CPU会生成异常。该异常可(kě)能(néng)是由正常事件或恶意攻击引起的。无论哪种情况,异常处理(lǐ)软件都可(kě)以确定罪魁祸首。
另一个安全性附加项是可(kě)编程存储器属性,该属性使设计人员能(néng)够将存储器區(qū)域分(fēn)配為(wèi)只读,只写或可(kě)不受限制地访问。此外,设计人员可(kě)以选择隐藏包含该应用(yòng)程序的关键数据的内存區(qū)域。如果发生任何尝试访问该區(qū)域的尝试,则会生成一个异常,以评估是什么功能(néng)在未经授权的情况下试图破坏该區(qū)域。Andes Technology添加的第三项附加功能(néng)是能(néng)够隐藏代码,以免被反汇编和反向工程。
启用(yòng)RISC-V ISA中可(kě)用(yòng)的甚至更安全的功能(néng)是添加自定义扩展的能(néng)力。例如,创建自定义指令以加快加密算法的执行速度。这些自定义指令可(kě)以对数据进行加扰,而对不熟悉该指令的任何人在没有(yǒu)工作知识的情况下都难以破解,则可(kě)以对数据进行加扰。另一个安全功能(néng)是创建与主系统内存隔离的专用(yòng)内存存储,只有(yǒu)设计人员的应用(yòng)程序软件才能(néng)访问。
最终,创建用(yòng)于访问协处理(lǐ)器,加密处理(lǐ)器和私有(yǒu)存储器的私有(yǒu)总線(xiàn)為(wèi)RISC-V ISA增添了另一层安全性。这种私有(yǒu)访问使最重要的数据遠(yuǎn)离系统总線(xiàn)和任何希望进行隐式入侵的应用(yòng)程序。Andes Technology通过其Andes自定义扩展(ACE)工具简化了向RISC-V ISA添加自定义扩展和安全元素的任務(wù)。ACE大大减少了进行和验证这些添加所需的时间。
图2. Andes定制扩展。
除了整合RISC-V ISA固有(yǒu)的安全功能(néng)以及如上所述安第斯提供的其他(tā)功能(néng)外,Dover Microsystems的CoreGuard还在RISC-V CPU周围增加了一个监督系统。它充当主机RISC-V处理(lǐ)器的保镖,监视执行的每条指令并防止利用(yòng)软件漏洞。CoreGuard解决方案包括硬件和软件组件。硬件组件是与主机RISC-V内核集成的监督硅IP。驻留在硬件中使其在网络上无懈可(kě)击,并且以硬件速度运行可(kě)提供实时实施。
解决方案的软件部分(fēn)包括两个部分(fēn)。首先是一系列的微观政策。这些定义了安全性,安全性和隐私性规则。第二个是元数据,即有(yǒu)关受微政策保护的软件应用(yòng)程序的信息。在操作中,主机RISC-V处理(lǐ)器从内存中读取需要处理(lǐ)的指令和数据,并将指令跟踪发送到监督硬件。硬件将活动的微策略集与每个微策略进行决策所需的所有(yǒu)关联元数据一起使用(yòng)。如果该指令未违反微观政策,则执行该指令。但是,如果违反了微观政策,则会将违规发回主机以作為(wèi)异常处理(lǐ)。
图3. CoreGuard框图。
除了在造成任何损害之前停止攻击之外,该安全解决方案还為(wèi)主机RISC-V处理(lǐ)器提供了有(yǒu)关试图执行不应执行的操作的精确恶意指令的信息。
然后,主机可(kě)以根据该信息采取各种措施。默认操作是分(fēn)段错误,它将终止应用(yòng)程序-但是,通常这不是生产选项。其他(tā)选项包括,请求用(yòng)户输入,激活地址空间布局随机化(ASLR)来購(gòu)买时间,或由单独的“安全”应用(yòng)程序接管。
例如,如果攻击者试图利用(yòng)包裹递送无人机导航软件中的漏洞,将所有(yǒu)包裹重新(xīn)路由并递送到一个位置。当检测到违反微观政策时,可(kě)以从受保护的存储區(qū)中取出一个安全地点,并且无人机会指示飞往该安全地点。
為(wèi)了说明此安全解决方案如何阻止面向控制的攻击,让我们考虑一种自动驾驶汽車(chē)。如果攻击者成功利用(yòng)了硬件对策未检测到的CPU中的缓冲區(qū)溢出漏洞,并试图注入代码以完全控制車(chē)辆,则CoreGuard的微策略(堆)将阻止所有(yǒu)缓冲區(qū)溢出攻击(包括零时差威胁),因此,在攻击者的入口路径上关上门。
2015年,当研究人员成功控制了吉普車(chē)时,这类攻击得到了充分(fēn)的记录。研究人员能(néng)够控制一切,从音量到刹車(chē)和转向。在受CoreGuard保护的自动驾驶汽車(chē)中,它可(kě)以通知驾驶员关闭自动驾驶模式并控制車(chē)辆。
在面向数据的攻击中,攻击者的目标是获得对运行AI推理(lǐ)引擎的应用(yòng)程序的访问权,并修改其传感器数据,从而导致系统故障。使用(yòng)AI的常见应用(yòng)是预测性维护,以预测何时需要对机器(或飞机)进行维护。它可(kě)用(yòng)于各行各业,以预测从飞机上的机械问题到预测食品生产设施中的工业冰箱何时需要维护的任何事物(wù)。
此应用(yòng)程序依赖于高质量,准确的数据读数。如果攻击者能(néng)够操纵这些数据读数,则AI系统将没有(yǒu)清晰或准确的图片来进行预测。例如,这可(kě)能(néng)意味着需要维护的飞机将不被注意,并且在飞行途中可(kě)能(néng)会发生故障。
在签名之前和签名验证过程之后,為(wèi)AI系统提供动力的数据最容易受到攻击。如果攻击者可(kě)以拦截和更改该数据,则可(kě)能(néng)严重损害AI系统。CoreGuard可(kě)以使用(yòng)数据完整性微策略来确保数据的真实性。这种微政策可(kě)防止在数字签名身份验证和AI系统之间修改数据,从而确保仅将可(kě)信和安全的数据馈送到系统中。
在图4中,我们说明了如何将安全性内置到设计中,而不是事后才添加。在此示例中,CoreGuard解决方案与Andes N25 RISC-V主机处理(lǐ)器集成在一起。集成涉及识别必要的信号,以告知CoreGuard互锁有(yǒu)关指令执行的信息:从数据存储器访问管道阶段提取的加载,存储和数据地址。接下来,综合了集成的SoC设计以进行硬件仿真。结果成功运行了一个示例应用(yòng)程序,以练习所有(yǒu)CoreGuard互锁路径,从而证明了将N25 RISC-V处理(lǐ)器与CoreGuard集成的可(kě)行性。
图4.集成可(kě)行性证明(N25 + CoreGuard)。
有(yǒu)许多(duō)方法可(kě)以保护片上系统。我们在本文(wén)中说明的是如何通过使用(yòng)RISC-V體(tǐ)系结构和其他(tā)扩展中内置的固有(yǒu)功能(néng)来开始保护CPU。然后,我们展示了如何在芯片级安全性上添加额外的一层来保护SoC中各种设备之间的数据流和交互。安全性不一定非要难,但确实需要进行计划。