Om du har aktiverat lösenkordsnycklar för ditt Google-konto har du förmodligen hört argumentet: inget lösenord att skriva in, inget att nätfiska efter, inget som ligger i en databas och väntar på att läcka. Det argumentet stämmer i stort sett. Men forskare har nu beskrivit en teknik – med smeknamnet ”Pass-ta-key” – som visar att skadlig kod på din egen enhet fortfarande kan komma åt lösenkordsnycklar som lagras i Google Lösenordshanterare. Det är värt att förstå exakt vad det innebär och inte innebär, eftersom lösningen inte är att ”sluta använda lösenkordsnycklar”.
En snabb repetition av hur lösenkordsnycklar faktiskt fungerar
En lösenkordsnyckel är ett nyckelpar, inte en hemlighet som du skriver in. Den privata delen ska aldrig lämna din enhet; webbplatsen eller appen ser bara den offentliga delen och en signatur som bevisar att du har den privata nyckeln. Det är det som gör lösenkordsnycklar motståndskraftiga mot klassiskt nätfiske – det finns inget lösenord eller engångskod för en falsk inloggningssida att stjäla, eftersom den privata nyckeln inte är något du kan luras att skriva in någonstans.
Kruxet är ordet ”synkroniserade”. För att en lösenkordsnyckel ska fungera på din telefon, bärbara dator och surfplatta krypterar och synkroniserar Google Lösenordshanterare dina lösenkordsnycklar via ditt Google-konto, i stället för att låsa var och en till en enda fysisk enhet. Den bekvämligheten innebär också en större attackyta än en lösenkordsnyckel som är fysiskt bunden till en säkerhetsnyckel eller en enhet.
Vad Pass-ta-key-forskningen faktiskt pekar på
Enligt rapporteringen om forskningen (via Malwarebytes) är upptäckten att skadlig kod som körs på en enhet där Google Lösenordshanterare är upplåst kan kapa konton som skyddas av lösenkodsnycklar – inte genom att knäcka den underliggande kryptografin med offentliga nycklar, utan genom att utnyttja programvarulagret som lagrar, låser upp och synkroniserar nycklarna. Med andra ord: matematiken bakom lösenkodsnycklar har inte knäckts. Det som angrips är allt runt matematiken – det lokala valvet, upplåsningsflödet och synkroniseringskanalen.
De exakta tekniska detaljerna i exploitkedjan har inte redovisats fullständigt i det som hittills är offentligt, så det är viktigt att inte överdriva detta till att ”lösenkodsnycklar är trasiga”. Det som är tydligt, och stämmer med hur sådant här vanligtvis fungerar, är riskens allmänna form: om skadlig kod får en tillräckligt hög åtkomstnivå på en enhet som har ett upplåst lager för lösenkodsnycklar kan den potentiellt agera som du i det lagret, eller exportera material som gör det möjligt för en angripare att autentisera sig som du någon annanstans.
Varför detta inte kullkastar argumenten för lösenkodsnycklar
Det är frestande att läsa en rubrik som denna som att ”lösenkodsnycklar misslyckades”. Det gjorde de inte – de stängde en specifik och extremt vanlig attack: fjärrnätfiske, där en angripare var som helst i världen lurar dig att skriva in ett lösenord eller en engångskod på en falsk webbplats. Den attacken fungerar fortfarande inte mot en riktig lösenkodsnyckel. Vad Pass-ta-key illustrerar är en annan, äldre hotmodell: en angripare som redan har kod körande på din enhet. Det hotet har alltid funnits, och det var sannolikt värre för lösenord – en tangentloggare eller informationsstjälare på en infekterad dator kunde lika enkelt fånga upp ett inskrivet lösenord och en sessionscookie. Lösenkodsnycklar begränsar attackytan; de eliminerar inte kategorin ”din enhet är komprometterad”.
Vad du faktiskt bör kontrollera och göra
Några konkreta och kontrollerbara steg, ungefär i ordning efter effekt:
- Ta reda på vilka av dina lösenkodsnycklar som är synkroniserade respektive enhetsbundna. I Google Lösenordshanterare (passwords.google.com, under ”Lösenkodsnycklar”) kan du se vad som lagras och synkroniseras med ditt konto. En lösenkodsnyckel som skapats och bekräftats med en fysisk säkerhetsnyckel (till exempel en YubiKey) och som du inte synkroniserade är bunden till den hårdvaran och exponeras inte för den här typen av attack på samma sätt.
- För dina viktigaste konton – primär e-post, bank och arbetets single sign-on – bör du föredra en fysisk säkerhetsnyckel framför en synkroniserad lösenkodsnyckel. Det är något mindre bekvämt (du behöver den fysiska nyckeln), men den berörs aldrig av molnsynkronisering, vilket helt eliminerar den här attackytan för kontot.
- Håll själva enheten ren, eftersom det är den verkliga stridsplatsen nu. Installera uppdateringar av operativsystem och webbläsare så snart som möjligt, undvik att installera appar eller tillägg utanför officiella butiker och ignorera inte antivirus- eller slutpunktsvarningar – en infektion med skadlig kod är förutsättningen för den här typen av attack, så god enhetshygien fyller två funktioner.
- Aktivera Googles program Avancerat skydd om du är ett tänkbart mål (journalister, aktivister, chefer, administratörer eller personer som har varit måltavlor tidigare). Det skärper reglerna för kontoåterställning och inloggning specifikt mot den här typen av kontokapningsscenario.
- Gå regelbundet igenom ”Senaste säkerhetsaktivitet” i ditt Google-konto och anslutna enheter och ta bort sådant du inte känner igen eller inte längre använder – inklusive gamla synkroniserade lösenkodsnycklar som finns kvar på enheter du sedan har bytt ut.
- Slopa inte din reservmetod för autentisering. Behåll en återställningsmetod (reservkoder eller en andra lösenkodsnyckel på en annan typ av enhet) som inte är beroende av samma enhet, så att du inte blir utelåst om du måste radera en infekterad dator.
Kortversionen: lösenkodsnycklar är fortfarande bättre än lösenord, och ”omöjliga att nätfiska” är fortfarande en korrekt beskrivning av hur de fungerar mot fjärrnätfiske. Pass-ta-key är en påminnelse om att ”omöjliga att nätfiska” aldrig var samma påstående som ”immuna mot en komprometterad enhet” – och ditt försvar mot det senare är de tråkiga sakerna: uppdatera dina enheter, var uppmärksam på skadlig kod och skydda dina viktigaste konton med hårdvarubundna nycklar i stället för synkroniserade.