Microsoft oluja sa pristupnim ključevima
Kompanija Microsoft je objavila 16. jula 2023. godine da je otkrila kineske hakere koji su provalili u naloge elektronske pošte više od dvadesetak organizacija širom sveta, uključujući vladine agencije SAD i Zapadne Evrope. Identifikacija napadača je povezala napade i grupu poznatu pod nazivom Storm-0558 za koju se vjeruje da je specijalizovana za sajber špijunažu sa fokusom na prikupljanje osjetljivih informacija zloupotrebom pristupa nalozima elektronske pošte.
Kompanija Microsoft je istragom utvrdila da je Storm-0558, hakerska grupa sa sjedištem u Kini, koju ova kompanija opisuje kao “dobro opremljenog” protivnika, dobila pristup nalozima elektronske pošte koristeći Outlook Web Access in Exchange Online (OWA) i Outlook.com tako što je falsifikovanjem tokena za autentifikaciju pristupila korisničkim nalozima. U svojoj tehničkoj analizi napada, kompanija Microsoft je objasnila da su hakeri koristili preuzeti Microsoft ključ za potpisivanje korisnika da bi krivotvorili tokene za pristup OWA i Outlook.com. Zatim su hakeri iskoristili problem sa validacijom tokena da bi se lažno predstavljali za korisnike Azure AD platforme i dobili pristup nalozima elektronske pošte organizacije.
Ko je Storm-0558?
Hakerska grupa sa sjedištem u Kini Storm-0558 (u prevodu Oluja-0558) usmjerava svoje napore ka špijunaži. Ima veze sa nekoliko napada visokog profila, posebno sa upadom u sisteme elektronske pošte Državnog sekretarijata SAD (eng. US Department of State) 2022. godine.
Interes grupe Storm-0558 vjerovatno leži u prikupljanju detalja o državnoj politici, vojnim sposobnostima i ekonomskim tajnama, koje bi da iskoriste kako bi Kini pružili prednost u pregovorima, vojnom planiranju ili ekonomskom takmičenju.
Ova grupa predstavlja značajnu prijetnju, jer imaju mogućnost da pristupe osjetljivim informacijama i koriste ih u zlonamjerne svrhe. Takođe su pokazali da su spremni da ciljaju organizacije visokog profila, što znači da bi mogla predstavljati ozbiljnu prijetnju po nacionalnu bezbjednost.
Značaj kriptografskih ključeva
Ključevi za potpisivanje korisnika i ključevi za potpisivanje su tipovi kriptografskih ključeva koji se koriste za autentifikaciju i obezbjeđivanje digitalnih informacija. Za razumijevanje njihovog značaja i važnosti prvo je važno razumjeti ključeve za potpisivanje i kako oni funkcionišu.
Ključevi za potpisivanje funkcionišu u okviru kriptografskog sistema koji se oslanja na asimetrične parove ključeva: javni ključ i privatni ključ. Privatni, bezbjedni ključ za potpisivanje digitalno potpisuje tokene ili druge podatke kako bi potvrdio njihovo netaknuto poreklo iz pouzdanog izvora. Nakon toga, validacija potpisa se odvija preko javnog ključa.
Ključevi za potpisivanje korisnika obavljaju zadatak provjere autentičnosti softvera instaliranog na uređaju. Kada korisnik instalira novi softver, uređaj potvrđuje da potpis softvera potiče od pouzdanog ključa. Uređaj instalira softver sa važećim ključem i blokira ga kada je ključ nevažeći.
Ako zlonamjerni napadač može da dobije pristup ključu za potpisivanje korisnika za taj uređaj, može da kreira i instalira sopstveni zlonamjerni softver koji će uređaj prihvatiti kao legitiman. Zbog toga su napadi na ključeve za potpisivanje korisnika toliko opasni. Ako napadač uspije da ugrozi ključ za potpisivanje za popularni uređaj, potencijalno može da zarazi hiljade ili čak milione uređaja zlonamjernim softverom. To može dovesti do razornih posljedica i za korisnike i za poslovne organizacije.
Detalji napada
Kompanija Microsoft je 16. jula 2023. godine obaviještena o neobičnim aktivnostima od strane klijenta u pogledu pristupa Exchange Online podacima. Analiza je pokazala da aktivnosti ukazuju na Storm-0558 grupu na osnovu ranije dostupnih analiza ponašanja napadača i da ova grupa pristupa Exchange Online podacima korištenjem Outlook Web Access (OWA) servisa.
Tokom istrage je pretpostavljeno da su zlonamjerni akteri krali ispravno izdate tokene za Azure Active Directory (Azure AD), najvjerovatnije koristeći zlonamjerni softver na zaraženim uređajima korisnika. Kasnije je utvrđeno da su napadači koristili Exchange Online elemente autentifikacije, koji su obično izvedeni iz Azure AD tokena za autentifikaciju (eng. Azure AD tokens). Dalja detaljna analiza u narednih nekoliko dana navela je analitičare kompanije Microsoft da procjene da interni elementi autentifikacije Exchange Online ne odgovaraju Azure AD tokenima u Microsoft evidencijama.
Nakon toga, istraga je počela uzimati u obzir mogućnost da su napadači krivotvorili tokene za autentifikaciju koristeći kompromitovani Azure AD ključ za potpisivanje poslovnih organizacija. Detaljna analiza aktivnosti Exchange Online otkrila je da je zlonamjerni akter zapravo krivotvorio Azure AD tokene koristeći kompromitovani ključ za potpisivanje Microsoft naloga (MSA). Ovo je omogućeno greškom u validaciji u Microsoft kôdu. Upotreba krivotvorenog ključa za potpisivanje ovog obima je bio očigledan pokazatelj aktivnosti zlonamjernih aktera, jer nijedan Microsoft sistem ne potpisuje tokene na ovaj način.
Upotreba falsifikovanih tokena za autentifikaciju za pristup klijentskim Exchange Online podacima razlikuje se od prethodno zabilježene aktivnosti grupe Storm-0558. Grupa Storm-0558 je nabavila neaktivan MSA ključ za potpisivanje korisnika i koristila ga za falsifikovanje tokena za autentifikaciju za Azure AD poslovne organizacije i MSA korisnike za pristup OWA i Outlook.com servisima.
Prošireni uticaj
U izvještaju sigurnosnih istraživača kompanije Wiz, koja je analizirala napad grupe Storm–0558 i zloupotrebu falsifikovanih tokena za autentifikaciju za pristup klijentskim Exchange Online podacima, postoji naznaka da ovaj incident ima širi obim nego što se prvobitno pretpostavljalo. Organizacije koje koriste Microsoft i Azure usluge trebalo bi da preduzmu korake da procjene potencijalni uticaj.
Kompanija Microsoft je objavili da Outlook.com i Exchange Online jedini pogođeni servisi uzimajući u obzir napad grupe Storm-0558 koja je koristila tehniku falsifikovanja tokena, međutim istraživanje kompanije Wiz pokazuje da je kompromitovani ključ za potpisivanje bio moćniji nego što se možda činilo, i da nije ograničen samo na te dvije usluge.
Istraživanje je pokazalo da je kompromitovani MSA ključ mogao da omogući zlonamjernom akteru da falsifikuje pristupne tokene za više tipova Azure AD aplikacija, uključujući svaku aplikaciju koja podržava autentifikaciju ličnog naloga, kao što su SharePoint, Teams, OneDrive, aplikacije klijenata koje podržavaju funkciju „prijava sa Microsoft-om“ i aplikacije sa više zakupaca u određenim uslovima.
Iako je kompanija Microsoft primijenila mjeru opoziva ugroženog ključa za šifrovanje i objavila indikatore kompromisa (eng. indicator of compromise – IOC), korisnicima bi moglo biti teško da otkriju upotrebu falsifikovanih tokena zbog nedostatka evidencije u ključnim poljima koja se odnose na proces verifikacije tokena. Problem je u tome što su ključevi provajdera za potpisivanje identiteta vjerovatno najmoćnije tajne u savremenom svetu, moćniji čak i od TLS ključeva. U slučaju da napadač dobije pristup TLS ključu nekog servera i dalje bi morao na neki način da se lažno predstavlja kao taj server da bi postigao značajan uticaj.
Sa ključevima provajdera identiteta, možete dobiti trenutni pristup sa jednim potezom za sve, bilo koju elektronsku poštu, uslugu skladištenja podataka ili nalog u oblaku. Ovo nije samo problem kompanije Microsoft, već bi u situaciji ako procuri ključ za potpisivanje za kompanije kao što su Google, Facebook, Okta ili bilo koji drugi veliki provajder identiteta, posljedice bi bilo teško shvatiti.
Nova oluja?
Azure platforma objavljuje više lista pouzdanih ključeva u opsegu različitih tipova aplikacija. Oni služe za provjeru integriteta tokena koje izdaje Azure AD. Tokom procesa autentifikacije za Azure AD aplikaciju, aplikacija mora potvrditi autentičnost tokena tako što će potvrditi njegov potpis u odnosu na ispravnu listu pouzdanih javnih ključeva. Ova verifikacija određuje da li tokenu treba vjerovati.
Ako je bilo koji od ključeva sa jedne od ovih listi ugrožen, postoji značajan rizik za aplikacije koje koriste tu listu za validaciju. Takav incident bi mogao omogućiti zlonamjernim napadačima da krivotvore važeće tokene za pristup od strane bilo koje aplikacije koja zavisi od platforme Azure pod određenim uslovima. Sada prema dostupnim informacijama iz napada grupe Storm-0558, ova grupa je izgleda uspjela da dobije pristup jednom od nekoliko ključeva koji su bili namijenjeni za potpisivanje i verifikaciju Azure AD pristupnih tokena.
Kompromitovanom ključ je imao mogućnost da potpiše bilo koji OpenID v2.0 pristupni token za lične naloge i Azure AD aplikacije za mješovite korisnike (više zakupaca ili ličnih naloga). Uzimajući sve ovo u obzir, grupa Storm-0558 bi mogla da koristi privatni ključ koji ima u posjedu da falsifikuje tokene za autentifikaciju kao bilo koji korisnik za bilo koju aplikaciju koja ima povjerenja u Microsoft OpenID v2.0 certifikate bilo da se radi o više zakupaca ili ličnih naloga.
Rizik za korisnike
Pošto je kompanija Microsoft opozivala kompromitovani ključ, Azure AD aplikacije više neće prihvatati falsifikovane tokene kao važeće tokene. Ove aplikacije će takođe odbaciti tokene sa produženim rokom važenja.
Međutim, tokom prethodno uspostavljenih sesija sa korisničkim aplikacijama pre opoziva, zlonamjerni akter je mogao da iskoristi svoj pristup da uspostavi uporište. Ovo se moglo desiti korištenjem dobijenih dozvola aplikacije za izdavanje pristupnih ključeva specifičnih za aplikaciju ili postavljanjem pozadinskih vrata specifičnih za aplikaciju. Značajan primjer ovoga je to što je, pre reakcije kompanije Microsoft, grupa Storm-0558 izdala važeće tokene za Exchange Online pristup tako što je krivotvorila pristupne tokene za Outlook Web Access (OWA).
Tu je još jedan potencijalni problem za aplikacije koje su zadržale kopije Azure AD javnih ključeva pre opoziva Microsoft certifikata. Aplikacije koje se oslanjaju na lokalna skladišta certifikata ili ključeve u keš memoriji i dalje vjeruju kompromitovanom ključu ostaju podložne falsifikovanju tokena. Za ove aplikacije je neophodno da odmah osvježe listu pouzdanih certifikata. Kompanija Microsoft savjetuje osvježavanje keš memorije lokalnih prodavnica i certifikata najmanje jednom dnevno.
Mjere zaštite
Kako bi korisnici utvrdili da je kompromitovani ključ korišćen u njihovom okruženju, potrebno je identifikovati sve potencijalno pogođene aplikacije u korisničkom okruženju, potražiti upotrebu falsifikovanih tokena i iskoristiti indikatore kompromitovanja (IoC) koje je objavila kompanija Microsoft na svom blogu.
Korisnici treba da provjere da niti jedna aplikacija ne koristi keširanu verziju javnih certifikata Microsoft OpenID, a u slučaju da koristi potrebno je osvježiti keš memoriju. Kompanija Microsoft je dodala dodatne verifikacije zvaničnom Azure SDK koje su dizajnirane da spriječe upotrebu MSA ključeva za autentifikaciju naloga organizacije. Korisnicima paketa se savjetuje da ga ažuriraju na najnoviju verziju.
Zaključak
Potpuni uticaj ovog incidenta je mnogo veći nego što je u početku izgledalo. Ovaj incident bi mogao imati dugotrajne posljedice na povjerenje korisnika u servise u oblaku i ključne komponente koje ga podržavaju, pre svega, sloj identiteta koji je osnovna struktura svega što se radi u oblaku.
Trenutno je veoma teško utvrditi puni obim incidenta, jer su postojali milioni aplikacija koje su bile potencijalno ranjive, i Microsoft aplikacije i aplikacije za korisnike, a većini njih nedostaje dovoljno evidencije da bi se utvrdilo da li su kompromitovane ili ne.
Međutim, postoje neke veoma važne radnje koje vlasnici aplikacija treba da izvrše. Prvo i najvažnije je da ažuriraju svoj Azure SDK na najnoviju verziju i osiguraju da je njihova keš memorija ažurirana, u suprotnom njihove aplikacije mogu i dalje biti ranjive na prijetnje, ako koriste kompromitovani ključ.