Budowa Windows NT: jak przebiega komunikacja?

Budowa Windows NT: jak przebiega komunikacja?09.10.2023 11:46
Budowa Windows NT
Źródło zdjęć: © Licencjodawca | Kamil Dudek

Główna zaleta Windowsa, czyli zgodność wsteczna, jest jednocześnie jego największym obciążeniem. Obsługa kompatybilności z trzema dekadami oprogramowania wymaga utrzymywania wielu składników, które po latach okazały się bardzo kiepskim pomysłem.

Windows NT miał być przenośnym i sieciowym systemem operacyjnym o wielu warstwach zgodności. Dziś, w czasach Windows 11, każdy z tych terminów oznacza coś diametralnie innego, niż w momencie powstawania NT. W rezultacie wiele decyzji projektowych fundamentalnych dla NT miało bardzo dużo sensu, ale ich implementacja prędko się zestarzała. Ponadto, Microsoft miał w dawnych czasach tendencje do wymyślania każdej technologii na nowo, także sieci. Każde "sieciowe" rozwiązanie z tamtych lat jest więc skrojone pod wymarłe i zapomniane protokoły.

RPC

Sercem NT i jedną z głównych cech odróżniających go od Linuksów jest mechanizm komunikacji międzyprocesowej z obsługą sieci, czyli DCOM RPC. Składniki systemowe w NT są zdefiniowane jako obiekty COM, z którymi można wdawać się w interakcję programistycznie, także skryptowo (przez Visual Basic PowerShell). Zarządzanie systemem NT polega właśnie na konfigurowaniu stosownych opcji w obiektach COM. Protokołem komunikacji jest MSRPC. To na nim oparta jest cała komunikacja domenowa oraz wiele mechanizmów sieciowych. Odpytywanie zdalnych komputerów np. o usługi oraz zdalne konfigurowanie ich za pomocą MMC przebiega właśnie za pomocą RPC. Jest to także, wraz z OLE, jeden z mechanizmów komunikacji międzyprocesowej (wymiana komunikatów) o zasięgu lokalnym.

Dalsza część artykułu pod materiałem wideo

Obiektowa natura DCOM RPC jest przeciwieństwem modelu uniksowego, gdzie ustawienia trzymane są w plikach, a zmiana konfiguracji wymaga po prostu zdalnego zalogowania, a nie "wysłania uwierzytelnionego żądania RPC". Także zaawansowana, "głęboka" konfiguracja i stan systemu są reprezentowane w uniksach jako pliki (znajdujące się w katalogach /dev, /sys i /proc). Błędnym jest zakładanie, że windowsowym odpowiednikiem tego mechanizmu jest binarny Rejestr. Jest to tylko wewnętrzna baza danych - poprawna rekonfiguracja powinna zachodzić poprzez interakcję z COM, którego zmiana stanu jest odzwierciedlana poprzez zmiany w Rejestrze. Działa tak również warstwa WMI, pod spodem korzystająca z tych samych protokołów.

Doszukiwanie się na siłę podobnych mechanizmów w systemach linuksowych, poprzez przytaczanie takich składników, jak systemd, D-Bus, NetworkManager i Gsettings to nietrafiona analogia. Komunikacja międzyprocesowa odbywa się w Linuksach w znacząco odmienny sposób niż w NT i choć podejście znane z Windowsów nie jest unikatowe, zdecydowanie należy do rzadkości. Stosowane są także mieszanki: Windows 10 oferuje wszak serwer SSH. Wbudowany.

Nie takie sieci

Sam fakt stosowania obiektowej natury nie oznacza jeszcze, że rozwiązanie jest niebezpiecznie skomplikowane. Wszak bezpieczne parsowanie strumieni tekstowych także nie bywa łatwe. Problem z DCOM RPC polega na tym, że będąc głównym mechanizmem komunikacji, w referencyjnej implementacji (NT 3.1) założono, że będzie zawsze słuchającym serwerem pracującym w zaufanej sieci IPX/Novell rozpiętej na skalę np. jednego budynku i będzie stosować dość słabe uwierzytelnianie, znane z serwera OS/2 LAN Manager. Założenie, że wszystko zawsze musi być "modelem programowania" bardzo niekorzystnie zniosło wprowadzenie do Windowsa protokołu TCP/IP, a następnie popularyzację rozległych LAN-ów i w końcu - internetu.

Skomplikowany model zdalnego zarządzania o słabym uwierzytelnianiu prędko ugiął się pod naporem masowej, potencjalnie niebezpiecznej komunikacji internetowej. Robaki Sasser i Blaster, wykorzystujące słabości implementacji RPC w Windows, wywołały ogólnoświatowe epidemie. W odpowiedzi, Microsoft na przestrzeni kolejnych lat wprowadził zaporę sieciową, obowiązkowe aktualizacje i kompilację zabezpieczającą przed przepełnieniami bufora. Zmniejszyło to liczbę dziur, ale (jak wiemy) nie rozwiązało problemu w całości. Dziś dalej odkrywane są podatności w RPC. Usługi nie da się usunąć bez zerwania kompatybilności - także na osobistych komputerach niekorzystających z domen i zdalnego zarządzania.

Wszystko jako API

Microsoft miał więcej pomysłów z przerabianiem wszystkiego na API. Rezultatem owego podejścia był Internet Explorer (i możliwość wołania COM/WMI przez skrypty), ActiveX oraz makra Office. Elementy te były czołowymi kanałami propagacji złośliwego oprogramowania i dopiero od niedawna są one domyślnie wyłączone lub nieobecne. Dzisiejsze dziury w Windows są już bardziej wyrafinowane, choć wciąż zdarzają się podatności np. w Win32k oraz Buforze Wydruku.

Nowoczesne mechanizmy komunikacji i konfiguracji w Windows stosują dziś o wiele bezpieczniejsze, silnie uwierzytelnione i podpisane połączenia RPC, a zalecanym protokołem komunikacji jest WinRM, korzystający z… HTTPS. Graficzne narzędzia administracji zdalnej także są webowe: funkcjonalny następca MMC, Windows Admin Center, jest dostępny jako panel administracyjny otwierany przez przeglądarkę internetową. Nowoczesność ma jednak swoje ograniczenia. Nie może zepsuć microsoftowej maszyny do zarabiania pieniędzy: kompatybilności.

Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.