Beentouch, gravissimo problema di sicurezza non riconosciuto dall’azienda. Privacy a rischio.
Update: Cosa è Beentouch?
Dopo le tre vulnerabilità segnalate e pubblicate nel precedente articolo, ho scoperto un altro ben più grave problema che ho prontamente segnalato al team Beentouch facendo notare che la vulnerabilità in oggetto mette a rischio la privacy degli utenti.
Purtroppo, a differenza delle precedenti segnalazioni, l’azienda questa volta non riconosce la vulnerabilità e dopo numerose email mi scrivono inspiegabilmente:
Dalle nostre analisi non emerge alcun difetto sulle API, quindi non intendiamo porre una data di disclosure su un problema che non rileviamo che non sia semplicemente il soggettivo grado di elevatura dei sistemi di sicurezza preposti a proteggere il dato.
Inspiegabilmente si rifiutano di riconoscere il problema, arrivando a definire la mia segnalazione “un dubbio”, mentre in realtà, come evidenzierò, si tratta di una vulnerabilità in una loro api molto grave che non richiede nessuna elevatura.
Un attaccante ‘autenticato’ al servizio Beentouch può avere accesso ai dati personali (email, numero di telefono) di TUTTI gli utenti Beentouch
Quali sono i dati in questione?
- Nome
- Cognome
- numero di telefono
- eventuale Facebook id
Quali sono le implicazioni?
Per come è definita la struttura dati di Beentouch, questo problema permette ad un utente smaliziato, e nemmeno troppo esperto, di avere il DB di tutti gli utenti di Beentouch in pochi minuti.
Ho anche chiesto all’azienda se avesse intenzione di fare analisi per capire se questa vulnerabilità sia già stata usata per furto di dati, ma ho ricevuto un criptico:
“Il dettaglio delle procedure interne all’azienda per fronteggiare problematiche di questo tipo non sono divulgabil”
Anche questa volta non rileverò i dettagli che permettono di sfruttare la vulnerabilità per tutelare l’azienda ed i suoi utenti, ma spero che la giovane startup faccia marcia indietro e risolva il problema.
Spero che questo articolo possa da un lato mettere in guardia gli utenti Beentouch, ma dall’altro sia spunto di riflessione per chi si accinge a costruire un nuovo prodotto.
Vi ricordo che se volete essere aggiornati sui miei nuovi articoli, potete farlo con telegram! https://telegram.me/iuculano
Update
È apparso ieri sera un post nel blog di Beentouch, molto ben scritto. Francamente credo che si impieghi molto più tempo a scrivere un post del genere, che a risolvere il problema (se lo si capisce ovviamente).
Rispondo però ai punti principali.
- Giustissimo il punto dove si chiarisce che il numero di telefono non è usato come metodo di autenticazione, però omettono un particolare. Se in un’applicazione che fa Call e videocall o instant messaging riesco a chiamare a nome di un’altra persona, è un problema di sicurezza
- Fanno riferimento a dei super sistemi di sicurezza e alarm che avvisano in caso di tentativi di intrusione. Molto scenica e di impatto, ma purtroppo con una API progettata male non c’è alarm che tenga, semplicemente si ha accesso all’informazione
- Di impatto anche l’analogia con la cassa, la chiave, e la tenaglia. Purtroppo l’analogia è usata impropriamente, perchè nel caso specifico bisognerebbe specificare che non occorre nessuna tenaglia, ma la stessa chiave fornita da Beentouch. Direi che l’analogia più onesta sia questa: è come se un venditore di casse distribuisca lucchetti che vengono aperti tutti con una chiave, distribuita a tutti i proprietari delle casse. Ogni chiave può aprire tutti i lucchetti.
Piccola nota a chiusura del tutto personale
Penso che gli utenti avrebbero apprezzato di più l’umiltà di una azienda che riconosce il problema, avvisa gli utenti, e fa di tutto per risolverlo. Beentouch si è dimostrata molto attenta nella comunicazione tentando maldestramente di sottostimare il problema e dando informazioni parziali. Una startup ai primi mesi di vita dovrebbe pensare un po’ meno all’apparire, più al prodotto.