VirtualBox: dispositivo de apertura con 7zip [cerrado]

2

Tenemos una aplicación PHP que está dentro de una máquina virtual (VirtualBox llave en mano). Desarrollamos un instalador que descarga virtualbox e importa el dispositivo. El usuario ejecutó este instalador para obtener la aplicación.

Pero, descubrimos que si el usuario tiene el 7zip y abre el dispositivo (.ova), puede navegar por las carpetas y obtener el código PHP.

¿Qué podemos hacer para bloquear esta "navegación con 7zip"? Como un "cifrado" de dispositivos o algo así.

¡Gracias!

    
pregunta lucks 16.10.2015 - 21:50
fuente

2 respuestas

3
  

Pero, descubrimos que si el usuario tiene el 7zip y abre el dispositivo (.ova), puede navegar por las carpetas y obtener el código PHP.

Un archivo .ova es simplemente un archivo tar que contiene configuraciones e imágenes de disco para el dispositivo. 7zip permite al usuario abrir el archivo tar y, dado que 7zip es compatible con varios formatos de imagen de disco, el usuario también puede ver qué hay en el disco, es decir, sus archivos PHP. Hay otras formas de hacer esto sin usar 7zip, por lo que no tendría ningún sentido desarrollar una solución específica para 7zip.

La causa del problema es que distribuye el código fuente de su aplicación al usuario, incluso si está empaquetado dentro de múltiples contenedores (imagen de disco, tar). Usted hace esto porque su aplicación web en el dispositivo necesita tener acceso a estos archivos. El cifrado del archivo .ova o la imagen del disco no ayudará, ya que para ejecutar la aplicación es necesario descifrar estos datos y, una vez hecho esto, el usuario puede acceder nuevamente a los datos.

Tampoco es posible cifrar el código PHP en sí mismo porque el intérprete de PHP necesita el código descifrado. La mejor posibilidad de ocultar el código del usuario es, probablemente, ofuscar para que siga siendo una fuente utilizable Código pero lo suficientemente ilegible para una ingeniería inversa simple.

Al final, se enfrenta a la pregunta de herramientas como los reproductores de DVD y otras soluciones DRM enfrentadas anteriormente: una vez que ha enviado la aplicación para su uso, pierde el control sobre ella. Mientras no tenga control sobre el sistema del usuario, no podrá limitar las actividades del usuario. Esto significa que puede hacer que la ingeniería inversa sea más difícil pero no imposible.

    
respondido por el Steffen Ullrich 16.10.2015 - 22:48
fuente
-1

Puede crear una partición LUKS cifrada que se montará en el arranque. Coloque todos sus datos en esa partición, y no estará disponible a menos que el cliente inicie Linux primero.

Instrucciones de HowToForge :

1 - Crea un archivo de clave aleatorio y hazlo legible solo por root:

sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4 

sudo chmod 0400 /root/keyfile 

2 - Crear una partición encriptada:

sudo cryptsetup luksAddKey /dev/sdX /root/keyfile 

3 - Agregue el archivo de claves a crypttab:

sudo nano /etc/crypttab 

4 - Agrega la siguiente línea a crypttab

sdX_crypt      /dev/sdX  /root/keyfile  luks

5 - Póngalo en fstab para montar en el arranque:

sudo nano /etc/fstab 

/dev/mapper/sdX_crypt  /var/www     ext3    defaults        0       2

Después de reiniciar, se montará el directorio /var/www .

    
respondido por el ThoriumBR 16.10.2015 - 22:11
fuente

Lea otras preguntas en las etiquetas