Sicurezza, in una classifica i bug più pericolosi

Un elenco stilato da oltre trenta aziende, enti governativi americani e università riporta i difetti di programmazione più gravi e diffusi, problemi che minano la sicurezza di Internet e contribuiscono al fiorire dei malware

Roma - Gli esperti di sicurezza di quasi una quarantina di organizzazioni, tra le quali compaiono aziende come Microsoft, Oracle, EMC ed Apple, hanno congiuntamente stilato una classifica che elenca i 25 errori di programmazione più deleteri per la sicurezza dei sistemi informatici.

L'elenco, alla cui redazione hanno collaborato il Department of Homeland Security, la National Security Agency, SANS Institute e MITRE, prende in considerazione errori molto comuni quali la mancata verifica del tipo e della quantità di dati in input (spesso causa dei cosiddetti buffer overflow), l'utilizzo di algoritmi crittografici fallati, la non corretta disattivazione o rilascio di certe risorse di sistema (che possono portare alla saturazione di CPU o memoria ed esporre un sistema ad attacchi di denial of service), l'esecuzione di un'operazione o di un programma con privilegi non necessari, la mancata cancellazione delle password predefinite da applicazioni e firmware.

Sebbene si tratti di errori molto noti, SANS afferma che costituiscono l'85% di tutte le vulnerabilità di sicurezza che affliggono Internet: vulnerabilità spesso contenute in web browser, media player, sistemi operativi, siti web ecc. La lista non si limita ad elencare i problemi, ma fornisce anche suggerimenti e soluzioni su come prevenirli, eliminarli o mitigarli.
Le aziende che hanno preso parte al progetto si sono altresì impegnate a stilare guide da distribuire nelle scuole e nelle università, così da formare i giovani sviluppatori su come scrivere codice più sicuro.

Robert A. Martin, capo ingegnere presso MITRE, ha spiegato che diversi membri dell'industria vorrebbero creare una certificazione che garantisca che un certo software non contenga gli errori contemplati dalla lista. L'iniziativa appare però utopistica: difficile pensare che aziende come Microsoft e Oracle, i cui sviluppatori scrivono ogni anno tonnellate di codice, siano disposte a fornire ai clienti garanzie di questo genere. E tuttavia vero che, negli ultimi anni, tali aziende hanno messo a punto tecniche di verifica automatica del codice più efficaci, generalmente capaci di rilevare la maggior parte dei bug di sicurezza più comuni.

Una cosa è certa: la sicurezza del software influenza ormai in modo più o meno diretto la sicurezza stessa dei paesi, in misura direttamente proporzionale al grado di sviluppo dell'IT nelle istituzioni e nelle imprese, e per tale motivo è divenuta, per molti governi, una priorità assoluta. Proprio nelle scorse settimane il Governo americano ha emesso un'ordinanza che, entro il prossimo 4 febbraio, obbliga tutte le agenzie federali a configurare i propri PC sulla base di un modello predefinito, chiamato Federal Desktop Core Configuration (FDCC): questo modello, applicabile a Windows XP e Vista, contiene circa 300 diverse impostazioni di sistema. Lo scopo è quello di standardizzare tutti i PC utilizzati negli uffici pubblici e governativi su una configurazione pensata per minimizzare le vulnerabilità e ridurre la superficie di attacco.

Ieri Panda Security ha pubblicato un almanacco dei virus del 2008 in cui afferma che, lo scorso anno, su Internet sono circolati circa 15 milioni di malware. La stragrande maggioranza di queste minacce sfrutta proprio gli errori di programmazione segnalati nella succitata classifica.

"Tra i mesi di gennaio ed agosto del 2008, è stato rilevato un numero di malware pari alla somma dei 17 anni precedenti, e questa tendenza continuerà o, addirittura, subirà un incremento nei prossimi mesi", si legge nel rapporto diffuso da Panda.
49 Commenti alla Notizia Sicurezza, in una classifica i bug più pericolosi
Ordina
  • ... saranno anche cose scontate o banali ...
    ... ma ho come l'impressione che
    la maggior parte delle applicazioni
    fa acqua in uno o più dei punti citati nella classifica.

    ... sarà solo un'impressione ???

    Vor
    non+autenticato
  • Quoto molto utile per TUTTI..

    Per quanto riguarda la mia esperienza nel panorama torinese...
    Sono veramente pochi i developer/architect etc.. che conoscono anche il solo significato della parola best practice...
    quindi..tanto da imparare.
  • con la miseria che vengono pagati i programmatori si pretende che scrivano codice perfetto, me perfavore
    non+autenticato
  • Il problema non è lo stipendio, ma il tempo che ti danno per fare un determinato lavoro
    guast
    1319
  • Si c'è sicuramente la variabile tempo...
    ora con la scusa dello sviluppo AGILE si tende a tagliare documentazione/test/analisi (ovviamente è l'interpretazione italiana del termine AGILE)..
    Però anche gli stipendi fanno..
    vogliono risparmiare sulle tariffe e quindi e facile che peschi ragazzi alla primissima esperienza che non hanno familiarità con parole come best practice,ciclo di vita del software, alpha/beta/unit test etc etc..
    E quindi a mio parere è un circolo vizioso di scarsa qualità generale e cattiva interpretazione del ciclo di vita del software
  • Cioè circa 41000 al giorno? ma cosa intendono? nuovi malware o sempre quelli? allora dovrei trovare nel DB Panda oltre 15 milioni di malware riconosciuti? oppure intendono quelli che sono "circolati" cioè le macchine infettate?
    non+autenticato
  • Penso sempre quelli , 15 milioni ma magari 300000 dello stesso tipo
    non+autenticato
  • contano ovviamente pure le varianti

    però è comunque un numero impressionante e tristemente reale

    senza contare che ci sono interi forum ( non quelli italiani ) frequentati da hacker di un certo spessore in cui si discute e si sviluppa malware all'avanguardia

    addirittura 3 tizi hanno scritto un paper su come creare una botnet p2p a prova di forensic
  • L'idea di standardizzare il parco macchine di una PA o grossa azienda è sicuramente un passo avanti che molte strutture hanno fatto in base ad una IT Strategy autonoma e attenta.
    L'idea di imporlo per legge è una chiave di lettura diversa ma ha sicuramente degli enormi vantaggi per tutto l'indotto.
    Quello che mi lascia preoccupato è invece che è passato in sordina che:

    1) The FDCC, an OMB (U.S. Office of Management and Budget) mandate, requires that all Federal Agencies standardize the configuration of approximately 300 settings on each of their Windows XP and Vista Computer.

    (parla solo di sistemi microsoft)

    2) FDCC does not currently apply to Macintosh and Linux computers; these systems are under review for future inclusion

    (hmmm intanto la legge è pronta e ci si può/deve adeguare)

    3) FDCC does not apply to servers

    (questo esclude una significativa parte della lodevole iniziativa)

    4) Does this apply to Active Directory (AD) accounts only?

               Yes, only to AD accounts


    Ad essere malizioso, mi sembra eccessivamente Microsoft-oriented per essere un provvedimento di una PA che deveoffrire servizi e, per legge, contenere i relativi costi (open source,ndr).

    Interessante iniziativa ma mi sembra più una mossa commerciale vincente di (e per) Microsoft piuttosto che un valore aggiunto sull'effettiva sicurezza della PA americana.

    Saluti,
    A.
  • > Saluti,
    > A.

    Interessante il post, adesso devo solo trovare la notizia alla quale ti riferisci! scherzo,
    ciao
    non+autenticato
  • Wow...come hanno stilato la classifica? leggendo il codice di windows?

    trollate a parte questi sono errori che i programmatori si portano dietro dagli albori dell'informatica "stilare guide" è superfluo, ogni manuale serio di programmazione parla di questi bug.
    L'esempio lampante sono le sql injection, ormai pure i manuali tipo "php+mysql for dummies" hanno un capitolo sulle sql injection, eppure si continua a scrivere codice buggato.

    Forse una delle soluzioni potrebbero essere i compilatori intelligenti...ma un altro vizio dei programmatori e che quando compilano un grosso progetto che immancabilmente avrà un certo numero di warning non li leggono tutti.
    non+autenticato
  • Magari, un buon sistema per risolvere questi problemi, è lasciar scrivere codice a chi sà farlo per bene e non che ogni pignattaro, giocattolaro, pigiatasti-SNMP (Security is Not My Problem), cacciavitaro della domenica (professandosi da grande hacker, ROTFL), vada in giro ad impestare tutta la community con le sue creazioni fatte da cani?
    Può essere?
    non+autenticato
  • Può essere specialmente per le applicazioni piccole , ma io aggiungerei che si dovrebbe anche fare più beta testing e si dovrebbero pressare meno i programmatori

    PS: Non maltrattare i programmatori della domenica...in italia la programmazione è nata giocando con i commodore64Sorride
    -----------------------------------------------------------
    Modificato dall' autore il 14 gennaio 2009 01.57
    -----------------------------------------------------------
  • - Scritto da: Darshan
    > PS: Non maltrattare i programmatori della
    > domenica...in italia la programmazione è nata
    > giocando con i commodore64
    >Sorride

    Quei programmatori li' nati 20 anni fa, sono quelli che oggi mandano avanti la baracca negli IT.

    Perche' la generazione successiva non ha mai visto una linea di comando in vita sua e crede che programmare sia saper fare doppio click o usare il tasto destro del mouse.
  • > PS: Non maltrattare i programmatori della
    > domenica...in italia la programmazione è nata
    > giocando con i commodore64
    >Sorride

    Non penso proprio.
    In italia come da tutte le altre parti la teoria della programmazione e' nata all'universtita' visto che di materia scientifica e molto matematica si tratta.
    non+autenticato
  • Ho come il dubbio che tu non abbia mai programmato in vita tua ...Come sempre solo i laureati sono fighi, gli altri idioti. Un laureato programma con le scarpe, anni di lavoro assieme a programamtori seri ti permettono di scrivere codice funzionale, non la laurea.
    non+autenticato
  • - Scritto da: Giulia
    > Ho come il dubbio che tu non abbia mai
    > programmato in vita tua ...Come sempre solo i
    > laureati sono fighi, gli altri idioti.

    Sbagli di grosso.
    In ogni campo c'e' lo scarpone e c'e' chi eccelle.
    MA se uno non sa come funziona l'architettura di un processore o magari non capisce cosa sia una weakest precondition su un ciclo o peggio non ha idea di cosa significhi CALCOLABILITA' di un algoritmo c'ha poco da programmare.

    Molta gente e' convinta che tutto possa essere calcolato da un processore.
    Come quando c'erano (e continuano ad esserci) le calcolatrici grafiche che costantemente non visualizzavano assolutamente nulla quando gli si passavano le funzioni con discontinuita' assurde.

    Il punto e' che e' meglio studiare ed usare la testa.
    si risparmia tempo e magari si riesce anche a scrivere dei programmi che funzionano.

    I programmatori con esperienza in genere non sono mai fai da te.
    non+autenticato
  • mi dispiace ma sono d'accordo con giulia.
    non mi interessa come funziona un processore anche perche non devo programmare in assembler.
    questo e' un vecchio concetto degli albori della programmazione. sicuramente lavoravi in assembler e prima di tutto dovevi studiarti il processore. ora nel 2009 con il framework dot net non ti interessano piu queste cose. e' lui che fa il lavoro per te.
    per me va piu che bene. Io devo concentrarmi sulla business logic e non come devo fare per salvare un valore in memoria.

    giovanni.darienzo@nike.com
    non+autenticato
  • > Io devo concentrarmi
    > sulla business logic e non come devo fare per
    > salvare un valore in
    > memoria.

    Business logic = gestionale.
    L'informatica e' un'altra cosa.

    E comunque anche nei gestionali se uno non sa cosa sia un DB e come si normalizza c'ha poco da sviluppare.
    Le performance sono sempre importanti anche in piccoli progetti.
    .net non le fa queste cose per te.

    E comunque e' evidente che se un programmatore a senso unico : windows, .net, etc etc .....


    parole come scalabilita' , cross-platform, efficienza le conosci?
    non+autenticato
  • - Scritto da: HitTheRoadJ ack
    > ah ah ah
    >
    > ignorante!
    >
    > http://it.wikipedia.org/wiki/Business_logic

    Si si le definizioni di wikipedia.
    Mi pare invece, leggendolo, che il tipo si riferiva proprio al gestionale e non certo agli algoritmi di "business logic" come ti piace chiamarli.
    non+autenticato