译者:nstlBlueSky
预估稿费:160RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
写在前面
网络这个无形的战场上,每天无时无刻不在进行着战争。在某个网络的角落中,网络攻击者往往善于隐藏自己,选择时机悄无声息的从内部发起攻击。
无文件恶意软件是什么?
黑客,这个强大的敌人不一定是某个国家的网络作战部队,有可能仅仅是一个恶意程序,或者某个国家扶持的黑客小组。黑客的攻击手法很独特,他们并没有将攻击工具保存在磁盘上,而是将攻击代码直接存储在被攻击者机器中的内存中,以达到攻击的目的,这种攻击手法就是臭名昭著的无文件恶意软件。攻击者实现此目的的最常见方法是:
1)将磁盘的有效载荷加载到内存中,然后从磁盘中删除文件;
2)将代码直接注入到现有进程的内存中。
如果成功,他们将长期从被攻击者机器上窃取敏感数据和商业机密信息。一旦被攻击,轻者可能给被攻击者的声誉造成不良的影响,严重的情况可能会对公司的品牌及其业务造成的严重或者重大的损害。今年早些时候,“无文件恶意软件”一词已经多次上了谷歌的热搜榜,由此可见该攻击手法的危害程度不容小视。
其实,攻击者能够成功攻击的主要原因是:黑客能够在潜伏的组织内存中轻松的绕过安全检测工具。因此,企业必须承担相应的维护过程(检测,调查,最后是修复)但这些工作往往是一个艰巨而昂贵的过程。然而,在调查任何一次网络攻击中,关键是要找到问题的根源。安全小组必须了解有哪些进入系统的人员,他们在哪里获得访问权限,以及由此导致哪里可能成为攻击者的突破口。虽然服务器系统在重新启动时会清除整个内存,其中也包括任何的“无文件恶意软件”但一些大型组织机构(例如银行,保健和保险公司)和工业网络的服务器很少重新启动,这对于黑客来说仍然是一个有价值的方法。
无文件恶意软件的几个例子
这里有几个令人震惊的行业例子:
1)黑客通过入侵SWIFT通信平台从孟加拉国银行非法提取9.51亿美元,另一个比较有趣的劫持事件是黑客通过修改某银行系统内存里的两个字节便从银行盗取了8000万美元。
2)最近关于“无文件恶意软件”攻击的例子来自于勒索软件。研究人员发现了一种名为Sorebrect的新的无文件恶意软件,它将恶意代码注入目标系统中的合法系统进程,然后自动从磁盘中删除,以躲避安全工具的检测。
3)另一个例子是发生在俄罗斯的ATM上的攻击。由于银行的ATM系统的RAM没有被定期的安全检测,并且ATM网络一般不会重新启动,以便银行避免其客户的服务中断,使得银行使用的ATM系统中被感染了“无文件恶意软件”,使得黑客们可以从一个不起眼的银行窃取80万美元。
无文件恶意软件检测的难度
当然,访问内存不能像访问磁盘上文件的方式访问;必须转储存储在内存中的代码,以便可以对其进行检查。诸如Volatility和Rekall之类的内存取证工具可以帮助分析内存并从其中转储执行的代码。不过,这些内存取证工具是黑客已知的,黑客已经熟练开发可以避免检测的恶意软件。由于这些工具通常也是开放源码,所以黑客有不公平的优势,因为他们可以很容易地发现他们需要什么来逃避检测。这些框架需要高级专家的大量时间和关注,才能将高效的检测出“无文件恶意软件”。
即使安全小组能够从内存获取代码,仍然很难调查。当处理内存中的代码时,最常见的调查工具是无用的。当代码从文件加载到内存时,它会更改为执行;在其他情况下,它会直接注入到内存中。在这两种情况下,这些代码转储不能用常见的恶意软件分析工具进行调查。沙盒和其他行为分析产品是完全无用的,因为没有任何可执行功能,并且由于文件在内存中哈希值的变化,使得基于哈希的威胁情报,文件信誉和IoC数据库无法得到合理的利用。
如何防御无文件恶意软件攻击
防御无文件恶意软件的方法通常有一下几点:
1)确保终端服务器保持更新,定期更新终端服务器可以清除内存中感染恶意软件;
2)做好终端服务器访问权限的控制,用户访问只能以普通用户身份来访问,而不能具有特权;
3)做好终端服务器的加固工作,适时使用反恶意软件程序对终端设备做好保护工作。