¿Hay alguna forma razonable de proteger los datos en hardware virtual? Lo que quiero decir con "hardware virtual" son los diversos sistemas alojados que se pueden alquilar de varios hosters en línea, que se ejecutan sobre XEN, KVM, VMWare ESXi, etc.
Con el hardware dedicado real, uno puede asumir de forma segura que el sistema en sí no se ha comprometido si:
- se puede asumir que el software es seguro, es decir, se puede suponer que el software que se ejecuta en esa máquina (ssh, servidor web, etc.) no ha sido explotado o forzado por la fuerza bruta
- se puede asumir que el hardware no está comprometido, es decir, la máquina no se ha desconectado, por lo que un atacante podría haber cambiado partes esenciales de hardware como HDDs / RAM / etc con las comprometidas. (Sí, sé de hardware intercambiable en caliente, pero supongamos que dejará suficientes rastros, ya sea en registros o mal funcionamiento del software, si no lo hace una autoridad legítima).
Pero con el hardware virtual, la suposición de que el hardware no se ha comprometido ya no se mantiene, porque el proveedor de servicios puede pausar, copiar y reiniciar la máquina a voluntad, sin que se reinicie ni se desconecte. Además, el proveedor de servicios tiene acceso directo a la memoria RAM y los discos de toda la máquina virtual, mientras aún se está ejecutando.
Con un poco de esfuerzo, el proveedor de servicios podría incluso cambiar los archivos authorized_keys o / etc / passwd en el sistema para obtener acceso (raíz) al mismo y, por lo tanto, posiblemente, incluso poder ver el contenido de las particiones encriptadas que están actualmente montado.
Dadas estas vulnerabilidades o posibles ataques, mis preguntas ahora son:
-
¿Qué tan realistas son estas vulnerabilidades, son una amenaza real o simplemente "ciencia ficción"? ¿Hay algo que los haga poco prácticos en realidad? ¿Los proveedores de software de VM (Citrix, VMWare, etc.) implementan algún mecanismo de seguridad que dificulte estos ataques? (¿Hay algo que puedan hacer para que esto sea más difícil, aparte de la seguridad por oscuridad)? ¿O los proveedores de máquinas virtuales pueden incluso proporcionar herramientas a los hosters (que, después de todo, son sus clientes directos) que facilitan estos ataques?
-
¿Hay alguna forma efectiva en que un sistema de invitado pueda protegerse a sí mismo oa los datos en la RAM y en los discos de este tipo de ataques? ¿Los enfoques informáticos confiables (código firmado, etc.) serían de alguna ayuda? Sé sobre DEP y ASLR, pero eso realmente no impedirá que el host siga leyendo cada bit de memoria disponible. También creo que el cifrado RAM está fuera de discusión con el hardware / VM x86 convencional ... ya que eso ya no sería la memoria de "acceso aleatorio".
-
¿Ha habido alguna investigación sobre esto? Me sorprende lo poco que se discute sobre este tema. ¿Ya todo es tan obvio o imposible de resolver, o hay muy poco interés todavía?