Protege aplicaciones y sitios web

Escaneo de vulnerabilidades y pentesting para la web

Blog Protege aplicaciones y sitios web

| 6 min de lectura

Contáctanos

Alrededor del 64,4% de la población mundial utiliza Internet, cifra que va en aumento, por lo cual las organizaciones tienen un gran incentivo para digitalizarse. Crear un sitio web o una aplicación web es una buena manera de llegar a un mayor número de usuarios. En consecuencia, estas empresas se convierten en responsables de proteger los datos de ese público. Sus nuevos activos expuestos al público son vectores de ataque para los ciberdelincuentes que buscan beneficiarse de los efectos de la explotación de errores cometidos en ellos. Los desarrolladores de sitios web y aplicaciones web recurren a prácticas de codificación seguras y evaluación de vulnerabilidades para reducir los puntos débiles de su código fuente. En este artículo del blog, explicamos cómo funcionan el escaneo de seguridad de sitios web y el escaneo de seguridad de aplicaciones web, su papel en la gestión de vulnerabilidades y la necesidad de combinarlos con evaluaciones más complejas.

Análisis de vulnerabilidades en apps y sitios web

Las vulnerabilidades en aplicaciones y sitios web pueden representar más o menos riesgo en función de la cantidad de información sensible que gestionen. De hecho, los sitios web completamente estáticos, por ejemplo, cuyo contenido es invariable puesto que los usuarios no pueden interactuar con las páginas para obtener respuestas como descargas, chats o pagos, tienen más probabilidades de ser seguros. Las aplicaciones web, en cambio, tienen varios elementos (p. ej., bases de datos) en sus back-end que trabajan para generar respuestas a las peticiones de los usuarios. Por consiguiente, hay más posibilidades de que se produzcan debilidades (probablemente, las más comunes las hayas visto en el Top 10 de OWASP). Y por lo tanto, hay más vías de entrada para un atacante.

Sin embargo, muchos sitios web han integrado algún tipo de interacción. Incluso los simples formularios de un sitio web estático que desencadenan acciones para guardar la información de respuesta en una plataforma diferente pueden ser vulnerables (p. ej., almacenar en caché los datos). Así pues, también es necesario escanear los sitios web para comprobar sus vulnerabilidades. Una forma básica y automatizada de realizar un chequeo de seguridad de un sitio web es mediante el uso de escáneres de vulnerabilidades de sitios web o herramientas de escaneo de vulnerabilidades.

En un artículo anterior hemos explicado qué es el análisis de vulnerabilidades. Básicamente, es el proceso por el que un dispositivo, programa informático o herramienta de pruebas identifica y reporta automáticamente los puntos débiles de los sistemas. En este sentido, es una forma de evaluación de vulnerabilidades que, a su vez, es una práctica necesaria dentro de un programa de gestión de vulnerabilidades.

A la hora de decidirse por un escáner, hay muchas alternativas para elegir, desde escáneres gratuitos de aplicaciones web hasta servicios pagados. Por ejemplo, existen opciones para comprobar la seguridad de los sitios web en línea, así como listados útiles de herramientas para la evaluación de vulnerabilidades (p. ej., el de OWASP).

Un escaneo de sitios web o de vulnerabilidades se realiza revisando los componentes y configuraciones de los objetivos de evaluación predefinidos, comparándolos con las características del código vulnerable. Dichas características son definidas en los escáneres de vulnerabilidades de seguridad por los desarrolladores que contribuyen a su mejoramiento. Para una mejor comprensión de este proceso, compartimos cómo nuestros desarrolladores de seguridad mejoran nuestro escáner llamado Machine.

Inicialmente, nuestro equipo percibe la necesidad de integrar un nuevo método que permita a Machine encontrar una vulnerabilidad determinada. Un candidato sería, por ejemplo, una nueva entrada en el Common Weakness Enumeration (CWE) o en el Common Vulnerabilities and Exposures (CVE). Podría tratarse de una funcionalidad que no debería estar presente en producción. Nuestros desarrolladores de seguridad empiezan a investigarla para definir cómo la herramienta encontrará esa funcionalidad en los códigos fuente de nuestros clientes. Una forma posible es utilizar una librería Python para dividir el código en fragmentos y crear un árbol para luego encontrar los parámetros de los que depende la funcionalidad. Los desarrolladores pueden, entonces, escribir funciones que contengan lo aprendido y que conduzcan a la detección y reporte de esa funcionalidad. Tras integrar el método a Machine, la herramienta puede encontrar automáticamente la vulnerabilidad en el código fuente. La creación de métodos para mejorar la herramienta es una actividad constante en Fluid Attacks.

Machine puede comprobar el cumplimiento de los requisitos de seguridad más críticos para las aplicaciones web. Estos incluyen, entre muchos otros, los siguientes:

Empieza ya con la solución de Gestión de vulnerabilidades de Fluid Attacks

Para validar ciertos requisitos, la evaluación de vulnerabilidades de las aplicaciones web con herramientas utiliza metodologías distintas a las pruebas de seguridad de aplicaciones estáticas (SAST). En algunos casos, el protagonismo es de las pruebas de seguridad de aplicaciones dinámicas (DAST), las cuales buscan puntos débiles en ambientes, terminales, servidores y configuraciones de servicios en la nube. Esto implica la interacción con la aplicación en ejecución, algo que también consigue Machine.

Además, sería necesario otro método para encontrar otro tipo de problemas. El análisis de composición de software (SCA), entre otras capacidades, encuentra componentes y dependencias de código abierto vulnerables que se utilizan en la aplicación web para no reinventar la rueda. Sin embargo, cuando esta rueda está defectuosa, es hora de cambiarla.

El problema que supone utilizar software de código abierto con vulnerabilidades conocidas es tan generalizado que lo hemos situado en primer lugar en la lista anterior, aunque el resto sigue un orden correspondiente a los riesgos del Top 10 de OWASP. Nuestro State of Attacks 2022 muestra que esta fue la vulnerabilidad que representó la mayor exposición al riesgo de los sistemas de nuestros clientes. Para encontrar estos casos de componentes vulnerables, nos basamos en gran medida en el SCA de nuestra herramienta automatizada.

Sin embargo, hay que tener en cuenta que los escáneres de vulnerabilidades de aplicaciones y sitios web no pueden encontrar todos los problemas de seguridad. El pentesting manual es necesario para una evaluación de vulnerabilidades completa.

¿Escaneo de vulnerabilidades de apps web vs pentesting?

Si leíste un artículo anterior sobre una vulnerabilidad que uno de nuestros investigadores de seguridad encontró en KAYAK, te habrás dado cuenta de que los hackers éticos a menudo encuentran una vulnerabilidad y van un poco más allá. En su evaluación, encuentran aún más problemas que, vinculados a la vulnerabilidad inicial, pueden aprovecharse para lanzar un ataque con un impacto mayor que el que se conseguiría aprovechando únicamente la primera detección.

No se espera este tipo de comportamiento de los escáneres de sitios y aplicaciones web. De hecho, las debilidades de seguridad se les escapan a las herramientas si la detección de las primeras requiere que un usuario externo haga cosas complejas en el sistema. La respuesta a este problema son las pruebas de penetración, que son, al igual que el escaneo de vulnerabilidades, un tipo de evaluación de vulnerabilidades.

El trabajo de los hackers éticos, o pentesters, ayuda a encontrar problemas complejos (a menudo de mayor criticidad que los detectados por las herramientas) y a veces incluso vulnerabilidades desconocidas. El pentesting es valioso, ya que simula ciberataques del "mundo real" y puede ofrecer demostraciones del impacto de la explotación de los problemas detectados. Además, dado que las herramientas pueden equivocarse, las evaluaciones manuales de seguridad que verifican sus reportes pueden reducir las tasas de falsos positivos en el reporte general.

La relación entre hacking y escaneo es de complemento. Los hackers pueden sin duda utilizar los escáneres de seguridad de sitios web (p. ej., Burp Scanner, ffuf, Nuclei, Vega) para ganar tiempo en la búsqueda de las debilidades que mejor se ocultan. Esta combinación, cuando se realiza de forma continua a lo largo del desarrollo de la aplicación, arroja conocimientos precisos y actualizados para la gestión de vulnerabilidades.

¡Y no olvides priorizar y remediar

Más allá de aprender la diferencia entre el escaneo de vulnerabilidades y el pentesting, queremos que entiendas que ambos benefician la identificación, clasificación y reporte de problemas de seguridad, lo cual es seguido por su priorización y remediación. De hecho, todos estos procesos forman parte de la gestión de vulnerabilidades.

Como dijimos antes, es posible que prefieras abordar primero los problemas que representen un mayor riesgo. Además, nunca deberías dejar de pensar en la remediación. Como las amenazas a tu organización son permanentes y están en constante evolución, será mejor que trabajes en la integración de la seguridad en todo el ciclo de vida de desarrollo de software (SDLC), al estilo DevSecOps.

Da unos pasos pequeños y prueba el escaneo de vulnerabilidades con nuestro Machine: nuestro escáner de vulnerabilidades en línea gratuito y de código abierto no solo figura en la lista de herramientas de análisis de código fuente de OWASP sino que también es una herramienta SAST recomendada por la App Defense Alliance de Google y colaboradores.

Además, te permitimos mejorar tu gestión de vulnerabilidades. Puedes disfrutar de nuestra solución de gestión de vulnerabilidades en cualquiera de nuestros dos planes. Nuestro plan Essential de Hacking Continuo se vale de nuestra herramienta automatizada para encontrar vulnerabilidades (con SAST, DAST y SCA) y viene con acceso a nuestra plataforma, donde puedes conocer los resultados de las pruebas de seguridad, asignar la remediación a los miembros de tu equipo de desarrollo, monitorear la exposición al riesgo y mucho más. (Obtén tu prueba gratuita aquí). Nuestro plan Advanced de Hacking Continuo, más completo, añade a lo anterior pentesting por parte de nuestro equipo de hacking y su apoyo experto a través de la plataforma en lo que respecta a la remediación.

Suscríbete a nuestro blog

Recibe el boletín semanal de Fluid Attacks.

Blog posts recomendados

Quizá te interesen los siguientes posts similares.

Foto por CardMapr en Unsplash

Los usuarios confían en ti; deben estar protegidos

Foto por Wilhelm Gunkel en Unsplash

Transparencia por menos ataques a la cadena de suministro

Foto por Sarah Kilian en Unsplash

Desarrolla apps bancarias que resistan ataques DDoS

Foto por Towfiqu barbhuiya en Unsplash

Garantizar cumplimiento y seguridad en el sector bancario

Foto por Andre Taissin en Unsplash

Una gran comodidad conlleva un mayor riesgo

Foto por FlyD en Unsplash

Gestionando la cadena de suministro de software en el sector financiero

Foto por Robs en Unsplash

Las violaciones de datos más graves cometidas en el sector financiero

Inicia tu prueba gratuita de 21 días

Descubre las ventajas de nuestra solución Hacking Continuo, de la cual ya disfrutan cientos de organizaciones.

Inicia tu prueba gratuita de 21 días
Fluid Logo Footer

Hackeando software durante más de 20 años

Fluid Attacks analiza aplicaciones y otros sistemas, abarcando todas las fases de desarrollo de software. Nuestro equipo ayuda a los clientes a identificar y gestionar rápidamente las vulnerabilidades para reducir el riesgo de ciberincidentes y desplegar tecnología segura.

Copyright © 0 Fluid Attacks. We hack your software. Todos los derechos reservados.