Software
Software
Software
Actividades
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
El S-SDLC, Secure Systems Development Life Cycle, son unas técnicas de desarrollo
que permiten crear un software de calidad desde que empezamos el proyecto, al que se
le ha añadido una capa de seguridad, Esta capa de seguridad debe cumplir al menos los
principios de confidencialidad, integridad y disponibilidad para considerar que son
seguros. Al tratarse de un ciclo conlleva a que tenga iteraciones que deben de ejecutarse
durante todo el periodo de vida de las aplicaciones.
Uno de los modelos de ciclos de vida más popular y usados por desarrolladores de
software es Microsoft Trustworthy Computing SDL que es una metodología propuesta
por parte de Microsoft y una directiva obligatoria desde el año 2004. El proceso SDL
combina un enfoque holístico y práctico para reducir el número y la severidad de las
vulnerabilidades de los productos y servicios de Microsoft, limitando de esta manera las
oportunidades para que los atacantes pongan en riesgo los equipos. Microsoft comparte
libremente el proceso SDL con las organizaciones de desarrollo de los clientes y la
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
industria del software, donde se lo ha usado para desarrollar software más seguro.
(recibe.cucei, 2013)
El ciclo de vida de software propuesto por McGraw, establece prioridades para saber
que se debe proteger primero en las tareas de seguridad. A continuación, se exponen las
prioridades de las tareas de seguridad:
Revisión de código se trata de llevar a cabo un análisis de código estático, el cual
debe ser programado con los conocimientos necesarios de seguridad y buenas
técnicas de programados. Esta prioridad se le conoce como la fase de
implementación.
Análisis de riesgo es la parte que se ejecuta en tres fases y es de vital
importancia para la toma de decisiones del proceso durante el proyecto. Esta
prioridad se le conoce como la fase de requisitos, análisis, diseño y testing.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
Este modelo se tienen 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.
Las distintas fases las vamos describiendo a continuación:
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.
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. (flu-project, 2014)
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
Este S-SDLC está compuesto de un número de actividades que se incluyen en las fases
conocidas de un SDLC para garantizar la seguridad del software de la empresa Oracle.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
TSP-Secure
Modelo de ciclo de vida seguro TSP, Team Software Process, tiene como objetivo
conseguir un desarrollo de aplicaciones seguras mediante la intervención en el proceso
de la guía ofrecida por CERT. Además, también es conseguir que las organizaciones
puedan mejorar su manera de construir software seguro o de calidad, y que éste sea
compatible con el CMMI (Capability Maturity Model Integration). Los objetivos de
TSP-Secure son:
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
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. La vista de
vulnerabilidades es la encargada de clasificar los tipos de fallos de seguridad que se
puedan encontrar en el software.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
INGENIERÍA PRUEBAS Y
DE DISEÑO IMPLEMENTACIÓN VERIFICACIÓN EMPRESA METODOLOGÍA
REQUISITOS
S-SDLC
Permite valorar y
analizar la seguridad,
Define
para detectar Permite establecer Realiza pruebas para
proyecto
vulnerabilidades y medidas de poder encontrar las
Define
establecer un plan seguridad que ayuda vulnerabilidades que
Limitaciones.
Microsoft para combatir los a mejorar la calidad este causando fallas. Microsoft Tradicional
Especifica
riesgos encontrados. de las pruebas. Además se ejecuta un
TrustWorthy requisitos.
feedback para hacer
Computing SDL modificaciones y
mejoras.
Promueve el
desarrollo Tiene su propia Aplica un análisis Aplica un análisis
Oracle
seguro, define normativa de dinámico, durante dinámico, durante las
Software
metodologías seguridad para las fases finales del fases finales del
Oracle Tradicional
Security consistentes identificar software, dirigida a software, dirigida a API’s
Assurance validadas a vulnerabilidades, API’s e interfaces e interfaces por medio
cada una de validación de datos y por medio de de técnicas de fuzzing.
las administración de técnicas de fuzzing.
organizacione usuarios
s haciendo un
previo estudio
de factibilidad
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
Propuesta de S-SDLC
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
Desde mi punto de vista y por lo que he podido revisar de los diferentes modelos de
seguridad en el desarrollo, pienso que la gran experiencia que tienen las empresas
como Microsoft, Oracle les ha dado la capacidad de ir mejorando el software que
proporcionan aplicando metodologías que puedan de alguna manera proteger la
información y disminuir las vulnerabilidades.
En todas las fases del SDLC se realizará una review de estado, es decir, desde la fase de
requisitos hasta la liberación se realizará una revisión de seguridad de todo lo que se
tenga hasta ese instante. Además, se extiende el modelado de amenazas a cada una de
las siguientes fases (requisitos, diseño e implementación). De este modo será
incremental, y las amenazas pueden ir saliendo en cada fase poco a poco.
Conclusiones
Con el siguiente trabajo pude concluir que la seguridad en el desarrollo de software es
de vital importancia ya que lo que se necesita es tener un producto final que cumpla
con las necesidades del usuario final y le brinde la mayor seguridad a sus datos. Las
diferentes metodologías que existen y nos presentan las empresas dedicadas al
desarrollo nos pueden servir como guía para la realización de pruebas de seguridad y
vulnerabilidad pero hay que tener en claro que no existe algo fijo en el tema de
desarrollo de Software ya que yo por mi parte lo considero un arte de crear y por lo
tanto no lleva un patrón fijo que no pueda cambiar ; al contrario es tan flexible que nos
permite adaptar cada sugerencia o etapa de algunos de los modelos al tipo de software
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Seguridad en el Apellidos: Cabrera Aguilar
22-03-2020
Software Nombre: Alexis Paul
que estamos creando; ya que de esto dependerá que modelos podemos tomar como
referencia para nuestro proyecto.
TEMA 1 – Actividades