Continua la mia saga sugli errori che sono là fuori e non aspettano altro che essere visti.
Questa è la volta di InfoCert, ente certificatore dal 2007 a cura del CNIPA. Questi signori hanno avuto la bella idea di rilasciare il certificato della loro Certificate Authority (CA) su una pagina non protetta, in http.
Perché è sbagliato scaricare una CA da una pagina non protetta? Perché con attacchi del tipo DNS poisoning o http spoofing, un hacker può restituire un certificato fasullo, creato dall'hacker.
Cosa succede quando installiamo una CA che è sotto controllo di un hacker? La disfatta totale. Qualsiasi certificato emesso da quella CA risulta valido. I possibili problemi possono essere i più diversi:
- Codice firmato con certificati emessi da quella CA possono essere eseguiti senza warning di sicurezza. Via libera a virus..
- L'hacker può esporre siti clone di quelli reali che appaiono correttamente protetti da certificati validi. Per esempio l'hacker può emettere un certificato per www.miabanca.it clonando il vero sito della banca e hostarlo sul proprio server. Il risultato è che l'utente (che ha la CA falsa) vede il sito dell'hacker www.miabanca.it come valido e passa all'hacker utente/password. Ovviamente questo richiede un attacco di DNS poisoning, che sappiamo però non esserre affatto complesso da attuare in tantissimi casi.
Come doveva essere reso disponibile quel certificato sul sito InfoCert? La CA deve essere su una pagina protetta a sua volta con SSL. Ovviamente il certificato di InfoCert NON può essere protetto da certificati emessi da InfoCert stessa. Come può l'utente validare una pagina di cui non ha ancora il certificato? Semplice, non può. La pagina in questione deve essere protetta con un certificato emesso da una Certificate Authority che sia preinstallata sui browser più diffusi.
C'è un secondo errore, meno grave ma non sottovalutabile. La pagina di InfoCert che rinnova le Smart Card è protetta da un certificato emesso dalla CA di InfoCert. Se andate su quella pagina senza prima aver installato la loro CA, il browser giustamente darà errore. A mio avviso questa pagina dovrebbe mettere in guardia gli avventori raccomandando di installare il certificato InfoCert prima di procedere.
Infine, buona parte della procedura del rinnovo è in http. Questo può nuovamente lasciare spazio ad attacchi di spoofing/injection che modifichino il contenuto html (quindi link a siti non InfoCert).
Il cattivo uso dei certificati è ormai purtroppo un brutto costume, ma quando è un ente certificatore a farlo, non è giustificabile.
Perché dire queste cose su un blog? Semplice, perché avvisare per posta elettronica non serve a niente. Invito tutti a mostrare pubblicamente questo genere di errori, affinché possano essere riconosciuti da tutti.
Per esempio un collega americano aveva segnalato questo clamoroso errore a Verisign nel Maggio 2006. Bene, se ora andate su http://www.verisign.net vedrete che l'errore continua ad esserci (il certifcato è emesso per il .com).