Mastodon
Zdjęcie okładkowe wpisu Otwarta karta z AliExpress blokuje słuchawki Bluetooth. Wszystko przez agresywny skrypt śledzący

Otwarta karta z AliExpress blokuje słuchawki Bluetooth. Wszystko przez agresywny skrypt śledzący

0
Dodane: 7 godzin temu

Masz w tle otwartą kartę z AliExpress, chcesz odebrać połączenie na telefonie, ale słuchawki z funkcją Bluetooth Multipoint odmawiają przełączenia źródła? To nie awaria sprzętu ani błąd systemu operacyjnego.

Chiński gigant e-commerce wdrożył w swoim serwisie mechanizm identyfikacji urządzeń (audio fingerprinting), który w skrajnie niechlujny sposób generuje niesłyszalny strumień dźwięku, paraliżując pracę kart dźwiękowych i akcesoriów bezprzewodowych.

Fuszerka w kodzie: ciągły generator fali zamiast cichej analizy

Technika audio fingerprintingu polega na generowaniu krótkiego sygnału testowego i sprawdzaniu, w jaki sposób silnik audio przeglądarki oraz przetwornik urządzenia go przetworzą. Różnice w zaokrągleniach matematycznych i parametrach bufora pozwalają stworzyć unikalny identyfikator sprzętowy komputera bez korzystania z plików cookies.

Większość serwisów stosuje do tego interfejs OfflineAudioContext, który wykonuje obliczenia w pamięci podręcznej w ułamku sekundy i natychmiast zwalnia zasoby. Twórcy skryptów śledzących AliExpress (collina.js oraz fireyejs.js) poszli jednak po linii najmniejszego oporu:

  • Uruchomili aktywny AudioContext w czasie rzeczywistym: skrypt zaprzęga generator fali piłokształtnej do ciągłej pracy.
  • Ciągła transmisja ciszy: serwis bez przerwy wysyła niesłyszalny sygnał do karty dźwiękowej, dopóki karta w przeglądarce pozostaje otwarta.

W tym momencie może zapytasz, skoro nic nie słychać, to w czym problem? Cisza nie oznacza że nic się nie dzieje! Dzieje się i to dużo!

Paraliż Bluetooth Multipoint, aparatów słuchowych i uśpienia systemu

Skutki uboczne tej metody bezpośrednio uderzają w użytkowników korzystających ze słuchawek bezprzewodowych z funkcją wielopunktowego parowania. Najbardziej widocznym objawem jest blokada przełączania źródeł. Ponieważ przeglądarka stale transmituje strumień audio, moduł Bluetooth w komputerze melduje słuchawkom aktywny transfer. W efekcie słuchawki nie przełączą się na telefon podczas dzwonienia ani przy próbie odtworzenia multimediów ze smartfona. Nic nie słyszysz, nie gra, myślisz, że słuchawki się popsuły, a to… AliExpress.

Jeszcze gorzej mają posiadacze niektórych modeli aparatów słuchowych (tych, z automatycznym trybem wyciszania otoczenia w przypadku prowadzenia rozmowy). Otóż nowoczesne procesory słuchowe po wykryciu aktywnego strumienia audio z komputera automatycznie tłumią mikrofony otoczenia, biorąc niesłyszalny skrypt za połączenie głosowe. W efekcie niedosłysząca osoba ma odcinane wsparcie. I najprawdopodobniej nie wie dlaczego, a pierwsze podejrzenia padają na awarię drogich aparatów słuchowych (nie tym razem).

Do tego podtrzymywanie aktywnego kontrolera audio uniemożliwia przejście podzespołów w stan głębokiego oszczędzania energii, co w systemie Windows potrafi zablokować przejście laptopa w tryb uśpienia (problem udokumentowany m.in. w Bugzilli Mozilli pod numerem 1863193).

Architektoniczna luka w przeglądarkach i blokada w uBlock Origin

Problem ujawnia istotną lukę w uprawnieniach współczesnych przeglądarek. O ile dostęp do kamery czy mikrofonu wymaga wyraźnej zgody użytkownika, o tyle otwarcie aktywnego kontekstu audio w celach telemetrycznych odbywa się całkowicie poza kontrolą użytkownika. Co gorsza, standardowa funkcja wyciszenia karty w Chrome czy Firefoksie (starszym niż wersja 118) odcina jedynie słyszalny sygnał dla użytkownika, ale nie zamyka samego strumienia na poziomie sterownika. Ty nic nie słyszysz, głośność na zero, a chip odpowiedzialny za przetwarzanie cyfrowego sygnału audio cały czas miele te zera i jedynki.

I tu robi się naprawdę niepokojąco: nawet przywrócenie komputera do ustawień fabrycznych niekoniecznie zatrze taki ślad. Jeśli identyfikator powstaje na podstawie sposobu, w jaki konkretny tor audio przetwarza sygnał, ponowna instalacja systemu nie zmieni przecież samego sprzętu. Po powrocie na AliExpress przeglądarka może więc ponownie wygenerować charakterystyczny dla urządzenia odcisk, który — w połączeniu z innymi elementami fingerprintingu — może pomóc rozpoznać tego samego klienta. Przy czym nie demonizowałbym samej techniki audio fingerprintingu, nie tylko AliExpress ją stosuje, ale AliExpress wdrożyło ją bardzo źle (narażając wielu użytkowników giganta e-commerce na fałszywe objawy „zepsutego sprzętu audio”).

Aby trwale rozwiązać problem bez resetowania komputera (co, jak wyjaśniliśmy, niewiele daje), czy zamykania kart ze sklepem (pomaga, ale wówczas nie skorzystasz z AliExpress), wystarczy zablokować skrypty telemetryczne Alibaba Group. W ustawieniach rozszerzenia uBlock Origin, w zakładce „Moje filtry”, należy dodać poniższe reguły:

Plaintext
! AliExpress AWSC fingerprinting scripts
||assets.aliexpress-media.com/g/AWSC/uab/*/collina.js$script,domain=aliexpress.com
||assets.aliexpress-media.com/g/AWSC/fireyejs/*/fireyejs.js$script,domain=aliexpress.com

Odcięcie tych dwóch skryptów eliminuje sztuczne obciążenie magistrali audio, przywracając prawidłowe działanie słuchawek Bluetooth i usypianie systemu, nie wpływając przy tym na sam proces zakupowy.

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .