Secondo i ricercatori di sicurezza, enormi quantità di dati privati, comprese oltre 300.000 impronte digitali biometriche utilizzate da cinque app di mobile banking, sono state messe a rischio di furto a causa delle credenziali hardcoded di Amazon Web Services.

Il Threat Hunter Team di Symantec ha dichiarato di aver scoperto 1.859 app disponibili pubblicamente, sia Android che iOS, contenenti credenziali AWS integrate. Ciò significa che se qualcuno avesse cercato all’interno delle app, avrebbe trovato le credenziali nel codice e avrebbe potuto potenzialmente utilizzarle per accedere ai server di back-end delle app ospitati da Amazon e rubare i dati degli utenti. La stragrande maggioranza (98%) erano app iOS.

Complessivamente, il 77% di queste app conteneva token di accesso AWS validi che consentivano l’accesso a servizi cloud AWS privati, ha osservato il team di intelligence in ricerca pubblicato oggi.

Inoltre, quasi la metà (47%) conteneva token AWS validi che forniscono l’accesso completo a milioni di file privati ​​a volte tramite i bucket Amazon S3. Questi token di accesso AWS codificati sarebbero facili da estrarre e sfruttare e riflettono un serio problema della catena di approvvigionamento, ha detto Dick O’Brien, redattore principale del Threat Hunter Team di Symantec Il registro.

Ci è stato detto che i produttori di queste app potrebbero non aver inserito le credenziali da soli, o addirittura sapere che sono lì: i token potrebbero essere stati introdotti da una dipendenza software mal progettata.

“Quando si parla di sviluppo di app mobili, la maggior parte delle persone non inizia da zero”, ha affermato O’Brien.

Invece, gli sviluppatori fanno affidamento su librerie software, kit di sviluppo software (SDK) e altri componenti di terze parti che costituiscono i “mattoni di cui sono fatte le app”, ha aggiunto.

“Ognuno di loro prende decisioni sulla sicurezza di un prodotto che alla fine fornisci ai tuoi clienti. Quindi una decisione, ad esempio, di qualcuno che fornisce un SDK per inserire credenziali hardcoded potrebbe potenzialmente avere un impatto su migliaia di app diverse, a seconda su quanto ampiamente viene utilizzato.”

Non tutte le app analizzate dai cacciatori di minacce avevano un’enorme base di utenti. Ma un’analisi più approfondita di alcuni di quelli più interessanti si è rivelata “piuttosto allarmante”, ha detto O’Brien. “Quello che abbiamo visto, il profilo delle applicazioni e la natura delle aziende coinvolte in ciò, ti farebbero sicuramente riflettere”.

Ecco alcuni esempi di ciò che i ricercatori hanno trovato.

Informazioni sensibili esposte

In un caso, un fornitore di servizi B2B ha distribuito ai propri clienti un SDK mobile da integrare nelle loro applicazioni. Si è scoperto che l’SDK conteneva le chiavi dell’infrastruttura cloud del provider, che potenzialmente esponevano tutti i suoi dati, inclusi dati finanziari, informazioni sui dipendenti, file su oltre 15.000 aziende di medie e grandi dimensioni e altre informazioni, archiviati sulla piattaforma.

L’SDK disponeva di un token AWS codificato per accedere a un servizio di traduzione basato su Amazon. Tuttavia, quel token garantiva l’accesso completo ai sistemi back-end del provider, anziché solo allo strumento di traduzione. “Invece di limitare il token di accesso codificato per l’utilizzo con il servizio cloud di traduzione, chiunque avesse il token aveva accesso illimitato e completo a tutti i servizi cloud AWS dell’azienda B2B”, ha scritto Kevin Watkins di Symantec.

In un altro esempio di cosa non fare nello sviluppo di app mobili: il negozio di sicurezza ha trovato cinque app bancarie iOS che utilizzavano lo stesso SDK di identità digitale AI vulnerabile.

L’utilizzo di software di terze parti per il componente di autenticazione di un’app è abbastanza comune.

Come ha osservato Watkins: “Le complessità legate alla fornitura di diverse forme di autenticazione, al mantenimento dell’infrastruttura sicura e all’accesso e alla gestione delle identità possono comportare costi elevati e richiedono esperienza per farlo correttamente”.

Tuttavia, può anche portare a perdite di dati. In questo caso, l’SDK includeva credenziali incorporate che esponevano le impronte digitali biometriche degli utenti utilizzate per l’autenticazione insieme a nomi e date di nascita. “Sono state esposte le impronte digitali di oltre 300.000 persone”, ha detto O’Brien.

Oltre alle informazioni personali dei clienti bancari, la chiave di accesso ha anche esposto l’infrastruttura del server e i progetti, inclusi il codice sorgente dell’API e i modelli di intelligenza artificiale utilizzati.

Infine, in un terzo esempio di rischio della catena di approvvigionamento di app mobili, Symantec ha rilevato 16 app di gioco online che utilizzano una libreria software vulnerabile che, secondo Watkins, “ha esposto l’intera infrastruttura e i servizi cloud in tutti i servizi cloud AWS con credenziali complete di lettura/scrittura dell’account root .” Non è un bell’aspetto per il settore delle scommesse sportive altamente regolamentato.

La società di sicurezza ha affermato di aver informato tutte queste organizzazioni dei difetti.

Perché le app utilizzano chiavi di accesso codificate

Ci sono diversi motivi per cui queste diverse app sono integrate nelle chiavi di accesso. Alcuni sono legittimi: l’app deve scaricare risorse o accedere a determinati servizi cloud, come il servizio di traduzione AWS, che richiedono l’autenticazione. A volte, si tratta di uno sviluppatore che utilizza codice morto o utilizza software per testare l’app e non rimuoverla prima che entri in produzione.

“Per la maggior parte, è guidato da un certo grado di ignoranza in termini di ciò che stai esponendo”, ha detto O’Brien. “Usando le credenziali per accedere a una risorsa nel cloud, stai quindi esponendo tutto ciò che è accessibile utilizzando tali credenziali. Probabilmente è una combinazione di un po’ di ignoranza e forse un po’ di sciatteria da parte degli sviluppatori. “

Le organizzazioni possono proteggersi da questi difetti della catena di fornitura del software seguendo migliori pratiche per la condivisione e l’utilizzo delle risorse del provider IT cloud, ha aggiunto.

“In particolare, gli sviluppatori non dovrebbero mai riutilizzare le condivisioni cloud destinate ai dati degli utenti con i dati aziendali interni e dovrebbero garantire che tutte le condivisioni siano adeguatamente bloccate con autorizzazioni progettate per i dati archiviati”, ha avvertito O’Brien. “Le chiavi a breve termine limitate solo ai dati e ai servizi cloud richiesti dall’app, nient’altro, sono la strada da percorrere”. ®

Leave your comment