Decenijama unazad, arhitektura interneta oslanjala se na jedan fundamentalno nesiguran mehanizam: DNS u plaintext obliku. Od trenutka kada je dizajniran, DNS saobraćaj se rutinski odvija preko UDP porta 53, bez ikakve enkripcije, autentifikacije ili zaštite integriteta. Za internet provajdere (ISP), ovo je bio i ostao najlakši način za nadzor, analitiku i cenzuru saobraćaja.
Kada god ukucate adresu u browser, vaš računar šalje DNS upit u plaintext-u. ISP, koristeći osnovni Deep Packet Inspection (DPI) ili običan packet sniffing, može precizno da mapira vaše navike, profiliše vas kao korisnika, ili u slučaju državne cenzure jednostavno odbaci ili preusmeri upite ka nepoželjnim domenima. Međutim, prelazak na DNS over HTTPS (DoH) i implementacija Encrypted ClientHello (ECH, ranije ESNI) standarda, trajno menja pravila igre u mrežnoj arhitekturi.
Zašto je UDP 53 ranjiv i kako DoH menja paradigmu
Tradicionalni DNS je trivijalno presresti. Na nivou rutera, operateru je dovoljno da napravi obično dst-nat pravilo koje će sav saobraćaj sa destinacionim portom 53 preusmeriti na ISP-ov lokalni DNS server. Korisnik u većini slučajeva neće ni primetiti da mu je saobraćaj otet i logovan.
DNS over HTTPS (DoH) rešava ovaj problem tako što DNS upite pakuje u standardni HTTP/2 ili HTTP/3 format i kriptuje ih kroz TLS (Transport Layer Security). DNS saobraćaj više ne ide preko porta 53, već preko TCP ili UDP porta 443, i mrežnoj opremi se ne razlikuje od bilo kog drugog HTTPS saobraćaja. Za ISP, DPI filteri koji traže DNS pakete postaju beskorisni. Zabrana porta 443 nije opcija, jer to znači gašenje celog modernog interneta. Operateri više ne vide koje domene tražite u DNS upitima, već vide samo HTTPS konekciju ka poznatim DoH rezolverima poput Cloudflare-a ili Google-a.
SNI rupa u TLS-u: Zašto DoH nije bio dovoljan
Iako je DoH uspešno sakrio sam DNS upit, ostao je jedan ozbiljan arhitektonski problem. Kada browser dobije IP adresu i pokuša da uspostavi TLS konekciju sa ciljnim web serverom, on šalje takozvani "ClientHello" paket. U tom paketu se nalazi Server Name Indication (SNI) polje, koje serveru govori kom tačno domenu klijent želi da pristupi, s obzirom na to da jedna IP adresa danas hostuje stotine hiljada domena iza CDN-a.
Ovo SNI polje se slalo u plaintext obliku. Dakle, ISP više nije mogao da vidi vaš DNS upit zbog DoH protokola, ali je nekoliko milisekundi kasnije, tokom uspostavljanja TLS sesije, mogao da pročita SNI polje i tačno vidi koji domen posećujete. Cenzura se operativno samo premestila sa porta 53 na čitanje SNI polja u TLS handshake-u.
ECH (Encrypted ClientHello): Zid za DPI sisteme
Ovde na scenu stupa Encrypted ClientHello (ECH), evolucija ranijeg ESNI standarda. Da bi se SNI sakrio, klijent mora da ga kriptuje pre nego što ga pošalje. Ali kako kriptovati podatak za server sa kojim još niste ni razmenili ključeve?
Rešenje se oslanja upravo na DoH. Klijent preko sigurnog DoH kanala prvo preuzima javni ključ ciljnog servera direktno iz DNS zapisa (tipa HTTPS ili TXT). Zatim, klijent koristi taj ključ da kriptuje kompletan ClientHello paket, uključujući i SNI polje. Kriptovani paket se šalje serveru, koji ga dekriptuje svojim privatnim ključem i uspostavlja konekciju.
U ovom scenariju, ISP na svom DPI sistemu vidi samo sledeće:
-
Kriptovanu konekciju ka DoH serveru.
-
Kriptovanu TLS sesiju ka nekoj CDN IP adresi (npr. Cloudflare mreži).
ISP apsolutno nema informaciju koji domen klijent trazi. Blokiranje po domenu postaje tehnički neizvodljivo na mrežnom nivou. Jedini način da ISP blokira pristup određenom sajtu jeste blokada kompletne IP adrese ili celog CDN opsega, što dovodi do masivne kolateralne štete i obaranja hiljada potpuno legitimnih sajtova koji dele istu infrastrukturu.
Usvajanje ECH i uloga CloudFlare-a
Cloudflare je odigrao ključnu ulogu u masovnoj adopciji ECH standarda tako što je ovu tehnologiju implementirao direktno na svojoj edge infrastrukturi i aktivirao je podrazumevano za milione domena. Vlasnici sajtova i sistem administratori nisu morali da menjaju apsolutno ništa u konfiguraciji svojih origin servera, jer Cloudflare funkcioniše kao reverse proxy koji terminira TLS sesiju i automatski plasira neophodne ECH ključeve klijentima kroz svoje DNS zapise. Ovakav model implementacije bez ikakve intervencije korisnika doveo je do toga da značajan segment globalnog web saobraćaja u veoma kratkom roku postane potpuno otporan na SNI inspekciju. Iz ugla internet provajdera, ova centralizovana tranzicija je napravila ozbiljan tehnološki zid, pošto je DPI oprema preko noći ostala slepa za ogroman broj sajtova, čime je masovno presretanje, profilisanje i beleženje korisničkih navika na mrežnom nivou postalo neizvodljivo.
Šta sve ovo znači za budućnost mrežne analitike i provajdere
Za krajnje korisnike, DoH i ECH predstavljaju ozbiljan korak napred u zaštiti privatnosti. Za telekomunikacione operatore i sistem administratore, ovo znači kraj ere jeftinog i jednostavnog upravljanja mrežom.
Skupi hardverski i softverski DPI sistemi, na koje su provajderi potrošili ozbiljan novac za potrebe QoS-a, analitike, filtriranja saobraćaja i ispunjavanja zakonskih normi o presretanju, postaju praktično slepi. Tradicionalni sistemi za L7 filtriranje padaju u vodu. Analitika saobraćaja moraće da se osloni na heuristiku, prepoznavanje šablona saobraćaja (traffic pattern analysis) i praćenje AS destinacija na BGP nivou, što zahteva znatno veću procesorsku moć i nikada nije precizno kao obično čitanje stringova iz paketa.
Mreža postaje crna kutija za sve koji se nalaze između klijenta i servera. Svidelo se to operaterima ili ne, tranzicija sa plaintext-a u potpuno kriptovane tunele je već uveliko u toku, a tehnologije poput ECH zatvaraju poslednji prozor tradicionalnog ISP nadzora.
Nema komentara