Come avere un Bonus Cultura infinito?

Perdonate il titolo provocatorio, ma come leggerete a breve la situazione è davvero singolare e merita serie riflessioni. Luca Milano, classe ’98, è un appassionato di sicurezza interessato al Bonus Cultura promesso dall’attuale Governo ai neo-maggiorenni. Trattasi di 500 euro da investire in attività culturali, quali biglietti, libri, eventi culturali e molto altro.

Per ricevere il bonus è necessario accedere al sito 18app utilizzando la propria identità digitale (SPID) per l’autenticazione dei richiedenti. Una volta acceduto al sistema Luca ha cominciato a studiare il sito web, concentrandosi sulla procedura per la richiesta del bonus, che consente di “partizionare” i 500 euro per spenderli nei vari servizi previsti. Luca ha creato un buono da 50 euro per studiare le richieste generate dal sistema come evidenziato di seguito.

La richiesta utilizza un formato JSON per contenere una serie di informazioni utili ad espletare la procedura. Per i non addetti ai lavori, immaginate il formato JSON come un contenitore che si compone dei seguenti parametri:

  • idBeneficiario: l’ID del “mio” account;
  • annoRif: l’anno in cui è stata spedita la richiesta (il Bonus Cultura è spendibile fino al 2018);
  • idAmbito: la categoria del servizio (cinema, concerti, libri ecc…);
  • idBene: la sotto-categoria del servizio (nel caso dei libri: audiolibro, ebook o cartaceo);
  • importoRichiesto: l’importo da assegnare al buono.

Ricevuta la richiesta, il server fornisce una risposta con relativo esito. La risposta include ovviamente l’esito, i dati del richiedente, identificativo del buono, e molto altre informazioni private. Ed ora iniziano le note dolenti!

Luca scopre che manipolando il parametro idBeneficiario è possibile creare buoni utilizzando un account altrui. Inoltre, dalla risposta è possibile ottenere le informazioni dell’account legittimo che di cui abbiamo usato l’ idBeneficiario con conseguente data leak.

Altra vulnerabilità riscontrata è una falla “Broken Access Control” che è presente nella richiesta di all’annullamento dei buoni creati.

La richiesta GET in questione si trova nel seguente formato: https://www.18app.italia.it/BONUSWS/rest/secured/gestioneVoucher/annullaVoucherOnline/ID. L’ID del buono evidenziato sopra è ottenibile tranquillamente leggendo la risposta della generazione del voucher. La falla risiede nella possibilità di modificare tale parametro, che potrebbe portare a risultati disastrosi per il portale, quale appunto la cancellazione di tutti i buoni di tutti gli utenti.” Spiega Luca Milano nell’analisi che ha pubblicato sul suo blog. 

E non finisce qui. Luca trova altre falle relative a richieste che permettono di trovare informazioni sensibili (anagrafica, disponibilità del bonus ecc..) di altri utenti registrati, semplicemente avendo il loro codice fiscale (CF).

Le richieste sono:

  • https://www.18app.italia.it/BONUSWS/rest/secured/18enne/beneficiario/CF
  • https://www.18app.italia.it/BONUSWS/rest/secured/18enne/listaVoucherDaSpendere/CF
  • https://www.18app.italia.it/BONUSWS/rest/secured/18enne/borsellino/CF

“Le vulnerabilità appena documentate pongono la piattaforma ad un livello di rischio relativamente alto dato che un malintenzionato potrebbe impossessarsi dell’intero bugdet assegnato al Bonus Cultura (ovviamente quello non ancora usufruito) semplicemente combinando le richieste appena trattate.” Spiega Luca.

Le scoperte di Luca risalgono al 14 novembre scorso quando, con il supporto dell’esperto Paolo Stagno, fondatore del progetto italiano VoidSec, ha deciso di riportare le falle in maniera etica al CERT Nazionale e SOGEI, la società che gestisce il sistema informativo del MEF e che ha curato la pubblicazione del sito 18app.italia.it.

Riflessioni

Le falle riscontrate da Luca sono estremamente semplici da individuare, ed una opportuna fase di codifica con relativo testing secondo modalità OWASP avrebbe portato allo sviluppo di un sistema più sicuro. Quando in settimana ho annunciato la falla al sistema Mobilità.Gov.it trovata dal diciassettenne Kapustkiy, molti giornalisti mi hanno contattato per chiedermi lumi circa la situazione di molte applicazioni oggi in uso anche a livello governativo.

Trovare vulnerabilità come quelle scovate da Luca non è difficile per cui è necessario cominciare a sviluppare applicazioni considerando la sicurezza delle applicazioni come un requisito imprescindibile sin dalle prime fasi di progettazione.

Vi invito a dare un’occhiata alla presentazione tenuta dal collega Matteo Meucci in occasione della prima edizione di una manifestazione sulla cyber security che ho organizzato a Napoli nelle scorse settimane.

Va detto che pur osservando le best practices per il “secure coding” è sempre possibile riscontrare falle nei nostri software. Per questo motivo inviterei le Istituzioni a coinvolgere le comunità di hacker nazionali con programmi di bounty program, ovvero remunerando coloro che scoprono le falle nei sistemi governativi. Mi candido ufficialmente come promotore ed organizzatore dell’iniziativa.

Credetemi sono soldi ben spesi se pensate ai danni che possono essere causati da hacker con cattive intenzioni. Perché la sicurezza è un investimento, non una spesa!

Facebook Comments

Previous articleQuanta Digital Transformation nel B2B?
Next articleConservazione: più attenzione ai processi che ai documenti?
Pierluigi Paganini è Chief Information Security Officer presso Bit4Id, un’azienda leader nella fornitura di soluzioni per l’Identity Management basate su infrastrutture PKI. Ricopre anche il ruolo di capo editore per la nota rivista statunitense Cyber Defense Magazine e vanta una esperienza di oltre venti anni nel settore della cyber security. La passione per la scrittura e la forte convinzione che la sicurezza sia una materia che la conoscenza sulla Cyber Security vada condivisa lo ha spinto a fondare il blog Security Affairs, recentemente insignito del titolo di “Top National Security Resource for US.” E' membro dei gruppi di lavoro del portale “The Hacker News" e dell’ ICTTF International Cyber Threat Task Force, è inoltre autore di numerosi articoli pubblicati sulle principali testare in materia sicurezza quali Cyber War Zone, ICTTF, Infosec Island, Infosec Institute, The Hacker News Magazine e molte altre riviste. E' membro del gruppo Threat Landscape Stakeholder Group dell'agenzia ENISA (European Union Agency for Network and Information Security). Ha pubblicato due libri "The Deep Dark Web" e “Digital Virtual Currency and Bitcoin” rispettivamente sulla tematiche inerenti Deep Web ed i sistemi di moneta virtuali.

LEAVE A REPLY

Please enter your comment!
Please enter your name here