Bojan Zdrnja

Opinión

La importancia de saber diferenciar los tipos de evaluaciones de ciberseguridad

Guardar

Bojan-Zdrnja-sans-institute-ciberseguridad-infigo-is
Bojan-Zdrnja-sans-institute-ciberseguridad-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 medidadel nivel de madurez de la organización en términos de seguridad. Además, paraobtener los mejores resultados es necesario que cada una de ellas se realice enel orden indicado. Veamos por qué.

La búsqueda de las vulnerabilidades

La búsqueda de vulnerabilidades es una práctica que cada organizacióndebe hacer regularmente. Se trata de la primera y la más básica de las evaluacionesy sirve para encontrar vulnerabilidades conocidas y defectos de configuración.Las herramientas de búsqueda o identificación de vulnerabilidades realizan ungran trabajo enumerando los parches instalados, buscando cuentas por defecto yerrores de configuración. Las herramientas más modernas también se puedenautenticar en los sistemas de destino para confirmar la lista de parchesinstalados, 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 conherramientas internas, siendo Rapid7 Nexpose, Tenable Nessus y Qualys algunasde las más populares (aunque no debemos olvidar que éstas deben utilizarse parael escáneo de redes y que existen otras más especializadas para la búsqueda devulnerabilidades 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 sueleestar limitada en el tiempo (normalmente un test de intrusión puede llevar entre 5 y 15 díaslaborables), el proceso debe ser lo más eficiente posible. Esto significa quela delimitación del ámbito de aplicación del proyecto debe ser claro y preciso yque deben eliminarse todos los posibles obstáculos. Por ejemplo, si estamosprobando una aplicación móvil, lo mejor sería hacerlo sobre una versión sincifrar, ya que el cifrado se puede evitar fácilmente y la persona que realizael 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 vulnerabilidadesque una herramienta de búsqueda automática no llega nunca a encontrar. Este esel caso de las vulnerabilidades lógicas, que son casi imposibles de identificarautomáticamente (al menos para las herramientas actuales)  y pueden ser devastadoras. Por ejemplo, paraun banco con una aplicación de banca online sería muy grave que un atacante seconectase y tratase de crear una transacción de –100 €, de tal forma que el quedeberí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 deObjetos (DOR). Los atacantes intentan acceder a objetos (por ejemplo registrosde transacciones) que pertenecen a determinados usuarios modificandosimplemente 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 detectanestas vulnerabilidades porque no entienden el contexto.

El resultado de un test de intrusión bien ejecutado debe ser un informe detalladode todas las vulnerabilidades identificadas con recomendaciones sobre cómosolucionarlas. Todas las vulnerabilidades deben ser además verificadas por un profesionalpara evitar que haya falsos positivos. Las pruebas de intrusión requieren muchotrabajo manual y eso supone grandes inversiones de tiempo por lo que, engeneral, son más costosas que las búsquedas de vulnerabilidades.

Los ejercicios de "red team"

Por último, tenemos los denominados ejercicios de “red teamo prácticas para ponerse en la mente del atacante e identificarvulnerabilidades. Se trata sin duda de la prueba definitiva de las defensas deuna organización. En un ejercicio de este tipo, los atacantes reciben unobjetivo final y normalmente pueden utilizar cualquier medio que deseen paraconseguirlo. Esto puede implicar escribir nuevos exploits, usaringenierí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ónes que con el primero sólo existe un objetivo final, mientras que con elsegundo el objetivo es encontrar todas las vulnerabilidades posibles dentro deun marco definido. Los ejercicios de “red team” pueden pasar por alto algunasvulnerabilidades pero nos mostrarán cómo enfrentarse a un atacante real. Poreso, estas prácticas son a menudo un buen entrenamiento para los equipos dedefensa de la organización o “blue teams”, que pueden demostrar suefectividad 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.