Come proteggi un utente contro un client malintenzionato?

0

Fornito in OAuth 2.0 o in altre applicazioni Web o persino nel server API REST. Come proteggeresti gli utenti dall'utilizzo di un client malintenzionato o di un browser compromesso?

Per OAuth il client secret può essere inserito in un'applicazione esistente ed estratto Rischio di mantenere OAuth2 client_secret nell'applicazione

Anche con l'uso di un redirect_uri, il client malintenzionato può semplicemente prenderlo e continuare a reindirizzare verso il proprio sito.

Con una normale app Web, un token XSRF viene comunque generato sul server e passato al client e l'utente può comunque inserire le proprie credenziali.

Un client compromesso può anche ignorare i controlli CORS e inviare tutto ciò che desidera come Origin header.

Sono piuttosto incline a pensare che l'unica prevenzione sia quella di dire agli utenti di assicurarsi che i tuoi clienti / app / browser provengano da fonti attendibili e che non è davvero qualcosa che può essere affrontato tecnicamente.

    
posta Archimedes Trajano 05.12.2017 - 21:15
fonte

1 risposta

2

Non sono sicuro che ci sia una buona risposta a questa domanda.

Given in OAuth 2.0 or some other Web Application or even REST API server. How would you protect users from using a malicious client or a compromised browser?

La solita domanda qui è "Come proteggi il server / altri utenti da un client compromesso?". Questa è una domanda complicata, ma ci sono risposte attraverso la progettazione dell'app con gli utenti malintenzionati in mente.

La tua domanda è diversa. Se sto capendo correttamente la tua domanda, il tuo utente ha dato volentieri le credenziali del suo account (in qualunque forma siano, username / pass, token OAuth2, wtv).

Scenario di esempio: prendiamo "client malintenzionato" come versione di Firefox per la quale ho modificato l'origine, incorporata in un binario e che ho chiesto all'utente di installare. C'è del codice in là da attivare una volta che l'utente accede a facebook.com . Una volta che l'utente si collega a Facebook, l'autore dell'attacco è ora diventato la vittima per quanto riguarda i server di Facebook. Inoltre, l'attaccante ora controlla sia ciò che viene inviato al server che ciò che viene visualizzato all'utente. È un potere infinito.

Law # 1 sembra applicare:

Law #1: If a bad guy can persuade you to run his program on your computer, it's not solely your computer anymore.

Sono d'accordo con te; oltre a formare gli utenti a non installare software abbozzato, non c'è molto che puoi fare per proteggerli.

La buona notizia è che per un'applicazione ben sviluppata, l'utente compromesso si sta solo facendo del male, il resto della base utente rimane non compromesso, ma questo è al di fuori della portata della tua domanda.

    
risposta data 05.12.2017 - 21:56
fonte

Leggi altre domande sui tag