it-swarm-eu.dev

Jak těžké je zachytit SMS (dvoufaktorové ověření)?

Mnoho mechanismů dvoufaktorové autentizace používá SMS k doručování jednorázové přístupové fráze uživateli. Jak je tedy bezpečné? Je těžké zachytit SMS) = zpráva obsahující přístupové heslo? Používají mobilní sítě nějaký druh šifrování na SMS?

Našel jsem zajímavý článek týkající se dvoufaktorové autentizace a způsobů, jak by mohl být napaden:

http://www.schneier.com/blog/archives/2012/02/the_failure_of_2.html

121

GSM zahrnuje určitou ochranu pomocí kryptografie. Mobilní telefon a poskytovatel (tj. Základnová stanice, která je součástí sítě poskytovatele) se navzájem autentizují relativně ke sdílenému tajemství, které je poskytovateli známé a uloženo na SIM kartě uživatele. Do ověřování jsou zapojeny některé algoritmy známé pod kódovými názvy „A3“ a „A8“. Poté jsou data (jak byla odeslána prostřednictvím rádiového spojení) šifrována pomocí algoritmu nazývaného „A5“ a klíčem odvozeným od A3/A8 a sdíleného tajemství.

Existuje několik skutečných algoritmů, které se skrývají pod názvem „A5“. Jaký algoritmus se používá, záleží na poskytovateli, který je zase omezen místními předpisy a na co by mohl licencovat konsorcium GSM. Aktivní útočník (s falešnou základnovou stanicí) může také nutit mobilní telefon, aby používal jinou variantu, odlišnou od toho, co by použil jinak, a není mnoho telefonů, které by na něj uživatele upozornily (a dokonce i méně uživatelů) koho by to zajímalo).

  • A5/0 znamená „žádné šifrování“. Data jsou odesílána nešifrovaná. V některých zemích je to jediný povolený režim (myslím, že Indie je taková země).
  • A5/1 je starý „silný“ algoritmus používaný v Evropě a Severní Americe.
  • A5/2 je starý „slabý“ algoritmus, nominálně určený pro „ty země, které jsou dobří přátelé, ale přesto přesto úplně nedůvěřujeme“ ( není specifikován tímto způsobem ve specifikacích GSM, ale to je myšlenka).
  • A5/3 je novější algoritmus pro GPRS/UMTS.

A5/3 je bloková šifra známá také jako KASUMI . Nabízí slušné zabezpečení. Má několik nedostatků, díky nimž by bylo „akademicky zlomené“, ale v praxi to není vůbec možné.

A5/2 je opravdu slabý, jak je popsáno v tato zpráva . Útok vyžaduje zlomek vteřiny, podléhá předběžnému zpracování, které na PC trvá méně než hodinu a vyžaduje několik gigabajtů úložiště (ne moc). Existují technické podrobnosti, většinou proto, že samotný protokol GSM je složitý, ale lze předpokládat, že vrstva A5/2 je rozbitná.

A5/1 je silnější, ale ne příliš silný. Používá 64bitový klíč, ale struktura algoritmu je slabší a umožňuje útok se složitostí asi 242.7 elementární operace (viz tento článek , který jsem napsal před 12 lety). Existuje několik publikací, které tuto složitost obracejí, většinou prováděním předběžných výpočtů a čekáním, až vnitřní stav algoritmu dosáhne konkrétní struktury; ačkoli takové publikace inzerují mírně nižší čísla složitosti (kolem 2)40), mají nevýhody, které je činí obtížně použitelnými, například vyžadují tisíce známých bitů prostého textu. S pouze 64 známými bity prostého textu je hrubá složitost 242.7. Nesnažil jsem se ji implementovat po desetiletí, takže si lze představit, že by ji moderní PC provozovalo rychleji než pracovní stanice, kterou jsem tehdy používal; jako hrubý odhad, čtyřjádrové PC s důkladně optimalizovaným kódem by mělo být schopno ho rozbít za jednu hodinu.

Velikost vnitřního stavu A5/1 a způsob, jakým je A5/1 použito pro šifrování dat, je také činí náchylnými k kompromisům v časové paměti, jako je Rainbow tables . Znovu viz článek Barkan-Biham-Keller. To předpokládá, že útočník provedl jednou skutečně masivní výpočet a uložil terabajty dat; poté může být online fáze útoku poměrně rychlá. Podrobnosti velmi docela, v závislosti na tom, kolik máte úložného prostoru, kolik výkonu CPU je k dispozici pro online fázi a jak dlouho jste připraveni čekat na výsledek. Počáteční fáze výpočtu je obrovská, ale technologicky proveditelná (stačilo by tisíc počítačů); tam byl otevřený distribuovaný projekt na to , ale nevím, jak daleko šli.

Zachytávání SMS je stále specifickým scénářem. Nejedná se o úplný hlasový rozhovor; skutečné množství vyměněných dat je malé a spojení je po poměrně krátké době ukončeno. To může omezit použitelnost výše uvedených útoků. Navíc musí být útok rychlý: cílem útoku je chytit tajné heslo zaslané jako SMS, aby jej útočník mohl použít před běžným uživatelem. Útočník musí být rychlý:

  • Server na toto heslo obvykle použije krátký časový limit, například několik minut. SMS přenos má být otázkou několika sekund).
  • Uživatel není trpělivý (uživatelé nikdy nejsou). Pokud nedostane své SMS do pěti minut), pravděpodobně si vyžádá nové a promyšlený dvoufaktorový ověřovací systém na serveru by pak zneplatnil předchozí jednorázové heslo. .

Útočník je pro útočníka jednodušší, pokud již zlomil první ověřovací faktor (proto používáme dvoufaktorové ověřování: protože jeden nestačí). V takovém případě může útočník iniciovat žádost o autentizaci, zatímco cílový uživatel o tom blaženě nevědí, a proto pravděpodobně nebude vydávat žádný poplach, pokud neobdrží SMS, nebo, dvojitě, pokud obdrží nechtěné SMS (útočník může útok provést pozdě v noci; napadený uživatel najde neoprávněného SMS pouze ráno, když se probudí a dá útočníkovi několik hodin) uzákonit jeho zloby).

GSM šifrování je pouze pro rádiové spojení. Ve všech výše uvedených jsme se soustředili na útočníka, který odposlouchává data, jak je odesílána mezi mobilním telefonem a základna. Potřebné rádiové vybavení se zdá být k dispozici mimo-shelf , a je snadné si představit, že tento scénář je použitelný v praxi. SMS) však nejede pouze ze základny na mobilní telefon, ale jeho úplná cesta začíná u zařízení serveru, poté prochází internetem a poté sítí poskytovatele, dokud nedosáhne základnové stanice - a teprve v tomto okamžiku je šifrována pomocí jakékoli použité varianty A5.

Jak jsou data zabezpečena v rámci sítě poskytovatele a mezi poskytovatelem a serverem, který má být zaslán SMS), je mimo rozsah specifikace GSM. Takže cokoli jde. Každopádně, pokud Útočník je poskytovatelem, ztratíte. Agentury činné v trestním řízení, když chtějí odposlouchávat lidi, obvykle to kladou pěkně poskytovatelům, kteří vždy vyhovují. Proto droga kartely, zejména v Mexiku a Kolumbii, mají tendenci budovat jejich vlastní buněčné sítě .

104
Thomas Pornin

Síť GSM je šifrována . Ale to neznamená, že je to neprůstřelný důkaz. Může to být ohroženo. Popsané útoky Rook (a později podrobněji Thomas Pornin) jsou však velmi lokalizované a vyžadují značné úsilí. Nejsou to nemožné, ale velmi obtížné. Vyžaduje přerušení sítě GSM v blízkosti mobilního telefonu současně s odesláním SMS. Existuje také možnost, že někdo u provozovatele sítě zachytí SMS. Pokud mluvíme o scénářích národní bezpečnosti/špionáže, kde je zaměřena konkrétní osoba a útočníci mají velmi sofistikované prostředky a spoustu peněz, které mohou utratit, je to určitě možné. Totéž platí pro získání počátečních hodnot od vašeho poskytovatele hardwarových tokenů.

I když je tento útok SMS úspěšný, může také vyžadovat získání uživatelského jména a hesla (za předpokladu, že SMS není jedinou metodou autentizace, ale spíše druhou součástí). Existují i ​​jiné alternativy, kde uživatel iniciuje zprávu SMS na server a server může zkontrolovat, zda vyhovuje požadované výzvě/tokenu. Server může také ověřit ID volajícího původce. To samozřejmě má také svá omezení, ale pokud se to povede správně, může teoreticky poskytnout trochu více ochrany.

Pokud je, jako ve většině případů, myšlenka zlepšit zabezpečení nabízením dvoufaktorové autentizace, pak přidání SMS do mixu dramaticky zlepší oproti standardnímu uživatelskému jménu/heslu. Skutečnost, že používáte dva oddělené komunikační kanály (TCP/IP a GSM), ji činí již bezpečnější. Jako velmi hrubý osobní odhad bych řekl, že tokeny SMS jsou víceméně na úrovni hardwarových tokenů. Bůh (nebo ďábel) je samozřejmě v detailu.

14
Yoav Aner

Zatímco diskuse o šifrování jsou zajímavé, myslím si, že klíčovou otázkou je: Jsou dopravci motivováni, aby se starali o bezpečnost? Obávám se, že odpověď zní „ne“. Jaká je jejich motivace utrácet peníze na zabezpečení jejich SMS=) systémů? Spravují je dokonce nebo jsou zajišťovány externě? Jaké záruky bezpečnosti nabízejí? Jak důvěřujete lidem spravujícím servery?

Dále o tomto: Pokud máte 100 milionů zákazníků a ztěžujete resetování hesla, volání na helpdesk by prošlo střechou. Z tohoto důvodu může být tak snadné převzít něčí účet.

Navíc, jak vidíte v rámci Certifikační autority, bude cílem útoku infrastruktura SMS).

Nedávno jsem napsal blogový příspěvek o shrnutí těchto bodů s odkazy: http://www.wikidsystems.com/WiKIDBlog/fraudsters-defeat-poor-risk-management-not-two-factor-authentication . Z hlediska řízení rizik SMS auth je lepší než hesla, ale na to se dlouho nespoléhejte. Současné útoky se zaměřují na finanční instituce, ale s poklesem nákladů na útoky dojde více.

9
nowen

Vícefaktorový bezpečnostní systém je bezcenné, pokud má služba běžné chyby zabezpečení, jako je XSS, SQL Injection nebo nedostatečná ochrana transportní vrstvy . Tyto nedostatky mohou vést k ohrožení účtu nebo informací bez ohledu na používaný ověřovací systém.

Jak již bylo řečeno, pokud jste fyzicky blízko oběti, můžete provádět velmi ošklivé útoky. Například pokud vaše oběť používá GSM operátora, pak může útočník rozbít GSM duhovým stolem a zachytit zprávu SMS). Pokud ovládáte síť své oběti, pak byste mohli k útoku na přihlašovací portál HTTP použijte nástroj jako SSLStrip nebo SSLSniff .

"Pamatujte si mě" je zlo . Některé implementace SMS mutulti-factor Authentication (Like Google's)) vám umožňují požehnat zařízení po dobu 30 dnů. Jedná se pouze o trvalý soubor cookie, který funguje jako ověřovací token po dobu 30 dnů. Pokud jste vlastnili na vašem počítači obětí, pak můžete tento soubor cookie získat a použít k ověření. Neexistuje způsob, jak bezpečně implementovat funkci „Zapamatovat si mě“.

Hardwarové kryptografické tokeny jsou mnohem složitější. Toto je opravdu krok od SMS, protože je to token, který máte, a mělo by být obtížné kompromisovat. To platí z velké části, pokud ovšem nepoužíváte hardwarové tokeny RSA .

6
rook

Ostatní odpovědi již vysvětlují bezpečnost GSM a technologií souvisejících s technickými útoky.

Existuje však řada dalších útoků, které obcházejí technické ochrany.

Článek v německé Wikipedii o číslech autentizace transakcí (které jsou často zasílány pomocí SMS) uvádí některé útoky:

  • krást nebo kradmo přistupovat k mobilnímu telefonu oběti
  • instalace malwaru do mobilního telefonu, zejména pokud se jedná o smartphone
  • zasvěcené útoky na poskytovatele mobilních služeb
  • pomocí sociálního inženýrství k obcházení systému, například:
    • získání přístupu ke zprávám
    • získání nové SIM karty od poskytovatele služeb
    • přenesení telefonního čísla na jiný účet

Například v roce 2015 došlo v Německu k řadě podvodných převodů peněz, kdy podvodníci získali novou SIM kartu pod jménem zákazníka. K podobným útokům došlo dříve, a proto poskytovatelé mobilních telefonů vylepšili ověřování zákazníků, kteří si objednávají nové SIM karty. Abychom tomu zabránili, podvodníci před voláním poskytovatele telefonních služeb vydávali zaměstnance z obchodu s mobilními telefony a tvrdili, že aktivují SIM karty jménem zákazníků (Zdroj [němčina]: Online-bankovnictví: Neue Angriffe auf die mTAN ).

Je zřejmé, že všechny technické ochrany jsou zbytečné, pokud se útočníkovi podaří je obejít.

6
sleske

V poslední době mnoho aplikací pro mobilní telefony požaduje přístup ke zprávám SMS a uživatelé to umožňují, protože se zajímají o aplikaci. Tím je útok méně obtížný než zachycení SMS v mobilních sítích.

3
AdnanG

Vím, že to přímo neodpovídá na vaši otázku, ale doufám, že se to týká některých obav:

Pokud je implementace provedena správně, nemám velké obavy o SMS zachycení. Je to proto, že jednorázové SMS autentizátoři nabízejí skvělou příležitost pro skutečné - upozornění na možné útoky. Pokud je autentizátor zachycen , je velmi pravděpodobné, že o tom budete okamžitě informováni a rychle budete moci reagovat.

Pokud je během ověřovací relace, kterou jste se pokusili zahájit, zachyceno SMS), mělo by dojít k jedné ze dvou věcí:

  • Pokud se nejprve úspěšně autentizujete, pokus útočníka by měl selhat. Je to proto, že systém by měl odmítnout pokusy o opětovné použití autentizátoru. V této situaci je útok zcela zmařen.

  • Pokud se útočníkovi podaří autentizovat jako první, měl by váš pokus o ověření selhat kvůli opětovnému použití autentizátoru. Systém by vás také měl informovat, že toto je důvod selhání. V tuto chvíli byste měli podniknout veškeré kroky, které jsou nutné k zajištění vašeho účtu. Schopnost tak rychle učinit omezí potenciální dopad útoku.

Pokud se útočník pokusí o zahájení autentizace, i když nejste, měli byste být upozorněni tím, že obdržíte SMS, o který jste nepožádali). Existuje jen několik praktických prostředků, kterými by někdo mohl tajně skrýt zachytit SMS zaslané na váš telefon bez , které také obdržíte, nebo si brzy všimnete něčeho jiného, ​​co je v pořádku.

To vše je stejně vykresleno, pokud jste vystaveni útoku Man-in-the-Browser .

Protože většina implementací autentizace SMS) používá autentizaci SMS autentizátor jako sekunda faktor, opravdu bych se více zajímal o to, jak byl první autentizační faktor kompromitován. nebo OS, které vedly ke keyloggeru ve vašem systému. Není tedy mnoho kroků od situace Man-in-the-Browser, která efektivně vede k úplnému kompromisu bez ohledu na vaši metodu ověřování.

2
Iszi

Zdá se, že každému (i Schneierovi) chybí klíčový kus:

Pokud je váš telefon ztracen/odcizen, , už jste toastovali , protože je v něm vaše SIM karta!

Je pro mě udivující, že se zdá, že si to nikdo nevšiml, pokud to můžu říct, ale SMS trpí skutečností, že to nevyžaduje, abyste měli dokonce přístup k datům na tvůj telefon.

I když telekomunikační komunikace byla šifrována a i když váš telefon je uzamčen a šifrován, pokud máte povoleno SMS nebo ověřování založené na volání a váš telefon je odcizen, jste úplně toast do doby, kdy se vám podaří najít způsob, jak přimět svého poskytovatele k deaktivaci SIM karty (a nahlásit se donucovacím orgánům atd.) Útočník doslova potřebuje méně než 1 minutu vyjměte SIM kartu a vložte ji do jiného telefonu, abyste dostali textovou zprávu, takže v době, kdy se vám podaří problém nahlásit, měl téměř jistě šanci to zkusit tucetkrát a pak vypnout telefon, nebo jej prostě vložte zpět, aby ho nebylo možné sledovat.

Vaše pouze štěstí zde při použití SMS= 2FA je, pokud útočník nezná vaše živatelské jméno nebo je vaše SIM karta bezpečně uzamčena proti použití v jiném telefonu:

  1. Pokud byl váš telefon zapnutý, když byl ztracen nebo odcizen, je pravděpodobné, že je napsán někde na přihlašovací obrazovce, nebo se někdy objeví jako upozornění.

  2. Pokud jste se právě přepašovali a podařilo se vám vypnout telefon, vaše identifikační číslo nebo kreditní karta pravděpodobně šla s vaším telefonem. V takovém případě vaše uživatelské jméno nebo e-mail pravděpodobně není tak těžké uhodnout nebo najít na Googlu. Pokud byl váš telefon zapnutý, riziko (1) je i nadále rizikem.

  3. Pokud by vás útočník věděl , pak jste téměř určitě přípitek.
    Jako byste řekli, že necháte telefon na stole, když jste na oběda, a někdo přijde vyměnit SIM kartu, získat SMS a vyměnit ji zpět. Trvalo by jen pár minut, pokud by se nikdo nedíval.

Takže i když si můžete dělat starosti s tím, že se někdo snaží zachytit vaši komunikaci se Stingrayovým aparátem nebo infiltrováním zařízení vašeho telefonního operátora, realitou je, že člověk ve středu není skutečné riziko pro většinu lidí. Skutečné riziko je v koncový bod - tj. vy. Ztratte telefon a ověření založené na telefonních hovorech a SMS se zcela obrátí proti vám bez ohledu na to, jak silná jsou vaše hesla nebo šifrování.

1
user541686