我的平台,我做主-与网络劫持的斗智斗勇

摘要:什么是流量劫持?大致可以分为两种,DNS劫持,以及链路劫持。劫持原因也比较多,DNS篡改,网页篡改,路由篡改等等这里就不多说了。用户电脑中毒、路由被攻破这种个人原因比较少数,真正的幕后大佬其实是我们的运Y商,呵呵,其实已经不是什么秘密,大家心照就好。下面分享一下po主针对网络劫持做过的一些事情,欢迎大家一起交流讨论。

劫持的方式:

从技术层面可以分为两种:

1、DNS劫持

当用户向local DNS去请求某个域名的真实ip时,运营商的local DNS服务器回复了一个假网站或内容缓存服务器的ip,最终导致用户访问出现异常。

2、链路劫持

运营商(也可能是黑客)在用户访问网站的时候进行窃听,获取用户访问的目的ip后,然后以这个ip为source-ip冒充网站给用户响应,通常响应中会篡改真实返回的数据。

从表现层面可以分为三种:
1、 DNS劫持:又叫DNS重定向攻击,将用户到想到非预期网站的行为。2、url劫持:
2.1、302跳转劫持,将用户url重定向到非目标网站。
2.2、修改url参数,比如在url里添加流量渠道标识或者页面参数。
3、网页内容篡改:
3.1、直接在网页中插入js。
3.2、在网页中嵌入iframe。

下面来看一组po主负责的平台一周劫持数据:

ps:此处详细数据图略(能检测到,一周总数超过15w次)。
被劫持省份主要分布在:42%重庆,20%湖北,14%浙江
劫持类型:97%弹窗小广告,3%直接跳转
发生劫持的网络运Y商:55% L通,41% D信,3% Y动,2%其他

解决方案

这里列出靠谱和不靠谱两类,并非不靠谱就不行,考虑到场景,实现成本,和最终效果来说靠谱类的相对好操作些,起码靠谱类第一点和第二点是po主验证过,第三点po未验证,这里列出来是为了提供一个思路。

靠谱的解决方案:

1、通过法务,商务对受益方进行沟通,要求受益方下掉侵权广告。
2、使用https,防止链路劫持。
3、绕过运营商DNS,使用公共DNS。

不靠谱的解决方案:

1、到工信部进行投诉。
2、抛弃域名访问,直接使用ip。

使用https

https的优点太多了,什么保密性、完整性、可用性,具体部署和细节这里就不展开说。https大概原理是运行在SSL/TLS之上的HTTP协议,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密。https报文中的任何东西都被加密,包括所有报头和荷载。一个攻击者所能知道的只是两者之前有一个连接而已,从而达到防止链路劫持的目的。
但是https并不是万能下面列出来https能防御哪些,不能防御哪些:

我的平台,我做主-与网络劫持的斗智斗勇_第1张图片
Paste_Image.png

被动监控型方案

上面的解决方案中提到通过法务,商务沟通的途径直接与受益方进行沟通,那么就需要提供准确的数据,和证据支持。技术需要建立一套收集网络劫持数据的系统,为法务,商务提供数据支持。
系统分为两部分:
第一部分 主要收集页面中的小广告连接,前端页面收集非正常url,并上报分析;
第二部分 通过客户端收集302跳转类型的劫持数据,上报并分析;

技术方案:

第一部分收集广告连接:
核心原理:是通过遍历 dom 元素,并收集 dom 中的 iframe,form,link,script 标签的 链接地址匹配是否是白名单的域名。并预设好一些收集到的插件,如果 非白名单域名,并且非插件域名,则上报劫持数据到数据中心。


我的平台,我做主-与网络劫持的斗智斗勇_第2张图片
Paste_Image.png

第二部分收集302跳转:
核心原理 : 在 浏 览 器 WN_BEFORENAVIGATE 事 件 (打 开 一 个 URL 地 址 之前 ) 及 WN_NEWWINDOW(准备开启新窗口时)中侦听即将跳转或打开的URL域名是否官方 域名,是否为(插件、统计)白名单域名,否则上报劫持数据。


我的平台,我做主-与网络劫持的斗智斗勇_第3张图片
Paste_Image.png
业务报表:

业务报表可根据实际需要进行分析和添加,具体需求情况而定,可以精确到IP,受益方,被劫持域名,劫持域名等,下面列出几个示例,以供参考。

我的平台,我做主-与网络劫持的斗智斗勇_第4张图片
Paste_Image.png
我的平台,我做主-与网络劫持的斗智斗勇_第5张图片
Paste_Image.png
我的平台,我做主-与网络劫持的斗智斗勇_第6张图片
Paste_Image.png

最后总结一下,针对劫持是一个长期的工作,需要不断的跟进,完善报表,与劫持者斗智斗勇的过程。没有市场就没有买卖,说到底就是一个字---钱。

前端·哈达
好好学习,天天向上

你可能感兴趣的:(我的平台,我做主-与网络劫持的斗智斗勇)