Ataques contra la Virtualización

Body

Hyperjacking

hyperjacking toma el control del hipervisor, el dispositivo el cual gestionar y controla las máquinas virtuales subyacentes. Esto permite a un ciberatacante ganar control de todas las máquinas virtuales, como también acceder hacia todos los datos manejados por estos sistemas. Típicamente se lanzan contra hipervisores tipo 2 ejecutándose sobre una máquina anfitrión. Es eficiente porque implica un hipervisor falso sea instalado sobre la máquina anfitrión. Un hyperjacking exitoso instala un hipervisor falsificado el cual luego gestionará y tendrá acceso hacia los sistemas operativos invitados existentes.

Escape de la MV

Una máquina virtual esencialmente opera en una sandbox teniendo acceso únicamente hacia los recursos requeridos por funcionalidad. El escape de la máquina virtual elimina este aislamiento. La máquina virtual, la cual es un sistema operativo invitado, es eliminada desde esta sandbox, y es capaz de acceder al hipervisor supervisor además de sus recursos. Esto permite al ciberatacante interactuar y manipular los otros sistemas operativos invitados.

Negación de Servicio (DoS)

Aunque la negación de servicio es un ataque tradicional, puede también aplicarse hacia la virtualización. Para hacer las cosas peores, un DoS puede ser aplicado de dos maneras en lo cual respecta a la virtualización. Un ataque DoS puede ser realizado contra ya sea el sistema operativo anfitrión o las máquinas virtuales invitadas. Similar a la negación de servicio tradicional, los ataques inundan los recursos de la red con tráfico, volviendo los recursos no disponibles. Recordar una máquina anfitrión frecuentemente soporta muchas máquinas invitadas. Un ataque DoS contra un host de este tipo podría paralizar los servicios de múltiples compañías diferentes.

Fuentes:

https://www.astroarch.com/tvp_strategy/vm-escape-is-not-your-main-worry…
 

Mitigación de Riesgos

Body

Aparte de los beneficios de la virtualización, existen y siempre deberían existir, preocupaciones sobre los riesgos de seguridad asociados con la virtualización. Afortunadamente estos riesgos son manejables. A continuación se detalla una lista de tácticas, las cuales de seguirse, ayudarán a mitigar las potenciales amenazas hacia los entornos virtuales sin necesidad de procesos y soluciones engorrosas y costosas.

Separación: Es importante crear un entorno de desarrollo separado para las máquinas virtuales. Esto permite probar las máquinas virtuales de manera segura antes de ponerlas en producción sobre la red en vivo.

Establecer "Zonas de Confianza" para los diferentes entornos desplegados. Esto puede ser comparado hacia clasificaciones de seguridad o niveles de sensibilidad. Cada máquina virtual debe pertenecer a una categoría de seguridad, independientemente de su función, y es allí donde debe residir sobre la red con los controles de seguridad adecuados para el nivel de seguridad apropiado.

Fortalecer procesos: Habilitar procesos de virtualización específicos de TI para aumentar la eficiencia y simplificar la gestión.

Gestión de expansión: Activamente gestionar el entorno virtual. Conocer aquello lo cual está siendo utilizado, aquello necesario o no necesario.

Gestión completa de la pila: Enfocarse en las conexiones de extremo a extremo dentro del entorno virtual para asegurarse no existan brechas.

Auditoría incorporada: Aprovechar herramientas para automatizar verificaciones de seguridad. Hacer la auditoría una parte de la rutina global simplificará el proceso de revisión.

Parchar: Implementar un proceso y un programa para el mantenimiento y gestión de parches, para asegurarse los parches estén actualizados para máquinas virtuales en línea como fuera de línea.

Fuentes:

https://www.freecodecamp.org/news/vm-data-protection-best-practices/
 

Capas Adicionales de Complejidad en la Infraestructura

Body

Con la complejidad adicional la cual puede surgir en un entorno virtualizado, la necesidad de vigilar eventos y anomalías también se vuelve más complejo. Esta complejidad añadida puede hacer más difícil la identificación de problemas de seguridad ya retadores, como amenazas persistentes avanzadas. Algunas complejidades específicas a tener para ser consciente y gestionar son la utilización compartida de recursos y acceso directo a memoria.

El uso compartido de recursos y almacenamiento permite simplificar intercambios de archivos entre máquinas virtuales, además de entre máquinas virtuales y sus sistemas operativos anfitrión. Esta flexibilidad introduce una medida para incrementar también el riesgo. Funciones como compartir el portapapeles puede aumentar la funcionalidad, pero también pueden generar vulnerabilidades de seguridad similares.

Las máquinas virtuales también tienen acceso directo a memoria para controladores como tarjetas de vídeo y de red. Este acceso permite la máquina virtual y el hipervisor creen mejor desempeño pero también incrementa los riesgos. El acceso directo a memoria o (DMA) puede permitir un ciberatacante utilice el almacenamiento de un dispositivo periférico para mover código fuera de la máquina virtual.

Fuentes:

https://amnic.com/blogs/cloud-cost-optimization-challenges

Ausencia de una Separación Física

Body

En las redes físicas tradicionales existía siempre algún tipo de separación, o podría ser hecha exista desconectando un cable entre los sistemas sobre una red. Como ejemplo dos computadoras las cuales están conectadas a la misma LAN Ethernet pueden únicamente comunicarse la una con la otra a través de esa red. Y si el cable de red es desconectado o se pone un firewall entre estas dos computadoras, no serán capaces de comunicarse la una con la otra.

En un entorno virtualizado el hipervisor siempre crea una conexión de software entre los sistemas, no una física. Y debido a estar basado en software, no hay manera de completamente aislar un sistema operativo del otro. La única manera para asegurar separación física en un entorno virtual es migrar una de las máquinas virtuales del sistema operativo hacia una plataforma de hardware diferente. Es esta conexión persistente de software la cual conduce a los administradores de seguridad en redes pensar sobre la virtualización nunca será configurada tan seguramente como una red tradicional.

Fuentes:

https://en.wikipedia.org/wiki/Air_gap_(networking)
 

Las Máquinas se Convierten en Archivos

Body

Los entornos virtualizados son dinámicos por diseño, y algunas veces cambian rápidamente con regularidad. A diferencia de los entornos físicos, docenas e incluso cientos de máquinas virtuales pueden ser encendidas en cuestión de minutos. Este tipo de despliegue rápido y a gran escala de máquinas virtuales nuevas o existentes facilita mucho perder el rastro de aquello en ejecución, aquello desconectado, y cuales vulnerabilidades de seguridad pueden estar presentes.

Esto se denomina expansión virtual, lo cual se refiere hacia la condición en un entorno operativo donde el número de máquinas virtuales en existencia alcanza un punto en el cual ya no se pueden gestionar o asegurar eficazmente. En esta situación la seguridad de todas las máquinas virtuales no puede ser garantizada. Los ciberatacantes utilizarán la expansión virtual como una cubierta para localizar una máquina virtual fuera de linea, utilizándola para ganar acceso hacia los sistemas de una organización.

Afortunadamente la expansión virtual puede ser gestionada, hasta cierto grado, con políticas y técnicas para automatización correctas, pero como cualquier sistema ya sea físico o virtual, una sobrecarga puede ocurrir si es permitido a través de una mala gestión o falta de personal.

Fuentes:

https://www.techtarget.com/searchvmware/tip/Understanding-the-files-tha…
 

El Hipervisor

Body

Los hipervisores están deliberadamente escritos para ser robustos y seguros. Sin embargo como todo software inevitablemente contienen vulnerabilidades, los cuales si son descubiertos podrían ser explotados por un ciberatacante. El valor del hipervisor es reducir la superficie de ataque con la cual debe trabajar un ciberatacantes, lo cual en sí mismo crea un alto nivel de seguridad. La desventaja es toda esta seguridad puede inmediatamente volverse contra uno si un ciberatacante es capaz de comprometer el hipervisor, debido a una vez comprometido el ciberatacante se adueña de todo.

Afortunadamente existe una solución de seguridad para el hipervisor llamada introspección para máquinas virtuales. Como su nombre lo sugiere, la introspección de máquinas virtuales permite al administrador vigilar todos los eventos dentro de un entorno virtual, de tal manera cualquier comportamiento inusual pueda ser detectada oportunamente. La introspección de máquinas virtuales es implementada en el hipervisor. y vigila el estado del hipervisor como también de todas las máquinas virtuales ejecutándose sobre el servidor físico. La introspección puede ocurrir de diferentes maneras. Algunos ejemplos incluyen hacer introspección de memoria o introspección sobre eventos del sistema, vigilando llamadas del sistema, interrupciones, y eventos de dispositivos de E/S, como también procesos vivos. La introspección de máquinas virtuales puede también detectar acciones de malware diseñadas para evitar la detección de antimalware, pues el comportamiento del sistema operativo virtual está siendo observado desde el exterior. Dads las funciones de introspección se ejecutan en el hipervisor, es posible rastrear y vigilar cada interacción entre un sistema operativo invitado o una aplicación y el hardware subyacente, lo cual lo convierte en una potente herramienta para la seguridad de la virtualización.

Fuentes:

https://www.vmware.com/topics/hypervisor
 

Beneficios de la Virtualización para la Ciberseguridad

Body

El aislamiento de otros sistemas operativos y aplicaciones es uno de los beneficios importantes de la  virtualización. Una máquina virtual se ejecuta a un nivel de permisos comparado al hipervisor el cual se ejecuta en la cima, lo cual mantiene cualquier máquina virtual sea comprometida irrumpa en otros sistemas. Adicionalmente el código de los hipervisores Tipo 1, también referidos como hipervisores de hardware (hipervisores los cuales se ejecutan directamente en el hardware), se mantienen lo más pequeño posible, lo cual reduce grandemente la superficie de ataque con la cual un ciberatacante debe trabajar.

Las máquinas virtuales son también muy confortables para el aislamiento de aplicaciones. Este tipo de aislamiento ayuda a los gestores de TI manejar mejor la inestabilidad de las aplicaciones, lo cual podría desperdiciar recursos, o incluso peor conducir hacia una caída completa del sistema y el compromiso de la aplicación, lo cual podría conducir a la escalada de privilegios locales y el acceso no autorizado por un ciberatacante.

La resiliencia y la alta disponibilidad es otro pilar de la virtualización. Esta cualidad de la virtualización permite a los administradores aprovisionar rápidamente máquinas seguras, replicar políticas de seguridad a través de numerosas máquinas virtuales, automáticamente configurar conjuntos de reglas del firewall para clases de servidores, y automáticamente poner en cuarentena los sistemas comprometidos o los cuales no cumplan con las normas. La resiliencia y alta disponibilidad también propician técnicas para técnicas sofisticadas de automatización, lo cual reduce aún más los tiempos para configuración y recuperación.

Con el aumento de regulaciones para control de datos, como el GDPR, es más importante que nunca tener completa visibilidad y control de sus datos. Existen innumerables ejemplos de organizaciones siendo vulneradas, como también el robo de datos desde sus sistemas de los cuales ni siquiera se sabía de su existencia.

La virtualización reduce enormemente el tiempo y costos para operaciones de recuperación ante desastres. En lugar de guardar miles de archivos individuales y restaurarlos desde una copia de respaldo, toda la máquina virtual puede ser copiada como copia de respaldo incluso mientras está actualmente en funcionamiento. Esta copia de respaldo frecuentemente aparecer como un único gran archivo, lo cual es un tremendo ahorro de tiempo comparado con reinstalar un sistema operativo y restaurar archivos de datos. Frecuentemente una máquina virtual puede ser restaurada desde copias de respaldo en cuestión de minutos.

Los dispositivos virtuales, los cuales son imágenes de máquinas virtuales previamente configuradas, listas para ejecutarse sobre un hipervisor, también son muy útiles para seguridad de la virtualización. Los dispositivos virtuales pueden ser construidos para realizar una o dos funciones muy bien y nada más. Dependiendo de la necesidad y el entorno, un dispositivo virtual puede reducir aún más la superficie de ataque en un entorno de cómputo.

Aparte de todas los beneficios de seguridad y un mejor uso de recursos, la virtualización es mucho más fácil de gestionar, lo cual crea sistemas flexibles y reduce los costes generales e incluso las facturas de electricidad.

Fuentes:

https://softwareg.com.au/blogs/cybersecurity/does-virtualization-increa…
 

¿Qué es la Seguridad en Virtualización?

Body

La seguridad en virtualización, similar a la seguridad de redes o aplicaciones, abarca los problemas de seguridad enfrentados por los componentes de un entorno virtualizado, y los métodos para prevenirlos o minimizarlos. La seguridad en virtualización incluye procesos tales como la implementación de controles y procedimientos de seguridad en cada máquina virtual; la protección de las máquinas virtuales, la red virtual, y cualquier otro dispositivo virtual desde el dispositivo físico subyacente; además de la creación e implementación de políticas de seguridad en todo el entorno virtual.

Una de las principales áreas de enfoque para la seguridad en virtualización es la adecuada protección y aislamiento de los distintos sistemas operativos invitados ejecutándose en un equipo anfitrión. Si un servidor ejecuta una gran cantidad de sistemas operativos invitados, los ciberatacantes desearán poder comprometer el sistema para luego acceder hacia todas las demás máquinas virtuales. Este método se conoce como tácticas de escape de máquinas virtuales y es un área importante de enfoque para los profesionales en ciberseguridad.

Fuentes:

https://www.liquidweb.com/blog/virtualization-security/
https://www.vmware.com/topics/virtualized-security
 

Beneficios y Usos de la Virtualización

Body

Las máquinas virtuales han tenido un tremendo crecimiento, En sus inicios, cuando el hardware era lento y caro, con esfuerzo se podía ejecutar un sistema operativo y unas pocas aplicaciones en una computadora sin tener problemas de rendimiento. Iniciando el año 2000, los procesadores se volvieron rápidos y muchos sistemas contaban con procesadores de doble núcleo. Adicionalmente era común tener un mínimo de 4 GB de memoria, incluso en laptops. Esto significaba en un sistema promedio la utilización del procesador y la memoria era inferior al 30 %, lo cual significaba estaban disponibles muchos recursos. Esta capacidad extra podía fácilmente ser utilizada para ejecutar uno o varios sistemas operativos virtualizados.

Uno de las principales y más obvios beneficios es ser capaz de ejecutar múltiples sistemas operativos sobre la misma computadora. Tanto si se lleva una laptop hacia un cliente y se necesitan herramientas en Windows y Linux, como si se es usuario de Mac y se desea ser capaz de acceder a aplicaciones diseñadas para sistemas operativos Windows, las máquinas virtuales permiten utilizar una computadora para ejecutar varios sistemas operativos al mismo tiempo. En el pasado era necesario llevar varias computadoras o configurar un sistema de arranque dual. Ninguna de estas opciones es una gran opción. Desde la perspectiva de un servidor, en lugar de deber comprar una gran cantidad de sistemas, un pequeño número de sistemas de gama alta puede ejecutar el mismo número de sistemas operativos con menos hardware para mantener.

Desde la perspectiva de un Plan para Recuperación ante Desastres (DRP), en lugar de tener 10 servidores con un sistema operativo y sin redundancia sobre cada uno, se podrían tener dos sistemas con cinco sistemas operativos y cuatro sistemas de conmutación por error cada uno, y aun así tener menos hardware. Si un sistema falla no es necesario reconstruirlo ni restaurarlo desde una copia de respaldo. Simplemente se cargaría la imagen del invitado y el sistema se ejecutaría en minutos. Desde la perspectiva de la ciberseguridad, los componentes clave pueden ser aislados y contenidos para reducir o limitar la exposición.

Con los principales beneficios sobre la facilidad de uso y la portabilidad, los usos de las máquinas virtuales son casi infinitos. Empezando por lo más obvio: las máquinas virtuales son grandiosas para el entrenamiento. Por ejemplo se puede utilizar una sola computadora y ejecutar varios sistemas operativos previamente diseñados por el instructor. La respuesta ante incidentes, análisis de código malicioso y forense digital, permiten a los profesionales en ciberseguridad tener un laboratorio de seguridad portátil sobre una sola computadora, con todas las herramientas y el software necesarios al alcance de la mano.

Las máquinas virtuales benefician tanto al usuario individual como a los centros de datos de alta gama. Las máquinas virtuales permiten a los profesionales en ciberseguridad acceder hacia una amplia gama de sistemas operativos simultáneamente sin necesidad de adquirir hardware adicional costoso. Esto permite crear laboratorios virtuales de ciberseguridad con un mínimo esfuerzo. Antes de la virtualización, para un laboratorio efectivo, era necesario adquirir varios sistemas de cómputo con unidades extraíbles. Ahora con unos pocos sistemas y máquinas virtuales se puede simular una red corporativa completa con un gasto mínimo.

Fuentes:

https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/virt-why-…
https://www.tech-insider.org/esx/research/acrobat/050914.pdf
 

¿Cómo Funciona la Virtualización?

Body

El software de máquina virtual (software VM) es un simple emulador para una computadora, todo creado en software. Se instala un programa de VM sobre la cima de otro sistema operativo, conocido como sistema operativo anfitrión, el cual podría ser Windows o GNU/Linux. Luego se pueden iniciar computadoras virtuales en el software de VM, cada una de las cuales se denomina sistema operativo invitado o máquina virtual. Cada sistema operativo invitado tiene su propia asignación de memoria, adaptadores de red virtualizados, discos duros, y otros componentes de hardware. Los diferentes invitados y el anfitrión parecen ser sistemas operativos verdaderamente independientes, todos ejecutándose sobre el mismo hardware.

El software de VM es cargado en el sistema operativo anfitrión, como cualquier otra aplicación. Después de instalarlo su trabajo es interactuar con todos los componentes de hardware y crear entornos de hardware virtualizados, de tal manera se puedan instalar otros sistemas operativos y aplicaciones. El sistema operativo o la aplicación no es consciente se está ejecutando en una máquina virtual. Por lo tanto se pueden instalar cuatro sistemas operativos invitados diferentes, cada uno con una tarjeta de interfaz de red (NIC) virtualizada. Esto significa a cada uno se le puede asignar una dirección IP única y conectarse e interactuar como si estuviese instalado sobre cuatro sistemas de cómputo diferentes y conectado con un switch.

La virtualización es la herramienta fundamental del software de VM. Este software toma la memoria física, los procesadores, la tarjeta de red (NIC), y otros componentes de hardware, para luego crear componentes virtualizados para interactuar con los diferentes sistemas operativos invitados. El software de VM debe rastrear el intercambio entre los componentes físicos y virtuales para garantizar todo funcione apropiadamente.

Cuando se diagnostican problemas de un sistema operativo, es importante recordar si se trata de un sistema operativo anfitrión o invitado. Aunque parecen funcionar de la misma manera, existen sutiles diferencias entre los dos. Un sistema operativo anfitrión accede directamente al hardware, y el sistema operativo invitado accede al hardware virtual a través de un emulador.

Fuentes:

https://en.wikipedia.org/wiki/Virtual_machine