Loading theme
·6 min läsning

Kapning av QR-kodsomdirigering: Den osynliga mellanhanden

När din QR-kod fungerar är mellanhanden osynlig. När den går sönder är det för sent. Att förstå omdirigeringsmodellen är första steget till att undvika den.


Varje dynamisk QR-kod du någonsin skannat involverade en tredje part du aldrig valde. Mellan telefonkameran och destinationswebbplatsen vidarebefordrade en omdirigeringsserver som ägs av QR-leverantören tyst begäran. De flesta användare märker aldrig. Det är själva poängen.

Den här artikeln förklarar hur kapning av omdirigering ser ut i praktiken, vad mellanhanden faktiskt gör och vad som står på spel.

Omdirigeringssekvensen

När du skannar en statisk QR för https://shop.example.com:

  1. Kameran läser QR-koden
  2. OS:et känner igen den som en URL
  3. Webbläsaren öppnar https://shop.example.com

Tre steg. Inga tredje parter.

När du skannar en dynamisk QR för samma destination:

  1. Kameran läser QR-koden, som kodar något i stil med https://qr-provider.com/r/x7n2
  2. OS:et öppnar den URL:en
  3. qr-provider.com tar emot en begäran, loggar den, slår upp x7n2 i sin databas
  4. qr-provider.com utfärdar en 301- eller 302-omdirigering till https://shop.example.com
  5. Webbläsaren följer omdirigeringen och kommer fram till den verkliga destinationen

Fem steg. En extra part i steg 3 — en du aldrig gick med på, aldrig betalade och inte kan se.

Vad mellanhanden får

Varje enskild skanning producerar en serverloggpost som innehåller:

  • Tidsstämpel för skanningen
  • IP-adress för skannern
  • User-agent-sträng (enhet, OS, webbläsare)
  • Referrer-header (varifrån skannern kom, om tillämpligt)
  • Accept-Language-header (språkpreferens)

Utifrån dessa kan leverantören dra slutsatser om: ungefärlig geografisk plats, enhetstyp, operativsystemsversion och i aggregat skanningsmönster över tid. Detta marknadsförs till kunder som "analys". Det är också, på samma gång, övervakning av de personer som skannar dina koder — som aldrig samtyckt.

Vad mellanhanden kan göra

Ändra destinationen

Omdirigeringsdestinationen lever i leverantörens databas. QR-ägaren kan vanligtvis redigera den via en instrumentpanel. Detta säljs som en funktion, och för vissa användningsfall är det verkligen det. Men det betyder att QR-koden inte längre är vad den verkar vara. Den fysiska artefakten säger "skanna för att besöka vår sajt". Det faktiska beteendet är vad leverantörens databas säger idag.

Inaktivera omdirigeringen

Om ägarens prenumeration löper ut, eller kontot stängs, eller leverantörens ToS överträds, kan omdirigeringen tas bort. Varje tryckt kopia av QR-koden slutar omedelbart fungera. Användare skannar och ser en generisk felsida eller 404.

Injicera en mellansida

Vissa leverantörer dirigerar dynamiska QR-skanningar genom en märkt mellansida innan den slutliga omdirigeringen — visar annonser, ber om samtycke, samlar in e-postadresser. QR-ägaren gick vanligtvis inte med på detta. Det läggs till senare, när leverantören monetiserar mer aggressivt.

Sälj eller förlora skanningsdata

Skanningsloggar är värdefulla. De har sålts till analysmäklare, använts för att träna modeller för annonsriktning och — i åtminstone några dokumenterade intrång — läckt när leverantörer komprometterats. Dina kunder skannade en meny; nu lever deras enhetsfingeravtryck i en intrångsdataset.

Varför användare aldrig märker

Moderna webbläsare följer omdirigeringar automatiskt. Om du inte har utvecklarverktyg öppna ser du inte det mellanliggande hoppet. Skanningen känns omedelbar eftersom omdirigeringen är snabb (när den fungerar). Ur användarens perspektiv beter sig en dynamisk QR identiskt med en statisk.

Tills omdirigeringsservern misslyckas. Då divergerar upplevelsen skarpt — men vid den tidpunkten är QR-koden redan tryckt på tusen ytor.

Säkerhetskonsekvenser

En omdirigeringsserver är en enda felpunkt för varje QR-kod som är beroende av den. Tre attackytor värda att överväga:

  • Kontoövertagande. Om en angripare får tillgång till QR-ägarens leverantörskonto kan de omdirigera varje QR till en nätfiskessida. Kunder skannar den fysiska koden i förväntan om restaurangmeny; de landar på en kopia av restaurangens inloggningssida som skördar inloggningsuppgifter.
  • Leverantörskompromiss. Om själva QR-leverantören bryts kan varje dynamisk QR i cirkulation potentiellt omdirigeras till angriparkontrollerat innehåll. Detta är inte teoretiskt — intrångsrapporter finns för flera QR-as-a-service-leverantörer.
  • DNS- eller TLS-fel hos leverantören. Om omdirigeringsdomänen slutar lösas eller TLS-certifikatet löper ut, misslyckas varje QR som är beroende av det. Ingen illvillig aktör — bara vanlig driftsrisk som QR-ägaren inte kontrollerar.

Statiska QR-koder har ingen av dessa fellägen, för det finns ingen tredjepartsserver mellan skanningen och destinationen.

Så kontrollerar du om du skannar en omdirigering

Använd en QR-skanner som visar det avkodade innehållet innan den följer det — vår webbskanner gör det. Skanna QR-koden och inspektera den avkodade URL:en. Om det är din faktiska destination är QR:en statisk. Om det är något i stil med qrco.de/xyz eller en kort domän du inte känner igen, är det en omdirigering — och en tredje part sitter i mitten.

Alternativet

Generera QR-koder som kodar din destination direkt. Inga tredjepartsservrar, inga omdirigeringsloggar, ingen prenumeration. Se statiska vs dynamiska QR-koder för den fullständiga jämförelsen och sanningen om QR-kodbedrägerier för varför mellanhandsmodellen dominerar branschen.

Eller generera bara en statisk QR-kod och sluta oroa dig.


Redo för en statisk QR-kod?

Skapa en i din webbläsare — inget konto, ingen spårning, ingen prenumeration. Det du skapar tillhör dig.