首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使病毒化,解决蓝鳍病的风险?

使病毒化,解决蓝鳍病的风险?
EN

Security用户
提问于 2014-04-06 09:47:45
回答 1查看 1.7K关注 0票数 6

这个问题的背景是我认为虚拟化的矛盾心理。另外,首先要明确一点:术语蓝鳃应该是一个占位符,用来表示“使用虚拟化隐藏并固定在受攻击系统上的恶意软件”。

我的问题是,当在我的计算机上启用虚拟化发生时,我应该如何处理患蓝鳍病的风险?更具体的说,如果有一种方法可以支持硬件支持的虚拟化,Intelsx86/i64cpu的vt-x功能还能保护我免受蓝色攻击呢?为了应对/解决可能不是百分之百肯定的答案的风险,我认为这是向前迈出的一大步(也是一个公认的解决方案)--列举一套基于事实的“启用vt-x和防止bluepill类型恶意软件的最佳实践规则”。

这可以包括建议一种检查蓝鳍病感染的方法?(也就是说,在关闭/重新启动时使用蓝屏将需要存储/保存自己,并且在硬盘上可以检测到)

问题的动机是:在我的系统中,英特尔iCore处理器的vt-x cpu功能可以是在内核中启用和禁用

  • 禁用:蓝尾攻击不可行,但没有基于虚拟化的安全好处。
  • 启用:可以进行蓝击攻击,但基于虚拟化的安全好处启用。

我读过"虚拟机到底有多安全?虚假的安全感?“,它还没有考虑到忧郁的一面。因此,我认为这个问题可以丰富虚拟化安全这一主题。

EN

回答 1

Security用户

发布于 2016-08-24 15:44:17

蓝鳍病有两个方面:感染是如何发生的;一旦感染发生,你是否能发现它。

第一个方面和所有恶意软件都是一样的。蓝鳍病的新奇之处在于“它无法察觉”的说法。

对此进行了广泛的研究,并设计了几种检测方法。

你应该注意到,到目前为止,在野外还没有看到蓝鳍虫的威胁。

检测操作系统是否在VM

中运行

第一次公布的检测方法涉及时间问题。来自安东尼·利古里的采访

硬件虚拟化需要一种称为“陷阱和仿真”的技术。其思想是硬件诱捕某些指令,而VMM模拟这些指令的方式使软件相信它在虚拟机中运行。软件仿真意味着在VMM下执行这些指令需要花费更长的时间,然后在正常的硬件上完成。这个事实可以用来检测VMM的存在。我联系了Rutkowska,她试图通过调整每个出口的处理器时钟来解决原型机中的问题。然而,关于外部时间来源,她没有什么可做的,她在自己的博客上承认了这一点。她说这是她的系统中的一个理论上的弱点,但我向你保证,这是相当实用的利用。

bluepill概念的最初作者()也发表了另一篇论文(RedPill),这篇论文可能被用来检测BluePill rootkit。

我找不到报纸,但找到了这个极好的总结

int swallow_redpill () {无符号字符m2+4,rpill[] =“\x0f\x01\x0d\x00\xc3 3”;*((无符号*)&rpill3.)=(无符号)m;((void(*)()&rpill))();返回(m5>0xd0)?1: 0;}此代码的核心实际上是SIDT指令(编码为0F010D阿德尔),它将中断描述符表寄存器(IDTR)的内容存储在目标操作数中,这实际上是一个内存位置。SIDT指令的特殊和有趣之处在于,它可以在非特权模式(ring3)下执行,但它返回敏感寄存器的内容,在操作系统内部使用。由于只有一个IDTR寄存器,但至少有两个操作系统同时运行(即主机和来宾OS),因此VMM需要将来宾的IDTR重新定位到一个安全的位置,这样它就不会与主机的IDTR发生冲突。不幸的是,VMM无法知道在来宾操作系统中运行的进程是否(以及何时)执行SIDT指令,因为它没有特权(而且它不会生成异常)。因此,该进程获得IDT表的重新定位地址。据观察,在VMWare上,IDT的重新定位地址是0xffXXXXXX,而在虚拟PC上是0xe8XXXXXX。这在Windows主机操作系统上运行的VMWare工作站4和虚拟PC 2004上进行了测试。

这篇文章中的另一种方法是从2008年开始的:

其想法是由另一个管理程序拦截管理程序的启动(让我们将后者称为虚拟入侵预防系统,即VIPS)。当任何管理程序(恶意或合法)启动时,它都会打开VM根模式。重要人物可以很容易地截获此事件。那接下来是什么?处理此事件有两种方法:完全阻止管理程序,或者允许它通过仿真工作。第一种方法是在BIOS中模拟具有禁用HVT功能的PC机。这将阻止HVT rootkit的工作。第二种方法是允许管理程序通过模拟硬件虚拟化(或嵌套)工作。对于合法的虚拟化软件,应该这样做。在这两种情况下(阻塞或仿真),VIPS在试图启动时拦截管理程序。贵宾可以读取管理程序的身体并对其进行分析。可以显示通知消息。

,这真的是威胁

吗?

接下来要考虑的是攻击的实际方面。

bluepill需要实现xen或类似的复杂东西,这是一个巨大的努力。由于无法保证它不会被检测或阻止,攻击者将选择一种更简单的路径,即经典的rootkit。

我相信这也是为什么在野外还没有见到蓝鳃的原因之一。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/54949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档