大家好,热爱效率的安全分析师们!🕵️♂️
上次我们是不是在沙箱中执行了恶意代码,并用ProcMon收集了日志?
然而,当你真正打开收集到的日志文件时……10万行、20万行……你常常会被无尽的文本盛宴所淹没。😱
“这么多日志,什么时候才能看完?怎么才能从中找出黑客的所作所为?”
用人眼在这“沙滩”中寻找“针”几乎是不可能的。但对于我们的AI助手来说,这简直是小菜一碟!🥣
今天,我们将进行日志过滤和异常检测的实战,把海量系统日志(如Syslog、ProcMon、防火墙日志等)交给AI,并指示它“忽略正常的,只挑出异常的!”

1. 🚧 现实问题:“AI,把这些都读一遍”(上下文限制)
在开始之前,有一个重要的点。ChatGPT或Claude等AI模型在一次性读取的字符数(Token Limit)上是有限制的。如果你把一个1GB的日志文件完整地粘贴进去,它会吐出“太长了!”
所以,我们需要一个“明智的策略”。
- 预处理 (Preprocessing): 使用Python等工具初步过滤掉明显的正常行为(例如:Windows系统的基本操作),或者
- 分块输入 (Chunking): 将日志按100-200行切分后输入,或者
- 关键区间提取: 只提取可疑时间段(恶意代码执行后1分钟)的日志进行输入。
今天的实战将采用“请求AI分析‘关键区间日志(约50-100行)’”的方式进行。
2. 📝 [实战数据] 混乱的日志示例
假设你从ProcMon中抓取的日志如下所示,正常和恶意行为混杂在一起。
[日志样本(模拟)]
Plaintext
[INFO] 14:00:01 svchost.exe (PID: 892) - Network Connect 52.1.1.1:443 (Microsoft Update)
[INFO] 14:00:02 chrome.exe (PID: 4120) - WriteFile C:UsersUserAppDataLocalGoogleCache...
[WARN] 14:00:05 powershell.exe (PID: 5521) - Process Create -Command "powershell -W Hidden -Enc aW1wb3J0..."
[INFO] 14:00:06 explorer.exe (PID: 1204) - ReadFile C:WindowsSystem32shell32.dll
[CRIT] 14:00:08 malware.exe (PID: 5521) - RegSetValue HKCUSoftwareMicrosoftWindowsCurrentVersionRunEvil
[INFO] 14:00:10 kakaotalk.exe (PID: 3002) - Network Receive 203.21.1.1:8080
[WARN] 14:00:12 cmd.exe (PID: 6601) - Process Create "vssadmin.exe Delete Shadows /All /Quiet"
好了,我们把这堆文本交给AI吧。
3. 🧠 [提示词] “忽略正常,只找出异常”
如果只是简单地说“帮我分析一下”,AI可能会尝试解释每一行。我们需要强烈要求“过滤(Filtering)”。
📋 日志分析专用提示词
[角色]
>
您是安全运营中心(SOC)的高级威胁猎人。
>
[任务]
>
分析下面提供的系统日志(Log Data),并只提取“异常且具有威胁性的行为(Anomalies)”。
>
[过滤规则 – 重要!]
>
1. 白名单: 严格忽略(Ignore)并不要在结果中包含网页浏览器缓存写入、Windows更新、即时通讯等常见的用户/系统行为。
2. 检测目标:
– 混淆脚本执行 (Encoded Command)
– 注册表自动启动项注册 (Persistence)
– 尝试删除备份和禁用系统恢复
– 未知进程的可疑网络连接
>
[输出格式]
>
请将分析结果整理成以下格式的表格:
>
| 时间 | 进程 | 行为摘要 | 威胁级别(高/中/低) | 判断依据 |
>
[日志数据]
>
(将上述日志样本粘贴到此处)
4. 🕵️♂️ [结果] AI筛选出的“真正威胁”
AI按照我们的指示,将chrome.exe、explorer.exe、svchost.exe等噪音(Noise)全部清除,只留下核心内容。
🤖 AI分析结果(示例)
🚨 威胁检测报告
>
排除了常见的系统行为(Chrome缓存、Windows更新、KakaoTalk等),识别出3条疑似安全威胁的日志。
>
| 时间 | 进程 | 行为摘要 | 威胁级别 | 判断依据 |
| — | — | — | — | — |
| 14:00:05 | powershell.exe | 混淆命令执行 | 高 (Critical) | -W Hidden -Enc 选项主要用于在用户不知情的情况下执行恶意代码。 |
| 14:00:08 | malware.exe | 启动程序注册 | 高 (Critical) | 向HKCU…Run键写入值是恶意软件在重启后持续运行的典型持久化技术。 |
| 14:00:12 | cmd.exe | 卷影副本删除 | 高 (Critical) | vssadmin Delete Shadows是勒索软件为阻止文件恢复而执行的最具代表性的预操作之一。 |
>
💡 综合意见
>
该系统强烈怀疑已感染勒索软件或后门。特别是vssadmin的执行表明需要立即隔离。
5. 💡 技巧:构建大容量日志处理“管道”
如果日志有几十万行,该怎么办呢?
这时,需要一种将Python脚本与AI API结合的混合方式。
- Python(一级过滤): 使用findstr或grep等逻辑,首先移除“已知良好”的进程(例如:System、MsMpEng.exe)。这可以将数据量减少90%。
- AI(二级精细分析): 只将剩余10%的“模糊日志”发送给AI,询问“这是否是恶意的?”
💬 提示词技巧:
>
“我懂Python。请帮我编写一个Python预处理脚本,从ProcMon.csv文件中排除带有微软签名的进程,只保留其余可疑进程。”
这样请求,AI甚至会为你创建预处理工具!🛠️
🎉 总结:不要只看森林,要看腐烂的树!
今天我们学习了如何在“日志的洪流”中不至于手足无措,而是通过AI这个过滤器,只捞出“威胁”的方法。
- Before: 人工查看10,000行日志,纠结“这正常吗?”😵
- After: 只看AI总结的5行核心威胁,并进行响应。😎
这正是安全运营中心(SOC)自动化的精髓,也是智能分析师的工作方式。
好了,现在我们已经分析了恶意代码的代码(静态)、行为(动态)以及日志(痕迹)。所有的拼图碎片都已集齐。
下一次,我们将把所有这些碎片拼凑起来,以[最终实战]“自动生成专家级恶意代码分析报告”为本次系列画上圆满句号。敬请期待!👋
发表回复