Walka z telemetrią w systemach Windows

Premiera dziesiątki zapoczątkowała nie tylko nowy etap rozwoju, ale i również nowe techniki zbierania danych jakie przyjął Microsoft. Windows to już nie tylko system. To poważne źródło wiedzy na temat naszych przyzwyczajeń, nawyków, sprzętu czy oprogramowania. Zebrane informacje bardzo często służą do personalizacji reklam. Objawia się to często wyświetlaniem sugerowanych aplikacji. Telemetria, bo tak nazywa się moduł do monitorowania zachowania użytkowników, wpływa również na funkcjonalność i przyszłość systemu. Nie zawsze wychodzi to na dobre. Jak sobie radzić z tym radzić?

Prywatność to słowo, które w świecie biznesu nie ma już jakiegokolwiek znaczenia. Informacja to najcenniejsza w dzisiejszych czasach rzecz. Im więcej wiemy tym lepszą strategię biznesową możemy zaplanować i zarobić przy tym nie małe pieniądze. Nic, więc w tym dziwnego, że coraz więcej firm wdraża w swoich produktach moduły telemetryczne. Oprócz Microsoftu takiego kroku podjęła się również NVIDIA, która w swoich sterownikach uruchamia dodatkową usługę o nazwie NVIDIA Telemetry Cointaner. Takich przykładów jest oczywiście sporo, ale w tym artykule chciałbym głównie skupić się na systemie Windows.

Co to jest telemetria?

Telemetria w rozumieniu programistycznym, stanowi mechanizm, który odpowiedzialny jest za monitorowanie, zbieranie i wysyłanie informacji na temat funkcjonowania systemu oraz zachowania użytkownika. Możemy to troszeczkę porównać do wirusa, z tym, że jest to legalna odmiana. Co telemetria może zbierać? Praktycznie wszystko. Na przykład systemy Windows posiadają moduł zwany WinSAT, który odpowiada za testowanie wydajności podzespołów komputera. Celowo obciąża procesor, RAM i dysk, a następnie wynik wysyła na serwery telemetryczne, czyli takie, które przechowują te informacje, a później je analizują. Microsoft prawdopodobnie na tej podstawie może dowiedzieć się jakie podzespoły dominują na sprzęcie oraz jak zachowuje się ich produkt na danej specyfikacji. Ma to swoje pozytywne odbicie. Na podstawie tych informacji producent może na przykład wycofać wsparcie dla starszych komputerów, ponieważ wie, że na rynku jest ich już stosunkowo mało i nie ma sensu poświęcać na nie czasu. Nie mówiłem, że ta wiadomość jest koniecznie pozytywna dla użytkowników.

Telemetria według mnie

Dla mnie jako programisty, telemetria powinna być chwalona. Umieszczając ją w swojej aplikacji mogę dowiedzieć się sporo rzeczy na temat jej wydajności i stabilności na poszczególnych specyfikacjach komputerowych. Bardzo dużo pomaga również w przechwytywaniu błędów. Musimy jednak pamiętać, że telemetria dzieli się na dwie grupy – łagodna i agresywna. Chodź powszechnie obowiązujące prawo nakazuje informowania użytkowników o zbieranych danych podczas wykorzystywania danego oprogramowania, to nie każdy czyta kilkuset stronnicowy regulamin. Dlatego ja najbardziej cenię sobie łagodną telemetrię, która wymaga ode mnie zgody na wysłanie jakichkolwiek danych diagnostycznych i mogę przed zaakceptowaniem je zobaczyć. Dla mniej technicznych takie rozwiązanie nie ma jakiegokolwiek znaczenia, ale bardziej świadome osoby mają wybór i mogą spać spokojnie.

Niestety na tego typu telemetrię nie ma popytu. Zazwyczaj stosuje się w mniejszych projektach, gdzie w grę nie wchodzą duże pieniądze. Większe systemy informują tylko w jakim stopniu zbierane są informacje i automatem trzeba się zgodzić, ponieważ stanowią warunek konieczny przy użytkowaniu produktu. Jestem oczywiście za łagodną telemetrią. I mówię to nie jako programista, ale jako zwykły użytkownik oprogramowania. Informacje diagnostyczne bardzo często pozwalają naprawiać błędy. Przyczyniają się do udoskonalania aplikacji i wzbogacania ich o kolejne innowacyjne rozwiązania. Warunkiem jest tylko informowanie swoich użytkowników o tym co i kiedy przekazujemy dane. Moduły, które mają tylko na celu personalizowanie i sugerowanie bezsensownych aplikacji mówię stanowcze nie.

Windows 10 jako bomba telemetryczna

Dziesiątka to obiekt, który zapoczątkował cały bum telemetryczny. Chodź co do starszych systemów pewności również nie ma, to od momentu jego premiery takiego nagłośnienia sprawy nie było. Zresztą istnieje bardzo dużo dowodów na to, że dziesiątka kontaktuje się z zewnętrznymi serwerami Microsoftu. Wystarczy uruchomić Monitor zasobów i w zakładce Sieć widzimy wszystkie aktywne połączenia. Już na sam widok kiedy eksplorator łączy się w sposób ciągły z jakimś serwerem powinno nas zaniepokoić. To jest właśnie telemetria. Eksplorator oprócz zarządzania plikami informuje również o tym co w danym momencie robimy swojemu panu.

Skuteczność tego mechanizmu została na nasze nieszczęście doceniona. Kilka miesięcy później w postaci aktualizacji została zaimplementowana w Windows 7 i Windows 8. Łącznie z odpowiednikami serwerowymi. Ich popularność, z którą próbowała walczyć dziesiątka, sprawiła, że stały się one celem nieprzewidywanej telemetrii. Microsoft nie przewidział porażki masowej migracji na ich najnowszy produkt, a w starszych również drzemie siła informacji. Sam się czasami dziwie dlaczego telemetria nie zawitała jeszcze do XP i Vista. Może ze względów technicznych. Mimo zakończenia wsparcia nadal funkcjonuje na nich kawałek świata, a szczególnie bankomaty.

Jak walczyć?

Osoby, które nie wiedziały o tym ile informacji wypływa z systemu Windows już teraz wiedzą. Ja osobiście czytając taki artykuł nie mógłbym w nocy zasnąć na wieść ile danych o sobie udostępniam. Dlatego zacząłem z tym poniekąd walczyć. Masa przeczytanych artykułów, poradników i przede wszystkich własnych eksperymentów umożliwiły mi spokojny sen. Z telemetrią można walczyć, chodź nie ma stu procentowej pewności, że gdzieś jakaś aktualizacja zmieni namiary na serwer i za chwilę zdefiniowane przez nas reguły przestaną obowiązywać. Dlatego warto śledzić źródła, które na bieżąco informują o postępie i rozwoju modułów. Jesteśmy w stanie zareagować dość szybko zanim wypłyną od nas kolejne informacje.

Walcząc z telemetrią zapobiegamy również pewnym sytuacją. Takim jak chociażby spadek wydajności. Wcześniej wspomniany moduł WinSAT to aplikacja, która celowo obciąża nasze zasoby i na podstawie ich pracy zbiera informacje na temat wydajności. Bardzo często uruchamia się w najmniej niespodziewanym momencie, a to z kolei przeszkadza podczas naszej pracy. Także niniejszy przytoczony przykład jest kolejnym, który udowadnia, że telemetria może szkodzić w różny sposób.

Blokowanie serwerów telemetrycznych

Pierwszym krokiem w walce z telemetrią jest odcięcie systemu od serwerów, na które wysyłane są dane. Tutaj zadanie mamy uproszczone. Praktycznie wszystkie adresy odwołują się po nazwie DNS. Tak, więc wystarczy albo zablokować ruch, albo przekierować je na lokalny adres IP. Najszybszym sposobem jest dodanie poniżej zawartości do pliku systemowego hosts, który odpowiada za rozwiązywanie nazw DNS na poziomie lokalnym. Wystarczy za pomocą notatnika jako administrator otworzyć plik, który znajduje się w C:\Windows\system32\drivers\etc, a następnie dopisać na poniższe linijki.

127.0.0.1 a.ads1.msn.com
127.0.0.1 a.ads2.msn.com
127.0.0.1 a-0001.a-msedge.net
127.0.0.1 ad.doubleclick.net
127.0.0.1 adnexus.net
127.0.0.1 adnxs.com
127.0.0.1 ads.msn.com
127.0.0.1 ads1.msads.net
127.0.0.1 ads1.msn.com
127.0.0.1 az361816.vo.msecnd.net
127.0.0.1 az512334.vo.msecnd.net
127.0.0.1 ca.telemetry.microsoft.com
127.0.0.1 cache.datamart.windows.com
127.0.0.1 choice.microsoft.com
127.0.0.1 choice.microsoft.com.nsatc.net
127.0.0.1 compatexchange.cloudapp.net
127.0.0.1 corp.sts.microsoft.com
127.0.0.1 corpext.msitadfs.glbdns2.microsoft.com
127.0.0.1 cs1.wpc.v0cdn.net
127.0.0.1 db3wns2011111.wns.windows.com
127.0.0.1 df.telemetry.microsoft.com
127.0.0.1 diagnostics.support.microsoft.com
127.0.0.1 fe2.update.microsoft.com.akadns.net
127.0.0.1 fe3.delivery.dsp.mp.microsoft.com.nsatc.net
127.0.0.1 feedback.microsoft-hohm.com
127.0.0.1 feedback.search.microsoft.com
127.0.0.1 feedback.windows.com
127.0.0.1 i1.services.social.microsoft.com
127.0.0.1 i1.services.social.microsoft.com.nsatc.net
127.0.0.1 msnbot-207-46-194-33.search.msn.com
127.0.0.1 oca.telemetry.microsoft.com
127.0.0.1 oca.telemetry.microsoft.com.nsatc.net
127.0.0.1 pre.footprintpredict.com
127.0.0.1 preview.msn.com
127.0.0.1 rad.msn.com
127.0.0.1 redir.metaservices.microsoft.com
127.0.0.1 reports.wes.df.telemetry.microsoft.com
127.0.0.1 s0.2mdn.net
127.0.0.1 services.wes.df.telemetry.microsoft.com
127.0.0.1 settings.data.microsof.com
127.0.0.1 settings-sandbox.data.microsoft.com
127.0.0.1 settings-win.data.microsoft.com
127.0.0.1 sls.update.microsoft.com.akadns.net
127.0.0.1 spynet2.microsoft.com
127.0.0.1 spynetalt.microsoft.com
127.0.0.1 sqm.df.telemetry.microsoft.com
127.0.0.1 sqm.telemetry.microsoft.com
127.0.0.1 sqm.telemetry.microsoft.com.nsatc.net
127.0.0.1 ssw.live.com
127.0.0.1 statsfe1.ws.microsoft.com
127.0.0.1 statsfe2.update.microsoft.com.akadns.net
127.0.0.1 statsfe2.ws.microsoft.com
127.0.0.1 survey.watson.microsoft.com
127.0.0.1 telecommand.telemetry.microsoft.com
127.0.0.1 telecommand.telemetry.microsoft.com.nsatc.net
127.0.0.1 telemetry.appex.bing.net
127.0.0.1 telemetry.microsoft.com
127.0.0.1 telemetry.urs.microsoft.com
127.0.0.1 v10.vortex-win.data.microsoft.com
127.0.0.1 view.atdmt.com
127.0.0.1 vortex.data.microsoft.com
127.0.0.1 vortex-sandbox.data.microsoft.com
127.0.0.1 vortex-win.data.microsoft.com
127.0.0.1 watson.live.com
127.0.0.1 watson.microsoft.com
127.0.0.1 watson.ppe.telemetry.microsoft.com
127.0.0.1 watson.telemetry.microsoft.com
127.0.0.1 watson.telemetry.microsoft.com.nsatc.net
127.0.0.1 wes.df.telemetry.microsoft.com
127.0.0.1 win10.ipv6.microsoft.com

Powyższy informacja jest z dnia 12 kwietnia 2018. Tak, więc powinny być jeszcze aktualne. Tyczą się zarówno Windows 7 jak i 8 oraz 10. Dodaj wpis do pliku hosts odcinamy dostęp wszystkim modułom do wysyłania informacji diagnostycznych. Jest jednak jeden delikatny mankament. Możemy mieć trudności z wejściem na strony Microsoftu lub ich usługi. Alternatywnym wyjściem z tej sytuacji jest blokowanie konkretnych aplikacji i serwerów przez zaporę sieciową, ale należy to do dość czasochłonnej operacji. Tak, więc to pozostawiamy bardziej doświadczonym użytkownikom.

Wyłączanie usług i zadań telemetrycznych

Blokując serwery telemetryczne odcinamy tak naprawdę komunikację modułów ze źródłem odbioru raportów. Informacje nadal są zbierane lokalnie, a wszelkie testy wykonywane. Musimy, więc wyłączyć usługi i zadania, które odpowiadają za telemetrie. Najpierw zacznijmy od usługi – Diagnostics Tracking Service. Znana jest on a tylko użytkownikom Windowsa 7 i 8 oraz Windows Server 2008 R2 i 2012. Bardzo często powoduje ona opóźnione zamknięcie systemu. Szczególnie, gdy zablokujemy serwery w pliku hosts. Dzieje się to tak, ponieważ podczas wylogowywania usługa stara się przesłać zebrane informacje do Microsoftu. Żeby temu zapobiec przejdź do zarządzania usługami i wyłącz Diagnostics Tracking Service, a następnie ustaw tryb uruchamiania na wyłączony. To spowoduje, że moduł już nigdy nie zostanie uruchomiony.

Kwestię usług mamy już załatwioną. Na szczęście jest tylko jedna. Wiele modułów telemetrycznych jest wyzwalanych za pośrednictwem harmonogramu zadań systemu Windows. W ten sposób mogą one działać w sposób cichy i nie wpływający na pracę komputera. Uruchamiane są zazwyczaj po wystąpieniu jakieś sytuacji. Należy je bezzwłocznie wyłączyć. Przechodzimy do Panelu sterowania > Narzędzia administracyjne i klikamy na Harmonogram zadań systemu Windows. W konsoli po kolei klikamy na drzewo i wyłączamy zadania takie jak na poniższej liście.

Microsoft > Windows > Aplication Experience > * // Wszystkie zadania
Microsoft > Windows > Autochk > * // Wszystkie zadania
Microsoft > Windows > Maintance > * // Wszystkie zadania
Microsoft > Windows > DiskDiagnostic > Microsoft-Windows-DiskDiagnosticDataCollector

Dla bezpieczeństwa wyłączaj wszystkie zadania. Usunięcie ich może poskutkować tym, że zostaną one przywrócone przez system i znów zaczną obowiązywać. W drodze wyjątku warto jeszcze zajrzeć do katalogu autostartu i C:\ProgramData. Bardzo często znajdziemy tam wcześniej wspomniany moduł WinSAT. Usuwamy go wszystko co z nim związane. W ten sposób nie uzyskamy niespodziewanego obciążenia.

Telemetryczne aktualizacje

Windows 7 i 8, łącznie z ich odpowiednikami serwerowymi, telemetrię dostają w postaci aktualizacji zaciąganych przez Windows Update. Instalując świeży system mamy więc okazję, aby pominąć te paczki. W przeciwnym wypadku musimy je odinstalować ręcznie. Niestety niektóre z nich mogą wnosić znaczące zmiany kluczowe dla bezpieczeństwa systemu. Jest to oczywiście zrobione celowo, aby użytkownicy tych paczek nie pomijali. Dlatego przed podjęciem decyzji warto przejrzeć bazę wiedzy i sprawdzić, czy usługi, których aktualizacje dotyczą są dla nas kluczowe.

Aktualizacje telemetryczne

Windows 7, 8 i 8.1

  • 2902907 Microsoft Security Essentials update?, update was pulled by Microsoft
  • 2922324 Description not available, Update was pulled by Microsoft
  • 2976987 Description not available
  • 3012973 Upgrade to Windows 10
  • 3015249 Update that adds telemetry points to consent.exe in Windows 8.1 and Windows 7
  • 3022345 Update for customer experience and diagnostic telemetry (replaced by 3080149)
  • 3035583 Update installs get Windows 10 app in Windows 8.1 and Windows 7 SP1
  • 3068707 Update for customer experience and diagnostic telemetry, update may be pulled
  • 3068708 Update for customer experience and diagnostic telemetry
  • 3075249 Update that adds telemetry points to consent.exe in Windows 8.1 and Windows 7
  • 3080149 Update for customer experience and diagnostic telemetry (replaces 3022345)

Tylko dla windowsa 7

  • 971033 Update for Windows Activation Technologies
  • 2952664 Update for upgrading Windows 7
  • 2977759 Update for Windows 7 RTM
  • 2990214 Update that enables you to upgrade from Windows 7 to a later version of Windows
  • 3021917 Update for Windows 7 SP1 for performance improvements
  • 3050265 Windows Update client for Windows 7: June 2015
  • 3065987 Windows Update Client for Windows 7 and Windows Server 2008 R2: July 2015
  • 3075851 Windows Update Client for Windows 7 and Windows Server 2008 R2: August 2015
  • 3083324 Windows Update Client for Windows 7 and Windows Server 2008 R2: September 2015
  • 3083710 Windows Update Client for Windows 7 and Windows Server 2008 R2: October 2015

Tylko dla Windowsa 8 i 8.1

  • 2976978 Update for Windows 8.1 and Windows 8
  • 3014460 Update for Windows Insider Preview / upgrade to Windows 10
  • 3044374 Update that enables you to upgrade from Windows 8.1 to Windows 10
  • 3050267 Windows Update client for Windows 8.1: June 2015
  • 3065988 Windows Update Client for Windows 8.1 and Windows Server 2012 R2: July 2015
  • 3075853 Windows Update Client for Windows 8.1 and Windows Server 2012 R2: August 2015
  • 3083325 Windows Update Client for Windows 8.1 and Windows Server 2012 R2: September 2015
  • 3083711 Windows Update Client for Windows 8.1 and Windows Server 2012 R2: October 2015

Powyższe paczki są rozpisane dla systemów klienckich, chodź odpowiednio znajdziemy je również w edycjach serwerowych. Zwróć uwagę na ich nazwy. Pozbywając się tych paczek z systemu tym samym pozbędziemy się telemetrii. Niestety nie dotyczy to systemu Windows 10 i Server 2016, gdyż tam telemetria została wbudowana od samego początku.

Programy, które robią to za nas

Ręczna ingerencja jest moim zdaniem bezpieczniejsza, ale istnieją rozwiązania, które mogą zrobić to za nas. Wraz z popularyzacją telemetrii powstały narzędzia pisane przez indywidualnych programistów lub większe firmy. Poniżej przykłady:

  • Destroy Windows 10 Spying – Chyba najbezpieczniejszy i darmowy. Swego czasu dość często używałem. Automatycznie blokuje i wyłącza telemetrię w systemie Windows 7 i 8. Nie działa do końca na Windows 10.
  • O&O ShutUp10 – Program dedykowany dla Windows 10. Wyłącza i blokuje wszystkie moduły telemetryczne.
  • DoNotSpy10
  • Disable Windows 10 Tracking
  • Wise Care 365 – Z tego co wiem to wraz z jakąś aktualizacją dostał funkcje, które pozwalają wyłączyć telemetrię w Windows 10.

To są oczywiście najpopularniejsze przykłady. Niszowych programów nie podaje ze względu na to, że nie mam do nich przekonania. Przez pewien czas korzystałem z Destroy Windows 10 Spying, ale gdy tylko zacząłem sam z pamięci wykonywać te kroki przestał być mi potrzebny.

Podsumowanie

Stosując moje porady zapewnisz sobie częściowo ochronę prywatności. Dlaczego częściowo? Otóż serwery telemetrii jak i same moduły mogą być zmieniane i przeprogramowane. Microsoft wraz z wypuszczaniem kolejnych aktualizacji stara się łatać obejścia i jak najszybciej odebrać dane diagnostyczne. Warto, więc na bieżąco w miarę możliwości śledzić najpopularniejsze portale i sprawdzać czy coś nie zostało zmienione. W ostateczności oferuje swój blog. Będę starał się w miarę szybko informować o jakiś poważnych zmianach związanych z telemetrią. Na dzień dzisiejszy mam nadzieję, że pomogłem i nieco uświadomiłem w zakresie ochrony prywatności.