0

0

OpenAI 和 Microsoft Sentinel 简介

WBOY

WBOY

发布时间:2023-04-13 12:07:11

|

1732人浏览过

|

来源于云东方

转载

欢迎来到我们关于 openai 和 microsoft sentinel 的系列!大型语言模型或 llm,例如 openai 的 gpt3 系列,正在通过文本摘要、类人对话、代码解析和调试以及许多其他示例等创新用例接管公众的想象力。我们已经看到 chatgpt 编写剧本和诗歌、创作音乐、撰写论文,甚至将计算机代码从一种语言翻译成另一种语言。

如果我们可以利用这种不可思议的潜力来帮助安全运营中心的事件响应人员,会怎样?好吧,我们当然可以——而且很简单!Microsoft Sentinel 已经包含一个用于 OpenAI GPT3 模型的内置连接器,我们可以在由 Azure Logic Apps 提供支持的自动化剧本中实施。这些强大的工作流易于编写并集成到 SOC 操作中。今天,我们将了解 OpenAI 连接器,并使用一个简单的用例探索其一些可配置参数:描述与 Sentinel 事件相关的 MITRE ATT&CK 策略。

在我们开始之前,让我们先了解一些先决条件:

  • 如果您还没有 Microsoft Sentinel 实例,您可以使用免费的 Azure 帐户创建一个实例并按照Sentinel 入门快速入门进行操作。
  • 我们将使用来自Microsoft Sentinel Training Lab的预先记录的数据来测试我们的剧本。 
  • 您还需要一个带有用于 GPT3 连接的 API 密钥的个人 OpenAI 帐户。
  • 我还强烈建议查看 Antonio Formato 关于使用 ChatGPT 和 Sentinel 处理事件的优秀博客,其中 Antonio 介绍了一个非常有用的多用途手册,它已成为迄今为止在 Sentinel 中几乎所有 OpenAI 模型实现的参考。 

我们将从一个基本的事件触发剧本开始(Sentinel > Automation > Create > Playbook with incident trigger)。

large.pngcharsetUTF-8-22

选择订阅和资源组,添加剧本名称,然后移至“连接”选项卡。您应该会看到带有一个或两个身份验证选项的 Microsoft Sentinel - 我在此示例中使用的是托管身份 - 但如果您还没有任何连接,您也可以在逻辑应用程序设计器中添加 Sentinel 连接.

large.pngcharsetUTF-8-22

查看并创建剧本,几秒钟后,资源将成功部署并将我们带到逻辑应用程序设计器画布:

large.pngcharsetUTF-8-24

让我们添加我们的 OpenAI 连接器。单击“新建步骤”并在搜索框中键入“OpenAI”。您会在顶部窗格中看到连接器,并在其下方看到两个操作:“创建图像”和“GPT3 完成您的提示”:

large.pngcharsetUTF-8-23

选择“GPT3 完成您的提示”。然后,系统会要求您在以下对话框中创建与 OpenAI API 的连接。如果您还没有,请在https://platform.openai.com/account/api-keys上创建一个密钥,并确保将其保存在安全位置!

large.pngcharsetUTF-8-23

确保在添加 OpenAI API 密钥时完全按照说明进行操作 - 它需要单词“Bearer”,后跟一个空格,然后是密钥本身:

large.pngcharsetUTF-8-25

成功!我们现在已经为我们的提示准备好 GPT3 文本完成操作。我们想要让 AI 模型解释与 Sentinel 事件相关的 MITRE ATT&CK 策略和技术,所以让我们使用动态内容编写一个简单的提示来插入来自 Sentinel 的事件策略。

large.pngcharsetUTF-8-26

我们快完成了!保存逻辑应用并转到 Microsoft Sentinel 事件以对其进行测试运行。我的实例中有来自 Microsoft Sentinel Training Lab 的测试数据,因此我将针对恶意收件箱规则警报触发的事件运行此剧本。

large.pngcharsetUTF-8-28

您可能想知道为什么我们没有在我们的剧本中配置第二个操作来添加带有结果的评论或任务。我们会到达那里 - 但首先我们要确保我们的提示从 AI 模型返回好的内容。返回 Playbook 并在新选项卡中打开 Overview。您应该在运行历史记录中看到一个项目,希望带有绿色复选标记:

large.pngcharsetUTF-8-29

单击该项目可查看有关逻辑应用运行的详细信息。我们可以展开任何操作块以查看详细的输入和输出参数:

large.pngcharsetUTF-8-27

我们的 GPT3 操作只用了两秒钟就成功完成了。让我们单击操作块将其展开并查看其输入和输出的完整详细信息:

large.pngcharsetUTF-8-31

让我们仔细看看“输出”部分中的“选择”字段。这是 GPT3 返回其完成的文本以及完成状态和任何错误代码的地方。我已将 Choices 输出的全文复制到 Visual Studio Code 中:

large.pngcharsetUTF-8-30

目前看起来还不错!GPT3 正确扩展了“防御规避”的 MITRE 定义。在我们向剧本添加逻辑操作以使用此答案文本创建事件评论之前,让我们再看一下 GPT3 操作本身的参数。OpenAI文本补全动作中一共有九个参数,不算引擎选择和提示:

large.pngcharsetUTF-8-32

Axiom
Axiom

Axiom是一个浏览器扩展,用于自动化重复任务和web抓取。

下载

这些是什么意思,我们如何调整它们以获得最佳结果?为了帮助我们了解每个参数对结果的影响,让我们转到OpenAI API Playground。我们可以在逻辑应用程序运行的输入字段中粘贴准确的提示,但在单击“提交”之前,我们要确保参数匹配。下面是一个快速表格,用于比较 Azure Logic App OpenAI 连接器和 OpenAI Playground 之间的参数名称:

Azure 逻辑应用程序连接器 开放人工智能游乐场 解释
引擎 模型 将生成完成的模型。我们可以在OpenAI connector中选择达芬奇(新)、达芬奇(旧)、居里、巴贝奇或阿达,分别对应'text-davinci-003'、'text-davinci-002'、'text-curie-001' 、'text-babbage-001' 和 'text-ada-001' 在 Playground 中。
n 不适用 为每个提示生成多少完成。相当于在Playground中多次重新进入提示。
最好的 (相同的) 生成多个完成并返回最好的一个。谨慎使用——这会消耗大量代币!
温度 (相同的) 定义响应的随机性(或创造性)。设置为 0 以获得高度确定性、重复的提示完成,其中模型将始终返回其最有信心的选择。设置为 1 以获得具有更多随机性的最大创意回复,或根据需要介于两者之间。
最大代币 最大长度 ChatGPT 响应的最大长度,以令牌形式给出。一个令牌大约等于四个字符。ChatGPT 使用以代币计价;在撰写本文时,1000 个代币的价格为 0.002 美元。API 调用的成本将包括提示的令牌长度和回复一起,因此如果您想保持每次响应的最低成本,请从 1000 中减去提示的令牌长度来设置回复的上限。
频率惩罚 (相同的) 范围从 0 到 2 的数字。值越高,模型逐字重复行的可能性就越小(它将尝试查找同义词或重述行)。
存在惩罚 (相同的) 一个介于 0 到 2 之间的数字。值越高,模型重复响应中已经提到的主题的可能性就越小。
顶部 (相同的) 如果您不使用温度,另一种设置响应“创造力”的方法。该参数根据概率限制可能的答案标记;设置为 1 时,将考虑所有标记,但较小的值会减少前 X% 的可能答案集。
用户 不适用 唯一标识符。我们不需要设置此参数,因为我们的 API 密钥已经用作我们的标识符字符串。
停止 停止序列 最多四个序列将结束模型的响应。

让我们使用以下 OpenAI API Playground 设置来匹配我们的逻辑应用程序操作:

  • 型号:text-davinci-003
  • 温度:1
  • 最大长度:100

这是我们从 GPT3 引擎得到的结果。

large.pngcharsetUTF-8-33

看起来响应在句子中间被截断了,所以我们应该增加最大长度参数。否则,此响应看起来还不错。我们正在使用最高可能的温度值——如果我们降低温度以获得更确定的响应,会发生什么?以温度为零为例:

large.pngcharsetUTF-8-34

在 temperature=0 时,无论我们重新生成此提示多少次,我们都会得到几乎完全相同的结果。当我们要求 GPT3 定义技术术语时,这很有效;作为 MITRE ATT&CK 战术的“防御规避”的含义应该没有太大差异。我们可以通过添加频率惩罚来提高响应的可读性,以降低模型重复使用相同词的倾向(“技术如”)。让我们将频率惩罚增加到最大值 2:

large.pngcharsetUTF-8-36

到目前为止,我们只使用了最新的达芬奇模型来快速完成任务。如果我们下降到 OpenAI 更快、更便宜的模型之一,例如 Curie、Babbage 或 Ada,会发生什么?让我们将模型更改为“text-ada-001”并比较结​​果:

large.pngcharsetUTF-8-37

嗯……不完全是。让我们试试巴贝奇:

large.pngcharsetUTF-8-35

Babbage 似乎也没有返回我们正在寻找的结果。也许居里会过得更好?

large.pngcharsetUTF-8-40

可悲的是,居里也不符合达芬奇设定的标准。它们当然很快,但我们为安全事件添加上下文的用例并不依赖于亚秒级响应时间 - 摘要的准确性更为重要。我们将继续使用达芬奇模型、低温和高频惩罚的成功组合。

回到我们的逻辑应用程序,让我们将我们从 Playground 发现的设置传输到 OpenAI 操作块:

large.pngcharsetUTF-8-38

我们的逻辑应用程序还需要能够为我们的事件写评论。单击“新建步骤”并从 Microsoft Sentinel 连接器中选择“向事件添加注释”:

large.pngcharsetUTF-8-39

我们只需要指定事件 ARM 标识符并撰写我们的评论消息。首先,在动态内容弹出菜单中搜索“事件 ARM ID”:

large.pngcharsetUTF-8-41

接下来,找到我们上一步输出的“文本”。您可能需要单击“查看更多”才能查看输出。逻辑应用程序设计器会自动将我们的评论操作包装在“For each”逻辑块中,以处理为同一提示生成多个完成的情况。

large.pngcharsetUTF-8-42

我们完成的逻辑应用应类似于以下内容:

large.pngcharsetUTF-8-44

让我们再测试一下!回到那个 Microsoft Sentinel 事件并运行剧本。我们应该在我们的逻辑应用程序运行历史记录中获得另一个成功完成,并在我们的事件活动日志中获得一个新评论。

large.pngcharsetUTF-8-43

如果到目前为止,您一直与我们保持联系,那么您现在可以将 OpenAI GPT3 与 Microsoft Sentinel 集成在一起,这可以为您的安全调查增加价值。请继续关注我们的下一部分,我们将讨论更多将 OpenAI 模型与 Sentinel 集成的方法,解锁可以帮助您充分利用安全平台的工作流程!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

206

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

313

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

290

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

174

2025.08.07

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

718

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

219

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1561

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

646

2023.11.24

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

4

2026.03.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2.1万人学习

swoole进程树解析
swoole进程树解析

共4课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号