Analiza telemetrii w Windows 10 – czy ktoś wysilił się sprawdzić?
A miałem nie pisać o Windows 10! Lista zaległych tematów blogowych rośnie u mnie w niepokojącym tempie, ale nie mogłem się powstrzymać przed poruszeniem, ostatnio powtarzanej do znudzenia, kwestii prywatności w Windows 10. Dosłownie wszędzie wokół na portalach technicznych pojawiają się artykuły o braku prywatności w „Dziesiątce”, przeplatane przewodnikami po wyłączaniu telemetrii i „odzyskiwaniu prywatności”. Niektóre bardziej zaawansowane sugerują zablokowanie, w pliku hosts, adresów serwerów telemetrii Microsoft. Obie te metody są nieskuteczne i podejrzewałem to jeszcze zanim zdecydowałem się to sprawdzić samodzielnie.
Nie tędy droga!
No właśnie – tutaj jest problem. Rozwiązywanie kwestii braku prywatności za pomocą gotowców jest postawieniem zagadnienia na głowie i dokładnie nie tym, co powinna zrobić osoba nazywana przez kogokolwiek „komputerowcem” (tak, elityzm mocno). Jest to po prostu wbrew myśli inżynierskiej i bliżej temu do filmów z YouTube’a, zatytułowanych „jak z krakować siudemke”. Intuicja powinna podpowiadać, że w dzisiejszych czasach z telemetrią należy sobie radzić w zupełnie inny sposób i zaskakująco dużo goryczy wywołuje u mnie fakt, że dla wielu nie jest to oczywiste.
Dobrze, teraz możemy odłożyć bezpodstawny gniew, przenieść się na ten drugi biegun, o którym mowa w nazwie „choroba afektywna dwubiegunowa” i dokonać podsumowania. Podzielmy dotychczasowe rady w kwestii dziesiątki na kilka poziomów. Zastrzegam, że niniejszy tekst nie będzie kolejnym przewodnikiem po „odzyskiwaniu prywatności w Windows 10”.
- Stage One: preinstalacja OOBE i aplikacja Ustawienia Nie używać konta Microsoft
- Wybrać konfigurację niestandardową
- Wyłączyć wszystkie opcje sugerowane w interfejsie preinstalacyjnym
- Po instalacji, w dziale „Prywatność” wyłączyć wszystko wszędzie
- W dziale „Sieć” wyłączyć Czujnik Wi-Fi
- W dziale „Aktualizacje” wyłączyć udostępnianie aktualizacji przez per-to-peer w sieci LAN
To tyle, jeśli chodzi o pierwszą linię obrony - wykorzystanie wbudowanych narzędzi Modern UI. Wiadomo jednak, że Modern UI nie jest „prawdziwym Windowsem” i cała ta warstwa jest i wieczyście pozostanie nieskuteczna i niepotrzebna, nawet na tablecie (używam Windows na komputerze Tablet PC i dalej twierdzę, że najlepiej z dotykiem i piórem radził sobie Windows 7). Kolejnym krokiem z przewodników jest zatem usunięcie wszystkich „nowych wynalazków”.
- Stage Two: cofnijmy się do 2009 Usunąć wszystkie aplikacje formatu AppX za pomocą narzędzia PowerShell w trybie Administratora
- Wyłączyć usługę DiagTrack, czyli Usługę Śledzenia Diagnostyki
- Wyłączyć Usługę Raportowania Błędów
- Zablokować uruchamianie narzędzi OneDrive w Rejestrze
Póki co wszystko w porządku – wyłączamy narzędzia, które znamy i o których wiemy, że będą często „dzwonić do domu”. Powoli jednak powinniśmy włączać yellow alert – skąd wiemy, że to wszystkie usługi? Ale o tym za chwilkę, przejdźmy jeszcze do kroku trzeciego.
- Stage Three: odcięcie dopływu powietrza Blokujemy dostęp do serwerów telemetrii Microsoft za pomocą pliku hosts, korzystając z czarnej listy wziętej ze źródła, któremu nie wiadomo, dlaczego ufamy
Tutaj docieramy do etapu, na którym niedopatrzenia, popełnione w powyższych krokach sumują się do ilości, przy której cała nasza inicjatywa ma wysoką szansę na całkowitą nieskuteczność. Otóż Windows 10 składa się z tuzinów autonomicznych mini-zabawek, z których zdecydowana większość łączy się z infrastrukturą usług online Microsoftu. Jak zatem podejść do problemu? Należy zastosować podejście naukowe – zbadać ruch sieciowy. Dzięki temu nie zastosujemy ślepego wyłącznika, a zrozumiemy zasadę działania telemetrii w Windows 10. Remember: know your enemy!
Science!
Ponieważ systemowe narzędzie netstat jest nieco mało elastyczne, posłużymy się innym produktem, obecnie również rozpowszechnianym przez Microsoft. Podobnie, jak netstat, nie jest on ich pomysłem. Mowa o narzędziu TcpView, z kolekcji Sysinternals. To tak tylko na początek, później zajmiemy się poważniejszymi narzędziami. Najpierw chcemy „general idea”.
Poza żenująco wysoką liczbą połączeń tworzonych przez edytor Word (fuck logic) i Skype’a, oraz aktualizacją kafelka z pogodą, mamy już pierwszego podejrzanego: explorer.exe. Dlaczego ma trwale otwarte połączenie z siecią? Trudno powiedzieć, ale robi tak już od czasu Windows 8. Powstało wiele teorii dotyczących tego, co jest explorerowi tak potrzebne do szczęścia, że ma ciągle otwarte połączenie, wszystkie wydają się być błędne. Początkowo miała to być aktualizacja kafelków. Niestety, do tego służy tysiąc innych narzędzi. Potem miało to być odświeżanie folderów skanowanych przez SkyDrive. To jednak również nieprawda, od tego wszak jest dedykowany program OneDrive’a. Może by tak zamknąć to połączenie? Spróbujmy. Efekt? Natycmiast wstaje z powrotem. Co ciekawe, prawie nic nie przesyła. Po prostu jest, siedzi sobie tam i czasem prześle ze dwa pakiety. Serwerem zdalnym tego połączenia jest wns.windows.com, a więc serwer platformy „Windows Push Notification Service”. Z czymś mi się ta nazwa kojarzy… Ach, z kafelkami! Ale nie tymi z Windows 8, tylko tymi z Windows 98. Bo wiecie Państwo, kafelki to stary pomysł. Wtedy nazywał się „Kanały”. Prawdopodobnie dlatego, że nazwa „Kafelki” brzmi idiotycznie.
Network Monitor
Dobrze, zostawmy narzędzie TcpView. Nasz jeden podejrzany wydaje się jakiś niemrawy – przez kilka godzin wysłał może z kilkanaście bajtów. Innych podejrzanych nie ma. Czyli co, alarm odwołany? Niestety nie. TcpView to świetne narzędzie, ale musimy być świadomi jego ograniczeń. Jest to jedynie „mądry netstat”, w dodatku bez funkcji logowania. Warto tu dodać, że gdy był rozwijany przez poprzedniego właściciela, istniał jeszcze cień szansy na dodanie tej funkcji. Obecnie, narzędzie musi dostosować się do polityki typu „Resource Kit”, czyli wydawania programów spełniających maksymalnie 20% oczekiwań. Musimy sięgnąć po cięższe działo. Co ciekawe, również będzie to narzędzie Microsoftu. Pochodzi ono z czasów Visty, a więc lat gdy jeszcze przejmowano się tym, czy systemy nie wysyłają przez sieć tony niepotrzebnych danych. Program nazywa się Microsoft Network Monitor i jest zaskakująco dobry. To taki „tcpdump”, ale dbający o nerwy użytkownika. Jego użycie okaże się strzałem w dziesiątkę podczas diagnozowania telemetrii w systemie.
Postanowiłem wyłączyć wszystkie widoczne funkcje systemu, odpowiedzialne za śledzenie. Nie wdrażałem jednak czarnej listy i nie korzystałem z gotowych skryptów, bo miałem poczucie zastępowania jednej czarnej skrzynki drugą. Postanowiłem zatem zostawić tylko pulpit, włączyć przechwytywanie ruchu sieciowego i zostawić komputer na noc. Gdy wróciłem do niego rano, ujrzałem pokaźną kolekcję wykonanych połączeń oraz całkiem sporą ilość wysłanych danych. Nie zależało mi specjalnie na wyłączeniu telemetrii. W Windows dotychczas uznawałem ją za uzasadnioną. Na przykład, wszystkie komputery w moich laboratoriach mają włączone wysyłanie raportów o błędach i próbek złapanych przez Defendera. Obie funkcje nie zostały wymyślone bez powodu i wierzę w to, że dotychczas pomagały w tworzeniu lepszego oprogramowania. Chciałem po prostu wiedzieć, jak działa nowa telemetria, poza tym rozdrażniły mnie felietony o tym, jaka to dziesiątka straszna. Autorom tych najbardziej spektakularnych przypominam, że ich telefony z Androidem właśnie się z nich śmieją. Ja trochę mniej – jakoś mniej mi do śmiechu po tym, co ujrzałem w Network Monitorze. Przyjrzyjmy się, co takiego też wyłapał. Zrobi się trochę nudno, ale idźmy od góry: „Unknown” brzmi złowrogo, ale to tak naprawdę tylko ruch ARP, ICMP, SSDP i drzewo rozpinające – nie do uniknięcia w infrastrukturze sieciowej, poza tym nic nowego. XP też tak gada. Potem jest nasz ukochany explorer. O czym takim rozmawiał ze światem? I z kim?
Hello
Pierwsze pytanie będzie trudne, bo połączenie jest szyfrowane i leci przez HTTPS/TLS na porcie 443. Czyli w surowym zrzucie widzę tylko śmieci. Ale mogę zobaczyć, z kim te śmieci wymienia i jak wygląda powitanie. Explorer jest bowiem grzeczny i każde połączenie rozpoczyna uprzejmym „Client Hello” :) No i widzimy, że Explorer łączy się z serwerem „windows.policies.live.net”. Czas na pierwsze wnioski:
- Serwer stoi w Kansas i należy do infrastruktury OneDrive
- Marka Windows Live wiecznie żywa
- Tego adresu nie ma na większości czarnych list – ta daaa!
Jedziemy dalej. Kolejne połączenie następuje z serwerem akamaiedge.net. Amsterdam. Po co? Tile-service.weather.microsoft.com :D A więc aktualizacja kafelka z pogodą. Dzielnie co trzy godziny. Nawet wymieniał certyfikaty TLS, żeby nikt nie odszyfrował przejściowego zachmurzenia. Potem połączyliśmy się z samym Redmond i nieszczęsnym WNS. Nie wiem, czego chciał od tego serwera, w połączeniu nie znalazłem żadnych wskazówek. Na końcu był też jeszcze jeden serwer z Redmond. Jego nazwa nie padała w formie DNS, łączono się bezpośrednio po IP. To zły znak, na pewno w kwestii czarnych list hostów. Połączenie ponownie szyfrowane, bez znaków szczególnych i…. co kilka minut. Całą noc. Po co? Zagadka. Na Ósemce się tak nie zachowywał.
svchosts everywhere
Następny proces Taskhostw to moja zasługa. Połączył się z siecią „raz, a dobrze”, minutę przed moim wyjściem z pracy. Na liście pojawiają się wielokrotnie wpisy „Unavailable”, ale to nie jest Illuminati. Po prostu zapomniałem uruchomić Network Monitor jako administrator (za co doprawdy należy mi się Order Admina). Obok w nawiasie znajduje się identyfikator procesów. Sprawdziłem wszystkie, chodzi o svchost. Dobrze i źle. Svchost to „worek” na procesy, będzie ciężko dojść, o jaką usługę chodzi. Swoją drogą, jakim cudem program uruchomiony w kontekście użytkownika mógł zrzucać surowy ruch sieciowy? Nieźle! Trochę przygnębiające. Wszakże gdy spróbuje się uruchomić tcpdump nie jako root, Linux wzywa Policję.
Pierwszy svchost to „Settings Synchronization”. OK, konto Microsoft. Niech będzie. Najwyraźniej to on wywołał kolejny na liście „SettingSyncHost”, który… robi to samo? Najwyraźniej nie rozumiem jakichś genialnych decyzji projektowych. Następnie WinStore usiłuje zaktualizować nieużywane przeze mnie aplikacje Metro. Po ich usunięciu, siłą, połączenie znika.
NSA O:
Potem następuje coś, co włącza czerwoną lampkę, w dodatku w sposób, który aż prosi się o komentarz. To już jest po prostu jawne podkładanie się i zachowanie godne trojanów. W svchost odzewała się telemetria, która łączy się z serwerem o jakże wdzięcznej nazwie telecommand.telemetry.microsoft.com.nsatc.net. Doprawdy gratuluję autorom tej domeny. W jednej nazwie udało im się umieścić nawiązania do „command and control” typowego dla trojanów, śledzenia użytkownika, skradzionej domeny oraz NSA. Chapeau, panowie. Podejrzewam, ża taka kategoria nazewnicza zdenerwowała niemało IDSów. Celowo nie mówię tu, jaką usługę trzymał akurat ten kontener svchost, ponieważ trafiłem tutaj na bardzo nieprzyjemną niespodziankę. Chciałbym też z tego miejsca pozdrowić wszystkich czytelników szkicu tego dokumentu, który trzymam na OneDrive’ie. Dorzucę też kilka innych słów kluczowych: XKEYSCORE, Tor. A serwer nsatc to tylko ochrona DNS, wywiad nie jest aż tak oczywisty ;)
Cyfrowy szum
Następny svchost to magazyn chroniony certyfikatów. Nic ciekawego, Siódemka też go aktualizuje. Office 365 to też nic ciekawego. W sumie nawet nie chcę wiedzieć, co on przesyła. Zgodziłem się na subskrypcyjną wersję Office z pełną świadomością tego, że pakiet będzie niezwykle rozmowny w kwestii sieciowej. Wielokrotnie powtarzający się backgroundTaskHost też robi coś dziwnego. W Ósemce też strasznie dużo gadał, ale nie w takich ilościach. Łączy się ze storeedgefd.dsx.mp.microsoft.com. Wyników w Google: zero. Na czarnych listach też go nie uświadczymy. Co ciekawe, nie pracuje w trybie ciąglym: kolejne połączenia mają nowy PID. Czyli coś go wywołuje co godzinę, połączenie oczywiście szyfrowane, ale bardzo krótkie. Treść? Nieznana.
Svchost wywołał także aktualizacje Windows Update oraz połączenie z serwerem sqm.telemetry.microsoft.com. Tutaj jedziemy klasyką. SQM to nazwa najstarszej formy telemetrii w Microsofcie, czyli Software Quality Management (element Consumer Experience Improvement Program). Wprowadzono go w pasku MSN Toolbar I MSN Messenger w 2004 roku. To tyle jeśli chodzi o wyłączenie usługi telemetrii. Znowu tutaj odezwała się tajna usługa, którą zostawiam na potem. Odezwała się też aktywacja (licensing.microsoft.com). To ciekawe. Zwłaszcza, że gadała z moim komputerem przez 7 minut bez przerwy. Ciekawe o czym. No i ponownie – Ósemka siedziała cicho.
Go to bed, logic, you're drunk
Ósemka na pewno nie łączyła się też z serwerem geo‑prod. Nawet nie wiem, co to jest. Zero wyników w Google’u ponownie niepokoi i ponownie podważa sens czarnych list. Usiłuję wymyślić, co to może być. Z pomocą przychodzi mi ostatnie połączenie na liście, czyli WerFault. To usługa raportowania błędów, odezwała się kilkanaście sekund później. Zerknąłem do Monitora Niezawodności sprawdzić, czy coś się wywaliło o tej godzinie. Tak. Aplikacja „Zdjęcia”. To już jest kompletnie bez sensu. Nie było mnie nawet o tej godznie przed komputerem. Dlaczego się odezwała? Moja pierwsza, spiskowa myśl to przeszukiwanie mojej biblioteki zdjęć pod kątem geotagów i/lub cycków (np. zbyt młodych). Ale nie mam tego jak potwierdzić.
Gadu Gadu nocą
Jak widać, mój Tablet PC z Dziesiątką miał gadatliwą noc. Zdecydowanie bardziej gadatliwą, niż Ósemka. Spójrzmy zatem na ruch generowany na zwykłym koncie. Niewiele lepiej – backgroundTaskHost również chce synchronizować ustawienia. DiagTrack również dzielnie łączy się z serwerami telemetrii. Tutaj niespodzianka – zostały one uwzględnione z nazwy w notatce KB3068708. Sądziłem, że porządnych notatek Knowledge Base nie robi się od około 2004 roku, czyli mniej więcej odkąd wdrożono Trustworthy Computing. Na liście pojawia się również akamai-edge i cała kolekcja serwerów z konta Microsoft. To jest osobliwe, ponieważ nie ma w zasadzie co synchronizować. A mimo to niektóre usługi jednak gadają.
Trochę o Usługach
Przyjrzyjmy się zatem samym usługom. Tutaj wyjdzie na jaw pewna paskudna nowa praktyka dotycząca prezentacji usług w Windows. Pozwolę sobie na zwyczajową dygresję. Jakiś czas przed premierą Windows NT 5.0 postanowiono przeportować w dół kilka funkcji nadchodzącego, nowego systemu. Jedną z nich było niedoceniane Microsoft Management Console. Jest to unikatowe, potężne i wspaniałe narzędzie, czyniące z Windows Server najprzyjaźniejsze środowisko serwerowe w historii. Jedną z przystawek jest zbiór „Usługi”. W przeportowanej do NT 4.0 wersji, Usługi zawsze wyświetlały wszystkie dostępne w systemie serwisy. Windows 2000 już tak nie było. Pewne krytyczne usługi, których nie dało się wyłączyć, jak na przykład RPC, znajdowały się na liście, z wyszarzonymi właściwościami, ale niektórych niskopoziomowych zabawek już nie było na liście. W czasach systemu Windows Vista stało się jednak coś dziwnego: niektóre usługi były „tajne”: miały nazwy, ale nie było ich widać w spisie usług konsoli MMC. W Menedżerze Zadań widniały pod szyldem svchost, więc były w praktyce niedostrzegalne. Jedną z usług, które magicznie zniknęły z listy, była BITS (Usługa Intelignentego Transferu w Tle). Co ciekawe, na liście dalej znajdowały się niemożliwe do wyłączenia usługi podstawowe. Oczywiście, wystarczyła krótka wyprawa do Rejestru, żeby odkryć takie usługi, wszystkie, wraz z opisem bibliotek uruchamianych razem z svchost, ale i to nie było potrzebne. Konspirację zdradzał Menedżer Zadań i jego zakładka „Usługi”, ukazująca dokładnie to, co widać w Rejestrze, wraz z możliwością podejrzenia, czy usługa działa, czy nie. W ten sposób w Windows 10 znalazłem kilku ukrytych gości. Bardzo mi się to nie spodobało. Google nie zwrócił żadnych wyników, więc o tajnych usługach najwyraźniej mówi się niewiele. Skorzystam zatem z okazji i powiem o nich nieco więcej.
Secret Service
W Menedżerze Zadań (tak przy okazji, popsuto, BARDZO, uruchamianie Menedżera Zadań jako Administrator na koncie ograniczonym), na karcie procesy, widnieje pozycja OneSyncSvc_Session1. W przystawce „Usługi” nie ma śladu czegoś takiego. No to Google – w wynikach same śmieci. Instrukcje usunięcia bez opisu technicznego, opisy problemów z uruchomieniem usługi oraz nieodpowiedziane pytania „co to jest”. Przyjrzyjmy się temu bliżej: identyfikator procesu to (w tamtym przypadku) 2432. Poszukajmy go na karcie „Procesy”. Jest. Z kolegami! User Data Access Session, User Data Storage Session, Contact Data Session. Wszystkie ujęte w grupie “Unistack Service Group”. Dobrze, wreszcie mamy jakąś wspólną nazwę dla nich wszystkich. Spróbujmy zatem poszukać czegoś o Unistack, może tym razem będzie więcej wyników. Niestety, tym razem jest jeszcze gorzej. Pierwsze kilka wyników to narzekanie na zżerane CPU, a dalej już tylko cyrylica. Najwyraźniej ukryta paczka usług „Unistack” jest nie tylko ukryta, ale i nieudokumentowana. To rzadkość. Czasy całkowicie nieudokumentowanych struktur w programach Microsoftu powinny były przeminąć lata temu wraz z kodem AARD. Wszystko wskazuje jednak na to, że wracają i mimo 25 milionów użytkowników, nie doczekały się porządnego opisu.
Accounts Host
Jestem patologicznie uparty, więc drążyłem sprawę dalej. Postanowiłem zajrzeć do Rejestru, w którym siedzi opis wszystkich usług. Od zawsze można je znaleźć w tym samym miejscu, a więc w HKLM\System\CurrentControlSet\Services. Popatrzmy więc. Krótkie poszukiwania szczegółów pozwalają odkryć komponenty odpowiedzialne za tę usługę. Są to pliki APHostRes.dll i APHostService.dll. Czas złożyć im wizytę i przesłuchać. Weźmy lepiej plik usługi, a nie zasobów:
BLOCK "040904B0" { VALUE "CompanyName", "Microsoft Corporation" VALUE "FileDescription", "Accounts Host Service" VALUE "FileVersion", "10.0.10240.16384 (th1.150709-1700)" VALUE "InternalName", "APHostService" VALUE "LegalCopyright", "© Microsoft Corporation. All rights reserved." VALUE "OriginalFilename", "APHostService.dll" VALUE "ProductName", "Microsoft® Windows® Operating System" VALUE "ProductVersion", "10.0.10240.16384" }
Niewiele mi to mówi. Pod nazwą „usługa kont użytkowników” może się kryć wszystko. Potrzebuję czegoś lepszego. Ściągnę sobie symbole, na później. Póki co chcę zobaczyć, co jest w środku tego pliku. Jak? Pod Linuksem użyłbym po prostu narzędzia „strings”, ale tu nie mogę. Może ResHacker? Spróbujmy. Nie, nie dał sobie rady. Musimy to zrobić po chamsku: odpalam Notepad++ i szukam w tym pliku łańcuchów tekstowych, celem znalezienia nowych wskazówek. Plik jest strasznie długi, mieni się w oczach. Z pomocą przychodzi narzędzie wyszukiwania w N++, obsługujące wyrażenia regularne. Dzięki temu można szukać stringów w pliku binarnym. A więc:
[a-zA-Z]*
Zły pomysł, pasuje wszystko. Trochę się pospieszyłem. No to może:
[a-zA-Z]+
Też głupio. Setki tysięcy dopasowań. Zróbmy jeszcze inaczej:
[a-zA-Z]{3,}
Znacznie lepiej, ale w pliku binarnym trzyliterowe zlepki pojawiają się również poza łańcuchami tekstowymi. Bo zmianie 3 na 5 wreszcie się udało. No i zagadka zaczyna się powoli rozwiązywać :) Oto co widzą me piękne oczy:
base\mailcontactscalendarsync\services\accountshost\server\jobdispatcher\lib\jobdispatcher.cpp
Mail, Contacts and Calendar Sync! No to wszystko jasne. Aplikacja Metro, znana poprzednio jako „Kalendarz, Poczta, Kontakty i Wiadomości” uzyskała w Windows 10 warstwę synchronizacji, pracującą na poziomie usługi! Niby wiadomo już, do czego służy ta usługa, ale to dalej nie ma sensu, bo:
- Od czego jest SettingsSyncHost? Nie od tego przypadkiem?
- Jakim cudem to wcześniej działało bez tego?
- Dlaczego to jest włączone również na koncie lokalnym?
To są bardzo poważne wątpliwości, podważające zasadność całego rozwiązania. A odpowiedzi próżno gdziekolwiek szukać. Na forum Microsoft Answers pytania albo pozostają bez reakcji, albo odpisują na nie ludzie-boty, przeklepując rytualne formułki. Pierwsze pokolenie call center, ludzi nieprzechodzących testu Turinga.
Unistore
Sprawdźmy pozostałe pliki z worka tajnych usług Unistore. Plik UserDataService to podobno element technologii „User Data Access”. Całkowicie bezużyteczna nazwa. Z zawartości też prawie nic się nie da wywnioskować: [code]base\appmodel\userdataaccess\services\userdata\service\lib\rcsendusermessagetracker.cpp[/code] niewiele mi rozjaśniło. Wiem jedynie, że wygląda to na coś, bez czego mógłbym żyć. Z kolei PimIndexMaintenance wydaje się mieć całkiem czytelną nazwę, a opis zachęca, dopóki nie doczytamy go do końca: "Service responsible for contacts indexing and other user data related tasks". Druga część niestety wróciła do tradycji niewyjaśniania absolutnie niczego. Zajrzyjmy do środka: [code]base\appmodel\userdataaccess\services\pimindexmaintenance\service\lib\pimimservice.cpp[/code]
Ponownie „User Data Access”. Ktokolwiek widział, ktokolwiek wie?
Po co istnieje ta usługa? Po co istnieje cały koszyk Unistack? Trudno mi zaakceptować, że służy wyłącznie do szpiegowania, musiała się za jego powstanie odpowiadać jakaś inicjatywa funkcjonalna. Na siłę da się znaleźć uzasadnienie: na przykład Czujnik Wi‑Fi będzie miał dostęp do bazy kontaktów i na jej podstawie będzie udzielał dostępu do sieci. W ścieżce kodu źródłowego widnieje określenie „appmodel”, zatem wspomniana usługa ma być frameworkiem, platformą do udostępniania obiektów społecznościowych aplikacjom ze sklepu. Mało kto wie, że to też nie jest nowy pomysł. Poprzednim podejściem Microsoftu do takiego rozwiązania było SOXE, czyli „Social Objects Extractor Engine”. Nikt nie kojarzy? To pewnie nikt też nie kojarzy dostawcy poświadczeń Windows Live, umożliwiającego w założeniu logowanie do systemu za pomocą konta Microsoft? ;) Nieważne. To kolejny temat na kiedy indziej.
Dlaczego Unistack jest ukryty na liście usług? To też da się na upartego wyjaśnić. Zależy od niego szereg funkcji włączanych w panelu ustawień Metro. W założeniu ten panel ma być „immersive” i działać zawsze. Tylko, że na tej zasadzie powinniśmy też ukryć usługę Windows Update i parę innych.
Wymówki i podsumowanie
Niestety, ile byśmy tych wymówek nie wymyślili, dalej wygląda to na zamierzoną próbę utrudnienia ucieczki od usług „wspomaganych chmurowo”. Co gorsza, właśnie te usługi łączą się z telemetrią, więc w praktyce robią wszystko, bo i wszystko im wolno. A dokumentacji brak. To zapowiedź gorszych czasów. Wiem, że telefony robią tak od lat, ale istnieje dość duży przeskok psychologiczny (bo przecież nie techniczny) między smartfonem a komputerem osobistym. Może o to chodziło w nazwie kodowej Threshold? Jak to będzie wyglądać w Windows Server 2016?
Jeżeli o wyżej wspomnianych usługach nie da się prawie nic przeczytać w internecie, to znaczy, że nie ma o nich mowy we wszechobecnych przewodnikach po oczyszczaniu Dziesiątki ze „szpiegów”. Nie ma się z czego cieszyć, to świadczy, jak niewiele osób chce naprawdę zobaczyć, co się dzieje w sieci. Owszem, możemy iść po ustawieniach, możemy wyłączać znane usługi i programy, możemy też poszukać kilku na intuicję, ale to nigdy nie wygra z testem praktycznym. Mam nadzieję, że udało mi się to udowodnić.
A na koniec...
Na deser dorzucę jeszcze jedno odkrycie, napotkane „w czasie rzeczywistym”. Otóż Network Monitor pracował u mnie nie tylko w nocy, ale i podczas pracy. Odkryłem wtedy, że mimo wyłączenia wyszukiwania online oraz niedostępności Cortany w Polsce, każde wyszukiwanie z menu Start otwiera połączenie sieciowe. To mi się bardzo nie spodobało, bo dość intensywnie korzystam z Windows Search i wpisuję na przykład cytaty z dokumentów, którymi nie chciałbym się szczególnie chwalić, a już na pewno nie chciałbym na ich podstawie uczyć żadnej maszyny. Dlatego wyłączyłem tryb badacza i zechciałem to jak najszybciej wyłączyć. Pośpiech i gniew zaprowadziły mnie do miejsca, od którego w ogóle należałoby zacząć: Zapora! Pod spodem nowych zabawek, gdzieś tam głęboko dalej jest „prawdziwy Windows” i przy użyciu MMC można wywołać przystawkę Zapora systemu Windows z Zaawansowanymi Zabezpieczeniami.
Niespodzianka. Otóż reguły komunikacji i telemetrii są zdefiniowane i działają. Pierwszą rzecz, jaką ubiłem było „Search”. Problemy z menu Start wysyłającym moje kwerendy w chmurę natychmiast się rozwiązały. Następnie zablokowałem jeszcze kilkadziesiąt innych regułek. Efekt?
No niemożliwe :) Zadziałało. Tak coś podejrzewałem, że da się to zrobić po ludzku. Ponieważ „morały” z tego, jak wygląda ruch telemetryczny w Windows 10 już były, czas na morał z historii jego badania. Może ktoś zgodzi się z moim podejściem:
- Nie wierz tutorialom na słowo, sprawdzaj zawsze na własną rękę
- „Ufaj, ale sprawdzaj”. Dotychczasowe wypróbowane metody nie muszą być wieczyście poprawne i przede wszystkim wystarczające
- Doceń narzędzia administracyjne. NT to system serwerowy! :)
- Unikaj nuklearnych rozwiązań (podmiana DNS, blokowanie hostów, usuwanie plików, wycinanki w Rejestrze)
- Staraj się nie używać zewnętrznych programów-czyścicieli. Skrypty do „odszpiegowania”, magiczne zamykaczki portów, ale i Odkurzacze, czy inne CCleanery. To naprawdę można zrobić samodzielnie
To tyle :) Pisane w przypływie emocji, nie to szykuję na ten miesiąc, w kolejce ciekawsze tematy!