Libros sobre ciberseguridad: Seguridad de aplicaciones
El bloque para quienes programan: las vulnerabilidades que introduces tú mismo y las formas de no introducirlas.
Libros sobre ciberseguridad: Seguridad de aplicaciones
Quinta parte de nueve. El bloque para quienes programan: las vulnerabilidades que introduces tú mismo y las formas de no introducirlas.
Prácticamente toda la lista es aplicable al trabajo del lunes por la mañana.
Dafydd Stuttard, Marcus Pinto. The Web Application Hacker's Handbook (2.ª edición, 2011)
Un manual grueso sobre ataques a la web. No dice nada del frontend moderno ni de las API, pero su clasificación de vulnerabilidades y su metodología de pruebas siguen siendo las mejores del género.
Temas: mecanismos de autenticación y gestión de sesiones, control de acceso, inyecciones de todo tipo, ataques a la lógica de la aplicación, ataques al usuario, metodología para recorrer una aplicación de punta a punta.
Michal Zalewski. The Tangled Web (2011)
Cómo funcionan realmente los navegadores y por qué el modelo de seguridad de la web tiene esta forma. Escrito por quien encontró esos problemas.
Temas: orígenes y la regla del mismo origen, el DOM y su aislamiento, las cookies y sus límites, el tratamiento del contenido por el navegador, cabeceras de seguridad, mecanismos heredados de los noventa.
Malcolm McDonald. Web Security for Developers (2020)
Un libro compacto y actual para quien escribe código en lugar de probar el ajeno. Buena entrada antes de los dos anteriores.
Temas: cómo funcionan el navegador y HTTP, inyecciones, XSS y CSRF, almacenamiento seguro de contraseñas, dependencias y sus vulnerabilidades, configuración del servidor, defensa frente a ataques automatizados.
Tanya Janca. Alice and Bob Learn Application Security (2020)
Sobre integrar la seguridad en el proceso de desarrollo, y no tratarla como una etapa aparte antes de la publicación.
Temas: requisitos de seguridad y diseño, codificación segura, pruebas y herramientas en la cadena de integración, manejo de secretos, cultura de colaboración entre desarrollo y seguridad.
Adam Shostack. Threat Modeling: Designing for Security (2014)
El único libro que enseña a responder de forma sistemática a la pregunta «qué puede salir mal aquí» antes de escribir el código.
Temas: diagramas de flujo de datos, metodología STRIDE, árboles de ataque, priorización de las amenazas halladas, integración del modelado de amenazas en el flujo de trabajo.
Neil Madden. API Security in Action (2020)
Seguridad de API, desde la autenticación básica hasta los sistemas distribuidos, con código que funciona.
Temas: autenticación y autorización en API, tokens y su almacenamiento, OAuth 2 y OpenID Connect, limitación de la tasa de peticiones, seguridad en microservicios y Kubernetes, TLS mutuo.
Justin Richer, Antonio Sanso. OAuth 2 in Action (2017)
El protocolo desmontado por dentro: los autores proponen construir con tus propias manos el cliente, el servidor de autorización y el recurso protegido.
Temas: los flujos de OAuth 2 y cuándo usar cada uno, errores habituales de implementación en cliente y servidor, tokens de acceso y de refresco, JWT, su relación con OpenID Connect.
Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano. Secure by Design (2019)
La tesis del libro: la mayoría de las vulnerabilidades nacen de un mal diseño del dominio y no de una comprobación olvidada. Muestran cómo un modelo de dominio estricto elimina clases enteras de errores.
Temas: tipos en lugar de validación, objetos inmutables, límites de contexto, tratamiento de errores, seguridad en arquitecturas de nube y distribuidas, trabajo con código heredado.
Siguiente parte: defensa y respuesta.
La serie completa: