Bagaimana saya bisa menjalankan executable yang tidak tepercaya di linux dengan aman?

34

Saya telah mengunduh sebuah executable yang dikompilasi oleh pihak ketiga dan saya membutuhkannya untuk dijalankan di komputer saya (Ubuntu 16.04 - x64) dengan akses penuh ke sumber daya HW seperti CPU dan GPU (melalui driver nVidia).

Seandainya executable ini mengandung virus atau backdoor, bagaimana saya harus menjalankannya?

Haruskah saya membuat pengguna baru, jalankan dengan itu dan kemudian hapus pengguna itu sendiri?

sunting

Belum menyetujui jawaban di bawah ini karena firejail mungkin tidak berfungsi .

edit 2

firejail ok tapi kita harus sangat berhati-hati dalam menentukan semua opsi dalam hal daftar hitam dan daftar putih . Secara default tidak melakukan apa yang dikutip dalam ini linux-majalah artikel (lihat juga beberapa komentar dari penulis firejail).

Berhati-hatilah saat menggunakannya, ini mungkin memberi Anda rasa aman palsu tanpa opsi yang tepat.

Emanuele
sumber
ini mungkin lebih baik di Tanya Ubuntu
phuclv

Jawaban:

56

Pertama dan terutama, jika itu adalah biner yang sangat berisiko tinggi ... Anda harus menyiapkan mesin fisik yang terisolasi, menjalankan biner, kemudian secara fisik menghancurkan HDD, motherboard, dan pada dasarnya semua sisanya. Karena di zaman sekarang ini, bahkan kekosongan robot Anda dapat menyebarkan malware. Dan bagaimana jika program sudah menginfeksi microwave Anda melalui speaker pc menggunakan transmisi data frekuensi tinggi ?!

Tapi, mari kita lepaskan topi kertas timah itu dan melompat kembali ke dunia nyata sebentar.

Tidak ada virtualisasi, cepat digunakan: Firejail

Sudah dikemas di Ubuntu, sangat kecil, hampir tidak memiliki dependensi.
Cara menginstal di Ubuntu:sudo apt-get install firejail

Situs web: https://firejail.wordpress.com/

Info paket:

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  

Saya harus menjalankan biner "tidak dipercaya" yang serupa hanya beberapa hari yang lalu. Dan pencarian saya menghasilkan program kecil yang sangat keren ini.

Virtualisasi: KVM , Virtualbox .
Ini adalah taruhan teraman. Tergantung pada binernya. Tapi hei, lihat di atas.
Jika sudah dikirim oleh "Mr. Hacker" yang merupakan sabuk hitam - programmer topi hitam, ada kemungkinan biner dapat melarikan diri dari lingkungan tervirtualisasi.

Biner biner, metode penghemat biaya: Sewa mesin! Yang virtual. Contoh penyedia server virtual: Amazon (AWS), Microsoft (Azure), DigitalOcean, Linode, Vultr, Ramnode. Anda menyewa mesin, menjalankan apa pun yang Anda butuhkan, maka mereka akan menghapusnya. Sebagian besar penyedia layanan menagih per jam, jadi itu benar-benar murah.

Apache
sumber
Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Journeyman Geek
2

Jalankan saja pada instalasi terpisah - pasang instalasi terpisah pada drive eksternal atau hard drive lain, pastikan partisi instalasi utama Anda tidak dipasang (atau lebih baik, lepaskan), dan uji. Anda dapat mencadangkan pra-instal ini jika Anda memerlukannya lagi, dan batal setelah selesai.

Ini adalah metode yang jauh lebih kuat daripada sandboxing / pemenjaraan, dan Anda dapat dengan yakin memperlakukan instalasi kedua sebagai sekali pakai dan / atau menggunakannya hanya bila diperlukan.

Journeyman Geek
sumber
2

Dari halaman manual Firejail:

   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.

Ini adalah deskripsi tingkat tinggi, ada hal-hal lain yang terjadi, misalnya / boot masuk daftar hitam, dan begitu juga / sbin dan / usr / sbin.

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

Anda juga dapat melihat dokumen ini: https://firejail.wordpress.com/documentation-2/firefox-guide/ - mereka memiliki deskripsi yang sangat baik tentang sistem file.

vvasea
sumber