Ciclos de Vida S-SDLC

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros Datos del alumno Fecha Apellidos: Abraham Charur 7 D

Views 189 Downloads 31 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros

Datos del alumno

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

Actividades Trabajo: Comparación de ciclos de vida de desarrollo de software seguro (S-SDLC) Como actividad puntuable para el tema 1, te propongo seguir profundizando en los modelos S-SDLC, realizando un trabajo que contenga al menos el siguiente contenido: Introducción a los S-SDLC. Descripción resumida de los diferentes tipos de S-SDLC. Comparación de los diferentes S-SDLC, cubriendo al menos las siguientes características: o Actividades de Ingeniería de Requisitos. o Actividades de diseño. o Actividades de implementación. o Actividades de pruebas de verificación y validación. o Recursos. o Uso por la empresa. o Etc. Propuesta de un nuevo S-SDLC. Conclusiones. Extensión máxima de la actividad: 8 a 12 páginas, fuente Georgia 11 e interlineado 1,5.

TEMA 1 – Actividades

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros

Datos del alumno

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

Contents Introducción ................................................................................................................. 3 Modelos de Ciclo de Vida de Desarrollo de Software ................................... 3 Microsoft Trustworthy Computing SDL .......................................................... 3 Ciclo de Vida McGraws ......................................................................................... 5 Ciclo de Vida CLASP .............................................................................................. 5 Ciclo de Vida Writing Secure Code .................................................................. 7 Comparación de los Diferentes Metodologías ............................................. 8 PROPUESTA DE UN NUEVO S-SDLC ................................................................... 8 CONCLUSIONES ......................................................................................................... 9 BIBLIOGRAFIA, WEBGRAFIA ................................................................................. 9

TEMA 1 – Actividades

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros

Datos del alumno

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

Introducción Con el avance de la Tecnología, es importante contar con un Diseño seguro de programas informáticos, esto con el fin de evitar cualquier Vulnerabilidad, esta vulnerabilidad es importante detectarla en la fase de desarrollo, y en la cuál en la actualidad de cuenta con varias metodologías de Diseño de Software Seguro, ya que históricamente las vulnerabilidades en el Software han sido muy comunes, y han acabado dando mala fama a las empresas y organizaciones de Diseño.

Modelos de Ciclo de Vida de Desarrollo de Software 

Es un procedimiento que emplea distinto tipos de conocimientos y tecnologías



Determinar y describir el alcance de las principales fases de desarrollo de software



Determinar el orden y la secuenciación de la realización de diferentes fases



Define las entradas, salidas y tareas a ser ejecutadas durante las fases



Establece hitos de control entre las fases y entregables de cada una, asi como su mecanismo de control.



Establece un marco para la administración, planificación, coordinación y control del progreso de desarrollo (https://micampus.unir.net/courses/7287/external_tools/39356, Dic 7, 2019)

Microsoft Trustworthy Computing SDL Este ciclo de vida es bastante popular y muy utilizado por las empresas que requieren realizar software seguro. En la siguiente imagen se puede visualizar el esquema del SSDLC

TEMA 1 – Actividades

Asignatura

Datos del alumno

Diseño y Desarrollo de Programas Informáticos Seguros

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

Las tareas que se llevan a cabo en este ciclo de vida son las siguientes :



En primer lugar se debe formar a los desarrolladores en seguridad para que todos los componentes se desarrollen conociendo las amenazas.



Las tareas de seguridad en las actividades de requisitos son: establecer que requisitos de seguridad existen en el proyecto, para ello puede necesitarse la participación de un asesor de seguridad en la implementación del SDL. Se utilizará la figura del asesor como guía a través de los procedimientos del SDL. En este punto cada equipo de desarrollo debe tener en cuenta como requisitos las características de seguridad para cada fase. Algunos requisitos pueden aparecer a posteriori, por ejemplo cuando se realice el modelo de amenazas.



Las tareas de seguridad en las actividades de diseño son: los requisitos de diseño con sus necesidades de seguridad quedarán definidos. Se realizará documentación sobre los elementos que se encuentren en la superficie de un ataque al software, y por último, se realizará un modelo de amenazas, dónde pueden descubrirse nuevos requisitos de seguridad.



Las tareas de seguridad en las actividades de implementación son: aplicación de los estándares de desarrollo y de pruebas. Posteriormente se aplicará software que compruebe la seguridad. Además, se realizarán pruebas de code review.



Las

tareas

de

seguridad

en

las pruebas

de

verificación

y

validación son: análisis dinámico sobre la aplicación, revisiones de código desde el punto de vista de la seguridad y pruebas centradas en la seguridad del software. 

Se necesita generar un plan de incidentes al final del proceso, una revisión final de toda la seguridad del proceso y crear un plan ejecutivo de respuesta ante incidentes, dónde se obtendrá un feedback de todo lo que ocurre en la liberación del software.

TEMA 1 – Actividades

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros

Datos del alumno

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

Ciclo de Vida McGraws Propone unas prioridades para las tareas de seguridad y de este modo saber qué cosas tenemos que proteger primero o tener en cuenta. A continuación se exponen las tareas por orden de prioridad: 

Revisión de código (code review). Tarea de análisis de código estático, el cual debe ser escrito teniendo conocimientos de seguridad y buenas prácticas de programación. Fase de implementación.



Análisis de riesgo. Esta tarea es ejecutada en tres fases y es de vital importancia en la toma de decisiones del proceso. Fase de requisitos, análisis, diseño y testing.



Test de intrusión (Pentesting). Tanto en la fase de testing como la liberación de la herramienta, este tipo de tareas pueden descubrir comportamientos anómalos en la herramienta. Fase de testing.



Test de caja negra basados en riesgos. Fase de testing.



Casos de abuso o fuzzing a los inputs de la herramienta para comprobar su comportamiento. Fase de testing.



Requisitos de seguridad por parte de los desarrolladores. Fase de requisitos y análisis.



Operaciones de seguridad.



Análisis externo, no obligatorio. Durante todas las fases.

Ciclo de Vida CLASP Comprehensive LIghtweight Application Security Process, de OWASP. CLASP es un conjunto de piezas, el cual podría ser integrado en otros procesos de desarrollo de software. Tiene ciertas propiedades como son su fácil adopción a otros entornos y la eficiencia. Su fuerte es la riqueza de recursos de seguridad que dispone, lo TEMA 1 – Actividades

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros

Datos del alumno

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

cual deberá ser implementado en las actividades del SDLC. Tiene esta fuerza debido a que OWASP está detrás de ello. CLASP se organiza en vistas, de las cuales dispone de cinco. A continuación, se enumeran las distintas vistas: 

Concepts view



Role-Based view.



Activity-Assesment view.



Activity-Implementation view.



Vulnerability view.

Todas las vistas se interconectan entre sí, y este detalle es importante. Los roles dentro de CLASP son muy importantes y existen siete: gerente, arquitecto, ingeniero de requisitos, diseñador, codificador, tester y auditor de seguridad. Se puede ver que la seguridad se encuentra incluida, con una figura importante, dentro del proceso. Todos los roles deben estar en cualquier proyecto, sino no se cumpliría CLASP. La vista Activity-Assesment es importante, ya que identifica 24 actividades o tareas que pueden ejecutarse. Son tareas relacionadas con la seguridad del desarrollo del software, como por ejemplo la identificación de una política de seguridad, documentar los requisitos relevantes con la seguridad, realización de code-signing, etcétera. La vista de vulnerabilidades es la encargada de clasificar los tipos de fallos de seguridad que se puedan encontrar en el software. Consta de 5 subgrupos.

TEMA 1 – Actividades

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros

Datos del alumno

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

Ciclo de Vida Writing Secure Code En la siguiente imagen se puede visualizar como este modelo se divide en etapas, de las cuales tiene 13, y durante las distintas fases se van realizando etapas para conseguir que la aplicación sea segura. En la etapa inicial se habla de educación al desarrollador en términos de seguridad, esto se realiza justo antes de comenzar las actividades de diseño de la aplicación. Durante esta fase de diseño también se cumplen las etapas de cuestiones relevantes a la seguridad y la realización del modelado de amenazas. Una vez finalizada la fase de diseño se realiza una revisión del equipo de seguridad del diseño de la aplicación. En la fase de implementación se crean documentos de seguridad, se preparan herramientas y se estudia las guías de buenas prácticas y codificación segura. En la fase de pruebas se utilizan las políticas de prueba seguras, se revisan los fallos encontrados en el proceso hasta el momento y se realiza una revisión externa de la aplicación. En la fase de mantenimiento se realiza una planificación de seguridad que indica como la empresa debe responder.

TEMA 1 – Actividades

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros

Datos del alumno

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

Comparación de los Diferentes Metodologías S-SDLC

INGENIERIA DE REQUISITOS

DISEÑO Valora y Analiza los procesos de Seguridad y trabaja en las Microsoft Trustworthy Computing SDL Define las Limitaciones del Proyecto Vulnerabilidades Tecnicas de Modelado Analisis de Riesgo y Requisitos de Estandares de Seguridad Macgraw´s Seguridad Analisis de Amenazas Analisis de Amenza bajo estandares de seguridad Parametros de Seguridad y Estudio que permiten revisar la CLASP de Amenazas fase de diseño Revision Final de Writing Secure Code Especifica Roles de Seguridad Seguridad

IMPLEMENTACIÓN

PRUEBAS Y VERIFICACIÓN

Aplica Medidas de Seguridad en las Pruebas

Realiza retroalimentacion y ejecuta modificaciones

Revisiones de Codigo

Pruebas the Ethical Hackking Gary MCGraw

Revisiones de Codigo

Pruebas the Ethickal Hacking OWASP

Una vez revisado los diferentes ciclos de vida seguros, sería complicado plantear un ciclo de vida nueva, ya que esto llevo a años de estudios, pero yo me quedaría con

TEMA 1 – Actividades

Microsoft

Soluciones de Seguridad Prueba de Vulnerabilidades Microsoft

PROPUESTA DE UN NUEVO S-SDLC

Microsoft Trustworthy y complementando con CLASP

EMPRESA

Asignatura Diseño y Desarrollo de Programas Informáticos Seguros

Datos del alumno

Fecha

Apellidos: Abraham Charur 7 Dic 2019 Nombre: José Luis

CONCLUSIONES La seguridad en un desarrollo de softwre siempre es importante , ya que en las empresas van a manejar datos sensibles de los clientes, y es importante mantener en todo momento la confidencialidad, de lo contrario las perdidas de las empresas podrían ser importantes, Financieras, como Reputacionales

BIBLIOGRAFIA, WEBGRAFIA https://www.flu-project.com/2014/05/ciclos-de-vida-del-software-seguros-s_27.html (12/7/2019) https://micampus.unir.net/courses/7287/external_tools/39356 (12/7/2019)

TEMA 1 – Actividades