AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 435815
Accepted
giusti
giusti
Asked: 2018-04-06 09:08:23 +0800 CST2018-04-06 09:08:23 +0800 CST 2018-04-06 09:08:23 +0800 CST

完全隔离一台 VirtualBox 机器

  • 772

我想使用 VirtualBox 安装一些不应该访问我的主机的软件(反之亦然)。然而,我也设想尝试更多“危险”的东西的可能性,比如尝试运行零日漏洞并看看他们能做什么。

虚拟机与主机的隔离程度如何?我应该(或者我可以吗?)在来宾和主机之间设置防火墙?访客插件是否存在安全风险?共享目录呢?

现在,客户机正在运行 GNU/Linux Debian 测试。

security virtualbox
  • 1 1 个回答
  • 11282 Views

1 个回答

  • Voted
  1. Best Answer
    0xdd
    2018-04-06T09:50:11+08:002018-04-06T09:50:11+08:00

    我首先要说这个问题非常广泛,而且很少有原创研究,而且这个答案不应该被视为对这类问题的鼓励。相反,这个答案希望为刚开始进行恶意软件分析的人们提供一些非常基本的安全提示。

    假设您正在运行已知的、先前研究过的恶意软件,那么您如何隔离您的环境在很大程度上取决于该恶意软件的能力。适用于大多数现代恶意软件的一些一般规则可能是:

    • 将您的 VM 与 Internet 隔离。这可以像不设置到客户机的接口转发一样简单,并防止恶意软件与任何可能引导其做出不可预测的行为的潜在命令和控制节点进行通信。

    • 使用适当的管理程序。市场上有几个主要的,包括 VirtualBox、HyperV、QEMU 和 macOSHypervisor.framework等等;其中一些是恶意软件的积极目标,并且根据版本的不同,可能容易受到恶意软件的攻击。

    • 绝对不要安装来宾添加或其他平台的类似物。这种软件的字面目标是建立客户和主机之间的集成,有效地削弱它们之间的分离。我不是恶意软件研究人员,但如果没有专门针对这种表面的恶意软件,我会感到惊讶。

    直接解决您的一些观点:

    虚拟机与主机的隔离程度如何?

    在这一点上,一个虚拟机可以被完全隔离,但一些功能仍然或多或少地直接通过主机,几乎没有管理程序保护。马上,大多数非 KVM 虚拟机(如 VirtualBox)不会与主机操作系统共享内核。仅此一项就可以阻止许多漏洞利用类,最显着的是阻止对主机内核运行任意系统调用的能力(带有明显的星号,即损坏的 VM 层实现可以允许恶意软件以不太明显的方式绕过这个问题)。

    不过,您的虚拟机在您的主机硬件中仍然有一个进程空间 - 虽然这通常不是风险,因为现代操作系统提供了不错的进程空间隔离,但它仍然可以用于利用极低级别的攻击,如rowhammer,其中一个进程以特定方式顺序写入内存,直到它可以读取它不拥有的相邻内存块 - 有效地允许进程之间的内存泄漏。

    另外值得注意的是,当您想要执行任何类型的 I/O 时,隔离往往会有所消失:输入和输出必然意味着直通,这会暴露出可用于执行主机操作的攻击面。这包括像鼠标和键盘这样的 HID 直通,以及像网络直通这样的东西——尽管这通常取决于 I/O 直通在您的 VM 中实现的好坏。

    我应该(或者我可以吗?)在来宾和主机之间设置防火墙?

    这取决于,但这通常不是一个坏主意。大多数主要平台都支持管理程序级别的防火墙。这些最多与主机上的防火墙一样宽松,而后者又最多与 LAN 或 VLAN 上的防火墙一样宽松。如果您想利用这一点而不是通过断开虚拟网络接口来完全切断网络访问,我建议您研究哪些端口和托管您选择的恶意软件目标并从那里开始。

    访客插件是否存在安全风险?

    是的。它们允许您的主机和来宾机器之间进行各种集成,并且并不总是具有开放规范,您可以在其中看到正在打开的内容;看上面。

    共享目录呢?

    这取决于你是怎么做的,但这通常是个坏主意。许多管理程序通过创建安装在根位于该目录中的来宾计算机中的虚拟驱动器来做到这一点。根据该机制的实现(在不同框架之间可能略有不同),您可能安全也可能不安全,具体取决于您尝试测试的恶意软件。


    我担心的是您对此进行的研究很少,并且您最终可能会损害您的机器或数据。在继续之前,我建议您研究一下常见操作系统(KVM)上的不同隔离机制,它们如何与更高级别的虚拟化框架(virtual-machine)、容器(container)以及命名chroot机制(chroot )集成一些),每个合适的时间,以及他们能做什么和不能做什么。那时,您将能够更好地判断您是否可以在适当隔离的环境中安全地使用恶意软件。

    最后,您不应尝试使用新的或鲜为人知的恶意软件(除非您是经验丰富的安全研究人员,但此答案并非针对经验丰富的安全研究人员)。当涉及到他们利用什么以及他们如何利用它时,恶意行为者非常有创意。要了解这一点,请查看最近的任何并非以社会工程或通过机械方式获得物理访问为中心的 DEFCON 会谈。

    • 37

相关问题

  • 无法为您的系统找到可用的默认提供程序(VM 无法识别)

  • 如果某人被授予 root 访问权限,是否可以劫持服务器作为人质?[关闭]

  • 在启动时加载设备

  • 通过静态 IP(NAT?)访问 VM

  • 是否有实现 RFC 5848“签名系统日志消息”的系统日志守护程序?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve