不久前,Petya勒索病毒变种在乌克兰爆发,并蔓延到欧洲多个国家的大型企业。病毒攻击的根源是劫持了乌克兰专用会计软件me-doc的升级程序,使用户更新软件时感染病毒,从而对众多企业的系统和数据造成惨重损失。
劫持软件升级“投毒”并不是新鲜的攻击手法,国内也屡有发生。但就在Petya勒索病毒变种轰动全球后短短数天时间内,山东、山西、福建、浙江等多省的软件升级劫持达到空前规模,360安全卫士对此类攻击的单日拦截量突破40万次!
尽管国内的软件升级劫持目前仅仅被利用流氓推广软件,但是大规模的网络劫持、大量缺乏安全升级机制的软件,如果再加上“商业模式”非常成熟的勒索病毒,无疑会造成灾难性后果。
事件还原
近期有多款软件用户密集反映360“误报了软件的升级程序”,但事实上,这些软件的升级程序已经被不法分子恶意替换。
下图就是一例爱奇艺客户端升级程序被劫持的下载过程:可以看到服务器返回了302跳转,把下载地址指向了一个并不属于爱奇艺的CDN服务器地址,导致下载回来的安装包变为被不法分子篡改过的推广程序。
图1 遭302跳转劫持的下载链接
此次被劫持升级程序的流行软件远不止爱奇艺一家,下图就是一些由于网络劫持而出现的“假软件”。
图2被网络劫持替换的“假软件”
以下,我们以伪造的百度网盘安装程序“BaiduNetdisk_5.5.4.exe”为例分析一下恶意程序的行为。
与正常的安装程序相比,该程序不具备合法的数字签名,并且体积较大。
图3被篡改的伪装安装程序
图4正常的安装程序
通过对比可以发现,两者在内容上还是有较大差别。两者只有8.7%的函数内容相同。
图5伪装安装程序和正常安装程序函数对比
程序最初执行时会从从资源段中释放一个PE文件并执行,该文件就是程序所伪装的正常安装包。因此,该伪装程序是在运行正常安装包的同时静默安装其他推广程序。在正常安装包运行时,本程序会读取bjftzt.cdn.powercdn.com站点的子目录下的一个dat文件的内容,dat文件路径根据安装程序不同而不同,本文分析的程序“BaiduNetdisk_5.5.4.exe”所读取的是bjftzt.cdn.powercdn.com/upc/20170329/2A7BF0576BE7380A30B8669182226FBD.dat。程序请求数据包内容如下图所示:
图6 请求数据包内容
所读取的dat文件的内容如下图所示:
span style="font-size: 9pt;">图7 dat文件内容span>
dat文件中的内容经过base64+DES加密。DES密钥经过简单加密后硬编码在程序中,下图展示了DES密钥的解密过程:
图8 DES密钥解密过程
解密后得到的DES密钥为“eh9ji8pf”。经分析发现多款伪装程序使用同一个DES密钥。
之后程序对dat文件的内容进行base64+DES解密,解密函数如下图所示:
图9 解密函数
解密后得到的文件内容如下图所示。不难看出,文件内容为一个配置列表,列表中包括多个需要推广的应用程序名称、应用程序下载链接、程序启动参数、卸载对应的注册表项等信息:
图10 解密后的dat文件内容
之后程序会从配置列表中选取一个推广程序的下载链接,下载推广程序并安装在受害者电脑上:
图11 下载推广程序的请求包内容
而以上流氓推广行为完成后,安装包会回归到原始的正常安装流程,以此来掩人耳目。
根据360安全卫士的持续监控和拦截,该劫持行为从今年3月底就已经开始出现,360一直在持续跟进查杀,近日来则突然出现了爆发趋势,为此360安全卫士官方微博公开发布了警报。7月4日,也就是在360发布软件升级劫持攻击警报后,此类攻击行为出现了一定程度下降。
图12 网络劫持量走势
根据已有数据统计显示,受到此次劫持事件影响的用户已经超过百万。而这些被劫持的用户绝大多数来自于山东地区。另外,山西、福建、浙江、新疆、河南等地也有一定规模爆发。
图13 被劫持用户地域分布
在此提醒各大软件厂商,软件更新尽量采用https加密传输的方式进行升级,以防被网络劫持恶意利用。对于普通互联网用户,360安全卫士“主动防御”能够拦截并查杀利用软件升级投放到用户电脑里的恶意程序,建议用户更新软件时开启安全防护。
图14 360安全卫士拦截软件升级劫持“投毒”
图15:VT检测结果,国内仅360查杀此次软件升级劫持攻击样本
|