SOFTWARE SEGURO
Enviado por clubensayos2014x • 28 de Septiembre de 2014 • 2.174 Palabras (9 Páginas) • 934 Visitas
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.
El SDLC, o Systems Development Life Cycle, son las tareas básicas que permiten desarrollar software de calidad desde el primer instante del propio proyecto. Es interesante que le sumemos a las técnicas o procesos clásicos de desarrollo una capa de seguridad desde el comienzo de los proyectos. Las propiedades que debe cumplir un proceso de estos sería al menos contemplar los servicios de seguridad como confidencialidad, integridad y disponibilidad.
El ciclo es totalmente continuo y deberá disponer de iteraciones que deben ser ejecutadas durante la vida del propio software. Obtener un 100% de seguridad es imposible, pero estamos poniendo los cimientos para reducir notablemente el número de vulnerabilidades que se pueden colar en un proceso como éste.
Descripción resumida de los diferentes tipos de S-SDLC.
Microsoft Trustworthy Computing SDL
Este ciclo de vida es bastante popular y muy utilizado por las empresas que requieren realizar software seguro.En la siguiente imagen se puede visualizar el esquema del S-SDLC:
Desarrollo de Software Ciclo de Vida (SDLC). Ciclo de vida de desarrollo de software es un proceso gradual seguido en el desarrollo de software. También se conoce como el ciclo de vida del software. Cuanto antes, sobre todo en el proceso creador. Hoy en día, SDLC participan equipos de expertos en diversos campos tales como analistas, evaluadores, arquitectos, programadores y usuarios finales aún. Ciclo de desarrollo de software es importante, ya que proporciona un plan para reunir a diversos aspectos del desarrollo de software. Sin estos dos muere o se trata de ejercer en contra de las normas establecidas o que se espera.
Las tareas que se llevan a cabo son las siguientes:
• En primer lugar se debe formar a los desarrolladores en seguridad para que todos los componentes se desarrollen conociendo las amenazas.
• Las tareas de seguridad en las actividades de requisitos son: establecer que requisitos de seguridad existen en el proyecto, para ello puede necesitarse la participación de un asesor de seguridad en la implementación del SDL. Se utilizará la figura del asesor como guía a través de los procedimientos del SDL. En este punto cada equipo de desarrollo debe tener en cuenta como requisitos las características de seguridad para cada fase. Algunos requisitos pueden aparecer a posteriori, por ejemplo cuando se realice el modelo de amenazas.
• Las tareas de seguridad en las actividades de diseño son: los requisitos de diseño con sus necesidades de seguridad quedarán definidos. Se realizará documentación sobre los elementos que se encuentren en la superficie de un ataque al software, y por último, se realizará un modelo de amenazas, dónde pueden descubrirse nuevos requisitos de seguridad.
• Las tareas de seguridad en las actividades de implementación son: aplicación de los estándares de desarrollo y de pruebas. Posteriormente se aplicará software que compruebe la seguridad. Además, se realizarán pruebas de code review.
• Las tareas de seguridad en las pruebas de verificación y validación son: análisis dinámico sobre la aplicación, revisiones de código desde el punto de vista de la seguridad y pruebas centradas en la seguridad del software.
• Se necesita generar un plan de incidentes al final del proceso, una revisión final de toda la seguridad del proceso y crear un plan ejecutivo de respuesta ante incidentes, dónde se obtendrá un feedback de todo lo que ocurre en la liberación del 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. A continuación se exponen las tareas por orden de prioridad:
• 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.
• Análisis externo, no obligatorio. Durante todas las fases.
CLASP
Comprehensive LIghtweight Application Security Process, de OWASP. 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 vistas, de las cuales dispone de cinco. A continuación se enumeran las distintas 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
...