Daugiau nei dešimtmetį įprasta kibernetinio saugumo maksima teigė: „Bet kokia 2FA yra geriau nei jokios 2FA.“ Nors tai vis dar tiesa paprastų, masinių automatizuotų slaptažodžių parinkimo atakų (credential stuffing) atveju, SMS pagrindu veikiantis dviejų veiksnių autentifikavimas virto katastrofišku vieninteliu gedimo tašku (single point of failure). Dėl masinių asmens tapatybės duomenų (PII) nutekėjimų tamsiajame internete, pažeidžiamų telekomunikacijų operatorių salonų ir automatizuotų „Adversary-in-the-Middle“ (AiTM) atvirkštinių tarpinių serverių sistemų, tokių kaip Evilginx, SMS 2FA suteikia apgaulingą saugumo jausmą. Šiame techniniame dokumente nagrinėjama, kaip perimamas SMS patvirtinimas ir kodėl jūsų saugumo architektūra reikalauja neatidėliotino perėjimo prie TOTP ir FIDO2 raktų.
01. SMS saugumo iliuzija ir istorinis paveldas
2000-ųjų pradžioje SMS pagrindu veikiantis patvirtinimas tapo dominuojančiu standartu interneto vartotojų saugumui dėl visiškai minimalių pastangų vartotojui. Vartotojams nereikėjo diegti specialių kriptografinių programų ar pirkti aparatūros raktų. Kol žmogus turėjo mobilųjį telefoną, 4–6 skaitmenų patvirtinimo kodas galėjo būti pristatytas tiesiai į jo kišenę.
Tačiau trumpųjų žinučių paslaugos (SMS) protokolas iš pradžių buvo standartizuotas devintajame dešimtmetyje GSM sistemoje Europos telekomunikacijų standartų instituto (ETSI). Jis niekada nebuvo suprojektuotas perduoti kriptografinėms paslaptims ar tarnauti kaip tapatybės patvirtinimo protokolas. SMS žinutėms trūksta ištisinio šifravimo (end-to-end encryption), trūksta siuntėjo tapatumo nustatymo ir visiškai nėra kriptografinio kanalo susiejimo (channel binding) su aktyvia vartotojo interneto naršyklės sesija.
Telekomunikacijų operatoriai maršrutizuoja tekstinius pranešimus remdamiesi tarptautiniu mobiliojo abonento tapatybės numeriu (IMSI), šiuo metu užregistruotu konkrečiame ryšio bokšte, o ne žmogaus, laikančio įrenginį rankose, tapatybe. Kai pasikliaujate SMS 2FA, jūsų skaitmeninė tapatybė nėra apsaugota kriptografija; ją saugo prasčiausiai apmokamas klientų aptarnavimo atstovas vietiniame prekybos centro ryšio salone.
02. 1-asis atakos vektorius: SIM sukeitimo mechanizmo analizė
SIM kortelės sukeitimas (SIM Swapping, dar vadinamas SIM užgrobimu ar port-out apgaule) yra pagrindinis taikinių atakų ginklas prieš didelės vertės kriptovaliutų savininkus, įmonių vadovus ir sistemų administratorius. Užpuolikui nereikia fizinės prieigos prie aukos telefono aparato.
SIM sukeitimo atakos gyvavimo ciklas:
Užpuolikai perka apibendrintus duomenis iš tamsiojo interneto nutekintų bazių, kad sužinotų aukos asmens kodą ar socialinio draudimo numerį, pilną vardą, gimimo datą, gyvenamosios vietos adresą ir pirminį ryšio operatorių.
Užpuolikas skambina operatoriaus pagalbos linijai apsimesdamas auka su „pamesta arba sugadinta SIM kortele“, sėkmingai atsakydamas į paprastus saugumo klausimus. Arba kibernetinių nusikaltėlių sindikatai papirkinėja salonų darbuotojus (mokėdami po 500–1 000 USD už neteisėtą SIM sukeitimą).
Operatorius perkelia aukos MSISDN telefono numerį į užpuoliko SIM kortelę. Aukos telefone akimirksniu dingsta mobilusis ryšys – rodoma „Nėra ryšio“ arba „Tik skubios pagalbos skambučiai“. Dauguma aukų mano, kad tai laikinas tinklo sutrikimas, taip prarasdamos kritinį 10 minučių reagavimo langą.
Turėdami kontroliuojamą telefono numerį, užpuolikai inicijuoja slaptažodžių nustatymą iš naujo „Gmail“, „Microsoft“, „Telegram“, Binance ir el. bankininkystės paskyrose. Kiekvienas gaunamas SMS OTP kodas atkeliauja tiesiai į užpuoliko telefoną, suteikdamas momentinę ir visišką paskyrų kontrolę.
- Jack Dorsey („Twitter“ generalinis direktorius): 2019 m. rugpjūtį programišiai taikėsi į AT&T saloną, kad atliktų Dorsey SIM kortelės sukeitimą, panaudodami užgrobtą telefono numerį įžeidžiantiems pranešimams skelbti per „Twitter“ senąją SMS siuntimo sąsają („Cloudhopper“).
- JAV Vertybinių popierių ir biržų komisijos (SEC) „X“ paskyra (2024 m.): Užpuolikai atliko neteisėtą SIM sukeitimą SEC oficialiam paskyros atkūrimo numeriui, melagingai paskelbdami apie „Spot Bitcoin ETF“ patvirtinimą ir sukeldami šimtų milijonų dolerių svertinių pozicijų likvidavimą pasaulinėse biržose.
03. 2-asis atakos vektorius: SS7 ir korinio ryšio protokolų išnaudojimas
Jeigu SIM sukeitimas remiasi žmogiškuoju faktoriumi, Signalizavimo sistemos Nr. 7 (SS7) pažeidžiamumai išnaudoja struktūrinius pasaulinio telekomunikacijų maršrutizavimo trūkumus.
Sukurta 1975 m., SS7 valdo skambučių sujungimą, numerių vertimą, SMS pristatymą ir tarptautinį tarptinklinį ryšį tarp šimtų telekomunikacijų operatorių visame pasaulyje. Kritinis trūkumas: SS7 buvo sukurta remiantis aklo pasitikėjimo modeliu – bet kuris telekomunikacijų tiekėjas, prisijungęs prie SS7 stuburo, laikomas patikimu ir autorizuotu.
Tai leidžia priešiškoms žvalgybos tarnyboms ar organizuotoms nusikalstamoms grupėms perimti bankinius ir kriptovaliutų OTP kodus kitoje valstybėje aukai visiškai nieko neįtariant. Net ir atnaujinus sistemas į LTE Diameter protokolą, atgalinis suderinamumas su senuoju SS7 protokolu sukuria nuolatinį pažeidžiamumą.
04. 3-iasis atakos vektorius: Realaus laiko AiTM sukčiavimas („Evilginx“ sistema)
Daugelis vartotojų klaidingai įsitikinę: „Jei mano SIM kortelė nebuvo sukeista, mano SMS kodai yra saugūs.“ Ši iliuzija žlunga susidūrus su moderniomis „Adversary-in-the-Middle“ (AiTM) atvirkštinių tarpinių serverių sistemomis, tokiomis kaip Evilginx 3.0, Modlishka ir Muraena.
Tradicinis duomenų viliojimas naudojo statines netikras prisijungimo formas. Šiandieniniai atvirkštiniai tarpiniai serveriai veikia kaip tiesioginiai tarpininkai realiuoju laiku:
Vagia statinius slaptažodžius. Iškart nepavyksta, jei įjungta 2FA, nes užpuolikas negali pakartotinai panaudoti pasibaigusio OTP kodo per 60 sekundžių galiojimo langą.
Tarpininkauja tiesioginiam srautui tarp vartotojo ir teisėto serverio. Kai vartotojas įveda savo SMS kodą, tarpinis serveris jį persiunčia akimirksniu, užbaigia autentifikavimą ir pavagia autentifikuotus sesijos slapukus (cookies) bei OAuth prieigos raktus (tokens).
login.example.com nuo login.examp1e.com. Priešingai, FIDO2/WebAuthn autentifikatoriai susieja viešojo rakto parašus tiesiogiai su naršyklės domeno URL adresu, akimirksniu sustabdydami sukčiavimo bandymus.
05. 4-asis atakos vektorius: IMSI gaudyklės ir „Android“ trojanai
Vietinių radijo dažnių ir galinių įrenginių lygiu SMS pranešimai susiduria su papildomais kritiniais pažeidžiamumais:
-
●
IMSI gaudyklės („Stingrays“) ir 2G perjungimo atakos: Neleistinos nešiojamosios bazinės stotys transliuoja stiprius signalus, priversdamos šalia esančius telefonus atsijungti nuo 4G/5G ir pereiti prie pasenusio 2G (GSM). Kadangi GSM netikrina bazinės stoties tapatumo mobiliajame telefone, užpuolikai išnaudoja pažeistus A5/1 šifrus, kad iššifruotų balso skambučius ir atviro teksto SMS kodus tiesiai eteryje.
-
●
„Android“ SMS pasiklausymo kenkėjiška programa: Apgaulingos programėlės reikalauja
android.permission.RECEIVE_SMSarbaBIND_NOTIFICATION_LISTENER_SERVICEteisių. Jas įdiegus, fone veikiančios tarnybos perima patvirtinimo kodus vos jiems atvykus, realiuoju laiku persiųsdamos juos per šifruotus „Telegram“ botus arba valdymo serverius.
06. NIST SP 800-63B atsisakymo gairės
Pripažindamas šiuos katastrofiškus atakos vektorius, JAV Nacionalinis standartų ir technologijų institutas (NIST) oficialiai apribojo SMS autentifikavimą savo pagrindinėse tapatybės gairėse Special Publication 800-63B (Digital Identity Guidelines: Authentication and Lifecycle Management):
„Užkanalis (out-of-band, OOB) autentifikavimas naudojant PSTN sistemas (SMS ar balso skambučius) yra oficialiai priskiriamas prie APRIBOTŲ (RESTRICTED). Sistemos, diegiančios SMS patvirtinimą, privalo aiškiai dokumentuoti ir prisiimti egzistencines SIM sukeitimo, numerio klastojimo, signalizavimo perėmimo ir įrenginio klonavimo rizikas. Organizacijoms, siekiančioms 2-ojo ar aukštesnio autentifikatoriaus užtikrinimo lygio (AAL2), griežtai reikalaujama naudoti kriptografinius daugiaveiksnius autentifikatorius (TOTP programėles arba aparatinės įrangos FIDO raktus).“
Europos saugumo agentūra (ENISA) ir JAV Kibernetinio saugumo ir infrastruktūros saugumo agentūra (CISA) pakartojo šią poziciją, nurodydamos įmonėms ir vyriausybinėms institucijoms ryžtingai šalinti SMS autentifikavimą iš ypatingos svarbos infrastruktūros.
07. Architektūrų dvikova: SMS prieš TOTP ir FIDO2
Kodėl laiku pagrįstas vienkartinis slaptažodis (RFC 6238 TOTP) iš esmės pranašesnis už SMS? Žemiau pateiktoje palyginimo matricoje išdėstytos architektūrinės saugumo savybės:
| Saugumo aspektas | SMS patvirtinimas | TOTP autentifikatorius (RFC 6238) | Aparatinis FIDO2 / YubiKey |
|---|---|---|---|
| Pristatymo kanalas | Ryšio operatoriaus mobilusis tinklas | 100 % vietinė kliento pusės matematika | Vietinis saugaus elemento lustas (Secure Element) |
| Atsparumas SIM sukeitimui | Nulinis (akimirksniu užgrobiama) | Imuni (visiškai nepriklauso nuo telefono numerio) | Imuni (izoliuota aparatinė įranga) |
| SS7 signalizavimo perėmimas | Pažeidžiama | Imuni (nulis tinklo paketų) | Imuni (nėra tinklo perdavimo) |
| IMSI gaudyklė / 2G perjungimas | Pažeidžiama | Imuni | Imuni |
| AiTM atvirkštinis tarpinis serveris (Evilginx) | Lengvai apeinama | Vidutinis (reikalingas atidumas) | Tobulas (domeno susiejimas) |
| Skrydžio režimas / Naudojimas neprisijungus | Nepasiekiama | Visiškai funkcionalu (reikia tik laiko žymos) | Visiškai funkcionalu |
| Diegimo kaina | Operatoriaus mokesčiai už kiekvieną SMS | Nemokamas ir atviras standartas | Aparatinis raktas (45–80 USD) |
08. Veiksmų planas ir saugios migracijos gairės
Nelaukite, kol jūsų telefono signalas paslaptingai dings. Atlikite šiuos konkrečius veiksmus šiandien:
Prisijunkite prie „Google“, „Apple ID“, „GitHub“, Binance, „Kraken“ ir pagrindinių el. pašto paslaugų teikėjų. Užregistruokite autentifikavimo programėlę (pvz., Aegis, 2FAS ar Bitwarden) arba aparatūros saugumo raktą. Jei leidžiama, griežtai išjunkite SMS kaip atsarginį atkūrimo metodą.
Susisiekite su ryšio operatoriumi („Telia“, „Tele2“, „Bitė“, AT&T, „Vodafone“ ir kt.) ir nustatykite privalomą numerio perkėlimo PIN kodą arba draudimą perkelti numerį be asmeninio vizito. Įjunkite SIM kortelės PIN kodą „iOS“ / „Android“ nustatymuose, kad pavogta fizinė SIM kortelė negalėtų būti įdėta į kitą telefoną.
Kaskart konfigūruodami autentifikatorių, išsaugokite pirminį 16 simbolių Base32 slaptąjį raktą neprisijungusioje fizinėje laikmenoje (popieriuje arba šifruotoje šaltojoje saugykloje) ir išsaugokite paskyros 10 vienkartinių avarinių atkūrimo kodų.
09. Dažniausiai užduodami klausimai (DUK)
1 klausimas: Ar SMS 2FA vis tiek nėra geriau nei visiškai jokia antrojo veiksnio apsauga? ▼
Paprastoms automatizuotoms botų atakoms, ieškančioms silpnų pakartotinai naudojamų slaptažodžių, SMS 2FA suteikia nominalią apsaugą. Tačiau SMS 2FA paradoksas yra tas, kad paslaugos vertina jūsų telefono numerį kaip neklystantį pagrindinį atkūrimo raktą. Jei taikinis užpuolikas sukeičia jūsų SIM kortelę, SMS nustoja būti gynyba ir tampa ginklu, naudojamu kiekvienam jūsų slaptažodžiui anuliuoti.
2 klausimas: Ar eSIM naudojimas apsaugo mane nuo SIM sukeitimo? ▼
Ne. eSIM apsaugo nuo fizinės kortelės vagystės, tačiau neapsaugo nuo socialinės inžinerijos. Užpuolikai, įtikinę operatoriaus atstovą perregistruoti jūsų numerį, tiesiog gauna elektroninį eSIM QR kodą ir per kelias sekundes atsisiunčia jūsų numerį į savo įrenginį internetu.
3 klausimas: Kodėl mažmeniniai bankai vis dar reikalauja SMS patvirtinimo? ▼
Dėl demografinės inercijos ir klientų aptarnavimo kaštų. Priversti milijonus techniškai nepasirengusių banko klientų naudotis autentifikavimo programėlėmis perpildytų skambučių centrus. Vietoj to bankai kasmet prisiima šimtus milijonų dolerių nuostolių dėl sukčiavimo, pasikliaudami užkulisiniais rizikos modeliais (pvz., tikrindami ryšio operatorių bazėse, ar SIM kortelė nebuvo pakeista per pastarąsias 24 valandas).
4 klausimas: Ką daryti nedelsiant, jei mano išmaniajame telefone rodoma „Nėra ryšio“? ▼
Vertinkite tai kaip kritinį saugumo incidentą. Nedelsdami prisijunkite prie patikimo „Wi-Fi“, paskambinkite savo ryšio operatoriui iš kito įrenginio ar laidinio telefono ir pasiteiraukite, ar jūsų numeris nebuvo perkeltas. Tuo pat metu įšaldykite savo kriptovaliutų biržų paskyras ir pakeiskite pagrindinių el. pašto paskyrų slaptažodžius iš stacionaraus kompiuterio.
5 klausimas: Ar užpuolikas, sukeitęs mano SIM kortelę, gali pakenkti mano TOTP autentifikatoriui? ▼
Ne. Autentifikavimo programėlės kodus apskaičiuoja vietoje, naudodamos iš anksto bendrinamą kriptografinį raktą, saugomą jūsų įrenginio izoliuotoje aparatūros saugykloje (keystore). Mobiliojo ryšio tinklas neturi jokios prieigos prie šio rakto. Net jei užpuolikas visiškai valdo jūsų telefono numerį, jis negali sugeneruoti jūsų TOTP kodų.
Generuokite saugius TOTP kodus tiesiogiai savo naršyklėje
Atsisveikinkite su korinio ryšio perėmimo rizika. 2FA-Tool naudoja W3C Web Crypto API, kad generuotų RFC 6238 kodus grynai jūsų vietinėje naršyklės izoliuotoje aplinkoje (sandbox), išlaikant jūsų raktus visiškai privačius ir neprisijungusius prie tinklo.