Universal Plug and Play

Universal Plug and Play (UPnP) este un set de protocoale de rețea de pe Internet Protocol (IP), care permite dispozitivelor conectate în rețea, cum ar fi computerele personale, imprimantele, gateway-urile de internet, punctele de acces Wi-Fi și dispozitivele mobile să își descopere reciproc prezența în rețea fără probleme[1] și să stabilească servicii funcționale de rețea. UPnP este destinat în principal rețelelor rezidențiale (din locuințe)[2] fără dispozitive din clasa întreprinderilor.[necesită citare]
Protocolul UPnP presupune că rețeaua rulează protocolul de internet (IP), apoi folosește HTTP împreună cu IP pentru a oferi descrierea dispozitivului/serviciului, acțiuni, transfer de date și notificări ale evenimentelor. Cererile de căutare a dispozitivelor și anunțurile acestora sunt suportate prin rularea HTTP împreună cu UDP (portul 1900) folosind multicast (cunoscut sub numele de HTTPMU). Răspunsurile la cererile de căutare sunt trimise și prin UDP, dar sunt trimise, în acest caz, folosind unicast (cunoscut sub numele de HTTPU).
Conceptual, UPnP extinde tehnologia Plug and Play — o tehnologie concepută pentru atașarea dinamică a dispozitivelor direct la un computer — adăugând conectarea la rețea cu configurație zero (zero-configuration networking),[1] fiind concepută pentru rețelele wireless ale locuințelor și ale birourilor mici. Dispozitivele UPnP sunt plug-and-play, în sensul că, atunci când sunt conectate la o rețea, stabilesc automat configurații funcționale cu alte dispozitive, eliminând necesitatea ca utilizatorii să configureze și să adauge manual dispozitive prin intermediul adreselor IP.[3]
UPnP este în general considerat nepotrivit pentru implementarea în mediile de afaceri pe motive de economie, complexitate și consecvență: baza multicast îl face dificil de utilizat, consumând prea multe resurse de rețea în rețelele cu un număr mare de dispozitive; controalele de acces simplificate nu se potrivesc bine în mediile complexe.[necesită citare]
Prezentare generală
[modificare | modificare sursă]Arhitectura UPnP permite conectarea reciprocă a dispozitivelor electronice de larg consum, a dispozitivelor mobile, a computerelor personale și a electrocasnicelor în rețea. Este un protocol distribuit, cu arhitectură deschisă, bazat pe standarde stabilite, cum ar fi Suita Protocolului Internet (TCP/IP), HTTP, XML și SOAP. Punctele de control UPnP (prescurtat CP) sunt dispozitive care utilizează protocoale UPnP pentru a controla dispozitivele controlate prin UPnP (prescurtat CD).[4]
Arhitectura UPnP acceptă conectarea la rețea cu configurare zero (zero-configuration networking). Un dispozitiv compatibil cu UPnP de la orice furnizor : se poate conecta dinamic la o rețea, poate obține o adresă IP, își poate anunța numele (adresa IP), își poate promova sau transmite capabilitățile la cerere și poate afla despre prezența și capabilitățile altor dispozitive. Serverele Dynamic Host Configuration Protocol (DHCP) și Domain Name System (DNS) sunt opționale și sunt utilizate numai dacă sunt disponibile în rețea. Dispozitivele se pot deconecta automat de la rețea fără a lăsa informații despre stare.[necesită citare]
UPnP a fost publicat oficial sub forma unui standard internațional în 73 de părți denumit ISO/IEC 29341 în decembrie 2008.[5][6][7][8][9][10]
Alte caracteristici ale UPnP includ:
- Independența față de medii și dispozitive
- Tehnologia UPnP poate rula pe multe medii care acceptă IP, inclusiv Ethernet[2], FireWire, Infraroșu (IrDA), cablu (G.hn) și frecvențe radio (Bluetooth, Wi-Fi[2]). Nu este necesar suport special pentru driverele dispozitivelor; în schimb, se utilizează protocoale comune de rețea.
- Controlul interfeței utilizatorului (UI)
- Opțional, arhitectura UPnP permite dispozitivelor să prezinte o interfață a utilizatorului prin intermediul unui browser web (consultați Prezentarea mai jos).
- Independența față de sistemul de operare și de limbajul de programare
- Orice sistem de operare și orice limbaj de programare poate fi folosit pentru a construi produse UPnP. Stivele UPnP sunt disponibile pentru majoritatea platformelor și sistemelor de operare, atât în forme închise, cât și open-source.[2]
- Control programatic
- Arhitectura UPnP permite, de asemenea, controlul programatic al aplicațiilor convenționale.[2]
- Extensibilitate
- Fiecare produs UPnP poate avea servicii specifice dispozitivului suprapuse la arhitectura de bază.[2] Pe lângă combinarea serviciilor definite de Forumul UPnP în diverse moduri, furnizorii își pot defini propriile tipuri de dispozitive și servicii, și pot extinde dispozitivele și serviciile standard cu acțiuni definite de furnizor, variabile de stare, elemente de structură a datelor și valori ale variabilelor.
Protocol
[modificare | modificare sursă]Acest articol necesită referințe suplimentare pentru verificare. Vă rugăm ajutați la îmbunătățirea articolului prin adăugarea de surse de încredere. Materialele fără referințe vor fi marcate ca atare și eventual șterse. (Mai 2025) |
UPnP utilizează tehnologii comune ale internetului. Acesta presupune că rețeaua trebuie să ruleze Protocolul Internet (IP) și apoi utilizează HTTP, SOAP și XML pe lângă IP, pentru a oferi descrierea dispozitivului/serviciului, acțiuni, transfer de date și generarea evenimentelor. Cererile de căutare a dispozitivelor și anunțurile sunt susținute prin rularea HTTP împreună cu UDP folosind multicast (combinație cunoscută sub numele de HTTPMU). Răspunsurile la cererile de căutare sunt trimise, de asemenea, prin UDP, dar sunt trimise în schimb folosind unicast (combinație cunoscută sub numele de HTTPU). UPnP folosește UDP datorită costului redus, fiindcă UDP nu necesită confirmarea datelor primite și retransmiterea pachetelor corupte. Specificațiile HTTPU și HTTPMU au fost inițial trimise ca Ciornă de internet(en)[traduceți], dar au expirat în 2001;[11] aceste specificații au fost integrate ulterior în specificațiile UPnP propriu-zise.
UPnP utilizează portul UDP 1900, iar toate porturile TCP utilizate sunt derivate din mesajele SSDP(d) „activ” și „de răspuns”.[12]
Atribuirea adreselor
[modificare | modificare sursă]Fundamentul rețelelor UPnP este atribuirea adreselor IP. Fiecare dispozitiv trebuie să implementeze un client DHCP și să caute un server DHCP atunci când dispozitivul este conectat pentru prima dată la rețea. Dacă nu este disponibil niciun server DHCP, dispozitivul trebuie să își atribuie o adresă. Procesul prin care un dispozitiv UPnP își atribuie o adresă este cunoscut în Arhitectura Dispozitivelor UPnP sub denumirea de AutoIP. În Arhitectura Dispozitivelor UPnP Versiunea 1.0, [5] AutoIP este definit în cadrul specificației în sine; în Arhitectura Dispozitivelor UPnP Versiunea 1.1, [6] AutoIP face referire la IETF. Dacă în timpul tranzacției DHCP, dispozitivul obține un nume de domeniu, de exemplu, printr-un server DNS sau prin redirecționare DNS, dispozitivul ar trebui să utilizeze acel nume în operațiunile ulterioare de rețea; în caz contrar, dispozitivul ar trebui să utilizeze adresa sa IP.
Descoperire
[modificare | modificare sursă]Odată ce un dispozitiv a stabilit o adresă IP, următorul pas în protocolul UPnP este descoperirea. Protocolul de descoperire UPnP este cunoscut sub numele de Simple Service Discovery Protocol (SSDP). Când un dispozitiv este adăugat la rețea, SSDP permite acelui dispozitiv să își promoveze serviciile către punctele de control din rețea. Acest lucru este realizat prin trimiterea de mesaje SSDP "alive" (tradus din engl. "în viață"). Când un punct de control este adăugat la rețea, SSDP permite acelui punct de control să caute activ dispozitivele de interes în rețea sau să asculte pasiv mesajele SSDP "alive" ale dispozitivelor. Schimbul fundamental este un mesaj de descoperire care conține câteva specificații esențiale despre dispozitiv sau unul dintre serviciile acestuia, de exemplu, tipul, identificatorul și un indicator (locația de rețea), care duce către informații mai detaliate.
Descriere
[modificare | modificare sursă]După ce un punct de control a descoperit un dispozitiv, punctul de control știe, momentan, foarte puține lucruri despre dispozitiv. Pentru ca punctul de control să afle mai multe despre dispozitiv și capacitățile acestuia sau să interacționeze cu dispozitivul, acesta trebuie să preia descrierea dispozitivului din locația (adresa URL) furnizată de dispozitiv în mesajul de descoperire. Descrierea dispozitivului UPnP este exprimată în XML și include informații specifice producătorului, cum ar fi numele și numărul modelului, numărul de serie, numele producătorului, adrese URL (de prezentare) către site-uri web specifice furnizorului etc. Descrierea include, de asemenea, o listă a oricăror servicii încorporate. Pentru fiecare serviciu, documentul denumit "Descriere dispozitiv" listează adresele URL pentru control, evenimente și descrierea serviciului. Fiecare descriere a unui serviciu include o listă de comenzi sau acțiuni la care serviciul răspunde și parametri sau argumente pentru fiecare acțiune; descrierea unui serviciu include și o listă de variabile; aceste variabile modelează starea serviciului la momentul execuției și sunt descrise în funcție de tipul lor de date, intervalul și caracteristicile evenimentului.
Control
[modificare | modificare sursă]După ce a recuperat o descriere a dispozitivului, punctul de control poate trimite acțiuni către serviciul dispozitivului. Pentru a face acest lucru, un punct de control trimite un mesaj de control adecvat către adresa URL de control pentru serviciu (furnizată în descrierea dispozitivului). Mesajele de control sunt exprimate și în XML folosind protocolul SOAP (Simple Object Access Protocol)(en)[traduceți]. La fel ca apelurile de funcții, serviciul returnează orice valori specifice acțiunii ca răspuns la mesajul de control. Efectele acțiunii, dacă există, sunt modelate prin modificări ale variabilelor care descriu starea serviciului în timpul execuției.
Notificarea evenimentelor
[modificare | modificare sursă]O altă capacitate a rețelelor UPnP este notificarea evenimentelor sau eventingul. Protocolul de notificare al evenimentelor definit în Arhitectura Dispozitivelor UPnP este cunoscut sub numele de Arhitectură Generală de Notificare a Evenimentelor (GENA). O descriere UPnP pentru un serviciu include o listă de acțiuni la care răspunde serviciul și o listă de variabile care modelează starea serviciului la momentul execuției. Serviciul publică actualizări atunci când aceste variabile se modifică, iar un punct de control se poate abona pentru a primi aceste informații. Serviciul publică actualizări prin trimiterea de mesaje de eveniment. Mesajele de eveniment conțin numele uneia sau mai multor variabile de stare și valoarea curentă a acelor variabile. Aceste mesaje sunt exprimate, de asemenea, în XML. Un mesaj special de eveniment inițial este trimis atunci când un punct de control se abonează pentru prima dată; acest mesaj de eveniment conține numele și valorile tuturor variabilelor participante la eveniment și permite abonatului să își inițializeze modelul stării serviciului. Pentru a susține scenarii cu puncte de control multiple, eventingul este conceput pentru a menține toate punctele de control informate în mod egal despre efectele oricărei acțiuni. Prin urmare, tuturor abonaților li se trimit toate mesajele de eveniment, abonații primesc mesaje de eveniment pentru toate variabilele „participante la eveniment” care s-au modificat, iar mesajele de eveniment sunt trimise indiferent de motivul pentru care s-a modificat variabila de stare (fie ca răspuns la o acțiune solicitată, fie pentru că starea pe care o are serviciul s-a modificat).
Prezentare
[modificare | modificare sursă]Ultimul pas în protocolul UPnP este prezentarea. Dacă un dispozitiv are o adresă URL destinată pentru prezentare, atunci punctul de control poate prelua o pagină de la această adresă URL, poate încărca pagina într-un browser web și, în funcție de capacitățile paginii, poate permite unui utilizator să controleze dispozitivul și/sau să vizualizeze starea acestuia. Gradul în care fiecare dintre aceste acțiuni pot fi realizate depinde de capacitățile specifice ale paginii de prezentare și ale dispozitivului.
Standarde audio/video
[modificare | modificare sursă]Arhitectura UPnP audio/video este o extensie audio și video a UPnP, suportând o varietate de dispozitive precum televizoare, videocasete, playere CD/DVD/jukebox-uri, settop box-uri, sisteme stereo, playere MP3, camere foto, camere video, rame electronice (EPF) și computere personale. Arhitectura UPnP audiovizuală permite dispozitivelor să suporte diferite tipuri de formate pentru conținut de divertisment, inclusiv MPEG2, MPEG4, JPEG, MP3, Windows Media Audio(d) (WMA), bitmap-uri (BMP) și formate NTSC, PAL sau ATSC(d). Sunt acceptate mai multe tipuri de protocoale de transfer, inclusiv IEEE 1394, HTTP, RTP și TCP/IP.[13]
Pe 12 iulie 2006, Forumul UPnP a anunțat lansarea versiunii 2 a specificațiilor UPnP Audio și Video, [14] împreună cu clasele MediaServer (MS) versiunea 2.0 și MediaRenderer (MR) versiunea 2.0. Aceste îmbunătățiri sunt create prin adăugarea de capabilități la clasele de dispozitive MediaServer și MediaRenderer, permițând un nivel mai ridicat de interoperabilitate între produsele fabricate de diferiți producători. Câteva dintre primele dispozitive care respectau aceste standarde au fost comercializate de Philips sub marca Streamium.
Din 2006, versiunile 3 și 4 ale protocoalelor de control al dispozitivelor audio și video UPnP au fost publicate.[15] În martie 2013, a fost publicată o specificație actualizată a arhitecturii uPnP audiovizuale, care încorporează protocoalele actualizate de control al dispozitivelor.[13] Arhitectura dispozitivului UPnP 2.0 a fost lansată în aprilie 2020.
Standardele UPnP audio/video au fost menționate în specificațiile publicate de alte organizații, inclusiv Networked Device Interoperability Guidelines al organizației Digital Living Network Alliance,[16] IEC 62481-1 al Comisiei Electrotehnice Internaționale[17] și OpenCable Home Networking Protocol al Cable Television Laboratories.[18]
Componente audio/video
[modificare | modificare sursă]În general, o arhitectură audio/video (AV) a UPnP constă din:[19]
- Punct de Control: un dispozitiv care descoperă Servere Media și Randatoare Media, apoi le conectează
- Server Media: serverul care stochează conținut în rețea pentru a fi accesat de către Randatoarele Media
- Randator Media: un dispozitiv care redă conținutul primit de la un Server Media.
Server Media
[modificare | modificare sursă]Un server media AV UPnP este serverul UPnP (dispozitivul „maestru”) care furnizează informații despre biblioteca media și transmite date media (cum ar fi audio/video/imagini/fișiere) către clienții UPnP din rețea.Este un sistem informatic sau un dispozitiv digital similar care stochează fișiere media digitale, cum ar fi fotografii, filme sau muzică și le partajează pe acestea cu alte dispozitive.
Serverele media UPnP AV oferă un serviciu dispozitivelor client UPnP AV, așa-numitele puncte de control, pentru răsfoirea conținutului media al serverului și solicitarea serverului media în a livra un fișier punctului de control pentru redare.
Serverele media UPnP sunt disponibile pentru majoritatea sistemelor de operare și pentru multe platforme hardware. Serverele media UPnP AV pot fi clasificate fie ca bazate pe software, fie ca bazate pe hardware. Serverele media UPnP AV bazate pe software pot fi rulate pe un PC. Serverele media UPnP AV bazate pe hardware pot rula pe orice dispozitive NAS sau pe orice hardware specific pentru livrarea de conținut media, cum ar fi un DVR. În mai 2008, existau mai multe servere media UPnP AV bazate pe software decât servere bazate pe hardware.
Alte componente
[modificare | modificare sursă]- UPnP MediaServer ControlPoint - clientul UPnP (un dispozitiv „sclav”) care poate detecta automat serverele UPnP din rețea pentru a răsfoi și a reda în flux fișiere media/date de la acestea.
- UPnP MediaRenderer DCP - care este un dispozitiv „sclav” care poate randa (reda) conținut.
- UPnP RenderingControl DCP - controlează setările Randatorului Media; volum, luminozitate, RGB, claritate și multe altele.
- UPnP Remote User Interface (RUI) client/server - care trimite/primește comenzi de control între clientul UPnP și serverul UPnP prin rețea (cum ar fi înregistrare, programare, redare, pauză, oprire etc.).
- Web4CE (CEA 2014) pentru UPnP Remote UI[20] - standardul CEA-2014 conceput de Comitetul pentru rețele de domiciliu R7 al Asociației de Electronică de Consum (Consumer Electronics Association(d)). Protocol și Framework bazat pe web pentru Remote User Interface în rețele UPnP și Internet (Web4CE). Acest standard permite unui dispozitiv dintr-o rețea de domiciliu compatibil UPnP să își ofere interfața (opțiunile de afișare și control) sub forma unei pagini web care să fie afișată pe orice alt dispozitiv conectat la rețeaua de domiciliu. Asta înseamnă că cineva poate controla un dispozitiv al unei rețele de domiciliu prin orice metodă de comunicații bazată pe browser web pentru dispozitivele CE dintr-o rețea de domiciliu UPnP folosind ethernet și o versiune specială de HTML numită CE-HTML.
- QoS (quality of service, în traducere calitatea serviciului) - este o funcție importantă a serviciului (dar nu obligatorie) pentru utilizarea cu UPnP AV (Audio și Video). QoS se referă la mecanisme de control care pot oferi priorități diferite diferiților utilizatori sau fluxuri de date, sau pot garanta un anumit nivel de performanță unui flux de date în conformitate cu solicitările din programul-aplicație. Întrucât UPnP AV are ca scop principal transmiterea de conținut media în timp real sau aproape în timp real, este esențial ca acesta să fie livrat într-un anumit interval de timp, altfel fluxul va fi întrerupt. Garanțiile QoS sunt deosebit de importante dacă capacitatea rețelei este limitată, de exemplu în rețelele publice, cum ar fi internetul.
- QoS pentru UPnP constă în funcțiile de serviciu Sink Device (partea de client/front-end) și Source Device (partea de server/back-end). Cu clase precum: Clasa de Trafic care indică tipul de trafic din fluxul de trafic (de exemplu, audio sau video); Identificatorul de Trafic (TID) care identifică pachetele de date ca aparținând unui flux unic de trafic; Specificația Traficului (TSPEC), care conține un set de parametri ce definesc caracteristicile fluxului de trafic (de exemplu, cerințele de operare și planificarea);Fluxul de Trafic (TS), care este un flux unidirecțional de date care își are originea la un dispozitiv sursă și se termină la unul sau mai multe dispozitive receptor.
- Acces de la Distanță - definește metodele pentru conectarea seturilor de dispozitive UPnP care nu se află în același domeniu multicast.
Traversare NAT
[modificare | modificare sursă]O soluție pentru traversarea NAT, numită Internet Gateway Device Control Protocol (UPnP IGD Protocol), este implementată prin UPnP. Multe routere și firewall-uri se expun ca dispozitive Internet Gateway, permițând oricărui punct de control UPnP local să efectueze o varietate de acțiuni, inclusiv recuperarea adresei IP externe a dispozitivului, enumerarea mapărilor de porturi existente și adăugarea sau eliminarea mapărilor de porturi. Prin adăugarea unei mapări de porturi, un controller UPnP din spatele IGD (dispozitiv Internet Gateway) poate permite traversarea IGD de la o adresă externă la un client intern.
Există numeroase probleme de compatibilitate din cauza interpretărilor diferite ale specificațiilor IGDv1 și IGDv2, care sunt foarte mari și, de fapt, compatibile cu versiunile anterioare. Una dintre ele este clientul UPnP IGD integrat cu sistemele actuale Microsoft Windows și Xbox cu routere IGDv2 certificate. Problema de compatibilitate încă există, odată ce a fost introdus clientul IGDv1 în Windows XP în anul 2001, și de la un router IGDv2 fără o soluție alternativă, ceea ce face imposibilă maparea porturilor routerului.[21]
Dacă UPnP este utilizat doar pentru a controla mapările porturilor routerului și găurile[necesită clarificare], există protocoale alternative, mai noi, mult mai simple și mai ușoare (folosesc mai puține resurse), cum ar fi PCP și NAT-PMP, ambele standardizate ca RFC-uri de către IETF. Nu se știe încă de probleme de compatibilitate ale acestor alternative între diferiți clienți și servere, însă adoptarea este încă scăzută. Pentru routerele destinate consumatorilor, doar AVM și proiectele open-source de software-uri de router OpenWrt, OPNsense și pfSense sunt cunoscute în prezent ca suportând PCP drept o alternativă la UPnP. Implementările în Fritz!Box(d), dispozitivul creat de compania AVM – ale UPnP IGDv2 și PCP au fost pline de bug-uri încă de la introducerea lor. În multe cazuri acestea nici măcar nu funcționează.[22][23][24][25]
Probleme
[modificare | modificare sursă]Autentificare
[modificare | modificare sursă]Protocolul UPnP, în mod implicit, nu implementează nicio autentificare, așadar implementările dispozitivelor UPnP trebuie să implementeze serviciul suplimentar Device Protection (protecția dispozitivelor)[26] sau Device Security Service (serviciul de securitate a dispozitivelor)[27]. Există, de asemenea, o soluție non-standard numită UPnP-UP (Universal Plug and Play - User Profile)[28][29] care propune o extensie care să permită mecanisme de autentificare și autorizare a utilizatorilor pentru dispozitivele și aplicațiile UPnP. Multe implementări dedicate dispozitivelor UPnP nu dispun de mecanisme de autentificare și, în mod implicit, presupun că sistemele locale și utilizatorii acestora sunt complet de încredere.[30][31]
Când mecanismele de autentificare nu sunt implementate, routerele și firewall-urile care rulează protocolul UPnP IGD sunt vulnerabile la atacuri. De exemplu, programele Adobe Flash care rulează în afara sandbox(en)[traduceți]-ului browserului (în acest caz, aceasta necesită o versiune specifică de Adobe Flash cu probleme de securitate recunoscute) sunt capabile să genereze un tip specific de solicitare HTTP care permite unui router care implementează protocolul UPnP IGD să fie controlat de un site web rău intenționat atunci când cineva cu un router compatibil UPnP vizitează pur și simplu site-ul web respectiv.[32] Aceasta se aplică doar funcției „firewall-hole-punching” a UPnP; nu se aplică atunci când routerul/firewall-ul nu acceptă UPnP IGD sau a fost dezactivat pe router. De asemenea, nu toate routerele pot accepta modificarea unor setări de către UPnP precum serverul DNS, deoarece o mare parte din specificații (inclusiv configurația gazdei LAN) sunt opționale pentru routerele compatibile UPnP.[8] Prin urmare, unele dispozitive UPnP sunt livrate cu UPnP dezactivat în mod implicit, ca măsură de securitate.[necesită citare]
Acces de pe internet
[modificare | modificare sursă]În 2011, cercetătorul Daniel Garcia a dezvoltat un instrument conceput pentru a exploata o vulnerabilitate a unei mari mulțimi de dispozitive UPnP IGD care permit solicitări UPnP de pe internet.[33][34] Instrumentul a fost făcut public la DEFCON 19 și permite solicitarea de mapare a porturilor către adrese IP externe față de dispozitiv și adrese IP interne de dincolo de NAT. Problema este răspândită pe scară largă în întreaga lume, unele scanări arătând milioane de dispozitive vulnerabile simultan.[35]
În ianuarie 2013, compania de securitate Rapid7 din Boston a raportat[36] un program de cercetare cu o durată de șase luni. O echipă a efectuat o scanare a semnalelor de la dispozitive compatibile UPnP care anunțau disponibilitatea lor pentru conexiunea la internet. Aproximativ 6900 de produse compatibile cu rețeaua, de la 1500 de companii cu 81 de milioane de adrese IP, au răspuns solicitărilor acestora. 80% dintre dispozitive sunt routere de domiciliu; altele includ imprimante, camere web și camere de supraveghere. Folosind protocolul UPnP, multe dintre aceste dispozitive pot fi accesate sau/și manipulate.
În februarie 2013, forumul UPnP a răspuns printr-un comunicat de presă,[37] recomandând versiuni mai recente ale stivelor UPnP utilizate și îmbunătățind programul de certificare pentru a include verificări care să evite astfel de probleme în viitor.
"IGMP snooping" și fiabilitate
[modificare | modificare sursă]UPnP este adesea singura aplicație multicast semnificativă utilizată în rețelele digitale de domiciliu; prin urmare, configurația greșită a rețelei multicast sau alte deficiențe pot apărea ca probleme UPnP, mai degrabă decât ca probleme subiacente de rețea.
Dacă snooping-ul IGMP(en)[traduceți] este activat printr-un întrerupător sau, mai frecvent, pe un router/întrerupător wireless, acesta va interfera cu descoperirea dispozitivelor UPnP/DLNA (SSDP) dacă este configurat incorect sau incomplet (de exemplu, fără un interogator (querier) activ sau un proxy IGMP), făcând ca UPnP să pară ca nefiind de încredere.
Scenariile tipice observate includ un server sau un client (de exemplu, un smart TV) care apare după pornire și apoi dispare după câteva minute (adesea 30 în configurația implicită) din cauza expirării calității de membru al grupului IGMP.
Vulnerabilitate de planificare
[modificare | modificare sursă]Pe 8 iunie 2020, a fost anunțată o altă eroare de proiectare a protocolului.[38] Supranumit „CallStranger” [39] de către descoperitorul său, aceasta permite unui atacator să submineze mecanismul de abonare la evenimente și să execute o varietate de atacuri: amplificarea solicitărilor pentru utilizare în DDoS, enumerare și exfiltrare de date.
OCF a publicat o corecție la specificațiile protocolului în aprilie 2020,[40] dar, deoarece multe dispozitive care rulează UPnP nu pot fi actualizate ușor, este probabil ca CallStranger să rămână o amenințare pentru mult timp de acum înainte.[41] CallStranger a alimentat apelurile către utilizatorii finali de a abandona UPnP din cauza eșecurilor repetate în ceea ce privește securitatea proiectării și implementării sale.[42]
Vezi și
[modificare | modificare sursă]- Comparație între serverele media UPnP audio/video
- Profilul dispozitivelor pentru servicii web
- Digital Living Network Alliance (DLNA)
- Internet Gateway Device Protocol (UPnP IGD)
- Listă de servere și clienți media UPnP audio/video
- NAT Port Mapping Protocol (NAT-PMP)
- Port (rețele de calculatoare)
- Port Control Protocol (PCP)
- Zeroconf
Note
[modificare | modificare sursă]- ^ a b „Universal Plug and Play Device Architecture”. upnp.org. Accesat în .
- ^ a b c d e f „OCF - UPnP Standards & Architecture”. Open Connectivity Foundation (OCF) (în engleză). Accesat în .
- ^ Velimirovic, Andreja (). „What is UPnP (Universal Plug and Play)?”. phoenixNAP Blog (în engleză). Accesat în .
- ^ „Using the UPnP Control Point API”. Microsoft Developer Network(d). . Accesat în .
- ^ a b „UPnP Device Architecture v1.0” (PDF). upnp.org. UPnP Forum. .
- ^ a b „UPnP Device Architecture v1.1” (PDF). openconnectivity.org. UPnP Forum. .
- ^ „UPnP Device Architecture v2.0” (PDF). openconnectivity.org. OCF(d). .
- ^ a b „UPnP InternetGatewayDevice v1.0/v2.0”. openconnectivity.org. UPnP Forum. .
- ^ „ISO/IEC standard on UPnP device architecture makes networking simple and easy”. International Organization for Standardization. . Accesat în .
- ^ „UPnP Specifications Named International Standard for Device Interoperability for IP-based Network Devices” (PDF). UPnP Forum. . Arhivat din original (PDF) la . Accesat în .
- ^ Goland, Yaron Y.; Schlimmer, Jeffrey C. (). „Multicast and Unicast UDP HTTP Messages”. UPnP Forum Technical Committee. Arhivat din original la . Accesat în .
- ^ „How Windows Firewall affects the UPnP framework in Windows XP Service Pack 2”. Microsoft. . Accesat în .
- ^ a b „UPnP AV Architecture” (PDF). UPnP Forum. . Accesat în .
- ^ „UPnP Forum Releases Enhanced AV Specifications Taking Home Network to the Next Level” (PDF). UPnP Forum. . Accesat în .
- ^ „Device Control Protocols”. UPnP Forum. Accesat în .
- ^ „DLNA Networked Device Interoperability Guidelines”. Digital Living Network Alliance. martie 2014. Accesat în .
- ^ „Digital living network alliance (DLNA) home networked device interoperability guidelines - Part 1: Architecture and protocols”. International Electrotechnical Commission. . Accesat în .
- ^ „OpenCable Specifications Home Networking 2.0 - Home Networking Protocol 2.0 Revision 10” (PDF). Cable Television Laboratories(d). . Arhivat din original (PDF) la . Accesat în .
- ^ EDN (). „How DLNA and UPnP will enable easy home video networks”. EDN (în engleză). Accesat în .
- ^ „CEA-2014-B (ANSI) - Web-based Protocol and Framework for Remote User Interface on UPnP Networks and the Internet (Web4CE)”. CEA R7 Home Home Network Committee(d). . Arhivat din original la . Accesat în .
- ^ „Detect FDSSDP as a microsoft client · miniupnp/miniupnp@8381867”. GitHub (în engleză). Accesat în .
- ^ „UPnP not working with my FRITX!Box”. Syncthing Community Forum (în engleză). . Accesat în .
- ^ „UPNP_GetValidIGD returns Temporary IPv6 Address, causing UPNP_AddPinHole to fail with 606 · Issue #600 · miniupnp/miniupnp”. GitHub (în engleză). Accesat în .
- ^ „upnpc shows wrong duration for port forward longer than 120 seconds · Issue #222 · miniupnp/miniupnp”. GitHub (în engleză). Accesat în .
- ^ „miniupnp.tuxfamily.org :: View topic - Setting up portforward doesn't work”. miniupnp.tuxfamily.org. Accesat în .
- ^ „Device Protection V 1.0”. UPnP Forum. Arhivat din original la . Accesat în .
- ^ „Device Security and Security Console V 1.0”. UPnP Forum. Arhivat din original la . Accesat în .
- ^ „UPnP-UP - Universal Plug and Play - User Profile”. Arhivat din original la . Accesat în .
- ^ Sales, Thiago; Sales, Leandro; Almeida, Hyggo; Perkusich, Angelo (noiembrie 2010). „A UPnP extension for enabling user authentication and authorization in pervasive systems”. Journal of the Brazilian Computer Society. 16 (4): 261–277. doi:10.1007/s13173-010-0022-2.
- ^ Eastep, Thomas M. (). „Shorewall and UPnP”. Accesat în .
- ^ „Linux UPnP Internet Gateway Device - Documentation - Security”. Accesat în .
- ^ „Hacking The Interwebs”. . Accesat în .
- ^ Garcia, Daniel. „UPnP Mapping” (PDF). Accesat în .
- ^ „US-CERT Vulnerability Note VU#357851”. CERT/CC. . Accesat în .
- ^ „Millions of devices vulnerable via UPnP - Update”. The H. . Accesat în .
- ^ „Whitepaper: Security Flaws in Universal Plug and Play: Unplug, Don't Play”. . Arhivat din original la
|archive-url=
necesită|archive-date=
(ajutor). Accesat în . Parametru necunoscut|dataarhivei=
ignorat (ajutor);|first1=
lipsă|last1=
în Authors list (ajutor) - ^ „UPnP Forum Responds to Recently Identified LibUPnP/MiniUPnP Security Flaw” (PDF). UPnP Forum. . Accesat în .
- ^ „CERT/CC Vulnerability Note VU#339275”.
- ^ „CallStranger CVE-2020-12695”. Arhivat din original la . Accesat în .
- ^ „OCF - UPnP Standards & Architecture”.
- ^ „CVE-2020-12695: CallStranger Vulnerability in Universal Plug and Play (UPnP) Puts Billions of Devices at Risk”. .
- ^ „Disable UPnP on Your Wireless Router Already”. Lifehacker (în engleză). . Accesat în .
Lectură suplimentară
[modificare | modificare sursă]- Golden G. Richard: Service and Device Discovery: Protocols and Programming (Descoperirea serviciilor și dispozitivelor: Protocoale și programare), McGraw-Hill Professional, ISBN: 0-07-137959-2
- Michael Jeronimo, Jack Weast: UPnP Design by Example: A Software Developer's Guide to Universal Plug and Play (Design UPnP prin exemplu: Ghidul dezvoltatorului de software pentru Universal Plug and Play), Intel Press, ISBN: 0-9717861-1-9