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

34

Ich habe eine von einem Drittanbieter kompilierte ausführbare Datei heruntergeladen und benötige sie, um auf meiner Box (Ubuntu 16.04 - x64) mit vollem Zugriff auf Hardware-Ressourcen wie CPU und GPU (über nVidia-Treiber) ausgeführt zu werden.

Angenommen, diese ausführbare Datei enthält einen Virus oder eine Hintertür. Wie soll ich sie ausführen?

Soll ich einen neuen Benutzer erstellen, ihn damit ausführen und dann den Benutzer selbst löschen?

bearbeiten

Die unten stehende Antwort wurde noch nicht genehmigt, da das Feuergefängnis möglicherweise nicht funktioniert .

bearbeiten 2

firejail ist ok, aber man muss äußerst vorsichtig sein, wenn man alle Optionen in Bezug auf Blacklist und Whitelist spezifiziert . Standardmäßig tut es nicht das, was in diesem Artikel des Linux-Magazins angegeben ist (siehe auch einige Kommentare des FireJail-Autors).

Seien Sie äußerst vorsichtig, wenn Sie es verwenden, es kann Ihnen ein falsches Gefühl der Sicherheit ohne die richtigen Optionen geben.

Emanuele
quelle
Dies könnte besser sein bei Ask Ubuntu
phuclv

Antworten:

56

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 den gesamten Rest physisch zerstören. Denn in der heutigen Zeit kann sogar Ihr Robotervakuum 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 Alufolienhut ab und kehren ein bisschen in die Realität zurück.

Keine Virtualisierung, schnell zu bedienen: Firejail

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/

Paketinformationen:

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 Black Belt - Black Hat-Programmierer ist, besteht die Möglichkeit, dass die Binärdatei der virtualisierten Umgebung entkommt.

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

Apache
quelle
Kommentare sind nicht für eine längere Diskussion gedacht. Diese Unterhaltung wurde in den Chat verschoben .
Geselle Geek
2

Führen Sie es nur auf einem separaten installieren - einrichten eine separate Installation auf einem externen Laufwerk oder eine andere Festplatte, stellen Sie sicher , dass Ihre Haupt installieren des paritions sind nicht angebracht (oder besser noch, trennen Sie sie), und zu testen. Sie können diese Vorinstallation für den Fall sichern, dass Sie sie erneut benötigen.

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

Geselle Geek
quelle
2

Aus der Firejail-Manpage:

   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 wie / 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.

vvasea
quelle