Protege aplicaciones y sitios web

Escaneo de vulnerabilidades y pentesting para la web

Blog Protege aplicaciones y sitios web

| 6 min de lectura

Contact us

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 Brian Kelly en Unsplash

Te necesitamos, pero no podemos darte dinero

Foto por Sean Pollock en Unsplash

Los robos de datos que dejaron su huella para siempre

Foto por Roy Muz en Unsplash

Lecciones aprendidas de los cisnes negros

Foto por Florian Schmetz en Unsplash

La mejor ofensa es una buena defensa

Foto por Valery Fedotov en Unsplash

Un problema de infraestructura digital que aún muchos ignoran

Foto por Sebastian Pociecha en Unsplash

Hechos históricos que te incitarán a actuar

Foto por A S en Unsplash

¿Cómo podemos justificar la inversión en ciberseguridad?

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.