L'approccio di Microsoft alla sicurezza nello sviluppo del software

di Feliciano Intini (Chief Security Advisor, Microsoft Italia) - Nel dibattito sullo studio Fortify sulla sicurezza del software e l'open source interviene anche Microsoft Italia, in un commento ospitato su Punto Informatico

Roma - La lettura del commento di Alessandro Bottoni al recente studio pubblicato da Fortify (Open Source Security Study) mi ha dato la possibilità di fare un incredibile salto indietro nel tempo, e di rivivere, non senza un pizzico di nostalgia, un periodo cruciale per l'evoluzione dell'approccio di Microsoft nei confronti del tema sicurezza. Certo, non stiamo parlando di decenni, ma si sa, nel mondo dell'informatica sei anni sono quasi un'eternità. Č proprio del gennaio 2002 l'avvio dell'iniziativa Trustworthy Computing (TwC): l'esperienza maturata nella gestione delle infezioni di malware già citate (Code Red - Agosto 2001, Nimda - Settembre 2001) fa maturare in Microsoft un cambio di rotta, netto e deciso, nella gestione dello sviluppo del proprio software. Si riconosce la necessità e l'urgenza di far diventare la Sicurezza e la Privacy elementi imprescindibili all'interno di tutto il ciclo di sviluppo del software, in un periodo storico in cui questi temi erano di fatto seriamente considerati solo da pochi e circoscritti ambiti (militare, governativo, bancario): da questa rielaborazione di esperienze interne e di adozione delle migliori security best practice nasce il Microsoft Security Development Lifecycle (SDL), un profondo rinnovamento della modalità con cui Microsoft concepisce, progetta, sviluppa e verifica la qualità dei propri prodotti e servizi, un processo ampiamente documentato in modo da essere liberamente adottabile e riutilizzabile da chiunque intenda ottimizzare lo sviluppo di codice dal punto di vista degli aspetti di sicurezza.

L'effetto sui propri processi interni fu dirompente: per l'intero febbraio 2002 la produzione di tutte le linee software venne interrotta per permettere a circa 8000 programmatori di seguire obbligatoriamente un aggiornamento della propria formazione tecnica sulle più recenti modalità di attacco e sulle best practice di scrittura di codice sicuro, il cosiddetto "Microsoft Security Push".

La storia di questi anni ha già avuto modo di confermare la validità di quella svolta e dell'impegno investito su questo tema, sia dal punto di vista quantitativo che qualitativo. Le statistiche che mostrano una evidente riduzione delle vulnerabilità, sia nel confronto interno di versione in versione che nel confronto competitivo, sono davvero significative. L'apprezzamento del mercato per la validità e l'efficacia del processo SDL è diventato unanime:
"... we actually consider Microsoft to be leading the software (industry) now in improvements in their security development life cycle..." - John Pescatore, Gartner, Inc. "Is Windows Safer?" CRN, February 10, 2006
"Microsoft's Trustworthy Computing initiative is perhaps the most advanced and comprehensive application security program in the industry." - Chenxi Wang, Forrester Research, Inc. "Managing Application Security From Beginning To End", August 14, 2007
Tenendo in debito conto l'attuale scenario di rischio che vede una chiara prevalenza di attacchi diretti al livello applicativo (Gartner riporta che è tale il 75% degli attacchi) è sinceramente ineludibile la necessità di rivedere e aggiornare le proprie modalità di sviluppo del software. Non è forse questo il senso della ricerca Fortify? Essa di fatto ribadisce l'importanza di affrontare il tema della sicurezza nel suo approccio olistico (persone, processi e tecnologie) e in particolare di non trascurare l'accesso alla Security Expertise, l'adozione di un Secure Development Process, e l'uso di strumenti per l'identificazione di vulnerabilità: sono aspetti da cui qualcuno può sentirsi esentato?

Sarebbe quindi auspicabile riconoscere la validità delle considerazioni conclusive che appaiono essere il giusto pungolo a non dare per scontato che ci siano davvero software intrinsecamente sicuri: nessun sistema è invulnerabile, e il mancato utilizzo delle security best practice di cui detto aumenta esponenzialmente nel tempo il rischio di essere facilmente oggetto di attacchi in grado di andare a buon fine ed arrecare un danno serio.

D'altra parte le stesse comunità Open Source sono già impegnate in tal senso (OWASP ne è un esempio) e riconoscono l'opportunità e l'urgenza di tale approccio: la recente iniziativa oCERT non è forse conferma di uno dei punti di debolezza indirizzati da Fortify? Perché quindi non abbandonare il confronto/scontro fine a se stesso e non dedicare le proprie energie ad attivare alleanze strategiche su questi temi (SafeCode è un esempio in ambito software commerciale)? L'esempio del fronte comune si è dimostrato possibile proprio in questi giorni: non è degno di nota lo sforzo che ha accomunato progetti Open Source e diversi vendor di software commerciale nello sviluppo della patch per correggere la recente vulnerabilità DNS?

L'avanzamento della sicurezza delle realtà IT e di Internet passa necessariamente dall'impegno di tutti i fornitori nel costante miglioramento delle proprie soluzioni, dall'incremento di confronto e collaborazione reciproca (vedi iniziativa "End to End Trust"), e dall'interoperabilità delle diverse piattaforme eterogenee. Quale migliore contributo a favore di tali processi di innovazione collaborativa del rinnovato impegno di Microsoft in ambito Interoperabilità? Questa è la Microsoft di oggi, una fabbrica di software e servizi impegnata a 360 gradi nella tenace ambizione di realizzare, proprio grazie ad essi, il pieno potenziale delle persone.

Mi auguro che queste mie considerazioni possano facilitare una nuova modalità di confronto competitivo, più costruttiva e più efficace nel contribuire ai progressi nel campo della sicurezza IT che tutti ci aspettiamo.

Feliciano Intini
Chief Security Advisor, Microsoft Italia
130 Commenti alla Notizia L'approccio di Microsoft alla sicurezza nello sviluppo del software
Ordina
  • A proposito di questa sicurezza,,*volevo far sapere che ho' pagato questo servizio 49 euro e 95 centesimi x niente,certo ho solleccitato il rimborso ma nessuna risposta,,,''Una mia ingenuità volevo una protezione mi sono fidato del sistema Windows LiveOnCare ma non mi ha' soddisfatto nel senso che impediva e non scaricava Service Pack1 nel mio computer, qualche consiglio?
    ciao tore
  • http://www.schneier.com/blog/archives/2007/01/nsa_...

    questo signore, piuttosto autorevole per molti, e sicuramente di buon senso per me, dice sostanzialmente che non si ritiene molto protetto dall'approccio microsoft alla sicurezza

    non sono loggato perché è impossibile usando noscript, cookiesafe, safecache e safehistory

    jvj
    non+autenticato
  • Come ho appena avuto modo di scrivere sul mio blog(http://blogs.technet.com/feliciano_intini/archive/...), è una mia sincera intenzione continuare il confronto su un piano più tecnico e più puntuale. Il mio unico rammarico nel leggere ieri qualche commento a campione (mi impegnerò a leggerli tutti e ad affrontare sul mio blog tutte le questioni che sono state poste in questi commenti) è il notare come tanti si siano presi la briga di fare considerazioni su di me, sulla Microsoft che non dialoga, che non parla, che non discute, senza neanche aver fatto il semplice sforzo di un click: bastava seguire uno dei link presenti nell'articolo verso il mio blog ed accorgersi che questo dialogo e questa discussione tecnica è già disponibile da tempo. E' la dimostrazione di come spesso si parta con un atteggiamento preconcetto, non ci si metta in discussione e non si cerchi davvero il dialogo, ma solo lo scontro. Spero che questo possa cambiare. Buone vacanze a tutti, vi aspetto sul mio blog!
    non+autenticato
  • - Scritto da: Feliciano Intini
    > Come ho appena avuto modo di scrivere sul mio
    > blog(http://blogs.technet.com/feliciano_intini/arc

    Dove e' il codice sig. Intini, dove e' il codice?

    In informatica si parla, soprattutto, a codice, senza codice quale dialogo possiamo fare? Giocoforza all'open tocca il monologo.
    non+autenticato
  • continuo la mia sequela se non vi spiace, così concludo e non mi sentite più...^^

    [quote]Sarebbe quindi auspicabile riconoscere la validità delle considerazioni conclusive che appaiono essere il giusto pungolo a non dare per scontato che ci siano davvero software intrinsecamente sicuri: nessun sistema è invulnerabile, e il mancato utilizzo delle security best practice di cui detto aumenta esponenzialmente nel tempo il rischio di essere facilmente oggetto di attacchi in grado di andare a buon fine ed arrecare un danno serio.[/quote]

    il sig. Bottoni ha mai detto da quando lo conosco che ci sia un sistema operivo o un applicativo invulnerabile, nè l'ho mai sentito dire ad altro esperto informatico ed io confermo le loro tesi da piccolo programmatore quale sono, ciò però non significa che il Vs. sistema sia il migliore sul mercato, forse è solo il più conosciuto per via della pubblicità che ne fate.

    Per quanto riguarda il resto, ha ragione che il suo reparto di sicurezza è un buon passo avanti nella sicurezza di tutti che avete fatto e vi ringrazio per tale passo, purtroppo però come ho detto prima il problema principale è in win32. Non parlando del fatto che vi ho segnalato una falla di sicurezza anni fa, dove vi dicevo che avevate una falla sia nella casella di posta msn, sia nei server del messangers dicendovi che era possibile che qualcun altro che non è il proprietario dell'account avrebbe potuto prendere possesso delle varie caselle di posta e di conseguenza dei vari contatti messangers, vero io ve l'ho segnalato una prima volta nel 2001, il suo staff non era ancora stato creato, giusto.
    Ma ve l'ho risegnalata anche nel 2004 e quella falla persiste comunque ed ha causato parecchi danni, così tanti che nemmeno se lo immagina.
    [ironica]Ma naturalmente si sa, prima del 2002 nessuno pensava alla sicurezza informatica, è nata solo sei anni fa[/ironica]. come però le ho detto prima i sistemi unix ci pensano da molto più tempo di voi.

    [quote]D'altra parte le stesse comunità Open Source sono già impegnate in tal senso (OWASP ne è un esempio) e riconoscono l'opportunità e l'urgenza di tale approccio: la recente iniziativa oCERT non è forse conferma di uno dei punti di debolezza indirizzati da Fortify? Perché quindi non abbandonare il confronto/scontro fine a se stesso e non dedicare le proprie energie ad attivare alleanze strategiche su questi temi (SafeCode è un esempio in ambito software commerciale)? L'esempio del fronte comune si è dimostrato possibile proprio in questi giorni: non è degno di nota lo sforzo che ha accomunato progetti Open Source e diversi vendor di software commerciale nello sviluppo della patch per correggere la recente vulnerabilità DNS? [/quote]

    ripeto non si offenda, ma da come parla sembra che la sicurezza informatica sia roba di sei anni fa e basta, invece non è vero.
    E' vero però che bisognerebbe smetterla di fare scontri fideistici fini a se stessi ed io vorrei che cominciaste voi stessi.

    Innanzi tutto creando codici di programmazione, programmi per non parlare dei linguaggi di programmazione web che non sono nemmeno stardard w3c, sono incompatibili con browser non Microsoft tanto da creare problemi non solo nella visualizzazione ma anche nella navigazione, parliamo infine dell'utilizzo spropositato di codice ajax che rende ancora più insicure (poichè per chi non lo sapesse ajax è semplicemente javascript) le applicazioni web tanto da rendere vulnerabili le caselle di posta, come non parlare poi dell'utilizzo di oggettistica non comunemente accettata dai maggiori browser.
    Parliamo dei nuovi linguaggi di programmazione (XAMAL per fare un esempio, ma è solo un esempio ce ne sono altri di questo tipo) che al posto di rendere un programmatore tale e reale per come è, lo rende inefficiente e incapace di riuscire a trovare un baco nel suo programma, tanto che quando chiamo e dico avete un baco, se il vostro validatore dice che è corretto, nemmeno si sprecano a considerare l'ipotesi che hanno sbagliato. E i bachi ci sono, garantito, non provo un sito solo ed esclusivamente su una piattaforma.

    E giuro che visto che sono anni (a settembre saranno 9 per l'esattezza) che navigando in internet, o nel reale sono già 15, ho sempre segnalato i vari bachi ai vari programmatori, ma di interoperabilità come lei dice io non ne ho mai vista, men che meno negli ultimi periodi, anzi, si va sempre peggio, più si va avanti e più si cerca di limitare lo spazio altrui in favore della vostra, cercando di mascherare i propri errori iniziali, e non mi dica che pensare alla sicurezza dei propri utenti solo dopo più di vent'anni è una scelta saggia e sicura e non è un errore madornale a cui state cercando di mettere le pezze di arlecchino e non riuscite più a tenere in piedi il vostro sistema operativo proprio per questo vostro lassismo iniziale, perchè proprio io non ci credo.

    Questo suo sproloquio di quanto stiamo facendo e quanto abbiamo fatto è assolutamente fuori luogo e se lo poteva bellamente risparmiare.

    E' vero, non ho una laurea non lavoro nel campo ufficialmente, azz...non sono nessuno quindi, può brillantemente cestinare questa mia e continuare a pensare che il vostro sistema operativo sta facendo tanto anche per l'opensource.
    Continuerò a dire, non mi pare, perchè sono i fatti che contano e non le parole.
    E i fatti dicono che in realtà avete fatto ben poco, anzi nulla.


    Le dico la stessa cosa che ripeto a tutti i suoi colleghi informatici: professori, ingegneri, programmatori, tecnici e fattorini dell'IT e come ho sempre detto non mi importa quanto sono famosi o che nome portano o per chi lavorano, se sbagliano sbagliano.

    Se vi vantaste un po' meno di quanto fate e di cosa fate, di quanti soldi date all'opensource e di quanto state _non_ facendo per la sicurezza del mondo e lavoraste di più, collaborando realmente con il mondo opensource e non solo a parole, quando poi non si riesce nemmeno a navigare correttamente in un sito gestito da voi o semplicemente programmato sulle vostre strutture, forse ci fareste più bella figura e sareste apprezzati di più.

    Purtroppo i fatti parlano al contrario, quindi finchè non vedo i fatti per me rimane ciò che ho detto prima.

    buona serata e buon lavoro, sperando che collaboriate davvero con i progetti opensource per la stabilità e la sicurezza degli utenti, comunemente e non solo a parole.
    non+autenticato
  • spiegami un po', stai tentando di mandarlo in buffer overflow?A bocca aperta
    non+autenticato
  • Fino a quando si parlerà di sicurezza dei sistemi operativi, avrà senso parlare di sicurezza a livello di programmazione !

    Perchè si usa ancora strcpy ad esempio quando esiste strncpy() ?

    Adottando stili di programmazione più lineari e Security Oriented i bug non esisterebbero o comunque sarebbero MOOOOOOOOOOOOOOOOOOLTO meno presenti !

    Perchè non utilizzare patch stile W^X o grsec anche su Windows per randomizzare l'entry point del programma in memoria per evitare comunque che il primo lamer di turno lanci un'exploit senza nemmeno conoscere cosa sia un RET address ?

    La sicurezza esiste ed è fattibile D.J.Bernstein lo dimostra chiaramente con i suoi software !

    Il problema è che in un contesto business ci vuole rapidità, velocità nella stesura di codice, e rilasciare prodotti nel minor breve tempo possibile .... poi quando si trovano i bug ... escono anche le patchA bocca aperta (almeno in teoria).
    non+autenticato
  • - Scritto da: Marco Marcoaldi

    >
    > Il problema è che in un contesto business ci
    > vuole rapidità, velocità nella stesura di codice,
    > e rilasciare prodotti nel minor breve tempo
    > possibile .... poi quando si trovano i bug ...
    > escono anche le patchA bocca aperta (almeno in
    > teoria).

    ecco in teoria...^^

    ma ti quoto in pieno
    non+autenticato
  • chi è qsto DJ?
    non+autenticato
  • - Scritto da: Marco Marcoaldi
    > Fino a quando si parlerà di sicurezza dei sistemi
    > operativi, avrà senso parlare di sicurezza a
    > livello di programmazione !

    > Perchè si usa ancora strcpy ad esempio quando
    > esiste strncpy() ?

    Quoto... Anche se poi sono il primo a non farlo In lacrime Maledette abitudini... Ora che me lo fai venire in mente inviato questo post faccio un grep sui miei ultimi sorgenti.

    > Adottando stili di programmazione più lineari e
    > Security Oriented i bug non esisterebbero o
    > comunque sarebbero MOOOOOOOOOOOOOOOOOOLTO meno
    > presenti !

    > Perchè non utilizzare patch stile W^X o grsec
    > anche su Windows per randomizzare l'entry point
    > del programma in memoria per evitare comunque che
    > il primo lamer di turno lanci un'exploit senza
    > nemmeno conoscere cosa sia un RET address ?

    Lo so, lo so : e' quello con cui un hacket te lo butta nel RETto quando fa un buffer overflowSorride
    krane
    22528
CONTINUA A LEGGERE I COMMENTI
1 | 2 | 3 | 4 | Successiva
(pagina 1/4 - 19 discussioni)