Quello che segue è uno scenario per un attacco in cui un sito Web può impersonare un altro. Mi è stato detto (anche con questa risposta ) che è impossibile, ma mi piacerebbe capire esattamente cosa lo impedisce.
Alice utilizza siti Web che recuperano una risorsa JS attendibile dal server di Bob, utilizzando HTTPS per prevenire attacchi MITM. La risorsa di Bob è popolare e inizia a utilizzare un CDN per distribuirlo. Ora il browser di Alice sta effettuando una connessione HTTPS con un server appartenente al CDN.
Il CDN utilizza Subject Alternative Names per condividere un certificato tra più clienti i cui siti condividono un indirizzo IP sulla CDN. Eve capita di possedere un sito che è sullo stesso certificato di Bob's (1). Eve conosce la caffetteria preferita di Alice e può intercettare i segnali sul wifi lì.
Poiché Eve non ha la chiave privata del certificato, non può leggere il traffico HTTPS di Alice. Invece, attende una richiesta per la risorsa sul sito di Bob (2) e la sostituisce con una richiesta al proprio sito, tramite lo stesso indirizzo IP CDN che trasmette proxy a entrambi i siti. Il server CDN decrittografa la richiesta, recupera una risorsa dannosa dal sito di Eve e la crittografa utilizzando il certificato condiviso. Il browser di Alice vede una risposta valida dall'IP CDN a cui ha inviato la richiesta e apparentemente non ha motivo di non accettarlo. Notare che Eve non ha bisogno di modificare la risposta di MITMing - il server CDN rimanda il contenuto malevolo da un server dietro di esso.
- O è in grado di inciderne uno. Uno di questi è destinato ad essere insicuro.
- L'URL è crittografato in una richiesta HTTPS? In tal caso, supponiamo che Eve sostituisca tutte le richieste che vanno all'indirizzo IP pertinente e che le scommesse sul rilevamento siano improbabili.
Non ho molta familiarità con SSL, quindi sono disposto a credere che qualcosa in questo non regga, ma non sono sicuro di cosa, esattamente.