恶意软件Flame分析如何防御欺骗证书?

每当新发现一种恶意软件,它就会马上成为安全领域的热点话题,而且它们总是被认为比其他恶意软件更特殊和更高级,即使实际情况不是这样的。

可以理解,企业发现很难逐一分析每一个新出现的恶意软件,以确定它是否真是一个威胁。由于与臭名昭著的Stuxnet恶意软件工具包相似,所以在最近发现的Flame恶意软件工具包中,大部分讨论都关于它采用的特殊方法。虽然它已经被证实是一个重要威胁,但是Flame的许多功能实际上都曾经被其他恶意软件使用过。

在本文中,我们将分析Flame恶意软件,以理解它是否真如一些专家所说的那样特别。我们还将介绍企业如何保证自己采用了恰当的保护措施,以防御Flame使用的攻击方法,其中包括欺骗证书。

剖析Flame

布达佩斯技术与经济大学的密码与系统安全实验室(Laboratory of Cryptography and System Security, CrySyS Lab)和卡巴斯基实验室等一起对Flame恶意软件进行了深度分析。Flame所使用的大部分技术都不是最新的,但是有一些功能表明其作者拥有一般恶意软件上少见的专业技术。Flame的报告大小为20MB,它比大多数恶意软件大,很可能是由于其使用的共享库引起的。使用共享库可能表示Flame开发使用了一些专业软件开发方法;软件开发者一般会通过重用代码来简化新恶意软件的开发过程。

Flame通过USB渗入系统,然后利用与Stuxnet和Duqu相同漏洞。这些漏洞可能通过黑帽漏洞或漏洞研究者的黑市进入,或者由专门开发恶意软件的组织开发。Flame可用于发起有针对性的攻击,所以也可能通过物理入侵方式感染系统。

它的最特殊且最受关注的功能是劫持Windows更新。虽然微软已经修复了Flame暴露的漏洞,但是这给所有Windows更新和微软软件蒙上阴影。Flame使用一个欺骗证书 ,它由一个不安全的微软终端服务证书的MD5冲突生成。通过这种方法,它就可以创建一个极为接近微软证书的欺骗证书。它并不能欺骗其他证书。这一点备受关注,因为企业长时间来信任微软更新,并且认为微软更新系统是安全的。更新数据是否加密并不重要,但是可信证书必须给它签名,才能保证系统的完整性。最后,我们仍然要观察微软是否能够成功防止这种策略被未来的其他恶意软件利用。

虽然这种方法已经出现很长时间了,但是根据报告,与大多数恶意软件相比,Flame感染的主机数量并不多,而且只感染了中东(特别是伊朗和北美)的特定个人和组织。这意味着Flame给大多数企业带来的风险并不大,但是因为它使用了已知的攻击方法,所以企业仍然需要应付将来可能出现采用Flame元素的攻击。

准备应付Flame风格的攻击

大多数企业完全不需要担心Flame,因为它是极具针对性的恶意软件。但这并不意味着可以完全忽略Flame的教训。企业需要做好准备,应付将来可能出现利用类似功能的定向恶意软件。有一些防护软件可以帮助企业防御各种Flame攻击方法。

为了对抗欺骗证书,企业可以使用白名单,或者只使用特定的证书和可信补丁。例如,如果企业准备使用企业签名的软件通过一个集中基础架构推送所有补丁,而且如果客户端配置为只信任内部签名的软件,那么就可以防御Flame攻击。禁用打印共享服务和功能,也可以阻挡Flame的打印机欺骗攻击。

公司还可以紧密监控他们的系统,在系统上发现或执行新文件和发现可疑网络流量时发出警告。可疑网络流量包括通向新外部IP的外出连接,或者通向新域名的DNS查找。这种分析可能很耗费时间,但是可以自动化实现。

普通恶意软件开发者可能无法使用像欺骗证书这样复杂的攻击技术,但是随着他们专业技术的提升,恶意软件开发者也可能会采用专业软件开发技术,为他们的攻击添加更加复杂的元素。他们甚至可能使用一些恶意软件工具包,因为这可以自动化开发过程,以及添加一些高级技术。

未来可能添加的专业特性包括实现自动更新的软件模块,使用加密连接和分布式架构。由于攻击时间限制,MD5冲突需要使用一些高级方法,生成欺骗证书。通过使用Hashclash工具,开发者可能会重用MD5冲突中描述的一些Flame代码。

结论

尽管对新发现的恶意软件有太多不必要的争论,但是企业仍然不应该忽视恶意软件的研究成果。使用新漏洞攻击许多系统的恶意软件可能需要快速响应,而重用旧攻击方法的恶意软件可能就不太需要(或完全不需要)修改当前的安全流程。

Flame使用了许多不同的攻击技术,目的是攻击特定的组织和个人。由于Flame的实现细节已经公开,所以有一些技术可能会被其他恶意软件开发者重用,而这其中大部分都是已知的,还被其他工具包使用。虽然大多数企业都不会受到Flame的攻击,但是许多企业可以使用在CSIRT(计算机紧急响应小组)对Flame的桌面实践中提供的细节。