2022 m. rugsėjį užpuolikas, nusipirkęs „Uber“ rangovo slaptažodį, vėl ir vėl bandė prisijungti. Kiekvienas bandymas rangovui siuntė dviejų veiksnių patvirtinimo užklausą. Pirmosios užpuoliką sustabdė. Tada viena buvo patvirtinta, ir užpuolikas pateko į vidų („Uber“ saugumo pranešimas). Mėnesiu anksčiau „Cisco“ aprašė tą patį scenarijų, įvykusį per įsilaužimą į jos pačios sistemas: skambučiai iš asmens, apsimetančio pagalbos tarnybos darbuotoju, ir nesibaigiantis push pranešimų srautas, kol darbuotojas vieną iš jų patvirtino („Cisco Talos“).
Abi bendrovės turėjo įjungtą daugiafaktorę autentifikaciją. Užpuolikai neišlaužė antro veiksnio; jie jį apėjo, pasitelkę metodus, kurie veikia kaip tik todėl, kad įdiegta MFA reikalauja iš pavargusio žmogaus priimti saugumo sprendimą pačiu netinkamiausiu momentu.
Jeigu jūsų MFA yra SMS kodas arba vieno bakstelėjimo „Patvirtinti?“ pranešimas, tai verta dešimties minučių jūsų dėmesio. Būtent šiuos du metodus užpuolikai dabar planuoja apeiti – šie metodai jų nebesustabdo.
Trys atakos, kurios įveikia „šiokią tokią MFA“
- Push užtvindymas (MFA nuovargis, MFA bombing, 2FA bombing). Užpuolikas slaptažodį jau turi (iš nutekėjusios duomenų bazės, suktybės ar pakartotinio naudojimo). Jis vėl ir vėl bando prisijungti, siųsdamas į naudotojo telefoną nesibaigiantį patvirtinimo pranešimų srautą, kol galiausiai kas nors, iš sumaišties arba tiesiog norėdamas, kad tai liautųsi, bakstelėja Patvirtinti. Vienas bakstelėjimas – ir užpuolikas viduje.
- SIM apkeitimas. SMS niekada nebuvo sukurta kaip saugumo kanalas. Užpuolikas, kuris įtikina (arba papirkia) mobiliojo ryšio operatorių perkelti numerį į naują SIM kortelę, gauna visus jam siunčiamus vienkartinius kodus. Jokio kenkėjiško kodo, jokio suktybių puslapio – tik skambutis į klientų aptarnavimo liniją.
- Tarpininko ataka (adversary-in-the-middle, AiTM). Įtikinamas netikras prisijungimo puslapis realiu laiku persiunčia užklausas tikrajam. Auka įveda slaptažodį, tikroji sistema paprašo antro veiksnio, ir auka jį pateikia, nes ji iš tikrųjų bando prisijungti. Užpuoliko tarpinis serveris pasisavina gautą seansą. MFA „suveikė“. Paskyra vis tiek prarasta.
JAV kibernetinio saugumo agentūra CISA savo rekomendacijose įvardija visas tris atakas ir nubrėžia aiškią ribą: atspariomis suktybėms laikomos tik FIDO/WebAuthn ir viešojo rakto (PKI) autentifikacija, nes raktas susietas su tikrosios svetainės adresu ir netikras, į ją panašus puslapis jo panaudoti negali. Push patvirtinimo, net ir su skaičių sutapdinimu, šiame sąraše nėra (CISA informacinis lapas).
Kas sustabdo kiekvieną iš jų
Šių atakų silpnosios vietos skiriasi, todėl verta tiksliai įvardyti, kas ką įveikia.
- SIM apkeitimas ir kodų perėmimas: atsisakykite kodo. Jeigu naudotojo raktas sugeneruojamas telefono saugioje aparatinėje įrangoje ir jos niekada nepalieka, nėra jokios bendros paslapties duomenų bazėje ir nieko, kas atkeliautų per SMS. Nėra ką perimti, o telefono numerio perkėlimas neperkelia nieko, ką užpuolikas galėtų panaudoti.
- Push užtvindymas: leiskite naudotojui perskaityti, ką jis patvirtina. Kai užklausa jau pasiekia telefoną, nei raktas, nei biometrija nebepadeda, nes ataka tiesiog prašo naudotojo pasakyti „taip“. Biometrija tik patvirtina, kad bakstelėja telefono savininkas, bet ne tai, kad prisijungimas teisėtas. Padeda užklausa, kurioje pateiktas konkretus, aiškiai perskaitomas aprašymas, kas tiksliai patvirtinama: kokia paslauga, koks veiksmas, iš kur. Pranešimas, kurio naudotojas neinicijavo, iš karto atrodo svetimas, tad jis jį atmeta. Užklausų galiojimo terminas ir ribojimas, kaip dažnai galima sukelti pranešimus, atima iš atakos kiekį, kuriuo ji remiasi.
- Tarpininko ataka: vien patvirtinimas jos nesustabdo. Šiuo atveju naudotojas nėra apgaule priverčiamas patvirtinti svetimo prisijungimo. Jis patvirtina savo paties prisijungimą, tik ne toje svetainėje. Padeda parodyti, iš kur atėjo užklausa: jeigu patvirtinime nurodytas adresas, iš kurio atėjo prisijungimas, tarpinis serveris kitoje šalyje krenta į akis atidžiam naudotojui. Tai padidina atakos kainą, bet nepadaro jos neįmanomos. Kai grėsmių modelis reikalauja atsparumo suktybėms griežtąja prasme, atsakymas yra prie svetainės susieti FIDO raktai kartu su trumpa seansų trukme ir prisijungimo politikomis, ribojančiomis, kur seansus galima naudoti.
Būtent tuo skiriasi MFA, kurios apėjimą užpuolikas jau yra suprogramavęs, nuo MFA, kuri kiekvieną iš šių atakų padaro matomą arba beprasmę.
Kaip čia įsipina Notakey
Notakey atsisako kodo ir kiekvieną patvirtinimą padaro perskaitomą.
- Naudotojo raktas sugeneruojamas telefono saugioje aparatinėje įrangoje ir jos niekada nepalieka. Nėra SMS, kurią būtų galima perimti, ir nėra kodo, kurį būtų galima perduoti.
- Pranešimas tėra durų skambutis. Kai naudotojas atidaro programėlę, ji per HTTPS parsisiunčia patvirtinimo kortelę iš serverio, kuriame buvo užregistruota, tad tai, ką naudotojas skaito, ateina iš jūsų serverio, o ne iš pranešimo, ir jo parašas apima būtent tą užklausą.
- Nuo push užtvindymo gina tai, ką naudotojas perskaito: kortelėje matyti, kokia paslauga prašo ir kas tvirtinama, tad niekieno neinicijuotas pranešimas iš karto krenta į akis ir yra atmetamas. Užklausų galiojimas baigiasi, o įmontuotas ribotuvas nustato, kaip dažnai jas galima sukelti, tad pranešimų srautas, kuriuo remiasi ataka, nutraukiamas.
- Tarpininko atakos atveju serverį galima sukonfigūruoti taip, kad kortelėje būtų rodomas užklausos šaltinio IP adresas, paslaugos pavadinimas arba URL, tad naudotojas mato, iš kur prisijungimas iš tikrųjų ateina. Daugiau nei tiek neteigsime: tai padaro tarpinį serverį matomą atidžiam naudotojui, bet nepadaro atakos neįmanomos.
- Apsauga apima būtent tuos kelius, kuriais užpuolikai iš tikrųjų naudojasi; žr. praktinius vadovus: 2FA VPN’ui per RADIUS, „Windows“ nuotolinis darbalaukis ir „Linux“ SSH.
Įsitikinkite patys
Greičiausias būdas pajusti skirtumą yra patvirtinti operaciją, kurią iš tikrųjų galite perskaityti: konkretų veiksmą, pasirašytą jūsų pačių telefone, o ne pranešimą be jokio konteksto.
Išbandykite tiesioginę demonstraciją ir pasirašykite vieną maždaug per dvi minutes arba užsisakykite demonstraciją, ir mes priderinsime jūsų VPN, SSO ar „Windows“ prisijungimus prie bandomojo diegimo jūsų pačių infrastruktūroje.