No non ne voglio fare una questione personale, ma sono leggermente preoccupato di come implementeranno la sicurezza di #SPID.

Per chi non sapesse cosa sia SPID, in breve si tratta di un sistema di autenticazione unica che ci permetterà di accedere ai servizi pubblici online utilizzando un solo account.

La tecnologia di SPID

La tecnologia di SPID utilizza specifiche dell’ OASIS SAML v2.0 del progetto sperimentale STORK 2.0. Se non ho capito male questo dovrebbe essere il pacchetto che i Service Provider installeranno sui propri sistemi ed liberamente scaricabile da questo link https://joinup.ec.europa.eu/catalogue/distribution/sp-package.

Qui le specifiche tecniche di come funzionerà il sistema SPID. Qualcosa non mi torna, nel BINDING-HTTP-REDIRECT. Farò forse un secondo post a riguardo.

Per chi volesse approfondire il livello di sicurezza utilizzato da STORK 2.0 vi rimando a questo rapporto di ENISA su STORK 2.0 e il suo funzionamento. Non mi è chiaro se ENISA ha eseguito una code review o dei vulnerability assessments. (Chi sappia rispondere a questa perplessità mi scriva, grazie)

Come funzionerà?

SPID è formato dagli Identity Provider (IDP) coloro che vi daranno accesso a SPID e dove registrerete il vostro account e dai Service Provider (SP) che non sono altro che dei siti web che utilizzano il sistema di autenticazione SPID per farvi accedere ai propri servizi.

Il funzionamento di #SPID è semplice, basterà registrarsi su uno degli attuali tre Identity Provider per avere le proprie credenziali di accesso.

Come funziona il livello di autenticazione:

Ci sono 3 livelli di sicurezza utilizzabili a scelta dall’utente in ogni momento per accedere ai servizi pubblici con il proprio account:

A questo link troverete tutti i dati che SPID potrà sapere di voi, definiti nel sistema come “attributi”, a cui gli SP (Service Provider) potranno accedere previa vostra autorizzazione. Ho letto qualcuno su twitter sminuire questo aspetto. Non mi sembra che sia “solo il codice fiscale”.

I Service Provider non conserveranno i vostri dati personali, ma saranno gli IDP ad averli e ad esserne i responsabili. I Service Provider devono tracciare ogni login effettuato, ma non ho trovato informazioni circa la regolamentazione su l’integrità e la data retention che dovranno avere i log.

Un Service Provider potrebbe inventarsi di sana pianta che un cittadino ha acceduto ad un servizio ed effettuato determinate azioni dopo essersi autenticato con una identità SPID.

Chiacchiere da Twitter e problemi di sicurezza sulla presentazione di SPID

Tutto ha avuto inizio da alcuni tweet su SPID partiti dall’account di Stefano Quintarelli (@quinta, noto parlamentare ed esperto di informatica). Poco dopo viene seguito a ruota da testate giornalistiche, siti di settore e quant’altro. Visto il fermento e le fonti autorevoli, ho pensato che stessero facendo sul serio, così mi sono interessato.

Grazie ad un paio di tweet di Fabio Chiusi, ho scoperto che SPID sarà GRATUITO per 2 anni, se e solo se lo attivi entro il (31 Dicembre 2016)

Superati i 2 anni non è molto chiaro se è intenzione degli Identity Provider far pagare il servizio. Finora nessuno ha chiarito o vuole chiarire questo aspetto. Il massimo livello di sicurezza che SPID offre (quello con smartcard) sarà a pagamento.

Purtroppo sembra che anche la sicurezza informatica non viene vista come una necessità. La percezione che si ha della sicurezza informatica da parte di chi dovrebbe votare le leggi che governano il paese sembra essere molto scarsa.

Navigando sul sito di http://spid.gov.it ho individuato un directory listing che mi ha permesso di risalire ad alcune informazioni che in altre mani sarebbero potute essere una fonte utile per costruire un potenziale attacco informatico.

Con un tweet ho fatto presente il problema a chi in quel momento parlava di SPID:

Le repliche a questa mia constatazione non sono state molto rassicuranti. A dire di @Quinta il quale cortesemente ha risposto al mio tweet, un sito governativo come http://spid.gov.it è equiparabile ad una banale presentazione “Power Point” di poco conto.

La risposta di Stefano è stata:

Che aggiunge, dopo avergli fatto notare che è pur sempre un server di produzione con un dominio governativo:

Paragonare un sito governativo ad una banale presentazione.

Voi che ne pensate? 

Fortunatamente dietro le quinte, tra i tecnici di SPID c’è chi non l’ha pensata così e ha provveduto mettere una pezza a questa falla. Purtroppo lo ha fatto in un modo poco elegante inserendo una index vuota, che mi fa dedurre che il directory listing è ancora abilitato e il ServerToken e ServerSignature On  ancora presenti. Ma poco male.

Ho fatto presente a @quinta che il problema è stato risolto, ma ho ricevuto come risposta questo:

Ovviamente non si parlava di una “vulnerabilità”, ma di un errore di configurazione. Il che non mette in pericolo l’integrità del server ma può dare delle informazioni utili a chi volesse provare un attacco. Informazioni che secondo me su un dominio .gov non dovrebbero esserci. Un sito presente su un dominio governativo dovrebbe rispettare policy di sicurezza molto rigide. Ma a quanto pare…

Purtroppo quel sito presenta anche altre vulnerabilità client side, xss, iframe injection per trovarle non è necessario scomodare una Kali o qualche tool particolare e chiunque in 5 min. può individuarle.

spid iframe injection

spid

Ora chissà se questo power point verrà mai sistemato a dovere. Chissà se questo power point rappresenti le modalità con cui è stata presa a cuore la sicurezza di SPID o se sarà mai garantita da qualcuno…o almeno prevista, o se alle domande fatte da Paolo Perego qualcuno risponderà mai..

Ci tengo a precisare che questo post non vuole essere un attacco all’innovazione che SPID porterà agli italiani, ma al modo in cui esso è stato realizzato. Non vorrei fosse la solita spaghetti story fatta da persone che dovrebbero, nel 2016, curare o prevedere aspetti di questo genere, ma che invece preferiscono pubblicare opere incomplete o non revisionate per farsi dire, “bravi ce l’avete fatta”.

In bocca a lupo, SPID.

PS. un ultima cosa vorrei chiedere un favore a tutti quei giornalisti che utilizzano il termine “PIN UNICO”…non c’è un PIN in SPID c’è un “nome utente” ed una “password”. Iniziamo a dire le cose come stanno. Grazie.