如何在 linux 上安全地运行不受信任的可执行文件?

Ema*_*ele 33 linux sandbox exec

我已经下载了一个由第三方编译的可执行文件,我需要它在我的机器(Ubuntu 16.04 - x64)上运行,并且可以完全访问硬件资源,例如 CPU 和 GPU(通过 nVidia 驱动程序)。

假设这个可执行文件包含病毒或后门,我应该如何运行它?

我应该创建一个新用户,用它运行它然后删除用户本身吗?

编辑

尚未批准下面的答案,因为 firejail可能不起作用

编辑 2

firejail是好的,但一个人必须在条款中指定的所有选项非常小心黑名单白名单。默认情况下,它不会执行这篇 linux-magazine文章中引用的内容(另请参阅firejail 作者的一些评论)。

使用它时要格外小心,如果没有正确的选择,它可能会给您一种虚假的安全感。

Apa*_*che 55

首先也是最重要的,如果它是一个非常高风险的二进制文件……你必须设置一个隔离的物理机器,运行二进制文件,然后物理销毁硬盘、主板,以及基本上所有其他的东西。因为在这个时代,即使是您的扫地机器人也可以传播恶意软件。如果程序已经使用高频数据传输通过 PC 扬声器感染了您的微波炉怎么办?!

但是,让我们脱下那顶锡箔帽,跳回现实一会儿。

无虚拟化,快速使用: Firejail

它已经打包在 Ubuntu 上,它非常小,几乎没有依赖项。
如何在 Ubuntu 上安装:sudo apt-get install firejail

网站:https : //firejail.wordpress.com/

包裹信息:

Package: firejail
Priority: optional
Section: universe/utils
Installed-Size: 457
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Reiner Herrmann <reiner@reiner-h.de>
Architecture: amd64
Version: 0.9.38-1
Depends: libc6 (>= 2.15)
Filename: pool/universe/f/firejail/firejail_0.9.38-1_amd64.deb
Size: 136284
MD5sum: 81a9a9ef0e094e818eb70152f267b0b6
SHA1: 41d73f8b9d9fd50ef6520dc354825d43ab3cdb16
SHA256: f1cbc1e2191dbe6c5cf4fb0520c7c3d592d631efda21f7ea43ab03a3e8e4b194
Description-en: sandbox to restrict the application environment
 Firejail is a SUID security sandbox program that reduces the risk of
 security breaches by restricting the running environment of untrusted
 applications using Linux namespaces and seccomp-bpf.  It allows a
 process and all its descendants to have their own private view of the
 globally shared kernel resources, such as the network stack, process
 table, mount table.
Description-md5: 001e4831e20916b1cb21d90a1306806f
Homepage: https://firejail.wordpress.com
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu  
Run Code Online (Sandbox Code Playgroud)

几天前,我不得不运行一个类似的“不受信任”的二进制文件。我的搜索导致了这个非常酷的小程序。

虚拟化: KVMVirtualbox
这是最安全的赌注。取决于二进制。但是,嘿,见上文。
如果它是由黑带黑帽程序员“黑客先生”发送的,则二进制文件有可能逃脱虚拟化环境。

恶意软件二进制,节省成本的方法:租一台机器!一个虚拟的。示例虚拟服务器提供商:亚马逊 (AWS)、微软 (Azure)、DigitalOcean、Linode、Vultr、Ramnode。你租了机器,运行你需要的任何东西,然后他们就会把它们擦掉。大多数较大的供应商按小时计费,所以它真的很便宜。