GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich eine nicht vertrauenswürdige ausführbare Datei sicher unter Linux ausführen?

In erster Linie, wenn es sich um eine Binärdatei mit sehr hohem Risiko handelt, müssten Sie eine isolierte physische Maschine einrichten, die Binärdatei ausführen und dann die Festplatte, das Motherboard und im Grunde alles andere physisch zerstören. Denn heutzutage kann sogar Ihr Roboterstaubsauger Malware verbreiten. Und was ist, wenn das Programm Ihre Mikrowelle bereits über den PC-Lautsprecher mit Hochfrequenz-Datenübertragung infiziert hat?!

Aber nehmen wir den Aluhut ab und springen für ein bisschen zurück in die Realität.

Keine Virtualisierung, schnell einsatzbereit: Feuergefängnis

Es ist bereits auf Ubuntu gepackt, es ist sehr klein, hat praktisch keine Abhängigkeiten.
So installieren Sie unter Ubuntu:sudo apt-get install firejail

Website:https://firejail.wordpress.com/

Paketinfo:

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  

Ich musste vor ein paar Tagen eine ähnliche "nicht vertrauenswürdige" Binärdatei ausführen. Und meine Suche führte zu diesem sehr coolen kleinen Programm.

Virtualisierung: KVM, Virtualbox.
Dies ist die sicherste Wette. Abhängig von der Binärdatei. Aber hey, siehe oben.
Wenn es von "Mr. Hacker" gesendet wurde, der ein Programmierer mit schwarzem Gürtel und schwarzem Hut ist, besteht die Möglichkeit, dass die Binärdatei der virtualisierten Umgebung entkommen kann.

Malware-Binärdatei, kostensparende Methode: Maschine mieten! Ein virtuelles. Beispiel Anbieter virtueller Server:Amazon (AWS), Microsoft (Azure), DigitalOcean, Linode, Vultr, Ramnode. Sie mieten die Maschine, lassen alles laufen, was Sie brauchen, und dann werden sie abgewischt. Die meisten größeren Anbieter rechnen stundenweise ab, also ist es wirklich günstig.


Führen Sie es einfach in einer separaten Installation aus - richten Sie eine separate Installation auf einem externen Laufwerk oder einer anderen Festplatte ein, stellen Sie sicher, dass die Partitionen Ihrer Hauptinstallation nicht sind montiert (oder noch besser, trennen Sie sie) und testen Sie sie. Sie können diese Vorinstallation sichern, falls Sie sie erneut benötigen, und sie löschen, sobald Sie fertig sind.

Es ist eine viel robustere Methode als Sandboxing/Jailing, und Sie können die zweite Installation getrost als Einweg behandeln und/oder sie nur bei Bedarf verwenden.


Aus der Manpage von 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.

Dies ist eine allgemeine Beschreibung, es gibt noch andere Dinge, zum Beispiel /boot ist auf der schwarzen Liste, ebenso /sbin und /usr/sbin.

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

Sie können sich auch dieses Dokument ansehen:https://firejail.wordpress.com/documentation-2/firefox-guide/ - sie haben eine sehr gute Beschreibung des Dateisystems.


Linux
  1. Linux – Wie führe ich einen Bootloader von Linux aus?

  2. Wie kann ich ein Perl-Skript als System-Daemon unter Linux ausführen?

  3. Wie kann ich eine Datei unter Linux symbolisch verknüpfen?

  4. (C/C++) Wie generiert man eine ausführbare Datei, die sowohl unter Windows als auch unter Linux ausgeführt werden kann?

  5. Wie kann man feststellen, ob eine Linux-Binärdatei 32-Bit oder 64-Bit ist?

Binärdateien unter Linux ausführen

So führen Sie Windows 95 unter Linux aus

So führen Sie alle Skripte in einem Verzeichnis unter Linux aus

Wie führe ich xCloud unter Linux (auch unter SteamOS) aus?

So führen Sie einen Alias ​​mit Sudo in Linux aus

Geniale Möglichkeiten zum Ausführen eines Programms unter Linux