Ir al contenido principal

Desarrollo de Software Seguro


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

Unknown dijo…
Vianca muchas gracias por el artículo, me parece interesante esta propuesta para complementar el trabajo actual de desarrollo de software en el departamento.

En otro de tus "posteos" podrías incluir este nuevo concepto de caso de abuso.

Saludos ;)

Entradas más populares de este blog

Código Python para pasar de notación postfija a infija

Este código es un borrador en  Python que convierte una expresión en notación postfija a notación infija ordenada por paréntesis:

TIPS: Tres algoritmos para convertir una imagen de color a gris en python

Hace un tiempo necesitaba convertir unas imágenes que estaban en color a escalas de grises utilizando python. Buscando en internet encontré un sitio donde explicaban las fórmulas que se utilizan en el GIMP para realizar la conversión.

La tira cómica de Raulito el Friki

Buscando algunas cosas que necesitaba para comunicar un dispositivo por voip, me encontré en un grupo de interés que hacía referencias al sitio y luego de leer un rato no paré de reírme.