使用带有扩展功能的CPU功能将安全性构建到AI SoC中

time : 2021-04-29 09:43       作者:凡亿pcb


使用带有扩展功能的CPU功能将安全性构建到AI SoC

随着人工智能(AI)的快速部署,人工智能片上系统(SoC)设计的重点一直放在构建更智能,更快和更便宜的设备上,而不是更安全,更受信任和更安全的设备上。在研究如何在芯片级将安全性构建到AI SoC中之前,请考虑什么是AI系统。它包含三个元素:

处理数据,做出决定并发送命令的推理引擎;

训练数据和在机器学习阶段创建的一组权重;

执行命令的物理设备。

例如,Nest恒温器可以通过分析和学习用户的行为来设置用户的首选温度。最终,它可以预测用户喜欢在晚上将温度设置为低10度,然后推理引擎将在每天的同一时间向恒温器发送命令以降低温度。 

人工智能系统中的安全威胁

AI系统的最大威胁分为两类:面向控制的攻击和面向数据的攻击。当攻击者利用常见的软件漏洞(例如缓冲区溢出)并接管系统时,就会发生面向控制的攻击。顾名思义,面向控制的攻击会控制AI设备以执行攻击者的命令。是否正在导出私有数据。或更不祥的事物,例如迫使无人驾驶汽车撞上高速公路上的护栏。

在面向数据的攻击中,攻击者操纵AI系统的训练数据或系统用于决策的现实数据,从而导致AI设备发生故障并执行基于错误的操作数据。这可能是无害的,就像将垃圾邮件过滤器转换为恶意的东西一样,如导致自动驾驶汽车无法识别停车标志。

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

通过将内置在CPU体系结构中的安全功能结合在一起,然后在CPU周围添加硬件和软件层,SoC设计人员可以更接近将安全性内置到其基本结构中的设计。

那么,SoC设计人员如何在他们的设计中利用这种功能呢?第一步是选择一种可以预测常见安全攻击形式的CPU体系结构,例如最新一代的RISC-V开源指令集体系结构(ISA),该体系结构在设计时就考虑了安全性。接下来,添加监督硅知识产权(IP)和软件,以在威胁进入CPU硬件之前查找威胁。

RISC-V体系结构是在AI时代和当今具有安全意识的世界中开发的。凭借其开放源代码架构,由于该架构已公开接受公众审查和工程设计,因此不足为奇。

此外,RISC-V附带具有不同特权级别和访问权限的操作模式。第一种是机器模式(M-模式),其中软件可以完全访问机器资源。在建立信任根之后的引导时间,计算机将进入用户模式以运行用户程序。在用户模式下,使用控制中断和异常分配来限制CPU访问。RISC-V安全体系结构的两个附加功能是(1)物理内存保护(PMP)和(2)物理内存属性(PMA)。这些允许设计人员指定哪些应用程序可以访问内存以及访问方式。

1.内置RISC-V安全性。

商业RISC-V IP供应商添加了设计人员可以选择实现的其他功能。例如,安第斯技术公司增加了堆栈溢出保护机制。为了实现此功能,设计人员确定其应用程序正常运行所需的程序堆栈的最大大小。例如,如果应用程序需要的条目不超过15个。当应用程序在现场并正在执行时,如果检测到堆栈溢出,则CPU会生成异常。该异常可能是由正常事件或恶意攻击引起的。无论哪种情况,异常处理软件都可以确定罪魁祸首。

另一个安全性附加项是可编程存储器属性,该属性使设计人员能够将存储器区域分配为只读,只写或可不受限制地访问。此外,设计人员可以选择隐藏包含该应用程序的关键数据的内存区域。如果发生任何尝试访问该区域的尝试,则会生成一个异常,以评估是什么功能在未经授权的情况下试图破坏该区域。Andes Technology添加的第三项附加功能是能够隐藏代码,以免被反汇编和反向工程。

启用RISC-V ISA中可用的甚至更安全的功能是添加自定义扩展的能力。例如,创建自定义指令以加快加密算法的执行速度。这些自定义指令可以对数据进行加扰,而对不熟悉该指令的任何人在没有工作知识的情况下都难以破解,则可以对数据进行加扰。另一个安全功能是创建与主系统内存隔离的专用内存存储,只有设计人员的应用程序软件才能访问。

最终,创建用于访问协处理器,加密处理器和私有存储器的私有总线为RISC-V ISA增添了另一层安全性。这种私有访问使最重要的数据远离系统总线和任何希望进行隐式入侵的应用程序。Andes Technology通过其Andes自定义扩展(ACE)工具简化了向RISC-V ISA添加自定义扩展和安全元素的任务。ACE大大减少了进行和验证这些添加所需的时间。

2. Andes定制扩展。

除了整合RISC-V ISA固有的安全功能以及如上所述安第斯提供的其他功能外,Dover MicrosystemsCoreGuard还在RISC-V CPU周围增加了一个监督系统。它充当主机RISC-V处理器的保镖,监视执行的每条指令并防止利用软件漏洞。CoreGuard解决方案包括硬件和软件组件。硬件组件是与主机RISC-V内核集成的监督硅IP。驻留在硬件中使其在网络上无懈可击,并且以硬件速度运行可提供实时实施。

解决方案的软件部分包括两个部分。首先是一系列的微观政策。这些定义了安全性,安全性和隐私性规则。第二个是元数据,即有关受微政策保护的软件应用程序的信息。在操作中,主机RISC-V处理器从内存中读取需要处理的指令和数据,并将指令跟踪发送到监督硬件。硬件将活动的微策略集与每个微策略进行决策所需的所有关联元数据一起使用。如果该指令未违反微观政策,则执行该指令。但是,如果违反了微观政策,则会将违规发回主机以作为异常处理。

3. CoreGuard框图。

除了在造成任何损害之前停止攻击之外,该安全解决方案还为主机RISC-V处理器提供了有关试图执行不应执行的操作的精确恶意指令的信息。

然后,主机可以根据该信息采取各种措施。默认操作是分段错误,它将终止应用程序-但是,通常这不是生产选项。其他选项包括,请求用户输入,激活地址空间布局随机化(ASLR)来购买时间,或由单独的安全应用程序接管。

例如,如果攻击者试图利用包裹递送无人机导航软件中的漏洞,将所有包裹重新路由并递送到一个位置。当检测到违反微观政策时,可以从受保护的存储区中取出一个安全地点,并且无人机会指示飞往该安全地点。

为了说明此安全解决方案如何阻止面向控制的攻击,让我们考虑一种自动驾驶汽车。如果攻击者成功利用了硬件对策未检测到的CPU中的缓冲区溢出漏洞,并试图注入代码以完全控制车辆,则CoreGuard的微策略(堆)将阻止所有缓冲区溢出攻击(包括零时差威胁),因此,在攻击者的入口路径上关上门。

2015年,当研究人员成功控制了吉普车时,这类攻击得到了充分的记录。研究人员能够控制一切,从音量到刹车和转向。在受CoreGuard保护的自动驾驶汽车中,它可以通知驾驶员关闭自动驾驶模式并控制车辆。

在面向数据的攻击中,攻击者的目标是获得对运行AI推理引擎的应用程序的访问权,并修改其传感器数据,从而导致系统故障。使用AI的常见应用是预测性维护,以预测何时需要对机器(或飞机)进行维护。它可用于各行各业,以预测从飞机上的机械问题到预测食品生产设施中的工业冰箱何时需要维护的任何事物。

此应用程序依赖于高质量,准确的数据读数。如果攻击者能够操纵这些数据读数,则AI系统将没有清晰或准确的图片来进行预测。例如,这可能意味着需要维护的飞机将不被注意,并且在飞行途中可能会发生故障。

在签名之前和签名验证过程之后,为AI系统提供动力的数据最容易受到攻击。如果攻击者可以拦截和更改该数据,则可能严重损害AI系统。CoreGuard可以使用数据完整性微策略来确保数据的真实性。这种微政策可防止在数字签名身份验证和AI系统之间修改数据,从而确保仅将可信和安全的数据馈送到系统中。

在图4中,我们说明了如何将安全性内置到设计中,而不是事后才添加。在此示例中,CoreGuard解决方案与Andes N25 RISC-V主机处理器集成在一起。集成涉及识别必要的信号,以告知CoreGuard互锁有关指令执行的信息:从数据存储器访问管道阶段提取的加载,存储和数据地址。接下来,综合了集成的SoC设计以进行硬件仿真。结果成功运行了一个示例应用程序,以练习所有CoreGuard互锁路径,从而证明了将N25 RISC-V处理器与CoreGuard集成的可行性。

4.集成可行性证明(N25 + CoreGuard)。

有许多方法可以保护片上系统。我们在本文中说明的是如何通过使用RISC-V体系结构和其他扩展中内置的固有功能来开始保护CPU。然后,我们展示了如何在芯片级安全性上添加额外的一层来保护SoC中各种设备之间的数据流和交互。安全性不一定非要难,但确实需要进行计划。