SMS-tweefaktorverifikasie beskerm niks meer nie: wat om eerder te gebruik

NIST klassifiseer SMS as 'n beperkte verifikasiemiddel. SIM-omruiling, die SS7-gebrek, kitsuitvissing, en waarmee SMS-kodes werklik vervang moet word.

|

Leestyd: 14 minute

SMS-tweefaktorverifikasie beskerm niks meer nie: wat om eerder te gebruik

Op 9 Januarie 2024 het die amptelike X-rekening van die Securities and Exchange Commission, die Amerikaanse reguleerder van finansiële markte, die goedkeuring van Bitcoin-ETF’s aangekondig, ’n besluit waarop die mark maande lank gewag het. Binne minute het Bitcoin met meer as 1 000 dollar per eenheid gestyg. Toe ontken die SEC dit: die rekening is gekaap. Die prys het met meer as 2 000 dollar teruggeval.

Wat hierdie saak leersaam maak, is nie die omvang van die markbeweging nie, maar hoe alledaags die middel was. Volgens die persverklaring van die Amerikaanse Departement van Justisie het die 26-jarige Eric Council Jr. ’n vals identiteitsdokument met ’n draagbare kaartdrukker gedruk, by ’n AT&T-winkel ingestap en ’n werknemer oorreed om die telefoonnommer wat aan die rekening gekoppel is, na ’n SIM-kaart onder sy beheer oor te dra. Hy het toe die wagwoordherstelkodes per SMS ontvang en dit aan sy medepligtiges gegee. Op 16 Mei 2025 is hy tot 14 maande gevangenisstraf gevonnis.

Een verduideliking is nodig, wat die lees van die saak verander sonder om die les daarvan te verswak. Volgens die amptelike verklaring van die SEC is die multifaktorverifikasie op daardie rekening in Julie 2023 afgeskakel, op versoek van die span self. SMS was dus ten tyde van die voorval nie die tweede faktor nie, maar die herstelkanaal. En juis dít maak die voorbeeld nuttig: of dit nou tweede faktor of agterdeur is, die telefoonnommer bly die punt waar die ketting breek.

Wat ’n tweede faktor veronderstel is om te waarborg

Die beginsel pas in een sin. ’n Wagwoord alleen is iets wat jy weet; daarby kom iets wat jy het (’n foon, ’n fisiese sleutel) of iets wat jy is (’n vingerafdruk). Iemand wat jou wagwoord uit ’n datalek steel, beskik daardeur nie ook oor jou fisiese voorwerp nie.

Dié redenasie rus op ’n aanname wat selde uitgespel word: dat die tweede faktor werklik aan ’n voorwerp in jou besit gekoppel is, en dat die aanbieding daarvan iets bewys oor die plek waar jy aanmeld. SMS misluk op albei punte.

SMS is nie ’n besitsfaktor nie

Om ’n kode per SMS te ontvang, bewys nie dat jy ’n toestel besit nie, maar dat ’n telefoonnommer, toegeken deur ’n netwerkoperateur en deur dieselfde operateur verander kan word, na ’n toestel wys. Dis nie dieselfde ding nie. Drie roetes benut hierdie gaping, en hulle word nie op dieselfde manier toegemaak nie.

SIM-omruiling

Dit is die aanval uit die SEC-saak, en dit steun op geen tegniese gebrek nie. Die aanvaller versamel persoonlike inligting oor die teiken, dikwels reeds beskikbaar uit openbare lekke, en kontak dan die operateur terwyl hy hom as daardie persoon voordoen: foon verloor, skuif asseblief die nommer na ’n nuwe SIM. As hy oortuigend is, of as ’n werknemer saamspeel, verwissel die nommer van hand en al die SMS’e beland by hom. Die IC3-jaarverslag van 2024, die klagtesentrum van die FBI, teken vir daardie jaar alleen 982 klagtes van SIM-omruiling en byna 26 miljoen dollar aangemelde verliese aan, en tel net slagoffers wat ’n klag ingedien het. Geen sagtewareopdatering maak hierdie roete toe nie: dit mik nie op sagteware nie, maar op ’n besigheidsproses wat deur mense bedryf word.

Onderskepping via SS7

Signaling System 7 is die protokol wat telefoonnetwerke wêreldwyd in staat stel om met mekaar te praat: ’n oproep te roeteer, swerwing te hanteer, ’n SMS van een operateur na ’n ander af te lewer. Dit is in 1975 ontwerp, toe die klub van operateurs geslote en klein was en elkeen die ander van nature as betroubaar beskou het. Daarom bevat dit geen ingeboude verifikasie tussen netwerke nie: ’n versoek wat wettig lyk, word as wettig hanteer.

Dit is nie ’n teoretiese swakheid nie. In Desember 2014 het die Duitse navorsers Tobias Engel en Karsten Nohl dit in die openbaar by die Chaos Communication Congress gedemonstreer: die opspoor van ’n intekenaar en die onderskepping van sy SMS’e met net die telefoonnommer as vertrekpunt. In 2017 is werklike uitbuiting bevestig: die Duitse operateur O2-Telefónica het erken dat kliënte se bankrekeninge leeggemaak is nadat die aanvallers toegang tot die netwerk van ’n buitelandse operateur verkry en SMS-aanstuur opgestel het om die bank se bevestigingskodes te vang.

Kitsuitvissing

Die derde roete is die belangrikste, want dit hang van geen telekommunikasiegebrek af nie en oorleef alles wat in die vorige twee reggemaak sou word.

’n Vals werf boots die aanmeldbladsy van ’n diens volmaak na. Jy voer jou gebruikersnaam en wagwoord daar in, wat die vals werf onmiddellik na die egte een aanstuur, en dié stuur ’n SMS na jou foon. Die SMS bereik jou werklik, en dit is eg. Jy tik die kode op die vals werf in, wat dit op sy beurt binne sekondes aanstuur. Die sessie gaan oop, en dis die aanvaller wat dit vashou.

Dit word ’n adversary-in-the-middle-aanval genoem. Dit is geïndustrialiseer: gereedskap soos Evilginx, ’n omgekeerde instaanbediener wat in 2017 verskyn het, of stelle wat teen ’n maandelikse intekening verkoop word, maak dit sonder enige besondere vaardigheid toeganklik. Wat trouens gesteel word, is nie net die kode nie, maar die sessiekoekie, wat daarna toelaat om aangemeld te bly sonder om weer deur enige verifikasie te gaan.

Die punt is argitektonies. Die kode wat per SMS gestuur word, dra geen inligting oor die werf wat dit aangevra het nie. Dit kan dus nie eg van vals onderskei nie: dit is geldig oral waar dit ingetik word.

Dit is nie meer ’n mening nie, dit is ’n amptelike standpunt

Die sterkste argument teen SMS kom nie van verskaffers van oplossings nie, maar van die instellings wat die standaarde skryf.

In Julie 2025 het die Amerikaanse NIST die finale weergawe van SP 800-63B-4, Digital Identity Guidelines: Authentication and Authenticator Management gepubliseer. Die teks skep ’n uitdruklike kategorie beperkte verifikasiemiddels, voorbehou vir meganismes waarvan die weerstandsvermoë saam met die ontwikkeling van bedreigings verswak het. Afdeling 3.1.3.3 plaas die gebruik van die openbare geskakelde telefoonnetwerk daar, dit wil sê kodes wat per SMS of stemoproep gestuur word: “Use of the PSTN for out-of-band verification is restricted as described in this section and SHALL satisfy the requirements of Sec. 3.2.9.” Konkreet moet ’n diens wat dit steeds gebruik ’n onbeperkte alternatief bied, sy gebruikers oor die risiko inlig en ’n migrasieplan hê.

In Desember 2024 het CISA, die Amerikaanse kubersekuriteitsagentskap, sy Mobile Communications Best Practice Guidance gepubliseer, ná die Salt Typhoon-spioenasieveldtog waarin akteurs met bande aan die Chinese staat by verskeie Amerikaanse telekommunikasie-operateurs ingedring het. Die bewoording laat geen ruimte vir uitleg nie: “Do not use SMS as a second factor for authentication. SMS messages are not encrypted”, en verder aan, sonder omhaal: “Only FIDO authentication is phishing-resistant.” Die dokument beveel uitdruklik FIDO-hardewaresleutels aan, met Yubico en Google Titan by die naam, en stel dit duidelik dat SMS afgeskakel moet word sodra FIDO geaktiveer is, anders bly dit as ’n uitbuitbare terugvalroete bestaan.

Verifikasieprogramme: werklike vooruitgang, ’n gedeeltelike oplossing

TOTP-programme, van Time-based One-Time Password, genereer ’n sescyferkode wat elke dertig sekondes verander en plaaslik bereken word uit ’n geheim wat by aktivering gedeel is en uit die huidige tyd. Niks beweeg oor die telefoonnetwerk nie.

Die wins is onmiddellik: SIM-omruiling word doelloos omdat die nommer nie meer betrokke is nie, en SS7-onderskepping ook, omdat geen boodskap vervoer word nie. Om na ’n verifikasieprogram oor te skakel, is die moeite werd by elke rekening wat nie verder kan gaan nie.

Maar die derde roete bly heeltemal ongeskonde. ’n TOTP-kode wat op ’n vals werf ingetik word, word presies soos ’n SMS-kode na die egte werf aangestuur. Die program weet nie waar jy aanmeld nie: dit wys ’n getal, en daardie getal is geldig by enigeen wat dit binne sy dertigsekondevenster aanbied. CISA stel dit in dieselfde woorde: verifikasiekodes is beter as SMS, maar bly kwesbaar vir uitvissing.

TOTP is ’n eerlike tussenstap, nie ’n bestemming nie.

Waarom ’n FIDO2-sleutel die aard van die probleem verander

’n FIDO2/WebAuthn-hardewaresleutel maak die aanval nie net moeiliker nie, dit ontneem dit die meganiese moontlikheid.

By registrasie op ’n diens genereer die sleutel ’n kriptografiese sleutelpaar wat aan daardie diens toegewy is. Die openbare deel gaan na die diens, die private deel verlaat nooit die skyfie nie en is nóg uitvoerbaar nóg leesbaar. Geen gedeelde geheim wat gekopieer kan word nie, geen sescyferkode om te onderskep nie.

Dan kom die beslissende meganisme, die binding aan die oorsprong. By aanmelding gee die blaaier die werklike domeinnaam van die vertoonde bladsy aan die sleutel deur. Daardie inligting word by die data ingesluit wat onderteken word, en die blaaier dwing dit af: die bladsy se JavaScript kan dit nóg verander nóg vervals.

’n FIDO2-sleutel maak uitvissing nie moeiliker om te laat slaag nie. Dit maak die uitkoms van uitvissing onbruikbaar.

Kom ons neem die adversary-in-the-middle-aanval weer, hierdie keer met ’n sleutel. Die vals werf is volmaak, die slagoffer merk niks op nie en raak sy sleutel aan. Die blaaier gee die werklike domein van die bladsy deur, dié van die bedrieglike werf. Die sleutel stel vas dat daar geen paar vir daardie domein bestaan nie, of onderteken daarvoor en lewer ’n handtekening wat die egte diens sal verwerp. In albei gevalle kry die aanvaller niks bruikbaars nie.

Daar lê die verskil in aard. Met SMS of TOTP rus die sekuriteit uiteindelik op die waaksaamheid van die gebruiker, op sy vermoë om ’n vervalste domein in ’n adresbalk raak te sien, op ’n oomblik wanneer hy haastig is en die bladsy normaal lyk. Met FIDO2 word daardie kontrole deur ’n masjien gedoen, elke keer, sonder om van iemand se aandag af te hang. Dit is hierdie oordrag van verantwoordelikheid wat tel, meer as die kriptografiese sterkte.

Die uitwerking is meetbaar. Google het die sleutels aan die begin van 2017 vir sy werknemers verpligtend gemaak en in 2018 verklaar dat geen enkele rekeningkompromittering aangeteken is nie onder meer as 85 000 mense.

Die werklike grense van hardewaresleutels

Om hulle as volmaak voor te hou, sou oneerlik wees, en nutteloos om die werklike besluite voor te berei.

Die koste bestaan. Reken op 25 tot 60 euro na gelang van die model, meer vir biometriese weergawes, en vermenigvuldig dit met twee.

Om ’n sleutel te verloor, is die werklike risiko. ’n Enkele sleutel op ’n kritieke rekening is ’n ontwerpfout. Daar moet twee op elke belangrike rekening geregistreer wees, waarvan een elders bewaar word, by ’n na familielid of in ’n kluis. Die tweede is nie gerief nie, dit is wat die eerste sonder vrees bruikbaar maak.

Die dekking is onvolledig. Baie dienste, veral bankdienste in Europa, ondersteun FIDO2 nog nie, vandaar die prioriteitsvolgorde hieronder.

’n Sleutel kan gesteel word. Daarom is dit nodig om ’n PIN op die sleutel te aktiveer, of ’n model met ’n vingerafdruk te kies: daarsonder is die voorwerp alleen genoeg vir wie dit optel.

Die terugvalroete bly die swakste skakel. Om FIDO2 te aktiveer sonder om SMS af te skakel, beskerm teen niks nie: ’n aanvaller neem eenvoudig die pad wat oop gebly het. Die migrasie is eers klaar wanneer die ou meganisme van die rekening verwyder is, herstelopsies ingesluit.

Wat die hardeware betref, dek die YubiKey-reeks die breedste spektrum protokolle, die Google Titan-sleutels is goedkoper en bly tot FIDO beperk, Nitrokey en SoloKeys bied alternatiewe met oop en ouditeerbare fermware, en Token2 maak modelle met ’n ingeboude syferbord waar die PIN op die sleutel self ingetik word eerder as op die sleutelbord. Daar is geen slegte keuse onder die FIDO2-gesertifiseerde sleutels nie: die protokol is dieselfde en net die newegebruike verskil.

Waar om te begin wanneer jy nie alles kan verander nie

Die volgorde van migrasie is nie ’n kwessie van voorkeur nie, dit vloei uit die afhanklikhede tussen jou rekeninge.

  1. Eers die hoofposbus. Dit ontvang die herstelskakels van byna alles anders. ’n Aanvaller wat dit beheer, neem die ander rekeninge een vir een oor, sonder om enige van hulle direk aan te val. Niks verdien dit om voor haar beveilig te word nie.
  2. Die wagwoordbestuurder. Dit bundel die eerste faktor van al jou toegange, dus moet die beskerming daarvan opweeg teen dié van die bes beskermde rekening wat dit bevat. Dit is die oomblik om die gehalte van die hoofwagwoord na te gaan, ’n onderwerp wat ons in ons artikel oor entropie en die wetenskap agter jou sekuriteit uitvoerig behandel.
  3. Finansiële rekeninge en kriptoplatforms. Teikens met onmiddellike waarde, waar ’n kompromittering binne minute ’n onomkeerbare verlies word.
  4. Sosiale rekeninge met ’n gehoor. Die SEC-saak wys wat die woord van ’n gevolgde rekening werd is, en die skade tref nie altyd die eienaar daarvan nie.
  5. Die res kan wag, met ’n TOTP-program in die plek van SMS. ’n Forum of ’n stroomdiens regverdig nie dieselfde moeite nie.

Vir rekeninge wat FIDO2 nog nie ondersteun nie: skakel oor na TOTP waar dit ook al moontlik is, en vra jou operateur om ’n slot op die oordraagbaarheid van jou nommer, by die meeste ’n gratis opsie.

Wat dit oor Arpokrat se benadering sê

Hierdie artikel beskryf ’n probleem wat net bestaan omdat ’n identifiseerder in die middel van die stelsel geplaas is. Die telefoonnommer is nooit as bewys van identiteit ontwerp nie: dit het uit gewoonte die ruggraat van aanlyn verifikasie geword, en al drie die aanvalle hierbo beskryf, buit juis hierdie verdraaiing van gebruik uit.

Dit is die redenasie agter die ontwerp van die Arpokrat Messenger-protokol: geen telefoonnommer, geen e-posadres, geen rekening nie. Die gebruiker bestaan as ’n stel kriptografiese sleutels wat op sy eie toestel bewaar word, en kontak kom deur eenmalige uitnodigingsskakels tot stand. Die logika is dié van FIDO2, ’n trap hoër: wat ’n derde party nie het nie, kan nie van hom afgeneem word nie, nie deur sosiale ingenieurswese teen ’n operateur nie en nie deur ’n regsbevel nie. Hierdie samehang met die Zero-Knowledge-argitektuur werk ons uit in ons artikel oor versamel nou, ontsyfer later.

’n Hardewaresleutel wat onderteken sonder om ooit sy geheim prys te gee, is trouens ook hoe ’n vanlyn kriptobeursie werk, soos uiteengesit in ons volledige gids tot die cold wallet: hou die geheime deel in ’n toegewyde voorwerp, en laat niks anders as ’n handtekening daaruit kom nie.

Slot

SMS-tweefaktorverifikasie is nie sleg ontwerp nie. Toe dit in die vroeë 2010’s algemeen geword het, was dit ’n aansienlike vooruitgang op die wagwoord alleen, en dit het die enigste eienskap gehad wat op groot skaal saak maak: almal het reeds ’n foon gehad.

Die probleem is nie die uitvinding daarvan nie, maar die voortbestaan daarvan. Die SS7-demonstrasies dateer uit 2014, die werklike bankuitbuiting uit 2017, die industrialisering van kitsuitvissing uit die einde van daardie dekade. CISA het in 2024 geskryf dat dit nie meer gebruik moet word nie, NIST het die beperking in 2025 geformaliseer. Sowat tien jaar skei die oomblik waarop die gebreke op groot skaal uitbuitbaar geword het van die oomblik waarop instellings dit swart op wit neergeskryf het. En SMS bly by die meeste dienste vir die algemene publiek die verstek tweede faktor.

Daardie gaping is die werklike inligting van hierdie artikel. Sekuriteitsmeganismes verdwyn nie wanneer hulle ophou werk nie, maar wanneer iets net so eenvoudig hulle plek kom inneem, en dít duur veel langer. Die vraag is dus nie of jy SMS moet laat vaar nie, dit is jare gelede reeds beslis. Die vraag is watter ander beskermings wat jy as vanselfsprekend aanvaar, reeds, sonder dat iemand dit nog neergeskryf het, in dieselfde situasie verkeer.

Bronne