前言
入侵排查中,如何攻击溯源是一个很关键的环节,是一个收尾阶段,如何做到自动化攻击溯源,则更是技术能力的体现点。
在日常处理入侵事件过程中,用户或者客户主要核心关心两个点:
- 入侵事件解决了吗?(CPU、内存占用率下降了吗?木马清理干净了吗?业务恢复了吗?)
- 黑客是怎么攻击入侵的?(攻击时间轴是什么?)
同时在2B行业中,一份完整的攻击溯源报告交给客户必不可少的。
那么如何在海量的主机、日志和事件报警中寻找蛛丝马迹,去解放人力,去自动化关联分析等,是我们需要去思考的一个方向。当然高级的APT攻击不在此次思考范畴。
0x01 攻击溯源的价值
攻击溯源的价值是什么? 是抓黑客吗?作为企业或者公有云服务商,攻击溯源能带给什么价值?
其实,攻击溯源的主要价值不在于追捕黑客(当然不排查有大规模的黑客组织)。 溯源更大的价值在于:
- 掌握对手,不局限于已知漏洞,发现未知的0day等新型网络攻击行为;比如在野的;
- 掌握攻击者的意图、实力等,针对性采取合适的对策;
- 帮助大客户以及自身梳理和明确下一步安全体系建设的优先级,知道下一步该做什么;
- 掌握大客户以及自身安全体系的薄弱点,做PDCERF模型,从应急到响应,更好地进行防御。
简要来讲:解决攻击从哪来?到哪去?干了什么?
0x02 主机日志收集
代码语言:javascript复制/var/log/auth.log
/var/log/lastlog
/var/log/secure
/var/log/cron
/var/log/wtmp
/var/log/message
#定时任务
/var/spool/root
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/root/.bash_history
/root/.ssh/*
/etc/hosts
等
将登陆日志、应用日志、服务日志、进程端口网络、恶意命令等收集,海量大量日志可以通过ELK系统做快速匹配分析。
0x03 自动关联分析
- 多种云产品日志(waf、云镜、云防火墙、堡垒机等)
- 裸奔机(云镜)
- 安全组
- 开放端口快速应用匹配定位
- 主机应用对应日志扫描匹配
- 最新以及历史严重高危漏洞匹配
- 多维数据加工、聚合、可视化,形成攻击者入侵的链路图
0x04 过程还原
- 完整攻击链分类
- WEB入侵
- 勒索病毒
- 挖矿木马
- 后门权限维持
- 主动连接恶意下载源行为
- 黑客视角还原攻击细节
- 攻击时间轴还原攻击过程
- 攻击链路聚合可视化
0x05 黑客画像
- 关联威胁情报
- 识别黑客工具、手段、特征等
- 分析黑客背景、身份、目的等
- 网络侧溯源
- C2
- Whois、DNS解析记录、域名注册信息、特点组织机构
- 网络连接数据
难点和问题:
- 跨国追溯
- 隐私保护、暗网
2.样本侧溯源
- 样本采集
- 代码细节、同源分析
- 时区分析、语言分析
难点和问题:
- 攻击者主动规避可以追溯的点
- 无法验证证据的可信程度
0x06 自动化溯源报告
思考:
威胁分析成熟模型:
level 0:主要依靠自动警报,很少或没有常规数据收集。
level 1:结合威胁情报指标搜索,中等或高水平的常规数据收集。
level 2:遵循他人创建的数据分析程序,高或非常高水平的常规数据收集。
level 3:创建新的数据分析流程,高或非常高水平的常规数据收集。
level 4:自动化大多数可成功分析的业务流程,高或非常高水平的常规数据收集。
要达到level 4,当然这需要一些前提条件:
- 拥有完整的网络基础数据,包括netflow、LB/VPC fow log、pcap等精准的基础网络连接数据
- 拥有完整的端点基础数据,包括进程、网络、软件安装、账号数据等。
- 拥有完整的安全数据,包括主机报警、SOC、防火墙/IDS告警数据,威胁情报告警数据、端点威胁数据等。
对于公有云环境来说,存在以下几个困难:
- 突发事件、资产不稳定
- 海量日志和大流量,投入产出比不高
- 大量的裸奔机