按照我们的开放倡议,我们将继续致力于透明度,并希望分享我们的内部人工智能研发工作如何提高了我们的威胁检测团队的工作效率。 过去几个月来,Elastic 安全实验室一直致力于通过利用更多生成式 AI 功能来加速我们的检测工程工作流程。
ONWeek 探索之旅
在 Elastic,除了我们长期推行的“空间、时间”传统之外,我们每 6 个月会抽出一周时间,以独立或团队形式开展工作,我们称之为“ONWeek”。 在这周,我们将远离功能工作、技术债务和其他类似任务;并利用这一周专注于创新想法、主动学习机会、应用研究和概念验证工作。 在 5 月份的上一次 ONWeek 期间,我们探索了利用大型语言模型 (LLM) 与 Elastic 现有功能的想法,以增强安全警报分类和针对层 1 分析师以及内部生产力工作流程的生产力,并了解我们实验和调整的基础构建模块。 图 1 显示了我们拥有的几种不同的研究机会,其中包括摄取事件、通过定制的提示传递数据以及生成为不同的 Elastic 工作流设计的不同类别的内容。
图 1:GenAI 安全用例
从根本上说,我们探索了几种传统的机器学习方法,但最终还是专注于从简单开始,逐渐增加复杂性,同时牢记以下工具和概念:
- 从简单开始——指导我们的方法的口头禅。
- Azure OpenAI-访问 GPT-4 LLM
- 提示工程- 为法学硕士 (LLM) 制定定制说明。
- LangChain - 帮助编写 LLM 应用程序的 Python 库。
我们的目标之一是简化 Elastic 的检测工程师工作流程,以便更加专注于更好的检测,同时展示我们的查询语言的深度和细微差别。 在此过程中,我们花费时间进行实验以验证我们的提示并为操作使用做好准备。 我们希望确保在迭代提示时不会偶然引入回归。 随着人工智能的进步,我们希望我们的 T&E 能够确保任何调整(无论是微调、模型替换还是及时修改)都是经过深思熟虑的。 最终,我们希望我们的分析师能够无缝利用最新的 AIML 功能,在正确的环境中应用最合适的提示或 ML 技术。
考虑到这些目标,我们 5 月份的第一个研究用例集中于查询生成。 我们很快了解到,只需最少的数据和提示工程,我们就可以链接一系列提示,将原始 Elastic 事件转换为 EQL 查询。
图 2:查询生成 POC
为了实验目的,我们使用红队自动化 (RTA)脚本模拟了可疑活动,并通过 Elastic Agent 捕获了 SIEM 中的端点活动。 图 2 显示了来自 Elastic 堆栈的示例事件,导出到 gold.json 测试文件,其中包括查询生成的基本事件字段。
然后,我们要求 GPT 分析涵盖 RTA 执行时间窗口的事件集合,并关注具有可疑行为的事件。 在我们的 POC 中,提示要求我们找出与潜在异常相关的关键值。 然后,我们按照后续提示对事件进行分块并总结所有活动。 根据所有摘要,我们要求 GPT 生成一个指标列表,而无需输入具体值。 有了这个可疑行为的简短列表,我们便要求 GPT 生成查询。 我们长期开源开发的一个显著优势是,GPT 相关模型熟悉 Elastic 内容,因此我们受益于不必过度拟合我们的提示。
尽管从原始数据到 EQL 查询在概念上很简单,但我们仍然遇到了一些小问题,例如 Azure OpenAI 的服务可用性。 它相对便宜,我们估计使用 OpenAI 和 Azure OpenAI 推理和嵌入 API 一周的费用约为 160 美元。 我们还探索了使用 GCP Vertex AI Workbench 来促进 Jupyter 笔记本上的协作工作,但使用可用的开源 (OSS) 模型的复杂性使得它们在短暂的 ONWeek 期间难以使用。
图 3:5 月 2023 ONWeek 主要结果
我们使用 ONWeek 来完善我们的路线图,例如从内存中、基于库的向量搜索实现扩展到 Elasticsearch 中检测规则内容的更高性能、可扩展和可用于生产的数据存储。 根据我们的初步结果,我们了解了将 GenAI 集成到分析师工作流程中的潜力和可行性(例如 允许事件时间窗口选择、查询生成和时间线添加)。 基于这些早期的成功,我们制定了内部路线图计划,以进一步推进 LLM 研发,并决定解决我们的一项内部生产力工作流程。
新视野:生成调查指南
多年来,Elastic Security Labs 的内容已日趋成熟。 从 2020 开始添加调查指南安全功能,然后在 2021 年将这些指南标准化。 到 2023 年,我们将制定超过 900 规则,并积极寻求一种有效的方法,为所有 900 多条预建规则生成高度准确、详细和标准化的指南。
我们的团队将传统的机器学习方法(如相似性向量搜索)与我们快速的工程专长相结合,创建了一个以调查指南生成为中心的新原型,称为 Rulecraft。 现在,只需手头有规则 ID,我们的规则作者就可以在几分钟内生成基线调查指南解决方案!
图 4:调查指南样本
在这次初步探索中,我们提供了检测规则,但将输入限制在规则中的几个字段,例如 GPT 的描述和名称。 我们也尝试提供查询,但它似乎过度拟合了我们期望的预期结果。 最初,我们通过这些字段提供了一个简单的提示,以评估 GPT 如何以最小的努力生成一份像样的调查指南。 随着我们进一步探索,很明显我们可以从链接多个提示中受益,类似于我们在 EQL 查询生成实验期间所做的那样。 因此,我们花了一些时间来针对调查指南的不同部分创建提示。 对提示进行分段不仅为我们提供了更大的灵活性,而且还解决了 GPT 失败的地方,例如“相关规则”部分,GPT 最容易产生幻觉。 在这种时候,我们使用相似性搜索等传统机器学习方法,并将我们的规则集成到矢量数据库中以增强上下文。
接下来,我们寻找机会在特定部分中注入额外的背景信息。 为了确保指南的统一性,我们为每个部分精心挑选了一个经批准的内容和语言库。 然后,该库指导 GPT 生成和格式化类似于我们已建立的标准消息的响应。 然后,我们将 GenAI 制作的指南与手工制作的指南进行比较,以识别其他格式差异、GPT 引入的一般错误以及我们的提示中的更广泛的问题。
根据这些发现,我们选择通过调整提示而不是使用字符串格式化等后处理技术来改进我们生成的内容。 虽然自动调查指南并不完美,但它们为我们的检测工程师提供了一个坚实的起点。 在过去,调查指南通过向审阅者提供更多符合规则预期行为的背景信息,增强了我们的 PR 同行评审流程。 我们现在可以生成基本指南,对其进行调整,并根据检测工程师的需要添加更多细节,而不必从头开始。
为了将此功能直接提供给我们的检测工程师,我们将 Rulecraft 集成到 GitHub 操作工作流中,以便他们可以按需生成指南。 我们还仅用 13 个小时就制作了另外 650 多份指南 — — 这项任务通常需要数月才能完成。 自动化使我们能够对缺少调查指南的规则进行微调并快速重新生成基础内容。 再次强调,这些指南仍需经过我们严格的内部审查,但利用 GenAI 为我们的初稿节省的时间和精力是惊人的。
规划未来:下一步
我们的研究和开发之旅仍在继续,重点是改进我们使用 LLM 生成内容的方法并更彻底地验证我们的结果。 我们已经探索了将 LLM 集成到我们的检测工程工作流程中的可行性和有效性,下面是我们目前的优先事项的简短列表:
- 将专有模型与最新的开源模型进行比较
- 进一步完善我们的实验过程,包括事件过滤、提示优化和探索各种模型参数
- 创建一个测试套件来验证我们的结果并防止回归。
- 将我们的研发成果无缝集成到Elastic AI Assistant中。
总的来说,我们希望大幅增加我们的调查指南的覆盖范围,并减少从头开始编写这些指南所需的时间。 每份调查指南都为分析师提供了详细的、分步的说明和分类警报的查询。 在我们的源代码中,我们始终将客户至上的理念放在首位,旨在通过提供更多更高质量的调查指南来提升分析师的体验,从而减少客户在 FP 分析和警报分类上所花费的时间。
总结
本着开放创新和透明的精神,Elastic Security Labs 已开始我们的生成式 AI 之旅,以提高我们的威胁检测流程的生产力。 我们的努力不断发展,并根据具体情况结合快速工程和传统机器学习方法,从而产生更多像“LetmeaskGPT”和“Rulecraft”这样的研发概念验证。 后者 POC 显著减少了制定基线指南所需的时间,改善了分析师的体验,并减少了误报分析。 还有很多事情要做,我们希望您也加入我们的旅程! 虽然我们已经取得了长足进步,但我们的下一步包括进一步完善,制定一个框架来严格验证我们的成果,并探索将我们的研发投入运营的机会,确保我们始终处于安全进步的前沿。
我们始终对听到这样的用例和工作流程感兴趣,因此一如既往地通过GitHub 问题与我们联系,在我们的社区 Slack中与我们聊天,并在我们的讨论论坛中提问!
此外,请随意查看这些其他资源,以了解有关我们如何将最新的 AI 功能带到分析师手中的更多信息:
- 了解如何负责任地将ChatGPT 与 Elasticsearch结合使用
- 查看全新 Elastic AI Assistant — 由 ESRE 提供支持的开放式生成式 AI 助手并进行设置