1. 模块功能
DDoS攻击事件评估
- 检测防御能力评估
- 检测能力
- 误报:将正常的流量突发识别为攻击
- 流量调度
- 业务热点活动
- API周期性调用
- 漏报:对抗检测策略
- 低频小流量——>绕过基线检测
- 模拟业务流量——>绕过深度流/深度包检测
- 低频攻击源,e.x.拨测ip ——>绕过IP黑白灰名单检测
- 其他:
- 攻击类型判定错误
- 攻击特征提取错误
- 流量数据统计不准确(接收流量、攻击流量、牵引流量、清洗流量、回源流量)
- 误报:将正常的流量突发识别为攻击
- 防御能力
- 基础防御有效性:
- 正常业务流量被错误清洗
- 攻击流量被漏清洗
- 正常业务未按预期回源到可用源站节点
- 清洗(限速/黑洞)生效滞后
- 防御对抗:
- 瞬时大流量攻击 ——> 资源军备竞赛
- 扫段攻击防御 ——> 对抗主流的单IP的黑洞路由策略
- 脉冲攻击防御 ——> 使得清洗设备状态频繁变更(检测-牵引-清洗-回注)
- 基础防御有效性:
- 检测能力
- 业务受损情况评估
- 额外增加的带宽计费成本
- 正常访问失败比例
- 攻击溯源
- 攻击手法:技术、战术
- 攻击团伙:身份、活动
2. 实现方法
2.1 模块关系
2.1.1 异常检测模块
- 基础分析:
- 下钻 e.x. 发现机房整体流量增长,下钻增长的VIP,定位是否发生扫段攻击
- 上卷 e.x. 发现单VIP流量增长,按服务聚合,定位是否为正常的流量调度
- 异常算法:
- 箱线异常
- 3δ原则
- 异常准出:
- 绝对值,e.x. 流量增长大于3Gbits,触发攻击分析
- 相对值,e.x. 流量增长超过机房带宽的85%,触发攻击分析
- 实效性:
- 及时发现攻击漏报,应对短时突发大流量,以及生成报表
-
特征选取
指标 说明 攻击类型 bps 每秒bit数 带宽消耗攻击 pps 每秒包数 协议层攻击 rps 每秒请求数 应用层攻击 IPs 每秒独立IP数 ——
2.1.2 事件评估模块
访问源评估与攻击源提取
- 工程问题:数据处理性能。大型业务源访问源百万级
- 智能化运维:自动判定攻击漏报并进行防御策略调优
2.1.3 数据包分析模块
当防护对象出现异常事件或攻击事件会触发数据包采样,通过分析数据包来实现
- 策略的合理性评估
- 发现新型反射攻击
- 业务异常定位
2.1.4 攻击源溯源模块
- 攻击源ip情报关联:
- 样本关联
- 样本ioc提取
- 攻击特征关联:
- 明文:url/head/body
- 加密流量:ja3
2.1.5 报表模块
- grafana
3. 技术点
3.1 攻击源识别
- 对非连接型的攻击,清洗伪造源,识别真实源
- 伪造源识别:ttl
- 对连接型攻击,清洗正常源,识别攻击源
- botnet的傀儡主机识别
- 匿名代理服务器识别
3.2 攻击包分析
- 新型UDP反射识别
- ja3提取
- 代理源站ip提取
3.3 攻击溯源
- 攻击源ip的威胁情报关联
- bot ip关联的恶意样本发现
- 恶意样本的c2提取
关系prefix 说明 角色 referrer embedded ioc内置在恶意文件中 1.网络基础设施,e.x. dns服务器 反射器 2.C2 communicate contacted ioc与恶意文件有通信关系 1.网络基础设施 2.C2 3.攻击目标 download itw 从ioc下载该恶意文件 1.下载器 2.C2
4. 失败分析
理想中的评估结果,发现可以在报表中展示的”亮眼”数据
- 规模更大峰值更高的攻击
- 新型的攻击
- 攻击溯源
- 攻击预测
实际的评估结果,用数据来发现抗D系统存在问题(坏消息报道者)
- 攻击误判,例如将正常的tcp业务当成tcp反射
- 攻击漏判,未发现攻击,或者直到业务明显受损才发现攻击
- 漏清洗,发现了攻击,但攻击流量的清洗达不到预期
- 误清洗,将正常流量当攻击流量清洗掉了
- 牵引延迟生效
- 回源失败,回源探活故障,错误的白名单机制
“亮眼”攻击的发现,需要在”大数据基础建设”与”威胁安全分析”上投入成本。
但本质是军备竞赛的DDoS攻防,会将重点资源投入在以下方面:
- 部署机房,扩容建设
- 合作,与运营商合作,与网络基础部合作,与业务部合作
- 销售产品,推进产品使用与售卖
- 构建品牌影响力,发布专利、与会演讲、产品PR、攻防演练
- 研发,报表数据开发、性能优化
而在”大数据基础建设”上进行主动或者被动节流(丢包/丢日志),例如
- 缩减数据采集资源,调低流量采样的比例,导致攻击取证关键信息损失
- 缩减数据存储资源,取证数据采用临时的本地文件存储方式,不做持久化
- 缩减数据计算资源,缩减大数据计算资源,甚至缩减安全分析的机器资源
同时对”溯源有效率”的预期也与投入成本不符的:
由攻击源到立案需要(简化的):
- c2定位
- 攻击源ip扫描,找到可以渗透的主机ip,登陆主机获得攻击样本,逆向分析找到c2
- 购买情报产品,由ip-关联样本-关联c2(准确性不如上面,但成本低些)
- 定位到攻击者
- c2是国外的,基本放弃
- c2是国内的,但身份特征,放弃
- 立案抓人
可以看到一次成功的溯源需要要数据齐全+分析专家技术+运气好,所以往往溯源以报告结束(你要非说是xxx干的,对方跳出来说不是自己的几率很小)还不是抓人结束
5. 个人收获
5.1 DDoS攻防的认知
- 攻击的本质:
- 锁定攻击目标:识别攻击目标的网络资产,并在切换资产后做到攻击跟随
- 识别资产弱点:踩点响应最耗时的资源
- 网络链路带宽资源
- 网络设备(负载均衡、防火墙、IPS等的)会话资源
- 业务系统资源: 数据库,web服务器等
- 扩大攻击武器:
- botnet扩容: linux botnet、iot botnet
- 开放服务器收集:用来打四两拨千斤的反射
- 对抗安全检测
- 低频小流量——>绕过基线检测
- 模拟业务流量——>绕过深度流/深度包检测
- 拨测/CDN代理 ——>绕过IP黑白灰名单检测
- 扫段攻击——> 对抗单IP的黑洞路由策略
- 脉冲攻击——> 利用防御规则的生效灰度期躲避清洗,例如DNS牵引的灰度期(DNS修改记录后,需要等待TTL超时才生效)、黑洞的灰度期(API调用到生效存在时延)
- 瞬时大流量——> 来不及检测,来不及响应
DDoS攻击基本是朝着2个方向发展
- 攻击流量快速上升,攻击源低频
- 针对弱点资产发起攻击,用最小的攻击资源达到最大的拒绝服务效果,e.x. 攻击最消耗db资源的api请求
- 防御的本质:流量管控,将攻击流量进行稀释、分散与清洗来缓解攻击
- 防御资源建设:运营商清洗资源建设、云清洗资源建设、本地清洗资源建设(背靠运营商,大力建机房)
- 防御协同:多个团队协作防御,一般会涉及到基础网络部、业务部与安全部三个部门。而团队的协作磨合是靠周期性的攻防演练来推进
- 应急响应:
- 策略调优:目前的自动化防御的触发机制都是基于阈值的,而阈值是基于业务流量基线的,需要人工协助阈值调整
- 应用层防御模版定制:为特定协议定制细粒度的访问控制策略
- 检测的本质:
- 基线:vip速率、访问源速率:
- 特征:包特征
- 行为:访问源机器人行为识别,周期性+聚集性v.s.随机性 (攻击复盘中使用,实时检测不会使用)
- 源认证:网络层源认证+应用层源认证
- 被动认证:首包丢弃
- 主动认证:syn proxy, syn cookie
- DDoS技术演变:
- 网络基础架构的演变:
- 终端 -> 云上
- BGP
- Anycast
- 可编程智能交换机
- 系统架构的演变: web网站->APP->API
- 应用(通信协议)的演变:
- ipv4 -> ipv6
- http/1 -> http/2 -> quic
- udp反射资源
- 网络基础架构的演变:
- DDoS冷知识:
- DDoS监测(发现DDoS攻击)与DDoS防御(限流、清洗)的处理逻辑是基本独立的
- DDoS监测是误判容忍的,并且出于商业考虑,倾向于多报攻击
- DDoS防御是误清洗容忍的,发生攻击时,服务降级的有损防御是可以接受的
- DDoS的防御策略主要靠用户填写”防御模版”来实现拦截、限速与挑战(e.x.验证码),自动化不高
- DDoS的防御遇到特殊的业务场景时,需要防御定制,例如对实时要求高的游戏协议防御,DNS/IP牵引的延迟是无法容忍的,需要给包添加指纹来验证有效性
- DDoS防御随着”降本增效”成为支撑型业务的关键字后,攻击流量计费减免也成为价值体现点
- DDoS运维的日常工作,是防御组件故障维护,不是黑客对抗
- 抗D实际是SRE工程问题,依赖于基础设施是否强大
- 应用层的防御机制,与产品设计有关