Codice di verifica SMS e messaggio di risposta [duplicato]

5

Devo verificare il numero di telefono di ciascun utente in un sistema SaaS aziendale. Invece di utilizzare il comune "Inserisci il codice di 4/8 cifre in questo modulo", preferirei che l'utente rispondesse con un messaggio SMS che dicesse "ciao" o forse un messaggio univoco per ciascun utente.

Il mio obiettivo è di rendere più semplice per l'utente verificare se si verifica l'abbandono del flusso di onboarding del sito web.

C'è qualcosa di intrinsecamente più sicuro nell'avere utenti che inseriscono un codice di 4/8 cifre in linea rispetto all'invio di un codice o di un semplice messaggio dal proprio dispositivo?

    
posta Dom Ramirez 12.12.2018 - 01:46
fonte

2 risposte

8

Ottima domanda! Cercherò di abbattere i modelli di sicurezza.

Is there anything inherently more secure about having users enter a 4/8 digit code online vs. sending a code or simple message from their device?

Mentre l'SMS nel suo complesso rappresenta un debole metodo 2FA (vedi l'articolo sopra di The Verge), almeno il primo richiede che l'hacker esegua un po 'di hacking sulla rete globale delle telecomunicazioni. Quest'ultimo viene banalmente rotto da chiunque conosca i servizi online per l'invio di un SMS con qualsiasi from: numero.

SMS è un debole metodo 2FA

Iniziamo col dire che SMS non è un modo sicuro per fornire informazioni sensibili. Questo articolo di The Verge sembra allineare abbastanza bene con la mia comprensione:

By exploiting known flaws in the cell network, the group was able to intercept all text messages sent to the number for a set period of time. That was enough to reset the password to the Gmail account and then take control of the Coinbase wallet. All the group needed was the name, surname and phone number of the targeted Bitcoin user.

Positive Technologies was able to hijack the text messages using its own research tool, which exploits weaknesses in the cellular network to intercept text messages in transit. Known as the SS7 network, that network is shared by every telecom to manage calls and texts between phone numbers. There are a number of known SS7 vulnerabilities, and while access to the SS7 network is theoretically restricted to telecom companies, hijacking services are frequently available on criminal marketplaces.

Fonte: The Verge .

Quindi, con la consapevolezza che stiamo confrontando la sicurezza di due varianti di un sistema molto insicuro, procediamo.

Modello di sicurezza per l'inserimento del codice di verifica nell'interfaccia utente web

Modello di sicurezza: per consentire a un utente malintenzionato di falsificare la proprietà del tuo numero di telefono, è necessario:

  1. Avvia il flusso di onboarding del sito web, fornendo i tuoi dati.
  2. Leggi il codice SMS inviato al tuo numero di cellulare.
  3. Inserisci quel numero nel flusso di onboarding.

La rimozione di questo attacco richiede la possibilità di leggere i tuoi messaggi SMS in tempo reale, cosa che, come indicato in precedenza da The Verge, è facilmente realizzabile.

Risposta all'SMS con "ciao"

Modello di sicurezza: per consentire a un utente malintenzionato di falsificare la proprietà del tuo numero di telefono, è necessario:

  1. Avvia il flusso di onboarding del sito web, fornendo i tuoi dati.
  2. Ricevi un SMS dal server.
  3. Rispondi al numero SMS del server con la parola "ciao".

A prima vista, sembra lo stesso modello di sicurezza di cui sopra: "se l'attaccante ha hack di SS7 e può leggere i tuoi SMS, allora possono rispondere anche a loro" .

Ma in realtà questo modello è molto più debole ; non esiste in realtà alcun accoppiamento tra i passaggi 2 e 3. Ci sono un milione di siti web che consentono si invia un SMS e si imposta il numero di from: desiderato, quindi fintanto che l'utente malintenzionato conosce il numero SMS del server, può falsificare il "ciao" dal proprio numero anche se non è in grado di leggere gli SMS in arrivo.

Risposta all'SMS con un codice

Modello di sicurezza: per consentire a un utente malintenzionato di falsificare la proprietà del tuo numero di telefono, è necessario:

  1. Avvia il flusso di onboarding del sito web, fornendo i tuoi dati.
  2. Ricevi un SMS dal server che contiene un codice.
  3. Rispondi al numero SMS del server con questo codice.

Bene, abbiamo risolto il problema di aggancio e richiesto che l'utente malintenzionato fosse in grado di leggere gli SMS in arrivo. Come notato sopra, l'invio di messaggi che sembrano provenire da te è banale, quindi penso che questo modello di sicurezza sia equivalente a quello tradizionale di "digita il codice SMS nel sito web".

Tuttavia ti imbatterai in problemi di usabilità in quanto digitando correttamente un codice nella tastiera del tuo telefono è molto più fastidioso che digitarlo sul tuo computer, quindi non sono sicuro di ottenere nulla qui.

Riepilogo (come sopra)

Is there anything inherently more secure about having users enter a 4/8 digit code online vs. sending a code or simple message from their device?

Mentre l'SMS nel suo complesso rappresenta un debole metodo 2FA (vedi l'articolo sopra di The Verge), almeno il primo richiede che l'hacker esegua un po 'di hacking sulla rete globale delle telecomunicazioni. Quest'ultimo viene banalmente rotto da chiunque conosca i servizi online per l'invio di un SMS con qualsiasi from: numero.

    
risposta data 12.12.2018 - 02:23
fonte
2

Non penso che sia una buona idea richiedere un messaggio di risposta se il tuo obiettivo è solo quello di semplificare il processo di verifica. Almeno, dovresti ricordare che sarà impossibile superare la verifica se l'utente non è in grado di inviare SMS (ad esempio, non hanno crediti o l'utente è in roaming e non ha acquistato un piano con SMS in uscita).

Inoltre, l'invio di SMS costa il denaro dell'utente. Inoltre, poiché l'utente non sa con certezza quanto costa, probabilmente penserà che si tratta di una truffa (ricorda che ci sono molti siti fraudolenti che richiedono numeri di telefono per accedere a "contenuti premium").

    
risposta data 12.12.2018 - 05:31
fonte

Leggi altre domande sui tag