Esplora l’automazione dello strumento di sicurezza SDL

Completato

Per supportare gli sviluppatori nell'implementazione dei requisiti di sicurezza durante lo sviluppo del codice e dopo il rilascio, Microsoft offre una suite di strumenti di sviluppo sicuri per controllare automaticamente il codice sorgente e rilevare eventuali difetti e vulnerabilità della sicurezza. Microsoft definisce e pubblica un elenco di strumenti approvati che gli sviluppatori possono usare, ad esempio compilatori e ambienti di sviluppo, ma anche controlli di sicurezza predefiniti. I nostri sviluppatori usano le versioni più recenti degli strumenti approvati per sfruttare le nuove funzionalità di sicurezza.

Oltre a fornire strumenti di sviluppo sicuri, Microsoft implementa e applica i requisiti di analisi del codice SDL usando strumenti di sicurezza automatizzati. Molti di questi strumenti sono integrati nella pipeline di commit e analizzano automaticamente il codice alla ricerca di difetti di sicurezza durante l'archiviazione e quando vengono compilate e testate nuove compilazioni. I problemi rilevati dagli strumenti di sicurezza automatizzati devono essere risolti prima che le nuove build possano superare la revisione della sicurezza ed essere approvate per il rilascio.

Gli strumenti di sicurezza automatizzati rientrano in diverse categorie generali per il test del codice in diverse fasi di sviluppo, da quando viene eseguito il commit del time code a quando questo viene rilasciato per il funzionamento negli ambienti di produzione. La tabella seguente riepiloga i tipi di strumenti usati da Microsoft per l'analisi del codice SDL.

Strumento di sicurezza Descrizione
Analisi del codice statico Analizza il codice sorgente per rilevare potenziali difetti di sicurezza, inclusa la presenza di credenziali nel codice.
Analisi binaria Valuta le vulnerabilità a livello di codice binario per verificare che il codice sia pronto per la produzione.
Analisi della crittografia Convalida le best practice per la crittografia nel codice sorgente e nell'esecuzione del codice.
Convalida della configurazione Analizza la configurazione dei sistemi di produzione rispetto agli standard di sicurezza e alle best practice.

Analisi statica del codice e analisi binaria

L'analisi del codice sorgente prima della compilazione fornisce un metodo altamente scalabile di revisione del codice di sicurezza e consente di garantire che vengano seguiti criteri di codifica sicuri. Gli strumenti di analisi del codice statico, analizzano il codice sorgente per individuare vulnerabilità comuni, difetti di sicurezza come funzioni non sicure e credenziali e altri segreti incorporati nel codice sorgente. I difetti individuati da questi strumenti sono contrassegnati come bug che gli sviluppatori possono correggere.

La maggior parte degli strumenti di analisi del codice statico è integrata nella pipeline di commit per identificare le vulnerabilità ogni volta che viene compilato il software e impedire l'archiviazione di codice non sicuro. Microsoft integra anche gli strumenti statici di analisi del codice nell'ambiente di sviluppo per individuare alcuni difetti, ad esempio la presenza di funzioni non sicure, e sostituire il codice non sicuro con alternative più sicure mentre lo sviluppatore sta codificando attivamente.

Oltre all'analisi statica del codice sorgente, vengono usati strumenti automatizzati per analizzare il codice compilato alla ricerca di difetti di sicurezza a livello binario, ad esempio le impostazioni del compilatore/linker e altre caratteristiche binarie rilevanti per la sicurezza. Gli strumenti di analisi binaria vengono eseguiti in ogni build per rilevare i difetti di sicurezza a livello binario e contrassegnarli per la correzione prima del rilascio di una build.

Analisi della crittografia

Microsoft si impegna a garantire che tutti i dati, incluse le informazioni sensibili di sicurezza e i dati di gestione e controllo, siano protetti da divulgazione o modifica imprevista quando vengono trasmessi o archiviati tramite crittografia avanzata. SDL limita gli sviluppatori a moduli di crittografia approvati che implementano la crittografia in modo affidabile e sicuro. Per applicare questo criterio, gli strumenti analizzano e convalidano le implementazioni di crittografia nel codice sorgente e durante l'esecuzione del codice. L'uso non sicuro della crittografia viene contrassegnato per la correzione e convalidato durante la verifica della sicurezza.

Convalida della configurazione

In Microsoft, i team operativi sono integrati con i team di sviluppo usando il modello DevOps. Come parte di DevOps, continuiamo a convalidare il funzionamento sicuro del codice dopo che è stata rilasciata una build negli ambienti di produzione. I team operativi usano elenchi di controllo per distribuzione sicura, analisi della configurazione di base, analisi delle vulnerabilità e sistemi di rilevamento delle intrusioni basati su host per garantire che il software sia configurato e gestito in base alle best practice per la sicurezza. I difetti di configurazione rilevati dai team operativi vengono contrassegnati per la correzione, mentre eventuali bug individuati dal team operativo vengono assegnati al team di sviluppo appropriato da correggere a livello di codice. Integrando la sicurezza operativa nei requisiti SDL, Microsoft contribuisce a garantire la sicurezza continua dei prodotti e dei servizi anche dopo il rilascio.

Ulteriori informazioni