Il controllo dell'intestazione referrer offre un miglioramento della sicurezza del mondo reale?

4

Al lavoro utilizziamo un portale centrale che fornisce funzionalità SSO di base ad altre applicazioni. Oltre a verificare i dati SSO inviati, tutte le nostre applicazioni interne esistenti (utilizzate dal pubblico) controllano anche l'intestazione del referrer per assicurarsi che l'utente provenga effettivamente dal nostro portale centrale. Tuttavia, abbiamo appena riscontrato un problema in cui una modifica del codice JavaScript nel portale centrale ha impedito a Internet Explorer di inoltrare l'intestazione del referrer, che ha fatto cadere tutte le app che controllano quell'intestazione.

La mia domanda è se controllare l'intestazione del referrer fornisce un miglioramento della sicurezza del mondo reale semplicemente controllando le informazioni SSO di base (ID utente crittografato contenuto in un cookie)? In caso contrario, c'è qualche documentazione / ricerca / ecc. che potrei usare per dimostrarlo alla direzione?

Devo anche dire che sfortunatamente il portale centrale è un'app di terze parti su cui non abbiamo molto controllo ... quindi le informazioni SSO di base sotto forma di cookie crittografati e informazioni sull'intestazione del referrer sono tutto ciò che dobbiamo aiutare cose sicure.

    
posta Harry Muscle 26.08.2014 - 17:08
fonte

4 risposte

2

Risposta breve: no .

Risposta lunga: dipende .

Referer è un header inviato e controllato dal client. Non puoi fidarti di eventuali dati provenienti dal client non selezionati. Come altri hanno sottolineato, può essere facilmente manipolato. Può contenere tutto ciò che l'hacker desidera, quindi non fare affidamento su di esso.

Se il tuo URL contiene un token crittografico ( http://site.com/x.php?op=1&token=-random-data- ), potrebbe essere marginalmente utile. Dovresti controllare il token con una variabile di sessione per determinare se l'intestazione non è stata manomessa.

Ma anche con un token, il controllo referer funzionerà solo fino a quando un nuovo browser / plugin / estensione / proxy non inizierà a rimuovere l'intestazione di Referer per motivi di privacy.

Se possibile, puoi provare a utilizzare l'indirizzo IP del client legato alle intestazioni del fingerprinting del browser ( User-Agent , Accept , Accept-Language ) per ottenere più livelli di sicurezza. Mantenendo tali intestazioni su una variabile sesssion, puoi rilevare se qualcuno ha rubato le credenziali dell'utente, se qualcuno sta tentando di ignorare l'autenticazione e altri attacchi.

    
risposta data 26.08.2014 - 21:58
fonte
4

Prenderà il frutto basso, ma in generale non è difficile falsificare un colpo di testa. Direi che se ha causato problemi in passato, è più che probabile che non valga il rischio per le tue app aziendali.

    
risposta data 26.08.2014 - 19:09
fonte
0

Il modo migliore, probabilmente, sarebbe dimostrare alla direzione quanto sia facile aggirare questa misura di sicurezza.

Puoi utilizzare, ad esempio, il proxy Burp ( link ) per intercettare e modificare / aggiungere l'intestazione di referer.

  1. Scarica e installa il proxy Burp (c'è una versione gratuita).
  2. Configura il tuo browser per utilizzare il proxy Burp.
  3. Utilizza il browser per autenticare la tua applicazione.
  4. Guarda le richieste / risposte nel Burp Proxy, cioè la scheda Proxy - > Scheda Intercettazione
  5. Utilizzare un pulsante Avanti per inviare una richiesta (è possibile aggiungere / modificare qualsiasi riga inclusa l'intestazione di riferimento).
risposta data 26.08.2014 - 19:35
fonte
0

Come altri hanno già spiegato, i referenti possono essere facilmente falsificati. Inoltre, secondo lo standard HTTP, sono completamente opzionali. Ci sono impostazioni della privacy e componenti aggiuntivi per alcuni browser che sopprimono sempre i referrer e non c'è nulla di dannoso a riguardo.

Per questo motivo ti consiglio di non considerare alcun referrer un referrer corretto e di rifiutare la richiesta solo quando il referrer indica esplicitamente un sito web che non controlli.

    
risposta data 26.08.2014 - 22:23
fonte

Leggi altre domande sui tag