A través de estas líneas quisiera compartir algunas ideas que se relacionan con el desarrollo de software seguro.
En primer lugar debería comenzar por explicar a qué me refiero con software seguro. En palabras simples, un producto de software seguro es una aplicación que ha sido desarrollada para que funcione proactivamente ante ataques de usuarios malintencionados, y al decir que ha sido desarrollado así, me refiero a que no se siguió la aproximación tradicional, que acostumbra desarrollar un producto y luego que está terminado nos acordamos que hay que pensar en la seguridad y recién en ese punto instalamos firewall y otras herramientas externas que tratan de "cuidar" la integridad y confiabilidad del sistema.
Esta nueva área de la Ingeniería de Software, (nueva porque las investigaciones en el tema comenzaron recién alrededor del año 2000) plantea la necesidad de incorporar durante el ciclo de desarrollo de los productos de software, nuevas actividades y artefactos que hacen que los stakeholders piensen en las características asociadas a la seguridad desde las etapas tempranas del proceso. Es así que se recomienda la aplicación de un conjunto de "mejores prácticas" para la seguridad, entre las cuales se consideran, por ejemplo, el desarrollo de casos de abuso, casos de mal uso, diagramas de casos de abuso, identificación de los posibles "usuarios malintencionados", análisis de riesgo, etc. etc.
Entre las propuestas que han sido desarrolladas, existen algunas que son mejoras a modelos de procesos específicos y otras que son propuestas "agnósticas", es decir, aplicables a cualquier modelo del ciclo de vida del software.
Finalmente, quisiera repetir lo que muchos investigadores en el tema plantean y que nosotros como ingenieros de software comúnmente olvidamos: el motivo último del éxito de los ataques a los sistemas informáticos es que algún "atacante" ha sacado provecho de las falencias y debilidades del producto desarrollado y definitivamente la costumbre de ir "parchando" los sistemas a medida que fallan, no es la mejor solución.
Comentarios
En otro de tus "posteos" podrías incluir este nuevo concepto de caso de abuso.
Saludos ;)