JavaScript-sormenjälkitunnistus & botintorjunta: Miten verkkosivustot tunnistavat sinut

460 katselukertaa · tykkäystä · 2 jakoa
Jaa
Kirjoittanut Unled Network · 5. huhtikuuta 2026 · 17 min lukuaika
JavaScript-sormenjälkitunnistus & botintorjunta: Miten verkkosivustot tunnistavat sinut

Tärkeimmät oivallukset

  • JavaScript-sormenjälkitunnistus kerää yli 50 selaimen ominaisuutta luodakseen yksilöllisen tunnisteen, pysyvämpi kuin evästeet ja vaikeampi estää.
  • Tärkeimpiä sormenjälkitunnistuksen signaaleja ovat Canvas, WebGL, AudioContext, fontit, näytön ominaisuudet ja navigator API -tiedot.
  • Botintorjuntajärjestelmät yhdistävät JS-sormenjälkitunnistuksen TLS-sormenjälkitunnistukseen (JA3/JA4) ja käyttäytymisanalyysiin erittäin tarkkaa bottien tunnistusta varten.
  • Päätteettömät selaimet (Puppeteer, Playwright) ja automaatiotyökalut jättävät tunnistettavia jälkiä, jotka sormenjälkitunnistus paljastaa, puuttuvat API:t, identtiset tulosteet, ajoituksen poikkeavuudet.
  • Sormenjälkien väärentäminen on mahdollista mutta yhä vaikeampaa, botintorjuntajärjestelmät käyttävät johdonmukaisuustarkistuksia, jotka paljastavat epäjohdonmukaiset väärennetyt arvot.

Joka kerta kun vierailet verkkosivustolla, selaimesi paljastaa hiljaa kymmeniä ainutlaatuisia ominaisuuksia, näytön resoluutiosi, GPU-mallisi, asennetut fontit, äänenkäsittelyn erikoisuudet ja tarkan tavan, jolla selaimesi renderöi näkymättömiä canvas-elementtejä. Yhdistettynä nämä signaalit luovat selaimen sormenjäljen, joka on yhtä ainutlaatuinen kuin ihmisen sormenjälki.

Tämä teknologia on nykyaikaisten bottientorjuntajärjestelmien, petostentorjunnan ja automaationestopuolustusten ytimessä. Sen toiminnan ymmärtäminen on olennaista, olitpa sitten puolustamassa verkkosivustoasi boteilta tai yrittämässä ymmärtää, miksi tietyt tietoturvajärjestelmät haastavat liikennettäsi.

Suurin vipu maksetun median suorituskyvylle vuonna 2026 on tilien hygienia. Ikääntyneet tilit, puhtaat maksuvälineet ja eristetyt selainprofiilit tuottavat 30-50 prosentin CPACost Per Acquisition. Hinta, jonka maksat yhdestä konversiosta (myynti, rekisteröityminen, liidi).Lue lisää sanastosta →-edun samalla luovalla sisällöllä.

Sergey M., vanhempi mediaostaja, Unled Network

Mitä on JavaScript-sormenjälkitunnistus?

JavaScript-sormenjälkitunnistus on tekniikka, joka käyttää selaimen puoleisia JavaScript API -rajapintoja laite- ja ympäristöominaisuuksien keräämiseen luoden ainutlaatuisen tunnisteen jokaiselle selainistunnolle. Toisin kuin evästeet (joita käyttäjät voivat poistaa) tai IP-osoitteet (jotka vaihtuvat), sormenjäljet ovat:

Ainutlaatuisuustilastot: EFF:n Panopticlick-projektin tutkimus osoitti, että 83,6 %:lla selaimista on ainutlaatuinen sormenjälki. Kun canvas-sormenjälkitunnistus sisällytetään, ainutlaatuisuus ylittää 95 %. Nykyaikaiset järjestelmät, jotka käyttävät yli 50 signaalia, saavuttavat lähes 100 %:n ainutlaatuisuuden tyypillisissä käyttäjäpopulaatioissa.

Miten selaimen sormenjälkitunnistus toimii

Sormenjälkitunnistusskripti toimii tyypillisesti kolmessa vaiheessa:

  1. Keräys: JavaScript API -rajapinnat kyselevät selaimen ominaisuuksia, navigator-objekti, näytön ominaisuudet, canvas-renderöinti, WebGL-ominaisuudet, AudioContext-käsittely jne.
  2. Tiivistäminen: Kerätyt arvot yhdistetään ja tiivistetään (yleensä SHA-256 tai MurmurHash3) kompaktiksi sormenjälkimerkkijonoksi
  3. Vertailu: Tiivistettä verrataan tunnettuihin sormenjälkiin, vastaako aiempaa kävijää, tunnettua bottityökalua tai väärennettyä ympäristöä

Tärkeimmät sormenjälkitunnistuksen signaalit

Canvas-sormenjälkitunnistus

Tehokkain sormenjälkitunnistussignaali. Piilotettu <canvas>-elementti piirtää tekstiä, muotoja ja liukuvärejä. Pikseli pikseliltäPieni seurantapala sivustollasi, joka tallentaa kävijöiden toimet (sivunäkymät, ostoskoriin lisäykset, ostot), jotta alusta voi optimoida.Lue lisää sanastosta → -tuloste vaihtelee GPU:n, ajuriversion, fonttien renderöintimoottorin ja reunojenpehmennystoteutuksen mukaan. Kaksi eri laitetta tuottaa lähes koskaan identtistä canvas-tulostetta.

WebGL-sormenjälkitunnistus

WebGL paljastaa GPU-tiedot (renderöijä, valmistaja) ja tuottaa ainutlaatuista renderöintitulostetta. WEBGL_debug_renderer_info-laajennus paljastaa tarkan GPU-mallin. Yhdistettynä WebGL-renderöintitesteihin tämä luo vahvan laitteistosormenjäljen.

AudioContext-sormenjälkitunnistus

Web Audio API käsittelee äänisignaaleja eri tavalla jokaisella laitteella laitteisto- ja ohjelmistoerojen vuoksi. Luomalla oskillaattorin ja analysoimalla tulostetta sormenjälkitunnistusskriptit tallentavat ainutlaatuisia äänenkäsittelyominaisuuksia.

Fonttisormenjälkitunnistus

Eri käyttöjärjestelmäversiot, kielipaketit ja asennetut sovellukset lisäävät ainutlaatuisia fonttikokoelmia. Mittaamalla tekstin renderöintileveyttä/korkeutta eri fonteilla skriptit määrittävät, mitkä fontit on asennettu, luoden fonttipohjaisen sormenjäljen.

Navigator- ja näyttöominaisuudet

SignaaliMitä se paljastaaEntropia
navigator.userAgentSelainversio, käyttöjärjestelmä, laitetyyppiKeskitaso (helposti väärennettävissä)
navigator.languageEnsisijainen kieli/kieletMatala-keskitaso
navigator.hardwareConcurrencyCPU-ytimien määräMatala
navigator.deviceMemoryRAM-muistin määrä (likimääräinen)Matala
screen.width/heightNäytön resoluutioKeskitaso
screen.colorDepthVärisyvyyskyvykkyysMatala
navigator.platformKäyttöjärjestelmän alustamerkkijonoMatala (vanhentunut)
navigator.maxTouchPointsKosketuskyvykkyysMatala
Intl.DateTimeFormat().resolvedOptions().timeZoneAikavyöhykeKeskitaso

Muita korkean arvon signaaleja

TLS-sormenjälkitunnistus (JA3/JA4)

TLS-sormenjälkitunnistus toimii yhteyden tasolla, ennen kuin JavaScript käynnistyy:

JA3-sormenjälkitunnistus

Salesforcen luoma JA3 tiivistää TLS Client Hello -viestin komponentit: SSL-versio, salaukset, laajennukset, elliptiset käyrät ja EC-pisteformaatit. Jokainen HTTP-asiakasohjelma (Chrome, Firefox, Python requests, Go http, curl) tuottaa ainutlaatuisen JA3-tiivisteen. Tämä tunnistaa todellisen asiakasohjelmiston, vaikka user-agent-otsikot olisi väärennetty.

JA4-sormenjälkitunnistus

Uudempi JA4-standardi parantaa JA3:a ihmislukuisemmalla muodolla ja paremmalla versioseurannalla. Se luo sormenjälkimerkkijonon, kuten "t13d1715h2_8daaf6152771_b0da82dd1658", joka koodaa TLS-version, salausten määrän, laajennusten määrän ja ALPN-arvot.

Miksi TLS-sormenjälkitunnistus on tuhoisaa boteille: TLS-sormenjäljen väärentäminen vaatii TLS-kirjaston muokkaamista C/C++-tasolla, paljon monimutkaisempaa kuin user-agent-merkkijonojen vaihtaminen. Useimmat bot-operaattorit käyttävät Python-, Go- tai Node.js-HTTP-kirjastoja, joilla on tunnusomaisia JA3-tiivisteitä, jotka tunnistavat ne välittömästi ei-selainasiakkaiksi.

Miten botintorjuntajärjestelmät käyttävät sormenjälkitunnistusta

Nykyaikaiset botintorjuntaratkaisut, kuten Cloudflare Bot Management, Akamai Bot Manager ja DataDome, yhdistävät sormenjälkitunnistuksen useisiin tunnistuskerroksiin:

  1. TLS-sormenjälkitarkistus: Varmista, että yhteys tulee oikeasta selaimesta, ei HTTP-kirjastosta
  2. JavaScriptin suoritus: Suorita sormenjälkien keräysskriptit, botit, jotka eivät pysty suorittamaan JS:ää, merkitään välittömästi
  3. Johdonmukaisuuden validointi: Tarkista, että JS-sormenjälki vastaa TLS-sormenjälkeä (esim. jos JA3 sanoo Chrome, mutta canvas sanoo headless, merkitse se)
  4. Tunnettu bottivertailu: Vertaa sormenjälkeä tunnettujen bottityökalujen allekirjoitusten tietokantaan
  5. Käyttäytymiskerros: Yhdistä sormenjälkipisteet hiiren liikkeisiin, klikkausajoitukseen ja vieritysmalleihin

Päätteettömien selainten tunnistaminen

Päätteettömät selaimet (Chrome headless, Puppeteer, Playwright) jättävät paljastavia merkkejä:

Sormenjäljen väärentäminen ja tunnistuksen esto

Useat työkalut yrittävät muokata selaimen sormenjälkiä:

TyökaluLähestymistapaTunnistusriski
GoLoginMukautettu Chromium konfiguroitavilla sormenjälkiprofiileillaKeskitaso
MultiloginSelaimen matkiminen syvällä sormenjälkien mukauttamisellaKeskitaso
Puppeteer Extra (Stealth)Liitännäinen, joka paikkaa havaittavia Puppeteer-jäänteitäKeskitaso-korkea
undetected-chromedriverMuokattu ChromeDriver, joka välttää yleisiä tunnistuksiaKeskitaso-korkea
SelainlaajennuksetCanvas-estäjä, WebGL-väärennysKorkea (lisää havaittavia jäänteitä)
Väärentämisen perustavanlaatuinen haaste: Canvas-tulosteen muuttaminen vastaamaan eri GPU:ta vaatii täydellisesti sen GPU:n renderöintiputken simuloimista. Botintorjuntajärjestelmät testaavat satoja mikrovariaatioita, joita on lähes mahdotonta väärentää johdonmukaisesti. Epäjohdonmukaisuus väärennettyjen arvojen välillä on usein havaittavampaa kuin alkuperäinen sormenjälki.

Puolustusstrategiat verkkosivuston omistajille

Jos suojaat verkkosivustoasi boteilta, ota sormenjälkitunnistus käyttöön osana kerroksellista puolustusta:

WhatsApp Telegram