Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comparacion de Ciclos de Vida de Desarrollo Software
Comparacion de Ciclos de Vida de Desarrollo Software
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
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.
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.
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.
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
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.
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/
TEMA 1 – Actividades