Angreb på browserudvidelser med password managers, der bruger clickjacking.

På konferencen DEF CON 33 blev der præsenteret en angrebsmetode rettet mod browserudvidelser, der indsætter deres egne brugergrænseelementer på den viste side. Anvendelse af angrebet på udvidelser med adgangskodemanagere kan føre til lækage af oplysninger gemt i adgangskodemanagerne, såsom autentificeringsoplysninger, kreditkortoplysninger, personlige data og engangskoder til to-faktor-autentificering. Problemet berører alle testede adgangskodemanagere, herunder 1Password, Bitwarden, LastPass, KeePassXC-Browser, NordPass, ProtonPass og Keeper.

Angrebsmetoden er baseret på, at browserudvidelser indsætter en dialog med en anmodning om autoudfyldning af adgangskode direkte på den viste side, integrerende deres elementer i DOM (Document Object Model) på siden. Hvis angriberen har mulighed for at køre sin JavaScript-kode på siden, for eksempel ved at udnytte en XSS-sårbarhed på websiden, kan han manipulere med alle elementer i DOM, inklusive de indsatte browserudvidelser.

Blandt andet er der mulighed for at gøre bekræftelsesdialogen gennemsigtig og rumligt justere knappen i denne dialog med knappen fra den falske dialog, som angriberen skaber for at tilskynde brugeren til at klikke. Sådanne falske dialoger kan være påtrængende anmodninger om cookies, reklamebannere eller formularer med CAPTCHA. Ved at placere den falske dialog under den gennemsigtige dialog fra adgangskodemanageren og justere placeringen af knapperne på skærmen, kan det opnås, at brugerens klik går på bekræftelsesknappen for udfyldning af autentificeringsoplysninger i dialogen fra adgangskodemanageren, selvom brugeren tror, han klikker på f.eks. luk-knappen i et reklamevindue.

Angreb på browserudvidelser med password managers, der bruger clickjacking.

Angrebet kan opsummeres i følgende trin:

  • Oprettelse af et påtrængende element på siden, der tilskynder til klik.
  • Tilføjelse af en webformular til login eller udfyldelse af personlige oplysninger på siden.
  • Indstilling af gennemsigtighed for webformularen ("opacity: 0.001" i CSS).
  • Brug af focus()-metoden til at sætte fokus på feltet i formularen, hvilket aktiverer dialogen om autoudfyldning fra adgangskodemanageren.
  • Søgning efter den fremkomne dialog fra adgangskodemanageren i DOM og indstilling af gennemsigtighed for den.
  • Vente af klik fra brugeren på et synligt, påtrængende element på siden, som ved korrekt kombination af synlige og usynlige elementer vil føre til et klik på knappen i den gennemsigtige dialog og udfyldning af felterne af password-manageren.
  • Udtrækning af data fra den udfyldte webformular og sending af disse til angriberens server.

Da autofuldførelse af autentifikationsparametre i password-manageren kun aktiveres for de websteder, hvor disse parametre er gemt, kræver det for at udføre et angreb at kunne køre sin egen JavaScript-kode på det angrebne websted eller i et subdomæne. For at udføre angrebet er det således nødvendigt at få et subdomæne på samme domæne som det angrebne websted, eller at finde en XSS-sårbarhed på webstedet, der gør det muligt at injicere sin kode i det indhold, der vises for brugeren.

Det bemærkes, at mange brugere bruger én password-manager til at gemme loginoplysninger samt til at generere engangskoder til to-faktorautentifikation, hvilket gør det muligt at anvende den nævnte angrebsmetode ved autofuldførelse af engangskoder. Et eksempel viser et angreb på webstedet issuetracker.google.com, der indeholder en XSS-sårbarhed. For at opnå loginoplysningerne og koden til to-faktorautentifikation er det tilstrækkeligt at sende brugeren et link, der udnytter XSS-sårbarheden, og at få tre klik gennem indsættelse af falske påtrængende anmodninger (tilladelse til at behandle cookies, tilladelse til personalisering og samtykke til politikken for beskyttelse af privatlivets fred).

Ud over websteder med XSS-sårbarheder kan angrebet udføres på tjenester, der tilbyder subdomæner til alle interesserede — de fleste password-managers i standardkonfigurationen udfører autofuldførelse af loginoplysninger ikke kun for hoveddomænet, men også for subdomæner.

Angrebet kan også anvendes til at afdække de personlige oplysninger og kreditkortoplysninger, der er gemt i password-manageren. Der er ingen behov for at udføre JavaScript-kode i konteksten af en fremmed hjemmeside for at lække sådanne oplysninger, det er tilstrækkeligt at lokke offeret til en side på angriberens hjemmeside — når det kommer til personlige oplysninger, udfyldes webformularer baseret på deres type (adresse, kreditkortnummer, fulde navn), uden at være knyttet til domænet. Den mest kritiske risiko er lækagen af kreditkortoplysninger, da password-managers ikke kun indsætter kortnummeret, men også udløbsdatoen og sikkerhedskoden.

Forskerne, der opdagede problemet, testede 11 browserudvidelser med password-managers, som i alt har 39,7 millioner aktive installationer, og alle viste sig at være sårbare over for denne type angreb. Nogle producenter har udgivet opdateringer (NordPass 5.13.24, ProtonPass 1.31.6, RoboForm 9.7.6, Dashlane 6.2531.1, Keeper 17.2.0, Enpass 6.11.6, Bitwarden 2025.8.1), som har forsøgt at blokere angrebet på en omgåelsesmåde. Andre udvidelser (KeePassXC-Browser, 1Password, iCloud Passwords, Enpass, LastPass, LogMeOnce) er endnu ikke blevet rettet. For at demonstrere eksistensen af sårbarheden i forskellige password-managers er der offentliggjort et sæt test-sider.

Angreb på browserudvidelser med password managers, der bruger clickjacking.
Angreb på browserudvidelser med password managers, der bruger clickjacking.

Udviklerne af 1Password, som ikke har udgivet en rettelse, mener, at sårbarheden er grundlæggende og ikke direkte relateret til den specifikke browserudvidelse. Derfor vil forsøg på at rette den fra udvidelsens side blot blokere enkelte angrebsvektorer, men ikke løse selve problemet, som skal tackles i browseren eller ved at anmode om separat bekræftelse før autofuldførelse af felter. Det nævnes, at 1Password allerede understøtter visning af bekræftelsesanmodning før autofuldførelse af betalingsoplysninger, og i den næste udgave vil der blive tilføjet en mulighed for at vise en sådan anmodning for alle typer autofuldførte data (på grund af den reducerede brugervenlighed vil denne mulighed ikke være aktiveret som standard).

Bland de metoder til beskyttelse, som forfatteren nævner, er der sporingsmetoden til at ændre stilarter på de elementer, der indsættes på siden, ved hjælp af API'en MutationObserver, blokering af ændringer gennem Shadow DOM i 'closed' tilstand, overvågning af lagers gennemsigtighed, brug af API'en Popover til visning af dialogbokse, kontrol af lagoverlap, midlertidig deaktivering af pointer-events (pointer-events:none) i alle flydende elementer under visning af dialogen for password manageren. Dette er nødvendigt for at fuldt blokere denne klasse. angreb anbefales det at implementere et separat API i browseren for beskyttelse. mod clickjacking.

Som en universel beskyttelsesmetode anbefales det til brugere af browsere baseret på Chromium-motoren at aktivere bekræftelsestilstand for tilladelse til tilføjelser på hjemmesider (Indstillinger for tilføjelser → 'site access' → 'on click'), hvor tilføjelsen kun får adgang til hjemmesiden efter klik på ikonet i højre side af adresselinjen. Som en omgåelse nævnes det også at deaktivere autofuldførelse af formularer og manuelt kopiere adgangskoder via udklipsholderen, men dette medfører problemer med dataoverførsel fra den fælles udklipsholder og risikoen for ikke at bemærke phishingforsøg.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster