Il nuovo servizio Apple Private Relay è uno strumento che aiuta gli utenti a preservare la riservatezza delle sessioni di navigazione online nascondendo indirizzi IP pubblici e richieste di risoluzione dei nomi a dominio attraverso l’utilizzo del protocollo DNS.
Il funzionamento di Apple Private Relay lo avevamo già illustrato dopo l’evento WWDC 2021 ma oggi i tecnici di FingerprintJS spiegano che il meccanismo implementato dalla Mela a tutela della privacy degli utenti può essere aggirato.
Come si spiega in questa pagina gli utenti vengono invitati ad attivare Private Relay su iOS 15 con il servizio iCloud+ e a controllare l’indirizzo IP pubblico riportato nel riquadro Your leaking IP. Verrà mostrato l’indirizzo IP reale assegnato al router dell’utente dal provider Internet locale da questi scelto invece dell’IP del nodo di uscita messo a disposizione da Apple.
Com’è possibile? FingerprintJS ha utilizzato ancora una volta il protocollo WebRTC, ampiamente utilizzato in passato per svelare l’indirizzo IP pubblico degli utenti dei principali servizi VPN.
Si tratta di una pratica già ampiamente nota: se si utilizza una richiesta HTTP questa viene gestita dal nodo di uscita di Private Relay ma se si ricorre invece a WebRTC viene stabilita una connessione diretta con il client dell’utente finale rivelando il suo IP pubblico.
NAT (Network Address Translation) è un protocollo che permette a più dispositivi di connettersi a Internet usando un singolo indirizzo IP pubblico. Anche i router domestici implementano il NAT.
I dispositivi all’interno di una rete locale che usa il NAT non sfruttano direttamente indirizzi IP pubblici: il protocollo STUN (Session Traversal Utilities for NAT) è stato creato per aprire un dispositivo in LAN all’esterno.
Un server STUN esegue un compito critico: restituisce l’indirizzo IP pubblico e un numero di porta.
Poiché Apple Safari non esegue il proxying delle richieste STUN attraverso Private Relay, i server STUN conoscono il vero indirizzo IP di ciascun utente.
Dal momento che il browser Apple passa gli indirizzi IP reali all’ambiente JavaScript, recuperare l’indirizzo pubblico di un utente è qualcosa di facilmente realizzabile da una normale applicazione Web.
Usando una vera VPN invece di Apple Private Relay tutto il traffico di rete, comprese le richieste STUN, vengono correttamente gestite in modo che nessuno, tranne l’utente e il fornitore del servizio possano conoscere l’indirizzo IP reale.
Il problema, secondo FingerprintJS, è già stato risolto in macOS mentre invece persiste in iOS 15.
FingerprintJS è un’azienda particolarmente attiva anche sull’altro lato della “barricata” mostrando come sia semplice, senza ricorrere a cookie di nessun tipo, tracciare il comportamento online di qualunque utente.
Per approfondire suggeriamo anche la lettura dell’articolo dedicato al DNS leaking, aspetto da tenere presente nel caso dei servizi VPN.