web-dev-qa-db-ja.com

信頼できない実行ファイルをLinuxで安全に実行するにはどうすればよいですか?

サードパーティによってコンパイルされた実行可能ファイルをダウンロードしました。これをボックス(Ubuntu 16.04-x64)で実行して、CPUやGPUなどのHWリソース(nVidiaドライバーを介して)へのフルアクセスで実行する必要があります。

この実行可能ファイルにウイルスまたはバックドアが含まれている場合、どのように実行すればよいですか?

新しいユーザーを作成し、それを実行してから、ユーザー自体を削除する必要がありますか?

edit

Firejail 動作していない可能性があります のため、以下の回答はまだ承認していません。

編集2

firejailはokですが、blacklistの観点からすべてのオプションを指定する際には、非常に注意する必要があります)ホワイトリスト。デフォルトではしないthislinux-magazine記事(firejailの作者による comments も参照)。

使用する際は十分に注意してください。適切なオプションを使用しないと、誤った安心感が得られる可能性があります。

33
Emanuele

何よりもまず、それが非常にリスクの高いバイナリである場合...分離された物理マシンをセットアップし、バイナリを実行してから、HDD、マザーボード、および基本的にその他すべてを物理的に破壊する必要があります。なぜなら、今の時代、ロボット掃除機でさえマルウェアを拡散させる可能性があるからです。そして、プログラムが高周波データ送信を使用して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 <[email protected]>
Original-Maintainer: Reiner Herrmann <[email protected]>
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  

数日前に、同様の「信頼できない」バイナリを実行する必要がありました。そして、私の検索がこの非常にクールな小さなプログラムにつながりました。

仮想化:[〜#〜] kvm [〜#〜]Virtualbox
これが最も安全な賭けです。バイナリによって異なります。しかし、ちょっと、上記を参照してください。
ブラックベルトプログラマである「Mr. Hacker」から送信された場合、バイナリが仮想化された環境から逃れる可能性があります。

マルウェアバイナリ、コストセーバー方式:マシンをレンタルしてください!仮想のもの。仮想サーバープロバイダーの例:Amazon(AWS)、Microsoft(Azure)、DigitalOcean、Linode、Vultr、Ramnode。あなたは機械を借り、あなたが必要とするものを何でも実行します、そして彼らはそれらを拭き取ります。大手プロバイダーのほとんどは時間単位で請求するので、本当に安いです。

55
Apache

Firejailのmanページから:

   Without  any  options,  the sandbox consists of a filesystem build in a
   new mount namespace, and new PID and UTS namespaces. IPC,  network  and
   user  namespaces  can  be  added  using  the  command line options. The
   default Firejail filesystem is based on the Host  filesystem  with  the
   main  system directories mounted read-only. These directories are /etc,
   /var, /usr, /bin, /sbin, /lib, /lib32, /libx32 and /lib64.  Only  /home
   and /tmp are writable.

これは高レベルの説明です。たとえば、/ bootはブラックリストに登録され、/ sbinと/ usr/sbinもブラックリストに登録されています。

https://firejail.wordpress.com/features-3/man-firejail/

このドキュメントもご覧ください: https://firejail.wordpress.com/documentation-2/firefox-guide/ -彼らは非常に良いですファイルシステムの説明。

2
vvasea

別のインストールで実行するだけです-外部ドライブまたは別のハードドライブに別のインストールを設定し、メインインストールのパーティションがnotにマウントされていることを確認してください(または、まだ接続を切断してください)。必要な場合に備えて、このプレインストールをバックアップし、完了したらそれを核にできます。

そのサンドボックス化/投獄よりもはるかに堅牢な方法であり、2番目のインストールを使い捨てとして自信を持って扱うことができ、必要な場合にのみ使用できます。

2
Journeyman Geek