Personalmente, ho trovato OpenSAMM come una buona risorsa, ma solo dopo aver impostato qualcosa. È un modello di maturità, che è fondamentalmente uno strumento utilizzato per determinare quanto bene fai qualcosa. In altre parole, si concentra su metriche e rapporti. Non fraintendermi, penso che ci siano molte buone informazioni in quel documento, ma più di una fase 2.
Non ho letto Cigital, quindi non posso commentare questo.
L'MS SDLC è piuttosto semplice da seguire. Abbiamo trovato la maggior parte del documento irrilevante, specialmente quando sono entrati in elementi specifici per verificare la presenza di c / c ++ e di compilatori, ma i concetti chiave erano buoni.
Quello che devi fare è prendere l'SDLC e mappare le fasi su ciò che fai ora. Una volta ottenuta questa mappatura, puoi quindi capire cosa fa MS in ogni fase e quindi scegliere un sottoinsieme di quello (o di tutto ciò) da includere nei tuoi processi.
Pensa a SDLC come lo strumento che userai per creare i documenti / processi che il team di sviluppo seguirà. Quindi, ad esempio, dovresti pubblicare probabilmente una "guida allo sviluppo delle migliori pratiche" per i team di sviluppo (come parte dell'addestramento allo sviluppo, ad esempio). Dato che voi siete nel settore finanziario, vorrete includere materiale PCI / SOX in quel documento. Per espandersi, MS SDLC parla di avere una formazione per sviluppatori. Dovrai adeguarlo alla tua squadra e ai tuoi obiettivi. Ad esempio, potresti fare un sacco di addestramento c #, quindi dovrai includere l'allenamento c # come parte degli obiettivi di allenamento.
La maggior parte di questi modelli arriverà a un paio di componenti principali.
1) Costruisci sicurezza in (nella fase dei requisiti)
Assicurati di osservare i documenti / le strategie corretti e che i requisiti funzionali / non funzionali si concentrano sulla sicurezza fin dall'inizio. Assicurati che i tuoi obiettivi siano allineati a quelli del cliente. Crea bug, ecc. Assicurati che l'architettura supporti fail-safe, crypto strong, risposta agli incidenti, ecc. Ecc.
2) Treno, treno, treno
Gli sviluppatori hanno bisogno di formazione. Preformano meglio quando sanno cosa fare, ed è nella parte anteriore della loro mente. Sviluppare un programma di formazione incentrato sullo sviluppo professionale a lungo termine e sulla formazione a breve termine (se necessario)
3) Fornire un prodotto sicuro seguendo le migliori pratiche e quindi convalidare
Sviluppa secondo le migliori pratiche (scegli un framework come ASVS, OWASP Top 10 o una combinazione), quindi assicurati di convalidare di averlo fatto correttamente. Fai un test con la penna.
4) Supporto
Assicurati di costruire nei processi giusti per supportare la tua applicazione / cliente in futuro.
Come nota a margine, se stai cercando un aiuto professionale, dovresti prendere in considerazione la possibilità di pagare per far entrare qualcuno e aiutarti.