劫持流量原理是什么?关于劫持流量的种类和产生
在鼠标点击的一刹那,流量在用户系统中流过层层节点,在路由的指引下奔向远程服务器。这段路程中短兵相接的战斗往往是最激烈的,在所有流量可能路过的节点往往都埋伏着劫持者,流量劫持的手段也层出不穷,从主页配置篡改、hosts劫持、进程hook、启动劫持、lsp注入、浏览器插件劫持、http代理过滤、内核数据包劫持、bootkit等等不断花样翻新。或许从开机的一瞬间,流量劫持的故事就已经开始。
1.道貌岸然的流氓软件
“网址导航”堪称国内互联网最独特的一道风景线,从hao123开始发扬光大,各大导航站开始成为互联网流量最主要的一个入口点,伴随着的是围绕导航主页链接的小尾巴(推广id),展开的一场场惊心动魄的攻防狙击战。一方面国内安全软件对传统ie浏览器的主页防护越来越严密, 另一方面用户体验更好的第三方浏览器开始占据主流地位,国内的流氓木马为了谋求导航量也开始“另辟蹊径”。
下面讲到的案例是我们曾经捕获到的一批导航主页劫持样本,历史活跃期最早可以追溯到2014年,主要通过多类流氓软件捆绑传播,其劫持功能模块通过联网更新获取,经过多层的内存解密后再动态加载。其中的主页劫持插件模块通过修改浏览器配置文件实现主页篡改,对国内外的chrome、火狐、safari、傲游、qq、360、搜狗等20余款主流浏览器做到了全部覆盖。实现这些功能显然需要对这批浏览器的配置文件格式和加密算法做逆向分析,在样本分析过程中我们甚至发现其利用某漏洞绕过了其中2款浏览器的主页保护功能,流氓作者可谓非常“走心”,可惜是剑走偏锋。
[1] 某软件下拉加载主页劫持插件
上图就是我们在其中一款软件中抓取到的主页劫持模块文件和更新数据包,可能你对数据包里这个域名不是很熟悉,但是提到“音速启动”这款软件相信安全圈内很多人都会有所了解,当年各大安全论坛的工具包基本上都是用它来管理配置的,伴随了很多像本文作者这样的三流小黑客的学习成长,所以分析这个样本过程中还是有很多感触的,当然这些木马劫持行为可能和原作者没有太大关系,听说这款软件在停止更新几年后卖给了上海某科技公司,其旗下多款软件产品都曾被发现过流氓劫持行为,感兴趣的读者可以自行百度,这里不再进行更多的披露。
正如前面的案例,一部分曾经的老牌软件开始慢慢变质,离用户渐行渐远;另一方面,随着最近几年国内安全环境的转变,之前流行的盗号、下载者、远控等传统木马日渐式微,另外一大批披着正规软件外衣的流氓也开始兴起,他们的运作方式有以下几个特点:
1.冒充正规软件,但实际功能单一简陋,有些甚至是空壳软件,常见的诸如某某日历、天气预报、色播、输入法等五花八门的伪装形式,企图借助这些正常功能的外衣逃避安全软件的拦截,实现常驻用户系统的目的。
2.背后行为与木马病毒无异,其目的还是为了获取推广流量,如主页锁定,网页劫持、广告弹窗、流量暗刷、静默安装等等。而且其中很大一部分流氓软件的恶意模块和配置都通过云端进行下拉控制,可以做到分时段、分地区、分场景进行投放触发。
[2] 某流氓软件的云端控制后台
3.变种速度比较快,屡杀不止,被安全软件拦截清理后很快就会更换数字签名,甚至换个软件外壳包装后卷土重来。这些数字签名注册的企业信息很多都是流氓软件作者从其他渠道专门收购的。
[3]某流氓软件1个月内多次更换数字签名证书逃避安全软件查杀
下面可以通过几个典型案例了解下这些流氓软件进行流量劫持的技术手法:
1)通过浏览器插件进行流量劫持的qtv系列变种,该样本针对ie浏览器通过bho插件在用户网页中注入js脚本,针对chrome内核的浏览器利用漏洞绕过了部分浏览器插件的正常安装步骤,通过篡改配置文件添加浏览器插件实现动态劫持。
[4]被静默安装到浏览器中的插件模块,通过js注入劫持网页
通过注入js脚本来劫持用户网页浏览的技术优点也很明显,一方面注入的云端js脚本比较灵活,可以随时在云端控制修改劫持行为,另一方面对于普通用户来说非常隐蔽,难以察觉。被注入用户网页的js脚本的对网页浏览中大部分的推广流量都进行了劫持,如下图:
[5] 在网页中注入js劫持推广流量
2)下面这个“高清影视流氓病毒”案例是去年曾深入跟踪的一个流氓病毒传播团伙,该类样本主要伪装成播放器类的流氓软件进行传播,技术特点如下图所示,大部分劫持模块都是驱动文件,通过动态内存加载到系统内核,实现浏览器劫持、静默推广等病毒行为。
[6] “高清影视”木马劫持流程简图
从木马后台服务器取证的文件来看,该样本短期内传播量非常大,单日高峰达到20w+,一周累计感染用户超过100万,安装统计数据库每天的备份文件都超过1g。
[7] “高清影视”木马后台服务器取证
2.持续活跃的广告弹窗挂马
提到流量劫持,不得不说到近2年时间内保持高度活跃的广告弹窗挂马攻击案例,原本的广告流量被注入了网页木马,以广告弹窗等形式在客户端触发,这属于一种变相的流量劫持,更确切的说应该称之为“流量污染”或“流量投毒”,这里我们将其归类为本地劫持。
近期挂马利用的漏洞多为ie神洞(cve-2014-6332)和hackingteam泄漏的多个flash漏洞。通过网页挂马,流量劫持者将非常廉价的广告弹窗流量转化成了更高价格的安装量,常见的cpm、cpv等形式的广告流量每1000用户展示只有几元钱的成本,假设网页挂马的成功率有5%,这意味着劫持者获取到20个用户的安装量,平均每个用户静默安装5款软件,劫持者的收益保守估计有50元,那么“广告流量投毒”的利润率就近10倍。这应该就是近两年网页挂马事件频发背后的最大源动力。
[8] 网页木马经常使用的ie神洞(cve-2014-6332)
[9] 网页木马利用ie浏览器的res协议检测国内主流安全软件
这些广告流量大多来自于软件弹窗、色情站点、垃圾站群、运营商劫持量等等,其中甚至不乏很多知名软件的广告流量,从我们的监测数据中发现包括酷狗音乐、搜狐影音、电信管家、暴风影音、百度影音、皮皮影音等多家知名软件厂商的广告流量被曾被劫持挂马。正是因为如此巨大的流量基数,所以一旦发生挂马事件,受到安全威胁的用户数量都是非常巨大的。
[10] 对利用客户端弹窗挂马的某病毒服务器取证发现的flash漏洞exp
据了解很多软件厂商对自身广告流量的管理监控都存在漏洞,有些甚至经过了多层代理分包,又缺乏统一有力的安全审核机制,导致被插入网页木马的“染毒流量”被大批推送到客户端,最终导致用户系统感染病毒。在样本溯源过程中,我们甚至在某知名音乐软件中发现一个专门用于暗刷广告流量的子模块。用户越多责任越大,且行且珍惜。
[11] 2015年某次挂马事件涉及的弹窗客户端进程列表
[12] 对2015年度最活跃的某挂马服务器的数据库取证(高峰期每小时5k+的安装量)
二、网络劫持
流量劫持的故事继续发展,当一个网络数据包成功躲开了本地主机系统上的层层围剿,离开用户主机穿行于各个路由网关节点,又开启了一段新的冒险之旅。在用户主机和远程服务器之间的道路同样是埋伏重重,数据包可能被指引向错误的终点(dns劫持),也可能被半路冒名顶替(302重定向),或者直接被篡改(http注入)。
1.运营商劫持
提起网络劫持往往第一个想起的就是运营商劫持,可能每一个上网的用户或多或少都曾经遇到过,电脑系统或手机用安全软件扫描没有任何异常,但是打开正常网页总是莫名其妙弹出广告或者跳转到其他网站。对普通用户来说这样的行为可以说深恶痛绝,企业和正规网站同样也深受其害,正常业务和企业形象都会受到影响,在15年年底,腾讯、小米、微博等6家互联网公司共同发表了一篇抵制运营商流量劫持的联合声明。
在我们日常的安全运营过程中也经常接到疑似运营商劫持的用户反馈,下面讲述一个非常典型的http劫持跳转案例,用户反馈打开猎豹浏览器首页点击下载就会弹出广告页面,经过我们的检测发现用户的网络被运营商劫持,打开网页的数据包中被注入了广告劫持代码。类似的案例还有很多,除了明面上的广告弹窗,还有后台静默的流量暗刷。对于普通用户来说,可能只有运营商客服投诉或工信部投诉才能让这些劫持行为稍有收敛。
[13] 用户打开网页的数据包被注入广告代码
[14] 用户任意点击网页触发广告弹窗跳转到“6间房”推广页面
这个案例劫持代码中的域名“abc.ss229.com”归属于推广广告联盟,在安全论坛和微博已有多次用户反馈,其官网号称日均pv达到2.5亿。其实运营商劫持流量的买卖其实已是圈内半公开的秘密,结合对用户上网习惯的分析,可以实现对不同地区、不同群体用户的精准定制化广告推送,感兴趣的读者可以自行搜索相关的qq群。
[15] 公开化的运营商劫持流量买卖
缺乏安全保护的dns协议和明文传输的http流量非常容易遭到劫持,而运营商占据网络流量的必经之路,在广告劫持技术上具有先天优势,比如常见的分光镜像技术,对于普通用户和厂商来说对抗成本相对较高,另一方面国内主流的搜索引擎、导航站点、电商网站都已经开始积极拥抱更加安全的https协议,这无疑是非常可喜的转变。
[16] 常用于运营商流量劫持的分光镜像技术
wooyun平台上也曾多次曝光运营商流量劫持的案例,例如曾经被用户举报的案例“下载小米商城被劫持到uc浏览器app”,感谢万能的白帽子深入某运营商劫持平台系统为我们揭秘内幕。
[17] 被曝光的某运营商apk下载分发劫持的管理后台
以上种种,不得不让人想起“打劫圈”最富盛名的一句浑语,“此山是我开,此树是我栽,要想过此路,留下买路财”,“买网络送广告”已经成为网络运营商的标准套餐。这些劫持流量的买卖显然不仅仅是所谓的“个别内部员工违规操作”,还是那句话,用户越多责任越大,且行且珍惜。
2.cdn缓存污染
cdn加速技术本质上是一种良性的dns劫持,通过dns引导将用户对服务器上的js、图片等不经常变化的静态资源的请求引导到最近的服务器上,从而加速网络访问。加速访问的良好用户体验使cdn加速被各大网站广泛使用,其中蕴含的惊人流量自然也成为流量劫持者的目标。
[18] 用户打开正常网页后跳转到“色播”诱导页面
去年我们曾多次接到用户反馈使用手机浏览器打开网页时经常被跳转到色情推广页面,经过抓包分析,发现是由于百度网盟cdn缓存服务器中的关键js文件被污染注入广告代码,劫持代码根据user-agent头判断流量来源后针对pc、android、iso等平台进行分流弹窗,诱导用户安装“伪色播”病毒app。
[19] 抓包分析显示百度网盟的公共js文件被注入广告代码
[20] 劫持代码根据访问来源平台的不同进行分流,推广“伪色播”病毒app
百度网盟作为全国最大的广告联盟之一,每天的广告流量pv是都是以亿为单位的,其cdn缓存遭遇劫持产生的影响将非常广泛。通过分析我们确认全国只有个别地区的网络会遭遇此类劫持,我们也在第一时间将这个情况反馈给了友商方面,但造成缓存被劫持的原因没有得到最终反馈,是运营商中间劫持还是个别缓存服务器被入侵导致还不得而知,但是这个案例给我们的cdn服务的安全防护再一次给我们敲响警钟。