Door Anoniem: [...] QR-codes hadden gesigned moeten zijn, ze zijn het niet [...]
De volgende URL's zijn óók niet digitaal ondertekend:
https://www.security.nl en (een gok natuurlijk, ook al
zou deze digitaal zijn ondertekend)
https://s.id/1HGqM.
Oftewel, QR-codes zouden nauwelijks veiliger zijn als zij
wél digitaal ondertekend zouden zijn. Want dan luiden de vragen:
• Door wie?
• Hoe nauwkeurig is diens identiteit vastgesteld?
• En zelfs als je met een redelijke zekerheid weet wie die QR-code heeft gemaakt of heeft laten maken: wat zegt dat over de betrouwbaarheid van de in de QR-code opgenomen URL (of andere informatie)? (Ook betrouwbare mensen kunnen naïef zijn en van "gratis" QR-code redirectors gebruik maken en/of de URL niet met
https:// laten beginnen).
Herinner je je nog OCX/ActiveX van Microsoft, "veilig" want digitaal ondertekend? Denk aan Adobe (eerder Macromedia) Flash, Adobe PDF OCX, Java OCX enzovoorts? En de ActiveX "kill bits" die je vervolgens om de oren vlogen?
Nb. ook een met pen gezette handtekening onder een papieren contract en een websitecertificaat zeggen niets over de betrouwbaarheid van de ondertekenaar resp. de website. Het enige dat je, meer of minder betrouwbaar weet, of geheel niet (bij DV-certificaten), is
wie de ondertekenaar resp. de (juridisch) verantwoordelijke voor een website is.
URL-QR-code-risico's verkleinenVooral als je een plug-in als NoScript gebruikt (in een up-to-date browser die genoemde plug-in ondersteunt, en bij up-to-date besturingssysteem), zijn, voor de meeste mensen,
passieve security-risico's bij het klikken op een URL zeer klein (d.w.z. "drive-by" malware - als je een interessant doelwit bent zijn de risico's groter als je een foute URL opent).
Omdat absurd veel QR-codes URL's met domeinnamen van bloedzuigers (of Teken, al dan niet met Lyme) bevatten (zie
https://security.nl/posting/874702 hierboven), is het verstandig om, na het scannen van een QR-code,
éérst te kijken waar jouw browser naartoe gestuurd zal worden, vóórdat je die URL in jouw browser opent. Maar die mogelijkheid om bijtijds in te grijpen moet je dan wél hebben.
Om je privacy-risico's te verkleinen kun je, zowel onder iOS als Android, Firefox Focus installeren en gebruiken bij URL-redirectors.
AndroidAls ik de standaard camera-app op mijn Google Pixel 6 Pro instel op wél QR-codes scannen, wordt de domeinnaam getoond - maar niet of daar
http:// of
https:// vóór staat (het risico van
http://, vooral bij het gebruik van public WiFi, zoals bij een supermarkt, leg ik uit in
https://infosec.exchange/@ErikvanStraten/113925419871238557).
Onder Android kun je, in plaats van een losse QR-code scanner te downloaden en installeren (*) bijv. Firefox + Noscript installeren en die conbinatie leren gebruiken om de minste risico's te lopen. In Firefox zie je (als er geen pagina geopend is) rechtsboven een QR-code-knopje waarmee Firefox de camara start. Getoond wordt of de URL gebruikmaakt van https, naast de domeinnaam, waarna je het moet bevestigen als je de getoonde URL wilt openen.
(*) Kijk daarmee uit, er zijn een hoop apps (ook in de Google Play Store) die jouw privacy niet respecteren, voor zover je ze niet gewoon malware moet noemen. Ik garandeer niks maar met
https://play.google.com/store/apps/details?id=com.secuso.privacyFriendlyCodeScanner heb ik zelf goede ervaringen (alleen jammer dat je er geen QR-code op een eerder opgeslagen foto mee kunt scannen).
Onder Android hebben de meeste browsers een instelling "HTTPS Only".
Zet die altijd aan! Dan maakt de browser van elke
http:// link
https:// en
vraagt je of je
http:// wilt gebruiken indien
https:// niet werkt.
iOSOnder iOS is het lastiger. Als je (in de iOS instellingen) toestaat dat de camera QR-codes scant, wordt uitsluitend de domeinnaam (zonder https:// of http://) getoond
mits je Safari als default browser hebt geconfigureerd. Als je een andere standaandaard browser gebruikt, zie je zelfs de domeinnaam niet - maar iets als "Open in Chrome". Je hebt dan dus geen idee.
In Safari kon ik geen optie vinden om een QR-code te scannen, wel in Chrome (voor iOS - mits deze toegang tot de camera heeft natuurlijk). Als je in Chrome in de adresbalk drukt, komt het toetsenbord omhoog - met daarboven o.a. een QR-code scanknopje. Na het scannen laat Chrome de URL in de adresbalk in edit-modus zien. Je kunt dus evt. zelf
http:// door
https:// vervangen (als een protocol ontbreekt in de QR-code, zet Chrome er
http:// voor).
Edge (onder iOS) opent meteen de URL na het drukken op het camera-knopje boven het toetsenbord, ook als de URL met
http:// begint of geen protocolaanduiding heeft.
Firefox toont de domeinnaam (zonder protocol) maar vraagt wel eerst of je die wilt openen.
Van genoemde vier iOS browsers is Chrome de enige met een
https only instelling - default uit, altijd aanzetten!
Met de "zelfbouw" Apple "opdracht" (shortcut) die ik vorig jaar publiceerde ("source code" in
https://security.nl/posting/829027, toelichting daarboven) hoef je niet op zoek naar een veilige app en hoef je niet je hele leven met Google te delen (door Chrome te installeren). Het
is een tijdje prutsen, maar met die "app" zie je de volledige URL, kun je
http:// door
https:// laten vervangen en kun je ervoor kiezen om de tekst in de QR-code naar het klembord te kopiëren (in plaats van in de standaard browser te openen). Een screenshot van die "app" in actie zie je onderin
https://infosec.exchange/@ErikvanStraten/113925356312627159 (inclusief mijn tikfout in de getoonde tekst: "veilger" i.p.v. "veiliger").