Używając na swoich stronach internetowych skryptów śledzących użytkowników, czcionek, i innych zasobów osadzanych bezpośrednio z serwerów podmiotów trzecich, polskie instytucje publiczne pozwalają zagranicznym firmom śledzić nas podczas korzystania z usług e-administracji.
Wchodząc na portale instytucji publicznych, oczekujemy, że nasze dane (w tym informacje, jakie dokładnie strony na danym portalu odwiedzamy), nie będą udostępniane podmiotom trzecim. Zwłaszcza jeśli dotyczą spraw tak wrażliwych, jak nasz stan zdrowia, podatki, czy uzależnienia.
Na takie strony często nie wchodzimy dla przyjemności. Być może musimy wypełnić formularz, niezbędny do załatwienia konkretnej sprawy. Albo składamy zeznanie podatkowe. Lub szukamy u samego źródła konkretnych informacji dotyczących procedur, które musimy przejść w związku z narodzinami dziecka.
E-administracja nie jest dziś tylko kwestią wygody.
Fundacja Panoptykon oraz Fundacja „Internet. Czas Działać!” postanowiły niedawno wspólnie zwrócić uwagę na ten problem. Wystosowały w tym celu petycję do ministra cyfryzacji.
„Po stronie państwa leży szczególny ciężar i obowiązek troski o prywatność osób odwiedzających prowadzone przez administrację publiczną strony internetowe, zwłaszcza że za ich pośrednictwem przetwarzane są często wrażliwe dane (np. o stanie zdrowia)”
– czytamy w dokumencie.
I bardzo dobrze, bo problem ten jest wszechobecny. A metody jego rozwiązania jak najbardziej istnieją.
Odwiedzając stronę uzaleznieniabehawioralne.pl (administrowaną przez Krajowe Centrum Przeciwdziałania Uzależnieniom), z jej polityki prywatności dowiadujemy się, że:
Pliki cookie mogą być wykorzystane przez sieci reklamowe, w szczególności sieć Google, do wyświetlenia reklam dopasowanych do sposobu, w jaki użytkownik korzysta z serwisu. W tym celu mogą zachować informację o ścieżce nawigacji Użytkownika lub czasie pozostawania na danej stronie
Czy aby na pewno strona zarządzana przez instytucję publiczną, kierowana do osób, które mogą być w kryzysie uzależnienia behawioralnego, powinna pozwalać sieciom reklamowym na „wyświetlanie reklam dopasowanych do sposobu, w jaki użytkownik korzysta z serwisu”?
Informacja o naszej „ścieżce nawigacji” i „czasie pozostawania na danej stronie” (innymi słowy o tym, jak się po stronie poruszamy i na czym skupiamy uwagę) wydaje się dość wrażliwą informacją.
Zwłaszcza w kontekście portalu, na którym znaleźć możemy informacje o zaburzeniach korzystania z technologii czy kompulsywnym kupowaniu…
Portal uzaleznieniabehawioralne.pl nie jest w żadnym razie wyjątkiem. Skrypty śledzące związane z udostępnianą przez Google usługą Google Analytics autorki i autorzy petycji znaleźli między innymi na portalu miasta Łodzi i na pacjent.gov.pl.
Za pomocą przygotowanej przez Fundację „Internet. Czas Działać!” wtyczki Rentgen sami łatwo się przekonamy, gdzie jeszcze jesteśmy przez Google (i nie tylko) śledzeni.
Strony internetowe to dziś skomplikowane systemy zbudowane z wielu elementów – między innymi czcionek, zewnętrznych skryptów (niekoniecznie związanych ze śledzeniem naszych odwiedzin), arkuszy stylów, zdjęć i grafik.
Elementy te często osadzane są na stronach internetowych instytucji publicznych bezpośrednio z zewnętrznych serwerów. Jak sprawdziłem, tak jest w przypadku zarówno strony uzaleznieniabehawioralne.pl, jak i portalu pacjent.gov.pl. To oznacza, że gdy wchodzimy na te strony, nasza przeglądarka pobiera pewne zasoby z innych domen, będących poza kontrolą administratorów tych stron.
Często są to duże sieci dystrybucyjne, tak zwane CDNy (ang. „content distribution network”, „sieć dystrybucji zasobów”), lub usługi hostujące projekty programistyczne (takie, jak GitHub czy npm).
Wiążą się z tym trzy problemy.
Po pierwsze, gdy nasza przeglądarka pobiera taki zasób, nawet jeśli nie jest to skrypt śledzący, CDN dostaje informację o naszym IP (Adres IP – Internet Protocol Address, to unikalny numer przypisany każdemu urządzeniu, które jest podłączone do sieci komputerowej, wykorzystującej protokół komunikacyjny Internet Protocol), czasie odwiedzin, i na ogół również adres strony, na której dany zasób jest osadzony.
Jest to problem dla prywatności osób odwiedzających, co potwierdził na przykład sąd w Niemczech, w wyroku dotyczącym osadzania czcionek bezpośrednio z Google Fonts.
Tak zresztą działały wczesne systemy analityki odwiedzin stron internetowych. Gdzieś na stronie umieszczany był tak zwany „piksel śledzący”, malutki obrazek (zwykle wielkości jednego piksela właśnie), pobierany z serwerów zewnętrznej usługi analitycznej.
Operatorzy CDN-ów często obiecują, że oczywiście danych tak zebranych nie przetwarzają, i nie sprzedają. Polityka prywatności może się jednak zmienić, firma może zostać wykupiona lub zbankrutować. Dane mogą wyciec. Firma może też nas po prostu wprowadzać w błąd (jak w przypadku trybu Incognito w przeglądarce Google Chrome).
Dane raz o nas zebrane pozostają poza naszą kontrolą. Strony instytucji publicznych nie powinny pomagać podmiotom trzecim zbierać o nas danych.
Po drugie, każda, nawet największa firma internetowa, doświadcza awarii. Jeżeli dana strona wymaga skryptów i zasobów pobieranych z zewnętrznych źródeł, przestanie działać, jeśli któreś z tych źródeł dotknie usterka.
Im więcej takich zewnętrznych źródeł, tym awaria bardziej prawdopodobna. To trochę jak z pieczeniem ciasta. Im więcej wymaga składników, tym większa szansa, że akurat któregoś nam zabraknie. Tyle że w przypadku zewnętrznych zasobów, składniki do ciasta zamawiamy z dostawą do domu tuż przed rozpoczęciem pieczenia, i to od kilku różnych dostawców. Wystarczy, że jeden się spóźni, a ciasta na czas nie będzie.
Każdy zewnętrzny zasób, niezbędny do tego, by strona działała prawidłowo, zmniejsza więc jej niezawodność. Przekonują się o tym tysiące stron internetowych za każdym razem, gdy któryś duży CDN ma usterkę.
A w przypadku e-administracji niezawodność jest sprawą kluczową.
Po trzecie: skrypty to programy, uruchamiane w kontekście danej strony i mające w zasadzie pełny dostęp do danych przetwarzanych przez tę stronę i do jej struktury. Skrypt osadzony z zewnętrznego serwera jest programem, który jest uruchamiany przez przeglądarkę, gdy daną stronę odwiedzamy, ale który – to ważne! – pozostaje poza kontrolą administratorów strony.
Jeśli w jakiś sposób do takiego zewnętrznego skryptu zostanie dołączone złośliwe oprogramowanie, będzie miało dostęp do wszystkich danych przetwarzanych przez korzystającą z niego stronę. A w przypadku usług publicznych dane te mogą być naprawdę wrażliwe.
To nie jest hipotetyczne zagrożenie. Operatorzy CDN-ów niekoniecznie kontrolują, co za pomocą ich infrastruktury jest udostępnianie. Problem ze złośliwymi wersjami często używanych skryptów miał na przykład dość popularny CDN jsDelivr.
Kontrola nad popularnymi bibliotekami programistycznymi czasem może też być po prostu przejęta w złośliwy sposób. Gdy ktoś przejmuje kontrolę nad projektem, który jest szeroko wykorzystywany w formie zewnętrznego zasobu, może dodać złośliwy kod do skryptów używanych bezpośrednio przez rzesze stron internetowych. Bez wiedzy i zgody ich administratorów.
Takich ataków było już kilka. I absolutnie nie są rzeczą nową – najstarszy, jaki udało mi się znaleźć, miał miejsce ponad sześć lat temu.
Krótko mówiąc, korzystając z zewnętrznych zasobów – zwłaszcza skryptów – osoby administrujące stronami internetowymi instytucji publicznych wystawiają je, a co za tym idzie osoby z nich korzystające, na dodatkowe zagrożenia.
I znów: im większa liczba zewnętrznych zasobów, z których dana strona korzysta, tym większa szansa, że któryś z nich może być użyty w takim ataku.
Dodam, że istnieją metody, by się do pewnego stopnia zabezpieczyć przed złośliwą modyfikacją zewnętrznego skryptu, na przykład w postaci „Subresource Integrity” (ang. „integralność zewnętrznych zasobów”). Tyle tylko, że praktycznie nikt z nich nie korzysta – w tym na stronach instytucji publicznych, które analizowałem.
Z punktu widzenia twórcy strony internetowej, osadzenie czcionki czy skryptu w postaci zewnętrznego zasobu oznacza, że pobranie go przez przeglądarkę osoby odwiedzającej stronę obciąża infrastrukturę zewnętrznego dostawcy (na przykład CDN-a), na której jest hostowany, nie zaś infrastrukturę danej strony.
Jeśli jednak obciążenie infrastruktury danego portalu jest problemem, może lepiej skupić się po prostu na tym, by zmniejszyć wielkość strony i zasobów, które przeglądarka osoby odwiedzającej musi pobrać przy odwiedzinach?
Jeszcze kilka lat temu duże CDN-y miały dodatkową zaletę: jeśli ten sam skrypt osadzony był na wielu stronach internetowych, nasza przeglądarka pobierała go raz i przechowywała lokalnie, przyspieszając ładowanie wszystkich korzystających z niego portali. To jednak otwierało dodatkowe możliwości śledzenia nas w Internecie.
Producenci przeglądarek już dawno naprawili ten problem – a CDN-y straciły jedną ze swoich podstawowych zalet.
Mimo to wielu twórcom stron internetowych osadzenie zewnętrznego zasobu dziś wciąż wydaje się łatwiejsze i bardziej naturalne niż umieszczenie go na własnym serwerze. Dla niektórych stworzenie strony bez zewnętrznych zasobów jest wręcz niewyobrażalne.
Nic dziwnego: zdecydowana większość materiałów szkoleniowych i przykładów dotyczących tworzenia stron internetowych traktuje osadzanie zewnętrznych zasobów jako domyślną dobrą praktykę. I raczej nie wspomina o potencjalnych ryzykach.
Rozwiązań tych problemów nie trzeba daleko szukać.
Jeśli chodzi o analitykę korzystania z danej strony, można uruchomić własny serwis analityczny, na przykład korzystając z Matomo. Taka usługa mogłaby też być uruchomiona i utrzymywana centralnie, na przykład przez Centralny Ośrodek Informatyki, na potrzeby instytucji publicznych.
Można też skorzystać z usług podmiotów trzecich, które gwarantują, że zebrane dane nie będą udostępniane niezliczonej ilości partnerów, i które siedzibę i infrastrukturę mają w Unii Europejskiej – jak Plausible Analitics.
W przypadku czcionek, zewnętrznych skryptów i innych zasobów, wystarczy je umieścić na tym samym serwerze, na którym hostowany jest portal danej instytucji. Nie trzeba ich osadzać bezpośrednio z zewnętrznych usług. W naszej analogii z ciastem odpowiednikiem byłoby zaopatrzenie się we wszystkie niezbędne składniki zawczasu.
Hostowanie takich zasobów we własnej infrastrukturze rozwiązuje wszystkie trzy wspomniane wcześniej problemy: żaden zewnętrzny podmiot nie ma dostępu do danych osób odwiedzających; nie jesteśmy narażeni na awarie zewnętrznych podmiotów; nie dotkną nas też potencjalnie złośliwe zmiany w skryptach, na których się opieramy – chyba że sami te nowe, złośliwe wersje umieścimy na naszym serwerze.
To jest też kwestia cyfrowej suwerenności, niezależności usług publicznych od ogromnych zagranicznych korporacji.
Rozwiązania te są praktyczne i szeroko stosowane. Piszę to z własnego doświadczenia – odpowiadałem za infrastrukturę jednej z organizacji dziennikarskich publikujących Panama Papers. Nie potrzebowaliśmy posiłkować się zewnętrznymi zasobami ani usługami CDN-ów, mimo że ruch na stronie (mierzony m.in. za pomocą Matomo) był ogromny, a budżet na infrastrukturę niewielki.
Strona Fundacji Panoptykon również korzysta z własnej instancji Matomo. I podobnie jak strona Fundacji „Internet. Czas Działać!” nie osadza żadnych zasobów bezpośrednio z zewnętrznych źródeł.
Polska administracja też często potrafi: strona podatki.gov.pl używa czcionek hostowanych na własnej infrastrukturze. Strona Kancelarii Premiera osadza zewnętrzne zasoby wyłącznie z rodzimej domeny gov.pl.
Wystarczy chcieć.
Cykl „SOBOTA PRAWDĘ CI POWIE” to propozycja OKO.press na pierwszy dzień weekendu. Znajdziecie tu fact-checkingi (z OKO-wym fałszometrem) zarówno z polityki polskiej, jak i ze świata, bo nie tylko u nas politycy i polityczki kłamią, kręcą, konfabulują. Cofniemy się też w przeszłość, bo kłamstwo towarzyszyło całym dziejom. Rozbrajamy mity i popularne złudzenia krążące po sieci i ludzkich umysłach. I piszemy o błędach poznawczych, które sprawiają, że jesteśmy bezbronni wobec kłamstw. Tylko czy naprawdę jesteśmy? Nad tym też się zastanowimy.
Media
Władza
Krzysztof Gawkowski
Ministerstwo Cyfryzacji
Rząd Donalda Tuska (drugi)
Fundacja Panoptykon
inwigilacja
Specjalista ds. bezpieczeństwa informacji, administrator sieci i aktywista w zakresie praw cyfrowych. Studiował filozofię, był członkiem Rady ds. Cyfryzacji, jest współzałożycielem warszawskiego Hackerspace’a. Pracował jako Dyrektor ds. Bezpieczeństwa Informacji w OCCRP – The Organised Crime and Corruption Reporting Project, konsorcjum ośrodków śledczych, mediów i dziennikarzy działających w Europie Wschodniej, na Kaukazie, w Azji Środkowej i Ameryce Środkowej. Współpracuje z szeregiem organizacji pozarządowych zajmujących się prawami cyfrowymi w kraju i za granicą. Współautor „Net Neutrality Compendium” oraz “Katalogu Kompetencji Medialnych”.
Specjalista ds. bezpieczeństwa informacji, administrator sieci i aktywista w zakresie praw cyfrowych. Studiował filozofię, był członkiem Rady ds. Cyfryzacji, jest współzałożycielem warszawskiego Hackerspace’a. Pracował jako Dyrektor ds. Bezpieczeństwa Informacji w OCCRP – The Organised Crime and Corruption Reporting Project, konsorcjum ośrodków śledczych, mediów i dziennikarzy działających w Europie Wschodniej, na Kaukazie, w Azji Środkowej i Ameryce Środkowej. Współpracuje z szeregiem organizacji pozarządowych zajmujących się prawami cyfrowymi w kraju i za granicą. Współautor „Net Neutrality Compendium” oraz “Katalogu Kompetencji Medialnych”.
Komentarze