lunedì 31 dicembre 2007

Tanti auguri per un felice 2008

Tanti auguri per un anno nuovo sereno e felice, con l'augurio che i mostri siano solo quelli di questo spot.


domenica 30 dicembre 2007

Microsoft condivide con il Web il suo lab di ricerca sulla sicurezza

Nuovo blog di sicurezza del gruppo SWI di Microsoft. In questo blog il team discute delle vulnerabilità di sicurezza di prodotti Microsoft e di come queste siano patchate o dei workaround necessari. Microsoft finalmente comincia a condividere la conoscenza interna, anche di sicurezza, con il Web. Una bella iniziativa.

"Security Vulnerability Research & Defense
Information from Microsoft about vulnerabilities, mitigations and workarounds, active attacks, and other related guidance and information. "


sabato 29 dicembre 2007

Dischi cifrati con TrueCrypt: free & open source

Cercate un tool per creare dischi cifrati dove tenere i vostri dati riservati e/o sensibili? Avete deciso di non tenere più i vostri dati in chiaro sulla chiavetta USB? Siete terrorizzati dal fatto di perdere il portatile e tutti i dati riservati in esso?

Allora TrueCrypt fa al caso vostro: è free, open source, sicuro ed efficiente. Sul sito di TrueCrypt (anche presente su SourceForge) potete scaricare i binari per Windows e Linux e i sorgenti dell'intera applicazione.

Dobbiamo, da buoni uomini di sicurezza, ricompilare tutti i sorgenti ed eseguire il binario ricompilato per evitare spiacevoli sorprese (mai sentito parlare di backdoor?). Ma già il fatto che TrueCrypt sia su SourceForge, con sorgenti e tanto di spiegazioni sul fatto che il compilato potrebbe differire dal binario distribuito a meno dei byte occupati dalla firma del driver Windows, ci rassicura sulla serietà del progetto.

"(...) Keep this in mind if you compile TrueCrypt and compare your binaries with the official binaries. If your binaries are unsigned, the sizes of the official binaries will usually be approximately 10 KB greater than sizesof your binaries (...)"

Fatevi quindi un giretto nei sorgenti, è sicuramente interessante. Tutto scritto rigorosamente in C/C++ e anche abbastanza bene. E' naturale poi che, essendo codice di crittografia, troverete operatori booleani e macro a iosa.
Ecco in breve le caratteristiche di TrueCrypt:
  • Multipiattaforma: gira su Windows (Windows Vista/XP/2000/2003) e Linux (Ubuntu, OpenSuse);
  • Sorgenti: tutti si sorgenti sono disponibili sul sito di TrueCrypt;
  • Crea e monta dischi cifrati: permette di creare file che possono poi possono essere montati come dischi cifrati;
  • Modalità "Traveller": permette di inizializzare chiavi USB o CD con volumi cifrati che non richiedono l'installazione di TrueCrypt sui PC e che permettono di vedere istantaneamente il volume cifrato.
  • Algoritmi: SHA1, Serpent, TwoFish, AES-256 con possibilità di cifrare in cascata fino a 3 algoritmi;
  • Volumi "Hidden": possibilità di gestire i volumi cifrati in modo nascosto nelle aree libere del disco.
Vediamo quindi qualche schermata per la creazione e l'uso di dischi cifrati.

1 - Il pannello principale di TrueCrypt. Vediamo la lista delle unità disponibili nel PC su cui poter montare il volume cifrato e le opzioni per montare e smontare il volume.



2 - TrueCrypt permette di fare dei benchmark interni per valutare quale algoritmo di cifratura scegliere.


3 - Nel wizard di creazione del volume cifrato (file con estensione .tc) scegliamo l'algoritmo (o gli algoritmi) per la cifratura e le operazioni di hashing.


4 - Possiamo formattare il volume con fileSystem FAT o NTFS, specificando anche la dimensione dei cluster.






Le mie conclusioni su TrueCrypt sono:
  • Economico: è free ed opensource; se pensate che PGP Whole Encryption costa 141€...
  • Prestazionale: prestazioni più che buone anche con dischi di grandi dimensioni (>100 Gbyte);
  • Affidabile: solido anche su chiavette USB;
  • Sicuro: gli algoritmi di cifratura sono di tutto rispetto e possono essere utilizzati anche in cascata (ovviamente con un certo calo delle prestazioni);
  • Privacy: eccezionale per gestire dati riservati e/o sensibili nel proprio posto di lavoro o su chiavette USB;
  • Sistemi Operativi: funziona bene sia su XP che su VISTA (nessuna prova fatta su Linux)
  • Per un benchmark reale dovrete aspettare un prossimo POST.

Vi terrò aggiornati :-)

Santo Schneier

Se qualche cosa va storto possiamo sempre dire:

"Santo Schneier"

venerdì 21 dicembre 2007

Cartoon di sicurezza

Gary McGraw, vera autorità per quello che riguarda la sicurezza applicativa, ha scritto questo meraviglioso post sulla validità di insegnare sicurezza tramite fumetti e cartoni animati.

Su questo sito un po' di cartoon specifici per la sicurezza.

A questo link potete invece trovare un video sul XSS.

L'idea è valida non solo per un'alfabetizzazione di sicurezza informatica ma anche per esperti del settore che spesso su tematiche più complesse hanno bisogno di un'aggiornatina.

Chi ha capito bene XSS alzi la mano!

mercoledì 19 dicembre 2007

Sicurezza Applicativa: riferimenti

Gli articoli:

  • A. Anton, P. Hope, G. McGraw, “Misuse and Abuses Cases: Getting Past the Positive”, IEEE Security & Privacy, March 2004;
  • Curphey, Araujo, “Web Application Security Assessment Tools”, IEEE Security and Privacy archive, Volume 4 , Issue 4 (July 2006);
  • B. Chess, G. McGraw, “Static Analysis for Security”, IEEE Security & Privacy, December 2004;
  • Federal Information Processing Standard (fips) 199, “Standards for security categorization of federal information and information systems”, 2004;
  • G. McGraw, “Software Security”, IEEE Security & Privacy, February 2004;
  • G. McGraw, B. Potter, “Software Security Testing”, IEEE Security & Privacy, May 2004;
  • G. McGraw, D. Verdon, “Risk Analysis in Software Design”, IEEE Security & Privacy, April 2004;
  • Vaclav Rajlich, “Changing the paradigm of software engineering”,Communications of the ACM archive,Volume 49 , Issue 8 (August 2006);
  • NIST, “Security Considerations in the Information SDLC”, SP 800-64 Rev. 1, 2004;

I libri:

Sul web:

I post precedenti:

martedì 18 dicembre 2007

Sicurezza Applicativa: introduzione

La sicurezza delle applicazioni sta assumendo negli ultimi anni un ruolo sempre più importante, che potremmo definire decisivo nella quotidiana battaglia per la sicurezza dei sistemi informatici.

Fino ad oggi gli addetti alla sicurezza informatica hanno sempre considerato la sicurezza dei sistemi e delle reti (SSR) come prioritaria, trascurando altri aspetti invece fondamentali. Ma questo ha soprattutto delle motivazioni storiche legate alla evoluzione della sicurezza informatica.

In passato gli hacker miravano perlopiù a rendere inservibili i sistemi oppure a manifestare la loro presenza attraverso i cosiddetti "defacement"; l'obiettivo era quindi quello di rendere indisponibile un sistema (interno o esterno) oppure affermare la propria superiorità tecnica.

Gli hacker erano quasi sempre adolescenti desiderosi di dimostrare le proprie abilità informatiche al mondo, magari facendosi assumere poi dalle stesse aziende attaccate.

Ma la versione romantica dell'hacker oggi non è più attuale; oggigiorno gli hacker sono degli abili informatici assoldati spesso da organizzazioni criminali per trafugare dati, identità, denaro e talvolta provocare gravi disservizi ai sistemi di istituzioni e governi.

Ma se per quest'ultima tipologia di minacce la SSR nella maggior parte dei casi ci può venire in aiuto, per tutte le altre tipologie di minacce, solo una maggiore sicurezza intrinseca delle applicazioni può limitare sensibilmente le vulnerabilità e vanificare quindi le minacce. L'obiettivo quindi non è soltanto la protezione dei sistemi ma anche e soprattutto la protezione dei dati.

Neanche il concetto di perimetro di rete sicuro (PRS) oramai è più sufficiente. Il PRS oggi impedisce solo attacchi di un certo tipo e protocolli quali HTTP, HTTPS e Web Services tipicamente subiscono poche restrizioni da parte dei firewall perimetrali, consentendo quindi fughe o manipolazione di dati. Questi protocolli rappresentano quindi delle brecce permanenti nel PRS e le applicazioni Web in particolare rappresentano un cavallo di troia continuo che rende rarefatto il PRS.

Inoltre bisogna anche considerare che, contrariamente a quello che comunemente si potrebbe pensare, la maggior parte degli attacchi avviene all'interno dell’azienda o dell’ente e che quindi anche le applicazioni sviluppate secondo il paradigma “fat client” non sono immuni a questi problemi di sicurezza.

La sicurezza applicativa impone quindi un cambio nel modello mentale degli addetti alla sicurezza informatica: non più sicurezza come prodotto bensì come processo.

Sperare di rendere sicura un'applicazione solo dopo che la si è prodotta, può portare infatti a costi eccessivi nella gestione e produzione di aggiornamenti di sicurezza.

Dall’anno duemila in poi il focus si sta quindi spostando dalla SSR, oramai abbastanza consolidata, alla sicurezza applicativa che introduce concetti e valutazioni di sicurezza durante la fase di sviluppo e gestione del software (Secure SDLC), evitando quindi il fenomeno della cosiddetta sicurezza retrofit.



Sicurezza applicativa significa quindi non solo considerare aspetti di qualità del software come efficacia, efficienza e usabilità, ma anche appunto sicurezza, e questo richiede un passo in più rispetto alle valutazioni che normalmente si fanno per garantire la qualità del software: calarsi nei panni di un hacker che voglia sovvertire il sistema e successivamente ritornare nei propri panni per l’adozione delle giuste contromisure.

Per rendere sicure le applicazioni abbiamo bisogno quindi di linee guida, best practice...

Blog link:

martedì 11 dicembre 2007

HSM, Hardware Security Module: la grande smartcard di James Bond

Chi di voi ha mai sentito parlare di HSM? Lo immaginavo.

HSM è l'acronimo di "Hardware Security Module", un dispositivo hardware atto a contenere chiavi crittografiche o di firma di una certa rilevanza che devono essere utilizzate per dati e documenti particolarmente sensibili. Se volete potete pensare ad un HSM come ad una grande Smartcard (appunto quella di James Bond) con caratteristiche di sicurezza, resistenza ed efficienza estremamente elevate.

Gli HSM, nella stragrande maggioranza dei casi, sono utilizzati per la firma elettronica e/o digitale. Possono contenere sia chiavi simmetriche che asimmetriche (coppie di chiavi pubblico/private e relativi certificati X.509) e, cosa estremamente importante, non importano (o esportano) mai tali chiavi dall'esterno ma le generano o distruggono direttamente al loro interno. E' una questione di sicurezza e affidabilità delle chiavi che solo con una gestione interna dell'HSM può garantire.

Le chiavi asimmetriche generate dall'HSM di solito implicano una PKI, facendo diventare l'HSM una CA o una subCA. Se si sceglie di implementare una CA, allora l'HSM sarà indipendente da autorità di certificazione esterne, mentre nel caso di una SubCA, avremo bisogno di far firmare il certificato root dell'HSM da una CA esterna qualificata. Il secondo caso implicherà una firma digitale con requisiti di sicurezza che andranno oltre all'HSM e che si estenderanno anche all'architettura della soluzione di firma.


Gli HSM fisicamente possono essere realizzati come delle schede di espansione da installare nel server di turno o come degli appliance "rack mountable". Di solito si dividono in due grandi categorie: "tamper-evident" e "tamper-proof". Nel caso di forzatura fisica infatti, i primi evidenziano che il dispositivo è sotto attacco, i secondi invece possono arrivare sino alla cancellazione delle chiavi segrete (ex: cacciavite e tentativo di forzare il dispositivo per prelevare la memoria che contiene le chiavi segrete).

Importante è anche il requisito prestazionale, che differenzia notevolmente gli HSM da altri dispositivi crittografici di qualità più bassa. Gli HSM raggiungono rate di firme al secondo che arriva anche alle 500 firme/sec. Questo, nel caso di firme massive di documenti oppure di apposizione di marche temporali, è estremamente importante.

Gli HSM prevedono delle procedure di autenticazione e autorizzazione al loro utilizzo molto stringenti: autenticazione delle macchine connesse in rete all'HSM; smartcard, PAD numerici e chiavi elettroniche (chiavi di plastica) da collegare ed inserire nell'HSM per eseguire operazioni di inizializzazione, riavvio e backup dell'apparato. Inoltre anche il backup su schede PCMCIA o chiavi USB sicure e tanto altro.
Certamente anche l'alta affidabilità e disponibilità è un fattore fondamentale che viene garantito gestendo interi stack di HSM che condividono lo stesso store di chiavi (ma con qualche risvolto ancora non molto chiaro rispetto alla normativa attuale per la firma digitale).

Insomma delle vere e proprie casseforti di chiavi di cifratura e firma con SDK per lo sviluppo di applicazioni (di solito C, C++ e Java) e costi non proprio trascurabili (da circa 20.000 € in su ad HSM).

Il capitolo delle certificazioni è inoltre estremamente importante. Quasi tutti sono certificati con lo standard FIPS 140-2, lo standard del NIST USA per la certificazione di apparati di sicurezza, mentre quasi nessun HSM è invece certificato Common Criteria. E questo è forse l'unico punto dolente!

Per essere utilizzati infatti in una soluzione di firma digitale, gli HSM in Europa devono rispettare la certificazione Common Criteria e non solo la FIPS 140-2. I certificatori che vendono smartcard non nutrono certo una grande "simpatia" per questi apparecchi che potrebbero levargli un bel po' di mercato! :-)

Ma questa è un'altra storia...

Un po' di link:

venerdì 7 dicembre 2007

Windows è basso brutto e nero e si chiama CALIMERO

Su qualche blog è girata questa bufala: aprendo una shell su Windows con un utente non amministratore e digitando il comando:

"AT [ora:min] /interactive cmd"

si riesce ad ottenere una shell con diritti di Amministratore!

In effetti se provate, molto probabilmente vi aprirà una nuova shell, ma solo perché siete Amministratori della vostra macchina. Su XP e VISTA se provate con un utente non privilegiato il nostro Windows-Calimero vi risponde un bel "Access Denied"!!!




E come disse un presentatore a Bill Gates in TV "Signor Gates, lo sa lei che se la lavatrice in casa non funziona è colpa di Windows?"

mha!