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.