Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Ghostery, czyli jak nie dać się śledzić
Wstęp
Ghostery, wraz z nieśmiertelnym AdBlock, jest od pewnego czasu jednym z najczęściej instalowanych rozszerzeń w przeglądarkach internetowych. Pierwszy z nich blokuje działanie wszelkiej maści dodatków, skryptów śledzących naszą aktywność, wtyczek pozwalających na korzystanie z portali społecznościowych czy komentarzy (tzw. trackerów lub, jeśli ktoś woli polskie odpowiedniki – „tropicieli”); drugi natomiast blokuje niechciane treści reklamowe (szczególnie te najbardziej irytujące, czyli samouruchamiające się). Po włączeniu Ghostery i zaznaczeniu blokowania wszystkich znajdujących się w bazie dodatków nie zobaczymy już skryptów sieci reklamowych, Google Analytics, przycisków Twittera, Facebooka, komentarzy Disqusa i wielu innych.
Jak działa Ghostery
Ghostery jest rozszerzeniem przeglądarki internetowej – aktualna wersja dostępna jest na wszystkie najpopularniejsze platformy stacjonarne i mobilne. Po zainstalowaniu i uruchomieniu naszym oczom ukaże się ekran powitalny wraz z możliwością ustawienia opcji:
Kolejny ekran, „Dodatki”, to opcje nie mające bezpośredniego wpływu na samo działanie pluginu. Możemy tutaj wybrać sposób, czas i miejsce, w którym będzie ukazywać się popup z informacjami o zablokowanych na odwiedzonej stronie trackerach czy o aktualizacjach. Tutaj także znajdziemy opcję domyślnego blokowania nowych elementów – warto ją zaznaczyć, by uniknąć sytuacji opisanej wcześniej, gdy każda aktualizacja powoduje konieczność ręcznego wybierania i zaznaczania nowych tropicieli.
Od tej chwili możemy cieszyć się przeglądarką, która nie pozwala sieciom reklamowym budować bazy naszych zwyczajów podczas surfowania w Internecie. A wszystko to dzięki bibliotece trackerów, która budowana jest przez Evidon, Inc. wydawcę dodatku. Przyjrzyjmy się jej nieco dokładniej.
Biblioteka trackerów
Gdy wejdziemy na stronę bądź serwis internetowy, rzut oka na ikonę Ghostery pokaże nam informację, ile „duszek” zablokował niechcianych skryptów próbujących uzyskać o nas jakieś informacje. Gdy klikniemy w ikonę dodatku (1), naszym oczom ukaże się ich kompletna lista, a po wybraniu którejkolwiek z pozycji – możliwość bardziej szczegółowego zapoznania się z interesującym nas tropicielem (2):
Kliknięcie w link przenosi nas do szczegółowych informacji o trackerze, zgromadzonych w bazie danych Ghostery. Możemy z niej dowiedzieć się między innymi o tym, kto jest odpowiedzialny za kod śledzący, gdzie możemy uzyskać szczegółowe informacje o nim albo w jakich serwisach – poza odwiedzanym – tracker został znaleziony.
Dodatkowo, po kliknięciu w jeden z linków, oznaczonych na zrzucie powyżej (3), możemy zapoznać się ze szczegółowymi informacjami technicznymi na temat kodu trackera – dokładny url wraz z parametrami, jakie są przekazywane do skryptu wywołującego tropiciela, kod HTTP odpowiedzi oraz sformatowany i odpowiednio pokolorowany kod źródłowy:
Rzut oka w źródeł
Przyjrzyjmy się bliżej źródłom pochodzącym z wersji dodatku dla przeglądarki Google Chrome dla systemu OS X 10.9. Jeśli kogoś interesuje, jak zbudowane są rozszerzenia do tej przeglądarki, czy jak samemu stworzyć takie rozszerzenie – zapraszam do zapoznania się z informacjami na stronie Getting Started: Building a Chrome Extension. Jest to dobry wstęp do zrozumienia, jak działają rozszerzenia przeglądarki Google Chrome oraz jak pozwalają samemu modyfikować ich kod źródłowy.
Google Chrome instaluje rozszerzenia w katalogu domowym użytkownika, w podkatalogu Extensions/
. Jeśli zajrzymy do tego folderu, ukaże się nam lista losowo wygenerowanych nazw, ale dzięki plikowi Preferences
(w systemie OS X znajdującym się w katalogu ~/Library/Application Support/Google/Chrome/Default, w innych systemach operacyjnych powinien być zlokalizowany w katalogu domowym użytkownika, w folderze z ustawieniami lokalnymi aplikacji) bez trudu zlokalizujemy właściwy folder ( u mnie to mlomiejdfkolichcflejclcbmpeaniij
).
(...) "manifest_version": 2, "minimum_chrome_version": "23", "name": "Ghostery", "options_page": "options.html", (...) "path": "mlomiejdfkolichcflejclcbmpeaniij/5.1.2_0", "state": 1, "was_installed_by_default": false },
Powyżej: Fragment pliku Preferences
, przechowujący informację o lokalizacji katalogu z plikami źródłowymi rozszerzenia dla przeglądarki Chrome.
Najważniejszym plikiem każdego rozszerzenia jest manifest.json
, który definiuje wszystkie jego elementy, akcje, jakie może podejmować, pliki odpowiedzialne za przechowywanie najważniejszych informacji oraz pliki będące rdzeniem rozszerzenia, a więc wywoływane przez przeglądarkę w momencie kliknięcia w ikonę symbolizującą dodatek. W przypadku Ghostery jest nim plik includes/ghostery-min.js
(jeśli ktoś chciałby dokładniej poznać sposób działania dodatku, polecam nie zminifikowaną wersję, znajdującą się w tym samym katalogu – includes/ghostery.js
).
Kiedy zajrzymy do katalogu data/
, znajdziemy tam „serce” Ghostery, czyli niepozorny plik bugs.json
. Zawiera on ponad 1900 definicji (w chwili powstawania tego tekstu) wszelkiej maści trackerów, pluginów i innych dodatków, które potrafi rozpoznać ten dodatek.
Spójrzmy na definicję przykładowego trackera. Wśród kilku opisujących go parametrów znajdziemy: typ (analityka, inne to np. reklama czy widżety, takie jak przyciski Twittera), nazwę (Google Analytics – chyba nikomu nie trzeba przedstawiać) oraz wzorzec adresu url trackera („pattern”), który po wykryciu przez Ghostery w kodzie źródłowym serwisu jest odpowiednio obsłużony, zgodnie z ustawieniami, jakich dokonaliśmy w opcjach dodatku.
{ "type": "analytics", "aid": 13, "cid": 81, "pattern": "stats\\.g\\.doubleclick\\.net\\/dc\\.js", "classification": 2, "name": "Google Analytics", "id": 1982, "tags": [48], "affiliation": "AAF,DAA,DMA,EDAA Europe,IAB,IAB Europe,IAB UK,NAI" }
Powyżej:Definicja trackera Google Analytics w pliku bugs.json.
Znając schemat, według którego tworzona jest baza danych o niechcianych wtyczkach, nic nie stoi na przeszkodzie, by samemu dodawać swoje definicje i w ten sposób budować spersonalizowaną wersję Ghostery.
Można też zgłaszać propozycje dodania do bazy danych skryptów, które śledzą poczynania użytkownika i w jakikolwiek sposób naruszają jego prywatność w sieci. W tym celu wystarczy rozpocząć nowy temat na forum wsparcia Ghostery.
Źródła
- Strona domowa projektu Ghostery
- blog Ghostery
- Community-powered support for Ghostery – pytania/sugestie do Ghostery w formie Q&A
–Rafał 'bl4de’ Janicki <bloorq[at]gmail.com>
Panie, a po co to komu gdy do adblocka są takie listy jak: „Disable Tracking”, „Disable Malware Domains” i „Disable Social Media Buttons”?
Osobiście preferuję jako pierwszą linię RequestPolicy (niestety nieco zaniedbany przez autora) i NoScript. Więcej w zasadzie nie potrzeba do szczęścia. Ghostery można użyć jako drugą linię ochrony w razie gdy z jakiegoś powodu (np. funkcjonalności) podnieśliśmy blokadę NoScript oraz gdy zezwalamy na skrypty z domeny, a niestety używa ona lokalnych np. trackerów/adserwerów (OpenX itp.). AdBlock w zasadzie nadaje się już ewentualnie tylko do ukrywania pustych przestrzeni po zablokowanych boksach.
W Ghostery aktualizacja listy jest też trackerem. Preferuję AdBlock edge (AB+ ma whitelisty reklam i trackerów) i NoScript i Self Destructing Cookies
„Preferuję AdBlock edge (AB+ ma whitelisty reklam i trackerów)” – którą to opcję można wyłączyć za pomocą jednego „ptaszka” (nie pamiętam czy przy instalacji domyślnie jest włączona).
Niestety, z (chyba) lenistwa ktoś postanowił napisać forka, żeby reszta leni nie musiała się męczyć z rzeczonym „ptaszkiem”:D
Własnościowe oprogramowanie to Ghostery. AB + NoScript wystarcza, a wolnym odpowiednikiem Ghostery jest Disconnected.
Właśnie miałem zapytać o różnicę między używanym przez mnie Disconnected a Ghostery właśnie. Dzięki Cezary – zostaję przy tym co mam.
Disconnected fajny, dzięki panowie ;)
Dziękuję za wszystkie komentarze.
Tekst nie miał na celu wykazania wyższości Ghostery nad innymi narzędziami, jest jedynie wskazaniem, że coś takiego, jak Ghostery istnieje, do czego służy oraz dać wskazówki, jak zacząć z niego korzystać.
o co ten szał żeby aż na sekuraku promować wtyczkę do blokowania ?
1 nie ma większej różnicy między ghostery/disconected a forkami ABP , gho/disc służą do blokowania głównie trackerów a ABpodobne do blokowania reszty i pozostaje różnica filtrów częstość ich aktualizowania i ich restryktywność i czas reagowania na nowe skrypty/reklamy
#dlatego wolę ABcośtam i wrzucam filtrów ile chcę , a gost/disc nie można dorzucać filtrów/subskrypcji własnych/społecznościowych
2 na ff i na chrome wtyczki działają inaczej , na ff działa jedna po drugiej na chrome wszystkie na raz dlatego w ff opłaca się np Noscript+AB… no script zablokuje wszystko poza pochodzące z poza strony którą odwiedzamy a AB reklamy na stronie i mniej procka się zużywa
a na chrome można zainstalować ScriptNo i AB i gostery cały kod i wszystkie zapytania będą musiały przelecieć przez każdą z tych wtyczek
#dlatego pod chrome opłaca się tylko jedna wtyczka do blokowania (ABcośtam i filtry) pod ff zresztą też tyle że NoScript blokuje(zależnie od ustawień) wszystko z poza domeny/domy2stopnia co denerwuję trochę przy przeglądaniu codziennego contentu z normalnych stron
ozyrys – nie ma szału, tak sobie tylko przyjaźnie gaworzymy :-)
„dlatego wolę ABcośtam i wrzucam filtrów ile chcę” – czym skutecznie (jeśli list jest za dużo) zamulasz sobie przeglądarkę;)
Jako opcjonalną alternatywę na ghostery polecam DoNotTrackPlus, oferuje to co ghostery + dodatkowo maskowanie maili.
Obecnie nazywa się to DoNotTrackMe i ma mniejszą skuteczność (czy też efektywność) wykrywania i blokowania niż Ghostery (no, chyba że coś się zmieniło przez ostatnie miesiące).
Możecie polecić przy okazji jakieś „gotowce” list do ADB? Cały czas korzystam z adblocklist.org, ale jest od dwóch lat nieaktualizowana, a chciałbym znajomym – przy okazji instalacji przeglądarki z ADB – podkładać od razu jak najlepszą listę sprawdzonych i działających blokad.
https://adblockplus.org/en/subscriptions
Podana przeze mnie jest jakoby to stworzona polskie serwisy, a na Twojej liście już takowej zlokalizowanej nie ma (choć pamiętam, że kiedyś była). Chyba że widzisz inne rozwiązanie…
Nie ma, bo już jest nieaktualizowana od bodaj ~1,5 roku (a po co trzymać na liście coś „przeterminowanego”).
Rozwiązanie?
EasyPrivacy+EasyList + Fanboy’s Annoyance List + Malware Domains w zupełności obecnie wystarcza jako solucja na w miarę bezstresowe przeglądanie „internetów”;)
Dzięki za podpowiedź i wyjaśnienia. Lista EasyPrivacy przy włączonym dodatku Disconnect to chyba tylko spowalniacz, prawda?
Nie wiem, obecnie nie używam Disconnect.
Sprawdź ile trackerów blokuje Disconnect z włączoną listą, a ile z wyłączoną.
@Cezary
Marzec 19, 2014 | 9:27 pm
@gjon
Marzec 19, 2014 | 9:54 pm
@techfreak
Marzec 20, 2014 | 8:49 am
Disconnect, panowie, jeśli już;)
„Po włączeniu Ghostery i zaznaczeniu blokowania wszystkich znajdujących się w bazie dodatków nie zobaczymy już skryptów sieci reklamowych, Google Analytics, przycisków Tweetera, Facebooka, komentarzy Disqusa i wielu innych.”
Twittera, drogi autorze;)
Przydałaby się opcja cofnięcia subskrypcji komentarzy…
Ta poniżej „Subskrybujesz ten wpis. Zarządzaj subskrypcją” zwraca 404
Dość zabawne jest to że Ghostery dość skutecznie oprotestowuje również strone sekuraka :)
Widać nie boimy się konfrontacji z rzeczywistością :P
https://www.eff.org/privacybadger
Dla tych co tu mogą jeszcze trafić-ghostery żeczywiście blokuje a później sprzedaje pozyskaną wiedzę o nas firmom…😈:to ja ghostery…ochronie cię….,zresztą nie tylko….