如何保障人工智能系统开发的安全?

原文地址:https://venturebeat.com/ai/how-to-secure-ai-system-development/

数据科学家、人工智能工程师和网络安全专家如果在开发过程中未能确保人工智能系统的安全性,可能会使组织面临巨大的经济损失和声誉风险。那么,他们应采取哪些措施来防范这些风险呢?

网络安全专家需关注的常见风险

数据集污染是网络安全专家面临的主要挑战之一,因为它带来的风险巨大且往往不易被发现。一旦攻击者用错误或无关的信息污染了少量数据源,就可能在训练过程中对模型造成破坏。

另一个需要关注的重大威胁是提示注入攻击。攻击者通过劫持模型的输出来迫使模型产生非预期的行为。研究表明,这种攻击的成功率极高,有的研究团队甚至报告称其攻击尝试有97.2%都成功了。通过利用这种模型,攻击者可以获取训练数据、触发动作或引起意外的反应。

在提示注入攻击中,特别值得注意的是提示提取,攻击者通过操纵人工智能系统来获取其规则集。一旦掌握了这些信息,攻击者就可能进一步访问和窃取敏感数据。

模型反转是另一种攻击手段,攻击者通过逆向工程的模型的输出来获取其训练数据集的访问权限,进而窃取敏感或私人信息。这种隐私泄露可能会严重损害组织的声誉。

AI engineers

cybersecurity professionals

Prompt injection

97.2% of their attempts

受损的人工智能系统对组织的冲击

当组织的人工智能系统遭受损害时,其整体安全状况将受到冲击。大多数人已经认识到这一点,因此他们采取了预防措施。实际上,有六成的公司已经在努力降低与人工智能相关的网络安全风险。这种预防意识凸显了可能出现的负面商业后果。

一旦攻击者成功操纵或利用了某个模型,他们就能引发未预期的后果,破坏相连的组件,并在未经授权的情况下访问存储系统。他们的最终目的通常是数据泄露,窃取敏感信息、知识产权或个人识别信息等训练数据集内容。

根据被窃数据的类型和受影响组织的行业,数据泄露可能导致法律诉讼、监管审查和公众的强烈反应。这些情况最可能的结果是财务损失。

six in 10 companies 

sensitive information

在设计人工智能系统时,应提前考虑的安全要素

在设计人工智能系统时,网络安全专家必须牢记几个关键的安全考虑因素。数据集的选择至关重要,因为数据污染攻击和篡改可能会导致模型在早期就受到广泛的——甚至是永久性的——破坏。

即使人工智能工程师使用预训练模型来训练他们的算法,数据集的完整性仍然是关键的安全考虑因素,因为原始模型有可能已经被破坏。至少,它可能存在攻击者可以在部署后轻易利用的漏洞。

选择外包模型设计而不是雇佣内部人工智能工程师的组织必须考虑他们的第三方供应商是否谨慎可靠。供应商——无论是因为疏忽还是恶意——都可能迅速引入安全漏洞。如果没有监督和偶尔的检查,小的弱点可能会变成重大的安全问题。

Dataset integrity

在开发人工智能系统时,关键的安全要点

在人工智能系统的开发中,安全性的考虑至关重要。数据科学家在引入新信息时,必须更新算法的参数,这往往是一个既耗时又资源密集的过程。如果他们为了加速开发而走捷径,就可能会无意中创造新的安全弱点。

即便数据科学家和人工智能工程师没有偏离预期,他们在开发过程中仍可能遇到安全问题。人工智能的“黑箱”问题——缺乏可解释性——使得识别妥协指标(IOCs)变得具有挑战性。当模型的输出无法解释时,识别数据集污染或篡改可能很困难。

大多数攻击源自威胁行为者,但专业人士不应排除不满或疏忽的员工。毕竟,人为错误是95%的网络安全事件的根源。无论开发是在内部还是外部进行,他们在人工智能系统开发过程中都应警惕物理和数字威胁。

95% of cybersecurity incidents

开发质量不达标如何影响部署

如果网络安全专业人员在人工智能系统部署完成之前未能识别妥协指标或认识到腐败迹象,那么他们可能面临持续的、看似无法解释的网络威胁。

准备部署的人工智能工程师必须考虑开发不达标可能带来的安全后果。如果关键漏洞未被注意到,那么意外的模型行为和数据泄露就变得可能。随着时间的推移,组织的安全状况将受到负面影响。

如何在开发过程中保护人工智能系统

网络安全专业人员可以通过与数据科学家和人工智能工程师合作,以确保在开发过程中尽可能减少漏洞的引入,从而提高他们的韧性。信息共享可以显著提高威胁缓解措施的有效性。这也意味着潜在问题可以更早被识别。

尽管与其他部门协调可以提高威胁缓解效果,但结合使用多种方法是最理想的。限制措施可能非常有帮助,因为它们充当了一种保险措施,防止攻击者利用系统触发恶意行为。

网络安全专业人员还应在开发过程中考虑利用模型可解释性,以简化识别IOCs的过程。这样,他们可以更早地识别数据集污染和提示注入攻击。

自然,例行审计是开发最佳实践的关键部分。人工智能工程师应与网络安全专业人员合作,彻底测试他们的系统。这样,他们可以在问题出现之前识别并消除腐败和漏洞。

网络安全专业人员应考虑保留一个基线,以回滚他们的人工智能系统。如果其他一切失败并且发生妥协,这是在不必花费数周时间进行事件响应和恢复的情况下保护模型的少数方法之一。

significantly improve the effectiveness

人工智能系统开发的基本指南

多个监管机构已发布安全人工智能开发的指南。最突出的是美国、加拿大和英国的联合指南。这些国家与澳大利亚、以色列、新加坡、意大利、法国、德国、韩国和日本等国家的机构合作。

像网络安全和基础设施安全局(CISA)、国家安全局(NSA)和国家网络安全中心(NCSC)这样的主要机构共同制定了关于人工智能安全和负责任开发的20页文件。

美国和英国政府针对提供商提出了关于人工智能系统安全设计、部署和操作的指南。它声称有助于减少组织在开发过程中面临的风险。虽然它并不太技术性,但它突出了最佳实践,并全面覆盖了开发者的责任。

claims to help reduce the risk

在应对威胁时,采取主动策略是最为理想的

在缓解威胁时,主动努力是理想的。网络安全专业人员应关注可能在开发过程中危害他们人工智能系统的因素。如果他们主动,将有更好的机会消除威胁,实现更好的商业成果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode-移除元素

题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

【SQL】数据操作语言(DML):学习插入、更新和删除数据

数据查询语言(DQL)用于从数据库中检索数据,主要通过SELECT语句来实现。SELECT语句允许用户指定要检索的数据列、表以及任何筛选条件。以下是对DQL的详细介绍以及多个示例: SELECT语句基础结构: sql SELECT column1,…

如何使用群晖Synology Drive结合cpolar内网穿透实现同步Obsidian笔记文件

文章目录 一、简介软件特色演示: 二、使用免费群晖虚拟机搭建群晖Synology Drive服务,实现局域网同步1 安装并设置Synology Drive套件2 局域网内同步文件测试 三、内网穿透群晖Synology Drive,实现异地多端同步Windows 安装 Cpolar步骤&#…

PostgreSQL Systemctl启动设置

root用户 cd /usr/lib/systemd/system vi postgresql.service #增加下面内容,并根据实际内容修改 [Unit] DescriptionPostgreSQL database server Afternetwork.target [Service] Typeforking Userpostgres Grouppostgres OOMScoreAdjust-1000 EnvironmentPG_OOM_A…

软件设计师-基础知识科目-数据结构3

三、 数据结构: 时间复杂度: 背复杂度对应的代码。Tips:时间复杂度估算看最内层循环,如若没有循环和递归则为O(1)。 空间复杂度: 需要单独空间存储数据时使用。考点:非递归的空间…

go语言学习--2.函数

目录 1.函数分类 2.函数的声明和定义 3.函数传参 4.函数返回值 5.递归调用 为完成某一功能的程序指令(语句)的集合,称为函数。 1.函数分类 在Go语言中,函数是第一类对象,我们可以将函数保持到变量中。函数主要有具名和匿名之分&#x…

少儿编程 2024年3月电子学会图形化编程等级考试Scratch二级真题解析(判断题)

2024年3月scratch编程等级考试二级真题 判断题(共10题,每题2分,共20分) 26、下列积木块运行结果为false 答案:错 考点分析:考查积木综合使用,重点考查逻辑或积木的使用,或运算是只…

游戏公司面试题系列-CocosCreator实现虚拟摇杆控制角色移动中心旋转自转小球割草旋转逻辑

游戏公司面试题系列-CocosCreator实现虚拟摇杆控制角色移动&中心旋转自转小球&割草旋转逻辑<&#xff01;&#xff01;&#xff01;文章末尾有完整代码下载链接地址&#xff01;&#xff01;&#xff01;> Hello大家好&#xff01;今天我们来用最新的CocosCreat…

python|drop的应用

drop 删除列B 删除索引为1的行 删除列为‘A’&#xff0c;‘C’的列&#xff0c;axis表示方向 删除时保留原始 DataFrame&#xff08;使用 inplaceFalse&#xff09; 删除时直接修改原始 DataFrame&#xff08;使用 inplaceTrue&#xff09;

java数据结构与算法刷题-----LeetCode628. 三个数的最大乘积

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 排序选择线性搜索最值 排序 解题思路&#xff1a;时间复杂度O( …

[Algorithm][双指针][快乐数]详细解读 + 代码实现

题目链接本题中&#xff0c;将快慢指针抽象了两个数 slow每次变化一次&#xff0c;fast每次变化两次&#xff0c;即可达到"快慢指针"效果 "快慢指针"在此题中&#xff0c;用于判环 由于两"指针"速度并不一样&#xff0c;在快指针总是会追上慢指针…

网络通信流程

建立完tcp请求再发起http请求 开启系统代理之后&#xff0c;以clash verge为例 127.0.0.1:7897&#xff0c;假设hci.baidu.com的IP为153.37.235.50 发起对hci.baidu.com的HTTP请求&#xff0c;由于开启了系统代理不进行DNS解析&#xff0c;浏览器调用socket()获得一个socket&a…

Lustre架构介绍的阅读笔记-HSM

本文是在阅读Introduction to Lustre* Architecture的Lustre HSM System Architecture时的笔记。 Hierarchical Storage Management (HSM) is a collection of technologies and processes designed to provide a cost-effective storage platform that balances performance, …

Redis7(二)数据类型及其用法

一、概述 命令不区分大小写&#xff0c;key区分大小写 数据类型针对value String List Set Hash ZSet bitmap GEO HyperLogLog Stream bitfield 二、String <K,V> 1、设值/取值 getrange key index1 index2 getrange key 0 -1//获取所有的值 SETRANGE KEY_N…

线程池实践篇

文章目录 配置线程池参数定义参数实体bean配置线程池使用 配置线程池参数 定时任务线程池基础参数 # 定时任务线程池基础参数 task:pool:corePoolSize: 5 # 核心线程数maxPoolSize: 20 # 设置最大线程数keepAliveSeconds: 300 # 设置线程活跃时间&#xff0c;单位秒queueCapa…

使用 Go-Ora 连接到 Oracle 数据库

前文 《 一鍵啓動 Oracle 23c Free 》 介绍了如何使用容器技术快速拉起 Oracle 23c 数据库。 这个开发者版本可以很便捷的拉起、测试、销毁&#xff0c;对开发者是非常友好的。 本文将介绍如何使用 Go 语言构建项目&#xff0c;并连接到 Oracle 数据库。 Go 环境配置 本文使用的…

第十四天--指针函数的练习

1.a个学生&#xff0c;有b门课程成绩&#xff0c;求不及格的学生的学号&#xff0c;和不合格的科目成绩 思路&#xff1a;定义一个数组存放a个学生,b门课程的成绩---在main函数中用for循环判断n个学生是否有不合格的成绩&#xff08;hine&#xff09;---定义指针指向指针函数&…

如何将本地websocket服务端从本地暴露至公网实现客户端远程连接

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

Rust语言入门第一篇-环境搭建

Rust语言入门第一篇 Rust官网 一&#xff0c;环境搭建 1、C开发环境配置 Rust 语言的底层是依赖于 C/C 编译器的。在安装 Rust 编译器时&#xff0c;通常会自动安装所需的 C/C 编译环境&#xff0c;以便 Rust 能够生成可执行文件或库。因此&#xff0c;在安装 Rust 之前&…

Docker之数据卷和Dockerfile

目录 一、Docker数据管理 二、数据卷 创建数据卷 查看数据卷 删除数据卷 挂载数据卷 三、数据卷容器 创建数据卷容器 测试数据卷容器 备份数据卷容器 还原数据卷容器 四、Dockerfile 什么是Dockerfile 基本结构 常用指令 快速入门 编写Dockerfile文件 构建镜…