Sesja Linuksowa cz. 2

W poprzednim wpisie było o tym, jak pojechałem na Sesję Linuksową i co mi się podobało. W tym będzie o powrocie, konkursach i trochę ponarzekam.

Zacznę od narzekania. Strona Sesji Linuksowej to dziwny twór, z którym miałem problemy. Zaczęło się od tego, że jedna z przeglądarek (Firefox Focus) w ogóle nie pokazywała agendy. Druga pokazała, więc wzruszyłem ramionami. I tak by zostało i zapomniałbym o sprawie, gdyby nie dziwne godziny pokazane na desktopie (Firefox), gdy sprawdzałem pociągi pod kątem wyjazdu. Stwierdziłem, że z rozwiązaniem do agendy jest coś nie tak. Zacząłem walczyć z ustawieniami Focusa i… nie udało mi się wyświetlić treści agendy. Doszło do dość absurdalnej sytuacji, gdy miałem 4 różne przeglądarki, na 2 różnych systemach (Android, Linux). Z których jedna nie pokazywała agendy, a druga miała inne godziny, niż dwie pozostałe. Za każdym razem problem był na przeglądarce robionej przez Mozillę.

Owszem, dobrzy ludzie zwrócili mi później uwagę, że jest napisane System informatyczny Confreg wyświetla godziny w strefie czasowej zażądanej przez przeglądarkę. W przypadku używania funkcji ResistFingerprinting, godziny pokazują się w UTC. Wykłady zaczynają się o godzinie 9:00 czasu środkowoeuropejskiego letniego. Drobny problem polegał na tym, że było to napisane za agendą. A mnie interesował pierwszy wykład z uwagi na godzinę rozpoczęcia i kupno biletu. Ach, gdyby tylko można było wyświetlić godzinę korzystając z lokalnego czasu konferencji lub podać wprost strefę czasową, a nie zgadywać na podstawie strefy przeglądarki… Niby nic, ale naprawdę mało brakowało, żebym zrezygnował z przyjazdu. Dotarcie na siódmą rano w sobotę trochę mi się nie uśmiechało. Ostatecznie pewność zyskałem przy użyciu macOS z Chrome, bez dodatków. Czyli chwalmy open source i prywatność, ale jak coś trzeba zrobić, to… niekoniecznie się to sprawdza.

Na obronę systemu agendy powiem jedynie, że całkiem zgrabnie wg mnie pokazywał, w którym miejscu w agendy jesteśmy w danej chwili. Niby tylko czerwona linia, a bardzo ułatwiała korzystanie.

Byli sponsorzy ze stoiskami oraz konkursy. Korbank, którego znam z sieci ze starych czasów, ma teraz swoją kolokację i VPSy. W ramach konkursu można było złożyć serwer (prawdziwy) na czas[1] i dostać talon na VPS i balon[2]. Niby niezłe ceny, bo od 10 zł/m-c z VAT za najmniejszą maszynkę (10 GB dysku, 2 GB RAM, 1 vCPU), ale… wygląda, że do normalnego korzystania trzeba dokupić adres IPv4 za 5 zł/m-c, bo w standardzie jest IPv6. Jeśli wszystko pójdzie dobrze to uruchomię wkrótce i dam znać, czy da się korzystać bez IPv4. Tzn. czy i na ile jest to w praktyce problematyczne.

Drugi konkurs, w którym wziąłem udział, był „konferencyjny” i w przypadku niektórych zadań także dawał dostęp do VPSów. Też takich wyposażonych wyłącznie w IPv6, choć bez możliwości dokupienia IPv4. Chodzi o mikr.us, którym trochę chciałem się pobawić już wcześniej, a trochę nie widziałem sensu, skoro istnieją darmowe alternatywy, z lepszymi warunkami. No ale skoro można było się pobawić i sprawdzić w konkursie[3], to niech będzie. Ku mojemu zdziwieniu, talon jest na całkiem mocną maszynę (wariant 3.5, czyli 4GB RAM, 40 GB dysk) i na rok. Nawet mam pomysł do czego go wykorzystam, choć pewnie starczyłaby połowa zasobów.

Powrót chciałem rozpocząć tramwajem, ale… Google maps stwierdziło, że tramwaj, którym przyjechałem, nie jeździ na dworzec. Pokazywało same autobusy. To skłoniło mnie do opcji numer dwa, czyli spaceru, który pierwotnie był przewidziany także na dotarcie na Sesję. Faktycznie, nie jest daleko, w czasie poniżej pół godziny spokojnie dało się dojść. Piękna pogoda, więc spacer po Wrocławiu zaliczony z przyjemnością. Pociąg punktualnie i w zasadzie bez niespodzianek, jeśli nie liczyć braku wagonu, w którym miałem miejsce. Okazało się, że dopiero je doczepią po podstawieniu, ale mogłoby to być zaznaczone na bilecie. Nie tylko ja byłem zaskoczony sytuacją i szukałem nieistniejącego jeszcze wagonu.

Wykłady z dnia drugiego – postaram się obejrzeć. Niestety, średnio lubię nagrania prezentacji ogólnie, a „scenicznych” szczególnie. Zwykle najwyżej średnia jakość dźwięku jest i nie wszystko dobrze widać. Choć sprawdziłem właśnie na YouTube nagrania z niedzieli i przyznaję, że jest zrobione profesjonalnie. Nie zmienia to faktu, że za rok i tak postaram się powtórzyć wypad.

[1] Oj, wyszedłem z wprawy, faktem jest, że ładnych parę lat nie składałem takiego sprzętu.
[2] To pomysł twórców, nie mój.
[3] Trochę miałem wyrzuty, bo dla grających w CTFy zadanie było proste. Jednak stwierdziłem, że po pierwsze nie mam żadnych powiązań z organizatorami, po drugie każdy może zrobić, po trzecie, wyjątkowo mam laptopa na konferencji, po czwarte, będzie okazja pobawić się VPSem.


Browsergate

Skoro jest strona, to sprawa jest poważna, prawda? Coraz głośniej robi się o aferze ochrzczonej Browsergate. Zaczyna się od LinkedIn Is Illegally Searching Your Computer. Czyli grubo. Ale czy słusznie?

Wydaje mi się, że autorzy trochę wyolbrzymiają. Co się dzieje technicznie? Na stronie LinkedIn jest javascript, którego zadaniem jest zebranie informacji o zainstalowanych rozszerzeniach w Chome[1]. Jest to robione przy pomocy paru technik. Najważniejsza z nich opiera się o predefiniowaną listę rozszerzeń i obecnych w nich plików. Skrypt próbował czytać kolejne pliki i – w przypadku sukcesu – zapamiętywał informację, że dane rozszerzenie jest obecne (i aktywne). Tak zebrane informacje były wysyłane do właściciela LinkedIn, czyli Microsoftu. Nie ma natomiast mowy o przeszukiwaniu komputera, co sugeruje nagłówek autorów znaleziska. Aktywność jest ograniczona do plików rozszerzeń.

Autorzy znaleziska argumentują, że za sprawą rozszerzeń w przeglądarce można określić przekonania polityczne, religijne, zdrowotne i dotyczące zatrudnienia. Jestem w stanie się zgodzić, że w specyficznych przypadkach[2] faktycznie da się określić je z wysokim prawdopodobieństwem. I – ponieważ użytkownik jest zalogowany – skorelować z konkretną osobą.

Zatem oburzenie na Microsoft jest słuszne. Czemu jednak jest ograniczone tylko do tej jednej firmy, a Google i twórcy rozszerzeń są tu pominięci? Cała technika możliwa jest tylko dlatego, że przeglądarka Google, podobnie jak wszystkie pochodne Chromium, stosują stałe lokalne identyfikatory rozszerzeń. Nie jest to żadna tajemnica. Nie jest to też norma wśród przeglądarek. Firefox na przykład stosuje losowe identyfikatory lokalne. Takie działanie uniemożliwia stronie próbę odczytu znanego pliku z rozszerzenia, więc technika nie zadziała.

Dodatkowo, twórcy rozszerzenia muszą w manifeście jawnie zezwolić stronie[3] na dostęp do plików przy pomocy dyrektywy web_accessible_resources. Ładny opis, łącznie z tym, że Chrome nie ma losowych identyfikatorów znajdziemy na stronie Mozilli.

Czemu nie ma oburzenia na twórców Chromium, którzy nie randomizują lokalnych ID rozszerzeń? Ani na samych twórców rozszerzeń pozwalających na ustalenie wrażliwych danych, że pozwalają na czytanie plików rozszerzenia stronom[4]? No i w końcu zastanawia mnie, czy to jedyna strona, która tak działa?

Sama funkcjonalność odczytu plików rozszerzeń nie jest nowa i była znana wielu osobom (tak, znałem). Zastosowanie jest… interesujące. Mi masowe skanowanie rozszerzeń nie przyszło do głowy. Może dlatego, że nie mam zastosowania dla tych danych? Czy za sprawą Browsergate będzie mała rewolucja w świecie rozszerzeń i podejściu do prywatności? Zobaczymy.

[1] Tak naprawdę w pochodnych Chromium.
[2] Wymieniają te przypadki i są to konkretne rozszerzenia, których obecność Microsoft celowo sprawdza.
[3] Lub stronom, możliwe wildcardy.
[4] No dobrze, nie zawsze może dać się uniknąć dostępu do plików, zapewne zależy od tego, co dane rozszerzenie robi.