Devo chiedere a un utente di autenticarsi nuovamente se cambia l'identificazione del browser? È disponibile una libreria lato server?

10

C'è un vantaggio in termini di sicurezza nell'utilizzare l'impronta del browser oltre a un identificativo di sessione per identificare una sessione unica?

Sarebbe quindi opportuno chiedere all'utente di riautenticare (o semplicemente aggiornare il token di sessione) se l'identificazione personale cambia?

Modifica 1

Is anyone aware of server side implementations (DLLs) that I can incorporate into my own project?

Idealmente mi piacerebbe una versione compatibile con C # ASP.NET MVC, ma la terrò aperta così che anche altre piattaforme possano trarne vantaggio.

Modifica 2

Molte di queste risposte descrivono problemi relativi a un particolare aspetto dell'identificazione personale (risoluzione dello schermo, ecc.). Questi valori "non sicuri" possono essere omessi dall'identificazione personale della sessione, o forse non sono un problema, a seconda di come funziona la scadenza / il rinnovo della sessione.

Potrebbero esserci anche valori non presenti nel sito web panopticlick, che potrebbero essere utili per legare anche alla sessione .

    
posta random65537 07.11.2011 - 16:22
fonte

3 risposte

8

Molte cose su cui è definita l'identificazione digitale possono cambiare abbastanza spesso. Ad esempio, l'elenco dei caratteri supportati. Inoltre, alcuni browser implementano aggiornamenti trasparenti; Chrome è noto per questo : alcuni aggiornamenti possono essere applicati anche senza richiedere all'utente riavviare il browser Web. Qualsiasi aggiornamento di questo tipo può modificare l'identificazione personale.

Come utente di un sito "sicuro" (vale a dire un sito dove c'è un'evidente necessità di sicurezza, come il banking online), qualsiasi "spiacevole sicurezza" apparentemente spuria mi renderebbe nervoso e nervoso. Non penso che rendere nervoso il tuo utente sia una buona cosa; inoltre, questo li addestrerebbe a reinserire le loro credenziali in momenti casuali, il che è destinato a renderli incuranti e vulnerabili al phishing.

Pertanto, consiglio non di disattivare una sessione a causa di una modifica dell'identificazione personale. Ad ogni modo, se un utente malintenzionato può rubare una sessione, può probabilmente imitare anche l'identificazione personale, quindi la funzione di sicurezza prevista catturerebbe solo i non attaccanti, il che è di discutibile efficienza complessiva.

    
risposta data 07.11.2011 - 21:10
fonte
4

Sì, c'è un possibile beneficio. Un cambio di identificazione personale indica un possibile cambiamento nella macchina che sta accedendo al sito. Questo è un sintomo di sniffing / hijacking della connessione e il famoso FireSheep . Lo svantaggio è che i falsi positivi richiedono che un utente effettui nuovamente l'accesso. È fastidioso per l'utente se succede molto.

Potresti voler filtrare le modifiche più comuni (aggiornamenti minori del SO o del sistema operativo, modifiche della risoluzione dello schermo per noi laptop che usano i monitor), ma se le credenziali passano da IE a Mozilla o Mac a Windows, probabilmente vale la pena segnalarle.

C'è ancora il caso limite dell'utente che gira con il proprio profilo del browser su un'unità USB, ma è un caso limite che probabilmente ignorerei.

    
risposta data 07.11.2011 - 17:18
fonte
4

Non fare affidamento sul fingerprinting del browser come un metodo di sicurezza strong; è solo sicurezza per oscurità (che può aiutare a tenere fuori tua sorella minore dai tuoi dati, ma non manterrà avversari forti che sarà solo leggermente fastidioso sconfiggere). Utilizza i cookie SSL e di sicurezza.

Sembra piuttosto banale modificare un browser Web per alterarne l'impronta digitale in modo da imitare l'impronta digitale di un altro browser; ad esempio, modifica la stringa UserAgent / Fuso orario / Dimensioni schermo / ecc.

Non sono sicuro che gli strumenti siano prontamente disponibili per falsificare liste di plug-in / elenchi di font di sistema, ma in linea di principio non è difficile fingere e dato che il fingerprinting del browser viene eseguito in javascript, non sarebbe così difficile da capire esattamente ciò che controlla e con il tuo browser personalizzato riproduce le impostazioni corrette dall'altro browser.

    
risposta data 07.11.2011 - 20:03
fonte

Leggi altre domande sui tag