GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu bezpečně spustit nedůvěryhodný spustitelný soubor na linuxu?

V první řadě, pokud se jedná o velmi rizikovou binárku... museli byste nastavit izolovaný fyzický stroj, spustit binární soubor, pak fyzicky zničit HDD, základní desku a v podstatě všechno ostatní. Protože v dnešní době může i váš robotický vysavač šířit malware. A co když program již infikoval vaši mikrovlnku prostřednictvím reproduktoru počítače pomocí vysokofrekvenčního přenosu dat?!

Ale sundáme si ten staniolový klobouk a skočme na chvíli zpět do reality.

Žádná virtualizace, rychlé použití: Firejail

Je zabalen již na Ubuntu, je velmi malý, nemá prakticky žádné závislosti.
Jak nainstalovat na Ubuntu:sudo apt-get install firejail

Web:https://firejail.wordpress.com/

Informace o balíčku:

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  

Před pár dny jsem musel spustit podobnou "nedůvěryhodnou" binárku. A moje hledání vedlo k tomuto velmi skvělému malému programu.

Virtualizace: KVM, Virtualbox.
Toto je nejbezpečnější sázka. V závislosti na binárním. Ale ouha, viz výše.
Pokud to poslal "Pan Hacker", který je programátorem černého pásu - black hat, existuje šance, že binární soubor unikne z virtualizovaného prostředí.

Binární malware, metoda šetřící náklady: Půjčte si stroj! Virtuální. Příklad poskytovatelů virtuálních serverů:Amazon (AWS), Microsoft (Azure), DigitalOcean, Linode, Vultr, Ramnode. Půjčíte si stroj, spustíte, co potřebujete, a pak je setřou. Většina větších poskytovatelů účtuje za hodinu, takže je to opravdu levné.


Stačí jej spustit na samostatné instalaci – nastavte samostatnou instalaci na externí disk nebo jiný pevný disk, ujistěte se, že oddíly vaší hlavní instalace nejsou namontované (nebo ještě lépe, odpojte je) a otestujte. Tuto předinstalaci můžete zálohovat pro případ, že ji budete znovu potřebovat, a jakmile budete hotovi, aktivujte ji.

Je to mnohem robustnější metoda než sandboxing/uvěznění a s druhou instalací můžete s jistotou zacházet jako s jednorázovou a/nebo ji používat pouze v případě potřeby.


Z manuálové stránky 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.

Toto je popis na vysoké úrovni, dějí se i další věci, například /boot je na černé listině a také /sbin a /usr/sbin.

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

Můžete se také podívat na tento dokument:https://firejail.wordpress.com/documentation-2/firefox-guide/ - mají velmi dobrý popis systému souborů.


Linux
  1. (C/C++) Jak vygenerovat spustitelný soubor, který lze spustit na Windows i Linuxu?

  2. Jak převést linuxový spustitelný soubor (binární) na soubor Windows exe?

  3. Jak zjistit, zda je linuxový binární soubor 32bitový nebo 64bitový?

  1. Jak mohu spustit skript v Perlu jako systémový démon v linuxu?

  2. Jak mohu symbolicky propojit soubor v Linuxu?

  3. Jak spustit linux na PS3?

  1. pomocí linuxu, jak mohu předat obsah souboru jako parametr spustitelnému souboru?

  2. Jak rozebrat binární spustitelný soubor v Linuxu, abyste získali kód sestavení?

  3. Jak mohu spustit spustitelný soubor Windows z WSL (Ubuntu) Bash