El término prueba de seguridad de aplicaciones estáticas describe un concepto de seguridad especial en el desarrollo de software. En lugar de probar posteriormente una aplicación, las comprobaciones se llevan a cabo al principio del desarrollo. Tiene sus ventajas y desventajas.
En muchos casos, los equipos de seguridad de TI o aseguramiento de la calidad del software examinan posteriormente un código que se ha creado para detectar debilidades de seguridad. Las pruebas de penetración están destinadas, por ejemplo, a revelar brechas relevantes en las aplicaciones en ejecución.
La «Prueba de seguridad de aplicaciones estáticas» (SAST), adelanta significativamente la fecha de la prueba. Para ello, se ejecutan programas especiales sobre el código en una etapa temprana para descubrir puntos débiles. Como regla general, estas herramientas también brindan recomendaciones sobre cómo se puede corregir una vulnerabilidad directamente.
Así es como funcionan las pruebas de seguridad de aplicaciones estáticas
SAST es un proceso denominado caja blanca. El código es visible y no es necesario que se esté ejecutando. Por eso hablamos de “estático”. Las pruebas pueden identificar tres tipos de amenazas a la seguridad.
- Primero, existen lagunas funcionales. Por ejemplo, se puede inyectar «código contaminado». Estas son líneas que luego pueden pasar de contrabando malware.
- En segundo lugar, hay líneas que pueden asociarse con archivos o determinadas clases de objetos. Aquí, también, la atención se centra en el contrabando de malware.
- En tercer lugar, existen lagunas a nivel de la aplicación: ¿Se puede utilizar el código para interactuar con programas de terceros sin que nadie se dé cuenta? Los piratas informáticos utilizan estas vulnerabilidades, por ejemplo.
Como regla general, se deben ejecutar diferentes herramientas SAST sobre el código, y esto a intervalos regulares. Los escáneres también deben adaptarse a tus propias necesidades. No funcionan completamente «de fábrica» como le gustaría a la mayoría de los desarrolladores. La Fundación Open Web Application Security Project (OWASP) ofrece asistencia. No solo enumera las brechas de seguridad típicas, sino que también brinda recomendaciones para las herramientas SAST adecuadas.
Ventajas del enfoque SAST
En comparación con las pruebas de seguridad posteriores, el enfoque SAST ofrece las siguientes ventajas:
- Las brechas de seguridad identificadas temprano pueden eliminarse mucho más barato (a veces diez veces más barato).
- Por regla general, no solo se reconocen las lagunas, sino también las razones por las que podrían surgir. Esto no es posible con las pruebas posteriores de caja negra.
- No es necesario ningún código de trabajo.
- Los desarrolladores pueden realizar las pruebas. No se requieren expertos en seguridad para esto.
- El 100 por ciento del código se puede examinar para detectar problemas de seguridad. Esto no es posible, por ejemplo, con pruebas dinámicas de aplicaciones o con pruebas de penetración.
- Los escáneres a menudo se pueden complementar fácilmente con controles adicionales, por ejemplo, relacionados con la funcionalidad de ciertas partes del código.
Leer: Definición de Bourne Again shell (Bash)
Desventajas del enfoque SAST
En teoría, el enfoque SAST no tiene desventajas reales. En la práctica, sin embargo, a veces hay tres problemas básicos.
- 1. El trabajo de programación a menudo se ve afectado, lo que a su vez se manifiesta en errores. Los desarrolladores se centran demasiado en las pruebas de seguridad y las correcciones de errores.
- 2. Las herramientas están dando demasiados problemas. Esto sucede especialmente si los escáneres no se han adaptado individualmente a sus propias necesidades.
- 3. SAST reemplaza a menudo las pruebas de seguridad posteriores. Sin embargo, no se detectan todos los problemas que están directamente relacionados con una aplicación en funcionamiento.
¿Qué es una dirección IP? Definición | Dirección única
¿Qué es ISPConfig? Administrar y configurar servidores
¿Qué es una vulnerabilidad informática? Definición
¿Qué es un sistema telefónico? Definición | Lo que debes saber
¿Qué es la luz ultravioleta? Todo lo que necesitas saber
¿Cómo funciona un puntero láser? Lo que debes saber
¿Qué es la vida media y cómo se utiliza para medir la radiactividad?
¿Qué es el Reglamento de privacidad electrónica?
¿Qué es la reingeniería de software(SRE)? Definición