柏拉图数据智能。
垂直搜索和人工智能。

在急于构建人工智能应用程序的过程中,不要忽视安全性

日期:

专栏 在急于了解、构建和发布人工智能产品的同时,开发人员和数据科学家被敦促注意安全性,不要成为供应链攻击的牺牲品。

有无数的模型、库、算法、预构建工具和软件包可供使用,并且进步是不懈的。这些系统的输出也许是另一个故事,但不可否认的是,至少总有新的东西可以玩。

尽管所有的兴奋、炒作、好奇和对错过的恐惧,安全性都不能被忘记。如果这对你来说并不令人震惊,那就太棒了。但这里有一个提醒很方便,特别是因为机器学习技术往往是由科学家而不是工程师组合在一起的,至少在开发阶段是这样,尽管这些人了解神经网络架构、量化和下一步等技术。一代培训技术,信息安全可能不是他们的强项,这是可以理解的。

整合一个人工智能项目与构建任何其他软件没有太大区别。您通常会将库、包、训练数据、模型和自定义源代码粘合在一起以执行推理任务。公共存储库中提供的代码组件可能包含隐藏的后门或数据泄露器,并且预构建的模型和数据集可能会被中毒,从而导致应用程序出现意外的不当行为。

事实上,某些模型可能包含恶意软件 执行 如果它们的内容没有被安全地反序列化。 ChatGPT 插件的安全性也得到了提高 受到 严密审查。

换句话说,我们在软件开发领域看到的供应链攻击也可能发生在人工智能领域。不良软件包可能会导致开发人员的工作站受到损害,从而导致对企业网络的破坏性入侵,而篡改模型和训练数据集可能会导致应用程序错误地分类事物、冒犯用户等。后门或恶意软件感染的库和模型如果合并到已发布的软件中,也可能使这些应用程序的用户容易受到攻击。

他们将解决一个有趣的数学问题,然后部署它,仅此而已。未经渗透测试,没有 AI 红队

作为回应,网络安全和人工智能初创公司不断涌现,专门应对这一威胁;毫无疑问,老牌玩家也会关注它,至少我们希望如此。机器学习项目应该经过审核和检查、安全测试和安全评估。

“[人工智能]已经脱离了学术界。它主要是大学的研究项目,或者是主要由学者或大公司剥离的小型软件开发项目,它们只是内部没有安全性。”HiddenLayer 的研究副总裁 Tom Bonner 说道。这种专注于安全的初创公司告诉 注册.

“他们将使用软件解决一个有趣的数学问题,然后部署它,仅此而已。它未经笔测试,没有人工智能红队、风险评估或安全的开发生命周期。突然之间,人工智能和机器学习真正起飞,每个人都想加入其中。他们都去捡起了学术界产生的所有常见软件包,你瞧,它们充满了漏洞,充满了漏洞。”

人工智能供应链有许多犯罪分子的切入点,他们可以利用诸如 注册近似域名 有人认为,诱骗开发人员使用其他合法库的恶意副本,让骗子窃取敏感数据和公司凭证,劫持运行代码的服务器等等。软件供应链防御也应该应用于机器学习系统开发。

Protect AI 首席人工智能安全研究员丹·麦金纳尼 (Dan McInerney) 表示:“如果你想一个饼图,说明一旦你在公司或组织中开设人工智能部门,你将如何受到黑客攻击。” 注册,“其中一小部分将是模型输入攻击,这是每个人都在谈论的。其中很大一部分将攻击供应链——你用来构建模型的工具。”

输入攻击是 有趣的方式 人们可以通过使用来破解人工智能软件。

为了说明潜在的危险,前一周的 HiddenLayer 突出 它坚信 Hugging Face 提供的在线服务存在安全问题,该服务将不安全的 Pickle 格式的模型转换为更安全的格式 安全张量,也是由 Hugging Face 开发的。

Pickle 模型可能包含恶意软件和其他任意代码,这些代码在反序列化时可能会以静默方式意外执行,这不太好。 Safetensors 是作为一种更安全的替代方案而创建的:使用该格式的模型在反序列化时不应最终运行嵌入式代码。对于那些不知道的人来说,Hugging Face 托管着数十万个神经网络模型、数据集和代码,开发人员只需点击几下或命令即可下载和使用。

Safetensors 转换器在 Hugging Face 基础设施上运行,并且可以根据指示将 Hugging Face 托管的 PyTorch Pickle 模型转换为 Safetensors 格式的副本。但根据 HiddenLayer 的说法,在线转换过程本身很容易受到任意代码执行的影响。

HiddenLayer 研究人员表示,他们发现他们可以提交包含任意代码的恶意 Pickle 模型的转换请求,并且在转换过程中,该代码将在 Hugging Face 的系统上执行,从而允许有人开始干扰转换器机器人及其用户。如果用户转换了恶意模型,他们的 Hugging Face 令牌可能会被隐藏代码窃取,“我们实际上可以窃取他们的 Hugging Face 令牌,破坏他们的存储库,并查看该用户拥有的所有私有存储库、数据集和模型”访问,”HiddenLayer 辩称。

此外,我们还被告知,转换器机器人的凭据可能会被 Pickle 模型中隐藏的代码访问和泄露,从而允许某人伪装成机器人并打开对其他存储库进行更改的拉取请求。如果接受这些更改,可能会引入恶意内容。我们已要求 Hugging Face 对 HiddenLayer 的调查结果做出回应。

“具有讽刺意味的是,转换为 Safetensors 的转换服务本身非常不安全,”HiddenLayer 的 Bonner 告诉我们。 “考虑到转换机器人对存储库的访问级别,实际上有可能窃取他们用于通过其他存储库提交更改的令牌。

“因此从理论上讲,攻击者可以向任何存储库提交任何更改,并使其看起来像是来自 Hugging Face,而安全更新可能会欺骗他们接受它。人们的存储库中可能存在后门模型或不安全的模型,但他们并不知道。”

这不仅仅是一个理论上的威胁:DevOps shop JFrog 说发现了 Hugging Face 托管的 100 个模型中隐藏着恶意代码。

事实上,有多种方法可以隐藏模型中有害的代码负载(具体取决于文件格式),这些负载在神经网络加载和解析时执行,从而允许不法分子访问人们的机器。 JFrog 指出,PyTorch 和 Tensorflow Keras 模型“构成执行恶意代码的最高潜在风险,因为它们是流行的模型类型,具有已发布的已知代码执行技术”。

不安全的建议

邦纳警告说,使用代码建议助手开发应用程序的程序员也需要小心,否则他们最终可能会合并不安全的代码。例如,GitHub Copilot 接受过开源存储库培训,其中至少 350,000 个可能容易受到攻击 旧的安全问题 涉及Python和tar档案。

Python的 tar文件 模块,顾名思义,帮助程序解压 tar 档案。可以制作一个 .tar,以便当 Python 模块提取存档中的文件时,它将尝试覆盖用户文件系统上的任意文件。这可以被利用来删除设置、替换脚本并导致其他恶作剧。

该缺陷于 2007 年被发现, 突出 2022 年再次发生,促使人们开始修补项目以避免这种利用。邦纳感叹道,这些安全更新可能还没有进入用于训练大型语言模型进行编程的数据集。 “因此,如果你现在要求法学硕士去解压一个 tar 文件,它可能会返回[旧的]易受攻击的代码。”

邦纳敦促人工智能社区开始实施供应链安全实践,例如要求开发人员在更改公共代码存储库时以数字方式证明他们的身份,这将使人们放心,新版本的东西是由合法开发人员生产的并且不是恶意更改。这将要求开发人员保护他们用于身份验证的任何内容,以便其他人无法冒充他们。

所有开发人员,无论大小,都应该进行安全评估并检查他们使用的工具,并在部署之前对其软件进行渗透测试。

试图加强人工智能供应链的安全性是很棘手的,而且随着构建和发布的工具和模型如此之多,很难跟上。

Protect AI 的 McInerney 强调“这就是我们现在所处的状态。到处都有很多容易实现的目标。只是没有足够的人力来查看这一切,因为一切都进展得太快了。” ®

现货图片

最新情报

现货图片

在线答疑

你好呀! 我怎么帮你?