Loading theme
·6 min læsning

QR-kode omdirigeringshijacking: Den usynlige mellemmand

Når din QR-kode virker, er mellemmanden usynlig. Når den går i stykker, er det for sent. At forstå omdirigeringsmodellen er første skridt til at undgå den.


Hver dynamisk QR-kode, du nogensinde har scannet, involverede en tredjepart, du aldrig valgte. Mellem telefonkameraet og destinationshjemmesiden videresendte en omdirigeringsserver ejet af QR-udbyderen stille anmodningen. De fleste brugere bemærker aldrig. Det er pointen.

Denne artikel forklarer, hvordan omdirigeringshijacking ser ud i praksis, hvad mellemmanden faktisk gør, og hvad der er på spil.

Omdirigeringssekvensen

Når du scanner en statisk QR for https://shop.example.com:

  1. Kameraet læser QR-koden
  2. OS genkender den som en URL
  3. Browseren åbner https://shop.example.com

Tre trin. Ingen tredjeparter.

Når du scanner en dynamisk QR for samme destination:

  1. Kameraet læser QR-koden, som koder noget som https://qr-provider.com/r/x7n2
  2. OS åbner den URL
  3. qr-provider.com modtager en anmodning, logger den, slår x7n2 op i sin database
  4. qr-provider.com udsteder en 301 eller 302 omdirigering til https://shop.example.com
  5. Browseren følger omdirigeringen og ankommer til den rigtige destination

Fem trin. En ekstra part i trin 3 — en du aldrig har været enig i, aldrig betalt og ikke kan se.

Hvad mellemmanden får

Hver enkelt scanning producerer en serverlog-indtastning, der indeholder:

  • Tidsstempel for scanningen
  • IP-adressen for scanneren
  • User-agent-streng (enhed, OS, browser)
  • Referrer-header (hvorfra scanneren kom, hvis relevant)
  • Accept-Language-header (sprogpræference)

Fra disse kan udbyderen udlede: omtrentlig geografisk placering, enhedstype, operativsystemversion og samlet, scanningsmønstre over tid. Dette markedsføres til kunder som "analytik". Det er også, lige så meget, overvågning af de mennesker, der scanner dine koder — som aldrig har samtykket.

Hvad mellemmanden kan gøre

Ændre destinationen

Omdirigeringsdestinationen bor i udbyderens database. QR-ejeren kan typisk redigere den via et dashboard. Dette sælges som en funktion, og for nogle brugssager er det ægte. Men det betyder, at QR-koden ikke længere er, hvad den ser ud til at være. Den fysiske genstand siger "scan for at besøge vores site". Den faktiske adfærd er, hvad udbyderens database siger i dag.

Deaktivere omdirigeringen

Hvis ejerens abonnement udløber, kontoen lukkes eller udbyderens ToS overtrædes, kan omdirigeringen fjernes. Hver trykt kopi af QR-koden holder øjeblikkeligt op med at virke. Brugere scanner og ser en generisk fejlside eller 404.

Indsætte en mellemside

Nogle udbydere router dynamiske QR-scanninger gennem en branded mellemside før den endelige omdirigering — viser annoncer, beder om samtykke, indsamler e-mailadresser. QR-ejeren meldte sig typisk ikke til dette. Det tilføjes senere, efterhånden som udbyderen monetariserer mere aggressivt.

Sælge eller miste scanningsdata

Scanningslogs er værdifulde. De er blevet solgt til analytics-mæglere, brugt til at træne annoncemålretningsmodeller, og — i mindst et par dokumenterede brud — lækket, da udbydere blev kompromitteret. Dine kunder scannede en menu; nu bor deres enhedsfingeraftryk i et brud-datasæt.

Hvorfor brugere aldrig bemærker

Moderne browsere følger automatisk omdirigeringer. Medmindre du har udviklerværktøjer åbne, ser du ikke mellemhoppet. Scanningen føles øjeblikkelig, fordi omdirigering er hurtig (når den virker). Fra brugerens perspektiv opfører en dynamisk QR sig identisk med en statisk.

Indtil omdirigeringsserveren fejler. Så divergerer oplevelsen skarpt — men på det tidspunkt er QR-koden allerede trykt på tusinde overflader.

Sikkerhedsimplikationer

En omdirigeringsserver er et enkelt fejlpunkt for hver QR-kode, der afhænger af den. Tre angrebsflader værd at overveje:

  • Kontoovertagelse. Hvis en angriber får adgang til QR-ejerens udbyderkonto, kan de omdirigere hver QR til en phishing-side. Kunder scanner den fysiske kode i forventning om restaurantmenuen; de lander på en credential-harvesting klon af restaurantens login-side.
  • Udbyderkompromittering. Hvis QR-udbyderen selv bliver brudt, er hver dynamisk QR i omløb potentielt omdirigeret til angriberkontrolleret indhold. Dette er ikke teoretisk — bruddisplays findes for flere QR-as-a-service udbydere.
  • DNS- eller TLS-fejl hos udbyderen. Hvis omdirigeringsdomænet stopper med at løse, eller TLS-certifikatet udløber, fejler hver QR, der afhænger af det. Ingen ondsindet aktør — bare almindelig driftsrisiko, som QR-ejeren ikke kontrollerer.

Statiske QR-koder har ingen af disse fejlmåder, fordi der ikke er en tredjepartsserver mellem scanningen og destinationen.

Sådan tjekker du, om du scanner en omdirigering

Brug en QR-scanner, der viser det afkodede indhold, før den følger det — vores web-scanner gør dette. Scan QR-koden og inspicer den afkodede URL. Hvis det er din faktiske destination, er QR statisk. Hvis det er noget som qrco.de/xyz eller et kort domæne, du ikke genkender, er det en omdirigering — og en tredjepart sidder i midten.

Alternativet

Generer QR-koder, der koder din destination direkte. Ingen tredjepartsservere, ingen omdirigeringslogs, intet abonnement. Se statiske vs dynamiske QR-koder for den fulde sammenligning, og sandheden om QR-kode fupnumre for, hvorfor mellemmandsmodellen dominerer branchen.

Eller bare generer en statisk QR-kode og stop med at bekymre dig.


Klar til en statisk QR-kode?

Lav en i din browser — ingen konto, ingen tracking, ingen abonnement. Det du skaber, tilhører dig.