Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Segsoftt 1 Trab

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Asignatura Datos del alumno Fecha

Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Trabajo: Comparación de ciclos de vida de desarrollo de software seguro


(S-SDLC)

Contenido
Introducción a los S-SDLC. ...................................................................................................................... 2
Descripción resumida de los diferentes tipos de S-SDLC. .......................................................... 2
Microsoft Trustworthy Computing SDL .................................................................................................... 2
CLASP: Comprehensive Lightweight Application Security Process ...................................................... 3
Team Software Process Secure (TSP -Secure) .......................................................................................... 3
Oracle Software Security Assurance .......................................................................................................... 4
Appropriate and Effective Guidance in Information Security (AEGIS) ................................................ 5
Rational Unified Process-Secure (RUPSec) .............................................................................................. 5
Secure Software Development Model (SSDM) ......................................................................................... 6
Waterfall-Based Software Security Engineering Process Model Building Security in Maturity
Model (BSIMM) ............................................................................................................................................ 7
Software Assurance Maturity Model (OPEN SAMM) ............................................................................. 7
Comparación de los diferentes S-SDLC, cubriendo al menos las siguientes
características: ............................................................................................................................................ 8
Propuesta de un nuevo S-SDLC. .......................................................................................................... 10
Conclusiones. .............................................................................................................................................. 11
Referencias................................................................................................................................................... 12

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Introducción a los S-SDLC.


Para el desarrollo de un software se cuenta con metodologías de desarrollo, desde las tracciónales
hasta las actuales conocidas como agiles, estas metodologías establecen un proceso a seguir durante
el SDLC. Para obtener un software seguro y confiable se debe agregar un conjunto de principios de
diseño y buenas prácticas para que de esta manera se pueda reducir las vulnerabilidades, a este
nuevo ciclo se lo conoce como S- SDLC. [1][2]
Un S-SDLC pretende obtener software que cumpla con las principales propiedades de seguridad
correspondientes a:
• Integridad
• Disponibilidad
• Integridad
Entre los beneficios que puede ofrecer un SDLC a un software son los siguientes: [2]
• Software que es más robusto y confiable
• Detección temprana de fallas, errores de codificación, debilidades de diseño, deficiencias de
seguridad, etc.
• Reducción de costos derivada de una detección temprana y resolución de los problemas
enumerados en el punto anterior.
• Menor riesgo para la organización.

Descripción resumida de los diferentes tipos de S-SDLC.

Microsoft Trustworthy Computing SDL

Esta metodología fue desarrollada por Microsoft a principios del 2004, con el objetivo de
proporcionar seguridad a los sistemas desarrollados. Este ciclo consta de un conjunto de prácticas
que respaldan la garantía de seguridad, ayuda a los desarrolladores a crear código más seguro,
reduciendo así la cantidad, y gravedad de las vulnerabilidades.

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Fig. 1 Proceso del SDL, Fig. 1 fuente: UNIR, Seguridad del Software Javier Bermejo Higuera

CLASP: Comprehensive Lightweight Application Security Process

Es un modelo descriptivo basado en procesos, roles y buenas prácticas, está diseñado para ayudar a
los equipos de desarrollo apliquen medidas de seguridad en las primeras etapas de ciclo de
desarrollo de software. [1] [3]

Estructura de CLASP:
• CLASPView. Perspectivas de alto nivel interconectadas entre sí.
• CLASP Best Practices. Agrupación de las actividades de seguridad.
• CLASP Activities. Diseñadas para permitir una fácil integración entre actividades de
seguridad y el SDL.
• CLASP Resources. Ayudan a la planificación, ejecución y cumplimiento de las
actividades.
• CLASP Taxonomy. Clasificación de alto nivel de 104 tipos de problemas o
vulnerabilidades, divididos en 5 categorías de alto nivel. [1] [3]

Team Software Process Secure (TSP -Secure)

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Esta metodología extiende de TSP con la premisa de orientarse a la seguridad de las aplicaciones de
software. Este proyecto es un esfuerzo
conjunto entre TSP de SEI y el programa
CERT de SEI con el objetivo principal de
obtener software seguro. Esto lo aborda
de tres maneras principales

• Planificación de seguridad
• Gestión de la calidad en todo el
SDLC
• Capacitación en seguridad al
equipo de desarrollo

Fig. 2 Filtros de eliminación de vulnerabilidades Fuente:


https://www.us-
cert.gov/sites/default/files/bsi/Secure_SDLC_Processes-4.png

En el ciclo de desarrollo en cuanto se tenga más filtros de vulnerabilidades mejor, de esta manera se
obtendrá un software con la menor cantidad posible de vulnerabilidades. [4]

Oracle Software Security Assurance

Esta metodología empleada por Oracle para otorgar a


sus productos seguridad en sus diseño, construcción,
pruebas y mantenimiento. Abarca procesos,
procedimientos y tecnologías en constante evolución.
[5].

Las faces principales son: prevent, remediate, improve.

Fig. 3 Oracle Software Security


Assurance Fuente:
https://www.owasp.org/images/1/15/App
SecEU2012_Oracle.pdf

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Appropriate and Effective Guidance in Information Security (AEGIS)

Es un proceso de desarrollo de software para sistemas seguros y utilizables, es un proceso ligero de


fácil adaptación a cualquier SDLC en la figura 4 se puede observar los pasos que tiene AEGIS. [7]

Fig. 4 AEGIS diagrama de actividades


Fuente: https://www.researchgate.net/publication/228748337

Rational Unified Process-Secure (RUPSec)

Fue desarrollada para agregar extensiones de seguridad a la metodología RUP, estos complementos
están destinados a agregar, integrar actividades, roles, artefactos. Con el objetivo de capturar,
modelar y documentar amenazas, requisitos de seguridad, y para garantizar que estos requisitos
sean integrados en cada fase de desarrollo (diseño, implementación, y pruebas).

RUPSec agrega casos de mal uso para ayudar a los desarrolladores a interactuar con estos casos para
elaborar soluciones que contrarresten las amenazas identificada. [9]

Agrega extensiones a las siguientes actividades.

• Mantener reglas comerciales.


• Encontrar actores de negocios y casos de uso: Documenta aspectos de seguridad
y casos de uso.

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

• Encontrar trabajadores y entidades comerciales. Define el nivel de acceso de los


trabajadores a las entidades.
• Define el requisito de automatización. Captura los requisitos de seguridad empresarial
de la política de seguridad.
• Requisitos detallados del software. Refine los requisitos de seguridad.

Secure Software Development Model (SSDM)

Es un modelo que integra la ingeniería de seguridad con el proceso de desarrollo del software, el
cual combina algunas técnicas de seguridad ya existentes con el objetivo de desarrollar software
seguro. Este proceso se divide en 5 etapas.

• Security Training. La clave del entrenamiento es proporcionar los conocimientos necesarios


con respecto a la seguridad del software a todo el equipo de desarrollo.
Los requisitos clave de entrenamiento son:
o Conciencia de seguridad.
o Conocimiento de ataques en aplicaciones relacionadas anteriores.
o Comprender los intereses de los atacantes en el software que se está desarrollando.
o Conocimiento sobre prácticas seguras de desarrollo.
• Threat Modeling. Utilizar un modelo de amenaza con el objetivo de identificar a los
atacantes y sus habilidades, este se divide en 3 partes.
o Entender la naturaleza del software
o Identificar atacantes o amenazas
o Identificar posibles vulnerabilidades
• Security Specification (SS). Esto implica establecer las pautas y procedimientos que
garantizan la seguridad del sistema. El SS debe contener lo siguiente:
o Necesidades de seguridad
o Estado de las políticas de seguridad
o Como coordinar las implementaciones de seguridad
o Como hacer que el sistema se adapte a los cambios de seguridad
o Como monitoreas los estados de seguridad del sistema de software
• Review SS. Permite verificar si el contenido de diseño del software está de acuerdo con las
especificaciones de seguridad.
• Penetration Testing. mide las capacidades del software para prevenir ataques. Es
importante para:
o Probar la seguridad del software y sus recursos

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

o Determinar si el estado de seguridad actual del software realmente detecta y previene


ataques. [8]

Waterfall-Based Software Security Engineering Process Model Building Security in


Maturity Model (BSIMM)
Parte desde el modelo de desarrollo en cascada tradicional donde se agrega las actividades de
ingeniería de seguridad, y artefactos que se integraran en cada una de las fases del modelo en
cascada. Las actividades que se sugieren son las siguientes. [9]

Fig. 5 Modelo de proceso


Fuente: Paper: Software Security Assurance [9]

Software Assurance Maturity Model (OPEN SAMM)


Es un entorno de trabajo para ayudar a las organizaciones a implementar estrategias de seguridad
en el software, con el objetivo de:
• Evaluar las prácticas de seguridad en Software existentes en la organización.
• Construir un programa de seguridad en Software balanceado en iteraciones bien definidas.
• Demostrar mejoras concretas en el programa de aseguramiento de Software.
• Definir y medir las actividades relacionadas con seguridad en la organización.

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Los bloques de construcción del modelo son los tres niveles de madurez definidos para cada una de
las doce prácticas de seguridad. [10]

Fig. 6 Modelo Fuente: [10]

Comparación de los diferentes S-SDLC, cubriendo al menos las siguientes


características:
Para la comparación de los ciclos de desarrollo de software seguro, se utilizó como guía comparativa
el articulo The Application of a New Secure Software Development Life Cycle (S-SDLC) with Agile
Methodologies [2].

Modelo Requerimientos Diseño Implementación. Pruebas de Uso en la


verificación y empresa
validación.

. Integración de seguridad . Integración de . Mejores prácticas . Pruebas de Registrado


Microsoft Trustworthy
Computing SDL

. Identificación de riesgos equipos de desarrollo, de desarrollo penetración


. De integración con otros arquitectos, . Uso de
sistemas diseñadores herramientas de
. Análisis de riesgos seguridad
. Uso de listas de
verificación
. Análisis de código
. Análisis de amenazas . Modelado bajo . Análisis de . Pruebas de Registrado
CLASP

. Análisis de riesgos estándares de revisión de código penetración


. Identificación de superficie seguridad . Pruebas de
de ataque . Seguimiento de guías intrusión
de diseño. . Análisis de código
estático.
. Pruebas Fuzz

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

. Análisis de riesgos . Diseño seguro . Análisis de código . Análisis de No


Team Software
Process (TSP)

. Especificar casos de abuso . Análisis dinámico penetración registrado


. Re- definición de . Análisis estático Pruebas de
requerimientos de seguridad seguridad

Definición de objetivos y Diseño seguro . Estándar de . Análisis estático y Registrado


Oracle Software
Security Assurance

políticas de seguridad codificación segura dinámico de código


. Pruebas
funcionales y no
funcionales
. Pruebas de calidad
QA
Análisis de los activos con el Diseño orientado en - • No
AEGIS

objetivo de definir los aclarar los modelos de registrado


riesgos para obtener los los activos y requisitos
requisitos de seguridad. de seguridad

Clasificación de requisitos de . Casos de abuso Portabilidad y Evaluación de No


RUP Sec

seguridad de acuerdo a la . Definición de precisión en la aspectos de registrado


funcionalidad. amenazas. implementación. seguridad
No menciona como debe
modelarse, analizar, utilizar
en las siguientes fases.

Modelado de amenazas Políticas de seguridad Revisión de código Pruebas de No


SSDM

Entrenamiento en aspectos penetración registrado


de seguridad

. Requisitos de seguridad . Análisis externo. Revisión de código . Prueba de Registrado


BSIMM

. Análisis de riesgo . Operaciones de intrusión


. Análisis externo seguridad. . Análisis externo.
. Pruebas de fuzzing.

. Requisitos de seguridad . Arquitectura segura . Fortalecimiento . Revisión de diseño Registrado


OPEN
SAMM

. Capacitación . Evaluación de de ambiente . Revisión de código


amenazas . Análisis de . Pruebas de
vulnerabilidades seguridad

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Propuesta de un nuevo S-SDLC.


Una vez analizada cada una de las S-SDLC mencionadas anteriormente se pretende dar una nueva
propuesta, en este caso se va a partir de un modelo ya planteado, una vez analizada sus
características se ha decidido agregarle ciertos puntos que pretende mejorar el resultado final, un
software seguro ya sea de un desarrollo nuevo, o de un software ya desplegado.

Partiendo desde la metodología de Microsoft Trustworthy Computing SDL, se agregará


algunas características que permitirá mejorar la metodología, y facilite la integración a las
metodologías actuales de desarrollo ágil, como es el caso de SCRUM.

Planificación: Definir los roles y responsabilidades de cada equipo, sea de desarrollo, capacitación
de seguridad, quienes realizan las pruebas de calidad, etc.

Formación: Agregar al proceso de formación con respecto a los estándares de seguridad que se
llevara a cabo en el desarrollo, una capacitación explicando cómo se hará uso de la metodología S-
SDLC en conjunto con el SDLC, con el fin de que el equipo de desarrollo sepa como llevar la
metodología durante todo su ciclo de desarrollo ágil.

Diseño: En la presente sección se agregará el trabajo que a realizado el analista de seguridad en las
reuniones con el cliente, se tomará en cuenta las observaciones para la elaboración del diseño del
sistema, reduciendo en su máximo su seguridad.

Implementación: En la siguiente sección de adaptara para que funciones con metodologías agiles,
en este ejemplo se sub dividirá la implementación, para llevar acciones más complejas en el sprint
principal, y en el sprint diario acciones más sencillas.

• Grupo Expandido: Uso de herramientas comprobadas, prohibir funciones no seguras,


análisis estático a los módulos desarrollados.
• Grupo Reducido: Pruebas internas de seguridad de acuerdo al modelo seleccionado,
análisis estático minimizado a las funciones generadas diariamente.

Comprobación: Realizar una revisión en cada ciclo de la metodología, acentuando interés en el


proceso de desarrollo de código, con el objetivo de mantener los planes de comprobación lo más
adaptativo posible de acuerdo a cada sprint.

• Grupo Expandido: Uso de herramientas comprobadas, prohibir funciones no seguras,


análisis dinámico a los módulos desarrollados.
• Grupo Reducido: Pruebas internas de seguridad de acuerdo al modelo seleccionado,
análisis dinámico.

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Conclusiones.

La seguridad del software dejo de ser una opción, en la actualidad es una necesidad. Por lo tanto,
han ido surgiendo varias S-SDLC con el objetivo de reducir los riesgos de seguridad que presentaban
los sistemas, reducir el costo de desarrollo.

Cada una de las metodologías estudiadas presentan sus ventajas y desventajas, esta característica las
permite adaptarse de acuerdo al desarrollo de software, ambiente de la empresa, etc.

Existen metodologías que no se encuentran completas en este momento, sus autores han
mencionado que aun no alcanzan una madures, por lo tanto, es posible seleccionar una de ellas y
mejorarla aportando así a la comunidad.

EL uso de las S-SDLC pretende reducir al mínimo los riesgos que puede tener un software, reducir
costos de desarrollo, etc. Ejecutando análisis, pruebas, controles y monitoreo durante todo el ciclo
de desarrollo del software, mientras más involucrados se encuentren los procesos de seguridad en
cada una de las etapas del SDLC se obtendrá un software más seguro.

La propuesta del nuevo S-SDLC, pretende mejorar la adaptación de la misma con una metodología
de desarrollo ágil llamada SCRUM, agregando componentes de seguridad, agrupando acciones que
se llevaran acabo de acuerdo a cada script.

TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos:
Seguridad en el
05/04/2020
Software
Nombre:

Referencias

[1] Victor Figueroa, OWASP, «owasp org,» [En línea]. Available:


https://www.owasp.org/images/9/9d/OWASP-LATAMTour-Patagonia-2016-rvfigueroa.pdf.
[2 J. R. Bermejo Higuera, J. d. V. Mohino, J. Bermejo Higuera and J. A. Sicilia Montalvo, "The
] Application of a New Secure Software," electronics MDPI, 2019.
[3 Dan Graham, , "Introduction to the CLASP Process," [Online]. Available: https://www.us-
] cert.gov/bsi/articles/best-practices/requirements-engineering/introduction-to-the-clasp-
process.
[4 Noopur Davis , "Secure Software Development Life Cycle Processes," 2013. [Online]. Available:
] https://www.us-cert.gov/bsi/articles/knowledge/sdlc-process/secure-software-development-
life-cycle-processes#tsp.
[5 Oracle, "Importancia de la garantía de seguridad del software," [Online]. Available:
] https://www.oracle.com/es/corporate/security-practices/assurance/development/.
[6 D. Harris, "Oracle’s Journey Through Software Security Assurance," [Online]. Available:
] https://www.owasp.org/images/1/15/AppSecEU2012_Oracle.pdf.
[7 A. Sasse, "Integrating security and usability into the requirements and design process," [Online].
] Available:
https://www.researchgate.net/publication/228748337_Integrating_security_and_usability_int
o_the_requirements_and_design_process.
[8 K. M. Goertzel, T. Winograd, H. L. McKinley, L. Oh and M. Colon, "Software Security Assurance:
] A State-of-the-Art Report," p. 369, 2007.
[9 Onashoga, S.A; Sodiya, A. S. ; Ajayi, O. B. ;University of Agriculture, "Towards Building Secure
] Software Systems," [Online]. Available:
https://pdfs.semanticscholar.org/f54e/b780fb26d241be00e72fb259ae0ff5747723.pdf.
[1 Pravir Chandra, opensamm.org, "opensamm.org Software AssuranceMaturity Model," [Online].
0] Available: https://opensamm.org/downloads/SAMM-1.0-es_MX.pdf.

Fig. 1 Proceso del SDL, Fig. 1 fuente: UNIR, Seguridad del Software Javier Bermejo Higuera ......................... 3
Fig. 2 Filtros de eliminación de vulnerabilidades Fuente: https://www.us-
cert.gov/sites/default/files/bsi/Secure_SDLC_Processes-4.png ........................................................................... 4
Fig. 3 Oracle Software Security Assurance Fuente:
https://www.owasp.org/images/1/15/AppSecEU2012_Oracle.pdf ....................................................................... 4
Fig. 4 AEGIS diagrama de actividades .................................................................................................................... 5
Fig. 6 Modelo de proceso ........................................................................................................................................... 7
Fig. 7 Modelo Fuente: [10] ........................................................................................................................................ 8

TEMA 1 – Actividades

También podría gustarte