JadePuffer za sedam minuta napao preko sto skladišta u Azure-u, baze spasla greška napadača
Microsoft je 25. septembra objavio analizu napada koji pripisuje akteru kojeg je Sysdig u julu opisao kao prvi ransomver koji od početka do kraja vodi veštačka inteligencija. Sysdig ga je nazvao JadePuffer, a Microsoft ga vodi pod oznakom Storm-3168. Napad se desio početkom juna, u oblaku jedne organizacije koju Microsoft ne imenuje. Napadač nije koristio naloge zaposlenih, nego dva servisna naloga te kompanije, preko kojih programi pristupaju Azure-u. Prvim je petnaest i po sati mapirao okruženje kroz više od 300 upita. Drugim je za sedam minuta pokušao da obriše više od sto različitih skladišta podataka, i većina brisanja je uspela. Nestali su i trezor sa ključevima i delovi aplikacija. Pokušao je da skine i zaštite koje čuvaju rezervne kopije, ali mu to nije pošlo za rukom. Baze podataka su preživele zato što je za njihovo brisanje koristio verziju komande koju Azure za tu vrstu resursa ne podržava. Pola sata kasnije pokupio je pristupne ključeve preostalih skladišta. Otkup nije tražen, a krađa podataka nije potvrđena. Ključ jednog od dva servisna naloga zaposleni u toj kompaniji je ranije objavio na javnom GitHub issue-u. Tekst je kasnije izmenjen, ali je ključ ostao vidljiv u istoriji izmena. Da je napadač ušao baš tim putem, Microsoft ne može da potvrdi.
Neka skladišta su ostala čitava jer su bila zaključana od brisanja, a rezervne kopije su očuvale postojeće zaštite. Sve ostalo nestalo je za sedam minuta, jer je servisni nalog koji je smeo da čita smeo i da briše. Mašinski nalozi retko kad dobijaju pažnju kakvu dobijaju ljudski: obično nemaju drugi korak prijave, ključ im važi mesecima, a ovlašćenja im se dodeljuju preširoko, za svaki slučaj. Slučaj sa GitHub issue-om pokazuje i koliko je lako poverovati da je ključ uklonjen. Izbrisan je iz teksta, a istorija izmena ga je sačuvala za sve koji vole da kopaju po đubretu. Tvrdnju da je napad vodio AI Microsoft zasniva na ritmu operacija i podeli posla među nalozima, ali takav trag može da ostavi i obična skripta. U julu je JadePuffer otkup zahtevao na bitkoin adresu prepisanu iz udžbenika, a sada je baze promašio zbog pogrešnih komandi. Bilo da je za tastaturom čovek ili program, za sedam minuta retko ko stigne da reaguje, pa proaktivna zaštita dobija novi smisao, kao jedina pouzdana u ovom slučaju.
- Na važna skladišta, baze i trezore ključeva u Azure-u stavi zaključavanje protiv brisanja (resource lock CanNotDelete) i uključi zaštitu od brisanja na nivou skladišta
- Popiši servisne naloge (service principals) i oduzmi im ovlašćenja koja im ne trebaju, pre svega pravo brisanja
- Ključ koji je ikada bio javan zameni odmah, i kad je obrisan iz teksta, jer istorija izmena na GitHubu ostaje javna
- Pretraži javne repozitorijume i issue-e, zajedno sa istorijom izmena, na client secret-e i tenant ID-jeve svoje organizacije
- Podesi upozorenje na masovno brisanje resursa i na ListKeys zahteve servisnih naloga van uobičajenog rada