Seadme koodivoog — ründevektor, mis möödub MFA-st

Miks see teema on oluline

2025. aasta veebruaris avaldas Microsoft Threat Intelligence hoiatuse: Venemaaga seotud ründegrupp Storm-2372 kasutab organisatsioonide kompromiteerimiseks seadme koodivogu (device code flow) — Microsofti enda legitiimset autentimisprotokolli.

See ei ole tavaline õngitsus. Ohver ei sisesta parooli võltslehele — ta autendib end ise läbi õige Microsofti platvormi, läbib MFA ja annab teadmatult ründajale kehtiva sessiooni. Viirusetõrje ei reageeri, sest midagi pahatahtlikku ei käivitu.

2025. aasta teises pooles levis tehnika riiklikelt ründegruppidelt tavakurjategijateni — vajalikud tööriistad on avalikult kättesaadavad ja rünnaku läbiviimine ei nõua erioskusi. Kui sinu organisatsioon kasutab Microsoft 365 keskkonda, on mõistlik see ründevektor läbi mõelda ja sulgeda.


Kuidas rünnak töötab

Seadme koodivoog (RFC 8628) loodi seadmetele, millel pole klaviatuuri: nutitelerid, mängukonsoolid, IoT-seadmed. Kasutaja avab oma arvutis brauseri, sisestab koodi aadressil microsoft.com/devicelogin ja seade saab ligipääsu tema kontole. Sarnane lahendus võib olla paljudele tuttav nutiteleri kaudu YouTube’i sisse logides.

Ründaja kasutab sama mehhanismi — ainult et koodi ei taotle nutiteler, vaid ründaja ise.

Tüüpiline stsenaarium:

  1. Ründaja võtab ohvriga ühendust e-kirja, Teams-sõnumi, WhatsAppi või Signali kaudu — sageli kellegi tuttava nime alt.

  2. Sõnumis on kutse koosolekule või jagatud dokumendile, koos koodiga.

  3. Ohver avab microsoft.com/devicelogin — Microsofti pärisleht, mitte võltsing.

  4. Ohver sisestab koodi ja läbib MFA.

  5. Ründaja saab kehtiva access token’i ja refresh token’i. MFA’d ei ole ründajal enam vaja.

Miks see nii hästi töötab?

Esiteks — ohver suhtleb kogu autentimise ajal ainult Microsofti enda leheküljega. Sertifikaat on õige, URL on õige, MFA-päring tuleb õigest rakendusest. Inimese jaoks pole ühtegi tavapärast hoiatusmärki.

Teiseks — refresh token annab ründajale pikaajalise ligipääsu. Vaikimisi kehtib see kuni 90 päeva ja võimaldab pääseda ligi ohvri meilidele, SharePointi failidele, Teamsi vestlustele ja kõigile ühendatud rakendustele — ilma et ründaja peaks uuesti autentima. Peale olukorra tuvastamist ning reageerides ei aita üksi ka parooli vahetamine, sest ründajal on token, mitte parool.


Kaitsemeetmed prioriteedi järgi

1. Blokeeri seadme koodivoog Conditional Access poliitikaga

Kõige tõhusam meede. Enamik organisatsioone ei vaja seadme koodivogu üldse — kui te ei kasuta sisselogimiseks klaviatuurita seadmeid, saab selle täielikult blokeerida.

Conditional Access poliitikates saab autentimisvoogude tingimustes seadme koodivoo keelata. Täpse seadistuse leiad Microsofti dokumentatsioonist.

NB! Conditional Access nõuab Entra ID P1 litsentsi. Vt litsentside ülevaadet allpool.

2. Piira OAuth rakenduste volitamine

Keela kasutajatel ise kolmanda osapoole rakendusi volitada (admin consent required). Isegi kui ründaja saab tokeni, takistab see ründaja loodud rakenduste ligipääsu organisatsiooni andmetele.

3. Lülita sisse riskipõhine blokeerimine

Entra ID Identity Protection tuvastab anomaaliaid — sisselogimist tundmatust asukohast, „impossible travel” mustreid — ja peatab kahtlased sessioonid automaatselt.

NB! Identity Protection nõuab Entra ID P2 litsentsi. Vt litsentside ülevaadet allpool.

4. Kaalu õngitsuskindlat MFA-d

FIDO2 riistvaravõtmed (nt YubiKey) või passkey ei blokeeri otseselt seadme koodivoo rünnakut, sest ohver autendib end ise. Küll aga sulgevad need teised ründevektorid, mis samuti tavapärasest MFA-st mööda lähevad — adversary-in-the-middle ja muud token’i varguse tehnikad.

5. Teadlikkus

Lihtsaim meede: seadmekoodi sisestab ainult see, kes ise selle protsessi algatas. Kui keegi saadab koodi koos palvega see sisestada — see on punane lipp, olenemata saatjast.


Litsentside ülevaade

Tihti kuulen küsimust: „Kas meie litsents seda üldse võimaldab?”

KaitsemeedeVajalik litsentsHind (u)
Conditional Access (seadme koodivoo blokeerimine)Entra ID P1 (M365 Business Premium sisaldab)~6 €/kasutaja/kuu eraldi
Identity Protection (riskipõhine blokeerimine)Entra ID P2~9 €/kasutaja/kuu eraldi
Defender for Office 365 (täiustatud meilifiltrid)M365 Business Premium~22 €/kasutaja/kuu komplektis
Põhiline MFAKõik M365 litsentsid0

Praktiline soovitus: Business Basic ja Standard litsentsid ei sisalda Conditional Access’i. Kaks lähenemist:

  1. Tõstke kõik kasutajad Business Premium’ile — mõistlik kuni ~300 kasutajat.

  2. Ostke Entra ID P1 eraldi kõrgeima riskiga kontodele — administraatorid, juhid, raamatupidajad.

Conditional Access on väga tõhus kaitsemeede, kui on õigesti rakendatud. Rakenda vähemalt kriitilisematele kasutajatele.


Kuidas avastada võimalikku kompromiteerimist

Entra ID sisselogimislogid — filtreeri autentimisprotokoll „Device code” järgi. Ettevõtete kontekstis väärib iga selline kirje tähelepanu, eriti kui pärineb tundmatult IP-aadressilt või asukohast. „Impossible travel” märgistega sündmused — näiteks Tallinn kell 9.00, Moskva kell 9.05 — on üheselt kahtlased.

OAuth rakenduste volitused — kontrolli Enterprise applications loendist, kas seal on rakendusi, mida keegi pole teadlikult volitanud. Ründajad loovad sageli OAuth rakenduse, mis hoiab ligipääsu ka pärast parooli vahetust.

Microsoft Purview Audit logib autentimissündmused organisatsiooni tasemel. Täpsed otsingufiltrid muutuvad aeg-ajalt — kontrolli alati Microsofti kehtivat dokumentatsiooni.


Reageerimine kompromiteerimisele

Kiirus loeb — refresh token annab ründajale pideva ligipääsu.

  1. Tühista kasutaja kõik sessioonid — Entra ID → Users → Revoke sessions.

  2. Eemalda kahtlaste OAuth rakenduste volitused.

  3. Vaheta parool ja sunni kõik seansid lõppema.

  4. Kaardista mõjuulatus — millised meilid, failid ja sõnumid olid ligipääsetavad?

  5. Kaasa spetsialist — mõjuulatuse hindamine ja juurpõhjuse analüüs nõuab kogemust.


Kokkuvõte

Seadme koodivoo rünnak kasutab Microsofti enda legitiimset protokolli ja möödub MFA-st, sest ohver autendib end ise. Tehnika on lihtsalt teostatav, raskesti avastatav ja annab ründajale pikaajalise ligipääsu.

Kolm prioriteeti:

  1. Blokeeri seadme koodivoog Conditional Access poliitikaga — see eemaldab ründevektori.

  2. Piira OAuth volitamine — see takistab ligipääsu kuritarvitamist.

  3. Kontrolli logisid — vaata, kas seadme koodivoo autentimist on teie keskkonnas esinenud.

Kui soovid hinnata, kas sinu organisatsioon on selle ründevektori suhtes haavatav, või vajad abi Conditional Access poliitikate ülevaatamisel — võta ühendust. Aitan luua selguse ja seada õiged kaitsemeetmed.