¿Qué modelo de ciclo de vida de desarrollo seguro elegir? [cerrado]

3

Vamos a asegurar nuestro ciclo de vida de desarrollo de software y hemos estado buscando un buen modelo para empezar. He encontrado 3 modelos principales (¿metodologías?) Que son:

  1. SDLC de Cigital (7 puntos de contacto)
  2. SDLC de Microsoft
  3. OpenSAMM SDLC
  4. BSSIM

No pude elegir a ninguno de ellos ya que no tengo idea de cuál es la mejor opción en comparación con la otra, necesito algunos profesionales que me guíen en base a su propia experiencia en los proyectos y nos ayuden a decidir mejor.
¿Cuáles son los pros y los contras de estos modelos?
Sería fantástico si alguien pudiera guiarnos de manera que la diferencia entre estos modelos pueda ser más clara. o si una suite algún tipo de proyectos mejor que los otros.
Vamos a asegurar el desarrollo de un proyecto de software para un instituto financiero, por lo que si esto impone algunas restricciones en el modelo que debemos elegir, guíenos como corresponde. Gracias de antemano

    
pregunta Breeze 09.03.2014 - 17:37
fuente

3 respuestas

5

Personalmente, encontré que OpenSAMM es un buen recurso, pero solo después de que tengas algo configurado. Es un modelo de madurez, que es básicamente una herramienta que se utiliza para determinar qué tan bien se hace algo. En otras palabras, se centra en las métricas y los informes. No me malinterpretes, creo que hay mucha información buena en ese documento, pero más de una fase 2.

No he leído Cigital, así que no puedo comentar sobre eso.

El MS SDLC es bastante simple de seguir. La mayor parte del documento nos pareció irrelevante, especialmente cuando se meten en cosas específicas para verificar el contenido de c / c ++ y los indicadores del compilador, pero los conceptos centrales eran buenos.

Lo que tendrá que hacer es tomar el SDLC y asignar las fases a lo que hace ahora. Una vez que tenga esa asignación, puede averiguar qué hace MS en cada fase y luego elegir un subconjunto de eso (o todo) para incluirlo en sus procesos.

Piense en el SDLC como la herramienta que utilizará para crear los documentos / procesos que seguirá el equipo de desarrollo. Entonces, por ejemplo, probablemente debería publicar una "guía de mejores prácticas de desarrollo" para los equipos de desarrollo (como parte de la capacitación de desarrollo, por ejemplo). Ya que ustedes están en la industria financiera, querrá que se incluyan cosas de PCI / SOX en ese documento. Para expandirse, el MS SDLC habla de tener capacitación para desarrolladores. Tendrá que adaptar eso a su equipo y objetivos. Por ejemplo, puede realizar mucha capacitación en c #, por lo que querrá incluir la capacitación en c # como parte de sus objetivos de capacitación.

La mayoría de estos modelos se reducirán a un par de componentes principales.

1) Construir seguridad en (en la etapa de requisitos) Asegúrese de que está viendo los documentos / estrategias correctos, y que los requisitos funcionales / no funcionales se centran en la seguridad desde el principio. Asegúrese de que sus objetivos estén alineados con los del cliente. Cree barras de errores, etc. Asegúrese de que la arquitectura admita soluciones de seguridad, criptografía segura, respuesta a incidentes, etc., etc.

2) tren, tren, tren Los desarrolladores necesitan capacitación. Se preforman mejor cuando saben qué hacer, y está en primer plano en su mente. Desarrolle un programa de capacitación que se centre en el desarrollo profesional a largo plazo, así como en la capacitación a corto plazo (según sea necesario).

3) Ofrezca un producto seguro siguiendo las mejores prácticas y luego valide Desarrolle de acuerdo con las mejores prácticas (elija un marco como el ASVS, el Top 10 de OWASP o una combinación), luego asegúrese de validar que lo ha hecho correctamente. Haz una prueba de pluma.

4) Soporte Asegúrese de crear los procesos correctos para respaldar su aplicación / cliente en el futuro.

Como nota al margen, si está buscando ayuda profesional, debería considerar pagarle a alguien para que lo ayude.

    
respondido por el CtrlDot 10.03.2014 - 16:58
fuente
1

OpenSAMM con objetivos establecidos para alcanzar ciertos niveles ASVS por proyecto. Luego, devuélvelo a la comunidad OWASP.

    
respondido por el atdre 09.03.2014 - 18:29
fuente
1

La idea detrás de las metodologías de desarrollo seguro es que usted piense y aborde los problemas de seguridad al principio del ciclo de vida del proyecto

Recomendaría usar CLASP (Proceso de seguridad de aplicaciones integral y ligero) para comenzar con su metodología de desarrollo actual.

    
respondido por el whoami 10.03.2014 - 13:33
fuente

Lea otras preguntas en las etiquetas