随着人工智能 (AI) 的快速部署,AI 片上系统 (SoC) 设计的重点一直是构建更智能、更快和更便宜的设备,而不是更安全、更可靠和更安全。一位参与国家安全政策的高级人物 Jason Matheny 很好地强调了这个问题,他说:“尽管政府和私营部门提供了充足的资金,但人工智能系统的开发并没有着眼于不断变化的威胁形势。事实上,只有不到 1% 的资金用于安全。” Matheny 是乔治城大学安全和新兴技术中心的创始主任,也是国家人工智能安全委员会的委员
在我们研究如何在芯片级将安全性构建到 AI SoC 之前,先考虑一下什么是 AI 系统。它包括三个要素:
处理数据、做出决策和发送命令的推理引擎;
训练数据和机器学习阶段创建的一组权重;
执行命令的物理设备。
例如,Nest 恒温器可以通过分析和学习用户的行为来设置用户的首选温度。最终,它可以预测用户喜欢在晚上将温度调低 10 度,然后推理引擎会在每天的同一时间向恒温器发送命令以降低温度。
人工智能系统中的安全威胁
人工智能系统面临的最大威胁分为两类:面向控制的攻击和面向数据的攻击。当攻击者利用常见的软件漏洞(如缓冲区溢出)并接管系统时,就会发生面向控制的攻击。顾名思义,面向控制的攻击控制 AI 设备以执行攻击者的命令。无论是导出私人数据。或者更不祥的事情,例如强迫自动驾驶汽车撞上高速公路的护栏。
在面向数据的攻击中,攻击者会操纵 AI 系统的训练数据或系统用于做出决策的真实世界数据,导致 AI 设备出现故障并根据 false数据。这可能是无害的,就像将垃圾邮件过滤器破坏为恶意的东西一样,例如导致自动驾驶车辆无法识别停车标志。
使用 RISC-V 固有的安全功能
通过结合内置于 CPU 架构中的安全功能,然后在 CPU 周围添加硬件和软件层,SoC 设计人员可以更接近于在其基本结构中内置安全性的设计。
那么,SoC 设计人员如何在他们的设计中利用这种能力呢?第一步是选择可预测常见安全攻击形式的 CPU 架构,例如最新一代 RISC-V 开源指令集架构 (ISA),其架构考虑了安全性。接下来,添加监督硅知识产权 (IP) 和软件,以便在威胁到达 CPU 硬件之前进行查找。
RISC-V 架构是在人工智能时代和当今安全意识世界中开发的。凭借其开源架构,应该不会有任何意外,因为该架构对公众监督和工程开放。
此外,RISC-V 还提供了具有不同权限级别和访问权限的操作模式。第一种是机器模式(M-Mode),其中软件可以完全访问机器资源。在信任根建立后的引导时,机器进入用户模式以运行用户程序。在用户模式下,使用控制中断和异常分配来限制 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 中固有的安全功能以及上述 Andes 提供的附加功能外,Dover Microsystems 的 CoreGuard 还围绕 RISC-V CPU 添加了一个监督系统。它充当主机 RISC-V 处理器的保镖,监控执行的每条指令并防止利用软件漏洞。CoreGuard 解决方案包括硬件和软件组件。硬件组件是与主机 RISC-V 内核集成的监督硅 IP。驻留在硬件中使其在网络上无懈可击,以硬件速度运行可提供实时执行。
该解决方案的软件部分有两个部分。首先是一套微观政策。这些定义了安全、安全和隐私规则。第二个是元数据,即有关受微政策保护的软件应用程序的信息。在操作中,主机 RISC-V 处理器从内存中读取需要处理的指令和数据,并将指令跟踪发送到监督硬件。硬件应用活动的微策略集以及每个微策略做出决定所需的所有相关元数据。如果指令不违反微策略,则执行指令。但是,如果违反了微策略,则会将违规发回主机以作为异常处理。
图 3. CoreGuard 框图。
除了在造成任何损害之前停止攻击之外,安全解决方案还为主机 RISC-V 处理器提供有关试图执行不应该执行的操作的精确恶意指令的信息。
然后,主机可以根据该信息采取各种行动。默认操作是将终止应用程序的分段错误——但是,这通常不是生产选项。其他选项包括,要求用户输入、激活地址空间布局随机化 (ASLR) 以争取时间,或让单独的“安全”应用程序接管。
例如,如果攻击者试图利用包裹递送无人机导航软件中的漏洞将所有包裹重新路由并递送到一个位置。当检测到违反微政策时,可以从受保护的存储空间中取出一个安全位置,然后指示无人机飞回该安全位置。
为了说明此安全解决方案如何阻止面向控制的攻击,让我们考虑自动驾驶汽车。如果攻击者成功利用硬件对策未检测到的 CPU 中的缓冲区溢出漏洞并尝试注入代码以完全控制车辆,则 CoreGuard 的微策略 - 堆 - 阻止所有缓冲区溢出攻击 - 包括零日威胁 - 因此,关闭攻击者入口路径上的门。
这种类型的攻击在 2015 年得到了很好的记录,当时研究人员成功控制了一辆吉普车。研究人员能够控制从音量到刹车和转向的一切。在受 CoreGuard 保护的自动驾驶汽车中,它可以通知驾驶员关闭自动模式并控制车辆。
在面向数据的攻击中,攻击者的目标是访问运行 AI 推理引擎的应用程序并修改其传感器数据,从而导致系统出现故障。使用人工智能的一个常见应用是预测性维护,以预测机器或飞机何时需要维护。它被跨行业用于预测任何事情,从飞机上的机械问题到预测食品生产设施中的工业冰箱何时需要维护。
此应用程序依赖于高质量、准确的数据读数。如果攻击者能够操纵这些数据读数,人工智能系统将没有清晰或准确的图片来进行预测。例如,这可能意味着需要维护的飞机不会被注意到,并且可能在飞行途中发生故障。
在签名之前和签名验证过程之后,为人工智能系统提供动力的数据最容易受到攻击。如果攻击者可以拦截和更改该数据,则人工智能系统可能会受到严重损害。CoreGuard 可以使用数据完整性微策略确保数据真实性。该微策略可防止在数字签名认证和 AI 系统之间修改数据,确保仅将可信且安全的数据输入系统。
在图 4 中,我们说明了这如何将安全性内置到设计中,而不是在事后添加。在此示例中,CoreGuard 解决方案与 Andes N25 RISC-V 主机处理器集成。集成涉及识别通知 CoreGuard 互锁有关指令执行的信号:加载、存储和从数据存储器访问流水线阶段提取的数据地址。接下来,综合 SoC 设计用于硬件仿真。结果成功地运行了一个示例应用程序来运行所有 CoreGuard 互锁路径,从而证明了将 N25 RISC-V 处理器与 CoreGuard 集成的可行性。
图 4. 集成可行性证明(N25+CoreGuard)。
有很多方法可以保护片上系统。我们在本文中说明的是如何通过使用 RISC-V 架构中内置的固有特性和其他扩展来开始保护 CPU。然后,我们展示了如何为芯片级安全添加额外的层来保护 SoC 中各种设备之间的数据流和交互。安全并不一定很难,但它确实需要规划。
原文链接:https://www.yunduoketang.com/article/rhshangwangke.html
|