15

“信任“之殇――安全软件的“白名单”将放大恶意威胁 | WooYun知识库

 6 years ago
source link:
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

0x00 背景


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

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

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

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

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

p1 图1、"光速桌面搜索"静默安装包

p2 图2、火绒“软件安装拦截“提示

0x01 分析


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

p3 图3、文件描述信息

p4 图4、合法的文件签名

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

p5 图5、“光速桌面搜索”利用WPS升级程序进行流氓推广

p6 图6、“光速桌面搜索”利用WPS升级程序进行流氓推广

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

0x02 延伸


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

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

p7 图7、腾讯视频推广程序命令行

p8 图8、QQ影音推广程序命令行

p9 图9、PPLive推广程序命令行

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

p10 图10、腾讯视频推广第三方应用

p11 图11、腾讯视频通过St******cs.exe程序下载并运行推广包

p12 图12、腾讯St******cs.exe漏洞测试

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

p13 图13、腾讯St******cs.exe获取下载链接

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

p14 图14、腾讯St******cs.exe下载并运行程序

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

p15 图15、PPTV的下载程序

p16 图16、PPTV漏洞测试

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

p17 图17、PPTV L****r.exe获取下载链接、拼接保存文件路径

p18 图18、PPTV L****r.exe下载并执行任意程序

0x03 综述


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

在这里,火绒呼吁:

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK