老生常谈:听安全人员讲人工智能的安全与隐私问题!

点击上方关注,All in AI中国

关于机器学习(ML)和人工智能(AI)以及它们如今为各行各业提供的各种使用案例,人们在提起时包含着太多的兴奋情绪。在很多领域,我们现在已经有了成熟的解决方案,我们不时地听到有关ML和AI在迄今尚未探索的的问题上的有趣且富有洞察力的应用,这些问题让我们不禁发出感叹。

老生常谈:听安全人员讲人工智能的安全与隐私问题!

随着部署的场景变得更加丰富和广泛,我们必须确保AI和ML的安全性和隐私性方面得到充分考虑。为了做到这一点,重要的是要了解安全和隐私与AI和ML领域交叉路径的不同方式。在本系列中,我们将探索这些"交叉点",了解所涉及风险的性质和程度,并为每种交叉"路径"提供或正在探索的保护措施。

虽然我在信息安全和隐私领域有多年的工作经验,但我对AI和ML还比较陌生。(我们刚刚开始在我们的云安全和正在开发的项目使用ML技术。)因此,这个系列的文章更多的是从安全人员的角度出发,系统地推理AI和ML环境中的安全性和隐私性的观点。

在第一部分中,我将从网络安全的角度出发,从"让我们掌握正确的基础信息"开始,而不会深入了解AI和ML的内部内容。在接下来的部分中,我们将开始更仔细地观察AI和ML组件。

老生常谈:听安全人员讲人工智能的安全与隐私问题!

AI和ML解决方案的传统网络安全

与任何新领域一样,AI和ML带来了一系列有趣的事物,相关的细微差别和注意事项,从安全角度对我们提出了挑战。

下面的两张图片(来自Microsoft Azure文档)展示了典型工件和利益相关方,它们涉及到终端AI / ML工作流程的各个阶段。

老生常谈:听安全人员讲人工智能的安全与隐私问题!

老生常谈:听安全人员讲人工智能的安全与隐私问题!

这些图表突出了我们面临的安全挑战的性质和类型的以下特征:

  • 有一个庞大的生态系统工具、语言、框架 - 具有从数据摄取、数据预处理、建模、模型评估、集成、可视化、打包和部署等功能。
  • 从传统软件工程师到机器学习工程师,数据科学家和统计人员等多个利益相关方团体参与项目。
  • 完整的工作解决方案通常涉及多个系统在不同的接口上联合在一起。

从安全角度来看,这是许多新的和未知的事情。我们正在研究许多新工具和框架,新人(利益相关者群体)和新系统或系统组合。暂且不谈AI和ML的细节/内部,即使只是传统的网络安全,在这样的环境中也很难做好。这是因为通常新的工具和框架需要时间才能变得"足够安全",新的利益相关方团体可能并不总是对安全性有统一的理解或认识。而且,涉及许多系统和接口的解决方案已经出现了失败的例子。

老生常谈:听安全人员讲人工智能的安全与隐私问题!

现在让我们来看看"数据安全"方面。在AI和ML背景下,数据安全挑战的以下特征尤为突出:

  • 在大多数解决方案中,涉及到大量的业务数据。我们正在谈论的是数百万甚至数十亿的记录。并且,根据问题领域的不同,这些数据可能具有巨大的价值(例如,经纪公司过去的交易)或敏感性(例如,来自连锁医院的医疗记录)。
  • 与传统的软件工程不同,在AI和ML中通常不能使用"虚拟数据"进行测试/预生产阶段。因此,在生态系统的各个方面,我们都在谈论各种利益相关者和处理珍贵实际数据的各种系统。对各种数据的多次迭代和请求可能会破坏你可能拥有的任何现有数据治理。
  • 鉴于AI和ML已经涉足各行各业,我们正在研究数百种数据和记录格式(以及相应的阅读器、编码器和解码器)。我们在少数几种更流行的编码格式中拥有丰富的安全漏洞历史。当我们考虑乘数效应时,请考虑未来的情况。

虽然它们确实令人生畏,但上述许多挑战对安全从业者来说并不是什么新鲜事。我们过去曾经历过技术的转变。我们已经看到了安全至上的基本原则是不可改变的,以及在仔细了解新环境/生态系统的细微差别和独特要求之后如何应用它们。

· 确保所有团队成员/利益相关者对安全和隐私有基本的了解。例如数据分类、数据保护技术、身份验证/授权、隐私原则、适用的监管要求等。我们的目标应该是确保所有利益相关者都对安全和隐私有着基本的理解,每个人都使用相同的术语,并了解和熟知相关的政策和标准。

· 具备良好的数据治理结构。对于每个工作流程的不同阶段数据的变化,各利益相关方应明确所有权和问责制。鉴于ML&AI项目中不可避免的数据广泛传播,这一点尤为重要。

· 对解决方案执行威胁建模——无论是在组件级别还是从端到端的角度来说。这将确保在设计中"内置"安全性,并且在端到端系统中的每个点(处理、存储或传输有价值的数据)都满足适用的安全要求。

· 在进行威胁建模时,应特别注意不同子系统之间的边界和接口。任何一方在这些界面上做出的假设都应该清楚地记录和验证。

· 此外,由于生产数据无处不在,因此请务必详尽地涵盖威胁模型中的所有工作流程——从最早的实验和概念证明开始,直到完全操作系统,就好比在生产中部署的那样。

· 确保在实施过程中遵循良好的编程实践,并且根据所使用的技术,避免一些漏洞(例如,如果解决方案的某些部分是基于Web的,则必须保护身份验证/ cookie免受XSS、CSRF等攻击)。

· 确保执行功能安全测试和渗透评估的通过,这可以保证威胁建模期间识别出所有威胁/风险并使其得到修复。

· 确保不同框架和子系统的安全模型得到最优解,以实现整个系统的统一安全性。这一点尤其重要,因为多个可能完全不同的组件和框架将被"粘合"在一起,从而构成最终解决方案。

· 仔细考虑项目不同阶段的各利益相关方使用的软件组件,或导入不同的"管道"。尽可能使用经过验证和签名的组件,要考虑到其他因素,如开发人员声誉、使用范围、存储库的可信度、评论、安全问题/漏洞的历史记录等。这些应该有助于评估组件的安全质量。

· 考虑部署(CICD)管道的安全性。你是否可以很好地控制谁可以更改构建/发布环境?你是否正在保护部署所需的任何秘密/连接字符串?你的生产设置是否已锁定,以至于人们无法进行临时配置更改?

· 保持良好的监控和安全卫生。确保所有软件组件都处于最新的安全补丁级别,进行定期访问检查,轮换密钥/证书等。

· 最后,制定良好的事故应急预案,以便在发生灾难时能够及时应对。

对于安全专业人员来说,上述所有内容都不应该是新颖的。你必须在过去的各种问题环境中完成部分或全部的这些操作。因此,AI和ML中安全性和隐私性的第一个方面就是在与所有相关利益相关方合作的同时将所有专业知识应用于新环境中。

老生常谈:听安全人员讲人工智能的安全与隐私问题!


分享到:


相關文章: