Gli attacchi temporali comparson stringhe sono pratici sulle reti pubbliche

3

Correlati are-there- a prova di qualsiasi-lavoro-of-concept-string-confronto-timing-attacchi

Stavo cercando di fare un po 'di crittografia e hashing in PHP e ho trovato questa nota

Please be careful when comparing hashes. In certain cases, information can be leaked by using a timing attack. It takes advantage of the == operator only comparing until it finds a difference in the two strings.

Mi sembra che nella maggior parte dei casi la differenza nel confronto di due stringhe sia solo di alcuni cicli di clock. Dato il sovraccarico in HTTP, PHP e cambiamenti nella latenza di rete, ci sarà molta variazione nel tempo impiegato per elaborare una richiesta. Non vedo che usare un simile attacco su internet pubblico.

Un simile attacco è mai stato dimostrato in una situazione reale?

Non sto dicendo che non dovresti proteggerti contro nel caso in cui, mi chiedo solo quanto sia grande il rischio.

    
posta Jeremy French 11.05.2015 - 10:28
fonte

2 risposte

4

Con abbastanza richieste fatte è possibile effettuare analisi statistiche dei risultati. Dai un'occhiata al post sul blog di ircmaxell :

It's been shown that you can remotely detect differences in time down to about 15 nanoseconds using a sample size of about 49,000

L'analisi di un gran numero di richieste appianerà qualsiasi problema di latenza della rete o dell'applicazione.

    
risposta data 12.05.2015 - 10:15
fonte
1

Il problema è che generalmente il sovraccarico è in media. Quindi, se controlli una stringa un milione di volte e un'altra stringa un altro milione di volte, sarai comunque in grado di rilevare le differenze nel confronto. Maggiore è la quantità di tentativi possibili, maggiore è la possibilità che vengano rilevate anche variazioni minime. A volte ha senso limitare la quantità di tentativi, ad es. introducendo un ritardo temporale - se una latenza più elevata non è un problema.

    
risposta data 12.05.2015 - 10:35
fonte

Leggi altre domande sui tag