小世界:小型AI模型在网络安全中的复兴

本文探讨了在网络安全领域,小型AI模型如何通过知识蒸馏、半监督学习和合成数据生成等技术,结合大型语言模型的能力,实现高效、低成本的恶意检测和分类任务,提升模型性能并降低部署成本。

小世界:小型AI模型在网络安全中的复兴

Sophos X-Ops探讨了在利用AI解决安全挑战时,为什么更大并不总是更好。

过去几年,受新技术和全球热情的推动,AI集成浪潮席卷多个行业。从工程到人力资源,组织的各个层级都出现了copilot、摘要模型、代码助手和聊天机器人。这些模型的影响不仅是专业的,也是个人的:增强了我们编写代码、定位信息、总结密集文本和头脑风暴新想法的能力。

这一切似乎很新,但AI已融入网络安全领域多年。然而,仍有改进空间。例如,在我们行业,模型通常大规模部署,每天处理数十亿事件。大型语言模型(LLM)——通常占据头条的模型——表现良好且受欢迎,但不适合此类应用。

托管LLM处理数十亿事件需要广泛的GPU基础设施和大量内存——即使在优化技术(如专用内核或使用查找表分区键值缓存)之后。相关成本和维护对许多公司来说不可行,特别是在部署场景中,如防火墙或文档分类,模型必须在客户终端上运行。

由于维护LLM的计算需求使其对许多网络安全应用不切实际——尤其是那些需要实时或大规模处理的应用——小型高效模型可以发挥关键作用。

网络安全中的许多任务不需要生成解决方案,而是可以通过小模型分类解决——这些模型成本效益高,能够在终端设备或云基础设施内运行。甚至安全copilot的某些方面,通常被视为网络安全中生成AI的典型用例,也可以分解为通过分类解决的任务,如警报分类和优先级排序。小模型还可以解决许多其他网络安全挑战,包括恶意二进制检测、命令行分类、URL分类、恶意HTML检测、电子邮件分类、文档分类等。

小模型的一个关键问题是其性能,这受训练数据的质量和规模限制。作为网络安全供应商,我们拥有过剩的数据,但问题始终是如何最佳利用这些数据。传统上,一种从数据中提取有价值信号的方法是“AI分析师反馈循环”。在AI辅助的SOC中,通过整合分析师对模型预测的排名和建议来改进模型。然而,这种方法受手动努力限制规模。

这就是LLM发挥作用的地方。想法简单但具有变革性:间歇性和战略性地使用大模型来更有效地训练小模型。LLM是从数据中大规模提取有用信号、修改现有标签、提供新标签以及创建补充当前分布的数据的最有效工具。

通过在小模型训练过程中利用LLM的能力,我们可以显著增强其性能。将大型昂贵模型的高级学习能力与小模型的高效率相结合,可以创建快速、商业可行且有效的解决方案。

三种方法——知识蒸馏、半监督学习和合成数据生成——是这种方法的关键,我们将在本文中深入探讨。

在知识蒸馏中,大模型通过转移学习知识来教导小模型,增强小模型性能,而无需大规模部署的开销。这种方法在标签噪声不可忽略且无法手动重新标记的领域也很有用。

半监督学习允许大模型标记先前未标记的数据,为训练小模型创建更丰富的数据集。

合成数据生成涉及大模型产生新的合成示例,然后用于更稳健地训练小模型。

知识蒸馏

根据Richard Sutton的著名机器学习“苦涩教训”,“利用计算的方法最终是最有效的。”模型随着更多计算资源和更多数据而变得更好。扩展高质量数据集并非易事,因为专家分析师只有有限时间手动标记事件。因此,数据集通常使用各种信号标记,其中一些可能嘈杂。

在训练模型对工件进行分类时,训练期间提供的标签通常是分类的:0或1,良性或恶意。在知识蒸馏中,学生模型在分类标签和教师模型输出分布的组合上训练。这种方法允许更小、更便宜的模型学习并复制更大、更成熟的教师模型的行为,即使在存在嘈杂标签的情况下。

大模型通常以与标签无关的方式预训练,并要求使用可用上下文预测序列的下一个部分或掩码部分。这灌输了对语言或语法的一般知识,之后只需要少量高质量数据来将预训练模型对齐到给定任务。在由专家分析师标记的数据上训练的大模型可以使用大量可能嘈杂的数据来教导小学生模型。

我们对命令行分类模型的研究(我们在2024年10月的应用机器学习信息安全会议(CAMLIS)上展示)证实了这种方法。Living-off-the-land二进制文件(LOLBins)使用受害者操作系统上通常良性的二进制文件来掩盖恶意行为。使用大教师模型的输出分布,我们在大型数据集上训练了一个小学生模型,该数据集最初用嘈杂信号标记,以将命令分类为良性事件或LOLBins攻击。我们将学生模型与当前生产模型进行比较,如图1所示。结果明确。新模型显著优于生产模型,如监控期间误报减少和真阳性增加所证明。这种方法不仅强化了我们现有模型,而且以成本效益高的方式实现,展示了在训练期间使用大模型来扩展大型数据集的标记。

图1:旧生产模型与新蒸馏模型之间的性能差异

半监督学习

在安全行业,从客户遥测中生成大量数据,无法通过签名、聚类、手动审查或其他标记方法有效标记。正如上一节中带有嘈杂标记数据的情况,手动注释未标记数据以达到模型改进所需的规模也不可行。然而,来自遥测的数据包含有用信息,反映了模型部署后将遇到的分布,不应丢弃。

半监督学习利用未标记和标记数据来增强模型性能。在我们的大/小模型范式中,我们通过在原始标记数据集上初始训练或微调大模型来实现这一点。然后使用该大模型为未标记数据生成标签。如果资源和时间允许,可以通过在新标记数据上重新训练大模型并使用改进模型的预测更新标签来迭代重复此过程。一旦迭代过程终止(由于预算限制或大模型性能平台期),最终数据集——现在补充了大模型的标签——用于训练小型高效模型。

通过采用这种半监督学习技术,我们的小型网站生产力分类模型实现了接近LLM的性能。我们在由签名标记的URL上微调了一个LLM(T5 Large),并用它来预测未标记网站的生产力类别。给定固定数量的训练样本,我们测试了用不同数据组成训练的小型模型的性能,最初仅在签名标记数据上,然后增加后来由训练过的LLM标记的原始未标记数据的比率。我们在训练集中不存在域的网站上测试了模型。在图2中,我们可以看到,随着我们利用更多未标记样本,小网络(其中最小的eXpose只有3,000,000多个参数——比LLM少约238倍)的性能接近最佳性能LLM配置的性能。这表明小模型在训练期间从未标记数据中接收了有用信号,这些信号类似于部署期间看到的互联网长尾。这种形式的半监督学习在网络安全中是一种特别强大的技术,因为来自遥测的未标记数据量巨大。大模型使我们能够解锁以前不可用的数据,并通过成本效益高的模型达到新高度。

图2:随着LLM标记数据量增加,小型模型性能增益增强

合成数据生成

到目前为止,我们考虑了使用现有数据源(标记或未标记)来扩展训练数据从而提高模型性能的情况。客户遥测并非详尽无遗,并不反映所有可能存在的分布。手动执行时,收集分布外数据不可行。在预训练期间,LLM暴露于大量——数万亿token量级——记录的公开可用知识。根据文献,这种预训练对LLM保留的知识影响很大。LLM可以生成类似于其在预训练期间暴露的数据。通过向LLM提供来自我们当前数据源的种子或示例工件,我们可以生成新的合成数据。

在先前的工作中,我们证明了从简单的电子商务模板开始,由GPT-4编排的代理可以生成诈骗活动的所有方面,从HTML到广告,并且该活动可以扩展到任意数量的网络钓鱼电子商务店面。每个店面包括显示独特产品目录的登录页面、窃取用户登录凭据的虚假Facebook登录页面以及窃取信用卡详细信息的虚假结账页面。虚假Facebook登录页面的示例如图3所示。为以下产品生成了店面:珠宝、茶、窗帘、香水、太阳镜、垫子和包。

图3:来自诈骗活动的AI生成Facebook登录页面。尽管URL看起来真实,但它是由AI设计的虚假框架,以显得真实

我们使用生产二进制分类模型评估了每个店面的虚假Facebook登录页面的HTML。给定从HTML中提取的输入token(使用正则表达式),神经网络由主检查器和检查器组件组成,允许在分层空间尺度上检查内容。生产模型自信地将每个虚假Facebook登录页面评分

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计