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

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2016-04-22T10:45:00Z
Canonical: https://wepostx.com/topics/213

> 乌云历史资料归档
>
> **原始作者：** 火绒安全
> **原始编号：** superkieran-wooyundrops:1164
> **原始发布时间：** 2016-04-22 18:45
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

# 0x00 背景

“白名单“，即一系列被信任的对象的集合，与”黑名单“对应，通常被用来实现”排除“类的逻辑。在安全领域中，”白名单“通常被用来优化对信任对象的分析逻辑或解决查杀、拦截逻辑所产生的误报等。
然而，在国内的安全圈里有一种“非白即黑“的说法，即通过统计学算法等极为宽泛的启发逻辑对待检测样本进行”扫描“，并通过高覆盖率的”白名单“云（即通常所说的”白云“）来压制这类启发算法所带来的误报。这种逻辑并不难理解，因为”白文件“的数量远远多于”黑文件“，所以如果忽略误报的问题，“用白名单报毒“显然可以”有效“提高”检测率“。这就不难理解，为什么我们常常会在网络上看到某某安全软件的用户反映”为什么我自己刚刚编译的程序就被某某安全软件报毒？“这样的问题了。
另外，一些安全软件还会利用“白名单“来”优化用户体验“，例如对”白名单”程序的行为不作分析、拦截等等。
然而，（对“白名单”的）“信任”往往伴随着漏洞，这些漏洞可能来自程序逻辑，甚至可能源于人性。由于“信任”机制所产生的漏洞，我们通常称其为“信任漏洞”。病毒作者通常会试图利用安全软件的“信任漏洞”，想方设法利用在安全软件”白名单“内的程序来实现恶意行为。我们称这类技术为”信任利用“（Trust-Exploitation）技术，也就是坊间常说的”白加黑“。前段时间新闻报道过的病毒作者通过贿赂某安全软件厂商人员，将自己的病毒程序加入的安全软件的”白名单“，正是出于这个目的。
最近火绒的”软件安装拦截“截获了一个名为”光速桌面搜索”的静默安装包（图1、图2），它就是试图通过“信任利用”技术来静默推广安装多款软件。

![原文图片](/media/2016/06/b8e1fcc65187d4e54c626f736ad79d97)
 图1、"光速桌面搜索"静默安装包

![原文图片](/media/2016/06/28157c24f28dbceb8fc2059dc555cec2)
 图2、火绒“软件安装拦截“提示

# 0x01 分析

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

![原文图片](/media/2016/06/c3c056bcd8fa151392271ca90279f324)
 图3、文件描述信息

![原文图片](/media/2016/06/fa4bb0e3b4b3e6a031d0875487298bb1)
 图4、合法的文件签名
接下来，“光速桌面搜索”通过这个WPS升级程序支持的命令行参数，来实现后台推广软件下载和执行。如图5、图6所示：

![原文图片](/media/2016/06/4902676df13bf16b31c0a3369d4767fa)
 图5、“光速桌面搜索”利用WPS升级程序进行流氓推广

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

# 0x02 延伸

通过金山的数字签名，我们发现这个WPS升级程序产生于2011年。经过这几年的发展，还会不会有正规软件存在这样的漏洞呢？
通过火绒安全情报分析系统，我们发现存在此类漏洞的软件并不止金山一家，腾讯视频、QQ影音、PPLive等软件均存在此类程序设计漏洞，病毒作者可以通过上述软件的程序组件下载并执行任意程序。如图7、图8、图9所示：

![原文图片](/media/2016/06/47f420b53b0647772a1bd62076996994)
 图7、腾讯视频推广程序命令行

![原文图片](/media/2016/06/de710c84e39824eea71e63836cae355f)
 图8、QQ影音推广程序命令行

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

![原文图片](/media/2016/06/b92b61977739ec5396db8511ef672f37)
 图10、腾讯视频推广第三方应用

![原文图片](/media/2016/06/a0be22b055a59e834b76adfaa616fd4c)
 图11、腾讯视频通过St******cs.exe程序下载并运行推广包

![原文图片](/media/2016/06/b432d5b4b4df0168c5c024faa8a29812)
 图12、腾讯St******cs.exe漏洞测试
通过分析St******cs.exe，我们发现该程序在获取到命令行参数后，会去查找”-b***url”参数，如果找到就会获取参数提供的下载链接，但并没有去校验下载链接的合法性，就将其交给下载函数。如图13所示：

![原文图片](/media/2016/06/10f225d6066f5d50753c3d1b8b5f4260)
 图13、腾讯St******cs.exe获取下载链接
在下载函数中，我们可以看到，在下载函数中该程序也没有校验链接的合法性，就直接创建目录并联网进行下载了。（如图14）

![原文图片](/media/2016/06/eebf06a686ffb6293b59f77376865388)
 图14、腾讯St******cs.exe下载并运行程序
PPTV在安装时会也静默推广第三方软件，PPTV会在安装时释放一个L****r.exe的程序来下载安装包，该程序带有合法的PPTV的数字签名（如图15所示）。通过测试该程序也没有校验下载链接和下载的程序的安全性，只要修改命令行参数，发现该程序也可以按照任意指定的下载链接下载程序并运行（如图16所示）。

![原文图片](/media/2016/06/87549be2affbdd67be1edb025f8a580c)
 图15、PPTV的下载程序

![原文图片](/media/2016/06/35213707c4787b34e9d3bd814329ef96)
 图16、PPTV漏洞测试
经过简单分析，我们发现该程序和腾讯的下载程序一样，都只是简单的获取参数中的下载链接后，直接下载并执行的程序，并没有任何的安全性验证（如图17、18所示）。

![原文图片](/media/2016/06/9b66f1b825ffecc01ece12567fc46c2d)
 图17、PPTV L****r.exe获取下载链接、拼接保存文件路径

![原文图片](/media/2016/06/21cdeaf4b50591a9c81839491a63b0e5)
 图18、PPTV L****r.exe下载并执行任意程序

# 0x03 综述

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

- 安全软件厂商应从技术上提升对拦截和查杀的准确度，合理地利用“白名单”，从逻辑和机制上避免“信任漏洞”的产生；

- 软件厂商也应提高代码安全意识，对于程序获得的输入数据应进行有效的合法性判断，避免程序的功能逻辑被恶意利用成为犯罪者手中的“刀具”；

## Replies
