0553-“信任“之殇――安全软件的“白名单”将放大恶意威胁

# “信任“之殇――安全软件的“白名单”将放大恶意威胁

0x00 背景
=======

* * *

“白名单“,即一系列被信任的对象的集合,与”黑名单“对应,通常被用来实现”排除“类的逻辑。在安全领域中,”白名单“通常被用来优化对信任对象的分析逻辑或解决查杀、拦截逻辑所产生的误报等。

然而,在国内的安全圈里有一种“非白即黑“的说法,即通过统计学算法等极为宽泛的启发逻辑对待检测样本进行”扫描“,并通过高覆盖率的”白名单“云(即通常所说的”白云“)来压制这类启发算法所带来的误报。这种逻辑并不难理解,因为”白文件“的数量远远多于”黑文件“,所以如果忽略误报的问题,“用白名单报毒“显然可以”有效“提高”检测率“。这就不难理解,为什么我们常常会在网络上看到某某安全软件的用户反映”为什么我自己刚刚编译的程序就被某某安全软件报毒?“这样的问题了。

另外,一些安全软件还会利用“白名单“来”优化用户体验“,例如对”白名单”程序的行为不作分析、拦截等等。

然而,(对“白名单”的)“信任”往往伴随着漏洞,这些漏洞可能来自程序逻辑,甚至可能源于人性。由于“信任”机制所产生的漏洞,我们通常称其为“信任漏洞”。病毒作者通常会试图利用安全软件的“信任漏洞”,想方设法利用在安全软件”白名单“内的程序来实现恶意行为。我们称这类技术为”信任利用“(Trust-Exploitation)技术,也就是坊间常说的”白加黑“。前段时间新闻报道过的病毒作者通过贿赂某安全软件厂商人员,将自己的病毒程序加入的安全软件的”白名单“,正是出于这个目的。

最近火绒的”软件安装拦截“截获了一个名为”光速桌面搜索”的静默安装包(图1、图2),它就是试图通过“信任利用”技术来静默推广安装多款软件。

![p1](http://drops.javaweb.org/uploads/images/b99be51540ed6b831d666d8f0307d2c4078d3371.jpg)图1、”光速桌面搜索”静默安装包

![p2](http://drops.javaweb.org/uploads/images/c17279ecf55c3246f56784727ecb07f5d667fa78.jpg)图2、火绒“软件安装拦截“提示

0x01 分析
=======

* * *

这个”光速桌面搜索”的静默安装包(后文简称“光速桌面搜索”)运行后会释放一个名为qdw.exe的文件,通过查看文件信息,发现该文件有合法的金山数字签名。通过分析,不难发现这个qdw.exe其实是WPS的升级程序(图3、图4)。

![p3](http://drops.javaweb.org/uploads/images/4d7b7a7145e1613c046aed30a10a3112f488a8e4.jpg)图3、文件描述信息

![p4](http://drops.javaweb.org/uploads/images/b2e8abf01c28c0b8c554152f592178f78e686d8b.jpg)图4、合法的文件签名

接下来,“光速桌面搜索”通过这个WPS升级程序支持的命令行参数,来实现后台推广软件下载和执行。如图5、图6所示:

![p5](http://drops.javaweb.org/uploads/images/cd544b436f54c5ee1e4ad687fb415549829bb937.jpg)图5、“光速桌面搜索”利用WPS升级程序进行流氓推广

![p6](http://drops.javaweb.org/uploads/images/fb1dfa48492106cf43daeee4e3848eb2ef7da4f6.jpg)图6、“光速桌面搜索”利用WPS升级程序进行流氓推广

由于这个”WPS升级程序“是通过命令行参数来获取下载链接的,使得别人可以轻易的修改下载地址,而且该程序对下载链接和下载后的的程序没有验证安全性,导致了可以下载运行任意程序。由于这个2011年签名的WPS升级程序早已被各家安全软件收入”白名单“,才被“光速桌面搜索”用来施展“信任利用“技术,堂而皇之地进行流氓推广。

0x02 延伸
=======

* * *

通过金山的数字签名,我们发现这个WPS升级程序产生于2011年。经过这几年的发展,还会不会有正规软件存在这样的漏洞呢?

通过火绒安全情报分析系统,我们发现存在此类漏洞的软件并不止金山一家,腾讯视频、QQ影音、PPLive等软件均存在此类程序设计漏洞,病毒作者可以通过上述软件的程序组件下载并执行任意程序。如图7、图8、图9所示:

![p7](http://drops.javaweb.org/uploads/images/0b79b5ffa2180f0e0e65bd218677bddbbf4c8768.jpg)图7、腾讯视频推广程序命令行

![p8](http://drops.javaweb.org/uploads/images/f864cb9f25dcf721249f13a6c4e8f62a21f591c8.jpg)图8、QQ影音推广程序命令行

![p9](http://drops.javaweb.org/uploads/images/b84128ddf646453a1de7d5ff8be63a7b181cf0a1.jpg)图9、PPLive推广程序命令行

腾讯视频在安装的时候会可选的推广一些第三方软件(图10),而出问题的就是下载安装包的程序`St******cs.exe`。该程序没有对参数的合法性进行验证,只要按照参数格式替换掉下载链接,该程序就会全自动地完成下载、执行(图11)。图12所示的网址是我搭建的一个测试服务器,我在这个服务器上传了一个微软的计算器程序,之后将`St******cs.exe`程序拷贝到C盘根目录,添加参数运行,计算器程序被成功下载并运行。

![p10](http://drops.javaweb.org/uploads/images/7e74b256f1a0b07ca3b2182490268fbc3d26e69e.jpg)图10、腾讯视频推广第三方应用

![p11](http://drops.javaweb.org/uploads/images/9888298b51ec9d1b234ed15eb0198846e3f746f7.jpg)图11、腾讯视频通过`St******cs.exe`程序下载并运行推广包

![p12](http://drops.javaweb.org/uploads/images/a469cc04f9302f7f33c78f13bb52966e224b7f57.jpg)图12、腾讯`St******cs.exe`漏洞测试

通过分析`St******cs.exe`,我们发现该程序在获取到命令行参数后,会去查找”`-b***url`”参数,如果找到就会获取参数提供的下载链接,但并没有去校验下载链接的合法性,就将其交给下载函数。如图13所示:

![p13](http://drops.javaweb.org/uploads/images/9877f04edbe2b6fa52c91c813c0488e10f35fd2f.jpg)图13、腾讯`St******cs.exe`获取下载链接

在下载函数中,我们可以看到,在下载函数中该程序也没有校验链接的合法性,就直接创建目录并联网进行下载了。(如图14)

![p14](http://drops.javaweb.org/uploads/images/d73302297a506f3ab166905661657f6206d00432.jpg)图14、腾讯`St******cs.exe`下载并运行程序

PPTV在安装时会也静默推广第三方软件,PPTV会在安装时释放一个`L****r.exe`的程序来下载安装包,该程序带有合法的PPTV的数字签名(如图15所示)。通过测试该程序也没有校验下载链接和下载的程序的安全性,只要修改命令行参数,发现该程序也可以按照任意指定的下载链接下载程序并运行(如图16所示)。

![p15](http://drops.javaweb.org/uploads/images/6d9ec77d530d3fe24cd309f1deaddcd5bd85f138.jpg)图15、PPTV的下载程序

![p16](http://drops.javaweb.org/uploads/images/5715a6f1a462a8f1fc9344c3bde9919b9a0adf9f.jpg)图16、PPTV漏洞测试

经过简单分析,我们发现该程序和腾讯的下载程序一样,都只是简单的获取参数中的下载链接后,直接下载并执行的程序,并没有任何的安全性验证(如图17、18所示)。

![p17](http://drops.javaweb.org/uploads/images/6186cfa48e3061f44e1d61489450c7c39311b5e1.jpg)图17、PPTV`L****r.exe`获取下载链接、拼接保存文件路径

![p18](http://drops.javaweb.org/uploads/images/0815c33fb92247a7c4b12da39484b47a6dff7c76.jpg)图18、PPTV`L****r.exe`下载并执行任意程序

0x03 综述
=======

* * *

根据火绒安全情报分析系统统计到的拦截数据,我们发现有很多软件均存在本文中提到的设计漏洞。有些程序甚至已经被病毒或流氓软件作者所利用,通过软件的设计漏洞,利用安全软件的“信任漏洞”来躲避安全软件的查杀和拦截,进而执行恶意或流氓行为。

在这里,火绒呼吁:

1. 安全软件厂商应从技术上提升对拦截和查杀的准确度,合理地利用“白名单”,从逻辑和机制上避免“信任漏洞”的产生;
2. 软件厂商也应提高代码安全意识,对于程序获得的输入数据应进行有效的合法性判断,避免程序的功能逻辑被恶意利用成为犯罪者手中的“刀具”;

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容