近年来,企业组织为了应对恶意软件威胁采取了大量工作,但是,似乎每天都有新的恶意软件样本能够绕过各种防护措施。这些层出不穷的恶意软件从何而来?答案是恶意软件变异。通过变异,攻击者让恶意软件不断“焕然一新”,从而逃避安全控制。
例如 REvil 或 DarkSide 这样的组织会在其恶意代码中放置“识别开关”,用于检查它所在设备上的语言是否为俄语或英语。这种策略造成了恶意软件的“变异性”——同一段代码可以在不同的计算机上进行不同的操作,具体不同取决于操作系统版本、安装的库或语言设置。如果有人尝试在三到四台不同的机器上运行相同的恶意软件,可能会得到三到四种不同的操作行为。
恶意软件变异性的广泛性
虽然安全研究人员早就意识到恶意软件的变异性,但很少有研究人员评估其广泛性。为了解更多信息,马里兰大学帕克分校研究助理 Erin Avllazagaj 查看了 113 个国家/地区的 540 万台真实主机中记录的 760 万条恶意软件执行痕迹。结果发现,由于时间和设备不同而产生的这种变异性,可能会带来令人不安的影响——企业安全人员不能简单地说一个恶意软件是木马,即便它的行为确实很像木马,也许在下一次执行时它又会表现得像勒索软件一样。
有时,这些变化是无意的,因为恶意软件无法正常运行。我们更应该关注那些有意的变化——当恶意软件被设计为“仅在正确的计算机或在正确情况下执行某些活动”时,那些不满足这些条件的恶意软件会表现出良性特征。像这种在大多数机器上看起来是良性的恶意软件,很难被发现。一般情况下,国家资助的黑客组织会利用恶意软件变异性的复杂性,实施攻击活动。但研究显示,一些大规模分布的恶意软件同样使用了这些技巧。
Avllazagaj 的研究可以揭示恶意代码的变异性,以帮助安全社区更好地理解这个问题。Avllazagaj 表示:“我们凭经验评估了恶意软件发生了多少变化、其行为的哪些部分发生了变化,以及可以采取哪些措施来应对这些变化。对此,防病毒供应商正处于非常有利的位置,可以采取一些行动进行应对。”
Avllazagaj 及其同事研究了几种恶意软件的行为,包括 Ramnit ,一种影响 Windows 设备的蠕虫,旨在窃取信息;以及 DarkComet RAT ,它也可以窃取密码并截取屏幕截图。通过分析 2018 年捕获的 760 万个样本,研究人员注意到大部分恶意软件的变异性与文件创建和命名有关。研究人员称, DarkComet RAT 在某些执行过程中创建了注册表项,而 Ramnit 有时会构建很多互斥锁( Mutex ),这可能是因为它需要一直运行漏洞直至成功为止。
研究人员在一篇论文中写道:“对于至少 50% 的恶意软件来说,在一次执行过程中观察到的 30% 的操作不会出现在另一台设备上。此外,一半的恶意软件样本在所有执行过程中似乎只存在 8% 的共同参数。”这再次证明,使用沙箱分析恶意软件并不能提供全貌。当安全专家想要查看特定样本是否属于特定恶意软件家族时,仅在一个沙箱中执行一次操作远远不够。分析恶意软件的安全专家需要使用多台电脑捕捉不同行为。
研究人员表示,分析人员应该在第一次收到恶意软件样本 3 周后重新执行它们,以更新其行为模型。
为什么恶意软件会改变行为?
复杂的威胁行为者,例如国家资助的团体,有足够的资源来创建自定义工具,这些工具在大多数设备上看起来都是良性的,并且只有在满足某些条件时才会触发。恶意软件开发者这样做,主要是为了实现恶意软件的隐蔽性和持久性。在大多数情况下,攻击性很强的恶意软件都会将“隐蔽性”作为一个重要考量因素。攻击者一开始都会先执行一些小工具,因为即便它们被发现或检测到,替换这些小工具也要比替换完整的关键恶意程序容易得多。
不过, APT 组织并不是唯一使用这种策略的团体。研究显示,勒索软件组织也在采用这种策略,通常勒索软件被部署为第二阶段的有效载荷。有些勒索软件还会在执行时检查其环境,如果发现勒索软件在测试环境或虚拟机中运行,则拒绝执行任何更改。勒索软件组织还会部署虚拟映像来执行其有效载荷以逃避检测。
未来,我们可能会看到更多具有可变行为的恶意软件在各行各业产生影响,国家资助的团体和网络犯罪分子也都在不断磨练技能。为了应对这种情况,防病毒企业正在密切研究这些群体,并采用广泛的技术分析那些不同寻常的样本,以便了解其微小细节。它一般通过将反汇编程序中的静态分析与某些沙盒环境、虚拟机等相结合来完成。
这种分析不太可能因恶意软件在不同环境中表现出的不同而受到阻碍——开展逆向工程的人员无需执行即可查看实际程序,因此他们可以探索代码中的所有可能路径。虽然这种方法很耗时,但它可以帮助回答一些难题,例如“恶意软件如何生成文件名或注册表项?”或“它如何生成所连接的 URL ?”
随着勒索软件团伙和国家支持的间谍组织能力不断升级,了解这些问题和广泛的恶意软件行为将变得至关重要。这种知识将使组织更加警觉,以保护自身安全。