Utilizare greșită și abuz de server NTP - NTP server misuse and abuse

Utilizarea și abuzul serverului NTP acoperă o serie de practici care cauzează deteriorarea sau degradarea unui server Network Time Protocol (NTP), variind de la inundarea acestuia cu trafic (efectiv un atac DDoS ) sau încălcarea politicii de acces a serverului sau a regulilor de angajare NTP . Un incident a fost denumit vandalism NTP într-o scrisoare deschisă de la Poul-Henning Kamp către producătorul de router D-Link în 2006. Acest termen a fost ulterior extins de alții pentru a include retroactiv alte incidente. Cu toate acestea, nu există dovezi că oricare dintre aceste probleme este vandalism deliberat. Acestea sunt cauzate, de obicei, de configurații implicite miope sau slab alese.

O formă deliberată de abuz de servere NTP a luat notă la sfârșitul anului 2013, când serverele NTP au fost utilizate ca parte a atacurilor de refuz de serviciu de amplificare . Unele servere NTP ar răspunde la un singur pachet de solicitare UDP „monlist”, cu pachete care descriu până la 600 de asociații. Prin utilizarea unei cereri cu o adresă IP falsificată, atacatorii ar putea direcționa un flux amplificat de pachete către o rețea. Acest lucru a dus la unul dintre cele mai mari atacuri distribuite de refuz de serviciu cunoscute la acea vreme.

Probleme obișnuite ale clientului NTP

Cele mai supărătoare probleme au implicat adresele serverului NTP codificate în firmware - ul dispozitivelor de rețea pentru consumatori. Întrucât principalii producători și OEM-uri au produs sute de mii de dispozitive care utilizează NTP, împreună cu clienții, care nu actualizează aproape niciodată firmware-ul acestor dispozitive, problemele de furtuni de interogare NTP vor persista atât timp cât dispozitivele sunt în funcțiune.

O eroare software NTP deosebit de comună este generarea de pachete de interogare la intervale scurte (mai puțin de cinci secunde) până la primirea unui răspuns

  • Când este plasată în spatele unor firewall-uri agresive care blochează răspunsurile serverului, această implementare duce la un flux nesfârșit de cereri ale clienților către serverele NTP blocate diferit.
  • Astfel de clienți prea dornici (în special cei care sondează o dată pe secundă) reprezintă de obicei mai mult de 50% din traficul serverelor NTP publice, în ciuda faptului că reprezintă o fracțiune minusculă din totalul clienților.

Deși ar putea fi rezonabil din punct de vedere tehnic să trimiteți câteva pachete inițiale la intervale scurte, este esențial pentru sănătatea oricărei rețele ca reîncercările conexiunii clientului să fie generate la rate logaritmice sau exponențiale care să scadă pentru a preveni refuzul de serviciu .

Acest lucru în protocol exponențial sau retrogradare logaritmică se aplică oricărui protocol fără conexiune și, prin extensie, multe porțiuni de protocoale bazate pe conexiune. Exemple ale acestei metode de retrogradare pot fi găsite în specificația TCP pentru stabilirea conexiunii, verificarea ferestrei zero și transmisiile keepalive.

Cazuri notabile

Tardis și Trinity College, Dublin

În octombrie 2002, unul dintre primele cazuri cunoscute de utilizare necorespunzătoare a serverului de timp a dus la probleme pentru un server web de la Trinity College, Dublin . Traficul a fost urmărit în cele din urmă la comportarea necorespunzătoare a unui program numit Tardis, cu mii de copii din întreaga lume care contactează serverul web și obțin un timestamp prin HTTP. În cele din urmă, soluția a fost modificarea configurației serverului web, astfel încât să livreze o versiune personalizată a paginii de pornire (foarte redusă în dimensiune) și să returneze o valoare de timp falsă, ceea ce a determinat majoritatea clienților să aleagă un server de timp diferit. O versiune actualizată a Tardis a fost lansată ulterior pentru a corecta această problemă.

Netgear și Universitatea din Wisconsin – Madison

Primul caz cunoscut de probleme de server NTP a început în mai 2003, când Netgear "produse hardware e inundat Universitatea din Wisconsin-Madison e serverul NTP cu cereri. Personalul universității a presupus inițial că acesta a fost un atac rău intenționat de negare a serviciului și a luat măsuri pentru a bloca inundația la granița rețelei lor. În loc să diminueze (așa cum fac majoritatea atacurilor DDOS), fluxul a crescut, ajungând la 250.000 de pachete pe secundă (150 megabiți pe secundă) până în iunie. Ancheta ulterioară a relevat că patru modele de routere Netgear au fost sursa problemei. S-a constatat că clientul SNTP (Simple NTP) din routere are două defecte grave. În primul rând, se bazează pe un singur server NTP (la Universitatea din Wisconsin – Madison) a cărui adresă IP a fost codificată în firmware. În al doilea rând, sondează serverul la intervale de o secundă până când primește un răspuns. Au fost produse în total 707.147 de produse cu clientul defect.

Netgear a lansat actualizări de firmware pentru produsele afectate (DG814, ​​HR314, MR814 și RP614) care interogă propriile servere Netgear, interogă doar o dată la zece minute și renunță după cinci eșecuri. În timp ce această actualizare remediază defectele clientului SNTP original, nu rezolvă problema mai mare. Majoritatea consumatorilor nu își vor actualiza niciodată firmware-ul routerului, mai ales dacă dispozitivul pare să funcționeze corect. Serverul NTP al Universității din Wisconsin – Madison continuă să primească un nivel ridicat de trafic de la routerele Netgear, cu inundații ocazionale de până la 100.000 de pachete pe secundă. Netgear a donat 375.000 de dolari Diviziei de Tehnologia Informației a Universității din Wisconsin – Madison pentru ajutorul lor în identificarea defectului.

SMC și CSIRO

Tot în 2003, un alt caz a obligat serverele NTP ale Laboratorului Național de Măsurare al Organizației de Cercetare Științifică și Industrială a Commonwealth-ului Australian ( CSIRO ) să se apropie de public. S-a arătat că traficul provine dintr-o implementare NTP greșită în unele modele de router SMC în care adresa IP a serverului CSIRO era încorporată în firmware. SMC a lansat actualizări de firmware pentru produse: se știe că modelele 7004VBR și 7004VWBR sunt afectate.

D-Link și Poul-Henning Kamp

În 2005, Poul-Henning Kamp , managerul singurului server danez Stratum 1 NTP disponibil publicului larg, a observat o creștere uriașă a traficului și a descoperit că între 75 și 90% provine din produsele routerului D-Link. Serverele NTP Stratum 1 primesc semnalul de timp de la o sursă externă precisă, cum ar fi un receptor GPS, un ceas radio sau un ceas atomic calibrat. Prin convenție, serverele de timp Stratum 1 ar trebui utilizate numai de aplicațiile care necesită măsurători de timp extrem de precise, cum ar fi aplicațiile științifice sau serverele Stratum 2 cu un număr mare de clienți. Un router de rețea la domiciliu nu îndeplinește niciunul dintre aceste criterii. În plus, politica de acces a serverelor Kamp a limitat-o ​​în mod explicit la serverele conectate direct la Exchange- ul danez (DIX). Utilizarea directă a acestui și a altor servere Stratum 1 de către routerele D-Link a dus la o creștere imensă a traficului, crescând costurile lățimii de bandă și încărcarea serverului.

În multe țări, serviciile oficiale de cronometrare sunt furnizate de o agenție guvernamentală (cum ar fi NIST în SUA). Deoarece nu există echivalent danez, Kamp oferă serviciul său de timp „ pro bono public ”. În schimb, DIX a fost de acord să ofere o conexiune gratuită pentru serverul său de timp, presupunând că lățimea de bandă implicată ar fi relativ redusă, având în vedere numărul limitat de servere și potențiali clienți. Odată cu creșterea traficului cauzat de routerele D-Link, DIX i-a solicitat să plătească o taxă de conectare anuală de 54.000 DKK (aproximativ 9.920 USD sau 7.230 EUR ).

Kamp a luat legătura cu D-Link în noiembrie 2005, în speranța că îi va determina să remedieze problema și să-l compenseze pentru timpul și banii pe care i-a cheltuit urmărind problema și taxele de lățime de bandă cauzate de produsele D-Link. Compania a negat orice problemă, l-a acuzat de extorcare și a oferit o sumă de despăgubire pe care Kamp a afirmat că nu i-a acoperit cheltuielile. La 7 aprilie 2006, Kamp a postat povestea pe site-ul său. Povestea a fost preluată de Slashdot , Reddit și alte site-uri de știri. După ce a devenit public, Kamp și-a dat seama că routerele D-Link interogau direct alte servere de timp Stratum 1, încălcând politicile de acces a cel puțin 43 dintre ele în acest proces. La 27 aprilie 2006, D-Link și Kamp au anunțat că și-au „rezolvat pe cale amiabilă” disputa.

Furnizori IT și swisstime.ethz.ch

De peste 20 de ani ETH Zurich a oferit acces deschis la serverul de timp swisstime.ethz.ch pentru sincronizarea operațională a timpului. Datorită utilizării excesive a lățimii de bandă, în medie de peste 20 GB / zi, a devenit necesară direcționarea utilizării externe către grupurile de servere de timp public, cum ar fi ch. pool.ntp.org . Utilizarea necorespunzătoare, cauzată în principal de furnizorii de IT care își sincronizează infrastructurile clienților, a făcut cereri neobișnuit de mari în traficul de rețea, determinând astfel ETH să ia măsuri eficiente. Începând din toamna anului 2012, disponibilitatea swisstime.ethz.ch a fost schimbată în acces închis. De la începutul lunii iulie 2013, accesul la server este blocat în întregime pentru protocolul NTP.

Snapchat pe iOS

În decembrie 2016, comunitatea operatorilor NTPPool.org a observat o creștere semnificativă a traficului NTP, începând cu 13 decembrie.

Investigațiile au arătat că aplicația Snapchat care rulează pe iOS era predispusă la interogarea tuturor serverelor NTP care au fost codificate într-o bibliotecă terță parte iOS NTP și că o cerere către un domeniu deținut de Snapchat a urmat inundației de cerere NTP. După ce Snap Inc. a fost contactat, dezvoltatorii lor au rezolvat problema în termen de 24 de ore de la notificare, cu o actualizare a aplicației lor. Ca scuză și pentru a ajuta la gestionarea sarcinii pe care au generat-o, Snap a contribuit, de asemenea, cu servere de timp în bazinele NTP din Australia și America de Sud.

Ca efect secundar pozitiv, biblioteca NTP utilizată este open source, iar setările implicite predispuse la erori au fost îmbunătățite după feedback-ul comunității NTP.

Testarea conectivității pe extensiile Wi-Fi TP-Link

Firmware-ul pentru extensiile Wi-Fi TP-Link în 2016 și 2017 a codificat cinci servere NTP, inclusiv Universitatea Fukuoka din Japonia și grupurile de servere NTP din Australia și Noua Zeelandă, și ar emite în mod repetat o solicitare NTP și cinci cereri DNS la fiecare cinci secunde consumând 0,72 GB pe lună pe dispozitiv. Solicitările excesive au fost utilizate în mod greșit pentru a alimenta o verificare a conectivității la Internet care afișa starea de conectivitate a dispozitivului în interfața lor de administrare web.

Problema a fost recunoscută de sucursala TP-Link din Japonia, care a împins compania să reproiecteze testul de conectivitate și să emită actualizări de firmware care să abordeze problema pentru dispozitivele afectate. Este puțin probabil ca dispozitivele afectate să instaleze noul firmware, deoarece extensiile WiFi de la TP-Link nu instalează automat actualizări de firmware și nici nu notifică proprietarul cu privire la disponibilitatea actualizării firmware-ului. Disponibilitatea actualizării firmware-ului TP-Link variază, de asemenea, în funcție de țară, chiar dacă problema afectează toate extensiile de gamă WiFi vândute la nivel global.

Serverele Universității Fukuoka sunt raportate ca fiind închise cândva între februarie și aprilie 2018 și ar trebui să fie eliminate din listele serverelor NTP Public Time.

Soluții tehnice

După aceste incidente, a devenit clar că, în afară de declararea politicii de acces a unui server, era nevoie de un mijloc tehnic de aplicare a politicii. Un astfel de mecanism a fost furnizat prin extinderea semanticii unui câmp de identificare de referință într-un pachet NTP atunci când un câmp Stratum este 0.

În ianuarie 2006, RFC 4330 a fost publicat, actualizând detaliile protocolului SNTP , dar și clarificând și extinzând provizoriu protocolul NTP aferent în unele zone. Secțiunile 8-11 din RFC 4330 sunt de o relevanță deosebită pentru acest subiect (Pachetul Kiss-o'-Death, Despre a fi un bun cetățean în rețea, cele mai bune practici, Considerații de securitate). Secțiunea 8 introduce pachete Kiss-o'-Death:

În NTPv4 și SNTPv4, pachetele de acest fel se numesc pachete Kiss-o'-Death (KoD), iar mesajele ASCII pe care le transmit sunt numite coduri de sărut. Pachetele KoD și-au primit numele deoarece o utilizare timpurie a fost să le spun clienților să nu mai trimită pachete care încalcă controlul accesului la server.

Chrony cu suport Network Time Security pentru NTP (NTS)

Noile cerințe ale protocolului NTP nu funcționează retroactiv, iar clienții vechi și implementările versiunilor anterioare ale protocolului nu recunosc KoD și acționează asupra acestuia. Deocamdată nu există mijloace tehnice bune pentru a contracara utilizarea abuzivă a serverelor NTP.

În 2015, din cauza unor posibile atacuri la Network Time Protocol, a fost propusă o Network Time Security for NTP ( Internet Draft draft-ietf-ntp-using-nts-for-ntp-19 ) folosind o implementare de Transport Layer Security . Pe 21 iunie 2019, Cloudflare a început un serviciu de încercare în întreaga lume, bazat pe o versiune anterioară de Internet.

Referințe

linkuri externe