收益:
- 了解人工智能会总结和聚类数千条日志行,建立时间线并突出显示可疑模式,但分析师通过原始日志确定该事件是真正的攻击
- 能够在评估 SIEM 警报时应用基线(正常行为),以及如何在没有上下文的情况下消除误报以及如何无法解释异常
- Ability to acquire the habit of verifying the chain of events established by artificial intelligence in the raw log and removing spurious correlations
安全分析师一天的大部分时间都花在阅读日志上。日志是一行文本,用于记录系统上发生的情况:谁登录、何时访问、访问了哪个文件、哪个连接被拒绝。问题不是日志太少,而是日志太多了,让人窒息。一个中型组织每天生成数亿条日志行。在这一堆中,真正的攻击痕迹就是大海捞针。 SIEM(安全信息和事件管理 - 在单个中心收集和关联来自不同来源的日志并生成基于规则的警报的系统)就是为了找到这个针;但 SIEM 生成的大多数警报也是误报(无效警报,实际上并不是威胁)。分析师的真正工作是从噪声中提取真实信号。
人工智能是这种分类的有力辅助。它可以在几秒钟内读取数千条日志行,并用人类语言对其进行总结,对重复出现的模式进行聚类,将一系列事件描述为“首先发生了这个,然后发生了那个”,并解释了为什么警报看起来可疑。但人工智能不知道该日志在该机构的上下文中意味着什么:“凌晨 3 点访问”在一个机构中是一次攻击,在另一个机构中是正常的夜班。因此,人工智能会总结并标记日志,但分析人员会确定事件是否是真正的攻击,并使用原始日志进行验证。
日志分析步骤
以下是如何使用 AI 运行分步日志/SIEM 分析:
- 收集并匿名。删除相关日志片段;用占位符(USER_A、IC_IP_1)替换实际 IP、用户名、内部主机名。切勿将原始数据按原样导出到外部工具。
- 给出上下文。告诉 AI 日志的来源(防火墙、Windows 事件日志、Web 服务器)、正常行为是什么以及您正在寻找什么。没有上下文的日志分析会产生误导。
- 总结和汇总。要求 AI 按事件类型对数千行进行分组、提取发生次数并创建时间线。
- 标记可疑模式。突出显示诸如“登录失败后一次成功登录”、“短时间内多次文件访问”、“属于未知进程的网络连接”等模式。
- 用原始证据进行验证。查找并确认 AI 在实际日志行中标记的每个模式。还要自己扫描人工智能遗漏的区域。
- 决定和登记。作为分析师声明实际事件,开具票证,并记录人工智能只是一个加速器。
几个术语: 日志源是产生日志的系统。关联性是将不同来源的事件汇集在一起并理解它们(VPN 登录 + 文件访问 + 数据传输 = 可能的泄漏)。基线是系统正常行为的衡量标准;异常只有相对于基线才有意义。 UEBA(用户和实体行为分析)是一种基于人工智能的方法,可以学习每个用户的正常行为并标记偏差。
对比图
方法
它是如何运作的
强项
弱点
基于规则的 SIEM
修复了“如果-那么”规则
透明、可解释
错过未知攻击,大量误报
基于签名的检测
匹配已知的不良模式
快速应对已知威胁
对新的/改变的攻击视而不见
异常/UEBA (AI)
发现与正常情况的偏差
可以捕捉未知
异常=不攻击;误报的风险
AI总结
总结登录语言
速度、可读性
没有背景,有产生幻觉的风险
分析师(人类)
带有上下文的评论
决定、责任
缓慢、疲倦、无法扩展
正确的设置不是选择一个而是分层:SIEM 和签名粗略地过滤掉噪音,AI 进行总结和突出显示,分析师进行验证并做出决定。
三个迷你箱子
案例 1 — 50,000 行,6 分钟。一位分析师将 50,000 行从 Web 服务器到 AI 的访问日志匿名化。 AI推断单个外部IP在3小时内爬取了/admin路由12000个请求,尝试了480个不同的参数,并收到了3次200个响应。分析人员在原始日志中找到这 3 个成功的请求,验证其是否为真正的路径枚举攻击,并封锁该 IP。手读 50,000 行需要几个小时;摘要将其缩短为 6 分钟,但这是分析师的决定。
案例 2 — 人为的相关性。另一位分析师告诉人工智能,“在这个日志中描述攻击链。” AI 构建了一个流畅的故事:“02:11,USER_B 提升了权限并导出了数据。”分析师在将原始日志写入报告之前打开它;而在日志中既没有权限升级,也没有数据传输——该模型将典型的事件链融入“攻击故事”中。分析师提取了这一主张。教训:人工智能告诉的每一条链都应该在日志中进行验证。
案例 3 — 夜班假阳性。 UEBA 模型将凌晨 3 点访问 900 个文件的用户标记为“高风险异常”。分析师检查上下文:用户是备份操作员,该作业在每晚 03:00 运行;没有考虑基线。警报是误报。分析人员设置规则并将该运算符添加到例外列表中。异常并不总是攻击;没有上下文,警报就是噪音。
弱提示/强提示
弱提示:
检查此日志,告诉我是否存在攻击。[10.14.2.7 - ahmet.yilmaz - 200 - /admin ...]
这个提示包含真实IP和用户(侵犯隐私),不告诉日志来源和正常行为,不向AI索取证据和误报评估。人工智能可以用一句话误导你:“是的,有攻击。”
强力提示:
您的角色:准备分析草案的 SOC 分析师助理。不要做出决定,不要宣布攻击。这是 Web 服务器的匿名访问日志(IP 和用户被屏蔽)。正常流量:工作时间内 100-300 个请求/小时,主要是 /product 和 /cart 路线。您的任务:(1) 按类型和来源对事件进行聚类,给出出现次数,(2) 偏离基线的标记模式,(3) 显示每个标记基于哪些日志行,(4) 写下每个标记的误报概率及其原因。装配线/IOC插入;在您不确定的地方标记“[分析师验证]”。[此处匿名登录]
强有力的主张限制了作用,提供了背景和基线,并需要参与证据和评估误报。
可复制的提示模板
日志摘要模板以下匿名[日志来源:例如总结 [防火墙] 日志:(1) 按事件类型分组并给出每组发生的次数,(2) 提取唯一源/目标的数量,(3) 建立时间线(倒数第一个事件、高峰时间),(4) 列出 5 个突出的异常情况以及证据线。决策;只是总结一下。日志:[粘贴]
关联模板将匿名事件随时间和实体关联起来,并构建可能的事件链;但是,对于每个步骤,请指出它基于哪个日志行,并将没有基础的步骤标记为“[无基础 - 必须验证]”。还写一个替代的善意解释。事件:[粘贴]
误报消除模板对于此警报,为攻击解释生成至少 3 个善意的(误报)解释,并写下我需要查看哪些附加日志/证据来验证每个解释。然后确定哪些额外证据支持攻击,哪些证据反对攻击。警报:[粘贴]
时间线提取模板:从这些匿名日志中提取单个按时间顺序排列的时间线:每行的格式为[时间] [实体] [事件] [源日志]。添加没有时间戳的事件。不要弥补缺口;如果缺失,请填写“[缺失]”。日志:[粘贴]
常见错误
- 没有上下文的分析。未提及日志源和正常行为(基线)的评论具有误导性; “异常”随着上下文而变得有意义。
- 不验证人工智能建立的链。该模型可以将普通事件与攻击故事联系起来;确认原始日志中的每个步骤。
- 将异常误认为是攻击。 UEBA的标志是一个假设;消除备份、维护、新软件等无害原因。
- 无需屏蔽即可导出原始数据。真实的IP/用户/主机既是KVKK违规,也是给攻击者的网络地图礼物。
- 不要相信负面总结并停止浏览。即使人工智能说“没什么重要的”,也可以运行您自己的系统查询(关键事件类型、新的 IOC)。
提示:当让 AI 总结日志时,始终要求“显示证据线”。不要认真对待任何没有证据的发现;这一规则消除了大多数幻觉。
注意:仅仅因为 AI 说“误报”而忽略 SIEM 警报可能会掩盖真正的攻击。还独立检查AI称之为“不重要”的警报;关闭决定属于分析师并被记录。
综上所述
日志和SIEM分析的本质是从一大堆噪音中提取出真实信号。在这种排序中,人工智能会在几秒钟内总结日志,对模式进行聚类,建立时间线,并突出显示嫌疑人,但不了解机构背景并可以编造事件。因此,正确的设置是分层的:规则/签名粗略筛选,人工智能总结和标记,分析师使用原始日志进行验证并做出决定。三个原则保护您:上下文(没有基线就不会解释异常)、证据(每个发现都与原始日志行相关)、独立控制(人工智能所谓的“干净”区域也会被扫描)。并且始终以匿名方式工作。
应用任务
获取示例日志片段(从您自己的系统或示例数据集中匿名)。首先,通过“日志汇总”模板将其汇总到AI。然后对三个最显着的发现中的每一个应用“误报消除”模板,并在原始日志中验证每个发现。最后,注意人工智能的总结和你的原始阅读之间的差异:人工智能错过了什么,它弥补了什么,它做对了什么?
清单
- [ ] 我对日志进行了匿名处理;真实IP/用户/主机被屏蔽。
- [ ]我给了AI日志来源和正常行为(基线)。
- [ ] 我为每个发现请求了证据日志行,并在原始日志中进行了验证。
- [ ] 我确认了人工智能建立的事件链的每一步,剔除了捏造的事实。
- [ ] 我对每个警报至少考虑了一个误报解释。
- [ ] 我还扫描了 AI 称之为“干净/不重要”的区域。
- [ ] 作为分析师,我做出了决定并记录了事件;我将人工智能记录为加速器。