Argumentando la seguridad en las fases del desarrollo de software


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TIA: ARGUMENTANDO LA SEGURIDAD EN LAS FASES DE DESARROLLO DE SOFTWARE.

 

Deicy Johana Berrío Galvis

Santiago Ramírez Valencia


 De acuerdo a la lectura y análisis realizados a los documentos suministrados para realizar esta TIA, usted debe desarrollar  los siguientes planteamientos:

1.  Elabore una tabla comparativa entre las fases del ciclo de vida del desarrollo de software (SDLC) con las fases del ciclo de vida del desarrollo de software seguro (S-SDLC)

2.  Resuma mediante una tabla, las principales características de las metodologías de desarrollo de software seguro.

            3.  De todas las metodologías estudiadas cual de ellas seleccionaría             para el desarrollo de software seguro. Especifique los criterios que             tendría en cuenta para seleccionar dicha metodología. Un vez                     desarrollado este ítem, capture la pantalla de la diapositiva y                     publíquela en el blog portafolio.

4.  Consulte y exponga las principales características del nuevo paradigma de desarrollo “Programación   Orientada a Aspectos (POA)” y qué aportes hace este paradigma al desarrollo de software seguro.

 

 

  

1.          Elabore una tabla comparativa entre las fases del ciclo de vida del desarrollo de software (SDLC) con las fases del ciclo de vida del desarrollo de software seguro (S- SDLC)

 

Fases

  

SDLC

S-SDLC

Planificación del concepto

Análisis

Definir los requisitos

Diseño

Diseño

Desarrollo

Desarrollo y pruebas

Pruebas

Puesta en marcha

Despliegue y mantenimiento

Operaciones y mantenimientos

 

Disposición

 

 

3

 

 comparativa entre  SDLC y S-SDLC


SDLC

S-SDLC

Despliega el análisis en dos etapas diferentes, que son la de planificación de concepto y la definición de requisitos.

En una sola etapa se hacen la planificación y definición de requisitos; que es la de análisis

Ambas manejan un ciclo de diseño

Ambas manejan un ciclo de diseño

En un solo ciclo se hace el desarrollo y las pruebas

Maneja un ciclo de desarrollo y por aparte uno de pruebas

Despliega en dos ciclos diferentes la puesta en marcha y las operaciones y mantenimiento, es decir lo hace de una manera mas especifica al hacerla por

separado

Se maneja en un solo ciclo lo que es la puesta en marcha y el mantenimiento del sistema. (Despliegue y mantenimiento)

Maneja un ciclo adicional que es el de disposición, donde se dan las directrices para su descontinuación

No maneja un ciclo de disposición

 

 

 

 

 

 

4

2. Resuma mediante una tabla, las principales características de las metodologías de desarrollo de software seguro.

 

 

Metodologías

Características

S-SDLC

Metodología para el desarrollo de software, que hace hincapié en la seguridad en cada fase del ciclo de vida, desde el inicio, hasta el fin.

SREP

Método basado en activos y orientado a riesgos, que permite el establecimiento de requisitos de seguridad durante el desarrollo de las aplicaciones.

SQUARE

Propone varios pasos para construir modelos de seguridad desde las etapas tempranas del ciclo de vida del software. En el proceso del modelo se hace un análisis enfocado a la seguridad, los patrones de ataque, las amenazas y las vulnerabilidades y se desarrollan malos casos de uso/abuso


 

CoSMo

Conjunto de leyes, normas y prácticas que regulan cómo una organización gestiona, protege y distribuye información sensible.

UMLSec

Es una metodología de desarrollo basada en UML para especificar requisitos de seguridad relacionados con integridad y confidencialidad. Mediante mecanismos ligeros de extensión de UML es posible expresar los estereotipos, las etiquetas, las restricciones y el comportamiento de un subsistema en presencia de un ataque.

Casos de Mal Uso

Es el caso inverso de un caso de uso UML y es lo que el sistema no debería permitir

DREAD

Ayuda a ponderar las amenazas identificadas.

Árboles de ataque

Es un método que permite identificar vulnerabilidades en cada uno de los componentes del software y jerarquizarlos

STRIDE

Ayuda a identificar amenazas en los componentes de un sistema

 

Spoofing Identity: Suplantar la identidad de otro usuario o servicio.

 

Tampering with Data: Modificar maliciosamente datos almacenados.

 

Repudiation: Imposibilidad de identificar el autor de una acción.

 

IInformation Disclosure: Divulgar información a usuarios no autorizados.

 

Denial of Service: Provocar que un servicio deje de funcionar.

 

Elevation of privilege: Conseguir privilegios mayores a los asignados

Threat Modeling

Técnica formal, estructurada y repetible que permite determinar y ponderar los riesgos y

amenazas a los que estará expuesta la aplicación.

 

 

 

 

 

 

 

 

 

 

5


 

 

3.        De todas las metodologías estudiadas cual de ellas seleccionará para el desarrollo de software seguro, especifique los criterios que tendría en cuenta para seleccionar dicha metodología. Un vez desarrollado este numeral, capture la pantalla de la diapositiva y publíquela en el blog portafolio.

 

 

Escogería S-SDLC (Secure Software Development Life Cycle), ya que se basa en verificar los requisitos de seguridad a lo largo de las distintas fases de construcción del software: análisis, diseño, desarrollo, pruebas y mantenimiento. Sobre todo, durante las dos primeras, ya que gran parte de las debilidades de los sistemas se generan incluso antes de comenzar las tareas de programación.

 

Esta metodología hace aplicaciones más robustas, disminución de problemas en producción y ahorro en tiempo de desarrollo, ya que se construye con la seguridad en mente (sin olvidar la usabilidad o aspectos de rendimiento), los posibles bugs que se vayan introduciendo se detectarán en fases más tempranas, y por lo tanto los cambios para arreglarlo serán menores.

 

 

 

Criterios que tendría en cuenta:

 

·       Las características de la metodología.

·       Que considere la seguridad en todas las fases del desarrollo del software.

·       Las tareas que este incorpora para llevar a cabo un proceso eficaz.

·       Que sea de fácil acceso, que resulte lo suficientemente sencilla y fácil de usar.

·       Que se ajuste a las necesidades del proyecto a desarrollar.

·       En el grado de adaptabilidad, que se mantenga vigente de acuerdo a los cambios que el contexto exija y que sea innovadora.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6


4.    Consulte y exponga las principales características del nuevo paradigma de desarrollo  “Programación  Orientada  a Aspectos (POA)” y qué aportes hace este paradigma al desarrollo de software seguro.

Referencie las fuentes de consulta, de acuerdo a las normas APA.

 

POA

 

La programación orientada a aspectos (POA) es una nueva metodología de programación que aspira a soportar la separación de competencias para los aspectos antes mencionados. Es decir, que intenta separar los componentes y los aspectos unos de otros, proporcionando mecanismos que hagan posible abstraerlos y componerlos para formar todo el sistema. En definitiva, lo que se persigue es implementar una aplicación de forma eficiente y fácil de entender.

 


 

 



 

 

Características de la POA

 

·       De la consecución de estos objetivos se pueden obtener las siguientes ventajas:

·       Un código menos enmarañado, más natural y más reducido.

·       Una mayor facilidad para razonar sobre las materias, ya que están separadas y tienen una dependencia mínima.

·       Más facilidad para depurar y hacer modificaciones en el código.


 

Bibliografía POA:

 

 

Uriel Ruelas. (mayo 18, 2017). ¿Qué es la programación orientada a aspectos (POA)?. codingornot.com Recuperado de https://codingornot.com/que-es-la-programacion-orientada-a-aspectos-aop

 

Vidal, Cristian L, Hernández, Dannia D, Pereira, Cristian A, & Del Río, María C. (2012). Aplicación de la Modelación Orientada a Aspectos. Información tecnológica, 23(1), 3-12. https://dx.doi.org/10.4067/S0718-07642012000100002

 

 

 

 

7



     

 

 

 

 



I hl ST IT U C I O N U N I V E RS ITA R I A

PASCUAL BRAVO

 

 

Unidad de Educacién Virtual

Comentarios

Entradas populares de este blog

Práctica sobre funciones

Diagramas para la documentación de las vistas propuestas en el modelo 4+1