Як я можу безпечно запустити ненадійний виконуваний файл на Linux?


34

Я завантажив виконуваний файл, складений третьою стороною, і мені він потрібен, щоб він працював на моїй коробці (Ubuntu 16.04 - x64) з повним доступом до ресурсів HW, таких як процесор і GPU (через драйвери nVidia).

Припустимо, цей виконуваний файл містить вірус або бекдор, як я можу його запустити?

Чи слід створити нового користувача, запустити його з ним, а потім видалити самого користувача?

редагувати

Ще не схвалив відповідь нижче, оскільки пожежна програма може не працювати .

редагувати 2

firejail - це нормально, але потрібно бути дуже обережним у визначенні всіх варіантів з точки зору чорного списку та білого списку . За замовчуванням це не робить те, що цитується в цій статті про linux-журнал (див. Також деякі коментарі автора firejail).

Будьте надзвичайно обережні, коли використовуєте його, це може дати вам помилкове почуття безпеки без правильних варіантів.


це може бути краще на Ask Ubuntu
phuclv

Відповіді:


56

Перш за все, якщо це бінарний файл з високим рівнем ризику ... вам доведеться встановити ізольовану фізичну машину, запустити бінарний файл, а потім фізично знищити жорсткий диск, материнську плату та в основному всі інші. Тому що в цей день і вік навіть ваш робот-вакуум може поширювати шкідливі програми. А що робити, якщо програма вже заразила вашу мікрохвильову піч через динамік ПК за допомогою високочастотної передачі даних ?!

Але давайте знімемо цю шапку і повернемося до реальності на трохи.

Без віртуалізації, швидкий у використанні: 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  

Мені довелося запустити подібний "ненадійний" двійковий файл лише кілька днів тому. І мій пошук призвів до цієї дуже класної невеликої програми.

Віртуалізація: KVM , Virtualbox .
Це найбезпечніша ставка. Залежно від двійкового. Але е, дивіться вище.
Якщо його надіслав "містер Хакер", який є чорним поясом - програмістом чорної шапки, є ймовірність, що бінар може вирватися з віртуалізованого середовища.

Бінарне зловмисне програмне забезпечення, метод економії витрат: орендуйте машину! Віртуальний. Приклади постачальників віртуальних серверів: Amazon (AWS), Microsoft (Azure), DigitalOcean, Linode, Vultr, Ramnode. Ви орендуєте машину, запускаєте все, що вам потрібно, тоді вони їх витруть. Більшість великих постачальників рахують за годину, так що це дійсно дешево.


Коментарі не для розширеного обговорення; ця розмова переміщена до чату .
Подорожник Geek

2

Просто запустіть його на окремій установці - встановіть окрему установку на зовнішній диск або інший жорсткий диск, переконайтесь, що розділи вашої основної інсталяції не встановлені (а ще краще, відключіть їх) та пройдіть тест. Ви можете створити резервну копію попередньої інсталяції у випадку, якщо вона вам знадобиться знову, і запустити її після завершення.

Це набагато більш надійний метод, ніж пісочниця / ув'язнення, і ви можете впевнено ставитися до другої установки як до одноразового використання та / або використовувати її лише за потреби.


2

На сторінці чоловіка 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.

Це опис високого рівня, є й інші речі, наприклад, / boot перебуває у чорному списку, а також / sbin та / usr / sbin.

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

Ви також можете подивитися на цей документ: https://firejail.wordpress.com/documentation-2/firefox-guide/ - вони мають дуже хороший опис файлової системи.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.