Ho un set di file di codice sorgente (C # compilato) che voglio impedire l'accesso diretto alla lettura. Il programma sarà in esecuzione sulla VM. Stavo pensando di archiviarli in una macchina virtuale cifrata, la VM userebbe questi file insieme a un endpoint HTTP / TCP.
Alcune informazioni aggiuntive:
- I file che devono essere protetti sono file C # compilati (credo sia chiamato bytecode).
- Il client eseguirà la VM all'interno del proprio ambiente host / hypervisor.
La crittografia dovrebbe essere la crittografia del disco (relativa alla VM), quindi prendere quanto segue dal link
Disk encryption ensures that files are always stored on disk in an encrypted form. The files only become available to the operating system and applications in readable form while the system is running and unlocked by a trusted user. An unauthorized person looking at the disk contents directly, will only find garbled random-looking data instead of the actual files.
Ciò significherebbe che un host di macchine virtuali non sarebbe in grado di visualizzare i file?
Vorrei anche impedire qualsiasi altro mezzo di accesso oltre l'endpoint HTTP / TCP (quindi rimuoverò qualsiasi prompt di accesso ecc., eventualmente rimuoverò l'intera shell se ciò è possibile).
Non sono troppo preoccupato per i file che appaiono nella 'memoria', poiché penso che sarebbe un compito difficile reingegnerli di nuovo in file.
Posso capire che questo non è sicuro al 100%, sto solo cercando di renderlo il più difficile possibile per accedere al codice sorgente (sto già usando l'offuscamento del codice sorgente).
L'oggetto principale qui è impedire l'accesso in lettura / reverse engineering del codice sorgente dell'applicazione.
Suppongo che un riassunto di quanto sopra possa essere definito come segue: È sufficiente il suddetto per creare un blob binario "sicuro" che sia un'immagine VM e che sia solo il punto di entrata / interfaccia sarebbe un endpoint HTTP?