GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo ejecutar un ejecutable que no es de confianza en Linux de forma segura?

En primer lugar, si se trata de un binario de muy alto riesgo... tendría que configurar una máquina física aislada, ejecutar el binario, luego destruir físicamente el disco duro, la placa base y básicamente todo lo demás. Porque hoy en día, incluso su robot aspirador puede propagar malware. ¡¿Y qué pasa si el programa ya infectó su microondas a través del parlante de la computadora usando transmisión de datos de alta frecuencia?!

Pero, quitémonos ese sombrero de papel de aluminio y volvamos a la realidad por un momento.

Sin virtualización, rápido de usar: Firejail

Ya está empaquetado en Ubuntu, es muy pequeño, prácticamente no tiene dependencias.
Cómo instalar en Ubuntu:sudo apt-get install firejail

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

Información del paquete:

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  

Tuve que ejecutar un binario "no confiable" similar hace solo unos días. Y mi búsqueda condujo a este pequeño programa genial.

Virtualización: KVM, caja virtual.
Esta es la apuesta más segura. Según el binario. Pero bueno, mira arriba.
Si ha sido enviado por "Mr. Hacker", que es un cinturón negro - programador de sombrero negro, existe la posibilidad de que el binario pueda escapar del entorno virtualizado.

Binario de malware, método de ahorro de costes: ¡Alquile una máquina! Uno virtual. Ejemplos de proveedores de servidores virtuales:Amazon (AWS), Microsoft (Azure), DigitalOcean, Linode, Vultr, Ramnode. Alquilas la máquina, ejecutas lo que necesites y luego los limpian. La mayoría de los proveedores más grandes cobran por hora, por lo que es realmente barato.


Simplemente ejecútelo en una instalación separada:configure una instalación separada en una unidad externa u otro disco duro, asegúrese de que las particiones de su instalación principal no montados (o mejor aún, desconectarlos), y probar. Puede hacer una copia de seguridad de esta preinstalación en caso de que la necesite de nuevo y eliminarla una vez que haya terminado.

Es un método mucho más robusto que el sandboxing/jailing, y puede tratar con confianza la segunda instalación como desechable y/o usarla solo cuando sea necesario.


De la página man 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.

Esta es una descripción de alto nivel, están sucediendo otras cosas, por ejemplo, /boot está en la lista negra, al igual que /sbin y /usr/sbin.

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

También puede mirar este documento:https://firejail.wordpress.com/documentation-2/firefox-guide/ - tienen una muy buena descripción del sistema de archivos.


Linux
  1. Linux:¿cómo ejecutar un gestor de arranque desde Linux?

  2. ¿Cómo puedo ejecutar un script de Perl como un demonio del sistema en Linux?

  3. (C/C++) ¿Cómo generar un archivo ejecutable que pueda ejecutarse tanto en Windows como en Linux?

  4. ¿Cómo determinar si un archivo binario de Linux es de 32 bits o de 64 bits?

  5. ¿Cómo ejecutar Linux en PS3?

Ejecutar archivos binarios en Linux

Cómo ejecutar Windows 95 en Linux

Cómo ejecutar todos los scripts en un directorio en Linux

¿Cómo ejecutar xCloud en Linux (también en SteamOS)?

Cómo ejecutar un alias con Sudo en Linux

Maneras brillantes de cómo ejecutar un programa en Linux