Universal Plug and Play - szansa czy zagrożenie?

Wraz z wprowadzeniem na rynek systemu Windows XP firma Microsoft rozpoczęła lansowanie nowej technologii sieciowej, która ma pozwolić na łatwe łączenie przez sieć różnorodnych urządzeń, i to bez udziału komputera!

Wraz z wprowadzeniem na rynek systemu Windows XP firma Microsoft rozpoczęła lansowanie nowej technologii sieciowej, która ma pozwolić na łatwe łączenie przez sieć różnorodnych urządzeń, i to bez udziału komputera!

Usługa odnajdywania SSDP powinna być całkowicie wyłączona.

Usługa odnajdywania SSDP powinna być całkowicie wyłączona.

Universal Plug and Play (UPnP) to nowa technologia sieciowa typu peer-to-peer. Jej głównym zadaniem jest ułatwienie łączenia, kontrolowania i transferu danych między różnymi urządzeniami pracującymi w sieci. Według założeń, UPnP ma być wykorzystywane przez urządzenia powszechnego użytku, takie jak zestawy kina domowego, drukarki, skanery, telewizory cyfrowe, sprzęt biurowy (np. kserokopiarki czy faksy). Oczywiście UPnP ma być również wprowadzone do popularnych systemów operacyjnych komputerów osobistych. Trzeba jednak pamiętać, że sieci oparte na UPnP mogą pracować nawet bez komputera. W ten sposób technologia ma realizować modną ideę "wszystko w sieci" i uwolnić użytkowników od uciążliwego instalowania sterowników i konfiguracji ustawień. Samo nasuwa się porównanie z technologią Plug and Play, stosowaną do rozpoznawania i automatycznej autokonfiguracji urządzeń w pecetach.

Żeby zrozumieć ideę UpnP, najlepiej wyobrazić sobie przyłączanie skanera czy drukarki do komputera domowego. Obecnie konieczne jest zainstalowanie odpowiednich sterowników według szczegółowej procedury opisanej przez producenta. Często sterowniki wchodzą w konflikty, uniemożliwiając poprawną pracę systemu. Dzięki UPnP instalacja nowej drukarki czy skanera będzie polegać na połączeniu komputera i urządzenia albo kablem sieciowym, albo przez dowolny inny nośnik komunikacyjny (np. sieć bezprzewodową czy podczerwień). Nowe urządzenie samo poinformuje wszystkie inne znajdujące się w sieci o swojej obecności, możliwościach i oferowanych usługach. Co ciekawsze - przekaże zainteresowanym urządzeniom (np. komputerowi) listę obsługiwanych poleceń. Dzięki temu system operacyjny będzie wiedział, jak korzystać z urządzenia bez instalacji sterownika. Dodatkowo użytkownik zyska możliwość zdalnego zarządzania urządzeniem za pomocą przeglądarki WWW.

UPnP jest architekturą otwartą. Wykorzystuje do działania protokół TCP/IP i technologię WWW, dzięki czemu ma służyć do łączenia różnorodnych urządzeń, począwszy od sieci domowych, a skończywszy na firmowych sieciach globalnych. Została już dopracowana, ale wdrożenie jest jeszcze w powijakach - praktycznie nie ma na rynku urządzeń, które ją wykorzystują. Jedynymi systemami operacyjnym obsługującym UPnP "z pudełka" są MS Windows Me i XP, a w przypadku XP standardowa konfiguracja UPnP zawiera poważną lukę w zabezpieczeniach (patrz poniżej).

Jak to działa?

Poprawna współpraca komputera z urządzeniami UPnP wymaga tylko obsługi UPnP. W systemach Windows Me i XP jest ona instalowana wraz z systemem, w przypadku Me trzeba ją jedynie włączyć. Inne wersje systemów Windows będą wymagały instalacji specjalnego sterownika obsługi UPnP - do Windows 98 jest już dostępny, a do Windows 2000 będzie dostępny niebawem. UPnP jest obsługiwane także w Linuksie - odpowiedni sterownik opracowała firma Intel. Technologia ta może działać w dwóch środowiskach - w sieci zarządzanej lub sieci niezarządzanej. W pierwszej są elementy tradycyjnej sieci komputerowej, takie jak serwery DHPC czy DNS, w drugiej nie istnieje żadna infrastruktura sieciowa oprócz samego połączenia. To właśnie sieci niezarządzane będą łączyć w przyszłości urządzenia domowe - bez udziału i pośrednictwa systemów komputerowych. Każde urządzenie automatycznie przyłączy się do sieci, pobierze adres IP, "ogłosi" swoją obecność i poinformuje o swoich możliwościach. UPnP wykorzystuje do działania wiele protokołów internetowych - IP, TCP, UDP, HTTP i XML.

Tryby pracy UPnP

Ostatecznie posunięcie - odinstalowanie UPNP z systemu Windows XP

Ostatecznie posunięcie - odinstalowanie UPNP z systemu Windows XP

Urządzenia i komputery mogą pełnić w ramach UPnP dwie funkcje - być punktami sterującymi (control point) lub urządzeniami. Najczęściej punktami sterującymi będą komputery PC lub wyspecjalizowane urządzenia do sterowania sprzętem (np. moduł sterujący urządzeniami wchodzącymi w skład kina domowego). Cały proces działania UPnP można podzielić na kilka operacji/trybów standardowych:

1. Adresowanie (addressing) i wykrywanie (discovery). Dzięki adresowaniu urządzenie/komputer uzyskuje adres IP konieczny do nawiązania jakiejkolwiek komunikacji. Następuje to bądź przez serwer DHCP (Dynamic Host Configuration Protocol), bądź przy użyciu mechanizmu AutoIP. AutoIP to technika samodzielnego przydzielania sobie "inteligentnego" adresu IP z puli adresów zarezerwowanych, tak aby w każdym momencie było możliwe przyłączenie się do sieci zarządzanej. Proces wykrywania pozwala na to, aby nowo przyłączone urządzenie potrafiło rozgłosić informacje o sobie do punktów sterujących.

Do wykrywania używany jest protokół Simple Service Discovery Protocol (SSDP).

2. Opisywanie (description). Po zidentyfikowaniu nowego urządzenia punkt sterujący pobiera opis nowego urządzenia spod adresu URL wskazanego przez urządzenie (w tzw. discovery message). Opis urządzenia jest przesyłany w formacie XML i zawiera informacje na temat producenta, dostępnych usług oraz listę dostępnych poleceń/akcji, które potrafi wykonać urządzenie.

3. Sterowanie (control). W tym trybie punkt sterujący wysyła do urządzenia tzw. wiadomość sterującą. To nic innego jak polecenie wysłane do urządzenia, formatowane w języku XML z użyciem technologii SOAP (Simple Object Access Protocol). Urządzenie przesyła natomiast potwierdzenie wykonania polecenia lub zwraca żądaną wartość (gdy np. punkt sterujący wysyła do drukarki zapytanie dotyczące ilości tonera/tuszu).

4. Informowanie o zdarzeniach (eventing). W toku normalnej pracy pojawiają się zdarzenia, na które urządzenie musi zareagować (np. brak dysku DVD w czytniku lub papieru w drukarce). Po wystąpieniu zdarzenia urządzenia przesyłają do punktów sterujących specjalną wiadomość zawierającą jego opis oraz listę dostępnych operacji - reakcji na zdarzenie. Ten rodzaj wiadomości również jest formatowany z użyciem języka XML.

5. Prezentacja. W tym trybie punkt sterujący wyświetla interfejs użytkownika urządzenia. Każde urządzenie UPnP może mieć własny adres URL, z którego można konfigurować i sterować urządzeniem. Oczywiście sposób prezentacji ściśle zależy od możliwości urządzenia i jego charakteru.

Jak widać, UPnP jest skomplikowane i stanowi zlepek wielu odległych od siebie technologii. Jednak w rezultacie mamy otrzymać samokonfigurującą się sieć, w której autonomiczne urządzenia czy komputery mogą wymieniać informacje bez udziału człowieka.

Na razie tylko zagrożenie

Niestety, jedyna obecnie implementacja UPnP zawarta w MS Windows XP powoduje wyłącznie zagrożenia, zamiast pomagać użytkownikowi. W każdej standardowej instalacji Windows XP znajduje się nieprawidłowo skonfigurowana usługa SSDP Discovery Service, Jej zadaniem miało być wykrywanie urządzeń UpnP, tymczasem umożliwia przejęcie kontroli nad maszyną i wykonywanie na niej poleceń z najwyższym poziomem uprawnień użytkownika SYSTEM (szczegółowy opis problemu znajduje się pod adresem www.microsoft.com/technet/security/bulletin/ms01-059.asp).

Co prawda, firma Microsoft opublikowała odpowiednią łatkę (www.microsoft.com/Downloads/Release.asp?ReleaseID=34951), jednak na razie najlepiej po prostu wyłączyć obsługę UPnP.

Żeby zapobiec zagrożeniom związanym z UpnP, trzeba przede wszystkim sprawdzić, czy działa w systemie. W tym celu wpisz w wierszu poleceń netstat -an. Obecność UPnP poznasz po tym, że dwa porty - TCP o numerze 5000 oraz UDP o numerze 1900 - znajdują się w trybie nasłuchu.

Windows XP zawiera dwie usługi związane z UPnP: Usługa odnajdywania SSDP oraz Host uniwersalnego urządzenia Plug and Play. Jeśli chcesz na stałe wyłączyć obsługę UpnP, odnajdowanie SSDP przestaw w tryb Wyłączony.

Bardziej radykalnym krokiem jest całkowite pozbycie się obsługi UPnP z Windows XP poprzez usunięcie (korzystając z funkcji Dodawanie lub usuwanie programów) usługi sieciowej Uniwersalne Plug and Play.

Na CD-ROM-ie dołączonym do numeru znajdziesz również program UnPlug n'Pray (unpnp.exe), który umożliwia wyłączenie UPnP jednym kliknięciem.

Czy wobec problemów z implementacją w Windows XP UPnP ma przyszłość? Zdecydowanie tak chociażby ze względu na to, że w pracach organizacji powołanej do rozwoju nowego standardu - UPnP Forum - uczestniczy ponad 400 najpoważniejszych firm produkujących oprogramowanie i sprzęt komputerowy, a sama technologia jest mocno promowana przez Microsoft. Pozostaje czekać na pojawienie się na rynku sprzętu zgodnego z UPnP.

Przydatne adresy internetowe

Opis architektury Universal Plug and Play http://www.upnp.org/Device_Architecture_v0.92_.htm

UPnP Forum http://www.upnp.org

Strony firmy Intel poświęcone UPnP (m.in. do Linuksa) http://www.intel.com/ial/upnp/


Zobacz również