阿凡达

人工智能不再是科幻小说AI工具如OpenAI ChatGPT和GitHubColit员工从写邮件到校对报表 甚至是软件开发都使用AI工具常有两种口味首位为QQA样式用户提交“即时响应”(例如ChatGPT)第二类使用自完全功能行为像文本消息自完全类新技术能力强,但正在快速演化并引入新风险,各组织需要加以考虑和管理。

梦归真

假设你是公司审核局的员工重现任务之一是运行数据库查询并将结果输入Excel电子表格由你决定实现任务自动化,但你并不知道如何实现,所以你请求AI帮助

OpenAI聊天GPT

AI请求作业细节,以便它能提供一些小技巧,由你提供

请求聊天GPT帮助使用数据库内容创建电子表格自动化

快速获取推荐使用 Python编程连接数据库并完成你的工作听从建议安装工作计算机ython,但由于你不知道编程,你请求AI为您写代码

请求AI提供 Python编程代码

乐于这样做并快速生成代码 下载到工作计算机并开始使用十分钟后,你成为开发者 自动化任务 之前你每周花几小时执行也许你会保留这个新工具你不希望老板填充你新创自由时间 并负更多责任

实战

想象一下你同一家公司安全利益攸关方,你正努力理解员工使用AI技术的风险。员工没有开发者训练或编程经验安装开发者工具共享机密信息不受控云服务,复制互联网代码并允许互联网源码与制作数据库通信因为这些个人没有任何开发经验, 他们无法理解代码在做什么, 更不用说应用任何组织软件政策和程序代码中肯定找不到安全漏洞外加,你可能不会知道 新代码运行 在你的环境上哪儿找它复习软件依赖升级也极难实现,因为员工不理解过期软件的风险

4AI风险

上方假设中发现的风险可简化为两个核心问题:

  1. 用户在企业网络上运行不信任代码,同时逃避安全控件和审查
  2. 用户向不信任第三方发送机密信息

这些问题超出AI辅助编程范围。当雇员向AI发送商业数据时,例如帮助写邮件或敏感报告内容需要审查上下文时,机密数据可能被泄漏员工会使用这些AI工具生成未经认可的文档模板、电子表格公式和其他潜在缺陷内容各组织安全使用AI前必须处理这些风险以下是顶级风险解析

开工不控制服务

今日流行工具为三党服务 由AI维护者操作应将之视同无信外部服务除非与这些组织签定具体业务协议,否则这些组织可访问并使用寄送给他们的所有数据。未来版本AI甚至可能接受数据培训,向更多缔约方发布漏洞自定义或数据维护者破解可能导致恶意行为方访问数据问题证明有故障聊天GPT泄漏数据三星敏感数据曝光

二叉无法(完全)控制它用法

组织有许多方法限制员工使用工作设备网站程序,员工使用非托管个人设备访问家庭网络工具,很难或甚至不可能可靠阻塞访问

3级AI生成内容可包含缺陷和漏洞

人工智能工具的创建者通常会大费周折地使其准确和不偏不倚,然而无法保证其努力完全成功。这就意味着AI输出应接受评审和验证人民不这么看的原因 都出自AI响应自言自语性使用上下文对话 令响应看似专为您写

人类写软件时很难避免产生错误AI笔码也可以有相同的bugs漏洞常引出恶意行为主体可利用的漏洞即便用户聪明到请求AI查找代码中的漏洞

AI生成代码解析显示两种反模式往往引起安全漏洞第一种反模式为硬编码证书,第二种为原始数据库查询

常见AI漏洞的一个例子是硬编码证书并不限于AI系统,它是人文代码中最常见的缺陷之一AIs不理解特定组织的环境与政策,继续硬编码证书实例,AI不考虑组织使用服务管理密码等机密即使它被告知写代码使用秘密管理系统, 向第三方服务提供配置细节也是不明智的

4级人会使用AI内容 他们不理解

个人会信AI做他们不理解的事情会像信任翻译向讲不同语言者准确传递消息软件方面风险特别大

阅读理解不相识代码对开发者都是关键特征理解代码集和捕捉更精细实施细节和意图大相径庭代码片段常显示这一点,认为代码片段为“cliver”或“egant”而非显性

AI工具生成软件时,个人请求者可能无法完全理解生成代码可能导致意想不到行为,表现为逻辑错误和安全漏洞大片代码库单调生成 表示全产品不为主所真正理解

少数建议

这一切不表示AI工具危险并应避免供贵组织参考的几件事会提高使用安全性

设置策略并公诸于众

第一种行动应该是制定使用AI的政策列表允许并禁止AI工具指令确定后通知员工允许AI工具时,应提供约束和技巧,如提醒保密信息不与第三方分享此外,你应重新强调组织软件开发策略提醒开发者使用AI生成代码时仍需要学习行业最佳做法

向用户提供AI指导

假设您的非技术雇员会使用这些新技术实现任务自动化,所以你需要就如何安全操作提供训练和资源良好的起始点是要求在代码存储库存储所有代码并授权安全审查向需要这些领域培训的非技术雇员提供培训代码和依赖审查的重要性是关键,特别是最近由第三方依赖关系造成的严重漏洞(公有第三方依赖关系)CVE-2021-44228)

深度使用防御

或非开发者开始写代码后会发生什么 采取步骤防止常见问题放大强度举例说,使用多因子验证可降低硬编码证书误用风险强网络安全、监控和访问控制机制是强安全姿态的关键,这种姿态使你适应多种漏洞和攻击形式频繁渗透测试识别易损非托管软件

生成函数非项目

使用这些工具生成小块代码,例如一次函数避免泛用项目或大片代码库同时创建,因为这会增加引入漏洞的可能性并增加漏洞检测难度更容易理解生成代码,强制使用代码执行严格格式和类型验证函数参数、副作用和输出帮助沙盒生成代码对系统产生消极影响或访问不必要的数据

测试驱动开发

测试驱动开发(或TDD)的一个长处是,您先具体说明函数预期输入量和输出量帮助判断代码块预期行为使用它与AI代码创建相联导致更容易理解代码并验证它与您的假设相匹配TDD允许你明确控制API并允许你执行假设同时提高生产率

终极思想

风险和建议并非新事物,随着这些工具的继续演化,许多这些风险有可能减少。AI响应和代码质量提高未来版本甚至会执行额外控件,如自动安全审查后与用户分享代码自托管AI公共事业将广泛提供在此之前,不久将有更多的选择与AI创建者签定商务协议

并相信这将对企业与技术产生正面影响。尚不确定它会对整个社会产生何种影响,

.....允许思科与你为伴.CiscoCX拥有AISDLC专家 数十年经验设计 并保护最复杂技术网络安全需求.



作者类

阿凡达

亚历克格里松

安全架构师

CX评估和渗透队