人工智能系统的设计目的是高速传输数据,而不是限制访问,这就产生了安全风险。
参与该话题讨论的专家如下:
半导体工程公司(Semiconductor Engineering,以下简称 SE)与ANSYS半导体事业部首席技术专家 Norman Chang,
Rambus的研究员 Helena Handschuh
Synopsys的首席安全技术专家 Mike Borza
SE:在人工智能系统中,如果训练数据没有你想象的那么好,将会发生什么?当进入推理阶段的时候,看起来会很不一样吗?
Borza:这些模型会被定期更新,你必须确保这些模型能够被安全地分发给用户。为了更好地利用这一点,你需要将观察不同行为的人工智能系统连接起来。然后你就可以开始追踪恶意软件在不同网站或不同地点之间的动向了。但这又回到了新的训练数据,它可以用来更新模型,所以你就进入了这个反馈循环。这是一个非常慢的反馈循环,在这个循环中,人工智能依赖于你能够安全地分发信息和收集信息。然后,你想要使用相同的生成模型——你必须确保模型完整性——来确保系统和网络现在按照您最初的意图运行。所以你就有了这种与人工智能的安全互动,它让你获得了更多的安全性。
Chang:在图像数据的增量训练过程中,如果你在路上开车,对图像信号做一点扰动,突然人工智能系统就会什么都认不出来了,红灯就会变成绿灯,这可能变得非常危险。你要怎么阻止这类事情的发生?它是非常困难的。
Handschuh:最近有一篇论文甚至更进一步,指出任何系统都可以在经过固定次数(或对数级次数)的变化和修正后被扰乱。你无法阻止一个人对事物的破坏,以至于它会显示出完全不同的东西。我们真的得好好想想这个问题。
SE:当我们开始构建数据吞吐量系统时,我们的目标是以惊人的速度在一个芯片上让所有东西协同工作。这是否会使隔离正在处理的数据变得更加困难,这是否会产生安全问题?
Borza:它改变了安全边界的位置,也改变了它们本该所处的位置。复杂事物的行为很难验证,这就是为什么安全人员倾向于选择小的、隔离的和能被控制的东西。这与人工智能界的人们想要做的完全不同,那就是在芯片上分配计算和内存,这样它就能模仿大脑的结构或我们在大脑中看到的一些行为。但这就产生了一个问题,现在你有很多分布在周围的数据,所有这些数据的完整性对系统的正确行为非常重要。一些网络训练算法的敏感度非常高,数据中非常小的扰动或错误都可能产生非常错误的结果。它不是线性关系。
Handschuh:人工智能、机器学习和深度学习的一个大问题是,你如何保护这些数据,并且知道它们不会被破坏或窃取?如何保证模型的安全性,以及如何防止模型中的权重参数被发布出去?这就是知识产权,是一项宝贵的资产。那么,如何保护模型本身,以及如何以安全的方式使用它们呢?一旦你在一个设备上训练好了,建立了网络,然后输入数据,显示计算结果,你如何保护计算结果不受输入的影响?这些都是你的系统需要处理的不同点。要做很多工作。
Chang:这也是一个系统问题。你可能有 GPU,以及用于人工智能系统核心处理器的 FPGA 设备。因此,安全性确实超越了单个芯片包。它必须把安全作为一个整体系统来考虑。
SE:但是整个架构都是动态运行的。当你下载新的更新,因为我们想让系统适应新的情况,所以这些算法开始发生变化,这些芯片的电力和功率配置也会开始改变吗?你需要改变你所寻找的信号模式中的畸变吗?
Chang:这绝对是一个侧面渠道冲击的问题。在你更新了操作系统和系统的其他部分之后,这将会改变对电源噪声以及电源计算的冲击。因此,你可能需要使用远程系统对测量进行模拟,以确保系统中的新更新和新组件的设计足以启动安全传感器。
Handschuh:电源配置将会改变。它看起来会不一样。但是你需要找到一种安全方法,来保护那些不太依赖于你软件中不同功能的东西。基本构建块需要以一种它们自己不会造成泄漏的方式编写和实现。然后你下载的软件,很可能就运行在没有泄露任何东西的处理器上或者构建块元素上。在这种情况下,软件应该能够安全运行,而且不会泄露太多信息。但这是下一步——保护处理器,这样你运行什么软件就无关紧要了。
SE:解决方案将是把构建安全性作为常规设计的一部分吗?安全性的一大问题是人们不愿意为此付费。还有开发方面的开销,特别是当你具有较多的安全性需求时,必须定期更新安全性系统。
Borza:有很多这样的尝试,比如 Arm 的 PSA(平台安全架构),该公司说它使开发和集成变得很容易。他们付出了巨大的努力,投入了大量的精力,来打造这样的架构。这也许是一种可行的方法。我们仍然认为人们将会把安全性构建到他们的产品中,因为他们有这样的需求,并且他们愿意为一个有意义的解决方案付费。但它确实在几个层面上增加了成本。这是获取知识产权的初始成本。此外,开发和维护安全软件也有成本。然后你会发现,它消耗了芯片面积,这是一种开销,这也推高了芯片的成本。但我们真的到了不能忽视安全性的地步,这是大多数人多年来一直试图要做的。
Handschuh:增加安全性的需求不是偶然发生的。在某些情况下,它需要立法或标准化,因为如果出了问题,就需要承担责任,所以你必须开始将解决特定问题的特定类型的解决方案涵盖进来。责任是它的驱动力。没有人会仅仅因为他们偏执到认为必须这样做就去做。有人会告诉他们,‘如果你不这么做,这对你和你的企业都是风险。’然后你不会管具体的解决方案,而是需要在芯片上带有某种授信的区域,无论那是 PSA 还是通用标准或其他什么,你只需要证明自己做了一些具体的事情来保证安全性。”
Chang:连接到网络上的设备有这么多都是不安全的。那么,保证安全性应从哪里开始呢?
Borza:你会在欧洲看到这种情况。NIST(National Institute of Standards and Technology:国家标准与技术协会)也有很好的想法。然后有了消费者保护法,用来规范路由器供应商的行为。将销售的路由器的用户名和密码设置为 admin/admin 将是不再被接受的,因为人们会直接用这套用户名和密码把它们连接到因特网上。
Handschuh:欧洲更关注隐私方面的事情。美国也有网络安全法案。因此,监管机构敦促说,我们需要做些什么。他们从来不会确切地告诉你需要做什么,但却给了一些推动力。
SE:建立标准是解决这个问题的正确方法,还是这个过程太慢了?黑客行动迅速,并且分享信息。这需要构建到体系架构中吗?
Borza:对于那些有足够资金来解决这个问题的人来说,或者那些愿意花钱请专家来帮助他们设计系统或芯片的人来说,这很好。
Chang:你只是将一个 AES 模块放入芯片中吗?
Borza:远非如此。加密是一种工具。它是一种提供某些保证的方法,主要围绕保密性,但它也可以用来提供完整性。AES 本身并不是安全的。加密可用于构建安全系统。
SE:数据最脆弱的点正是加密和解密发生的那个点。在这些点上,我们有可能施加保护吗?
Handschuh:这是必要的。当数据处于最脆弱的状态时,必须在某个安全边界内和某个可信的执行环境或安全风格内对其进行保护。在加密或解密的这两个精确时刻,数据必须处于没有人能够访问到它的这样一个状态。有一种设计方法,你可以确保人们有特定的访问权限或句柄来处理数据和资产,但永远不能直接访问或导出。你可以像化学家一样处理它,但他们从不直接接触有毒物质,他们可以通过机械手移动它们。因此,你可以赋予特定的用户权限来处理数据和资产,但是没有人可以直接接触它们。
Chang:在加密过程中会发生各种各样的现象,从安全的角度来看,最严重的是通过电源供应噪声。你可以监视最后的一次加密。如果你这样做 1000 或 2000 个周期,你可以使用模拟的方法解密密钥。如果你在芯片中嵌入 AES 加密,以及其他功能,这将稍微困难一些,但仍然有可能在 3000 或 4000 个周期后检测到密钥。但如果你使用芯片封装系统,并试图监测电磁辐射,系统还会发出其他的噪音。
SE:所以信噪比比较低?
Chang:是的,它更小。
Borza:信号处理就是从噪音中解析出信号。
Chang:是的,这是一种统计技术。
原文链接:
https://semiengineering.com/why-data-is-so-difficult-to-protect-in-ai-chips/
评论