Page 1 - Principios de Seguridad de Software
P. 1

Laboratorio de Ciberseguridad




                               Principios de Seguridad en el Software


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



                 La seguridad en el software es uno de los temas   De acuerdo con McGraw (2006), la seguridad
                 complejos a los que se deben  enfrentar los     en el software debe ser parte del ciclo de vida
                 analistas, diseñadores, desarrolladores de      de  desarrollo y  por consiguiente, incluirse
                 software y cuyo impacto en el sistema se puede   como parte activa de éste mediante la
                 analizar desde múltiples dimensiones.           aplicación de buenas prácticas de desarrollo o
                                                                 al menos de   considerar  e incluir  ciertos
                 En la seguridad informática se utiliza el       elementos.
                 concepto de seguridad por capas, donde cada
                 capa agrega un nuevo nivel de seguridad que     McGraw  y Viega (2005) presentan  una lista
                 protege de los distintos ataques.               que  se  compone         10   elementos,
                                                                 denominada   “Principios rectores para la
                 A medida que se incrementan las capas de        seguridad  del    software”,  que  deben
                 seguridad, el software se vuelve más complejo   considerarse  y aplicarse  a la hora de  crear
                 y difícil de construir, las pruebas de software   cualquier  tipo de  aplicación o sistema de
                 son más difíciles de realizar y en ocasiones    software.  A   continuación,  se   presenta   un
                 presentan un impacto en la usabilidad y la      breve    resumen    de    cada   uno   de   estos
                 percepción por parte del cliente.               elementos.

                 Existe un gran  número de vulnerabilidades,     1.     Asegurar el eslabón más débil: Una
                 tipos de ataque y riesgos de seguridad que se   aplicación  es un conjunto de componentes
                 relacionan con el  tipo de  aplicación  de      interconectados insertos en un ambiente físico
                 software,  donde    algunas   de   estas        determinado, por lo que podemos interpretarlo
                 vulnerabilidades son exclusivas de las          como distintos eslabones de una gran cadena
                 aplicaciones web, de escritorio, entre otros.   compuesta por elementos físicos y lógicos. La
                                                                 seguridad de una aplicación está determinada
                 Como  si esto fuera poco, la seguridad del      por su eslabón más débil. Se debe trabajar en
                 software  no depende exclusivamente de  su      asegurar el elemento más débil (de forma
                 diseño, sino que  también,  el contexto  y  la  iterativa) para asegurar la aplicación  en su
                 arquitectura física y lógica donde esta se ejecuta   conjunto.
                 juega un papel fundamental y  es una parte
                 importante en la defensa por capas.             2.     Practicar la defensa profunda: Como
                                                                 se mencionó anteriormente, la seguridad de
                                                                 una aplicación consiste en una superposición
                 Debido a su definición, contexto y objetivo, las
                 aplicaciones y servicios que son accesibles por   de capas. La defensa en profundidad consiste
                                                                 en aplicar distintas estrategias (o capas) donde
                 redes,  como   Internet,  se  encuentran        si una capa es inadecuada o no puede detener
                 particularmente expuestas y son sensibles a una
                 gran variedad de ataques.                       un ataque, otra capa puede hacerlo.
                                                                 3.     Controlar los fallos: A medida que los
                 Es importante destacar que las aplicaciones que   sistemas se vuelven más complejos, el control
                 son accedidas  desde Internet  se  encuentran   de errores resulta vital. Los errores o fallos son
                 (generalmente) accesibles las 24 horas del día,   inevitables, pero los problemas relacionados a
                 los 365 días del año y desde cualquier parte del   las fallas son gestionables. Disponer de una
                 planeta lo que hace que la superficie de ataque   estrategia para responder cuando un fallo se
                 siempre este  expuesta a diferencia  de las     produce resulta crucial para limitar la
                 aplicaciones de escritorio  que  tienden a estar  información que se  expone en estas
                 más aisladas.                                   circunstancias.
   1   2