Uno dei programmi di maggiore successo nato dall'iniziativa Trustworthy computing di Microsoft è sicuramente il Security Development Lifecycle (SDL), il rigoroso processo di programmazione sicura che interessa i principali e più esposti software Microsoft.
Da quando nel 2004 il processo è divenuto obbligatorio, le applicazioni e i sistemi operativi di Redmond hanno subito una forte riduzione delle vulnerabilità: Windows Vista, nel primo anno dopo il suo rilascio ufficiale ha visto ridurre del 45 per cento il numero di vulnerabilità scoperte e corrette rispetto a Windows XP (66 contro 119), mentre per un prodotto critico nelle applicazioni Web come Sql Server, la riduzione dei bug di sicurezza è stato di ben 91 per cento (3 vulnerabilità per Sql Server 2005 contro 34 di Sql Server 2000 nei primi 36 mesi dopo il rilascio). Sql Server 2005, fino alla scorsa estate, era addirittura del tutto esente da problemi di sicurezza.
Il programma SDL si è arricchito da ieri di alcuni nuovi elementi, indirizzati principalmente ai programmatori che sviluppano su piattaforma Microsoft, ma che possono essere d'esempio e di aiuto anche a chi sviluppa per diversi sistemi e piattaforme. L'azienda ha infatti rilasciato il Microsoft SDL Process Template, un modello di programmazione gratuito che può essere utilizzato all'interno della versione Team System di Visual Studio e che guida il programmatore in tutti i passaggi di sviluppo sicuro di software. Inoltre Microsoft ha rilasciato, sempre gratuitamente e in inglese, anche la documentazione della versione 4.1 dell'SDL: un documento in cui vengono analizzati in dettaglio tutti i passaggi previsti dal processo.
L'SDL Process Template si integra direttamente nell'ambiente di lavoro e di programmazione e mostra le singole richieste come "work items", familiari a chi utilizza Visual Studio Team Edition. Oltre a gestire le varie policy richieste dal programma, offre un'esaustiva documentazione e un modello per la gestione dei bug di sicurezza. Attraverso l'SDL Template è possibile pianificare e seguire, assieme all'intero gruppo occupato nel progetto, un piano dettagliato di sicurezza per il programma che si sta sviluppando in modo da prevenire gli errori di sicurezza.
L'SDL Process Template è la faccia operativa del Security Development Lifecycle che ha raggiunto in questi giorni la versione pubblica 4.1. Il processo si snoda lungo 5 fasi: analisi dei requisiti (Requirements), pianificazione delle operazioni (Design), sviluppo (Implementation), verifica (Verification) e rilascio (Release). Ognuna di queste fasi, precedute da una fase di formazione e seguite da una di supporto, prevede sotto-fasi specifiche che Microsoft ha formalizzato in buone pratiche. In pratica si tratta di istruzioni in cui vengono specificate anche le azioni permesse, quelle raccomandate, i requisiti per una migliore integrazione con i prodotti Microsoft e così via.
Come complemento dell'SDL Template, e come documentazione generale indirizzata agli sviluppatori che non utilizzano Visual Studio, Microsoft ha inoltre messo a disposizione da ieri la versione 4.1 della documentazione del Security Development Lifecycle. In questa versione sono state aggiunte decine di nuove raccomandazioni ed è stato allargato il supporto ai servizio online.
Con quest'iniziativa Microsoft spera di aumentare la consapevolezza dei programmatori nello sviluppo sicuro di applicazioni, soprattutto per quelle dei suoi sistemi operativi. Negli ultimi dieci anni, fanno notare da Redmond, il numero di vulnerabilità scoperte per i sistemi operativi è costantemente diminuita in favore delle vulnerabilità emerse all'interno di applicazioni. Mantenere sicuro Windows, in altre parole, potrebbe non essere più sufficiente a garantire l'incolumità dei dati degli utenti quando ad aprire brecce nei Pc ci pensano le applicazioni installate.