Kada pouzdani dobavljač softvera isporuči ažuriranje koje dovede do momentalnog prestanka rada računara širom sveta, nastaje haos. Nemili događaj koji se odigrao prošle nedelje nije prvi takve vrste. Šta bi trebalo da se preduzme da se takav incident ne ponovi?
Operativni sistem Windows kompanije Microsoft pokreće više od milijardu računara i milione servera širom sveta, od kojih mnogi igraju ključne uloge u objektima koji direktno opslužuju korisnike. Dakle, šta se dešava kada pouzdani dobavljač softvera isporuči ažuriranje koje dovede do momentalnog prestanka rada računara?
Kako smo saznali 19. jula ove godine, tada nastaje haos.
U spomenutom slučaju, pouzdani dobavljač softvera je firma pod nazivom CrowdStrike Holdings, koja je poznata kao bezbednosna firma koja je analizirala hakovanje servera iz 2016. godine u vlasništvu Demokratskog nacionalnog komiteta. Do sada je firma živela od stare slave, a od sada će biti poznata kao kompanija koja je izazvala najveći prekid u oblasti informacionih tehnologija u istoriji. Uspela je da prinudno prizemlji avione, onemogući pristup nekim bankarskim sistemima, poremeti glavne mreže zdravstvene zaštite i spreči rad bar jedne informativne mreže.
Microsoft procenjuje da je ažuriranje CrowdStrike uticalo na 8,5 miliona Windows uređaja. To je mali procenat uređaja širom sveta na kojima je instaliran Windows, ali Dejvid Veston, kompanijin potpredsednik za bezbednost preduzeća i operativnih sistema, primećuje da se CrowdStrike koristi u velikom broju preduzeća koja pružaju mnoge neophodne usluge, jer je nesrećna greška imala ogromne ekonomske i društvene posledice. U izveštaju Rojtersa se navodi da više od polovine kompanija sa liste Fortune 500 i mnoga vladina tela, kao što je vrhunska američka Agencija za sajber bezbednost i infrastrukturnu bezbednost, koriste softver kompanije.
Šta se dogodilo?
Kompanija CrowdStrike, koja prodaje bezbednosni softver napravljen da zaštiti sisteme od spoljnih napada, izbacila je neispravno „ažuriranje konfiguracije senzora“ na milione računara širom sveta koji koriste softver Falcon Sensor. To ažuriranje je, prema navodima kompanije, bilo Channel File čija je funkcija bila da identifikuje novo uočene, zlonamerne aktivnosti sajber napadača.
Iako je datoteka za ažuriranje imala ekstenziju .sys, sama po sebi nije bila upravljački program jezgra računarskog programa. Komunicira sa drugim komponentama u Falcon senzoru koje rade u istom prostoru kao i Windows jezgro, što je najprivilegovaniji nivo na Windows računaru, gde one direktno komuniciraju sa memorijom i hardverom. CrowdStrike kaže da je „logička greška“ u tom kodu izazvala rušenje Windows računara i servera u roku od nekoliko sekundi nakon što je ažuriranje pokrenuto, zbog čega se prikazala greška STOP, koja je kolokvijalno poznata kao Plavi ekran smrti (Blue Screen of Death – BSOD).
Popravljanje štete od takve greške je bolno dosadan proces koji zahteva da se svaki računar ponovo ručno pokrene u Windows okruženju za oporavak (Windows Recovery Environment), a zatim da se izbrišu neispravne datoteke sa računara pomoću već odavno poznate interfejs komandne linije. Ako određeni računar ima sistemsku disk jedinicu zaštićenu Microsoft-ovim BitLocker softverom za šifrovanje, što je slučaj kod skoro svih poslovnih računara, rešenje zahteva jedan dodatni korak, a to je unošenje jedinstvenog BitLocker ključa za oporavak od 48 znakova da biste dobili pristup disku i omogućili uklanjanje neispravnog drajvera CrowdStrike. Ako poznajete nekoga ko je administrator Windows računara u korporativnoj mreži koja koristi CrowdStrike kôd, možete da budete sigurni da je trenutno veoma zauzet i da će biti i u narednim danima.
Taj film smo već gledali
Mnogi koji su saznali za tu katastrofu, što je stvarno i bila, pomislili su da im slučaj zvuči poznato. Korisnik na jednoj društvenoj mreži podsetio je sve na događaj od pre 14 godina.
Neispravno McAfee ažuriranje izazivalo globalni pad XP računara.
Opa, priča se ponavlja.
Jutros u šest sati kompanija, McAfee je objavila ažuriranje antivirusnih definicija za korporativne klijente koji su imali mali problem. A pod „malim problemom“ mislim na onu vrstu koja računar čini beskorisnim sve dok se ne pojavi tehnička podrška koja ručno treba da popravi štetu. Kao što sam danas prokomentarisao na Twitteru, nisam siguran da je bilo koji kreator virusa ikada razvio deo zlonamernog softvera koji je isključio toliko uređaja takvom brzinom kao što je to danas uradila kompanija McAfee.
U tom slučaju, kompanija je isporučila neispravnu datoteku definicije virusa (DAT) na računare koji koriste Windows XP. Ta datoteka je pogrešno identifikovala ključnu Windows sistemsku datoteku, Svchost.exe, kao virus i izbrisala je. Prema današnjim izveštajima, posledica te greške je dovela do toga da su svi pogođeni sistemi ušli u petlju ponovnog pokretanja i u potpunosti izgubili pristup mreži.
Sličnosti između tog incidenta iz 2010. i ovogodišnje CrowdStrike katastrofe su neverovatne. U osnovi je bila neispravna nadogradnja koja je poslata na milione računara sa moćnim softverskim agentom, što je dovelo do prestanka rada pogođenih uređaja. Oporavak je zahtevao ručnu intervenciju na svakom pojedinačnom uređaju. Uz to, pogrešan kôd je izbacila kompanija za javnu bezbednost koja je očajnički pokušavala da se probije što više na brutalno konkurentnom tržištu.
Problem sa kompanijom McAfee bio je još ozbiljniji, jer se dogodio u nezgodno vreme. Kompanija Intel je najavila da namerava da kupi McAfee za 7,68 milijardi dolara 19. aprila 2010. Pogrešna DAT datoteka se pojavila dva dana kasnije, 21. aprila.
Greška iz 2010. godine bila je ozbiljna, jer je pogodila kompanije sa liste Fortune 500 (uključujući Intel!), kao i univerzitete i vladina i vojna angažovanja širom sveta. Izbacila je iz mreže 10% kasa u najvećem australijskom lancu prehrambenih proizvoda, što je dovelo do zatvaranja skoro 20 prodavnica.
U odeljenju You Can’t Make This Up… osnivač i izvršni direktor CrowdStrike-a, Džordž Kurtz, bio je glavni tehnološki direktor kompanije McAfee tokom tog incidenta 2010. godine.
Ovogodišnji incident je još ozbiljniji, jer je uticao i na servere zasnovane na Windows sistemu koji rade u oblaku, na usluge Microsoft Azure i AWS. Baš kao i mnogi prenosivi i stoni računari koji su bili zatrpani tim neispravnim ažuriranjem, serveri zasnovani na oblaku zahtevaju dugotrajne ručne intervencije da bi se uspostavilo normalno funkcionisanje.
Kontrola kvaliteta je podbacila
Možda bi trebalo da nas iznenadi da je kompanija CrowdStrike već imala jedno neispravno ažuriranje Falcon senzora ove godine.
Pre manje od mesec dana, CrowdStrike je objavila ažuriranje logike detekcije za Falcon senzor koje je doveo do greške u funkciji skeniranja memorije senzora. Zbog toga je došlo do logičke greške u CsFalconService koja može da dovede do toga da Falcon senzor za Windows potroši 100% jednog jezgra CPU-a. Kompanija je vratila ažuriranje i korisnici su mogli da nastave normalan rad posle ponovnog pokretanja. Tada su neki stručnjaci primetili da ceo slučaj ukazuje na to koliko je važno da se nova ažuriranja preuzmu na jedan uređaj da bi se prvo testirala pre nego što se uvedu u ceo sistem.
U incidentu iz 2010. godine, ispostavilo se da je osnovni uzrok potpuni slom kontrole kvaliteta. Izgleda da se to dogodilo i prošle nedelje. Da li to znači da dva CrowdStrike ažuriranja nisu testirana pre nego što su izbačena na milione uređaja?
Deo problema može da bude i kultura kompanije o kojoj se priča. Naime, spomenuti izvršni direktor hvalio se sposobnošću kompanije da velikom brzinom isporučuje najprestižnije proizvode, pritom imajući na umu posebno Microsoft.
Koliku odgovornost treba da snosi Microsoft?
Ne možemo Microsoft u potpunosti da oslobodimo krivice. Konačno, problemi sa Falcon senzorom pogodili su samo Windows računare, na šta su nas administratori prodavnica za Linux i Mac brzo podsetili.
Delimično je to pitanje arhitekture. Programeri aplikacija na sistemskom nivou za Windows, uključujući bezbednosni softver, oduvek implementiraju funkcije koristeći ekstenzije jezgra i upravljačkih programa. Kao što smo videli u prošlonedeljnom slučaju, neispravan kôd koji se pokreće u prostoru jezgra može da izazove nepremostive probleme, dok kôd koji se pokreće u korisničkom prostoru to ne može.
To je nekada bio slučaj i sa okruženjem MacOS, ali 2020. godine, sa verzijom MacOS 11, kompanija Apple je promenila arhitekturu vodećeg operativnog sistema da se ne bi koristila ekstenzija jezgra. Umesto toga, programeri se pozivaju da napišu sistemske ekstenzije koje se pokreću u korisničkom prostoru, a ne na nivou jezgra. Na MacOS-u, CrowdStrike koristi kompanijin Endpoint Security Framework i kaže da koristeći taj dizajn, „Falcon postiže iste nivoe vidljivosti, detekcije i zaštite isključivo preko senzora korisničkog prostora“. Da li bi kompanija Microsoft mogla da napravi istu vrstu promene za Windows? Možda, ali na to bi se sigurno obrušili zaštitnici zakona o konkurenciji, posebno u Evropi. Problem je posebno ozbiljan jer Microsoft ima unosan posao u oblasti bezbednosti preduzeća, a svaka promena u arhitekturi koja otežava život konkurentima, kao što je CrowdStrike, s pravom bi se smatrala povredom zakona o konkurenciji.
Bez obzira na sve, incident od prošle nedelje, koji je prouzrokovao štetu vrednu više milijardi dolara, trebalo bi da bude poziv na buđenje za celu IT zajednicu. U najmanju ruku, CrowdStrike treba da pojača testiranje, a korisnici moraju da budu oprezniji kad odobre da se takav kôd primeni na njihovoj mreži, a da ga prethodno nisu sami testirali.