Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
CLASP
Comprehensive Lightweight Application Security Process.
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
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 cinco 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.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
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.
McGraw's
Propone unas prioridades para las tareas de seguridad y de este modo saber qué cosas
tenemos que proteger primero o tener en cuenta, las cuales se proponen en orden:
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.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
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.
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
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
TSP-Secure
TSP extiende lo que plantea el TSP, Team Software Process, el objetivo es conseguir un
desarrollo de aplicaciones seguras mediante la intervención en el proceso de la guía
ofrecida por CERT. Otro objetivo 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).
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
de riesgos y feedback y
ejecuta un plan ejecuta
de reducción de modificaciones
los mismos.
Aplica análisis OWASP Tradicional
de amenazas,
Define Ejecuta
técnicas de
parámetros de evaluación de
modelado bajo Aplica revisiones al
CLASP Seguridad. seguridad por
estándares de código.
Estudio de medio de test de
seguridad que
amenazas. penetración. .
permiten revisar
la fase de diseño.
Aplica análisis Ejecuta pruebas GaryMCgraw Tradicional
de de penetración. y Cigital
amenazas, Análisis de
técnicas de riesgo. Test
Define análisis de
modelado bajo de intrusión.
Riesgo. Aplica revisiones al
McGraw’s estándares de Caja negra.
Requisitos de código.
seguridad que Fuzzing.
Seguridad.
permiten revisar Requisitos de
la seguridad.
fase de diseño. Evaluación de
seguridad.
Promueve el Oracle Tradicional
desarrollo seguro, Tiene su propia Aplica un análisis
define normativa de Aplica un análisis dinámico,
metodologías seguridad para dinámico, durante las durante las fases
Oracle
consistentes identificar fases finales del finales del
Software
validadas a cada vulnerabilidades, software, dirigida a software, dirigida
Security
una de las validación de API’s e interfaces por a API’s e
Assurance
organizaciones datos y medio de técnicas de interfaces por
haciendo un administración fuzzing. medio de técnicas
previo estudio de de usuarios. de fuzzing.
factibilidad
Ejecuta revisión Tradicional
final de
Valora
seguridad.
conocimientos. Aplica soluciones de
Writing Determina Ejecuta pruebas
Específica roles seguridad, basándose
Secure criterios de de
de seguridad en estándares
Code seguridad vulnerabilidades.
dentro del respectivos
finales. Aplica
grupo.
análisis de
amenazas.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
Determinar que todos deben tener parte en la formación de seguridad por parte de
personas que tengan las competencias pertinentes al tema.
Debe haber en la mayoría de los casos una persona o integrante del grupo que cumpla
las labores pertinentes de asegurar el producto final y su paso por las diferentes
fases, el objetivo es tomar la decisión final sobre las posibles incidencias en temas de
seguridad en el proyecto. Esta figura debe ser alguien experto en la materia y con la
suficiente experiencia. Denominado como Security Manager realizará en paralelo con el
Project Manager un seguimiento del proyecto.
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
En todas las fases del SDLC se realizará una feedback, 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 el momento.
Se realizarán pruebas de pentesting sobre las aplicaciones en 3 fases:
Después de implementar la fase.
Durante la de verificación de las fases.
Antes de liberar el producto, en su totalidad.
Finalmente se debe cumplir con una prueba de intrusión. Todo esto debe ser guiado por
los ingenieros arquitectos o diseñadores del software dónde se integrará un proceso de
seguridad. Además se pueden aplicar técnicas de Fuzzing esta técnica de prueba de
software genera y envía datos secuenciales o aleatorios a una aplicación, con el objeto
de detectar defectos o vulnerabilidades existentes. Con esta técnica se consigue ver las
excepciones que devuelven nuestro equipo y posibles problemas no contemplados. Por
ejemplo con esta técnica se detectan algunos stackoverflow o la reacción de nuestro
programa al recibir campos incorrectos como por ejemplo un float en vez de un integer.
Conclusiones.
Bibliografía:
http://repository.libertadores.edu.co/bitstream/handle/11371/736/TrujilloSilvaDi
anaMarcela.pdf?sequence=2&isAllowed=y
https://www.owasp.org/images/9/9d/OWASP-LATAMTour-Patagonia-2016-
rvfigueroa.pdf
TEMA 1 – Actividades
Asignatura Datos del alumno Fecha
Apellidos: Zúñiga Suárez
Seguridad en el
2018-03-29
Software
Nombre: María José
http://www.flu-project.com/2014/05/ciclos-de-vida-del-software-seguros-
s_19.html
http://web.fdi.ucm.es/posgrado/conferencias/AndresCaroLindo-slides.pdf
http://www.oracle.com/us/support/library/software-security-assurance-
2293569.pdf
TEMA 1 – Actividades