Deep Packet Inspection (abreviar DPI) este o tehnologie de verificare a pachetelor de rețea după conținutul lor pentru a regla și filtra traficul, precum și pentru a acumula date statistice. Spre deosebire de firewall -uri , Deep Packet Inspection analizează nu numai anteturile pachetelor , ci și sarcina utilă, începând de la al doilea strat (link) al modelului OSI . Tehnologia Deep Packet Inspection permite furnizorilor de servicii de internet și agențiilor guvernamentale să aplice politici QoS flexibile la diferite tipuri de trafic, să restricționeze accesul la resurse interzise, să detecteze intruziunile în rețea și să oprească răspândirea virușilor informatici .
Deep Packet Inspection poate lua o decizie nu numai asupra conținutului pachetelor , ci și asupra semnelor indirecte inerente unor programe și protocoale specifice de rețea . Pentru aceasta se poate folosi analiza statistică (de exemplu, analiza statistică a frecvenței de apariție a anumitor caractere, lungimea pachetului etc.).
Deep Packet Inspection este uneori folosită pentru a bloca anumite protocoale, cum ar fi BitTorrent . Cu ajutorul Deep Packet Inspection, puteți determina aplicația care a generat sau a primit datele și puteți lua unele măsuri pe baza acesteia. Deep Packet Inspection poate colecta statistici detaliate de conectare pentru fiecare utilizator în mod individual. De asemenea, cu ajutorul QoS , Deep Packet Inspection poate controla rata de transmisie a pachetelor individuale prin creșterea acesteia sau, dimpotrivă, reducerea acesteia. Potrivit unor furnizori de internet , Deep Packet Inspection vă permite să conțineți aplicații care blochează canalul de internet, să schimbați prioritățile pentru transferul diferitelor tipuri de date , de exemplu, accelerarea deschiderii paginilor de Internet prin reducerea vitezei de descărcare a fișierelor mari. Uneori, Deep Packet Inspection este utilizată în corporațiile mari pentru a preveni scurgerile accidentale de date , precum și pentru a proteja împotriva trimiterii de fișiere interne protejate prin e-mail .
Primele firewall -uri ar putea fi implementate în două moduri.
În prima metodă , serverul proxy a protejat rețeaua locală internă de accesul din lumea exterioară. Serverul proxy verifică dacă pachetele de rețea corespund criteriilor specificate. După aceea, fie le îndepărtează, fie le trimite mai departe. Acest lucru a fost folosit în mod tradițional deoarece reduce riscul ca cineva să exploateze vulnerabilitățile protocolului .
În a doua metodă , firewall -ul a folosit un program care filtrează pachetele de rețea în funcție de seturi de reguli. Astfel de programe se numesc firewall-uri de filtrare. Un firewall de filtrare este capabil să blocheze pachetele care nu se potrivesc cu unele reguli simple, cum ar fi IP sursă, IP destinație, port sursă , port destinație. Aceste filtre de pachete sunt cel mai rapid tip de firewall, deoarece calculează foarte puțin. Ușurința de implementare vă permite să creați un astfel de firewall sub forma unui cip.
De la început, proxy-urile au fost considerate mai sigure decât filtrele de pachete, deoarece erau mai granulare în inspecția pachetelor [1] .
Evoluția firewall-urilor bazate pe proxy a condus la primele programe Deep Packet Inspection. Acestea au fost create pentru a elimina problemele de rețea și pentru a bloca virușii , precum și pentru a proteja împotriva atacurilor DoS . Inițial, computerele pe care a fost instalat Deep Packet Inspection nu erau suficient de puternice pentru a monitoriza traficul de internet al tuturor utilizatorilor în timp real.
După ceva timp, când a devenit posibil să se lucreze cu programele Deep Packet Inspection în timp real, acestea au fost folosite de furnizorii de servicii de internet în principal pentru a organiza publicitate direcționată și pentru a reduce congestionarea rețelei. Astăzi, Deep Packet Inspection este capabilă de mult mai mult decât să ofere securitate. ISP-ii au capacitatea de a controla traficul de trecere al oricăruia dintre clienții lor. Deținerea de instrumente pentru blocarea selectivă a traficului oferă ISP-urilor posibilitatea de a adăuga servicii suplimentare plătite și de a câștiga venituri suplimentare din acestea, deși, în esență, acest lucru încalcă neutralitatea rețelei . [2] În prezent, în unele țări, furnizorii de servicii de internet sunt obligați să efectueze filtrarea în conformitate cu legile țării. Programele Deep Packet Inspection sunt uneori folosite pentru a detecta și bloca traficul ilegal sau care încalcă drepturile [3] , sau pentru a colecta informații despre site-urile vizitate pentru a le vinde rețelelor publicitare [4] .
Recent, volumul traficului de trecere a crescut considerabil. Începe să reapară problema că calculatoarele nu pot face față analizei întregului trafic în timp real, sau costul computerelor va fi prea mare. Cu toate acestea, tehnologiile moderne fac deja posibilă realizarea unei inspecții profunde de pachete complet funcționale sub forma unui router special [5] .
Un octet special este alocat în structura pachetului de protocol IPv4 pentru a indica numărul protocolului stratului de transport. Este al zecelea octet de la începutul antetului IPv4 al pachetului. De exemplu: numărul 6 este pentru TCP , 17 este pentru UDP .
Există, de asemenea, o zonă specială în structura de pachete IPv6 care conține același identificator de protocol al stratului de transport. Această zonă este numită Următorul Antet [6] .
Dispozitivele DPI pot restricționa accesul la gazde sau resurse prin adresele lor IP . Acesta este un mod comun, simplu, ieftin și eficient de a bloca conținutul interzis. Dificultatea constă în faptul că adresa IP nu este întotdeauna singurul și neechivoc identificator al serverului. În acest caz, serviciile permise care sunt găzduite pe aceeași adresă IP pot avea, de asemenea, de suferit. De asemenea, această metodă este dificil de aplicat eficient dacă este utilizată o rețea de livrare de conținut , constând din multe adrese IP care se schimbă. În Iran și China , accesul la serverele proxy utilizate pentru a ocoli blocarea , inclusiv cele incluse în Tor [7] , este limitat de adresa IP .
Unul dintre declanșatorii obișnuiți în funcționarea DPI sunt interogările DNS . Orice utilizator, pentru a deschide o pagină web pe Internet, trebuie să trimită numele de domeniu al gazdei sau al resursei dorite către serverul DNS . Pachetele sunt schimbate între serverele DNS și clienți într-o formă necriptată utilizând protocolul UDP . O caracteristică caracteristică a DNS, care vă permite să-l identificați printre restul traficului, funcționează exclusiv pe portul 53 . Astfel, dispozitivele DPI pot detecta cereri către orice server DNS public [8] [9] .
Este dificil să identifici traficul pentru anumite cuvinte cheie , deoarece sarcina utilă este de obicei criptată (o excepție este schimbul prin protocolul http ). Serviciul țintă poate fi identificat indirect prin șirul de indicare a numelui serverului trimis ca parte a stabilirii sesiunii TLS într-un mesaj Client Hello [7] necriptat .
Clienții BitTorrent se conectează la tracker folosind protocolul TCP . Pentru a detecta astfel de pachete printre tot traficul TCP, este suficient să verificați dacă conținutul de date al pachetului TCP din al doilea octet se potrivește cu „protocolul BitTorrent” [10] .
De asemenea, pentru identificarea acestora, se face o analiză a unei secvențe de pachete care au aceleași caracteristici, precum Source_IP:port - Destination_IP:port, dimensiunea pachetului, frecvența deschiderii de noi sesiuni pe unitatea de timp etc., în funcție de comportament. modele (euristice) corespunzătoare unor astfel de aplicații. Interpretările modelelor comportamentale ale protocoalelor corespunzătoare și, prin urmare, acuratețea detectării, variază între diferiții producători de echipamente [11] .
Pentru a identifica protocolul HTTP , este suficient să verificați dacă pachetul este TCP , iar conținutul acestui pachet TCP începe cu una dintre următoarele comenzi: „GET”, „POST”, „HEAD”, „PUT”, „DELETE”. „, „CONECTARE”, „OPȚIUNI”, „URMĂ”, „PETIC” [12] . În plus, trebuie să existe un spațiu după comandă, iar textul „HTTP /” trebuie să apară și după un anumit interval. Dacă toate acestea sunt făcute, atunci acest pachet poartă o cerere HTTP [10] .
Pentru a detecta pachetele RTSP din tot traficul , este suficient să vă asigurați că pachetul este TCP și că conținutul acestui pachet TCP începe cu una dintre următoarele comenzi: „OPȚIUNI”, „DESCRIBE”, „ANNUNȚE”, „JOAȚI”. „, „SETUP”, „GET_PARAMETER”, „SET_PARAMETER”, „TEARDOWN”. Comanda trebuie să fie urmată de un spațiu. De asemenea, după un anumit interval ar trebui să apară textul „RTSP/” [10] .
Din punct de vedere operațional, operatorul poate controla eliminarea canalelor conectate prin DPI la nivelul aplicației. Anterior, el a rezolvat sarcinile de implementare a QoS (Quality of Service) numai prin construirea de cozi bazate pe marcarea traficului cu biți de serviciu în anteturile IP, 802.1q și MPLS , evidențiind traficul cel mai prioritar (toate tipurile de VPN -uri , IPTV , etc.). SIP etc.) și garantându-i o anumită lățime de bandă în orice moment. Traficul Best Effort, care include tot traficul de internet al abonaților de acasă (HSI - High Speed Internet), a rămas practic necontrolat, ceea ce a făcut posibil ca același Bittorrent să preia toată lățimea de bandă liberă, ceea ce, la rândul său, a dus la degradare. a oricăror alte aplicații web. Cu utilizarea DPI, operatorul are posibilitatea de a distribui canalul între diferite aplicații. De exemplu, noaptea, permiteți traficului Bittorrent să ia mai multă lățime de bandă decât în timpul zilei, în orele de vârf, când există mult alt trafic web în rețea. O altă măsură populară pentru mulți operatori de telefonie mobilă este blocarea traficului Skype , precum și orice tip de telefonie SIP . În locul unei blocări complete, operatorul poate permite operarea acestor protocoale, dar la o viteză foarte mică cu o degradare corespunzătoare a calității serviciului pentru o anumită aplicație, pentru a forța utilizatorul să plătească pentru serviciile de telefonie tradițională, sau pentru un pachet de servicii speciale care permite accesul la serviciile VoIP .
Punctul important este că regulile pe baza cărora se realizează modelarea / blocarea pot fi stabilite folosind două baze principale - per-serviciu sau per-abonat. În primul caz, în cel mai simplu mod, se prevede că o anumită aplicație este permisă să dispună de o anumită bandă. În al doilea, legarea aplicației de bandă se realizează pentru fiecare abonat sau grup de abonați independent de alții, ceea ce se realizează prin integrarea DPI cu sistemele OSS / BSS existente ale operatorului . Adică puteți configura sistemul în așa fel încât abonatul Vasya, care a pompat 100 de gigaocteți de torenți într-o săptămână, să fie limitat în viteza de descărcare a acelorași torenți la nivelul de 70% din tarif. a cumparat pana la sfarsitul lunii. Iar pentru abonatul Petya, care a cumpărat un serviciu suplimentar numit „Skype fără probleme”, traficul aplicației Skype nu va fi blocat sub nicio formă, dar oricare altul este ușor. Puteți să vă legați de User-Agent și să permiteți navigarea numai cu browserele recomandate, puteți face redirecționări complicate în funcție de tipul de browser sau OS. Cu alte cuvinte, flexibilitatea planurilor și opțiunilor tarifare este limitată doar de bunul simț. Dacă vorbim de traficul operatorilor de telefonie mobilă, atunci DPI vă permite să controlați încărcarea fiecărei stații de bază separat, distribuind în mod corect resursele BS în așa fel încât toți utilizatorii să fie mulțumiți de calitatea serviciului. Majoritatea producătorilor de EPC (Evolved Packet Core) pentru LTE integrează funcționalitatea DPI în PDN-GW , adaptată pentru a rezolva problemele operatorilor de telefonie mobilă.
Hippie (Hi-Performance Protocol Identification Engine) este o implementare open source a Deep Packet Inspection pentru Linux în C. [10]
L7-filter este o altă implementare open source a Deep Packet Inspection pentru Linux în C, axată pe clasificarea datelor celui de-al șaptelea strat al modelului OSI . [13]
SPID (Statistical Protocol IDentification) este o implementare open source a Deep Packet Inspection pentru Windows în C#. Identifică protocolul celui de-al șaptelea strat al modelului OSI folosind analiza statistică a traficului [14] .
Deep Packet Inspection este capabil să modifice datele în . În Statele Unite ale Americii și Marea Britanie, Deep Packet Inspection este adesea folosită pentru a genera anunțuri bazate pe comportamentul abonaților. Astfel, se implementează așa-numitul target marketing [15] .
Principalii operatori de telefonie mobilă din Rusia au implementat DPI în 2009 ( MegaFon , echipamente Huawei ), 2010 ( MTS , Cisco) și 2011 ( Beeline , Procera). De asemenea, pot folosi DPI pentru a suprima serviciile peer-to-peer și VoIP [16] [17] . Rostelecom intenționează să implementeze DPI pentru Internetul mobil în 2014.
De la începutul anului 2010, iMarker , o companie cipriotă (înregistrată și care operează în conformitate cu legile Republicii Cipru [18] ), oferă furnizorilor de servicii de internet instalarea gratuită a sistemelor DPI (Gigamon, Xterica) pentru a viza publicitatea online. Un astfel de sistem primește informații despre toate site-urile vizitate de utilizatori și, pe baza acesteia, îi poate oferi acestuia publicitate personalizată. Potrivit ziarului Vedomosti, 11 operatori au instalat deja un astfel de sistem, inclusiv 4 filiale regionale ale Rostelecom; acoperirea totală a fost estimată de către fondatorul companiei la sfârșitul anului 2013 la 12% din audiența internetului din Rusia [19] [20] [21] [22] . Mai târziu, iMarker a devenit de fapt parte a companiei americane Phorm , oferind servicii similare furnizorilor de servicii de internet europeni.
În Rusia, tendințele de implementare a inspecției profunde a pachetelor în rândul furnizorilor de internet sunt, de asemenea, asociate cu legea federală nr. 139 privind modificările la legea „Cu privire la protecția copiilor împotriva informațiilor dăunătoare sănătății și dezvoltării lor” (intrat în vigoare la 1 noiembrie). , 2012). Majoritatea furnizorilor de servicii de internet blochează site-urile aflate pe lista neagră numai pe baza adreselor IP ale acelor site-uri. Dar unii furnizori pot bloca adrese URL selective dacă folosesc Inspecția profundă a pachetelor pentru a analiza cererile HTTP [23] [24] . Pentru conexiunile criptate ( HTTPS ) DPI este dificil de aplicat.
Unul dintre obstacolele în calea utilizării obligatorii a tehnologiilor DPI de către furnizorii ruși pentru a bloca site-urile interzise a fost costul ridicat al unor astfel de soluții, precum și disponibilitatea unor alternative mai ieftine pentru filtrarea URL-urilor în vederea respectării legii [25] .
Principalele argumente ale oponenților utilizării Deep Packet Inspection sunt încălcarea unor drepturi ale omului precum dreptul la confidențialitate și dreptul la confidențialitate a corespondenței, precum și nerespectarea implementărilor cu regulile de confidențialitate . De asemenea, utilizarea Deep Packet Inspection pentru a prioritiza traficul încalcă neutralitatea rețelei [26] .
Pe 12 mai 2017, în Azerbaidjan , după ce site-urile independente de știri ale opoziției au fost blocate, toate apelurile prin internet au fost complet [27] (sau limitate maxim, în ceea ce privește accesul la servicii), inclusiv mesagerie instant precum Skype , WhatsApp [28] . Totodată, guvernul republicii nu a făcut declarații oficiale.
Începând cu 27 septembrie 2020, în legătură cu izbucnirea celui de-al Doilea Război din Karabakh , „Ministerul Transporturilor, Comunicațiilor și Tehnologiilor Înalte din Azerbaidjan” a introdus restricții privind utilizarea internetului în țară. Facebook, WhatsApp, YouTube, Instagram, TikTok, LinkedIn, Twitter, Zoom, Skype au fost complet blocate [29] . Blocarea a afectat alte resurse, cum ar fi servicii VPN, servicii bancare online și site-uri media. Din 4 octombrie, p2p, traficul UDP a fost suprimat activ, ceea ce a afectat schimbul de date prin protocoalele Bittorrent și VoIP. Algoritmii automati sunt folosiți și pentru identificarea și blocarea adreselor IP (trafic de intrare/ieșire), și de aceea există probleme de disponibilitate instabilă a serverelor naționale în străinătate [30] [31] .
În 2018, guvernul Belarus a achiziționat echipamente DPI de la compania americană Sandvine prin furnizorul rus Jet Infosystems. Echipamentul a fost folosit pentru a bloca accesul la internet în ziua alegerilor, 9 august 2020, și ulterior după începerea protestelor [32] .