我打算开始学习如何做恶意软件分析和取证,但我有一两个担心。
我想从分析我自己编写的代码开始,这很好。但总有一天我会开始分析真正的恶意软件。
正常情况下,我将在Windows中(在Windows主机上)进行分析,使用类似于INetSim之类的东西。
然而,我担心的是VM的逃逸。如果我保持我的VMWare工作站是最新的,我是否应该对VM的替身感兴趣?我环顾了互联网,但那里的一般文献似乎都集中在企业/云VM上,就像在同一个物理硬件上访问其他VM一样。我不确定这在多大程度上适用于非企业情况,在这种情况下,关注的是对主人的攻击,而不是对不同的客人的攻击。
这是其中一种情况,恶意软件需要非常具体地编写以逃避VM,如果我正在对我打算分析的样本进行适当的研究,那么它就不应该引起关注了吗?
我想另一个问题是,在下载样本后,除了明显的禁止外部互联网接入(即让VM进入主机/内部网络)之外,我还应该采取其他明智的预防措施吗?
提前感谢
发布于 2019-12-09 20:23:01
TL;DR版本:你不应该担心VM--如果你做得对,就可以逃避恶意软件--发生这种情况的可能性很低。
尽管如此,您所描述的内部网络场景(主机和来宾之间常见的虚拟)不足以防止以蠕虫形式的VM逃逸。大多数主机服务都会在任何网络接口上侦听,包括您的来宾常用的内部虚拟接口。这意味着具有蠕虫能力的恶意软件希望利用网络上的漏洞(例如,好的老WannaCry对EternalBlue的攻击,以及BlueKeep的新孩子等等)。在您的客人上执行可以通过共享网络到达您的主机。
答案很简单:尽可能地将两者隔离开来,主机和来宾之间没有公共的网络接口。
在我多年深入研究有害代码的过程中,能够逃离VM的恶意软件非常罕见--威胁行为者经常使用多个可下载的组件进行攻击,这样他们就不会在链的早期烧毁所有的工具。虚拟机越狱在游戏中非常晚,当威胁演员已经确定他们不是在蜜罐或法医站,他们确定他们没有被发现,然后他们会启动下一个阶段的下载。
大多数情况下,恶意软件会运行检查它们是否处于“沙箱”环境,例如,它将检查Internet连接、虚拟化的存在以及其他几个标准(例如用户配置文件中是否存在有意义的文件)--这些通常都是在无菌的“取证”环境中执行代码的告示,代码根本不会运行。所以完全切断互联网也是不可行的。
最好是在一个完全隔离的环境中进行实验,但这并不总是可行的,特别是对于新手来说--投资可能很大。
希望这能有所帮助!
https://security.stackexchange.com/questions/222502
复制相似问题