Esta semana se ha celebrado en Washington D.C. una convención de seguridad que reuniría a expertos en seguridad informática de todo el mundo, con el instituto SANS y el MITRE como máximos exponentes, para elaborar un TOP que constataría los 25 errores de programación más peligrosos.
En el documento, que podéis encontrar aquí, se detallan las 25 categorías de vulnerabilidades, ofreciendo tanto la descripción como un conjunto de medidas para solventarlas y educar a los programadores para que no las cometan. Cuanto antes se conozcan los problemas, menos dolores de cabeza darán luego las vulnerabilidades y como no, el tener que estar sacando parches cada poco tiempo.
Al ser un documento muy educativo y detallado, os podéis imaginar su extensión (ronda las 40 páginas). Recomendamos su lectura encarecidamente, pero aún así, os ofrecemos un resumen de los puntos “ganadores” que son tratados en el TOP, englobados en 3 categorías:
- Categoría sobre la interacción insegura entre componentes
Como contramedidas, es más que obvio: validar todos y cada uno de los datos de entrada, más preferiblemente basándonos en listas blancas, no confiar en validaciones en la parte cliente, utilizar procedimientos almacenados para el caso de operaciones a bases de datos, etc.
- Categoría sobre la gestión incorrecta de los recursos
En este caso, para evitar tales vulnerabilidades, se recomienda siempre gestionar de manera adecuada la memoria que utiliza la aplicación, inicializar y definir correctamente todas las variables y rebajar al mínimo los permisos necesarios por el software para que, en caso de ataque, el usuario no obtenga demasiados privilegios en el sistema afectado.
- Categoría relacionada con técnicas de protección que suelen ser infravaloradas
Los puntos que se engloban en esta categoría son, entre otros, los controles de acceso no adecuados derivando en un proceso de autorización insuficiente en la aplicación, carencias en los algoritmos de cifrado utilizados y predicción de valores que se suponían ser aleatorios, así como por ejemplo el incluir credenciales válidas en el propio código fuente (hay veces que un click botón derecho -> Ver Código Fuente nos puede deparar tantísimas sorpresas…).
Según se informa en el anuncio, todos los puntos de este TOP se irán actualizando y completando con más información, pero no deja de ser un documento muy completo a tener en cuenta y como exigencias a un equipo de desarrollo, ya sea propio o antes de llevar a su contratación.
[+] TOP25 en SANS y en MITRE
[+] Documento en PDF aquí y aquí.
Fuente: Security By Default