前言
作者身处甲方公司,有幸近两次参与到攻防演练行动当中,在这两次行动中也帮助公司逐步建立起来了一套SOC平台,完成对接了NGFW、IDS、APT、WAF、终端安全等安全设备并投入运营,运营过程中发现一个痛点没有得到很好的解决。在演练期间,公司领导每天会抽出5分钟时间听防守小组汇报,SOC平台所能展示的内容过于复杂与专业,不能很好地表达与反应当日的安全攻击态势,于是诞生出这个造轮子的想法。
简介
SOC Sankey Generator是一款从SOC日志中进行数据ETL与数据可视化的工具,可以快速将日志呈现为Sankey图,Sankey图常常应用于具有数据流向关系的可视化分析,在安全中适合描述源对目标发起了何种攻击事件,适用于演练行动中防守方每日汇报;也适用于日常安全运营中编写安全日报、周报、月报。欢迎各位Star,Fork、Issue、PR
(GitHub: https://github.com/LennyLeng/SOC_Sankey_Generator)
环境&依赖
- python3
- pandas(必选,用于处理csv)
- pyinstaller(可选,exe打包用)
用法
将日志文件整理成表头为:源地址,目的地址,事件名称,事件数 的CSV格式文件,放于csv目录下 运行mian.py或者main.exe按提示输入完成数据处理,最后浏览器访问 http://127.0.0.1:8900 即可。
展示
过滤器用法
本工具支持包含与排除两种正则过滤器,主要用于过滤误报或者需要特别关注某些ip、事件的情况。请在conf目录下的filter.csv文件中进行配置。配置说明为:
- 第一列:过滤模式[in=包含,ex=排除]
- 第二列:字段列号[0=源地址,1=目的地址,2=攻击方式]
- 第三列:匹配值[正则匹配]
- 第四列:备注
例如:
ex,0,114.114.114.114,备注
为:排除源地址是114.114.1114.114的事件
in,2,暴力破解,备注
为:仅查看事件名称中包含暴力破解的事件
当过滤器文件内容发生改动时,工具会自动对数据进行重新整理,可直接刷新网页页面。
说在最后
关于我们的效果:现在我们每天会利用此工具导出三张图(全量图、外部IP攻击图、活跃弱口令图)形成较为直观安全日报,其中外部IP攻击图、活跃弱口令图通过过滤器进行提取。向上提交公司CISO审阅,向下通过内部交流工具进行通报整改闭环。