Es evidente que en los últimos años la virtualización ha tenido una considerable aceptación dentro de las empresas y, más que una tendencia, se ha convertido en un estándar de la industria. Su adopción incluye beneficios relacionados principalmente con las capacidades de almacenamiento y procesamiento en una infraestructura cada vez más reducida.

En el proceso de adopción y migración hacia este tipo de soluciones, diversas cuestiones deben ser consideradas en busca de mantener servicios confiables y disponibles. Por ello, la seguridad se convierte en un elemento necesario para mitigar amenazas informáticas, en busca de evitar que la operación de los sistemas virtualizados se vea impactada ante un eventual incidente.

Riesgos de seguridad en ambientes virtualizados: el hipervisor en el centro de la escena

Las amenazas informáticas pueden afectar a los sistemas sin importar si se encuentran operando en ambientes físicos o virtuales; sin embargo, para la protección existen condiciones propias de cada entorno sobre la forma de implementar las medidas de seguridad. Especialmente si consideramos que la administración de los sistemas virtualizados opera a partir de un hipervisor.

El hipervisor (también conocido como monitor de máquinas virtuales) es el software que permite emular el hardware sobre el cual se ejecutan las máquinas virtuales, de tal forma que puede funcionar directamente sobre el hardware de los equipos físicos o bien sobre un sistema operativo.

Independientemente de la forma en la que opere, los riesgos se encuentran latentes. Incluso es posible identificar amenazas que pueden escapar del ambiente virtual, como el caso de Venom: una vulnerabilidad que permitiría a un atacante o un programa malicioso salir del entorno de una máquina virtual y afectar al equipo anfitrión u otras máquinas virtuales, ejecutándose en dicho equipo.

Las amenazas pueden afectar a los sistemas en ambientes físicos o virtuales; para la protección existen condiciones propias de cada entorno

La vulnerabilidad se encontraba presente en el código fuente del hipervisor, por lo que el fallo podría afectar a los principales sistemas operativos que se encontraran en ambientes virtuales. Básicamente, la vulnerabilidad correspondía a un desbordamiento de búfer, luego de que se enviaran datos de parámetros especialmente modificados al controlador del hipervisor, lo que permitiría la ejecución de código arbitrario y la obtención de acceso al sistema.

Además, si el hipervisor se ejecuta en un sistema operativo, quizá exista una mayor exposición a amenazas que podrían atentar no solo contra los sistemas virtualizados, sino también aquellas que buscan afectar el sistema operativo anfitrión. En otras palabras, se debe lidiar con las amenazas enfocadas propiamente a los sistemas operativos que han sido virtualizados y aquellas orientadas a los sistemas anfitriones.

Enfoques de seguridad agent-based versus agentless

Por ello, cuando se desea proteger los sistemas operativos y la información alojada en máquinas virtuales, es posible aplicar distintos enfoques de seguridad, en función de las características de la infraestructura de cada organización.

En el caso específico de la protección contra códigos maliciosos, una opción sencilla es la instalación del software antimalware en cada uno de los sistemas virtualizados, considerando una solución compatible con los entornos virtuales. Este enfoque de protección es conocido como protección basada en agentes (agent-based). Pero sin duda, esto se contrapone con la idea de obtener la mayor eficiencia de los recursos de hardware.

Al igual que cualquier otro software, un antivirus consume recursos de cada una de las máquinas virtuales en las que se encuentra (tanto espacio en disco como memoria). Sucede que una herramienta antimalware en cada sistema requiere de un propio motor de análisis e identificación de códigos maliciosos, actualizaciones independientes del propio software y de la base de datos de firmas de malware.

La demanda de recursos incrementa de manera lineal con base en el número de máquinas virtuales. En el modelo tradicional cliente-servidor, si el programa antivirus ejecuta actualizaciones o exploraciones, lo hace de forma simultánea en todos los sistemas virtuales. Del mismo modo, cuando un cliente antivirus reconoce algún tipo de malware, por lo general lo ubica en cuarentena o comienza a escanear y limpiar toda la máquina virtual, lo que también se traduce en consumo de recursos.

Lo anterior se conoce como “tormentas AV”, término utilizado para describir problemas de funcionamiento causados por el uso convencional de los antivirus en máquinas virtuales. Se presentan cuando se lleva a cabo una exploración o actualización de la base de datos de firmas de virus de manera simultánea en varias máquinas, lo que puede conducir a un repentino incremento en el consumo de recursos o la reducción del rendimiento. En casos más críticos, se puede generar una denegación de servicio si los recursos físicos son excedidos por los sistemas virtuales.

Evidentemente estos inconvenientes no pasaron desapercibidos por la industria antivirus. Los proveedores de seguridad ofrecen soluciones específicas para entornos virtuales. Por ejemplo, soporte para la virtualización a partir de tecnología que previene un análisis redundante (Shared Local Cache); una vez que un archivo ha sido escaneado y se ha comprobado que no es malicioso, pasa a formar parte de una lista blanca y todas las demás instancias de ese archivo se omiten de un análisis posterior.

A través de este método se estima que alrededor del 70% de las exploraciones pueden ser evitadas en un sistema típico, mediante un análisis inteligente que elimina la necesidad de escanear archivos duplicados, resultando un consumo de recursos reducido y la mitigación de las tormentas AV. La siguiente imagen muestra un diagrama sobre una implementación agent-based en las máquinas virtuales.

agentbased2

Para optimizar los recursos, se han desarrollado otros enfoques, tal es el caso del denominado agentless. Como su nombre lo indica, no requiere de un agente en cada sistema. Por el contrario, se emplea una máquina virtual especializada o SVA (Security Virtual Appliance) que mantiene el motor de análisis e identificación de malware, junto con la actualización de la base de datos, para proveer seguridad a las máquinas virtuales que se ejecutan en el hipervisor.

Esta tecnología conocida como vShield ha sido desarrollada por VMWare, uno de los fabricantes de soluciones de virtualización más populares. La principal ventaja que ofrece es el bajo consumo de recursos, debido a que las funcionalidades básicas del antivirus son concentradas en un único “appliance” que brinda la protección a todos los sistemas virtualizados.

Con la solución sin agentes, el problema de las tormentas AV se ve mitigado porque las actualizaciones se aplican solo sobre SVA

Las tareas de exploración se ven optimizadas, entre otras razones, porque una nueva máquina virtual generada se ve protegida casi de manera instantánea sin la necesidad de instalar software adicional. Además, las actividades de migración o actualización se realizan de manera sencilla, operando únicamente sobre SVA.

Con la solución sin agentes el problema de las tormentas AV se ve mitigado, debido a que las actualizaciones se aplican solo sobre SVA, mientras que los análisis de las máquinas virtuales se realizan de manera controlada.

Una limitante técnica de este enfoque es la protección limitada, ya que solo se pueden utilizar las funciones básicas de los antivirus como la exploración en acceso y bajo demanda, sobre todo porque no es posible monitorear otros recursos como la memoria de las máquinas virtuales. Además, del lado comercial por el momento este enfoque solo es compatible con la tecnología propietaria de VMWare. El siguiente gráfico muestra la estructura para la implementeación de un enfoque agentless:

agentless2

Sean sistemas virtualizados o físicos, la seguridad es fundamental

Por lo tanto, en cuanto a tecnología de seguridad en sistemas virtuales y hablando específicamente de soluciones contra malware, se requiere en primer lugar que ésta sea compatible con la tecnología de virtualización, para que pueda funcionar de la misma manera que lo haría en un sistema físico.

Para adoptar un enfoque de protección, las principales consideraciones a tener son el tipo de hipervisor utilizado, los recursos de hardware y software, así como las necesidades de seguridad y la tecnología de virtualización seleccionada.

Una vez que se tienen funcionando los sistemas operativos virtuales junto con las herramientas de protección contra malware, es necesario seguir aplicando las medidas de seguridad ampliamente recomendadas por las mejores prácticas (como políticas de seguridad o filtrado de conexiones). No importa que se trate de un sistema operativo virtualizado, ya que la mayoría de las amenazas informáticas pueden ejecutarse de igual manera, a excepción de aquellas diseñadas para identificar y evadir este tipo de entornos.

Finalmente, como se pudo revisar tanto el enfoque agentless como agent-based ofrecen ventajas y desventajas, mismas que deben ser puestas en la balanza al momento de diseñar una estrategia de protección contra códigos maliciosos y otras amenazas informáticas de los entornos virtualizados.