Page 1 - Secure Software Development Life Cycle
P. 1

Laboratorio de Ciberseguridad



                      Secure Software Development Life Cycle – S-SDLC

                                         Dr. Miguel A. Rojas – mrojas@ude.edu.uy
                                       A/S Diego Nogueira – dnogueira@ude.edu.uy


                  No es raro escuchar que se debe iniciar a los   programar  se  ha  vuelto  algo  relativamente
                  niños en conceptos de programación e incluir   sencillo,  en  la  mayoría  de  los  casos  esta
                  estos temas como parte del plan de estudios    facilidad  tiene  como  aspecto  negativo  la
                  académico  desde  la  primaria  y  cada  vez  es   carencia de seguridad de la aplicación.
                  más  común  escuchar  que  en  unos  pocos
                  años,  todas  las  personas  van  a  saber     El concepto de Desarrollo seguro en el ciclo
                  programar ya sea de forma directa o indirecta   de  vida  del  software  o  Secure-Software
                  (utilizando  alguna  herramienta  que  los     Development Life Cycle (S-SDLC) consiste
                  abstraiga  de  realizar  programación  de  bajo   en incluir en el ciclo de vida de desarrollo de
                  nivel).                                        software conceptos de seguridad. El objetivo
                                                                 de  integrar  estos  conceptos  tiene  por
                  Los  avances  tecnológicos  están  derribando   finalidad  diseñar  software  más  seguros  y
                  las  barreras  o  dificultades  que  provocaban   confiables que presenten menos debilidades y
                  que la programación sea una actividad para     sean más difíciles de vulnerar.
                  pocos,  y  en  mayor  o  menor  medida,  se  ha
                  iniciado un proceso de masificación en lo que   La  seguridad  del  software  debe  observarse
                  refiere a la programación.                     desde  una  perspectiva  abarcativa  en  lo  que
                                                                 hace al ciclo de vida de desarrollo y todas sus
                  Al día de hoy, existen muchos mecanismos       etapas, y no de forma exclusiva y orientada a
                  por  los  cuales  se  puede  aprender  los     la  etapa  de  codificación  mediante  la
                  conceptos  básicos  de  programación  y        programación segura o defensiva.
                  desarrollo  mediante  un  gran  número  de
                  canales de información, sean estos formales    La seguridad del software comienza desde el
                  (Academias, Universidades, etc.) o informales   momento  del  diseño.  Se  deben  aplicar
                  (YouTube, Tutoriales, Blogs, etc.).            conceptos de seguridad desde el inicio, como
                                                                 ser  en  el  diseño  arquitectónico  para  luego
                  Adicionalmente,  los  avances  tecnológicos    aplicarlos en la implementación o desarrollo.
                  ocasionados a partir de herramientas de 4ta.
                  Generación  e  incluso  en  el  último  tiempo   Existen tres métodos para incluir la seguridad
                  herramientas basadas en inteligencia artificial   del  software  en  el  desarrollo,  de  forma
                  permiten  que  el  desarrollo  de  software  sea   consciente,  aplicando  la  seguridad  desde  la
                  cada vez más sencillo y amigable para aquellas   fase  de  diseño,  delegando  la  seguridad
                  personas  con  pocos  conocimientos  en        mediante el uso de frameworks de desarrollo
                  informática  e  incluso  cada  vez  más        que ya incluyan la seguridad, aunque en este
                  escuchamos frases que sugieren que TODOS       caso  todavía  podemos  cometer  errores  de
                  pueden desarrollar o que en unos pocos años    diseño, y por último un hibrido entre ambos
                  los programadores, tal como los conocemos      métodos donde se puede incluir frameworks
                  hoy en día, van a desaparecer.                 que  implementen  patrones  de  diseño  y
                                                                 programación segura junto con la verificación
                  Si bien lo anterior es completamente cierto,   activa e inclusión de prácticas en el ciclo de
                  aunque  puede  ser  discutible  si  el  rol  del   vida del producto.
                  programador va a desaparecer o simplemente
                  cambiar,  se  presenta  un  problema  del  que   De acuerdo con Viega, J., & McGraw (2002)
                  muy  pocos  hablan,  debido  a  que,  en  estas   el S-SDLC incluye siete actividades, los cuales
                  ocasiones, poco se evalúa estas herramientas   se presentan a continuación ordenados según
                  desde el punto de vista del desarrollo seguro   su efectividad:
                  de  software,  esto  quiere  decir  que,  si  bien
                                                                 1.  Revisión de código
   1   2