CC攻击与移动APP业务
  云舒 2013年3月
前面的话

• 这不是我最想讲的题目
• 这个题目老板也有些担心
目录
•   识别攻击
•   普通攻击处理
•   高级功能
•   效率问题
•   新业务的挑战
•   动态Cookie
•   战争并未结束
识别攻击——基础

• 基于客户端IP+服务端IP的频率统计
• 基于客户端Cookie+服务端IP统计访问频率
识别攻击——辅助

• Cookie分散度
• URL分散度
• 细粒度频率统计
 – Host维度
 – URL维度
• 代理IP判定
识别攻击——高级

• 跳转识别
 – 服务端302 跳转
 – 客户端Meta Refresh跳转
• JS执行验证
 – 简单代码
 – 用户行为提取
• 验证码
攻击行为处理

•   静态页面
•   关闭socket
•   延迟处理
•   客户端连接挂起
高级功能——虚拟补丁

• 不是WAF
 – 简单规则集
 – 拦截单包型DOS攻击请求
 – 拦截特征明显的请求
高级功能——QPS限流

• 最后的防线
 – 攻击行为达到完美程度
 – 放弃部分访问,保障重点地区用户
效率问题

• C/S架构,异步调用
 – Web server端不计算
 – 分析端定期推送
• 内存cache
 – Hashtab查找匹配
效率问题——架构图
                                          Client 2          Client N
Client1    WEB Server

           SEC Module


SHM                         register
                           http event         SEC Server
           SEC Client                                        WEB
                           http event
                                                           Interface
                          configuration
                                                 CMD
                          configuration
          CMD Interface                        Interface
效率问题——效果

• Web Server消耗约50MB内存
• 8万黑名单,QPS下降小于3%
新业务带来的变化


当用户从PC向移动APP迁移时
   会发生什么?
新业务带来的变化


正常用户来   正常用户与
源分散,攻   攻击者一样,
击者比较集   来源比较集
中       中
新业务带来的变化

        正常用户与
正常用户使
        攻击者一样,
用浏览器,
        都使用非浏
攻击者使用
        览器的其它
其它程序
        程序
变化带来哪些问题?

• 基于IP的访问频率统计不准确
• 高级识别策略造成大范围误杀
 – 正常的WEB API接口(json、xml)
 – 正常的移动APP程序
简单方案

• 无线IP库
 – 扩大阈值甚至豁免


• 自证清白
 – 你说你是浏览器,show me
 – 基于user-agent来做跳转和执行验证
动态cookie方案——简介

• 什么是动态cookie
 – 突然插入
 – 生存期短,不停变动
动态cookie方案——实现

• 基于阈值触发
 – 人工设置很小的阈值
 – 基于历史学习的阈值
• 连续多次种植
 – 包含序列号、IP、时间戳,加密
 – 种植次数与访问速率成正比
• 检验携带正确cookie的比率
动态cookie方案——数据支持

• 70%左右的APP默认支持cookie
 – IOS约23%占有率,ASIHttpRequest默认支持
 – Android约59%占有率,httpclient默认支持
   • 从某市场统计,约80%安卓APP使用httpclient库
战争并未结束

这个方案是很容易绕过的
战争并未结束

即使绕过,也可“缓解”攻击
战争并未结束

真正的防御,不应该害怕公开
抛砖引玉,期待各位有更好的方案
尾声


云舒 阿里巴巴集团安全部高级专家
http://t.qq.com/yunshu
http://weibo.com/pstyunshu

http flood and mobile app