Comment puis-je exécuter un exécutable non approuvé sur Linux en toute sécurité?

34

J'ai téléchargé un fichier exécutable compilé par une tierce partie et j'en ai besoin pour fonctionner sur mon ordinateur (Ubuntu 16.04 - x64) avec un accès complet aux ressources matérielles telles que le processeur et le processeur graphique (via les pilotes nVidia).

Supposons que cet exécutable contienne un virus ou une porte dérobée, comment dois-je l'exécuter?

Dois-je créer un nouvel utilisateur, l'exécuter avec puis supprimer l'utilisateur lui-même?

modifier

N'approuve pas encore la réponse ci-dessous car FireJail pourrait ne pas fonctionner .

éditer 2

firejail est ok mais il faut être extrêmement prudent en spécifiant toutes les options en termes de liste noire et liste blanche . Par défaut, il ne fait pas ce qui est cité dans cet article de linux-magazine (voir aussi quelques commentaires de l'auteur de firejail).

Soyez extrêmement prudent lorsque vous l'utilisez, cela pourrait vous donner un faux sentiment de sécurité sans les bonnes options.

Emanuele
la source
cela pourrait être mieux sur Ask Ubuntu
phuclv

Réponses:

56

D'abord et avant tout, s'il s'agit d'un binaire à très haut risque ... vous devez configurer une machine physique isolée, exécuter le binaire, puis détruire physiquement le disque dur, la carte mère, et pratiquement tout le reste. Parce que de nos jours, même votre aspirateur robot peut propager des logiciels malveillants. Et si le programme infectait déjà votre micro-ondes via le haut-parleur du PC en utilisant la transmission de données haute fréquence?!

Mais enlevons ce chapeau en aluminium et revenons un peu à la réalité.

Pas de virtualisation, rapide à utiliser: Firejail

Il est déjà emballé sur Ubuntu, il est très petit et n'a pratiquement aucune dépendance.
Comment installer sur Ubuntu:sudo apt-get install firejail

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

Informations sur le forfait:

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  

J'ai dû exécuter un binaire similaire "non fiable" il y a quelques jours. Et ma recherche a conduit à ce petit programme très cool.

Virtualisation: KVM , Virtualbox .
C'est le pari le plus sûr. En fonction du binaire. Mais bon, voir ci-dessus.
Si cela a été envoyé par "M. Hacker" qui est un programmeur ceinture noire - il est possible que le binaire échappe à l'environnement virtualisé.

Malware binaire, méthode d'économie de coûts: Louez une machine! Un virtuel. Exemples de fournisseurs de serveurs virtuels: Amazon (AWS), Microsoft (Azure), DigitalOcean, Linode, Vultr, Ramnode. Vous louez la machine, lancez ce dont vous avez besoin, puis ils vont l'essuyer. La plupart des gros fournisseurs facturent à l'heure, ce n'est donc pas cher.

Apache
la source
Les commentaires ne sont pas pour une discussion prolongée; cette conversation a été déplacée pour discuter .
Journeyman Geek
2

Il suffit de l'exécuter sur une installation distincte - configurez une installation séparée sur un lecteur externe ou un autre disque dur, assurez-vous que les paritions de votre installation principale ne sont pas montées (ou mieux, déconnectez-les) et testez. Vous pouvez sauvegarder cette préinstallation au cas où vous en auriez besoin à nouveau et la supprimer une fois que vous avez terminé.

C'est une méthode beaucoup plus robuste que le sandboxing / jailing et vous pouvez traiter en toute confiance la deuxième installation comme étant à usage unique et / ou l'utiliser uniquement lorsque cela est nécessaire.

Compagnon Geek
la source
2

Extrait de la page de manuel de 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.

C'est une description de haut niveau, il y a d'autres choses qui se passent, par exemple, / boot est sur liste noire, de même que / sbin et / usr / sbin.

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

Vous pouvez également consulter ce document: https://firejail.wordpress.com/documentation-2/firefox-guide/ - ils ont une très bonne description du système de fichiers.

vvasea
la source