Tengo un conjunto de archivos de código fuente (C # compilado) a los que deseo evitar el acceso de lectura directa. El programa se ejecutará en la máquina virtual. Estaba pensando en almacenarlos en una VM de disco duro cifrada, la VM usaría estos archivos junto con un punto final HTTP / TCP.
Alguna información adicional:
- Los archivos que deben protegerse son archivos C # 'IL' compilados (creo que se llama código de bytes).
- El cliente ejecutará la máquina virtual en su propio entorno de host / hipervisor.
El cifrado sería un cifrado de disco (en relación con la máquina virtual), por lo que se toma lo siguiente de enlace
El cifrado del disco garantiza que los archivos siempre se almacenen en el disco en una forma encriptada. Los archivos solo están disponibles para el operador. Sistema y aplicaciones en forma legible mientras el sistema se está ejecutando. y desbloqueado por un usuario de confianza. Una persona no autorizada que mira el el contenido del disco directamente, solo encontrará datos confusos de apariencia aleatoria en lugar de los archivos reales.
¿Esto significaría que un host de VM no podría ver los archivos?
También buscaría evitar cualquier otro medio de acceso además del punto final HTTP / TCP (por lo que eliminaría cualquier indicador de inicio de sesión, etc., posiblemente incluso eliminaría todo el shell si fuera posible).
No estoy demasiado preocupado por los archivos que aparecen en 'memoria', ya que creo que sería una tarea difícil revertir la ingeniería de nuevo en archivos.
Puedo apreciar que esto no es 100% seguro, solo estoy tratando de hacer que el acceso al código fuente sea lo más difícil posible (ya estoy usando ofuscación de código fuente).
El objetivo principal aquí es evitar el acceso de lectura / ingeniería inversa del código fuente de la aplicación.
Supongo que un resumen de lo anterior se puede expresar de la siguiente manera: ¿Es suficiente lo anterior para crear un blob binario 'seguro' que es una imagen de máquina virtual y solo el punto de entrada / interfaz sería un punto final HTTP?