·6 perc olvasás

QR-kód átirányítás eltérítése: A láthatatlan közvetítő

Amikor a QR-kódod működik, a közvetítő láthatatlan. Amikor meghibásodik, már túl késő. Az átirányítási modell megértése az első lépés annak elkerüléséhez.


Minden dinamikus QR-kód, amit valaha beszkenneltél, egy olyan harmadik felet vont be, amelyet soha nem választottál. A telefonkamera és a célwebhely között a QR-szolgáltató tulajdonában lévő átirányítási szerver csendben továbbította a kérést. A legtöbb felhasználó soha nem veszi észre. Ez a lényeg.

Ez a cikk elmagyarázza, hogyan néz ki az átirányítás eltérítése a gyakorlatban, mit csinál valójában a közvetítő, és mi a tét.

Az átirányítási szekvencia

Amikor statikus QR-t szkennelsz a https://shop.example.com számára:

  1. A kamera beolvassa a QR-kódot
  2. Az OS felismeri URL-ként
  3. A böngésző megnyitja a https://shop.example.com-ot

Három lépés. Nincs harmadik fél.

Amikor ugyanahhoz a célhoz dinamikus QR-t szkennelsz:

  1. A kamera beolvassa a QR-kódot, amely valami olyasmit kódol, mint https://qr-provider.com/r/x7n2
  2. Az OS megnyitja azt az URL-t
  3. A qr-provider.com kérést kap, naplózza, keresi az x7n2-t az adatbázisában
  4. A qr-provider.com 301 vagy 302 átirányítást ad ki a https://shop.example.com-ra
  5. A böngésző követi az átirányítást, és eljut a valódi célhoz

Öt lépés. Egy extra fél a 3. lépésben — olyan, akihez soha nem adtál hozzájárulást, soha nem fizettél, és nem látsz.

Mit kap a közvetítő

Minden egyes szkennelés olyan szervernapló-bejegyzést állít elő, amely tartalmazza:

  • A szkennelés időbélyegét
  • A szkenner IP-címét
  • A user-agent karakterláncot (eszköz, OS, böngésző)
  • A referer fejlécet (honnan jött a szkenner, ha alkalmazható)
  • Az Accept-Language fejlécet (nyelvi preferencia)

Ezekből a szolgáltató következtethet: megközelítő földrajzi elhelyezkedésre, eszköztípusra, operációs rendszer verziójára és aggregáltan a szkennelési mintákra időben. Ezt "analitika" néven marketingelik az ügyfeleknek. Egyben a kódjaidat szkennelő emberek — akik soha nem adtak hozzájárulást — megfigyelése is.

Mit tehet a közvetítő

Megváltoztatni a célt

Az átirányítási cél a szolgáltató adatbázisában él. A QR tulajdonosa általában szerkesztheti egy vezérlőpulton keresztül. Ezt funkcióként árulják, és néhány használati esetben valóban az. De ez azt jelenti, hogy a QR-kód már nem az, aminek látszik. A fizikai tárgy azt mondja: "szkenneld be a webhelyünk látogatásához". A valódi viselkedés az, amit a szolgáltató adatbázisa ma mond.

Letiltani az átirányítást

Ha a tulajdonos előfizetése lejár, vagy a fiók bezárul, vagy a szolgáltató ToS-ét megsértik, az átirányítás eltávolítható. A QR-kód minden nyomtatott példánya azonnal leáll. A felhasználók szkennelnek, és általános hibaoldalt vagy 404-est látnak.

Köztes oldal beszúrása

Néhány szolgáltató a dinamikus QR-szkenneléseket egy márkás köztes oldalon keresztül irányítja a végső átirányítás előtt — hirdetéseket mutat, hozzájárulást kér, e-mail címeket gyűjt. A QR-tulajdonos általában nem iratkozott fel erre. Később kerül hozzá, amikor a szolgáltató agresszívabban monetizál.

Eladni vagy elveszíteni a szkennelési adatokat

A szkennelési naplók értékesek. Elérhetővé teszik őket analitikai brókereknek, hirdetéscélzó modellek betanításához használják, és — legalább néhány dokumentált szivárgásban — kiszivárogtak, amikor a szolgáltatókat kompromittálták. Az ügyfeleid beszkenneltek egy étlapot; most az eszközük ujjlenyomata egy szivárgási adatkészletben él.

Miért nem veszik észre soha a felhasználók

A modern böngészők automatikusan követik az átirányításokat. Hacsak nincsenek nyitva a fejlesztői eszközök, nem látod a köztes ugrást. A szkennelés azonnalinak tűnik, mert az átirányítás gyors (amikor működik). A felhasználó szemszögéből egy dinamikus QR azonosan viselkedik egy statikushoz.

Amíg az átirányítási szerver meg nem hibásodik. Akkor az élmény élesen eltér — de addigra a QR-kód már ezer felületre van nyomtatva.

Biztonsági következmények

Egy átirányítási szerver egyetlen hibapont minden olyan QR-kódhoz, amely attól függ. Három támadási felület érdemes megfontolásra:

  • Fiókátvétel. Ha egy támadó hozzáférést szerez a QR-tulajdonos szolgáltatói fiókjához, minden QR-t átirányíthat egy adathalász oldalra. Az ügyfelek az éttermi étlapot várva szkennelik be a fizikai kódot; az étterem belépési oldalának hitelesítőadatokat gyűjtő klónjára kerülnek.
  • Szolgáltató kompromittálása. Ha magát a QR-szolgáltatót feltörik, minden forgalomban lévő dinamikus QR potenciálisan a támadó által kontrollált tartalomra irányítható. Ez nem elméleti — több QR-as-a-service szolgáltatónál léteznek adatszivárgási nyilvánosságra hozatalok.
  • DNS vagy TLS meghibásodás a szolgáltatónál. Ha az átirányítási domain megszűnik feloldódni, vagy a TLS tanúsítvány lejár, minden tőle függő QR meghibásodik. Nem rosszindulatú szereplő — csak szokásos működési kockázat, amit a QR-tulajdonos nem kontrollál.

A statikus QR-kódoknak egyik ilyen meghibásodási módja sincs, mert a szkennelés és a cél között nincs harmadik fél szervere.

Hogyan ellenőrizd, hogy átirányítást szkennelsz-e

Használj olyan QR-szkennert, amely a követés előtt mutatja a dekódolt tartalmat — a mi webszkennerünk ezt teszi. Szkenneld be a QR-kódot, és vizsgáld meg a dekódolt URL-t. Ha az a valódi célod, a QR statikus. Ha valami olyasmi, mint qrco.de/xyz vagy egy rövid domain, amit nem ismersz fel, az átirányítás — és egy harmadik fél ül középen.

Az alternatíva

Generálj olyan QR-kódokat, amelyek közvetlenül kódolják a célodat. Nincsenek harmadik fél szerverek, nincsenek átirányítási naplók, nincs előfizetés. Lásd statikus vs dinamikus QR-kódok a teljes összehasonlításért, és az igazság a QR-kód csalásokról azért, miért uralja a közvetítő modell az iparágat.

Vagy csak generálj egy statikus QR-kódot, és ne aggódj.


Készen állsz egy statikus QR-kódra?

Generálj egyet a böngésződben — regisztráció, nyomkövetés, előfizetés nélkül. Amit létrehozol, az a tiéd.