HVV行动之态势感知平台(二):从海量告警到精准研判

HVV行动之态势感知平台(二):从海量告警到精准研判
1. 态势感知平台的告警困境每天打开态势感知平台扑面而来的就是几万条告警信息这场景就像是在垃圾堆里找金子。作为蓝队监控组的成员我经历过太多这样的时刻盯着屏幕一整天眼睛都快看花了最后发现99%的告警都是误报。这种体验相信每个做过HVV的安全分析师都深有体会。为什么态势感知平台会产生这么多误报这要从它的工作原理说起。平台本质上是个宁可错杀一千不可放过一个的严格安检员它会基于预设的规则对网络流量进行实时扫描。比如检测到某个请求包含select * from这样的SQL语句就会立即触发告警。但现实情况是很多正常的业务查询也会使用类似语法这就导致了大量误报。常见的误报类型包括业务系统正常的批量查询操作开发人员的测试请求爬虫程序的常规扫描第三方服务的合法调用面对这种情况我们需要建立一套高效的研判流程。我的经验是分三步走先看告警类型再看请求详情最后结合上下文判断。比如看到一个SQL注入告警我会先看请求参数是否真的可执行再看响应是否返回了数据库错误信息。很多时候看似危险的请求参数其实是被转义处理的根本构不成实际威胁。2. 实战中的告警分析方法2.1 快速筛选技巧在海量告警中快速定位真实攻击需要掌握一些实用技巧。我总结了一套四看法则第一看频率。真实攻击往往具有持续性攻击者会在短时间内发起多次尝试。如果一个IP在几分钟内触发几十条相同类型的告警那就很可疑了。第二看时间。非工作时间的异常请求更值得关注。记得有次凌晨3点发现一批爆破尝试后来证实是攻击者在利用值班人员少的时段进行渗透。第三看路径。关注非常规的访问路径比如直接访问后台登录页面、尝试遍历目录等。正常的业务请求都有固定模式。第四看参数。重点检查参数中是否包含明显的攻击特征比如script标签、../路径穿越、系统命令等。2.2 常见攻击特征识别不同类型的攻击会留下不同的指纹。掌握这些特征能大幅提升研判效率SQL注入常见关键词包括union select、information_schema、concat(等XSS攻击包含script、alert(、onerror等HTML/JS代码命令注入出现|、、;等连接符后跟系统命令文件包含使用../进行路径穿越或直接请求敏感文件SSRF攻击内网IP地址或特殊协议如file://、gopher://在实际研判时我习惯用Wireshark或Burp Suite查看原始流量。比如有次发现一个请求包含../../../../etc/passwd响应返回了404这很可能是攻击者在尝试读取系统文件。3. 提升研判效率的实用工具3.1 日志分析利器单纯靠肉眼筛查告警效率太低我通常会借助一些工具辅助分析ELK Stack用于集中存储和检索日志数据可以快速过滤特定类型的告警Splunk强大的搜索和可视化功能适合做关联分析Grep命令行下的文本搜索工具处理小规模数据时非常高效这里分享一个我常用的grep命令组合可以快速筛选出高危告警grep -E union select|script|\.\.\/ alert.log | sort | uniq -c | sort -nr3.2 自动化研判脚本对于重复性高的研判工作可以编写简单脚本实现半自动化。比如用Python写个脚本自动提取告警中的关键特征import re def check_alert(alert): sql_inj re.search(runion\sselect|information_schema, alert, re.I) xss re.search(rscript|alert\(|onerror, alert, re.I) if sql_inj or xss: return True return False这个脚本虽然简单但能帮我们过滤掉大量明显无害的告警。在实际使用中可以根据需要不断优化规则。4. 企业环境下的特殊考量不同企业的网络环境和业务特点差异很大研判时需要因地制宜。我总结了几点经验首先要了解企业的业务架构。知道哪些系统是关键业务哪些是边缘系统这样能更准确地评估攻击的影响程度。比如金融行业的支付系统被攻击和内部论坛被攻击严重性完全不同。其次要熟悉企业的网络拓扑。内网IP段、DMZ区划分、重要服务器位置等信息对判断攻击路径很有帮助。有次发现一个内网扫描告警因为知道那个IP段只有测试服务器所以判断风险较低。最后要考虑企业的安全基线。有些企业禁用特定端口或协议任何相关告警都值得关注。比如有家企业明令禁止使用Telnet那么任何Telnet连接尝试都可能是违规行为。在实际操作中我建议建立企业专属的特征库。把常见的业务请求、第三方服务IP、正常爬虫等信息记录下来下次遇到相同特征的告警就可以快速排除。这个方法虽然前期需要投入时间但长期来看能大幅提升效率。