Breakthrough——web日志分析程序,寻找溯源过程中的突破口!
AimLog | ||
AnaResult | ||
AnalysisBase.py | ||
README.md |
代码编程思路
问题发现
- 大文件处理速度过慢
解决方法:使用分块+多线程提高处理速度 - 日志格式不同的问题
解决方法:收集几种常见的web日志进行适配
附加:收集安全设备导出日志进行分析适配 - 单python文件进行处理导致错误频发
解决方法:分离各模块,单独进行分析最后再汇总
分离模块
- 综合执行读取模块:日志读取数据分离与各模块调用协调
- 性能提速模块:分割文件,启动多线程
- 文档生成模块:先记录IP-访问次数,然后将文件传给后续程序填写
- 初步分析模块:主要分析UA和响应码;捕获分离出来的【IP-UA-响应码】进行初步分析,将爬虫从数据中分离出来,标注归属公司;同时,判断是否为恶意扫描IP
- 次项分析模块:主要分析访问路径;结合上一步文件捕获分离出来的【IP-路径】进行第二步分析标记是否为合法爬虫(是否访问过robots.txt);根据路径中关键词判断IP是否为攻击者,攻击类型含有哪些
- 终项分析模块:结合所有剩余部分进行综合分析(内容待定)
表格构成
IP | 属性 | 归属 | 访问次数 | 攻击类型 | UA | 响应码 | 备注 |
---|---|---|---|---|---|---|---|
127.0.0.1 | 爬虫 | 百度 | 10 | 内容爬取 | |||
127.0.0.1 | 正常IP | 互联网 | 100 | ||||
127.0.0.1 | 恶意攻击者 | 互联网 | 1000 | SQL注入,路径扫描 |
附加模块
AnalysisBase.py
初步处理网站日志用以人工分析
待定
筛选分析程序,人工筛选高频IP