jueves, 19 de febrero de 2015

Libros sobre desarrollo seguro. Parte II

Threat Modeling. Adam Shostack.
Hace ya unas semanas que traje la primera entrega de loslibros sobre desarrollo seguro y es que no quiero hablaros de cosas que no haya leído bien o que, realmente, no me hayan gustado.
Esta semana ha sido de muchos cambios por lo que tenía este artículo en el tintero de mi cabeza para contaros.
Os traigo un libro que, en mi humilde opinión, es un sobresaliente, toda una referencia en el modelado de amenazas.
"Muy bien, llevas varias semanas con lo mismo, ¿qué es el modelado de amenazas?"
Esta es una pregunta curiosa porque, hay bastante escrito sobre el tema pero muy pocos ejemplos, no obstante este libro sí nos acompaña en el viaje de aprender sobre esta rama de la seguridad que empieza a ser requerida por las empresas.
En primer lugar ¿por qué modelar la seguridad?
Todo el mundo conoce los datos económicos y de imagen que suponen para una empresa u organismos oficial que sus infraestructuras online sean vulneradas, imaginaros que mañana saliera una noticia de que Amazon ha sido pirateada y los datos de millones de usuarios están en el mercado negro. Esto sería espantoso para la empresa tanto en multas, solucionar los problemas como en imagen y deserción de usuarios.
Esa es la razón, se necesitan especialistas y ciclos que aseguren el máximo las aplicaciones de "los malos" y que logren hacer lo más ágil posible el poder subsanar los problemas encontrados.
La gran ventaja del modelado de amenazas es que es una de las medidas que se toman en las fases más tempranas, al no existir aún software el poder prevenir errores y futuros problemas hará que los programadores ya estén al tanto de ellos y no comentan esos fallos. Lo cual asegura el futuro software y abarata costes.
Ya existen ciclos de vida seguros para que las aplicaciones sean lo más fiables desde el punto inicial, desde la formación o toma de requisitos (mucho antes de que se tire la primera línea de código) y es ahí cuando nace la especialización de modelado de amenazas.
¿Cómo se modela una amenaza?
En el libro nos explican que existen tres métodos, de los cuales dos de ellos son los más habituales y eficaces:
- DFD's: Diagrama de Flujos de Datos
- Árboles.
Los DFDs son unos diagramas muy estandarizados, los grandes proyectos suelen tener la figura del arquitecto de software el cual realiza modelados de la aplicación y, entre ellos, suelen existir DFDs. Si tienes la suerte de que en tu proyecto existe eso no dudes en aprovecharlo para poder analizar las amenazas.
Tengo los DFDs de mi ingeniero ¿y ahora qué?
Ahora tienes STRIDE, ya hablamos sobre el en posts anteriores pero recordemos un poco.
STRIDE era un sistema para catalogar las diferentes vulnerabilidades, como ya vimos no solo existe STRIDE sino que además nos facilitaban un juego para poder detectar vulnerabilidades.
Bien, si te descargaste los PDFs de ese juego ahora es cuando vas a poder jugar.
Vete revisando las cartas y tus diagramas, al principio cuesta pero con el tiempo todo se hace más ligero. Pronto aparecerán posibles vulnerabilidades lo cual desembocara en zonas de riesgo, elementos que pueden gustar más a los piratas, y transiciones peligrosas para los datos, zonas de confianza...
Una vez se domina STRIDE ya podríamos pasar al hermano mayor, CAPEC, del que hable la semana pasada. Pero con calma, CAPEC es tan grande que tiende a convertirse en un eterno laberinto.
Ya tengo mis diagramas, he sacado muchas cosillas ¿cómo sigo adelante?
Revísalos de nuevo, las vulnerabilidades encontradas pueden hacer que acaben sugiriendo al Ingeniero de Software cambios sobre el modelo inicial. Míralo una y mil veces, y si tienes compañeros con quien iniciar esta aventura mejor que mejor.
Pero esta maravilla de libro no acaba aquí, los siguientes capítulos son centenares de hojas con grandes explicaciones y buenos consejos para mitigar esas posibles vulnerabilidades.
Conclusión
EL modelado de amenazas es una rama que pocas personas se han atrevido a "tocar" existe buena documentación , como este libro, pero pocos ejemplos por lo que al final cada uno trata de hacer las cosas lo mejor que puede conforme a lo que su empresa tiene ¿y si no tengo ni los DFDs? Hay que tomárselo con calma, en esta temática el estudio y la experiencia son muy importantes.
Recomiendo con fervor este libro, sobre todo las Partes 1 y 2 que comprenden hasta le capítulo 6, si te has enganchado ya el resto los leerás de carrerilla.

No hay comentarios:

Publicar un comentario

Esperando tu comentario...