GNU/Linux >> Linux の 問題 >  >> Linux

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

何よりもまず、それが非常にリスクの高いバイナリである場合...隔離された物理マシンをセットアップし、バイナリを実行してから、HDD、マザーボード、および基本的に残りすべてを物理的に破壊する必要があります。今の時代、ロボット掃除機でさえマルウェアを拡散する可能性があるからです。そして、プログラムが高周波データ送信を使用してPCスピーカーを介して電子レンジにすでに感染しているとしたら?!

しかし、そのアルミ箔の帽子を脱いで、少し現実に戻りましょう。

仮想化なし、すぐに使える: ファイアジェイル

これはすでに 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、バーチャルボックス。
これが最も安全な方法です。バイナリ次第。でもねえ、上を見てください。
黒帯のプログラマーである「Mr. Hacker」から送信された場合、バイナリが仮想化環境から逃れる可能性があります。

マルウェア バイナリ、コストを節約する方法: マシンをレンタル!仮想的なもの。仮想サーバー プロバイダーの例:Amazon (AWS)、Microsoft (Azure)、DigitalOcean、Linode、Vultr、Ramnode。マシンを借りて、必要なものを実行すると、彼らはそれらを一掃します。大規模なプロバイダーのほとんどは時間単位で請求するため、非常に安価です。


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

サンドボックス化/ジェイリングよりもはるかに堅牢な方法であり、2 番目のインストールを使い捨てとして自信を持って処理したり、必要な場合にのみ使用したりできます。


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/ - ファイル システムについて非常によく説明されています。


Linux
  1. LinuxでPerlスクリプトをシステムデーモンとして実行するにはどうすればよいですか?

  2. Linuxでファイルをシンボリックリンクするにはどうすればよいですか?

  3. (C/C++) Windows と Linux の両方で実行できる実行可能ファイルを生成する方法は?

  1. Linux 実行可能ファイル (バイナリ) を Windows exe ファイルに変換する方法は?

  2. WSL (Ubuntu) Bash から Windows 実行可能ファイルを実行するにはどうすればよいですか?

  3. PS3でLinuxを実行するには?

  1. Linux – Linuxからブートローダーを実行する方法は?

  2. Linuxを使用して、ファイルの内容をパラメーターとして実行可能ファイルに渡すにはどうすればよいですか?

  3. Linux でバイナリ実行可能ファイルを逆アセンブルしてアセンブリ コードを取得する方法は?