VirtualBox: apertura dell'appliance con 7zip [chiuso]

2

Abbiamo un'applicazione PHP che si trova all'interno di una macchina virtuale (VirtualBox chiavi in mano). Abbiamo sviluppato un programma di installazione che scarica virtualbox e importa l'appliance. L'utente ha eseguito questo programma di installazione per ottenere l'app.

Ma abbiamo scoperto che se l'utente ha 7zip e apre l'appliance (.ova), può navigare tra le cartelle e ottenere il codice PHP.

Che cosa possiamo fare per bloccare questa "navigazione con 7zip"? Come un'appliance "encryption" o qualcosa di simile.

Grazie!

    
posta lucks 16.10.2015 - 21:50
fonte

2 risposte

3

But, we discovered that if the user has the 7zip and opens the appliance (.ova) he can navigate by the folders and get the PHP Code.

Un file .ova è semplicemente un file tar contenente configurazioni e immagini del disco per l'appliance. 7zip consente all'utente di aprire il file tar e dato che 7zip supporta vari formati di immagine del disco, l'utente può anche cercare cosa è sul disco, cioè i file PHP. Ci sono altri modi per farlo senza usare 7zip, quindi non avrebbe senso sviluppare una soluzione specifica a 7zip.

La causa del problema è che si distribuisce il codice sorgente della propria applicazione all'utente, anche se è imballato all'interno di più contenitori (immagine del disco, tar). Lo fai perché la tua applicazione web nell'appliance deve avere accesso a questi file. La crittografia di .ova o l'immagine del disco all'interno non sarà di aiuto perché per poter eseguire l'applicazione questi dati devono essere decifrati e una volta fatto questo l'utente può accedere nuovamente ai dati.

Non è inoltre possibile crittografare il codice PHP stesso perché l'interprete PHP ha bisogno del codice decrittografato. La migliore possibilità di nascondere il codice dall'utente è probabilmente offuscare in modo che rimanga sempre utilizzabile codice ma abbastanza illeggibile per il reverse engineering semplice.

Alla fine affronti gli strumenti delle domande come i lettori DVD e altre soluzioni DRM affrontate prima: una volta che hai spedito l'applicazione all'uso, perdi il controllo su di essa. Finché non hai alcun controllo sul sistema dell'utente, non puoi limitare le attività dell'utente. Ciò significa che puoi rendere il reverse engineering solo più difficile ma non impossibile.

    
risposta data 16.10.2015 - 22:48
fonte
-1

È possibile creare una partizione LUKS crittografata che verrà montata all'avvio. Metti tutti i tuoi dati su quella partizione e non sarà disponibile a meno che il client non avvi prima Linux.

Istruzioni da HowToForge :

1 - Crea un file chiave casuale e rendilo leggibile solo da root:

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

sudo chmod 0400 /root/keyfile 

2 - Crea una partizione crittografata:

sudo cryptsetup luksAddKey /dev/sdX /root/keyfile 

3 - Aggiungi il file di chiavi a crypttab:

sudo nano /etc/crypttab 

4 - Aggiungi la seguente riga a crypttab

sdX_crypt      /dev/sdX  /root/keyfile  luks

5 - Metti su fstab per montare all'avvio:

sudo nano /etc/fstab 

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

Dopo il riavvio, verrà montata la directory /var/www .

    
risposta data 16.10.2015 - 22:11
fonte

Leggi altre domande sui tag