Il servizio online Firebase consente di salvare e sincronizzare i dati elaborati da applicazioni web e mobile mettendo a disposizione un database NoSQL, ma gli esperti evidenziano un problema di sicurezza: quando gli sviluppatori non riescono a imporre l’autenticazione per il database o l’istanza cloud che supporta la loro app mobile, infatti, gli incidenti sono dietro l’angolo. È accaduto numerose volte con i bucket (contenitori di oggetti) di Amazon S3 (Simple Storage Service, il servizio di object storage) che, non protetti, hanno messo a rischio una serie di dati sensibili. È successo con Booz Allen Hamilton, Verizon o il Pentagono, i cui casi sono saliti alle cronache.
Google Firebase: oltre 100 milioni di record utente esposti
Una ricerca condotta dagli esperti di Appthority (ora parte di Symantec), ha dimostrato che questo problema non si limita alla sola infrastruttura Amazon configurata in modo errato. Il report, infatti, racconta nel dettaglio anche il caso di numerosi database di Google Firebase. Google dall’ottobre 2014 ha incorporato Firebase tra i suoi servizi, con l’obiettivo di inserirlo nella Google Cloud Platform. Questi Firebase, in particolare, sono dedicati a supportare le app mobili e contengono informazioni dettagliate sull’utente. Nel corso di questi anni, gli analisti di Appthority hanno rilevato 2.300 istanze Firebase non protette, per un totale di oltre 100 milioni di record utente esposti. La fotografia mappata dai ricercatori includeva dati altamente sensibili, come informazioni di identificazione personale, cartelle cliniche e oltre 2,6 milioni di password in chiaro. Se questi dati fossero stati compromessi dagli hacker, sarebbe stato un grosso danno per le aziende interessate, sia alla loro reputazione che al loro portafoglio, considerate l’entità delle possibili sanzioni amministrative.
La differenza tra Firebase non protetto e la protezione predefinita di Amazon
Una differenza fondamentale tra i dati esposti dai bucket Amazon S3 e le istanze non protette di Firebase è che Amazon ha un’impostazione di protezione predefinita e, pertanto, deve essere configurato accidentalmente per mettere a rischio i dati gestiti. Firebase, invece, non è protetto nativamente: quando viene installato per la prima volta, sono gli sviluppatori a doversi occupare di proteggere ogni singola tabella e riga.
Malgrado questa non sia un’attività particolarmente complessa (e Google fornisca una documentazione dettagliata su come configurare Firebase in modo sicuro) rimane il fatto che non va dato per scontato che i programmatori siano adeguatamente addestrati alle misure di sicurezza e abbiano tempo di presidiare il ciclo di vita dello sviluppo, applicando i corretti controlli di sicurezza. Certo è che questo è un problema comune nella maggior parte delle attività di sviluppo, non solo nelle app mobili. Tuttavia, in questo caso, è più facile esporre inavvertitamente dati sensibili perché gli sviluppatori utilizzano un’infrastruttura basata su cloud.
Firebase non protetti e facilmente rilevabili
I dati non protetti sono relativamente facili da scoprire per gli hacker. Esistono strumenti, come ad esempio Shodan, che indicizzano tutto l’ecosistema digitale del Web e consentono a un utente di cercare termini chiave specifici per identificare quali sono le istanze esposte. Shodan, non a caso, è chiamato il browser degli hacker. Analizzando tutti i nodi che compongono Internet, questo browser ogni mese mette a sistema circa 500 milioni di nuovi dispositivi, creando un immenso database di computer, server, router e webcam connessi a Internet. Questi dati vengono condivisi con chiunque: non è nemmeno necessario effettuare l’autenticazione al database. Qualsiasi hacker che intercetti una vulnerabilità può così accedere ai dati senza avere nemmeno un livello significativo di competenze tecniche.
La sicurezza nel ciclo dello sviluppo del software
In conclusione, i database Firebase non protetti dimostrano che, anche se viviamo in un’epoca di maggiore consapevolezza in relazione ai temi della cybersecurity, i dati sensibili possono essere compromessi dagli errori più banali. Ogni giorno vengono scoperte nuove vulnerabilità anche estremamente complesse, che richiedono uno sforzo significativo o grande esperienza tecnica. Vulnerabilità come le istanze Firebase non protette, tuttavia, per qualsiasi hacker anche alle prime armi sono semplici da sfruttare e, pertanto, hanno molte più probabilità di degenerare in una violazione dei dati che impatta sulle organizzazioni coinvolte. Come ribadiscono gli esperti, è molto importante alzare la guardia e investire maggiormente nelle attività di programmazione, dedicando del tempo anche al tema di uno sviluppo sicuro per garantire che questi tipi di vulnerabilità siano identificati e risolti prima che i dati vengano esposti, riducendo al minimo il rischio di una violazione involontaria dei dati.