Es fundamental que las organizaciones que dependen de servicios digitales sigan las prácticas recomendadas de seguridad de aplicaciones web, lo que incluye realizar pruebas periódicas y continuas de sus sitios web y aplicaciones para detectar vulnerabilidades. Las pruebas de seguridad permiten a las organizaciones identificar y corregir las vulnerabilidades de las aplicaciones web en una fase temprana, antes de que los atacantes puedan aprovecharlas, así como someter a pruebas de estrés los mecanismos y controles de seguridad implantados para garantizar que funcionen según lo previsto en condiciones reales.
Lee esta entrada del blog para conocer las principales categorías de pruebas de seguridad de aplicaciones web, así como cuándo y cómo utilizar cada una de ellas. Ofrecemos ejemplos de herramientas para realizar pruebas de seguridad de aplicaciones web y analizamos las prácticas recomendadas en este ámbito. La entrada concluye con una práctica lista de comprobación de seguridad para aplicaciones web que incluye consejos y orientaciones de carácter práctico.
“«Las pruebas de seguridad permiten a las organizaciones identificar y corregir las vulnerabilidades de las aplicaciones web de forma temprana, antes de que los atacantes puedan aprovecharlas».”
Tipos de pruebas de seguridad de aplicaciones web
Existen tres tipos principales de pruebas de seguridad de aplicaciones web. Las pruebas estáticas de seguridad de aplicaciones (SAST) se basan en el análisis del código fuente para identificar vulnerabilidades, mientras que las pruebas dinámicas de seguridad de aplicaciones (DAST) analizan la superficie de ataque externa (normalmente desde el lado del cliente o front-end) mientras la aplicación está en ejecución para detectar vulnerabilidades. En las pruebas de penetración (a menudo denominadas pen testing), los expertos en ciberseguridad simulan ataques en tiempo real para comprender mejor las posibles debilidades de seguridad.
Pruebas estáticas de seguridad de aplicaciones (SAST)
SAST analiza el código base de una aplicación sin ejecutar el programa para identificar vulnerabilidades conocidas y errores de programación en las primeras fases del ciclo de vida del desarrollo de software, por lo que resulta ideal para detectar problemas antes de que una aplicación pase a producción. Entre las vulnerabilidades habituales que detecta SAST se incluyen los desbordamientos de búfer, que se producen cuando los datos superan la capacidad del búfer de memoria asignado y pueden provocar fallos o la ejecución de código. SAST también puede detectar vulnerabilidades de inyección SQL, en las que se utilizan entradas no saneadas en consultas a bases de datos, lo que permite a los atacantes manipular los datos o acceder a ellos. Asimismo, puede detectar ataques de secuencias de comandos entre sitios (XSS), en los que se inyectan scripts maliciosos en páginas web que visualizan otros usuarios.
A diferencia de DAST, las herramientas SAST suelen utilizarse en las primeras fases del ciclo de vida del desarrollo para garantizar que se sigan prácticas de programación segura, cuando los errores suelen ser más fáciles de corregir. A diferencia de las pruebas de penetración, SAST suele realizarse mediante herramientas automatizadas con una intervención humana mínima y, a menudo, se integra en un proceso de integración y entrega continuas (CI/CD).
Las herramientas SAST son específicas para cada lenguaje, así que asegúrese de elegir una que sea compatible con sus lenguajes de programación. El Open Worldwide Application Security Project (OWASP) mantiene una exhaustiva lista de herramientas SAST.
Pruebas dinámicas de seguridad de aplicaciones (DAST)
DAST analiza las aplicaciones mientras se ejecutan para identificar vulnerabilidades en tiempo de ejecución que podrían no ser visibles en el código fuente. DAST puede ayudar a detectar vulnerabilidades que dependen de la configuración y que solo aparecen en determinadas condiciones del entorno, así como a identificar riesgos de seguridad derivados de las interacciones con sistemas externos, como API, bases de datos y servicios de terceros. DAST también puede detectar vulnerabilidades provocadas por comportamientos maliciosos o inesperados de los usuarios, como la manipulación de entradas o el uso indebido de sesiones.
A diferencia de SAST, las herramientas DAST se ejecutan en una fase posterior del ciclo de vida del desarrollo, una vez que la aplicación está en producción. DAST suele realizar comprobaciones y pruebas desde el lado del cliente, sin acceso al código fuente, imitando así a un atacante que intenta encontrar y explotar vulnerabilidades. DAST resulta especialmente útil para identificar problemas en entornos de preproducción o similares a los de producción, y complementa los métodos de prueba a nivel de código, como SAST. DAST también se diferencia de las pruebas de penetración, ya que normalmente se lleva a cabo mediante herramientas automatizadas con una intervención humana mínima y se ejecuta de forma continua como parte de un proceso de CI/CD.
F5 ofrece una solución de tipo DAST mediante F5 Distributed Cloud Web App Scanning, que simplifica la seguridad web al rastrear, detectar y mapear automáticamente los activos web expuestos para crear inventarios precisos de aplicaciones y servicios en distintos dominios. Realiza pruebas de penetración automatizadas e identifica tanto vulnerabilidades conocidas, como vulnerabilidades y exposiciones comunes (CVE) y software obsoleto, como vulnerabilidades desconocidas, incluidas las amenazas de OWASP Top 10 y LLM Top 10. Este enfoque proactivo garantiza una protección integral de sus activos web. OWASP también mantiene una extensa lista de herramientas DAST.
Pruebas de penetración
Las pruebas de penetración suelen consistir en una evaluación manual de la seguridad realizada por profesionales con experiencia en ciberseguridad, que simulan ataques sofisticados del mundo real para identificar y explotar vulnerabilidades en una aplicación, un sistema o una red. Estas pruebas proporcionan información valiosa sobre la postura de seguridad de una organización, ya que revelan cómo podría un atacante aprovechar los puntos débiles y cuál podría ser el impacto potencial.
Las pruebas de penetración son especialmente eficaces para descubrir amenazas sofisticadas o complejas que las herramientas automatizadas pueden pasar por alto, como los ataques a la lógica de negocio, que aprovechan las funcionalidades y los procesos previstos de una aplicación. También permiten detectar posibles ataques de ingeniería social, en los que los atacantes manipulan a personas para obtener acceso no autorizado o información.
A diferencia de SAST y DAST, la mayoría de las organizaciones realizan pruebas de penetración de forma programada. Estas pruebas suelen llevarse a cabo con una periodicidad anual, trimestral o mensual, en función del presupuesto y de los requisitos de seguridad.
Las pruebas de penetración utilizan una amplia variedad de herramientas especializadas para simular ataques y descubrir posibles vulnerabilidades en todo el entorno digital de una organización. Entre ellas se incluyen escáneres de aplicaciones web para cartografiar los servicios de ataque externos de un dominio e identificar posibles vulnerabilidades. Las pruebas también emplean analizadores de red para supervisar y analizar el tráfico de red en busca de indicios de actividad no autorizada o exposición de datos, así como proxies web para interceptar e inspeccionar el tráfico entre un navegador y los servidores web de una organización, lo que ayuda a detectar problemas como la transmisión de datos no segura. Las herramientas de descifrado de contraseñas comprueban la solidez del hash de las contraseñas o detectan credenciales almacenadas de forma inadecuada.
Algunos productos especializados en pruebas, como Burp Suite, ofrecen un conjunto completo de herramientas para pruebas de penetración, pero la mayoría de los profesionales utilizan diversas herramientas especializadas que se adaptan mejor a cada tarea concreta. Aunque algunas herramientas afirman ofrecer «pruebas de penetración automatizadas» y pueden ser una alternativa más asequible que una prueba de penetración manual, sigue siendo recomendable que expertos en ciberseguridad realicen ocasionalmente una prueba de penetración manual y exhaustiva, siempre que el presupuesto lo permita, y la combinen con soluciones de pruebas automatizadas continuas que cubran los intervalos entre las pruebas manuales.
Además, F5 ofrece un servicio gratuito de análisis de aplicaciones web que puede servir como primer paso para evaluar y mejorar la postura de seguridad de las aplicaciones web de cualquier organización. Este servicio interactivo proporciona visibilidad sobre cualquier dominio y constituye una base excelente para reforzar sus defensas de seguridad.
Prácticas recomendadas para las pruebas de seguridad de aplicaciones web
Para garantizar la eficacia de las herramientas de pruebas de seguridad de aplicaciones web que elija, asegúrese de seguir estas prácticas recomendadas.
Integre las pruebas de seguridad a lo largo de todo el ciclo de vida del desarrollo de software para detectar vulnerabilidades de forma temprana y frecuente.
- Aproveche una combinación de técnicas y herramientas de pruebas para lograr una cobertura integral y reducir los puntos ciegos.
- Automatice las pruebas continuas dentro del pipeline de CI/CD para mantener controles de seguridad uniformes con cada cambio en el código.
- Realice pruebas de penetración exhaustivas y periódicas para descubrir amenazas sofisticadas o que hayan pasado desapercibidas.
- Asegúrese de que las herramientas y los procesos de pruebas de seguridad sean capaces de detectar una amplia variedad de vulnerabilidades, desde errores de programación comunes hasta vectores de ataque complejos, incluidas las amenazas modernas recogidas en el OWASP Top 10 para API y para LLM.
Lista de comprobación de pruebas de seguridad de aplicaciones web
A continuación se ofrece una práctica lista de comprobación de los tipos de información y vulnerabilidades que se deben buscar durante las pruebas de seguridad de aplicaciones web, tanto si se utilizan pruebas SAST o DAST como pruebas de penetración. Para obtener más información, consulte la Guía de pruebas de seguridad de aplicaciones web de OWASP, un recurso exhaustivo con instrucciones paso a paso para realizar pruebas de seguridad de aplicaciones web.
Categoría DescripciónRecopilación de información
Identifique el framework de la aplicación web, los puntos de entrada y las rutas de ejecución, así como cualquier filtración de información a través de motores de búsqueda, contenido web o metaarchivos.Gestión de la configuración y el despliegue Pruebe la configuración de la red y de la plataforma de aplicaciones, los métodos HTTP, las políticas de seguridad de contenido y los permisos de archivos.Gestión de identidades Pruebe las definiciones de roles, los procesos de aprovisionamiento de cuentas y las políticas de nombres de usuario.Autenticación Compruebe si existen credenciales predeterminadas, mecanismos para eludir la autenticación, métodos de autenticación débiles, mecanismos de bloqueo y funciones de cambio de contraseña.Autorización Compruebe si existen vulnerabilidades de salto de directorio, referencias directas a objetos no seguras, escalada de privilegios y vulnerabilidades de OAuth.Gestión de sesiones Compruebe el esquema de gestión de sesiones y los atributos de las cookies, y verifique si hay variables de sesión expuestas, secuestro de sesiones y falsificación de solicitudes entre sitios.Validación de entradas Compruebe si existen vulnerabilidades de scripting entre sitios, inyección de datos (como inyección SQL, inyección LDAP, inyección de código, etc.) y falsificación de solicitudes del lado del servidor.Gestión de errores Asegúrese de que la gestión de errores no permita a los atacantes conocer las API utilizadas, identificar las distintas integraciones de servicios ni provocar una denegación de servicio (DoS).Criptografía Compruebe si la seguridad de la capa de transporte o el cifrado son débiles, y si se envía información confidencial a través de canales no cifrados.Lógica de negocio Pruebe la validación de datos de la lógica de negocio, la posibilidad de falsificar solicitudes, la carga de tipos de archivo inesperados y la funcionalidad de pago.Lado del cliente Compruebe si existen vulnerabilidades de scripting entre sitios basado en DOM, inyecciones de HTML y CSS, redirecciones de URL del lado del cliente, uso compartido de recursos entre orígenes y cross-site flashing.API Realice tareas de reconocimiento de las API y compruebe si existen fallos de autorización a nivel de objeto.
Para obtener más información, lea esta descripción general de la solución.
Sobre el autor
Artículos relacionados del blog

Cree servicios públicos seguros, resilientes y preparados para la IA con F5 y AWS
Descubre cómo las organizaciones del sector público pueden modernizar de forma segura sus aplicaciones y soluciones de IA, al tiempo que gestionan los sistemas heredados, el cumplimiento normativo y el riesgo operativo.
Protección de los sistemas de IA: por qué la seguridad debe avanzar al ritmo de la innovación
Desde acelerar avances revolucionarios en medicina y educación hasta transformar la vida cotidiana, la IA está cambiando nuestra forma de vivir y trabajar. Pero también ofrece grandes oportunidades a los ciberdelincuentes.
Avanzar hacia la optimización digital tras la transformación
Descubre estrategias de optimización digital para garantizar políticas de seguridad coherentes, impulsar la madurez de la transformación digital y superar los retos de la transformación.
Proyecto de código abierto destacado: mayor observabilidad con F5 Cloud Logger iApp
En el punto de mira del código abierto: cómo aumentar la observabilidad. Lee el blog de F5 para descubrir cómo exportar fácilmente la telemetría de BIG-IP a plataformas modernas de análisis en la nube.
El estado de la entrega de aplicaciones en 2018: la transformación digital impulsa la automatización y la multinube pese a las preocupaciones de seguridad
Descubre las principales conclusiones del cuarto informe anual de F5 sobre el estado de la entrega de aplicaciones.
Estado de la entrega de aplicaciones en 2017: automatización, API y DevOps
Descubre el informe sobre el estado de la entrega de aplicaciones de 2017. Lee el blog retrospectivo de F5 sobre los inicios del auge de las redes declarativas y los flujos de DevOps.
