Tack vare Tommy Mysk och Talal Haj Bakry of @mysk_co för drivkraften och informationen bakom denna artikel. Duon beskriver sig själva som "två iOS-utvecklare och enstaka säkerhetsforskare på två kontinenter." Med andra ord, även om cybersäkerhet inte är deras kärnverksamhet, gör de vad vi önskar att alla programmerare skulle göra: att inte ta program- eller operativsystemsäkerhetsfunktioner för givna, utan hålla sina egna ögon på hur dessa funktioner fungerar i verkligheten, för att undvika att snubbla över andras misstag och antaganden.
Bilden ovan är baserad på en av deras tweets, som du kan se i sin helhet nedan.
Twitter nyligen meddelade att den inte tycker att SMS-baserad tvåfaktorsautentisering (2FA) är tillräckligt säker längre.
Ironiskt nog, som vi förklarade förra veckan, är just de användare som du tror att denna förändring skulle vara viktigast för Twitter-användarna på "toppnivån" – de som betalar för ett blått Twitter-märke för att ge dem mer räckvidd och för att låta dem skicka längre tweets...
…men dessa användare som betalar för att spela kommer att tillåtas fortsätta använda textmeddelanden (SMS) för att få sina 2FA-koder.
Vi andra måste byta över till en annan typ av 2FA-system inom de närmaste tre veckorna (före fredag 2023-03-17).
Det innebär att man använder en app som genererar en hemlig "seedad" sekvens av engångskoder, eller att man använder en hårdvarutoken, till exempel en Yubikey, som gör den kryptografiska delen av att bevisa din identitet.
Hårdvarunycklar eller appbaserade koder?
Säkerhetsnycklar för hårdvara kostar cirka 100 USD styck (vi går efter Yubikeys ungefärliga pris för en enhet med biometriskt skydd baserat på ditt fingeravtryck), eller 50 USD om du är villig att välja den mindre säkra sorten som kan aktiveras genom att trycka av någons finger.
Vi är därför villiga att anta att alla som redan har investerat i en hårdvarusäkerhetstoken kommer att ha gjort det med flit och inte kommer att ha köpt en för att låta den sitta stilla hemma.
Dessa användare har därför redan gått bort från SMS-baserad eller app-baserad 2FA.
Men alla andra, vi gissar, hamnar i ett av tre läger:
- De som inte använder 2FA alls, eftersom de anser att det är ett onödigt extra krångel när de loggar in.
- De som slog på SMS-baserad 2FA, eftersom det är enkelt, lätt att använda och fungerar med vilken mobiltelefon som helst.
- De som gick för app-baserade 2FA, eftersom de var ovilliga att lämna över sitt telefonnummer, eller redan hade bestämt sig för att gå vidare från sms 2FA.
Om du är i det andra lägret, hoppas vi att du inte bara kommer att ge upp 2FA och låta det förfalla på ditt Twitter-konto, utan kommer att byta till en app för att generera dessa sexsiffriga koder istället.
Och om du är i det första lägret, hoppas vi att publiciteten och debatten kring Twitters förändring (gjordes det verkligen av säkerhetsskäl, eller helt enkelt för att spara pengar på att skicka så många SMS?) kommer att vara den drivkraft du behöver för att adoptera 2FA själv.
Hur gör man app-baserad 2FA?
Om du använder en iPhone kan lösenordshanteraren inbyggd i iOS generera 2FA-koder åt dig, för så många webbplatser du vill, så du behöver inte installera någon ytterligare programvara.
På Android erbjuder Google sin egen autentiseringsapp, föga förvånande kallad Google Authenticator, som du kan få från Google Play.
Googles tilläggsapp gör jobbet med att generera de nödvändiga kodsekvenserna för engångsinloggning, precis som Apples Inställningar > lösenord verktyg på iOS.
Men vi kommer att anta att åtminstone vissa människor, och möjligen många, helt rimligtvis kommer att ha frågat sig själva, "Vilka andra autentiseringsappar finns där ute, så jag behöver inte lägga alla mina cybersäkerhetsägg i Apples (eller Googles) korg?"
Många välrenommerade företag (inklusive Sophos, förresten, för båda iOS och Android) tillhandahåller gratis, pålitliga, autentiseringsverktyg som gör precis vad du behöver, utan krusiduller, avgifter eller annonser, om du förståeligt nog känner för att använda en 2FA-app som inte kommer från samma leverantör som ditt operativsystem.
Du kan faktiskt hitta ett omfattande och frestande utbud av autentiseringsverktyg bara genom att söka efter Authenticator-app i Google Play eller App Store.
Bortskämda för val
Problemet är att det finns ett osannolikt, kanske till och med obegripligt, antal sådana appar, alla uppenbarligen godkända för kvalitet genom att de accepteras i Apples och Googles officiella "muromgärdade trädgårdar".
Faktiskt vänner till Naked Security @mysk_co mailade oss precis för att säga att de själva hade letat efter autentiseringsappar och att de var någonstans mellan förvånade och chockade över vad de hittade.
Tommy Mysk, medgrundare av @mysk_co, uttryckte det enkelt och tydligt i ett mejl:
Vi analyserade flera autentiseringsappar efter att Twitter hade stoppat SMS-metoden för 2FA. Vi såg många bluffappar som såg nästan likadana ut. De lurar alla användare att teckna en årlig prenumeration för $40/år. Vi fångade fyra som har nästan identiska binärer. Vi fångade också en app som skickar varje skannad QR-kod till utvecklarens Google Analytics-konto.
När Tommy inbjuder dig att fråga dig själv, i en serie tweets som han har postat, hur ska ens en välinformerad användare veta att deras bästa sökresultat för "Authenticator-app” kan i själva verket vara den man ska undvika till varje pris?
Imposter-appar i den här kategorin, verkar det som, i allmänhet försöker få dig att betala dem allt från $20 till $40 varje år - ungefär lika mycket som det skulle kosta att köpa en välrenommerad hårdvaru-2FA-token som skulle hålla i flera år och nästan säkert vara säkrare :
Många av dessa misstänkta autentiseringsappar använder den här tekniken för att lura användare. När du är klar med välkomstguiden efter den första lanseringen får du köpvyn i appen. Och x-knappen för att stänga vyn visas efter några sekunder (övre högra hörnet)#AppStore pic.twitter.com/sgxEo5ZwF0
— Mysk 🇨🇦🇩🇪 (@mysk_co) Februari 20, 2023
När vi försökte söka i App Store, till exempel, var vår toppträff en app med en beskrivning som gränsade till analfabeter (vi hoppas att denna nivå av oprofessionellism skulle avskräcka åtminstone vissa människor direkt), skapad av en företag som använder namnet på ett välkänt kinesiskt mobiltelefonmärke.
Med tanke på den uppenbart dåliga kvaliteten på appen (även om den ändå hade hamnat i App Store, glöm inte), var vår första tanke att vi tittade på intrång i företagsnamn.
Vi blev förvånade över att de förmodade bedragarna hade kunnat skaffa sig ett Apple-kodsigneringscertifikat i ett namn vi inte trodde att de hade rätt att använda.
Vi var tvungna att läsa företagsnamnet två gånger innan vi insåg att en bokstav hade bytts ut mot en lookalike karaktär, och vi hade att göra med gamla goda "typosquatting", eller vad en advokat kan kalla går bort – att medvetet välja ett namn som inte bokstavligen stämmer överens men som är tillräckligt visuellt likt för att vilseleda dig med ett ögonkast.
När vi sökte på Google Play var toppträffen en app som @mysk_co redan hade twittrat om och varnade för att den inte bara kräver pengar som du inte behöver spendera, utan också stjäl frön or starthemligheter av de konton du skapat för 2FA.
Kom ihåg den hemliga strängen 6QYW4P6KWALGCUWM
i QR-koden och TOTP-numren 660680
som du kan se på bilderna nedan, för vi kommer att träffa dem igen senare:
Varför frön är hemligheter
Att förklara.
De flesta appbaserade 2FA-koder förlitar sig på ett kryptografiskt protokoll som kallas TOTP, förkortning för tidsbaserat engångslösenord, specificerad i RFC 6238.
Algoritmen är förvånansvärt enkel, som du kan se från exempel på Lua-koden nedan:
Processen fungerar så här:
S. Konvertera fröet, eller "starthemligheten", som ursprungligen tillhandahölls till dig som en base32-kodad sträng (som text eller via en QR-kod), till en sträng med bytes [rad 4].
B. Dividera den aktuella "Unix-epoken" i sekunder med 30, bortse från bråkdelen. Unix-tiden är antalet sekunder sedan 1970-01-01T00:00:00Z [5].
C. Spara detta nummer, som faktiskt är en halvminutersräknare som startade 1970, i en minnesbuffert som ett 64-bitars (8-byte) big-endian heltal utan tecken [6].
D. Hash den 8-byte bufferten med en iteration av HMAC-SHA1 med det base32-avkodade startfröet som nyckel [7].
E. Extrahera den sista byten av 160-bitars HMAC-SHA1-sammandraget (byte 20 av 20), och ta sedan dess fyra nedersta bitar (resten när de divideras med 16) för att få ett nummer X mellan 0 och 15 inklusive [8] .
F. Extrahera byte X+1,X+2,X+3,X+4 från hashen, dvs 32 bitar dras var som helst från de första fyra byten (1..4) till de sista fyra-men-en-byten ( 16..19) [13].
G. Konvertera till ett 32-bitars big-endian osignerat heltal och nollställ den mest signifikanta biten, så det fungerar rent oavsett om det senare behandlas som signerat eller osignerat [13].
H. Ta de sista 6 decimalsiffrorna i det heltal (beräkna resten när de divideras med en miljon) och skriv ut det med inledande nollor för att få TOTP-koden [17].
Med andra ord, startfröet för vilket konto som helst, eller hemligheten som du kan se den märkt i @mysk_cos tweet ovan, är bokstavligen nyckeln till att producera varje TOTP-kod du någonsin kommer att behöva för det kontot.
Koder är för att använda, frön är för att säkra
Det finns tre anledningar till varför du bara skriver in dessa konstigt beräknade sexsiffriga koder när du loggar in och aldrig använder (eller ens behöver se) fröet igen direkt:
- Du kan inte arbeta baklänges från någon av koderna till nyckeln som användes för att generera dem. Så att fånga upp TOTP-koder, även i stort antal, hjälper dig inte att omvända din väg till tidigare eller framtida inloggningskoder.
- Du kan inte arbeta framåt från den aktuella koden till nästa i följd. Varje kod beräknas oberoende, baserat på fröet, så att fånga upp en kod idag hjälper dig inte att logga in i framtiden. Koderna fungerar därför som engångslösenord.
- Du behöver aldrig skriva in själva fröet i en webbsida eller lösenordsformulär. På en modern mobiltelefon kan den därför sparas exakt en gång i det säkra lagringschippet (kallas ibland en enklav) på enheten, där en angripare som stjäl din telefon när den är låst eller avstängd inte kan extrahera den.
Enkelt uttryckt är en genererad kod säker för engångsanvändning, eftersom fröet inte kan vridas bakåt från koden.
Men fröet måste hållas hemligt för alltid, eftersom varje kod, från början av 1970 till långt efter universums troliga värmedöd (263 sekunder in i framtiden, eller cirka 0.3 biljoner år), kan genereras nästan omedelbart från fröet.
Självklart behöver tjänsten du loggar in på en kopia av ditt frö för att verifiera att du har angett en kod som matchar tidpunkten då du försöker logga in.
Så du behöver lita på servrarna i andra änden att vara extra noga med att hålla dina frön säkra, även (eller kanske speciellt) om tjänsten blir bruten.
Du behöver också lita på programmet du använder i slutet att aldrig avslöja dina frön.
Det betyder visar inte dessa frön till någon (en korrekt kodad app visar inte ens fröet för dig efter att du har skrivit in det eller skannat in det, eftersom du helt enkelt inte behöver se det igen), inte släpper ut frön till andra appar, inte skriva ut dem att logga filer, lägga till dem i säkerhetskopior eller inkludera dem i felsökningsutdata...
...och väldigt, väldigt definitivt sänder aldrig några av dina frön över nätverket.
Faktum är att en app som laddar upp dina frön till en server var som helst i världen är antingen så inkompetent att du bör sluta använda den omedelbart, eller så opålitlig att du bör behandla den som cyberkriminell skadlig kod.
Vad göra?
Om du har tagit en autentiseringsapp nyligen, särskilt om du gjorde det i en hast som ett resultat av Twitters senaste tillkännagivande, granska ditt val mot bakgrund av vad du nu vet.
Om du tvingades betala ett abonnemang för det; om appen är full av annonser; om appen kommer med mer omfattande marknadsföring och lysande recensioner ändå kommer från ett företag som du aldrig har hört talas om; eller om du helt enkelt har andra tankar och något inte känns rätt med det...
…överväg att byta till en vanlig app som ditt IT-team redan har godkänt, eller som någon teknisk, som du känner och litar på, kan gå i god för.
Som nämnts ovan har Apple en inbyggd 2FA-kodgenerator i Inställningar > lösenord, och Google har sin egen Google Authenticator app i Play Butik.
Din favoritsäkerhetsleverantör har förmodligen en gratis kodgenerator utan annonser utan spänning som du också kan använda. (Sophos har en fristående autentisering för iOS och en autentiseringskomponent i den kostnadsfria Sophos Intercept X for Mobile-appen på båda iOS och Android.)
Om du bestämmer dig för att byta autentiseringsapp eftersom du inte är säker på den du har, se till att återställ alla 2FA-frön för alla konton du har anförtrott den.
(Faktum är att om den gamla appen har ett alternativ att exportera dina frön så att du kan läsa dem till en ny app, vet du nu inte bara att du inte ska använda den funktionen, utan också att ditt beslut att byta app var ett bra ett!)
KVANTIFIERA RISKEN FÖR DIG SJÄLV
Risken att lämna ditt konto skyddat av ett 2FA-frö som du tror att någon annan kanske redan känner till (eller kan ta reda på) är uppenbar.
Du kan bevisa detta för dig själv genom att använda TOTP-algoritmen vi presenterade tidigare, och mata in [A] den "hemliga" strängen från Tommy Mysk's tweet ovan och [B] när han tog skärmdumpen, som var 7:36 centraleuropeisk tid 2023-02-25, en timme före UTC (Zulu tid, betecknad Z
i tidsstämpeln nedan).
Det stulna fröet är: 6QYW4P6KWALGCUWM Zulu-tiden var: 2023-02-25T18:36:00Z Vilket är: 1,677,350,160 XNUMX XNUMX XNUMX sekunder in i Unix-epoken
Som du kan förvänta dig, och som du kan matcha med bilderna i tweeten ovan, producerar koden följande utdata:
$ luax totp-mysk.lua Tommy Mysks kod var: 660680
Som det berömda tv-spelsmemet kan uttrycka det: All hans TOTP-kod tillhör oss.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: https://nakedsecurity.sophos.com/2023/02/27/beware-rogue-2fa-apps-in-app-store-and-google-play-dont-get-hacked/
- 1
- 2FA
- 7
- a
- Able
- Om oss
- ovan
- Absolut
- godkännande
- Konto
- konton
- förvärva
- Agera
- Tillägg
- Annat
- anta
- annonser
- Efter
- framåt
- algoritm
- Alla
- redan
- Även
- analytics
- och
- android
- Tillkännagivande
- någon
- var som helst
- app
- app store
- skenbar
- Apple
- Ansökan
- godkänd
- appar
- runt
- Artikeln
- Autentisering
- Författaren
- bil
- bakgrund-bild
- säkerhetskopior
- baserat
- korgen
- därför att
- innan
- bakom
- nedan
- mellan
- Akta sig
- biometriska
- Bit
- Blå
- blått märke
- gränsen
- Botten
- köpt
- varumärke
- buffert
- byggt
- inbyggd
- företag
- Knappen
- Köp
- beräkna
- Ring
- kallas
- Läger
- Kan få
- vilken
- Kategori
- fångas
- Centrum
- centrala
- säkerligen
- certifikat
- byta
- karaktär
- kinesisk
- chip
- Medgrundare
- koda
- färg
- komma
- Företag
- företag
- komponent
- Tänk
- konvertera
- Kärna
- Corner
- Pris
- Kostar
- Motverka
- Kurs
- täcka
- skapas
- kryptografisk
- Aktuella
- IT-KRIMINELL
- Cybersäkerhet
- som handlar om
- Död
- diskussion
- beslutade
- Beslutet
- definitivt
- krav
- beskriva
- beskrivning
- utvecklare
- anordning
- DID
- olika
- Smälta
- siffror
- direkt
- Avfärda
- Visa
- visning
- dividerat
- inte
- gör
- inte
- varje
- Tidigare
- effektivt
- Ägg
- antingen
- tillräckligt
- gick in i
- anförtros
- epok
- speciellt
- Giltigt körkort
- Även
- NÅGONSIN
- Varje
- alla
- exakt
- exempel
- förvänta
- Förklara
- förklarade
- export
- omfattande
- extra
- extrahera
- Ögon
- Falls
- kända
- Leverans
- skisserat
- Funktioner
- matning
- avgifter
- få
- Figur
- Filer
- hitta
- finger
- fingeravtryck
- slut
- Förnamn
- efter
- alltid
- formen
- hittade
- fraktionerad
- Fri
- Fredag
- vänner
- från
- full
- framtida
- allmänhet
- generera
- genereras
- genererar
- generera
- Generatorn
- skaffa sig
- Ge
- Blick
- Go
- kommer
- god
- Google Analytics
- Google Play
- Googles
- beviljats
- sidan
- hårdvara
- Hårdvara Säkerhet
- hash
- har
- hört
- höjd
- hjälpa
- Träffa
- Hem
- hoppas
- hovring
- Hur ser din drömresa ut
- HTTPS
- identiska
- Identitet
- bild
- bilder
- blir omedelbart
- med Esport
- Osannolik
- in
- I andra
- Inklusive
- Inkludering
- oberoende av
- informationen
- överträdelse
- installera
- istället
- investerat
- inviterar
- iOS
- iPhone
- IT
- iteration
- sig
- Jobb
- Ha kvar
- hålla
- Nyckel
- nycklar
- Vet
- känd
- Large
- Efternamn
- lansera
- advokat
- ledande
- Lämna
- lämnar
- brev
- Nivå
- livet
- ljus
- sannolikt
- linje
- låst
- Lång
- längre
- du letar
- gjord
- Vanliga
- malware
- chef
- många
- Marginal
- Marknadsföring
- Match
- max-bredd
- betyder
- Möt
- meme
- Minne
- nämnts
- meddelanden
- metod
- kanske
- miljon
- misstag
- Mobil
- Mobil app
- mobiltelefon
- Modern Konst
- pengar
- mer
- mest
- flytta
- Naken säkerhet
- namn
- Nära
- Behöver
- behov
- Icke desto mindre
- Nya
- ny app
- Nästa
- normala
- antal
- nummer
- Uppenbara
- tillfällig
- Erbjudanden
- tjänsteman
- Gamla
- ONE
- drift
- operativsystem
- Alternativet
- beställa
- ursprungligen
- Övriga
- egen
- del
- Lösenord
- Password Manager
- lösenord
- Tidigare
- paul
- Betala
- betalar
- Personer
- människors
- kanske
- telefon
- plato
- Platon Data Intelligence
- PlatonData
- Spela
- Play butik
- dålig
- placera
- posted
- inlägg
- presenteras
- pris
- Skriva ut
- förmodligen
- Problem
- process
- programmerare
- skyddad
- skydd
- protokoll
- Bevisa
- ge
- förutsatt
- publicitet
- inköp
- Syftet
- sätta
- QR code
- kvalitet
- område
- nå
- Läsa
- verklig
- verkliga livet
- skäl
- motta
- senaste
- nyligen
- ansedda
- forskare
- REST
- resultera
- avslöjar
- Omdömen
- Risk
- säker
- Samma
- Save
- Lurendrejeri
- bluffappar
- Sök
- söka
- Andra
- sekunder
- Secret
- säkra
- säkerhet
- säkerhetstoken
- frö
- frön
- verkar
- skicka
- Sekvens
- Serier
- Servrar
- service
- in
- flera
- chockad
- Kort
- skall
- show
- signerad
- signifikant
- signering
- liknande
- Enkelt
- helt enkelt
- eftersom
- Sittande
- SMS
- So
- Mjukvara
- fast
- några
- någon
- något
- någonstans
- specificerade
- spendera
- starta
- igång
- Starta
- stjäl
- stulna
- Sluta
- slutade
- förvaring
- lagra
- prenumeration
- sådana
- levereras
- förment
- överraskad
- misstänksam
- SVG
- Växla
- bytte
- system
- Ta
- tar
- grupp
- Teknisk
- Smakämnen
- deras
- sig själva
- därför
- trodde
- tre
- tid
- tidsstämpel
- till
- i dag
- token
- alltför
- topp
- TOTP
- Rör
- övergång
- transparent
- behandla
- Biljon
- sann
- Litar
- trovärdig
- vände
- tweet
- tweets
- Dubbelt
- Förstående
- Universum
- unix
- URL
- us
- användning
- Användare
- användare
- UTC
- verktyg
- verktyg
- leverantör
- verifiera
- via
- utsikt
- varning
- webb
- webbsidor
- vecka
- veckor
- välkommen
- ALLBEKANT
- Vad
- om
- som
- VEM
- bredd
- kommer
- beredd
- inom
- utan
- ord
- Arbete
- fungerar
- skulle
- skrivning
- X
- år
- år
- Om er
- Din
- själv
- zephyrnet
- noll-