Megérkezett a CrowdStrike hírhedt incidensének RCA-ja

Címkék

Elérhető: External Technical Root Cause Analysis — Channel File 291

Hozzászólások

Szerkesztve: 2024. 08. 07., sze – 00:44

Nem tudom minek kellett ra ennyit varni, siman meg lehetett volna oldani par perc alatt, ennyit kellett volna bele irniuk:

- nincs error handling a szoftverunkben

- nincs update validation a szoftverunkben

- nincs rollback funkcionalitas a szoftverunkben

- nincs normalis QA-nk

- nem hasznalunk canary deploy-t

Koszonjuk a figyelmet :)

21 paraméter, parameter count mismatch. Hasztaku...

Gábriel Ákos

$99.99/device
$184.99/device
Contact sales for pricing

Már egy ideje illene a green washing mellett a security washingról is beszélni. Főleg, hogy legtöbb esetben az emberi szaktudást, rászánt időt, üzemeltetést és tervezést próbálnak utólag pótolni, ami egyáltalán nem meglepő, ha mindenféle retek rabszolgatelepekre szervezték ki az üzemeltetést mert pár centtel olcsóbb viszont az értéke negatív. Mindegyiknek van magic quadrantja, hogy csak az övék a jó, amit ha nem a völgyben fejlesztenek, nem jó semmire, viszont ha nagyon drága akkor bármelyik management megveszi a teljes globális cégre és a végén csak pingvineznek, hogy kössz a dollárt.

Ott a Maersk példa, a TV5, ez és az összes, egymás után.

A dolog innen indul, nézd ezt https://www.bbc.com/news/world-europe-32248779

Volt benne minden és rendszeresen. Publikus IP címeken default jelszavakkal a közvetítést lebonyolító rendszerek amit egy kölyök lekapcsolt és hasonlók.

Ez lehet a lényeg:

"The new IPC Template Type defined 21 input parameter fields, but the integration code that invoked the Content Interpreter with Channel File 291’s Template Instances supplied only 20 input values to match against. This parameter count mismatch evaded multiple layers of build validation and testing, as it was not discovered during the sensor release testing process, the Template Type (using a test Template Instance) stress testing or the first several successful deployments of IPC Template Instances in the field. In part, this was due to the use of wildcard matching criteria for the 21st input during testing and in the initial IPC Template Instances."

Dehogy! Ez kodosites. Kiadnak valami jo bonyolultnk hangzo, de ujsagirok altal meg konnyen masolhato szovegreszletet. Beloknek a busz ala par teszt leadert, esetleg project managert. Meg hat a korulmenyek es a tarsadalmi egyenlotlenseg aldozatai ok, es thoughts&prayers.

A hiba a sok ponton romlott gepezetben talalhato szinte mindig. Uzleti- es technologiai folyamatok, azok fejlesztese (vagy annak hianya), kommunikacio (kodosites nem csak a press-release szintjen, hanem minden lepesben a fejleszto aztalatol a CEO-ig.), vezetok kivalasztasa stb. Ezt kb. soha sem publikaljak, mar ha egyaltalan leasnak a dolgok melyere. Nehany nagy ugyfel vagy felugyeleti szerv kikenyszeritheti, es valos valtozasok is elindulhatnak, de nem fogjak a nagyerdemu orrara kotni, hisz ugysem ertik.

Ha kicsit tovább olvasod, akkor a vége felé azért beleírták, hogy most már szorosabban együttműködnek a MS-tal, hogy legyen WHQL hitelesítésük, meg újfajta tesztlaborokat hoztak létre. Illetve két külső vendorral auditáltatják a kódjukat.

Csak azt nem értem, hogy eddig akkor náluk milyen volt a minőségbiztosítás.

szorosabban együttműködnek a MS-tal, hogy legyen WHQL hitelesítésük, meg újfajta tesztlaborokat hoztak létre

Az a mitigation. Mondjuk eleg gyenge, de a nagykozonsegnek mindegy. Egy komolyabb ugyfel/RCA driver csak ekkor kezdi el tekerni a tokuket.

Az a linkelt doksi egy vicc. Max bugreportnak neveznem.

Csak azt nem értem, hogy eddig akkor náluk milyen volt a minőségbiztosítás.

Na, ez az also szintu kerdes. Az, hogy most akkor a nagyonfontos.cpp 2976. soraban az "if (a=1)" valojaban "if (a==1)" kene legyen, az a loteri kutyat sem erdekli.

Egy rendes RCA fenyt derit(ene) arra, hogy hol is kene valtoztatniuk, hogy tobbe ilyesmi ne fordulhasson elo. Hany sebbol vereznek a folyamataik (ismerik-e egyaltalan a sajat folyamataikat), miert, miert nem. De egy RCA nagyon faj.

A szolgáltatói szektorban minden ügyfeles bazdmeg után véres szemekkel várja a fizetős kuncsaft az RCA-t a mérnöktől h. "má megint mijért basztátok el Hülye Szolgáltató?!?". Aztán az RCA-ban minden is meg van ígérve, soha többet nem fordul elő ilyesmi stb. stb. stb. stb.

Grátisz: utána az összes semmi-köze-nem-volt-a-bazmeghez részleget is kollektíven büntetik-baszogatják a középvezető seggfejek hetekig-hónapokig. A change-eket ilyenkor be kell jelenteni előre h. valami nagyfejű meglesse, dzseditanácsnak kell jóváhagynia, írni kell a forgatókönyv ekszel halmokat. Aztán meglepetés: még így is el szoktak baszódni ügyfélmigrálás-projectek. Mert már csak ilyen ez a nyomorult IT. Nem kiszámítható, nem látható előre minden ismeretlen körülmény és tényező. Tesztkörnyezet meg itt nálunk egy jó nagy bandának a napi melójához semmilyen szinten nincs (marad a legjobb tesztkörnyezet: az ügyfél rendszere; ill. bármikor vehetsz saját hitelkártyára saját privát azure játszóteret, ha a munkáltatód szarik a fejedre évek hosszú könyörgése után is).

Aztán mivel nem lehet dolgozni non-stop készenlét és rendkívüli veszélyhelyzeti körülmények között, 1-2 hónap után lecseng ez az összes faszság, és a következő bazdmegig megint lehet nyugodtan (és nagyrészt JÓL) dolgozni. A mikromenedzserkedő állatok nélkül.

CrowdStrike certifies each new Windows sensor release through the Windows Hardware Quality Labs (WHQL) program, which includes extensive testing through all required tests in Microsoft’s Windows Hardware Lab Kit (HLK) and Windows Hardware Certification Kit (HCK).

Eszerint van most is WHQL hitelesitesuk.

Bele kéne menni a részletekbe, ha már IT szakportál:

volt természetesen WHQL plecsni a kernel módú driveren.

Igenám! De a kernel drájver gyakorlatilag csak 1 szkripting engine volt. Amihez a már-nem-whql-aláírt definiciós fájl szolgáltatta nem csak a statikus szignaturákat, hanem a dinamikus működési logikát is. Azt mondják azért csinálták így, mert ha naponta 10x adnak ki update-ket az új fenyegetések miatt, a whql lassú processz meg 1 hét átfutású, akkor máskülönbem meg vannak lőve. Így tehát volt egy whql-certified kernel módú drájver, ami effektíve jól és stabilan működött. Viszont van hozzá egy nem-certified definiciós fájl, ami a kernel módú drájver működését bármikor meg tudja változtatni. Ez utóbbit meg nyilván nem vizsgálja a microsoft, ezért a rizikó ennek a jóságában / megbízhatóságában volt. És hát ez bukott meg a múltkor.

Amúgy egy nagy büdös lófszt nem ér a whql plecsni. Ott van az amd és az nvidia certified drájverei. Minden hónapban jön ki 3-4, mégis rendszeresen crashel embereknél a legváltozatosabb módokon és indokokból. A whql kb csak annyit biztosít, h. pár egyszerű teszt-esetnek megfelel a kód, és hogy a partner befizette a mikroszoft kasszába a whql-partnerség védelmi pénzét. Akit érdekel, némi keresgéléssel talán meg is találja a whql-certified kritériumait a mikroszoft valamelyik eldugott oldalán. Többet nem kell belelátni a whql témába.

Már az is egy elég durva szkript/query volt, amit ahhoz adtak hogy megnézd hogy (potenciálisan?) melyik gépek voltak érintettek és csuklottak össze.

Ez van, a rugalmasság kétélű fegyver.

Lazán kapcsolódik: https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule

Az már offtopic, hogy a banki appom (Erste George) fejlesztői is úgy érezték valamiért, hogy annak induláskor kell letöltenie modulokat... :-(((

A whql plecsni az nagyjából annyit ér mint egy SSL tanúsítvány - annyit mond hogy az adott bináris x cégtől jön, csá.
Pont annyira átbaszás mint amikor az ISO9001-től azt várják az emberek hogy "na ott majd jó minőséget csinálnak". Pedig az ISO9001 csak annyit mond, hogy "igyekeznek egyformát csinálni".

Gábriel Ákos

Ez egy nagy ködösítés, maszatolás, szerintem szégyellik a valódi okokat, mert gondolom vérlázító.

Van ahol nem szégyellik, és részletesen közzéteszik mi volt a bibi.

A tudomány és a hit vitája akkor eldőlt, amikor villámhárítót szereltek a templomokra.