Está en la página 1de 8

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.

 Introducción a los S-SDLC

La mayoría de las vulnerabilidades de software se pueden solucionar en la fase de desarrollo de los


procesos de desarrollo de aplicaciones por ello es importante tener en cuenta un desarrollo de
software seguro ya que es de alta importancia en las compañías, debido a que hoy en día casi todas
las empresas dependen altamente de sus aplicaciones como parte integral de la operación normal.
Por lo anterior es necesario implementar efectivamente metodologías de desarrollo seguro que se
puedan aplicar en cada fase del ciclo de vida de tal manera que la seguridad esté presente desde el
inicio del proceso de desarrollo. Hace tiempo la Ingeniería de Software y la Ingeniería de Seguridad
se venían desarrollando de forma independiente, lo que ocasionaba que la seguridad fuese

TEMA 1 – Actividades
considerada como parte del proceso de desarrollo de software seguro, ocasionando inconsistencias
en los procesos, cosa contraria a lo que se hace hoy en día.

El Secure Software Development Life Cycle es un


conjunto de principios de diseño y buenas
prácticas a implantar, para detectar, prevenir y
corregir los defectos de seguridad en el desarrollo
y adquisición de aplicaciones, de forma que se
obtenga software de confianza y robusto frente a
taques maliciosos, que realice solo las funciones
para las que fue diseñado, que esté libre de
vulnerabilidades, ya sean intencionalmente diseñadas o accidentalmente insertadas durante su
ciclo de vida y se asegure su integridad, disponibilidad y confidencialidad.

 Diferentes tipos de S-SDLC


o Microsoft Trustworthy Computing SDL

Esquema del S-SDL


Es el más popular y utilizado por las empresas que quieren mantener y realizar software
seguro. Es una iniciativa por parte de Microsoft y una directiva obligatoria desde el año
2004. En este ciclo de vida se llevan a cabo diversas tareas tales como:
 Es que los desarrolladores en seguridad creen software o aplicación que puedan
combatir o prevenir las amenazas a las que puedan estar expuestas.
 Cada tarea de seguridad se debe establecer los requisitos de seguridad para el
proyecto, para poder llevar a cabo es necesario que un asesor de seguridad forme
parte en los puntos a establecer.
 En las tareas de seguridad en las actividades de diseño, es necesario que se
establezcan aquellas necesidades que se quedarán definidas para la seguridad.
 En las tareas de seguridad en las actividades de implementación, aquí se deberán
establecer los estándares de desarrollo y prueba del proyecto. Por lo que se hace una
revisión al código para detectar fallas de seguridad.

TEMA 1 – Actividades
 En las tareas de seguridad para las pruebas de verificación y validación, en este
punto se hace una revisión de código desde el punto de vista de la seguridad y
pruebas centradas en la seguridad del software.
 Y por último se realiza un plan de incidentes al final el proyecto.
o McGraw’s
En este ciclo de vida se establecen 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.
 Test de intrusión es la parte donde se libera el proyecto para descubrir y encontrar
fallas en la seguridad. Esta prioridad se le conoce como la fase de testing.
 Test de caja negra basados en riesgos es la parte donde se lleva a cabo la prueba
funcional para validar si el componente del software cumple o no con sus
especificaciones. Esta prioridad se le conoce como la fase de testing.
 Casos de abuso o fuzzing es la parte donde se realizan pruebas automáticas donde se
proveen datos al azar, inválidos y no esperados en las entradas de datos del
software. Esta prioridad se le conoce como la fase de testing.
 Requisitos de seguridad por parte de los desarrolladores donde se comprueban que
las funcionales se llevaron a cabo según lo destinado al software. Esta prioridad se le
conoce como la fase de requisitos y análisis.
 Operaciones de seguridad.

TEMA 1 – Actividades
Esquema del McGraw´s
o Writing Secure Code
Este modelo se divide en etapas 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.
 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.

Esquema del Writing Secure Code

o Oracle Software Security Assurance


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.
 Manejo de vulnerabilidades, se realiza en las fases de diseño, implementación y
testing.
 Eliminación de vulnerabilidad a través de actualizaciones críticas, se lleva a cabo
durante todo el proceso, pero sobretodo en su parte final (puesta en marcha y
testing).

TEMA 1 – Actividades
 Buenas prácticas y compartición de éstas en seguridad y codificación segura, se dan
a los desarrolladores en la fase de requisitos y diseño.
 Gestión de la configuración de seguridad y herramientas de validación y
verificación, se prepara al comenzar el proyecto y cubre, fase de requisitos, diseño,
implementación y testing.
 Comunicación de fallos de seguridad, es la respuesta que pone la empresa a los
usuarios, es un plan de respuesta ante incidentes cuando la aplicación se libera.

Esquema del Oracle Software Security Assurance

o 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). Los objetivos de TSP-Secure son:
 Ser capaces de detectar los fallos de seguridad en la generación de código (esto es
aplicable al resto de S-SDLC estudiados en la asignatura).
 Ser capaces de responder rápidamente ante la inserción de nuevas amenazas en el
código y promover la utilización de prácticas de seguridad para el desarrollo.
TSP-Secure, debe basarse durante la fase de requisitos de mínimo una norma de
codificación segura. Miembros del equipo aplican pruebas de conformidad, en temas de
seguridad de la aplicación, como parte del propio proceso de desarrollo, esto se va
realizando en cada fase del SDLC, con el fin de verificar que el código es seguro. También
dispone de planificación, procesamiento, calidad, medición y seguimiento de los marcos de
TSP.

TEMA 1 – Actividades
Esquema del TSP-Secure

 Comparación de los diferentes S-SDLC, cubriendo al menos las siguientes características:


INGENIERÍA DE PRUEBAS Y
S-SDLC DISEÑO IMPLEMENTACIÓN EMPRESA METODOLOGÍA
REQUISITOS VERIFICACIÓN
Define proyecto Permite valorar y Permite establecer Realiza pruebas Microsoft Tradicional
Define
analizar las medidas de para poder
Limitaciones.
Especifica seguridades para seguridad que encontrar las
requisitos.
poder encontrar ayuda a mejorar la vulnerabilidades
Microsoft
vulnerabilidades calidad de las que este
TrustWorthy
y poder pruebas. causando fallas.
Computing
establecer un Ejecuta un
SDL
plan para feedback para
combatir los hacer
riesgos modificaciones.
encontrados.
Define análisis de Aplica análisis de Aplica revisiones al Ejecuta pruebas GaryMCgraw y Tradicional
riesgo. amenazas, código. de penetración. Cigital
Requisitos de técnicas de Análisis de
seguridad modelado bajo riesgo. Test de
estándares de intrusión. Caja
McGraw´s
seguridad que negra. Fuzzing.
permiten revisar Requisitos de
la fase de diseño. seguridad.
Evaluación de
seguridad.
Oracle Promueve el Tiene su propia Aplica un análisis Aplica un análisis Oracle Tradicional

Software desarrollo seguro, normativa de dinámico, durante dinámico,


define metodologías seguridad para las fases finales del durante las fases
Security
consistentes identificar software, dirigida a finales del
Assurance
validadas a cada vulnerabilidades, API’s e interfaces software, dirigida
una de las validación de por medio de a API’s e
organizaciones datos y técnicas de fuzzing. interfaces por
haciendo un previo administración medio de

TEMA 1 – Actividades
estudio de de usuarios técnicas de
factibilidad fuzzing.
Valora Ejecuta revisión Aplica soluciones Ejecuta pruebas Microsoft Tradicional
conocimientos. final de de seguridad, de
Específica roles de seguridad. basándose en vulnerabilidades.
Writing
seguridad dentro Determina estándares
Secure
del grupo. criterios de respectivos
Code seguridad finales.
Aplica análisis de
amenazas.
Promueve Proporciona un Emplea niveles de Establece Software Tradicional
desarrollo de marco de trabajo adaptabilidad para procesos de Engineer
software bajo el cual facilita el cada una de sus desarrollo Institute
estándares de diseño y métodos fases aplicando usando
seguridad. organizados con estándares de estrategias de
TSP-Secure la idea de generar seguridad adaptación que
software de permiten el
calidad. acoplamiento al
lenguaje de
programación y
software final.

 Propuesta de S-SDLC
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 primer lugar, y tras definir los roles de los participantes en el proyecto, todos deben asistir a
la formación en seguridad por parte de expertos en la materia. Siempre habrá una figura
de security manager que 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. El security manager realizará en paralelo con el project manager un seguimiento del
proyecto.

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.

Se realizarán pruebas de pentesting sobre las aplicaciones en 3 fases, después de implementar, en


la de verificación y antes de liberar se pasará una nueva prueba de intrusión. Todo esto debe ser

TEMA 1 – Actividades
guiado por Q&A dónde se integrará un proceso de seguridad, dónde se encuentre la figura del
Security Manager, y disponga de un equipo con él para llevar a cabo todo lo necesario en el
proyecto.

 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 que estamos
creando; ya que de esto dependerá que modelos podemos tomar como referencia para nuestro
proyecto.

 Bibliográfia

Slideplayer.com. (2019). A Scalable Secure Development Program - ppt video online download.
https://slideplayer.com/slide/2353824/

Slideplayer.com. (2019). IS 2620: Developing Secure Systems - ppt download.


https://slideplayer.com/slide/5777243/

Development life cycle (2019). https://www.researchgate.net/figure/security-activities-for-each-


phase-in-the-software-development-life-cycle_tbl1_321886359

Ciclo de vida del software seguro S-SDLC (2019). https://betabeers.com/blog/ciclos-vida-del-


software-seguro-s-sdlc-346/

Modelos de desarrollo seguro de software (2019).


http://web.fdi.ucm.es/posgrado/conferencias/AndresCaroLindo-slides.

TEMA 1 – Actividades

También podría gustarte