如今,人工智能(AI)几乎渗透到了生活的方方面面。AI 正被用于开发代码、与客户沟通,以及在各种媒体上的写作。网络安全,尤其是产品安全,是人工智能可以发挥重大影响的另一个领域。AI 不仅融入了安全防护工具,也融入了漏洞利用领域。AI 现在已成为主流,而且不会很快消失,因此安全防护专业人员需要学习如何最好地利用 AI 来帮助增强系统和产品的安全性。
AI 及其对安全的影响
“人工智能”一词是指使用计算机系统来模拟人类智能。AI 系统能够执行越来越多的任务,如模式识别、学习和解决问题。AI 涵盖了不同的领域,如机器学习(ML),它使系统能够随着时间的推移而学习和改进;自然语言处理(NLP),尝试模仿人类语音;计算机视觉,利用摄像头作为输入来执行各种任务,等等。
AI 的这些应用正在融入到大量系统中,以实现、分析和改进当前流程的自动化。在网络安全领域,人工智能正在填补或协助许多角色和流程。它被用于分析日志、预测威胁、读取源代码、识别漏洞,甚至用于创建或利用漏洞。
利用 AI 检测网络安全攻击
考虑到人工智能在模式识别方面的熟练程度,检测网络安全异常是它的一个明显用例。行为异常检测就是一个很好的例子。通过使用机器学习,模型可以识别系统中的正常行为,并挑出任何偏离规范的实例。这有助于识别潜在的攻击,并通过捕获行为中的异常值来帮助识别未按预期工作的系统。
即使是可能存在问题的用户行为,如意外的数据泄露或泄露,也可以通过 AI 模式识别或其他机制来发现。使用企业创建或使用的数据集,也可用于在更大范围内观察模式和异常行为,以确定企业成为全球网络安全事件攻击目标的可能性。
用例 1:异常检测
异常检测(识别日志、流量或其他数据中异常、罕见或其他异常模式)非常适合 ML 的模式识别能力。无论是网络流量、用户活动还是其他数据,只要有正确的算法和训练,AI/ML 都是发现潜在有害异常值的理想选择。这可以通过多种方式来实现,首先是实时监控和警报。这种方法从系统的预设规范(如网络流量、API 调用或日志)开始,并可利用统计分析来持续监控系统行为和操作。该模型能够在发现异常或罕见操作时触发警报。
AI/ML 不仅擅长识别模式,还能够对模式进行分类和分组。这对于为各种事件分配优先级至关重要,这有助于防止“警报疲劳”,这种情况可能会发生在用户或团队被警报淹没时,其中许多可能只不过是噪音。经常发生的情况是警报失去了重要性,许多(如果不是全部)警报被视为噪音,没有得到适当的调查。借助这些功能,AI/ML 能够提供智能分析,帮助用户做出更明智的选择。
用例 2:AI 辅助网络威胁情报
监控系统和提供实时警报的能力至关重要,但 AI/ML 也可用于在安全事件发生之前帮助增强系统的安全性。网络威胁情报(CTI)的工作原理是收集有关网络安全攻击和事件的信息。CTI 的目标是获知新的或持续存在的威胁,以便在攻击发生之前,让团队主动做好准备,防范可能会对您的企业造成的攻击。CTI 还可以帮助事件响应团队更好地了解他们正在处理的问题,从而在应对现有攻击方面发挥价值。
传统上,这些数据的收集、整理和分析是由安全专业人员完成的,但 AI/ML 能够处理许多例行或单调的任务,并帮助组织和分析,让这些团队专注于必要时的决策制定。他们以可操作的格式提供了必要的信息。
利用 AI 预防漏洞
虽然利用 AI/ML 来检测和预防网络安全攻击很有价值,但预防软件漏洞也非常重要。代码编辑器中的 AI 助手、构建管道以及用于测试或验证运行中系统的工具,正迅速成为 IT 许多方面的常态。
与 CTI 一样,AI 系统可以帮助减轻单调乏味的任务,让人类将更多时间投入到更有价值的项目和创新上。代码审查虽然很重要,但可以通过利用静态应用安全测试(SAST)来改进。虽然 SAST 平台已经存在了一段时间,但其最大的问题是通常会产生大量误报。AI/ML 能够更智能地查看源代码以及基础架构和配置代码。AI 也开始用于运行动态应用安全测试(DAST),以测试正在运行的应用,以查看常见攻击是否会成功。
用例 3:AI 辅助扫码
SAST 长期以来一直使用“源和汇”方法来进行代码扫描。这是指跟踪数据流以查找常见陷阱的方法。为静态代码扫描 开发的各种工具通常使用这种模型。虽然这是一种查看代码的有效方式,但可能会导致许多误报,需要手动进行验证。
AI/ML 可以通过学习和理解代码库中可能发现的上下文或意图来提供价值,从而减少误报和漏报。不仅如此,SAST 工具和 AI 助手都已添加到代码编辑器中,帮助开发人员在提交错误之前捕获这些错误。不过,也有一些限制,包括语言支持和非常大的代码库的可扩展性,但这些限制正在迅速得到解决。
用例 4:自动发现漏洞
代码审查可能是一个耗时的过程,但提交代码后,测试通常不会结束。DAST 用于测试针对正在运行的应用的常见攻击。市场上有一些工具可以很好地帮助完成此任务,但与编码本身一样,也需要一些准备时间。用户需要了解这些攻击类型,以及如何通过 DAST 工具复制它们,然后实现自动化。
最近,DAST 和相关的应用测试工具已开始将 AI/ML直接实施到其平台中,或作为插件实施,从而大大改进了自动化扫描。这不仅可以让需要准备时间和运行不同攻击的员工腾出时间,还可以腾出时间和资金来进行全面的渗透测试。渗透测试仍然非常需要测试人员能够像攻击者一样思考并识别潜在的弱点,通常会创造新颖的方法来验证它们是否确实可被利用。
保护 AI 本身
尽管人工智能可以帮助消除许多人为错误,但它本身仍然容易受到影响。首先,存在许多 IT 问题、配置不当或不当等问题。与之密切相关的是需要更安全地训练和验证模型及其流程。如果不这样做,很快就会导致用户无法很好地理解系统,形成一种黑匣子和不良的模型生命周期管理流程。
与 AI 相关的最常讨论的安全问题之一是数据中毒。人类通常会收集数据,然后用于训练 AI/ML 算法,但作为人类,我们可能会在数据中引入偏差。这是一个非常简单的概念,值得警惕,但有时这种偏见是故意添加的。攻击者可以通过各种机制,故意对用于训练和验证 AI/ML 系统的数据集投毒。可以想象,系统的新偏差输出可能会被用于不法目的。
随着 AI 迅速成为主流,我们的理解和培训却落后了,尤其是围绕 AI/ML 的安全培训。AI/ML 系统的许多内部运作方式并没有被技术社区以外的许多人充分了解,如果系统被忽视或缺乏透明度,情况可能会变得更糟。
这导致了另一个相当常见的技术问题:正确的文档记录。系统需要易于理解且足够全面的文档,以涵盖相关系统的大部分内容。
最后,世界各国政府正在讨论和规划(甚至已经在制定)与 AI/ML 系统相关的法规。开发安全的 AI/ML 认证并非不可想象,因此尽我们所能确保当前开发的系统尽可能安全和有效,可能会节省未来的工作量。
结语
随着我们越来越依赖 AI 系统,机器学习在保护我们使用的系统方面的速度和准确性不仅是“锦上添花”,而且越来越成为“必备”。不法分子几乎肯定会使用 AI/ML 系统进行攻击,因此防御者需要实施这些系统来帮助实现对企业和系统的保护和防御。
理想情况下,准备进入职场的学生将学习 AI/ML 系统,但经验丰富的老员工也需要接受这一点。个人可以做的最好的事情是确保他们至少对 AI 有一个基本的了解,而组织可以做的最好的事情是开始考虑如何在其产品、系统和安全防护中最好地利用 AI/ML。
红帽能如何提供帮助
红帽 OpenShift AI 可以帮助构建模型,并将 AI 集成到应用中。对于安全领域的组织,OpenShift AI 可以帮助您将 AI 的力量构建到您的产品中。支持 AI 的应用只会变得越来越普遍,而 OpenShift AI 是一个功能强大、可扩展的 AI 开发平台,可以帮助将这些应用投入生产。
关于作者
I'm a long time enthusiast of both cyber security and open source residing in the United States. From a young age, I have enjoyed playing with computers and random tech. After leaving the U.S. Army, I decided to pursue my studies in computer science, and focused much of my attention on application security. I joined Red Hat in 2023, and work with engineering teams to improve the security of the applications and processes. When I am not working, studying, or playing with my home lab, I enjoy off-roading with a local Jeep club.