Słuchawki Bluetooth spięte jednocześnie z komputerem i telefonem przestały wracać do telefonu. Dźwięk z telefonu milczał, a wyciszenie karty w przeglądarce nic nie dawało. Pomagało dopiero zamknięcie jednej konkretnej karty ze stroną główną AliExpressu. Programista, który opisał tę awarię 20 sierpnia, podejrzał moment, w którym strona uruchamia przetwarzanie dźwięku. Znalazł dwa konteksty audio uruchomione przez skrypty platformy, choć na stronie nie było ani jednego odtwarzacza. Strona nie odtwarzała niczego, co człowiek mógłby usłyszeć. Generowała własny sygnał i mierzyła, jak przerobił go sprzęt. Tak właśnie pobiera się odcisk przeglądarki.
Na czym polega odcisk przeglądarki mierzony dźwiękiem
Odcisk przeglądarki to zestaw drobnych różnic, po których da się rozpoznać konkretne urządzenie bez żadnego pliku cookie. Wersja systemu, lista zainstalowanych czcionek, model karty graficznej, liczba rdzeni procesora. Pojedynczo żadna z tych informacji nic nie znaczy. Zebrane razem tworzą kombinację, która wraca przy następnej wizycie i pozwala rozpoznać tę samą maszynę.
Dźwięk nadaje się do tego zadania z prozaicznego powodu. Przetwarzanie próbek to matematyka na liczbach zmiennoprzecinkowych, a różne procesory wykonują ją minimalnie inaczej. Wystarczy wygenerować znany przebieg, przepuścić go przez łańcuch przetwarzania i zapisać wynik. Nikt niczego nie musi usłyszeć, żeby pomiar się udał.
Autor wpisu na blogu laserphile odtworzył cały tor tego pomiaru. Skrypt tworzy znany sygnał, sprawdza wynik obliczeń, ścisza go do zera i mimo to podłącza do systemowego wyjścia dźwięku. Ostatni krok jest tu najciekawszy. Zerowa głośność oznacza ciszę dla człowieka, ale podłączenie do wyjścia systemowego oznacza, że przeglądarka dalej realnie przelicza cały łańcuch i trzyma otwartą ścieżkę dźwiękową systemu. Za pomiar odpowiadają dwa skrypty, collina.js i fireyejs.js. Autor wpisu ocenia, że wyglądają na część zestawu narzędzi Alibaby do zabezpieczeń przeglądarkowych i przeciwdziałania nadużyciom, i tak ostrożnie warto to traktować. Sprawdziliśmy oba adresy 24 sierpnia. Nadal odpowiadają i nadal ważą swoje, odpowiednio 249 i 463 kilobajty.
Dlaczego słuchawki Bluetooth przestały przełączać się na telefon
Na opisanym zestawie słuchawki nie wracały do telefonu, bo zerowy sygnał ze strony wciąż zajmował ścieżkę dźwiękową komputera. Odpowiada za to multipoint, czyli funkcja trzymająca dwa połączenia naraz, na przykład z laptopem i z telefonem. Na tym zestawie komputer miał priorytet, a telefon przejmował dźwięk dopiero wtedy, gdy komputer przestawał nadawać. Wszystko sprowadzało się więc do pytania, czy komputer w tej chwili czegoś nie odtwarza.
Łańcuch z zerową głośnością odpowiadał na to pytanie twierdząco. Dla systemu operacyjnego przeglądarka pozostawała aktywnym źródłem dźwięku, bo formalnie coś płynęło do wyjścia, choć jego poziom wynosił zero. To wystarczyło, żeby słuchawki trzymały połączenie z komputerem, dopóki karta była otwarta. Materiał źródłowy nie rozstrzyga przy tym, czy decyzję o niewracaniu na telefon podejmował Firefox, Windows czy oprogramowanie samych słuchawek.
Najbardziej niewygodna jest druga konsekwencja. Ikona głośnika przy karcie sygnalizuje, że coś z niej słychać. W opisanym przypadku przy głośności ustawionej na zero nie zapaliła się wcale. Użytkownik nie miał więc w interfejsie żadnej wskazówki, że strona trzyma zajętą ścieżkę audio.
Ten sam mechanizm zgłoszono Mozilli już w 2023 roku
Sprawdziliśmy przy okazji jedną rzecz i to ona jest w tej historii najciekawsza. W bazie błędów Mozilli od 5 listopada 2023 roku wisi zgłoszenie o żądaniu zasilania układu dźwiękowego, które blokuje uśpienie komputera z Windows 11 na stronach AliExpressu. Objaw jest tam inny. Chodzi o komputer, który nie chce zasnąć po wejściu na stronę produktu, a nie o słuchawki po otwarciu strony głównej. Pokrywa się natomiast mechanizm i to on jest tu istotny. Węzły dźwiękowe pracują dalej, bo nikt ich nie zatrzymuje, a zamknięcie karty usuwa problem. Zgłoszenie wciąż ma status nowego, choć minęły prawie trzy lata. Ostatni ruch odnotowano w nim 23 sierpnia, czyli już w trakcie obecnego zamieszania. Odkrycie sprzed czterech dni jest więc raczej ponownym odkryciem. Chodzi o rzecz, która dawno komuś przeszkadzała. Trafiła jednak do rejestru jako usterka poboru energii, a nie jako sprawa prywatności.
Inżynier Firefoksa policzył, ile ta metoda jest dziś warta
W Firefoksie ta metoda ma dziś znikomą wartość rozpoznawczą, a stoją za tym konkretne liczby. Jeszcze 20 sierpnia odezwał się Tom Ritter, który zajmuje się w Mozilli ochroną przed odciskiem przeglądarki. Jego analiza zaczyna się od zdania ustawiającego całą sprawę. Rozpoznawanie ludzi po odcisku przeglądarki jest w sieci stanowczo zbyt powszechne. W wariancie dźwiękowym działa jednak słabo, bo Firefox tę drogę w dużej mierze zamknął.
Powód jest konkretny. Firefox ujednolicił wynik pomiaru dźwięku w wersji 118, trzy lata temu. Telemetria Mozilli pokazuje, że 99,24 procent użytkowników otrzymuje jedną z zaledwie trzech wartości, a około 0,76 procent nie zwraca nic. Ritter podaje te udziały w zaokrągleniu, bo poza nimi zostaje jeszcze garstka przypadków, do których zaraz wracamy. Trzy wartości zamiast tysięcy oznaczają, że taki pomiar niemal nikogo nie wyróżnia z tłumu. Różnice między tymi trzema wynikami sprowadzają się do architektury procesora, nie do konkretnego egzemplarza komputera.
Ritter podaje też drugą stronę tej statystyki i robi to uczciwie. W długim ogonie siedzą 23 inne wartości należące do 48 użytkowników, których taki pomiar czyni całkowicie unikatowymi. Sam autor nazywa to pechem i tłumaczy nietypowym sprzętem albo usterką pamięci. Jego wniosek brzmi, że pomiar przez dźwięk jest dziś prawie bezużyteczny. Zaraz potem pada jednak zdanie, które w streszczeniach ginie. Rozpoznawanie po odcisku przeglądarki jako takie nadal działa na większość ludzi w sieci. W przeglądarkach nastawionych na prywatność powinno być natomiast znacznie mniej skuteczne.
Spór dotyczy nie mechanizmu, lecz wniosku
Warto rozdzielić dwie rzeczy, bo w obiegu chodzą razem. Mechanizm jest dobrze udokumentowany. Skrypty istnieją, graf audio wygląda tak, jak go opisano, ścieżka dźwiękowa faktycznie zostaje zajęta, a Ritter wprost potwierdza, że to właśnie zrobił kod Alibaby. Sporny jest dopiero wniosek, który z tego wyciągnięto w obiegu. Miałby to być trudniejszy do zablokowania następca odcisku z płótna graficznego i najpilniejsze dziś zagrożenie. Krąży już analiza, której sam tytuł mówi o przesadzonym wniosku, a liczby z telemetrii Mozilli tę nadinterpretację podważają.
Nie wiemy natomiast rzeczy, którą najłatwiej byłoby dopisać. Oba skrypty wyglądają na element zabezpieczeń sklepu, a wykrywanie oszustw i śledzenie użytkownika mogą korzystać z takiego samego rodzaju pomiarów. Rozstrzyga o tym cel, a tego, które zastosowanie było celem tutaj, nie da się odczytać z kodu działającego w przeglądarce. Nie znaleźliśmy żadnej publicznej odpowiedzi AliExpressu ani Alibaby w tej sprawie, choć od publikacji minęły cztery dni. Firma jest zresztą pod europejską lupą z zupełnie innego powodu, o czym pisaliśmy przy okazji unijnego postępowania wobec platformy na podstawie aktu o usługach cyfrowych.
Pewne pozostają natomiast dwie rzeczy. Strona internetowa potrafi trzymać zajęty sprzęt audio bez jakiegokolwiek śladu w interfejsie przeglądarki. Skutki uboczne są realne i odczuwa je zwykły człowiek, niezależnie od tego, po co kod powstał. Ritter ujmuje to złośliwie i trafnie. Przy dostatecznej liczbie ofiar kod prędzej czy później zmieni coś, co ktoś w końcu zauważy.
Co możesz zrobić w ustawieniach przeglądarki
Najprostsza reakcja jest natychmiastowa i banalna: zamknij kartę. W opisanym przypadku to wystarczyło, żeby słuchawki wróciły do normalnego zachowania, i od tego warto zacząć. Dalej zaczynają się decyzje, które trzeba podjąć świadomie, bo część z nich niczego nie zmieni. Jeśli korzystasz z aktualnego Firefoksa, akurat ten pomiar niemal na pewno nic o tobie nie mówi i nie ma tam nic do włączania. Ritter nazywa go prawie bezużytecznym, a nie martwym, bo garstka nietypowych maszyn wciąż zwraca wartość unikatową. To samo prawdopodobnie dotyczy Chrome’a, choć Ritter zaznacza, że tam może dalej wyciekać informacja o architekturze procesora.
Sensowniejszy jest krok szerszy, bo problemem nie jest jedna metoda pomiaru, tylko cała rodzina. Mozilla wprowadziła mocniejszy zestaw ochron w Firefoksie 145 i według własnego opisu firmy zmniejsza on liczbę użytkowników możliwych do rozpoznania o połowę. Ochrony te działają w oknie prywatnym oraz przy ustawieniu ochrony przed śledzeniem na tryb ścisły. Znajdziesz je w ustawieniach, w sekcji prywatności i bezpieczeństwa. Mozilla zaznacza przy tym, że tryb ścisły potrafi popsuć działanie niektórych stron, więc traktuj go jako wybór świadomy, a nie oczywisty.
Na samą uwięzioną ścieżkę dźwiękową ustawienia prywatności raczej nie pomogą, bo to nie jest funkcja śledzenia, tylko jej skutek uboczny. Ochrona przed odciskiem bywa powiązana z blokowaniem znanych skryptów pomiarowych, więc pośrednio może coś dać. Nikt tego jednak dla tego przypadku nie sprawdził. Zostaje blokowanie samych skryptów i tak zrobił autor pierwotnego wpisu, korzystając z rozszerzenia uBlock Origin. Warto jednak wiedzieć, na co się piszesz. Reguły blokujące potrafią przestać działać po zmianie adresów, a wycinanie tych skryptów bywa okupione dodatkowymi zagadkami przy logowaniu albo kłopotem przy płatności. Jeśli twoje słuchawki nagle przestają wracać do telefonu, sprawdź najpierw, jaką kartę masz otwartą. Podobny mechanizm zgody i pomiaru opisywaliśmy niedawno przy oknie zgody na śledzenie w urządzeniach Apple’a.
Pierwsza Misja AI · Kodożercy
Rozumiesz zagrożenia AI, gdy rozumiesz jak naprawdę działa.
Kurs Pierwsza Misja AI ma osobną lekcję o ciemnej stronie AI: halucynacje, deepfakes, manipulacja. Zanim zaczniesz się bać, zacznij rozumieć.
Poznaj pełny program →

Najczęstsze pytania
Jak sprawdzić, czy strona trzyma otwartą ścieżkę dźwiękową
Bez dodatkowych narzędzi nie zobaczysz tego wprost. W opisanej konfiguracji przy zerowym poziomie sygnału karta nie dostała ikony głośnika. Najprostszym testem jest obserwacja objawu. Jeśli słuchawki z multipointem przestają wracać do telefonu, zamykaj kolejno otwarte karty i sprawdzaj, po której wracają. W Chrome można dodatkowo zajrzeć do narzędzi deweloperskich, gdzie osobny panel pokazuje aktywne konteksty dźwiękowe strony. Firefox własnego odpowiednika nie ma, bo taki panel usunięto z niego lata temu.
Czy AliExpress mnie podsłuchuje przez mikrofon
Nie. Dostęp do mikrofonu wymaga wyraźnej zgody w przeglądarce i nikt tu takiej zgody nie prosił ani nie obszedł. Opisany kod działa w drugą stronę: sam generuje sygnał i mierzy, jak przerobił go sprzęt. To pomiar konfiguracji urządzenia, a nie nagrywanie dźwięku z otoczenia. Różnica jest zasadnicza i warto ją trzymać, bo o podsłuch najłatwiej tę historię pomylić.
Podsumowanie
Historia z AliExpressem jest ciekawa nie dlatego, że ktoś odkrył nową broń, lecz dlatego, że pokazuje realny stan gry o prywatność w przeglądarce. Technika pomiaru przez dźwięk istnieje i faktycznie chodzi na dużym sklepie. W Firefoksie zneutralizowano ją jednak lata temu i u niemal każdego rozpoznaje dziś tylko typ procesora. Prawdziwym problemem okazało się coś innego: strona potrafiła zająć sprzęt audio całego komputera, nie zostawiając na to żadnego śladu w interfejsie. Zauważono to przypadkiem, bo psuły się słuchawki, a nie dlatego, że ktokolwiek tego pilnował. Zauważono zresztą nie pierwszy raz, bo w bazie błędów Mozilli bliźniacze zgłoszenie o stronach AliExpressu leży otwarte od listopada 2023 roku. Odcisk przeglądarki jako taki nie zniknął i nadal działa na większość ludzi w sieci. Zmienia się tylko to, jak wiele przeglądarka jest w stanie z tego zabrać po drodze. O tym, jak polskie prawo podchodzi dziś do treści publikowanych w sieci, pisaliśmy przy przepisie o patostreamingu, który obowiązuje od 23 sierpnia.
Newsletter · DevstockAcademy & Kodożercy
Bądź na bieżąco ze światem IT, AI i automatyzacji
Co wtorek: newsy z branży, praktyczne tipy i narzędzia które warto znać. Zero spamu.




