Bojan Zdrnja, instructor de SANS Institute y director técnico de Infigo IS, analiza los tres tipos de evaluaciones de seguridad más importantes

La importancia de saber diferenciar los tipos de evaluaciones de ciberseguridad

360
La importancia de saber diferenciar entre los tres tipos de evaluaciones de seguridad más importantes
Bojan Zdrnja, SANS Certified Instructor and CTO at INFIGO IS

La gestión de las vulnerabilidades en los actuales y complejos entornos de TI requiere tener en cuenta multitud de variables. En este sentido, es necesario que las empresas lleven a cabo evaluaciones de seguridad de forma habitual para identificar las vulnerabilidades existentes y poder tomar las medidas adecuadas. No obstante, es importante saber diferenciar entre tres tipos de evaluaciones de seguridad distintas, que son muy conocidas pero que deben realizarse con cuidado para lograr los mejores resultados: la búsqueda de vulnerabilidades, los test de intrusión y los ejercicios de “red teaming”.

Decidir qué tipo de evaluación de seguridad realizar depende en gran medida del nivel de madurez de la organización en términos de seguridad. Además, para obtener los mejores resultados es necesario que cada una de ellas se realice en el orden indicado. Veamos por qué.

La búsqueda de las vulnerabilidades

La búsqueda de vulnerabilidades es una práctica que cada organización debe hacer regularmente. Se trata de la primera y la más básica de las evaluaciones y sirve para encontrar vulnerabilidades conocidas y defectos de configuración. Las herramientas de búsqueda o identificación de vulnerabilidades realizan un gran trabajo enumerando los parches instalados, buscando cuentas por defecto y errores de configuración. Las herramientas más modernas también se pueden autenticar en los sistemas de destino para confirmar la lista de parches instalados, reduciendo así los falsos positivos.

La búsqueda de vulnerabilidades se debe realizar preferiblemente con herramientas internas

La búsqueda de vulnerabilidades se debe realizar preferiblemente con herramientas internas, siendo Rapid7 Nexpose, Tenable Nessus y Qualys algunas de las más populares (aunque no debemos olvidar que éstas deben utilizarse para el escáneo de redes y que existen otras más especializadas para la búsqueda de vulnerabilidades a nivel de aplicación, es decir, para aplicaciones web).

Test de intrusión

Los test de instrusión deberían ser el siguiente paso. A la hora de decidirnos por una prueba de este tipo es muy importante poder definir su alcance, ya que el propósito de una prueba de intrusión es encontrar todas las vulnerabilidades (o al menos, tantas como sea posible) en el lugar de destino. El ámbito de aplicación puede ser un conjunto de direcciones IP o redes (cuando se trata de una prueba de intrusión de red), una aplicación Web, servicios Web, etc.

Dado que la persona que se encarga de realizar el test de intrusión suele estar limitada en el tiempo (normalmente un test de intrusión puede llevar entre 5 y 15 días laborables), el proceso debe ser lo más eficiente posible. Esto significa que la delimitación del ámbito de aplicación del proyecto debe ser claro y preciso y que deben eliminarse todos los posibles obstáculos. Por ejemplo, si estamos probando una aplicación móvil, lo mejor sería hacerlo sobre una versión sin cifrar, ya que el cifrado se puede evitar fácilmente y la persona que realiza el test podrá centrarse en encontrar vulnerabilidades sin más pérdidas de tiempo.  

Las pruebas de intrusión requieren mucho trabajo manual y eso supone grandes inversiones de tiempo por lo que, en general, son más costosas que las búsquedas de vulnerabilidades

Además, los test de intrusión son importantes porque pueden identificar vulnerabilidades que una herramienta de búsqueda automática no llega nunca a encontrar. Este es el caso de las vulnerabilidades lógicas, que son casi imposibles de identificar automáticamente (al menos para las herramientas actuales)  y pueden ser devastadoras. Por ejemplo, para un banco con una aplicación de banca online sería muy grave que un atacante se conectase y tratase de crear una transacción de –100 €, de tal forma que el que debería ser el deudor de los fondos se convirtiera en el destinatario.

Otra categoría muy común de vulnerabilidades es la de Referencia Directa de Objetos (DOR). Los atacantes intentan acceder a objetos (por ejemplo registros de transacciones) que pertenecen a determinados usuarios modificando simplemente sus referencias. Dado que estas referencias suelen ser sólo números (IDs), la modificación es muy sencilla. Sin embargo, muchos escáneres no detectan estas vulnerabilidades porque no entienden el contexto.

El resultado de un test de intrusión bien ejecutado debe ser un informe detallado de todas las vulnerabilidades identificadas con recomendaciones sobre cómo solucionarlas. Todas las vulnerabilidades deben ser además verificadas por un profesional para evitar que haya falsos positivos. Las pruebas de intrusión requieren mucho trabajo manual y eso supone grandes inversiones de tiempo por lo que, en general, son más costosas que las búsquedas de vulnerabilidades.

Los ejercicios de “red team”

Por último, tenemos los denominados ejercicios de “red team o prácticas para ponerse en la mente del atacante e identificar vulnerabilidades. Se trata sin duda de la prueba definitiva de las defensas de una organización. En un ejercicio de este tipo, los atacantes reciben un objetivo final y normalmente pueden utilizar cualquier medio que deseen para conseguirlo. Esto puede implicar escribir nuevos exploits, usar ingeniería social, movimientos laterales, etc.

Los ejercicios de “red team” pueden pasar por alto algunas vulnerabilidades pero nos mostrarán cómo enfrentarse a un atacante real

La principal diferencia entre un ejercicio de “red team” y un test de intrusión es que con el primero sólo existe un objetivo final, mientras que con el segundo el objetivo es encontrar todas las vulnerabilidades posibles dentro de un marco definido. Los ejercicios de “red team” pueden pasar por alto algunas vulnerabilidades pero nos mostrarán cómo enfrentarse a un atacante real. Por eso, estas prácticas son a menudo un buen entrenamiento para los equipos de defensa de la organización o “blue teams”, que pueden demostrar su efectividad a la hora de detectar y contener ataques a medida que ocurren.

En definitiva, aunque llevar a cabo todas estas evaluaciones de seguridad sería ideal para la perfecta gestión de las vulnerabilidades de una organización, decidir qué evaluación de seguridad elegir depende del nivel de madurez de la empresa. Por ejemplo, si la compañía en cuestión no aplica regularmente parches a sus servidores, no tiene sentido realizar un test de intrusión o un ejercicio de “red team”, ya que faltaría una higiene básica de seguridad. En cambio, si una organización lanza una nueva aplicación, el test de intrusión puede ser lo más apropiado, ya que el objetivo será encontrar todas sus vulnerabilidades. La realidad es que solo después de haber resuelto los retos más sencillos se puede llevar a cabo una evaluación de seguridad más sofisticada.

Autor: Bojan Zdrnja, instructor de SANS Institute y director técnico de Infigo IS.