DNSFS: Hack-ul de stocare în cloud care îți va da fiori
DNSFS: Cel Mai Neobișnuit Hack de Stocare Cloud pe Care Îl Vei Vedea
Începe cu un experiment mental. Imaginează-ți că poți stoca fișiere nu pe AWS S3, nu într-o bază de date distribuită, ci direct în cache-urile DNS ale milioanelor de servere de pe internet. Datele tale ar pluti efectiv prin glob, fragmentate pe dispozitive pe care nu le deții, în rezolvere despre care probabil nici nu știai că există.
Sună ca ceva dintr-un roman cyberpunk, nu? Ei bine, cineva chiar l-a construit.
Descoperirea Care a Pornit Totul
Înainte să ajungem la lucrurile tari, să vorbim despre ceva ce majoritatea dezvoltatorilor consideră de la sine înțeles: TTL-urile DNS. Când cauți un domeniu, rezolverul ține minte rezultatul pentru o perioadă stabilită înainte să verifice din nou. Majoritatea dintre noi presupunem că e vorba de câteva minute sau ore.
Dar iată twist-ul: unele rezolvere vor ține minte intrările fără probleme pentru o săptămână întreagă, dacă le ceri frumos.
Această descoperire a dus la o întrebare fascinantă: dacă cache-urile DNS pot păstra date atât de mult timp, am putea stoca fișiere în ele în mod deliberat? Nu doar căutări de domenii, ci date reale?
Răspunsul,-surprinzător, este da.
Meet DNSFS: Stocare de Fișiere Ascunsă în Plină Vedere
DNSFS își ia inspirația dintr-un hack anterior numit PingFS, care stoca date în secțiunile payload ale pachetelor ICMP ping. Problema cu PingFS? Trebuia să pinguiești constant înainte și înapoi pentru a menține datele în viață. Dacă opreai transmisia, datele dispăreau.
DNSFS îmbunătățește dramatic acest concept. Pentru că rezolverele DNS pun datele în cache, odată ce stochezi o bucată de date în cache-ul unui rezolver, aceasta persistă fără să mai fie nevoie să o ceri în mod repetat. Rezolverul face treaba pentru tine.
Gândește-te la asta un moment. Folosești efectiv infrastructura altor persoane—fără să știe—ca sistem de stocare a fișierelor distribuit și redundant.
Cum Funcționează în Practică
Implementarea tehnică este egal parte ingenioasă și parte îngrijorătoare.
Pentru a face asta să funcționeze, ai nevoie de rezolvere DNS deschise—servere care răspund la interogări pentru orice domeniu, nu doar pentru cele pentru care sunt autoritare. Tehnic, acestea ar trebui protejate de firewall de internetul public pentru că prezintă risc de DDoS prin reflexie. Dar iată problema: milioane de dispozitive ajung la utilizatori cu servicii DNS configurate greșit și accesibile de oriunde.
Sistemul funcționează prin spargerea fișierelor în bucăți microscopice, codificarea lor ca interogări DNS și distribuirea acelor interogări prin internet. Fiecare rezolver care primește și pune în cache o interogare acum ține o bucată din fișierul tău. Pentru a recupera datele, pur și simplu cauți aceleași rezolvere și reconstruiești bucățile.
Frumusețea (și oroarea) acestui sistem este că datele persistă în cache până la expirarea TTL-ului—nu e nevoie de conexiune continuă.
Scanând Internetul pentru Rezolvere Deschise
Aici lucrurile devin impresionate și, în același timp, puțin neliniștitoare.
Construirea DNSFS necesită găsirea de rezolvere deschise răsfirate prin internet. Asta înseamnă scanarea miliardelor de adrese IP pentru a identifica care vor răspunde la interogări DNS pentru domenii arbitrare.
Un dezvoltator a folosit masscan combinat cu reguli BPF (Berkeley Packet Filter) ingenioase pentru a identifica eficient doar rezolverele utile—filtrând serverele autoritare-only și alte zgomote. Rezultatul? Aproximativ 4 milioane de rezolvere DNS deschise răspândite prin lume.
Distribuția geografică este revelatoare. China conduce cu peste 1,4 milioane de rezolvere deschise, urmată de Statele Unite, Coreea de Sud, Rusia și Brazilia. Dar iată metrica mai interesantă: când normalizezi după utilizatori de internet, națiunile mici precum Saint Kitts și Nevis au o densitate remarcabilă de rezolvere—aproximativ un rezolver la fiecare 51 de persoane.
De Ce Contează (Dincolo de Factorul Cool)
Să fie clar: DNSFS nu este absolut o soluție de stocare pentru producție. Este lent, nesigur, complet neverificat și, arguabil, un coșmar de securitate. Rularea unei scanări complete a internetului pentru rezolvere deschise ridică și întrebări etice serioase despre consimțământ și granițele rețelelor.
Dar asta nu e punctul.
DNSFS reprezintă tipul de gândire creativă, care împinge limitele și avansează înțelegerea sistemelor de rețea. Evidențiază cât de multă infrastructură configurată greșit există pe internet, provocând conversații importante despre întărirea securității. Demonstrează persistența surprinzătoare a datelor în cache în sistemele distribuite. Și arată cum protocoale aparent rigide pot fi recontextualizate în moduri neașteptate.
Este și un memento că internetul este mult mai dezordonat decât presupunem de obicei. Acele milioane de rezolvere deschise? Rulează pe routere de acasă, dispozitive IoT, echipamente enterprise și de toate. Majoritatea administratorilor n-au habar că serviciile lor DNS sunt accesibile din exterior.
Lecțiile pentru Dezvoltatori
DNSFS nu va stoca datele aplicației tale prea curând, dar oferă lecții valoroase:
Protocoalele sunt doar puncte de plecare. DNS a fost creat pentru rezolvarea numelor. Asta nu înseamnă că e limitat la acel caz de utilizare.
Supozițiile de securitate contează. Rezolverele deschise există pentru că cineva a configurat greșit ceva. Audită mereu expunerea infrastructurii tale.
Constrângerile creative nasc inovația. Cele mai bune hacks vin adesea din lucrul în limitări neașteptate. DNSFS există pentru că cineva a întrebat „ce-ar fi dacă foloseam cache-ul?"
Internetul este mai ciudat și mai maleabil decât realizează majoritatea dintre noi. Uneori cele mai interesante sisteme sunt cele care probabil nici nu ar trebui să funcționeze.
Ai întâlnit exploits de protocol neobișnuite sau hacks creative de infrastructură? Echipa NameOcean adoră să audă despre modalitățile inventive prin care dezvoltatorii împing tehnologia la limită.