导语:BrowseFox是一款营销广告软件插件,它可以非法注入并弹出式广告和折扣优惠。本文将讲述如何利用机器学习检测BrowseFox的证书滥用行为。
通过采用机器学习算法,能使人们发现BrowseFox存在大量的证书签名滥用行为,这是由趋势科技公司检测到的一个PUA应用程序PUA_BROWSEFOX.SMC。BrowseFox是一款营销广告软件插件,它可以非法注入弹出式广告和折扣优惠。尽管它是合法的软件,但广告软件插件可能会被威胁行为者利用,它会通过破坏广告将受害者引向恶意网站,并在不知不觉中下载恶意软件。在我们的分析中,确定BrowseFox占据了200万个签名文件的大量数据集,并且这些文件的有效性和完整性已经过验证。
发现BrowseFox证书滥用问题
我们在准备2017年BlackHat亚洲会议演示时发现了证书签名滥用问题,其中我们展示了如何将局部敏感哈希(LSH)用于智能/动态白名单(SHA1或MD5等密码哈希完全不适合此任务) 。
经确认,在使用趋势科技局域敏感哈希(TLSH)聚类分析一组200万个签名文件时,许多聚类有一个非常特殊和奇怪的特征:聚类文件由许多不同的签名者签名。这种情况多发于合法的软件中,但是我们与BrowseFox相关联的聚类有另一个属性; 当我们针对签名者构建了一个聚类图时,这些聚类形成了一个近似二分团。然后我们能够识别与该团体相关的文件,并将大约25万个文件标记为BrowseFox候选人。我们检查了VirusTotal上的候选样本,发现了5,203个文件哈希,并确定它们确实都是BrowseFox文件。经进一步调查,我们发现这些文件已由519名不同的证书签名者签名。[1]这似乎是BrowseFox的策略,即创建新的签名实体以获取有效证书。
正如之前在探索(恶意)软件下载中所观察到的,签名文件本质上不一定是非恶意的。在研究结果中,许多恶意软件下载都已签名。BrowseFox调查结果进一步突出了恶意行为者如何滥用有效的证书签名者传播恶意软件。
在200万个已签名的可执行文件中,我们发现有244000个文件是BrowseFox的恶意软件或PUA文件。这244000个文件通过两个严格的条件被成功识别为BrowseFox:首先,该文件已由519个不合格签名者其中之一签名,其次,它属于任何BrowseFox组中的任何一个。
图1.在VirusTotal上看到的BrowseFox文件签名信息的屏幕截图
图1显示了从VirusTotal收集的示例BrowseFox文件。在签名信息中,根证书持有者是VeriSign,它提供代码签名服务。创建该文件的实体或公司(即最终签名者)是Sale Planet。很显然,这个BrowseFox PUA也由合法签名人签名。
BrowseFox进化树
我们为244,000个文件创建了BrowseFox进化树,以进一步显示证书签名滥用的规模。
我们的进化树从生物学领域的系统中获得了灵感,并给出了两个文件相互连接的描述和可视化表现。每个进化树中的高度是它的TLSH距离,其中高度值表示TLSH哈希和一组文件的哈希之间的相对距离。图2显示了使用TLSH进行聚类的进化树的一个例子。
图2. Dropbox进化树
图3. BrowseFox进化树
BrowseFox进化树(如图3所示)将能够帮助检测文件是否可能是BrowseFox,或者是否属于图中特有的任何组。如果文件不在任何组的半径范围内,则通过与任何组的相对距离可以确定它是不是BrowseFox。为了检查有问题的文件,可以在沙箱中对其数据进行进一步分析,或者可以评估它是否满足附加标准等。
进化树可以用于TLSH适用的任何东西,例如使用标准软件开发方法创建的文件。适合这种样式并且可能通过进化树可视化的文件包括PUA,coinminer,hacktools及许多高级持续威胁。
ML,TLSH技术
两种机器学习技术对我们的发现是最要的部分:无监督和基于实例的机器学习类型的组合。无监督学习技术使人们能够浏览大量未标记的文件,从中找到独特的模式,并相应地对它们进行聚类。基于实例的学习算法允许通过计算距离分数,并将它们与已知的好的和不好的文件进行比较,来识别哪些未标记的文件是恶意的或者不是恶意的。基于实例的学习对于识别潜在有害程序(PUP)等应用程序非常有效。
这些ML类型为TLSH提供了强大的功能,我们曾使用它来对200万个已签名的可执行文件进行聚类,从中检测到BrowseFox代码签名滥用。TLSH是一种基于实例的机器学习方案,趋势科技在GitHub上开发并开源,为白名单生成哈希值。
与其他模糊哈希技术(如Ssdeep)相比,TLSH具有可扩展性、相对较高的攻击安全性以及更高的准确性,使其成为最合适的方法。在一篇名为“ 超越精确度和回忆:理解二进制分析中相似哈希的使用(和滥用)”的论文中,TLSH的表现一直超越Ssdeep,并且“在代码更改时识别同一软件的变体非常可靠”。
我们发现BrowseFox证书滥用问题突出了应用程序控制系统中的缺陷以及更好的白名单处理的必要性。TLSH允许主动检测好文件的哈希,并且可以跟上软件的常规修补和版本发布。除了能够减少系统中的错误警报外,它还支持不同的环境,例如Linux,Windows和Python Extension。更好更智能的白名单,是TLSH能够作为白名单系统的一部分。
[1]在2017年10月的分析中发现了519名不同的证书签名者。
本附录列出了519个不同的证书签名者。