什么是"PCDN盗刷下行流量"?如何防御?

各位,如果你家网站使用了CDN,最近又莫名其妙出现大量的访问记录,记录里面有没有异常信息,类似爬虫、扫描、攻击这些特征都没有,就是普普通通的访问一些静态资源,但是流量异常高、集中在几个IP段里面,那么大概率是被PCDN盗刷下行流量了。
什么是"PCDN盗刷下行流量"?
正常的CDN服务商,会使用专用机房节点来提供商业CDN服务,而PCDN服务商,为了节省成本,会用大量的家庭宽带节点来做边缘节点,比如家里的智能路由器、网络盒子、甚至是一些“赚钱宝”之类的专用设备。这些设备为一些平台充当CDN服务器,在空闲时会贡献出自己的上行带宽和存储空间,进而获取费用。所以PCDN的P,就是P2P的P,点对点。
但是家庭宽带不允许用于商业用途,这在运营商那里是违规的。所以运营商会监控并进行封禁,怎么监测呢?通过他们的流量模型:
一个正常的家庭用户,流量模型通常是 “下行多,上行少” ,而PCDN贡献了太多的上行流量,所以PCDN服务方就必须主动制造出大量的下行流量,让整个设备的流量曲线看起来像一个正常的、在“下载内容”的家庭用户。
为什么做CDN的网站,很容易被盯上做盗刷目标呢?因为但凡用到CDN的网站,肯定是有比较多的静态资源、安装文件等,所以为了做大量的下行流量,PCDN会疯狂盗刷这些目标,把他们的CDN服务账单打爆。
也正因为他们的目的不是攻击和破坏,所以请求特征上乍看起来是正常的,很难辨别,而且最近出现了很多IPv6的源,地址海量,刷起来速度更快。从笔者经验和同行情报来看,今年尤其集中在山东和江苏两地的IP段特别活跃。
如何防御?
笔者在实践中,结合同行讨论,总结了一些方法:
1、CDN自带的防护
比如云上的WAF,有些有基于机器学习的情报库,能比较准确的识别这些PCDN节点并进行拦截。相比被盗刷的损失,这些安全服务值得投入。
2、应用端做鉴权
对一些大文件的下载实施鉴权,强硬的必须要登录后才能下载,兼顾体验不用登录的话,可以给链接加一些时间戳和token,让链接变成临时的认证链接,避免地址固定。此外也可以在请求头的referer上指定必须来源本网站。
从笔者的经验来看,盗刷都是直接奔着某个资源的目标地址的,基本没有referer,所以用这个方法应该会有不错的效果。
3、静态+动态结合的拦截规则
盗刷流量虽然乍一看没有恶意特征,但是仔细看还是能看出些端倪的,比如比如UA里面的版本号,看看是不是常见的一个取值,如果比较小众,可以再结合一些动态规则来部署规则,类似“符合某个UA特征的请求每分钟不能访问几次”等,因为正常用户也不会那么频繁访问。
4、基于情报的流量分析
如果网站正在遭受CDN的疯狂盗刷,有必要对请求进行分析,筛选出访问流量最大的TOP N的IP,结合最新的情报信息,及时进行封禁。
在某些情况下,最及时止损的是第4种。今年5月以来,很多情报显示山东和江苏扬州的PCDN盗刷最严重(当然后面肯定会变),那么如果近期遇到了来自这些地方的异常大流量,直接封禁C段就好了。
本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。



