Rubare i token OAuth2 dai dispositivi IoT

3

Mentre sto approfondendo diverse forme di autenticazione e persistenza delle sessioni, ho iniziato a chiedermi come vengono memorizzati i token e il rischio che un token venga compromesso. Lo scenario che ho in mente è il seguente:

Un utente ha sincronizzato il proprio smartphone con un account di social media e un token OAuth2 è stato concesso. Questo token ha una scadenza di tre giorni a partire da ora. L'utente ha lasciato il telefono sbloccato o è stato in grado di comprometterlo brevemente e ottenere l'accesso a qualsiasi cosa memorizzata sul dispositivo (si pensi al nuovo exploit dei messaggi multimediali Android). In questo momento, prendi rapidamente il token OAuth2 ed esci. Prendi questo token OAuth2 e usalo dal tuo dispositivo. Ora per i prossimi tre giorni, hai l'autorizzazione per l'account delle vittime.

La mia domanda: l'ultima parte è fattibile? Se è possibile individuare un token OAuth2, può essere utilizzato da un altro dispositivo per concedere l'autorizzazione? Quali sono le misure preventive per questo (oltre alla crittografia dei token OAuth)?

    
posta acelives 29.07.2015 - 19:52
fonte

2 risposte

2

Sì, rubare un token OAuth memorizzato da un dispositivo e utilizzarlo per fare richieste, dato che l'utente funzionerà sicuramente. I token di accesso OAuth sono analoghi a un cookie di sessione tradizionale utilizzato in un'applicazione Web. Potrebbe essere d'aiuto conoscere le vulnerabilità di scripting cross-site tra flag pre-http-only in quanto un utente malintenzionato potrebbe sfruttare una vulnerabilità di cross-site scripting in un'applicazione Web per rubare i cookie delle sessioni delle vittime dal DOM, quindi utilizzare i cookie per mascherarsi come utente. La maggior parte degli attacchi contro OAuth2 utilizza una via più diretta per sfruttare una vulnerabilità nel flusso OAuth2 dei provider che induce l'utente a inviare il proprio token OAuth direttamente all'attaccante. Egor Homakov e una manciata di altre persone hanno fatto un ottimo lavoro sfruttando il popolare provider OAuth2. Alcuni esempi: La più comune vulnerabilità OAuth2 e Come abbiamo hackerato Facebook con i bug OAuth2 e Chrome .

    
risposta data 29.07.2015 - 21:59
fonte
1

Da link :

The implicit grant type does not include client authentication, and relies on the presence of the resource owner and the registration of the redirection URI. Because the access token is encoded into the redirection URI, it may be exposed to the resource owner and other applications residing on the same device.

Come spesso, dipende dall'implementazione lato server e da come viene gestita. Vedi anche:
OAuth Open Redirector Attack

    
risposta data 29.07.2015 - 20:43
fonte

Leggi altre domande sui tag