Cómo proteger el software?

 Imagen1 Es una pregunta habitual que recibo, tanto de administradores de sistemas como de profesionales dedicados al desarrollo.

La respuesta no es fácil ya que muchos focalizan sus esfuerzos en mejoras los controles de acceso o mediante la instalación de dispositivos en los perímetros de las redes.

La respuesta más acertada no es una sola, ya que lo anterior efectivamente sirve, pero a la hora de lidiar con vulnerabilidades como SQL Injection o Cross-Site Scripting , los controles de acceso como firewalls no tienen efecto previniéndolos.

Qué hacer en esos casos? Análisis de vulnerabilidades de las aplicaciones? Si, es una solución pero reactiva en términos del desarrollo, ya que tiende hacerse cuando el software ya está listo y los cambios en el mismo son muy costos.

Lo otro es tener un enfoque proactivo, muy recomendado cuando trabajamos en seguridad. Pero que significa proactivo cuando hablamos de desarrollo? Significa preocuparse de cómo los van a hackear desde el principio? Para nada, significa tener que incorporar la seguridad como parte del proceso de desarrollo del software.

La respuesta de como hacer eso de forma eficiente no es fácil, por lo cual desde Microsoft proponemos usar un Ciclo de Desarrollo Seguro o SDL (por sus siglas en inglés de Secure Development Lifecycle), donde se incorporan actividades de seguridad en todo el proceso, es decir, la seguridad pasa a ser parte integral de cada una de las fases de desarrollo.

La imagen adjunta muestra cada fase de desarrollo con una actividad de seguridad recomendada: 

image

Este ciclo o mejor dicho estas recomendaciones son el resultado de la inversión de Microsoft en su iniciativa de Computación Confiable .

Lo nuevo de esto es que estamos lanzando un nuevo sitio www.microsoft.com/sdlcon toda la información relevante del tema y con ello estamos poniendo a disposición de los desarrolladores la siguiente información:

  1. Educación
    • Centro de Seguridad en MSDN
    • Vídeos tipo "How to" respecto de Seguridad en Channel 9
  2. Proceso de Desarrollo Seguro
    • Sitio SDL en Microsoft
    • Libro de SDL publicado por Microsoft Press en 2006 (ISBN#0735622140)
  3. Herramientas de Seguridad
    1. Integradas en Visual Studio
    2. Herramientas de modelamiento de amenazas

Les recomiendo los siguientes recursos si les interesa el tema:

Comentarios como siempre bienvenidos.

Saludos, Christian.-

Technorati: Computación Confiable , TWC , MSDN , Seguridad , Tendencias , Ciclo de Desarrollo Seguro , Secure Development Lifecycle