Seguridad en América | Post

ANÁLISIS DE VULNERABILIDADES Y SU IMPORTANCIA EN EL MARCO DE CIBERSEGURIDAD

¿QUÉ ES UN ANÁLISIS DE VULNERABILIDADES?

Con la llegada de la pandemia, se expusieron muchas aplicaciones y sistemas a los que normalmente se accedía a través de intranet o de forma interna y que no estaban expuestas a Internet, por lo cual en muchas organizaciones ha cambiado y se han visto en la necesidad de exponer aplicaciones a Internet o liberar aplicaciones móviles que debido a la premura y las necesidades de la operación, pueden ser liberadas sin ningún protocolo de seguridad o no haber pasado por una metodología correcta de SDLC (Software Development Life Cycle) Desarrollo Seguro de Software para poder mitigar riesgos asociados a vulnerabilidades conocidas o emergentes.

¿QUÉ TIPOS DE ANÁLISIS DE VULNERABILIDADES EXISTEN?

En el mercado existen diversas herramientas, pero básicamente se dividen en ejecutar dos tipos de análisis: DAST (Dynamic Application Security Testing) y SAST (Static Application Security Testing), lo ideal claramente es generar una mezcla de ambos esquemas de protección, cada uno de ellos cuenta con ventajas y desventajas que iremos desglosando, lo interesante es aclarar el concepto y hacerlo digerible de forma sencilla.

Los análisis dinámicos están orientados para aplicaciones que ya fueron liberadas a su versión final, es decir aplicaciones ya compiladas y listas para su uso, por el otro lado las aplicaciones estáticas se utilizan en una fase más temprana del desarrollo y es cuando el código aún está siendo escrito y en desarrollo, los análisis dinámicos suelen tener un costo menor que las estáticas a nivel económico.

La recomendación es que si la empresa tiene un marco de desarrollo de aplicaciones debería integrar alguno de estos dos mecanismos de análisis de vulnerabilidades.

¿POR QUÉ IMPLEMENTARLO LO ANTES POSIBLE?

Las aplicaciones tanto expuestas en Internet como puede ser un portal de comercio electrónico, plataformas digitales, aplicaciones móviles, etc., pueden estar a merced de diversos ataques que buscan explotar vulnerabilidades conocidas como SQL Injection, Cross-Site Scripting (XSS), etc.

Es por ello que se debe implementar y escanear las aplicaciones para que tengamos la seguridad de que no pueden ser vulneradas por la explotación de dichas debilidades, la recomendación es escanear, remediar y volver a escanear, siendo un proceso iterativo, debido a que una vulnerabilidad remediada puede generar otras vulnerabilidades, normalmente remediar una vulnerabilidad implica varias cosas y elementos que deben corregirse, tales como código, sistema operativo, parches de seguridad, etc. Por lo que no es una labor meramente rápida y sencilla lo cual debe ser tomado en cuenta para generar un plan adecuado de remediación con puntos de retorno y sus respectivos controles de cambios para evitar pérdida de funcionalidad y tener control de las modificaciones realizadas.

VENTAJAS DE UN DAST

•    El análisis permite a los desarrolladores detectar los problemas durante la ejecución del código.

•    Pueden ser fallas de autenticación y configuración de red o problemas que surgen después del inicio de sesión.

•    Hay menor número de falsos positivos.

•    Admite lenguajes y marcos de programación personalizados y disponibles en el mercado.

•    Presenta una alternativa menos costosa y compleja a SAST.

DESVENTAJAS DE UN DAST

•    Las herramientas DAST no proporcionan información sobre las causas subyacentes de las vulnerabilidades.

•    Tienen dificultades para mantener los estándares de codificación.

•    El análisis no es adecuado para etapas iniciales del desarrollo.

•    Sólo se puede realizar en una aplicación en ejecución.

•    No simularán a la perfección ataques potenciales.

•    Los exploits son ejecutados, por una parte, con una base de conocimiento interna sobre la aplicación.

VENTAJAS DE UN SAST

•    Las herramientas SAST descubren vulnerabilidades altamente complejas durante las primeras etapas de desarrollo de un software, ayudando a resolverlas rápidamente.

•    Tiene amplia compatibilidad con diferentes lenguajes de programación.

•    Permite que pueda integrarse en entornos existentes en diferentes puntos del desarrollo de software.

•    Dado que establece los detalles de un problema, incluida la línea de código, simplifica la reparación.

•    Se necesita poco tiempo para examinar el código y se compara favorablemente con las auditorías manuales.

DESVENTAJAS DE UN SAST

•    No se puede probar la aplicación en el entorno real.

•    Las vulnerabilidades en la lógica de la aplicación o la configuración insegura no son detectables.

•    Tiende a modelar el comportamiento del código de manera inexacta.

•    El 53% de los problemas detectados no existen.

•    Los desarrolladores tienen que lidiar con muchos falsos positivos y falsos negativos.

•    El resultado es un informe estático que rápidamente se vuelve obsoleto. Implementar la tecnología a escala puede ser un desafío, el proceso puede ser lento y las pruebas no son aplicables a sistemas en etapa de producción.

•    No todas las empresas o personas están dispuestas a proporcionar datos para el análisis de código binario y código fuente.