Encontrar los recursos para hacer frente a los problemas que presupone la ciberseguridad puede ser un gran reto. Los ataques de hoy son más sigilosos que nunca, y para entenderlos y protegerse de ellos, las organizaciones deben movilizar todas sus defensas para centrarse en las amenazas, buscando ganar visibilidad y control sobre cada etapa en el ciclo de ataque –antes de ocurrir, en tiempo de ejecución, y luego de que un ataque pudo resultar exitoso, con la información robada o sistemas dañados.
En este marco, cabe preguntarnos: ¿qué entendemos por "fortalecer" sistemas de información? En términos de resistencia a exploits e intrusiones, podemos decir que trabajar en pos de un sistema de seguridad robusto implica garantizar al menos los aspectos que se detallan a continuación.
Configurar correctamente la seguridad de los sistemas en base a su operatoria
Las configuraciones son, en un sentido casi literal, el ADN de los modernos sistemas de información. Los ajustes de configuración son aquellos atributos y parámetros que indican a los sistemas –desde servidores a dispositivos de red y de bases de datos a aplicaciones de escritorio- cómo actuar y comportarse.
Por desgracia, los sistemas no se diseñan normalmente desde una perspectiva de seguridad, sino de operatoria, lo que los convierte en sistemas capaces pero inseguros. Los sistemas informáticos modernos tienen más de mil puertos "bien conocidos" con los que para realizar su trabajo. También tienen alrededor de otros 40 mil puertos "registrados", y aún otros 20 mil "privados", compatibles con una gran cantidad de servicios y procesos.
A modo de analogía, si traducimos "puertos, procesos y servicios" de un servidor a las "puertas, portones y ventanas" en una casa, resulta inevitable observar a los sistemas de información como casas inimaginablemente grandes, esencialmente inseguras. Así, la gestión de la configuración de seguridad se convierte en la tarea de determinar cuáles de estas puertas, portones y ventanas deben ser abiertos, cerrados o bloqueados en un momento dado.
Tengamos en cuenta que las configuraciones de los dispositivos de red pueden tener un promedio de 2 mil líneas de código para cada dispositivo, conteniendo cientos de parámetros para unos 20 diferentes protocolos IP y tecnologías que necesitan para trabajar conjuntamente.
Para confrontar la tarea de asignar una correcta configuración de seguridad podemos recurrir a las guías que ofrecen los diferentes proveedores para sus productos, indicando cómo personalizar y mejorar la seguridad del sistema operativo y aplicaciones de soporte.
En cualquier caso, la gestión de la configuración de seguridad buscará encontrar el adecuado balance entre la seguridad y facilidad de uso, en algún lugar entre "se permiten contraseñas en blanco para el servidor" y "el sistema necesita tener una nueva, nunca utilizada, compleja contraseña de 30 caracteres que ha de cambiar cada 48 horas".
Actualizar el sistema operativo, firmware y aplicaciones para mantenerlas a la vanguardia de los exploits que busquen atacar fallos en el código subyacente
Si la gestión de la configuración admite desviaciones subjetivas en pos de hallar el correcto equilibrio entre seguridad y productividad, el fortalecimiento de sistemas frente a vulnerabilidades y exploits es mucho más blanco y negro. Implica identificar las brechas de seguridad, y desplegar cuanto antes los parches más actuales que las subsanen, proporcionando una evaluación continua de riesgo global en función de si estas vulnerabilidades se mitigan o se ignoran.
Algunas buenas prácticas incluyen:
1. Ejecutar escaneos de vulnerabilidades automatizados al menos semanalmente y apuntar a remediar de vulnerabilidades de alto riesgo.
2. Correlacionar los hallazgos con los registros de eventos para identificar qué exploits detectados en el exterior son vulnerables en el interior.
3. Realizar análisis de vulnerabilidad autenticados con una cuenta administrativa dedicada.
4. Suscribirse a publicaciones de vulnerabilidad para estar al tanto de nuevas amenazas emergentes.
Asegurar que este proceso funciona de manera continua, automatizándolo tanto como sea posible
Si queremos fortalecer nuestros sistemas contra "vulnerabilidades conocidas" –fallos para los que existen CVEs conocidos- usamos una solución de gestión de vulnerabilidades. Si queremos fortalecer nuestros sistemas contra "vulnerabilidades condicionales" –debilidades basadas en malas configuraciones- usamos una solución de gestión de configuración de seguridad. Pero sin la automatización para proporcionar el factor de "continuidad" a estos esfuerzos nos hallamos rápidamente como al principio.
La mayoría de las organizaciones tienen cientos –si no miles- de servidores, sistemas de escritorio, portátiles y dispositivos. Estos representan una fuente casi inagotable de vectores de ataque. La automatización nos exige no sólo crear rutinas de curso continuo para evaluar el estado de todo este vasto conjunto de objetivos, sino que también nos obliga a hacer concesiones a las condiciones siempre cambiantes que dan sentido y relevancia al riesgo.
Un requisito fundamental para el logro de este proceso continuo es la comunicación permanente entre los diferentes sistemas de seguridad de la información. Los sistemas de gestión de la vulnerabilidad son muy buenos para encontrar sistemas inesperadamente inseguros. En tal situación, puede indicar al sistema de configuraciones acerca del hallazgo y solicitar que realice una evaluación de configuración en el terreno.
Del mismo modo, los sistemas de gestión de configuración de seguridad están desarrollando maneras inteligentes para clasificar los activos: por unidad de negocio, por el propietario de la red, por aplicaciones críticas, incluso por el tipo y la criticidad de los datos almacenados en el sistema. Esto ayuda a gestionar y dar prioridad a sus propios riesgos, pero cuando se comparte con un sistema de gestión de vulnerabilidad también ayuda a clarificar y priorizar los esfuerzos de remediación.
Ambos sistemas están siendo utilizados ampliamente por los sistemas SIEM como fuente fundamental de información de seguridad: en el primer caso, correlacionan las vulnerabilidades conocidas con las amenazas detectadas, y en el segundo, el uso de los cambios de configuración repentinos para alimentar los modelos de inteligencia de amenazas en tiempo real.