La Open Web Application Security Project (OWASP) es una organización a nivel mundial centrada en proveer asistencia para mejorar la seguridad de nuestras aplicaciones. Su principal misión es difundir información sobre vulnerabilidades y fallos en su guía para que las organizaciones y los desarrolladores puedan aplicarla para evitar riesgos reales de seguridad. Todo el material que generan se encuentra disponible bajo una licencia Open Source.
Al tratarse de una organización que no está vinculada con empresas de servicios informáticos ni de software sus publicaciones son absolutamente independientes y no aceptan presiones de ningún tipo. Fundamentalmente, su proyecto se basa en estos productos: Guía de Desarrollo, Guía de Pruebas de aplicaciones y la Guía de revisión de código, así como un ranking de las vulnerabilidades más activas durante un año.
Top vulnerabilidades OWASP para el año 2010
Como indican en la página de resultados, el 19 de abril de 2010 terminaron de recopilar y afinar los resultados para 2010, que son los siguientes (traduzco las que se pueden sin romper nada):
A1: Inyección (SQL,OS,LDAP,etc, que suceden cuando los datos pasan sin filtrar directamente como parte de la consulta. Se pueden usar para acceder a datos sin autorización o para ejecutar comandos)
A2: Cross-Site Scripting (XSS)
A3: Manejo de sesiones y ruptura de autentificaciones (fallos que permiten usar cuentas de otros, listas de claves y de usuarios,etc)
A4: Insecure Direct Object References (exposición de estructura interna y de elementos de desarrollo que permita al atacante suponer métodos y datos predecibles)
A5: Intercepción de peticiones entre sitios (CSRF) (permite generar peticiones falsas de forma que el usuario piense que las está realizando en el sitio correcto cuando se trata de uno falso)
A6: Malas configuraciones de seguridad (a nivel de framework, sistema operativo, aplicaciones de terceros, etc.)
A7: Almacenamiento con fallos de encriptación (tarjetas de crédito sin encriptar, credenciales, etc.)
A8: Falta de restricción de acceso a URL
A9: Protección insuficiente en la capa de transporte (uso incorrecto de certificados de seguridad, etc.)
A10: Redirecciones y envíos sin validación
Como era de esperar el TOP3 son lo que más lata nos están dando: no filtramos bien los parámetros en las SQL, seguimos siendo vulnerables al XSS y autentificamos tan mal como manejamos las sesiones. Pero OWASP, aparte de decirnos la última moda en vulnerabilidades, nos enseña a corregirlas y a evitarlas, y desde el germen de nuestros proyectos.
La guía de desarrollo
Esta guía es un compendio de buenas costumbres y de sugerencias a implantar en el proceso de codificación de aplicaciones web para poder generar aplicaciones de calidad en cuanto a seguridad se refiere. Son directrices que nos evitan malos hábitos contándonos cómo se deben codificar diferentes patrones y soluciones teniendo siempre en mente la posibilidad de un ataque de alta capacidad técnica.
Esta guía está traducida a español pero es una versión de hace 6 años, por lo que recomiendo arrimarse siempre a la versión wiki en lengua inglesa. En esta explican de forma muy directa y detallada las directrices, las cuales se clasifican, en cada una de las secciones, en “Deberías hacer esto” y en “Hazlo”, así como una explicación de los puntos débiles que vas a encontrar y las implicaciones que administración del sistema que deberías contemplar.
La guía de revisión del código
De igual manera, disponemos de una guía para revisar el código que ya está generado, porque a veces no somos nosotros los que codificamos sino que la aplicación ya existe o se ha comprado. Esta guía se divide en metodologías, pistas para recorrer el código yendo lo más directo posible al problema y la magnífica lista de malas prácticas en el desarrollo de diversos lenguajes (Java,ASP,PHP,C,C++ y SQL).
La guía de pruebas
La guía de pruebas se encuentra a punto de pasar a versión 4, estando disponible en este momento la versión 3 en forma de wiki, y ,aunque la hayamos dejado para la última, puede ser la más interesante de las tres. Nos resume y muestra los posibles puntos de entrada en las aplicaciones y cómo explotarlos. Los ejemplos son muy gráficos y están muy bien explicados, llegando a dar miedo y producir el efecto de “creo que esto lo tengo hecho mal en varios sitios”, lo que se conoce como “¡Dios mío! ¡Pero que he hecho!”.
Más información | owasp.com