← Wróć do bloga

Czym jest fingerprint AudioContext? Jak odcisk dźwiękowy identyfikuje środowisko przeglądarki

Najważniejszy wniosek: fingerprint audio nie dotyka mikrofonu ani nie odtwarza dźwięku — przeglądarka po cichu renderuje w pamięci stały fragment audio, a drobne różnice w obliczeniach zmiennoprzecinkowych stają się sygnaturą urządzenia. Należy do tej samej rodziny co Canvas i WebGL, opartej na wyniku renderowania: zmiana IP nic nie daje, czyszczenie pamięci podręcznej też nie, a wartość zależy od sprzętu i silnika przeglądarki. Przy prowadzeniu wielu kont ocena sprowadza się do dwóch reguł: w tym samym środowisku wartość musi być stabilna długo, a różne środowiska muszą się między sobą różnić. Ustawienie AudioContext w MostMate oferuje dwa tryby — Realistyczny i Losowy — a wybór dokonuje się właśnie według tych dwóch reguł.

„Wyłączę głośniki, odmówię dostępu do mikrofonu i strona nie zrobi mi nic w kwestii dźwięku" — to jedno z najczęstszych nieporozumień wokół fingerprintu audio. Rzeczywistość jest dokładnie odwrotna: przez cały test żaden dźwięk się nie pojawia. W 2016 roku zespół z Uniwersytetu Princeton wpisał go oficjalnie do pomiaru na milionie stron, a od tego czasu stał się obowiązkowym elementem mainstreamowych skryptów detekcji: zero uprawnień, wykonanie w ułamku sekundy i pełna sprawność także w trybie prywatnym. MostMate to przeglądarka antidetect, która przygotowuje osobne środowisko przeglądarki dla każdego konta, a fingerprint audio jest jednym z parametrów, które tego typu produkt musi obsłużyć. Artykuł rozkłada temat na cztery pytania: co widzi strona, dlaczego ta liczba jest stabilna, jak się układa z pozostałymi parametrami i jak to skonfigurować w przeglądarce antidetect.

Co widzi strona: fragment audio nigdy nie odtworzony, który wraca jako liczba

Końcowym wynikiem, który trafia do strony, jest liczba zmiennoprzecinkowa: bez dźwięku i bez modelu urządzenia. Mainstreamowe skrypty detekcji (wzorcową implementacją jest FingerprintJS, kopiowana przez wiele bibliotek open source) zawsze idą po pięciu krokach:

  • Tworzą offline'owy kontekst audio (OfflineAudioContext, dokumentacja MDN): jeden kanał, częstotliwość próbkowania 44100 Hz, około 5000 próbek, czyli jakieś 113 milisekund dźwięku — przez cały czas bez przechodzenia przez głośniki.
  • Oscylatorem generują stałą falę trójkątną o częstotliwości 10000 Hz jako identyczny sygnał wejściowy.
  • Puszczają sygnał przez kompresor dynamiczny (DynamicsCompressorNode) z dość agresywnymi ustawieniami (próg -50 dB, knee 40, współczynnik kompresji 12), celowo wypychając obliczenia w obszar nieliniowy i wzmacniając drobne różnice między urządzeniami.
  • Wołają startRendering, by renderować po cichu w pamięci; z tego kroku nie powstaje żaden słyszalny dźwięk.
  • Biorą z końca bufora wyjściowego około 500 ostatnich próbek, sumują ich wartości bezwzględne i otrzymują liczbę typu 124.0434.

Ta liczba to fingerprint audio. Obliczenia dzieją się przed jakimkolwiek odtworzeniem, więc wyciszenie systemu czy brak głośników nie wpływają na wynik; a skoro nie sięga po urządzenia nagrywające, o zgodzie na mikrofon nie ma nawet mowy. W ogólnych przeglądach fingerprintów przeglądarki ten parametr dostaje zwykle jedno zdanie; powód, dla którego zasługuje na osobny artykuł, leży w nietypowym źródle jego wartości: wartość bierze się z błędu obliczeń, a ten błąd jest właśnie stabilny — to temat kolejnej sekcji.

Fingerprint audio na stronie wyników Iphey

Strony testowe pokazują zwykle ciąg szesnastkowy, czyli hash tej surowej wartości, o długości zależnej od serwisu; przy porównaniach wystarczy sprawdzać, czy „to samo środowisko trzyma się stabilnie, a różne środowiska się rozjeżdżają", bez zastanawiania się nad formatem samego ciągu.

Dlaczego jedna liczba może być fingerprintem: błąd jest właśnie stabilny

Kluczowy mechanizm wygląda tak: operacje audio nie dają bit w bit identycznych wyników na różnych urządzeniach, i ta rozbieżność jest odtwarzalna. Specyfikacja Web Audio opisuje tylko przebieg przetwarzania i nie wymaga, by każda implementacja liczyła identycznie co do cyfry; precyzja zmiennoprzecinkowa różni się między procesorami, a sposób, w jaki każdy silnik przeglądarki realizuje stos audio, nieco się rozjeżdża w zaokrągleniach i kolejności działań. Różnica z pojedynczej operacji jest pomijalna, ale sygnał wielokrotnie przechodzi przez kompresor w reżimie nieliniowym, po czym sumuje się setki próbek — i mikroskopijna rozbieżność krok po kroku rośnie do rozmiaru, który daje się odróżnić.

Badanie z Princeton zmierzyło też skalę: na ponad osiemnastu tysiącach urządzeń fingerprint audio zebrał się w nieco ponad siedemset różnych wartości, czyli około 5.4 bita rozróżnialności — przy ograniczonej próbie to dopiero dolna granica. Do wykrywania powiązań taki rząd wielkości wystarcza, bo prawdziwa siła nie leży w „jak unikatowa jest wartość", lecz w „jak bardzo jest stabilna": na tym samym urządzeniu sto odświeżeń pod rząd nie ruszy wyniku; zmień maszynę albo silnik przeglądarki, a wartość zmieni się od razu. Sygnał, który nie prosi o uprawnienia, nie da się wyczyścić i nie zmienia się po odświeżeniu, to dokładnie ulubiony surowiec platform przy budowie profilu urządzenia.

Jak się układa z pozostałymi parametrami: trzy zasady spójności

Fingerprint audio nie ma nic wspólnego z adresem IP — to sygnał czysto urządzeniowy, a obok Canvas i WebGL należy do parametrów typu wynik renderowania: strona przekazuje przeglądarce stałe zadanie obliczeniowe i czeka, aż prawdziwe urządzenie policzy je na miejscu. O tym, czy środowisko jest dobrze skonfigurowane, przesądzają trzy kontrole:

  • Stabilność w obrębie środowiska: wynik renderowania musi być identyczny przy każdym uruchomieniu w tym samym środowisku; to warunek wstępny, by wyglądać jak „normalne urządzenie". Wartość skacząca bez powodu mówi tylko jedno — ktoś grzebał w parametrze, i to właśnie budzi podejrzenie.
  • Różnorodność między środowiskami: dziesięć środowisk raportujących tę samą wartość audio to narysowanie sobie kółka na mapie powiązań. Odwróćmy to: „ustawienie każdego parametru na maksimum" to również zła droga; ryzyka randomizacji rozbieramy osobno w artykule dlaczego randomizacja fingerprintu jest niebezpieczna.
  • Zgodność z silnikiem przeglądarki: stos audio implementuje silnik, a wartość podąża za silnikiem i wersją. UA i system deklarowane przez środowisko muszą pasować do rzeczywistego silnika; po dużej aktualizacji przeglądarki wartość odświeża się sama, bez ręcznej ingerencji.

Trzy zasady mieszczą się w jednym zdaniu: fingerprint audio ma wyglądać „tak, jak wyglądałoby prawdziwe urządzenie", a nie „jak najlepiej". MostMate utrwalił tę logikę w czterech zasadach projektowych; artykuł o czterech zasadach projektowych pokazuje całość, tutaj zostajemy przy warstwie audio.

Jak sprawdzić własny fingerprint audio: dwa porównania wszystko wyjaśniają

Do testu nie trzeba żadnej wtyczki: wystarczy jedna strona testowa i dwa odświeżenia.

Krok 1: wybierz dowolną stronę testową i znajdź pozycję fingerprintu audio. BrowserScan i Iphey wypisują ją osobno; o tym, jak czytać trust score Ipheya, piszemy z pełną ścieżką w praktycznym przewodniku — warto zestawić go z artykułem test Iphey w praktyce.

Krok 2: odśwież stronę dwa-trzy razy w tym samym środowisku i pilnuj wartości. Liczba nieruszona to zaliczenie; jeśli zmienia się przy każdym odświeżeniu, parametr audio tego środowiska stoi na przeliczaniu przy każdej wizycie — czyli nadaje platformom sygnał „to urządzenie jest sterowane".

Krok 3: przetestuj w innym środowisku i porównaj obie wartości. Różne środowiska powinny pokazać różne wartości audio; jeśli są identyczne, wróć i sprawdź, czy nie użyłeś ponownie tego samego szablonu fingerprintu — ponowne użycie szablonu to najbardziej niedostrzegalne źródło powiązań między kontami.

Porównanie wyników testu z różnych środowisk

Jak to ustawić w MostMate: Realistyczny czy Losowy

W formularzu tworzenia środowiska MostMate AudioContext stoi osobno w sekcji ustawień fingerprintu, z dwoma trybami: Realistycznym i Losowym, a panel podglądu po prawej pokazuje aktualną wartość na żywo — wszystko można potwierdzić jeszcze przed zapisaniem. Wybór między trybami jest prosty: dla głównego środowiska na co dzień wybierz Realistyczny — wartość bierze się z obliczeń twojej maszyny, jest stabilna z natury i idealnie pasuje do zasady „stabilności w obrębie środowiska"; przy masowym tworzeniu zestawu środowisk wybierz Losowy — każde dostaje wartość inną od pozostałych i wewnętrznie stabilną, spełniając zasadę „różnorodności między środowiskami".

Parametr audio nie ma trybu ręcznego, i ten szczegół coś mówi: wartość fingerprintu audio tkwi w stabilności; ręcznie sklecony stały wynik traci właśnie to, o co chodzi. Decydując między Realistycznym a Losowym, naprawdę trzeba rozważyć, jak ten zestaw środowisk powstał, a nie dostrajać parametr po parametrze; bliscy krewni — obrazy Canvas, WebGL i ClientRects — ocenia się tą samą logiką, a podział ról całego mechanizmu jest opisany w całości na stronie Czym jest MostMate.

Sekcja ustawień fingerprintu w przeglądarce MostMate

Częste pytania

Czy fingerprint audio wymaga uprawnień do mikrofonu lub głośników?

Nie. Cały fragment dźwięku renderuje się offline w pamięci — ani przez głośniki, ani przez urządzenia nagrywające; wyciszone maszyny i komputery bez audio są zbierane jak każde inne.

Czy wyczyszczenie cookies lub tryb prywatny ukryją fingerprint audio?

Nie. Cookies leżą lokalnie i można je usunąć; fingerprint audio powstaje w czasie rzeczywistym na urządzeniu. To dwa zupełnie różne mechanizmy, a czyszczenie pamięci podręcznej nie robi na nim wrażenia.

Czy nie bezpieczniej wyłączyć AudioContext albo zamurować jedną wartość?

Kierunek jest odwrotny. Zdecydowana większość zwykłych przeglądarek obsługuje operacje audio, więc zarówno „wyłączone", jak i „jedna wartość dla wszystkich" samo w sobie staje się cechą wyróżniającą — łatwiejszą do wyłapania niż zwykła wartość.

Kiedy fingerprint audio się zmienia?

Po zmianie urządzenia, silnika przeglądarki albo po dużej aktualizacji przeglądarki — to naturalna ewolucja prawdziwego sprzętu; w codziennym użytkowaniu tego samego środowiska wartość powinna być stabilna długo, a częste zmiany to właśnie sygnał alarmowy.

Na koniec

Logikę fingerprintu audio da się zamknąć w jednym zdaniu: strona bada twoje urządzenie bez odtwarzania dźwięku, opierając się na drobnych, ale stabilnych różnicach w rachowaniu każdej maszyny. Gdy to zrozumiesz, wiele powszechnych praktyk samych się tłumaczy — dlaczego wyciszenie nic nie daje, dlaczego parametry „na maksa" bywają groźne, dlaczego wartości środowisk tworzonych seryjnie muszą się różnić. MostMate porządkuje te parametry w dwa tryby, Realistyczny i Losowy, a dzięki panelowi podglądu wynik widać od ręki. Jeśli chcesz sam zmierzyć fingerprint audio swoich środowisk, pobierz MostMate i utwórz dwa środowiska w darmowej wersji, by porównać wartości — większość ślepych punktów zniknie za jednym razem.

MOSTMATE

Bezpieczne zarządzanie wieloma kontami, bez komplikacji

Zacznij od pierwszego konta i z MostMate buduj bezpieczniejsze, inteligentniejsze i wydajniejsze operacje obejmujące wiele kont.

  • Niezależne profile. Spójne tożsamości.
  • Automatyzacja AI · Kondycja kont · Praca zespołowa
Pobierz MostMate