Comprensione di un attacco di riproduzione 0-RTT TLS 1.3

6

Le specifiche per TLS 1.3 0-RTT menzionano quanto segue minaccia che un utente malintenzionato potrebbe realizzare:

Network attackers who take advantage of client retry behavior to arrange for the server to receive multiple copies of an application message. This threat already exists to some extent because clients that value robustness respond to network errors by attempting to retry requests. However, 0-RTT adds an additional dimension for any server system which does not maintain globally consistent server state. Specifically, if a server system has multiple zones where tickets from zone A will not be accepted in zone B, then an attacker can duplicate a ClientHello and early data intended for A to both A and B. At A, the data will be accepted in 0-RTT, but at B the server will reject 0-RTT data and instead force a full handshake. If the attacker blocks the ServerHello from A, then the client will complete the handshake with B and probably retry the request, leading to duplication on the server system as a whole.

La mia domanda è: dov'è l'attacco? Alla fine della giornata, l'attaccante poteva anche aver passato la sua copia di ClientHello alla Zona B e ottenere lo stesso risultato (una stretta di mano completa). Cosa mi manca?

    
posta AdHominem 27.07.2017 - 14:22
fonte

2 risposte

1

Va bene la risposta è che questo è di per sé un classico attacco di replay. Supponendo che A e B siano server che non accettano ticket destinati agli altri, l'attacco ha il seguente aspetto:

  1. Il client invia un messaggio 0-RTT che viene intercettato dall'hacker
  2. L'attaccante trasmette il messaggio sia a A che a B
  3. A accetterà il messaggio e lo elaborerà
  4. B rifiuterà il ticket e imporrà una stretta di mano completa con il cliente
  5. Come parte dell'handshake completo di fallback, il client invierà di nuovo il messaggio a B, portando a una duplicazione sul cluster di server in cui il messaggio originale viene elaborato due volte - un attacco di riproduzione
risposta data 30.07.2017 - 10:58
fonte
1

Non ti manca molto. Penso che questo cloudflare articolo vicino alla fine delinea i possibili vettori di attacco e gli scenari abbastanza bene. A seconda della sicurezza delle reti e delle app Web, a 0-RTT non è possibile rispondere in attesa del tipo di parametri o di determinati tipi di intestazioni. Se un utente malintenzionato ha già capito come inserirsi e ottenere visibilità su ciò che vorrebbe replicare su un host vulnerabile, ci sono rischi peggiori altrove da cercare per primi. Qualcosa come una riproduzione 0-RTT con parametri e un cookie di sessione autenticati e un downgrade HTTP potrebbero essere plausibili. Ma nel mondo di Pentester, c'è molto lavoro.

    
risposta data 27.07.2017 - 18:20
fonte

Leggi altre domande sui tag