最近,大批博主、公司网站同时遭遇恶意盗刷流量,少的被薅走几十、几百块钱的流量费,多的上万都有,直接被刷到欠费。本人公司的小网站也毫不例外地进入了盗刷射程范围之内……7月6号晚上7点左右,我正在某网红餐厅门口排队,突然收到CDN服务商的报警短信,几分钟后客服小哥的电话直接打了过来,说我公司网站被盗刷了,建议封禁指定IP,我一看截图,带宽直接原地起飞。按这么刷,这个月得亏出十几个w,赶紧让客服给封了。后来几天又反复出现了几次,还都是差不多的时间点,我直接让客服发现盗刷后直接封,通知我一声就行。整体影响算是被控制住了。
作为互联网相关从业者+(及时止了损但仍心有余悸的)受害者,我讲讲这里面的门道吧。
一、为什么当前盗刷频发?
归结起来就是两个因素,PCDN 和省间结算。
1、“上有政策、下有对策”的PCDN
PCDN是利用家庭带宽,提供内容下载加速的一种技术。什么是家庭带宽?就是你在学校宿舍或者家里办理的带宽。当你在家里下载电影时,数据是从外部流向你的家里,我们把这个方向的流量叫作下行流量。相反,你向外发送一个大文件,数据是从你的家里流向外部,这个方向的流量叫作上行流量。正常来讲,我们下载文件比发送文件多,所以下行流量也应该比上行流量多。
PCDN利用了家庭带宽的上行流量,向外发送文件,给外部应用提供传输服务。这个时候,就会发生上行带宽远超下行带宽的情况。如果你发现你家上行带宽特别高,那么恭喜你,你可能被人薅羊毛了。
运营商(电信、移动、联通)是明令禁止PCDN技术的,如果运营商发现家庭带宽的上行流量占比过大,就会识别为PCDN并进行查封。为了逃避监管,PCDN需要提升下行流量的占比,于是疯狂地从外部下载文件——这就是盗刷的来源之一!如果你发现自己的博客网站被人疯狂下载文件,很有可能就是被PCDN拉下行了。
2、“抢蛋糕”的省间结算
省间结算是三大运营商近期发布的政策。简单概况就是,如果客户端与服务端位于不同省份,那么服务端所在省份,要给客户端所在省份,支付一定的流量结算费用。举个例子,你人在浙江省,用手机下载了一个文件,而文件下载来源是在山西省的一台服务器,那么浙江省就可以向山西省要钱——“你抢了我的客户!”
这个政策本意是为了优化各个省份运营商的利益分配。但有些地市运营商动了歪心思,既然客户端省份可以向服务端省份收钱,那么我冒充客户端,向外省下载文件,岂不是可以坐着收钱了?这就是盗刷的第二大来源!
二、盗刷的特征
如果你的平台或者网站,突发了大量的下载请求,带宽陡增,但你又没做什么推广活动,那么很又可能就是被盗刷了。盗刷有几个比较明显的特征:
1、盗刷主要下载大文件:盗刷的目的是PCDN拉下行,或者跨省结算,所以会拉取内容较大的文件,才能将流量刷上去;
2、客户端IP网段相对集中:盗刷不像CC或者DDoS那么有攻击性,盗刷来源的分布比较集中,所以客户端IP网段会相对集中;
3、请求的文件比较固定:如果一个客户端反复下载同一个文件,大概率存在异常;
4、有比较明显的标识:盗刷是模拟的客户端,但和正常的客户端还是有些微差异的,你可以看看UA、Referer、IP有没有比较固定。
三、如何防止盗刷
如果你能够识别到上述的特征,那可以根据对应特征来进行封禁,拒绝访问。如果你提供的是Web服务,你可以输出访问日志,我推荐日志中记录以下关键字段:
1、客户端IP
2、UA (HTTP请求头User-Agent)
3、Referer(HTTP请求头)
4、URL
5、被下载的文件大小
6、下载时间
这些信息足够你分析出盗刷的特征了。当你的网站出现异常突增流量时,按这些特征进行统计,比如10分钟内,你的90%流量消耗都集中在几个IP上,那基本就是盗刷行为。
除了通过日志分析,还可以做一些提前防御,比如配置时间戳防盗链,具体原理就不解释了,大家可以网上搜,大概的作用就是给你的下载链接加一个有效期,超过有效期访问链接就会失效,这可以阻挡一部分盗刷。还可以配置Referer白名单,只有你指定的Referer才能访问你的资源。
现在盗刷逐渐产业化,你去某宝某鱼搜拉下行,会有一堆接单的,真是什么钱都能赚。很多平台和网站不具备足够的技术能力来对抗盗刷,需要投入的精力很大。而且即使你成功封禁了一两次,盗刷又会更新特征,来绕过你的防护策略,野火烧不尽。我们目前在用的是白山云的CDN,产品和服务都还可以,这次及时发现并封禁止损也是多亏了他们。建议大家有防盗刷需求的,也可以多了解、求助下这些CDN和安全领域的专业服务商,看看他们能否为你提供一些防护策略。最后就是想再提醒下大家,吃一堑长一智,这个年头赚钱不易,大家得多加小心,严防恶意盗刷流量,拒绝薅羊毛,保卫钱袋子!