Múlt hónap közepe után több mint nyolcmillió számítógép állt le egyszerre, ennek következtében kórházak, repterek, telefonközpontok, gyárak bénultak meg, világméretű káoszt okozva. Hogyan történhetett ilyen és megtörténhet-e megint?
Sokaknak ismerős lehet a csak kék halálként elhíresült képernyő, amely arra utal, hogy a számítógép leállt vagy nem tud elindulni. A Windows már 1985-ben létrehozta a mára már ikonikussá vált képernyőt, amely gyakran a popkultúrában is megjelenik, legyen az a Toy Story vagy a Mátrix. Minden esetben a katasztrofális problémát jeleníti meg. (Kék halál: blue screen of death, BSOD. Manapság egyébként már fekete az elháríthatatlan rendszerhibát közlő képernyő, de a gépek eme állapotát még mindig BSOD-nak nevezik.)
Kék Halál
Ezzel helyzettel találkozott több mint 8.5 millió számítógép július 19-én, ráadásul az incidens épp, hogy a legfontosabb feladatokat ellátó számítógépeken jelent meg.
Ez nem meglepő, hiszen az egész leállás okozója, a CrowdStrike Falcon egy olyan, főleg nagyvállalatoknál megtalálható, ráadásul rendkívül drága szoftver, amely eredetileg épp, hogy védené a számítógépeket az illetéktelen behatolóktól.
Átlagos felhasználók ritkán találkoznak vele, mivel otthoni számítógépeken szinte egyáltalán nem használják, olyan, mint egy golyóálló mellény, amely a támadásoknak kitett VIP számítógépekre lett szabva, de átlagos járókelőknek nem sok szüksége van rá.
Végzetes hiba
A nagy leálláskor, amikor a kék halál elöntötte a kórházak, repterek és kormányzati intézmények monitorait, először könnyen lehetett azt feltételezni, hogy valamiféle világméretű hacker akcióról lehetett szó és célzott támadás történt – ezt a CrowdStrike azonnal tagadta. Jelenlegi ismereteink szerint valóban nem történt támadás, a hibát maga a gyártó okozta. Felmerül viszont a kérdés: hogyan lehet egy szoftvergyártó cégnek olyan eszköz a kezében, amely azonnal leállítja a legfontosabb számítógépes infrastruktúrákat?
A Windows operációs rendszert futtató számítógépeken (a világ számítógépeinek körülbelül 95 százalékán) futó szoftverek különböző mélységben kapnak engedélyt magához a rendszerhez.
Két fő szinten futhatnak programok, az egyik a külső, a felhasználói szint, itt fut minden program, amivel kapcsolatba kerülünk, legyen az pasziánsz játék vagy egy böngésző, valamint az úgynevezett “kernel”, azaz belső mag, amelyen csak a különleges privilégiummal rendelkező szigorúan ellenőrzött folyamatok futhatnak.
A kernel szint olyan, mint egy belső irányítópult, ami kiadja a végső parancsokat, megnyomhatja a “nagy piros gombot”. A felhasználói mód felől jöhetnek kérések és utasítások, de az csak akkor juthat be ebbe a parancsnoki szobába, ha hosszas szigorú ellenőrzésen megy keresztül, hiszen ami ott benn történik, az visszafordíthatatlanul tönkreteheti a számítógépet és végleg törölhet arról fontos adatokat. A felhasználói módban futó alkalmazások, ha hibára futnak, akkor lefagy az alkalmazás, ha viszont a kernel fut hibára, akkor jön az igazi katasztrófa. Emiatt a programok túlnyomó része soha sem futhat kernel módban, hogy ne történhessen végzetes hiba – a CrowdStrike Falcon esetében mégis ez történt.
Microsoft: „Az EU hibája”
A Falcon feladata az, hogy megvédje a kritikus számítógépeket a támadásoktól. Olyasmi, mint egy antivírus szoftver felturbózott változata, amely folyamatosan figyeli a folyamatokat és próbálja elkapni, ha bármi furcsaság történne. Ahhoz, viszont, hogy ezt hatékonyan tudja tenni, szüksége van arra, hogy kernel módban fusson, a legbelső, legbiztonságosabb és ami még fontosabb, a legtörékenyebb szinten.
A Microsoft ezzel a gondolattal nem értett egyet.
Eredetileg nem akartak semmilyen külső cégnek, mint a CrowdStrike, hozzáférést adni a kernelhez, hogy ne történhessen túl nagy probléma.
Az Európai Unió viszont keresztülhúzta a számításaikat.
A Microsoftnak ugyanis van egy a Falconhoz hasonló szoftvere, az úgynevezett Windows Defender, ami hasonló védelmet nyújt a támadások ellen és kernel szinten is futhat. Az EU-ban érvényes versenyjogi szabályok szerint viszont a Microsoftnak monopóliuma lenne, ha csak a saját biztonsági szoftverének engedélyezné a kernel módban való futást, a fair üzleti verseny viszont megkívánja, hogy más cégek szoftverei is hozzáférhessenek ahhoz. A Microsoft 2009-ben beadta a derekát, így azóta a CrowdStrike és más biztonsági szoftvereket gyártó cégeknek is lett bejárása a kritikus kernel módba. Érdemes megjegyezni, hogy a Microsoft legnagyobb versenytársa, az Apple viszont nem engedélyezi senkinek sem a kernel módhoz való hozzáférést a saját operációs rendszerében, ami miatt az EU folyamatosan kritizálja is őket.
Csontvázak a szekrényből
A Microsoftnak most úgy tűnik igaza volt, hiszen egy külső szoftver valóban leállított több millió számítógépet, amiatt, hogy hozzáférést kellett nekik adni.
A probléma visszafejtése viszont egyre több rétegét fedi fel hibák sorozatának.
Attól függetlenül, hogy a Microsoftnak hátra kellett lépnie és beengednie a külső szoftvereket a kernelbe, jócskán megnehezítette azok dolgát, és ha valaki olyan szoftvert frissít, amely a belső szinten fut, azt a Microsoft saját tesztelő folyamatainak is alá kell vetni és addig nem lehet frissíteni, amíg ők meg nem adják az elismerő pecsétet, ami garantálja, hogy túl nagy baj nem lehet.
Ez a folyamat viszont napokba, sőt hetekbe telhet.
A Falcon viszont egy biztonsági szoftver, amelynek azonnal reagálnia kell, ha valami új támadás üti fel a fejét valahol, így a CrowdStrike fejlesztői egy cseles megoldáshoz folyamodtak: a szoftverük, ami a kernel szinten fut, ugyan nem frissül gyakran, hiszen akkor újrakezdődne a Microsoft engedélyezési folyamata, hanem inkább kívülről kaphat frissítő utasításokat, ami olyan, mintha frissülne, de mégis kikerüli az engedélyezést. A Microsoft bár lezárja a képzeletbeli parancsnoki irányítópultot, a CrowdStrike mégis betelefonálhat, hogy utasításokat adjon, amit viszont nem tud kontrollálni a Microsoft.
Ez történt most is: a fejlesztők egy olyan külső frissítést, vagy ahogy ők házon belül hívják, “channel file”-t küldtek a Falconnak, ami azonnal leállította azt, a számítógépek lefagytak és újra sem tudtak indulni.
IT rémálom
A több millió számítógép leállt, bekövetkezett a kék halál, de még nagyobb probléma volt, hogy a hibát csak és kizárólag kézzel lehetett megoldani. Ez azt jelentette, hogy rendszergazdáknak egyenként kellett minden egyes géphez odamenniük, törölniük a hibás channel file-t és újraindítani a gépeket, hogy minden rendbe jöjjön.
Az IT-szakemberek éjt nappallá téve dolgoztak azon, hogy egyenként javítgassák az érintett számítógépeket. Érdemes azt is megjegyezni, hogy a kék halál állapota nem a legrosszabb, ami történhet, valójában a BSOD képernyő azt jelzi, hogy a rendszer leállt, azelőtt, hogy nagyobb probléma történne.
Az IT szakemberek teljesen értetlenül álltak a probléma előtt: hogyan lehet, feltehetően tesztelés nélkül kihozni egy olyan frissítést, amely ilyen katasztrofális következményekkel járhat?
A leállás viszont nem volt teljesen előjel nélküli: idén már háromszor okozott leállást CrowdStrike frissítés, három különböző Linux verziót állítva le, de mivel ezek a számítógépek sokkal ritkábbak, a probléma könnyebben orvosolható volt.
Érdemes viszont megemlíteni, hogy A CrowdStrike vezérigazgatójának, George Kurtznak sem ez az első ilyen hibája: 2010-ben, amikor Kurtz egy másik IT-biztonsággal foglalkozó vállalat, a McAffee egyik vezetője volt, szintén egy hibás frissítésnek köszönhetően állt le számtalan Windows XP-t futtató számítógép.
A hiba kísértetiesen hasonló volt, hiszen a számítógépek a kék halál állapotába kerültek és kézzel kellett a problémát megoldani. Akkor Ed Bott, a ZDNet vezető újságírója úgy fogalmazott: “Nem láttam még olyan vírust, ami annyi gépet ölt meg egyszerre, mint amennyit a McAffee.” – a CrowdStrike azóta megdöntötte ezt a nem hivatalos rekordot.
Befellegzett?
A Fortune 500 vállalatok 60 százaléka volt előfizetője a CrowdStrike-nak, de nem tudjuk, hogy mennyi marad ezután a globális katasztrófa után. Bár felelősségre a CrowdStrike valószínűleg nem vonható, a szinte minden felelősséget kizáró felhasználó szerződésük miatt, de elképzelhető, hogy az EU még indít ellenük eljárást a GDPR megszegése miatt, amely kiterjed adatvesztésre is.
A vállalat hírnevén viszont feltehetőleg helyreállíthatatlan csorba esett. Az igazgató ugyan elnézést kért, sőt felajánlott a partnereknek egy 10 dollár, azaz közel 4000 forintos ételrendelős kupont, de ezzel közröhej tárgyává tette magát,
főleg, hogy olyan sokan használták a kupont, hogy azt a kibocsátó UberEats letiltotta, így sokaknak nem is működött. A kuponok értéke ráadásul össze sem mérhető az okozott több milliárd dolláros kárral. A vállalat részvényei mélyzuhanásba kezdtek, a vezérigazgatót beidézték kongresszusi meghallgatásra az Egyesült Államokban és a CrowdStrike soron kívül megnyerte az IT bukásokat ironikusan díjazó Pwnie Awards idei díját is, mint “a legepikusabb bukás”.
Bár véletlen hibának is nevezhető a leállás, számtalan biztonsági szakértő szerint súlyos mulasztás történt, hiszen egy jól működő biztonságtechnikai cégben rendkívül szigorú folyamatok állnak annak az útjában, hogy egyetlen hibás file milliónyi számítógépet tegyen tönkre, így nem csupán technikai hibáról lehetett szó, hanem rendszerszintű problémáról. Az viszont biztos, hogy a többi hasonló területen működő cégnek jókora figyelmeztetés lehet, hogy mi történhet, ha beüt a baj.