Crowdstrike-krascherna är EU:s fel, påstår Microsoft

Permalänk
Medlem
Skrivet av Patriksan:

Fast nu är det så att det är Microsoft som testar koden och stämplar certifikatet som tillåter koden att köras.

Certifieringsproceduren WHQL

Deras Falcon(R) kernel driver är WHQL certifierad och även deras interpretator som läser antivirus-definitionsfiler ingår där. Definitions-filerna, som var problemet i detta fallet, behöver inte gå igenom WHQL certifieringen.

Man kan argumentera för att interpretatorn hade buggar som tillät en inkorrekt definitionsfil att krasha deras kernel driver, och att detta borde fångats upp i WHQL processen. Men ärligt talat så är det bara en av många saker i Cloudstrikes process som måste ha gått fel för att detta ska kunna hända i denna skalan.

  1. Avsaknad av "staggered" utrullningsprocess genom "canary" eller liknande

  2. Avsaknad av checksums och/eller verifiering av checksums av definitionsfiler i Falcon(R) (borde fångats upp av WHQL)

  3. Avsaknad av fel-hantering i Falcon(R) kring felaktiga definitionsfiler. (borde fångats upp av WHQL)

  4. Avsaknad av test host Cloudstrike gällande definitionsfiler, eller test har ignorerats

  5. Alternativ, avsaknad av test på _slutgiltig_ definitionsfil (kan hända att Cloudstrike testar pre-release artefakter, men inte slutlig release och något har förstört filen i sista steget)

Alla dessa måste ha gått fel, och 2/5 av dessa kan skyllas på WHQL processen, men 5/5 kan skyllas på bristande rutiner hos Cloudstrike och i slutändan är det dem som bär ansvaret.

Kan också tycka att företag bär ansvaret som tillåter någon att automatiskt rulla ut uppdateringar utan egen kontroll.

Visa signatur

Louqe Ghost S1 MK3 | Asus ROG Strix B660-I Gaming WiFi | Intel Core i7 12700K | nVidia RTX 2070 Super FE | Corsair 64GB (2x32GB) DDR5 5600MHz CL40 Vengeance | Samsung 980 PRO M.2 NVMe SSD 2TB | Corsair SF750 750W 80+ Platinum | Noctua NH-L12 Ghost S1 edition | Kablar från pslate customs | 2 stk Dell Ultrasharp 3014 | Logitech MX Keys | Logitech MX Anywhere

Permalänk
Hedersmedlem
Skrivet av 0cool:

Absolut men det är bara en skillnad inte en förklaring. MS kan lösa detta även om de tillåter kernelmode från 3part och de behöver inte tillåta kernelmode från 3part bara för att de råkade välja den designen för 25 år sedan.

Man skall givetvis ha förståelse för att MS har ett berg av bakåtkompatibilitet att ta hänsyn till men det får inte ursäkta vad som helst av defekter.

Har du något förslag, rent konkret, på hur MS skulle kunna lösa detta, och fortfarande låta tredjepart köra vilken kod de vill?

Jag vill påstå att det inte är möjligt, då detta kan reduceras till stopproblemet. Det är inte möjligt att i förväg veta om ett program kommer orsaka ett fel och orsaka en krasch.

Dessutom hade Crowdstrike specifikt valt att markera drivrutinen som kritisk för uppstart, vilket sätter Microsofts inbyggda system, som stänger av drivrutiner som strular, ur spel. Detta är medvetet då man gjort bedömningen att man helst inte startar datorn alls om säkerhetsagenten strular, eftersom strulet kan bero på att säkerhetsagenten saboterats på något sätt. Klassiska avvägningen mellan säkerhet och tillgänglighet. Man bestämde att det är bättre att datorn inte startar alls, än att den startar utan skydd. I det här fallet fungerade Microsofts system korrekt, det gjorde det den blev tillsagd.

Det går väl också att argumentera för att Microsoft ska tillhandahålla API:er som gör att mjukvara som Crowdstrike inte ska behöva köras i en drivrutin i kernel mode. Men då kan du lika gärna argumentera för att hela Windows ska kasta ut all kod skriven i C och C++ och skrivas om i ett minnessäkert språk för att slippa problem minneskorruptionsbuggar. Det går alltid att göra en produkt bättre eller säkrare, men det betyder inte automatiskt att det är fel på den, bara för att den skulle kunna vara bättre. Det är inte rimligt att begära att ett program är perfekt och felfritt.

Permalänk
Skrivet av sunefred:

Deras Falcon(R) kernel driver är WHQL certifierad och även deras interpretator som läser antivirus-definitionsfiler ingår där. Definitions-filerna, som var problemet i detta fallet, behöver inte gå igenom WHQL certifieringen.

Man kan argumentera för att interpretatorn hade buggar som tillät en inkorrekt definitionsfil att krasha deras kernel driver, och att detta borde fångats upp i WHQL processen. Men ärligt talat så är det bara en av många saker i Cloudstrikes process som måste ha gått fel för att detta ska kunna hända i denna skalan.

  1. Avsaknad av "staggered" utrullningsprocess genom "canary" eller liknande

  2. Avsaknad av checksums och/eller verifiering av checksums av definitionsfiler i Falcon(R) (borde fångats upp av WHQL)

  3. Avsaknad av fel-hantering i Falcon(R) kring felaktiga definitionsfiler. (borde fångats upp av WHQL)

  4. Avsaknad av test host Cloudstrike gällande definitionsfiler, eller test har ignorerats

  5. Alternativ, avsaknad av test på _slutgiltig_ definitionsfil (kan hända att Cloudstrike testar pre-release artefakter, men inte slutlig release och något har förstört filen i sista steget)

Alla dessa måste ha gått fel, och 2/5 av dessa kan skyllas på WHQL processen, men 5/5 kan skyllas på bristande rutiner hos Cloudstrike och i slutändan är det dem som bär ansvaret.

Kan också tycka att företag bär ansvaret som tillåter någon att automatiskt rulla ut uppdateringar utan egen kontroll.

I princip är det väl bådas fel men i MS fall så är det längre bak i tiden: Deras WHQL-process borde ha fångat upp brist på felhanteringskod i Falcons drivrutiner innan den överhuvudtaget fick köras på kernel-nivå som en boot-driver och som utan någon felhantering försökte läsa en trasig definitionsfil vilket ledde till att MS kernel började gråta blått över hela skärmen?

Jag ser att det är bådas fel med olika ansvarsområden: MS måste förbättra WHQL-processen, och CS måste förbättra både sina Falcon-drivrutiner (dvs., sluta blå-gråta över oläsbara definitionsfiler) och deras testprocesser av definitionsfiler innan de skickas ut. Tydligen "lättare sagt än gjort" i detta fall eller är det kanske ren ekonomisk dumsnålhet?!

Mvh,
WKF.

Visa signatur

(V)ulnerabilities
(I)n
(B)asically
(E)verything
Programming

Permalänk
Medlem
Skrivet av WebbkodsFrilansaren:

I princip är det väl bådas fel men i MS fall så är det längre bak i tiden: Deras WHQL-process borde ha fångat upp brist på felhanteringskod i Falcons drivrutiner innan den överhuvudtaget fick köras på kernel-nivå som en boot-driver och som utan någon felhantering försökte läsa en trasig definitionsfil vilket ledde till att MS kernel började gråta blått över hela skärmen?

Jag ser att det är bådas fel med olika ansvarsområden: MS måste förbättra WHQL-processen, och CS måste förbättra både sina Falcon-drivrutiner (dvs., sluta blå-gråta över oläsbara definitionsfiler) och deras testprocesser av definitionsfiler innan de skickas ut. Tydligen "lättare sagt än gjort" i detta fall eller är det kanske ren ekonomisk dumsnålhet?!

Mvh,
WKF.

Jag håller absolut med dig, det är nåt som skulle kunna ingå i WHQL certifieringen. Vad jag _tror_ den processen egentligen innebär dock, är att Microsoft kör igenom deras gigantiska test-svit för Windows, och på många olika hårdvaruplattformar. Jag är frågande till om det finns mjukvaruingenjörer involverat som faktiskt tittar på kod, tester eller processer hos tillverkaren.

Om det finns expertis här på SWEC som gått igenom WHQL hos Microsoft eller liknande hos Apple eller Google vore det väldigt intressant att veta.

Visa signatur

Louqe Ghost S1 MK3 | Asus ROG Strix B660-I Gaming WiFi | Intel Core i7 12700K | nVidia RTX 2070 Super FE | Corsair 64GB (2x32GB) DDR5 5600MHz CL40 Vengeance | Samsung 980 PRO M.2 NVMe SSD 2TB | Corsair SF750 750W 80+ Platinum | Noctua NH-L12 Ghost S1 edition | Kablar från pslate customs | 2 stk Dell Ultrasharp 3014 | Logitech MX Keys | Logitech MX Anywhere

Permalänk
Skrivet av pv2b:

Det går väl också att argumentera för att Microsoft ska tillhandahålla API:er som gör att mjukvara som Crowdstrike inte ska behöva köras i en drivrutin i kernel mode. Men då kan du lika gärna argumentera för att hela Windows ska kasta ut all kod skriven i C och C++ och skrivas om i ett minnessäkert språk för att slippa problem minneskorruptionsbuggar. Det går alltid att göra en produkt bättre eller säkrare, men det betyder inte automatiskt att det är fel på den, bara för att den skulle kunna vara bättre. Det är inte rimligt att begära att ett program är perfekt och felfritt.

Att klaga på uppenbara problem är inte samma sak som att kräva att det är perfekt, dock.
Problemställningen med att Windowsdrivare går i Ring0 har varit känd sedan länge: detta var ett problem med Windows NT också.

Linux har gjort något åt det genom att ge möjlighet för säkerhetsprogram att koppla upp sig mot hooks i kärnan för att se vad som exempelvis passerar nätverkskortet helt utan att säkerhetsverktyget behöver gå i kärnans kontext. Apple har tagit det ett steg längre genom att kasta ut hela nätverksstacken till user space. I ingetdera fallet behöver man riskera en kernel panic i händelse av att en sommarpraktikant skickar in taskig data till ditt säkerhetsverktyg.

Permalänk
Medlem
Skrivet av pv2b:

Jag vet inte varför du tar upp "andras hus". För datorn ägs ju av den som äger datorn, inte av Microsoft.

Crowdstrike är gäst i huset Windows förstås. En av många gäster, och friheten för Crowdstrike sabbade för alla andra gäster (biljettbokningssystem mm) samt huset i sig. Den friheten skall de inte ha.

Liknelser är roliga men de måste stämma med den verklighet de liknar. Att en pelletspanna kan orsaka brand är förväntat. Att en automatisk uppdatering av antivirussystemet kan sänka servern permanent är inte förväntat. En pelletspanna i detta fallet kan motsvara en faktisk drivrutin för ett SAN exempelvis, man kan förvänta sig att problem med den gör servern obootbar.

Crowdstrike är däremot inte en drivrutin för ett SAN. I liknelsen är den alltså inte en pelletspanna. Det är mer som en kartong med ordet "pelletspanna" skrivet på utsidan. De skall inte orsaka bränder, och i fredags orsakade den bränder enbart i Microsofts hus. Den defekten måste Microsoft fixa.

Kanske räcker det med liknelser nu...

Permalänk
Hedersmedlem
Skrivet av Det Otroliga Åbäket:

Att klaga på uppenbara problem är inte samma sak som att kräva att det är perfekt, dock.
Problemställningen med att Windowsdrivare går i Ring0 har varit känd sedan länge: detta var ett problem med Windows NT också.

Linux har gjort något åt det genom att ge möjlighet för säkerhetsprogram att koppla upp sig mot hooks i kärnan för att se vad som exempelvis passerar nätverkskortet helt utan att säkerhetsverktyget behöver gå i kärnans kontext. Apple har tagit det ett steg längre genom att kasta ut hela nätverksstacken till user space. I ingetdera fallet behöver man riskera en kernel panic i händelse av att en sommarpraktikant skickar in taskig data till ditt säkerhetsverktyg.

Jodå, Microsoft kunde haft mer faciliteter i sitt OS än det faktiskt har. Men givet att de funktionerna inte finns i Windows så har Crowdstrike valt att istället implementera dem själv med hjälp av en drivrutin, med de konsekvenser det innebär. Crowdstrike kunde valt att skapa den här sortens "hooks" själva i en egen drivrutin och köra säkerhetsprogrammet i userspace istället. Det är inte Microsofts fel att Crowdstrike valt att göra för mycket i kernel mode.

Oavsett, ponera istället att Crowdstrike inte injicerar någon kod i kernel-mode. Istället använder de en OS-facilitet som kan se vad som passerar nätverkskortet, och även hindra trafik från att passera (annars är det ju inte mycket till säkerhetsprogram). I ett sådant fall skulle en trasig uppdatering kunna leda till att nätverkskortet sätts helt ur spel. Och eftersom nätverkskortet är satt ur spel så går det inte heller att fixa på distans, eftersom det inte går att ladda in några nya uppdateringar. En modern dator är i princip helt oanvändbar utan nätverkskort, så konsekvensen hade blivit ungefär den samma med en annan teknisk implementation - tekniker måste ut och sätta fingrarna på de påverkade maskinerna.

Det är lite det jag är inne på. Ja, Microsoft kunde ha exponerat bättre faciliteter i sitt OS, men i slutändan så behöver säkerhetsprogram så mycket kontroll över din dator att de i praktiken kan krascha dem och göra dem helt oanvändbara, så konsekvensen blir alltjämt den samma.

Microsoft kan inte lösa det här grundproblemet på något annat sätt än att hindra tredje parter från att köra kod som kan göra datorn obrukbar. Den situationen skulle Microsoft väldigt gärna vilja vara i, men det är inte bra för oss som användare.

Permalänk
Medlem

@0cool Lol, ok. Men hur kan en kartong med "Pelletspanna" skrivet på, upptäcka en clown i entrén?

Visa signatur

Louqe Ghost S1 MK3 | Asus ROG Strix B660-I Gaming WiFi | Intel Core i7 12700K | nVidia RTX 2070 Super FE | Corsair 64GB (2x32GB) DDR5 5600MHz CL40 Vengeance | Samsung 980 PRO M.2 NVMe SSD 2TB | Corsair SF750 750W 80+ Platinum | Noctua NH-L12 Ghost S1 edition | Kablar från pslate customs | 2 stk Dell Ultrasharp 3014 | Logitech MX Keys | Logitech MX Anywhere

Permalänk
Hedersmedlem
Skrivet av 0cool:

Crowdstrike är gäst i huset Windows förstås. En av många gäster, och friheten för Crowdstrike sabbade för alla andra gäster (biljettbokningssystem mm) samt huset i sig. Den friheten skall de inte ha.

Liknelser är roliga men de måste stämma med den verklighet de liknar. Att en pelletspanna kan orsaka brand är förväntat. Att en automatisk uppdatering av antivirussystemet kan sänka servern permanent är inte förväntat. En pelletspanna i detta fallet kan motsvara en faktisk drivrutin för ett SAN exempelvis, man kan förvänta sig att problem med den gör servern obootbar.

Crowdstrike är däremot inte en drivrutin för ett SAN. I liknelsen är den alltså inte en pelletspanna. Det är mer som en kartong med ordet "pelletspanna" skrivet på utsidan. De skall inte orsaka bränder, och i fredags orsakade den bränder enbart i Microsofts hus. Den defekten måste Microsoft fixa.

Kanske räcker det med liknelser nu...

Aha, du menar så, även då stämmer inte liknelsen.

Om jag (systemadministratören) bjuder in en gäst (Crowdstrike) i mitt hem (min server) som sedan går ner i källaren, häller ut några dunkar med bensin och tuttar på (kraschar mitt OS), så är det inte hustillverkarens (Microsoft) fel. Det är gästens fel som missbrukar mitt förtroende, eller möjligen mitt fel som bjuder in en gäst som gjort detta. I ingen värld är det hustillverkarens fel.

Men ja, det är nog bra om man är lite sparsam med liknelser, är tydlig vad man menar med dem, och inte extrapolerar för långt!

Men jag skulle faktiskt vilja påstå att en förväntad funktion för ett säkerhetsprogram är att göra datorn obootbar, om det finns ett problem säkerhetsprogrammet inte kan åtgärda. I det här fallet så har det inte skett riktigt som Crowdstrike tänkt sig, men att göra datorn oanvändbar är ändå något som ett säkerhetsprogram måste kunna göra inom ramarna för sin normala funktion. Även om Microsoft hade gjort det möjligt att skriva säkrare kod så har säkerhetsprogrammet inte rent fundamentalt tagit sig några friheter eller rättigheter som det inte behöver ha, i det här fallet.

Permalänk
Medlem
Skrivet av sunefred:

@0cool Lol, ok. Men hur kan en kartong med "Pelletspanna" skrivet på, upptäcka en clown i entrén?

Det står "clowndetektor, på hedersord" i blyerts på insidan av kartongen.

Permalänk
Skrivet av pv2b:

Jodå, Microsoft kunde haft mer faciliteter i sitt OS än det faktiskt har. Men givet att de funktionerna inte finns i Windows så har Crowdstrike valt att istället implementera dem själv med hjälp av en drivrutin, med de konsekvenser det innebär. Crowdstrike kunde valt att skapa den här sortens "hooks" själva i en egen drivrutin och köra säkerhetsprogrammet i userspace istället. Det är inte Microsofts fel att Crowdstrike valt att göra för mycket i kernel mode.

Oavsett, ponera istället att Crowdstrike inte injicerar någon kod i kernel-mode. Istället använder de en OS-facilitet som kan se vad som passerar nätverkskortet, och även hindra trafik från att passera (annars är det ju inte mycket till säkerhetsprogram). I ett sådant fall skulle en trasig uppdatering kunna leda till att nätverkskortet sätts helt ur spel. Och eftersom nätverkskortet är satt ur spel så går det inte heller att fixa på distans, eftersom det inte går att ladda in några nya uppdateringar. En modern dator är i princip helt oanvändbar utan nätverkskort, så konsekvensen hade blivit ungefär den samma med en annan teknisk implementation - tekniker måste ut och sätta fingrarna på de påverkade maskinerna.

Det är lite det jag är inne på. Ja, Microsoft kunde ha exponerat bättre faciliteter i sitt OS, men i slutändan så behöver säkerhetsprogram så mycket kontroll över din dator att de i praktiken kan krascha dem och göra dem helt oanvändbara, så konsekvensen blir alltjämt den samma.

Microsoft kan inte lösa det här grundproblemet på något annat sätt än att hindra tredje parter från att köra kod som kan göra datorn obrukbar. Den situationen skulle Microsoft väldigt gärna vilja vara i, men det är inte bra för oss som användare.

Håller absolut med dig i detta. CrowdStrike ska ha all skit de förtjänar för sättet detta verkar vara implementerat på, men faktum kvarstår att a) Microsoft har varit extremt dåliga på att prioritera säkerhet över andra företagsvärden sedan firman grundades oavsett vad Nadella säger, och b) detta är inte EUs fel.

Permalänk
Medlem
Skrivet av Det Otroliga Åbäket:

Att klaga på uppenbara problem är inte samma sak som att kräva att det är perfekt, dock.
Problemställningen med att Windowsdrivare går i Ring0 har varit känd sedan länge: detta var ett problem med Windows NT också.

Linux har gjort något åt det genom att ge möjlighet för säkerhetsprogram att koppla upp sig mot hooks i kärnan för att se vad som exempelvis passerar nätverkskortet helt utan att säkerhetsverktyget behöver gå i kärnans kontext. Apple har tagit det ett steg längre genom att kasta ut hela nätverksstacken till user space. I ingetdera fallet behöver man riskera en kernel panic i händelse av att en sommarpraktikant skickar in taskig data till ditt säkerhetsverktyg.

Permalänk
Medlem
Skrivet av pv2b:

Om jag (systemadministratören) bjuder in en gäst (Crowdstrike) i mitt hem (min server) som sedan går ner i källaren, häller ut några dunkar med bensin och tuttar på (kraschar mitt OS),

Nu fallerar din liknelse igen. Crowdstrike hällde inte ut dunkar med bensin och tuttade på eftersom ingen på Crowdstrike hade som avsikt att sänka servrar. Crowdstrike är som en gäst som spillde vatten på ditt golv och först då visar det sig att i Microsofts hus är golvet gjort av sodium.

Liknelsefritt (så vi inte skriver hela bibeln) så är poängen kort sagt att följdfelen av det Crowdstrike fuckade upp blev enorma pga brister i Windows och det är brister som inte behöver finnas i Windows. Inte ens pga EU, barnen eller mänskliga rättigheter.

Permalänk
Hedersmedlem
Skrivet av 0cool:

Nu fallerar din liknelse igen. Crowdstrike hällde inte ut dunkar med bensin och tuttade på eftersom ingen på Crowdstrike hade som avsikt att sänka servrar. Crowdstrike är som en gäst som spillde vatten på ditt golv och först då visar det sig att i Microsofts hus är golvet gjort av sodium.

Liknelsefritt (så vi inte skriver hela bibeln) så är poängen kort sagt att följdfelen av det Crowdstrike fuckade upp blev enorma pga brister i Windows och det är brister som inte behöver finnas i Windows. Inte ens pga EU, barnen eller mänskliga rättigheter.

Okej, vi skippar liknelserna och försöker reducera ner det här till pudelns kärna.

Ett säkerhetsprogram stöter på något slags fel som gör att programmet inte kan starta eller fungera korrekt.

Vad ska hända i det här fallet?

A. OS:et ska stänga av säkerhetsprogrammet och fortsätta som vanligt, fast utan skydd.
B. Datorn ska hindras från att fungera, eftersom det inte är säkert att fortsätta om säkerhetsprogrammet är ur funktion.

Jag vill påstå att det är rimligt att välja B. Och i praktiken är det också det som hänt här. Annars hade det varit mycket lättare att sätta ett säkerhetsprogram ur spel, det räcker med att krascha dem, för då stänger OS:et av det.

Notera att det inte spelar någon roll i den här analysen om kraschen sker i kernelspace eller userspace.

Eller finns det någon annan variant förutom A och B som du tänker på?

Permalänk
Medlem
Skrivet av 0cool:

Crowdstrike är gäst i huset Windows förstås. En av många gäster, och friheten för Crowdstrike sabbade för alla andra gäster (biljettbokningssystem mm) samt huset i sig. Den friheten skall de inte ha.

Liknelser är roliga men de måste stämma med den verklighet de liknar. Att en pelletspanna kan orsaka brand är förväntat. Att en automatisk uppdatering av antivirussystemet kan sänka servern permanent är inte förväntat. En pelletspanna i detta fallet kan motsvara en faktisk drivrutin för ett SAN exempelvis, man kan förvänta sig att problem med den gör servern obootbar.

Crowdstrike är däremot inte en drivrutin för ett SAN. I liknelsen är den alltså inte en pelletspanna. Det är mer som en kartong med ordet "pelletspanna" skrivet på utsidan. De skall inte orsaka bränder, och i fredags orsakade den bränder enbart i Microsofts hus. Den defekten måste Microsoft fixa.

Kanske räcker det med liknelser nu...

Jag vet inte om jag håller med din jämförelse med antivirus kontra SAN-drivrutin, där jag ser den förra som betydligt mer invasiv. Sen får man nog säga att om man bara skall förhindra "förväntade fel", så har man ingen lång karriär i säkerhetsbranschen att se fram emot. Då är det en annan yrkeskategori som ligger närmare att satsa på.. - "Vi såg det inte komma!".

Wilhelm Agrell har skrivit en bok om detta V.S.D.I.K - att missa, förtränga och bortförklara samhällshot. där han lyfter fyra olika händelser.

Citat:

Varför reagerar samhällen ofta för svagt och för sent på varnings­signaler? Och varför underpresterar förvarningssystemets experter och institutioner i just det som är deras huvuduppgift?

Permalänk
Medlem
Skrivet av pv2b:

Har du något förslag, rent konkret, på hur MS skulle kunna lösa detta, och fortfarande låta tredjepart köra vilken kod de vill?

Tredjepart skall inte få köra vilken kod de vill! Hallå, produkten det handlar om är exakt till för att stoppa körning av vilken kod man vill!
Anarki funkar lika lite på en server som det gör i samhället.

Bara för att man förbjuder att sänka kerneln betyder det inte att man kränker någons relevanta frihet i övrigt.

Skrivet av pv2b:

Jag vill påstå att det inte är möjligt, då detta kan reduceras till stopproblemet. Det är inte möjligt att i förväg veta om ett program kommer orsaka ett fel och orsaka en krasch.

Stopproblemet handlar om huruvida det går att bevisa generellt för alla tänkbara program på alla tänkbara datorer, inte om det går att avgöra på en given dator för ett givet program och input. Man kan absolut avgöra på förhand om Crowdstrike kommer krascha med senaste definitionsfilen.

Dessutom behöver man inte avgöra det på förhand, man behöver bara undvika programmet om det kraschade senast.

Skrivet av pv2b:

Man bestämde att det är bättre att datorn inte startar alls, än att den startar utan skydd. I det här fallet fungerade Microsofts system korrekt, det gjorde det den blev tillsagd.

Vilken "man"? Det var ingen serveransvarig som fattade något sådant beslut i fredags. Det råkade bara hända, oavsiktligt, på grund av en brist i windows. Och den bristen behöver inte finnas, den är lösbar och har lösts av andra. Det finns ingen teknisk eller politisk anledning som gör detta omöjligt för MS.

Permalänk
Hedersmedlem
Skrivet av 0cool:

Tredjepart skall inte få köra vilken kod de vill! Hallå, produkten det handlar om är exakt till för att stoppa körning av vilken kod man vill!
Anarki funkar lika lite på en server som det gör i samhället.

Bara för att man förbjuder att sänka kerneln betyder det inte att man kränker någons relevanta frihet i övrigt.

Stopproblemet handlar om huruvida det går att bevisa generellt för alla tänkbara program på alla tänkbara datorer, inte om det går att avgöra på en given dator för ett givet program och input. Man kan absolut avgöra på förhand om Crowdstrike kommer krascha med senaste definitionsfilen.

Dessutom behöver man inte avgöra det på förhand, man behöver bara undvika programmet om det kraschade senast.

Vilken "man"? Det var ingen serveransvarig som fattade något sådant beslut i fredags. Det råkade bara hända, oavsiktligt, på grund av en brist i windows. Och den bristen behöver inte finnas, den är lösbar och har lösts av andra. Det finns ingen teknisk eller politisk anledning som gör detta omöjligt för MS.

Det verkar som vi har en fundamental åsiktsskiljaktighet som inte går att mötas inom. Jag påstår att det är datorns ägare som ytterst ska välja vilken kod som körs på datorn. Om datorns ägare väljer att installera kod från Crowdstrike, då ska datorn köra den koden. Punkt. Även om den är trasig. Det är inte anarki, det är att datorns ägare bestämmer över sin egen dator, och kan delegera bort de besluten om hen vill. Till Crowdstrike t.ex. Och om du bara viftar bort det som irrelevant snack om "mänskliga rättigheter" så finns det inget att diskutera här. Vi håller helt enkelt inte med varandra.

Angående vem "man" är: Krascherna berodde på att serveradministratörer (eller de de jobbar för) bestämt att Crowdstrike ska köras på servern. Crowdstrike har i sin tur tagit det vanvettiga beslutet att implementera sin mjukvara genom att den bara rakt upp och ner kör kod i kernelspace utan någon slags validering. Microsoft finns inte med i loopen här alls, och ska inte göra det. Vill användare skita ner sin egen dator så får de göra det, och om tredje betrodd part skitar ner datorn, då är det inte Microsofts fel. Det är egentligen inte

Det är ingen som tvingat Crowdstrike att göra sin implementation på det sätt de gjort. De kunde skapat en drivrutin som bara exponerar relevanta funktioner till en fetare process i userspace som gör allt den behöver göra. Det finns inget som hindrar mig att göra ett program med liknande design som injicerar en kernelmodul i Linux t.ex. Det är en dålig idé, men det är inte OS:ets fel.

Crowdstrike kunde ha gjort exakt samma implementation i userspace om de velat det. Konsekvensen hade då varit att programmet kraschat. I userspace istället. Men vilken skillnad gör det?

Är det verkligen ett egenändamål att hindra kraschar i kerneln? Se på det hela i ett större perspektiv istället.

Svara gärna på mitt förra inlägg om vad du tycker OS:et bör göra i en situation där säkerhetsprogrammet inte kan starta av någon anledning.

Permalänk
Medlem
Skrivet av mc68000:

Jag vet inte om jag håller med din jämförelse med antivirus kontra SAN-drivrutin,

Den bygger på att ett SAN kan vara bootenheten och därför faktiskt måsta vara en boot start driver, och den som installerar den kan förvänta sig att datorn inte startar om den fallerar. Att däremot en virusdefinition som uppdateras utan din kontroll beter sig som den vore en SAN-drivrutin är oväntat.

Än mer när man administrerar flera servrar och datorer och det enbart är i Windows som den faktiskt beter sig som en SAN-drivrutin.

Makes sense?

Förstår inte riktigt poängen om oväntade fel i säkerhetsbanchen. Att produkten i sig skall upptäcka oväntade fel i andra system är ju inte samma sak som att den skall få orsaka oväntade fel själv.

Att säkerhetsprodukter som skall skydda servrar istället sänker servrar kan däremot avsluta karriärer i säkerhetsbranschen snabbt. Får man hoppas.

Permalänk
Skrivet av 0cool:

Att säkerhetsprodukter som skall skydda servrar istället sänker servrar kan däremot avsluta karriärer i säkerhetsbranschen snabbt. Får man hoppas.

Jag vill lägga ett hopp till ditt hopp:
Att det är den arkitekt som godkände en vanvettig design som får sparken och inte den stackars jäkeln som råkade trycka ut felaktig data i fredags…

Permalänk
Medlem
Skrivet av pv2b:

Det verkar som vi har en fundamental åsiktsskiljaktighet som inte går att mötas inom. Jag påstår att det är datorns ägare som ytterst ska välja vilken kod som körs på datorn.

Det tycker jag med, och det är därför ditt resonemang är galet.

Datorernas ägare i fredags ville köra biljettbokningssystem. Det fick de inte göra.
Crowdstrike ville uppdatera sin virusdefintion, inte sänka servrar. De fick inte heller välja vilken kod som skall köras.

Ingen ägare eller någon annan i kedjan ville att det som hände i fredags skulle hända, Ingen. Det var helt oavsiktligt. Därmed per definition en defekt.

Och den defekten kan alltså lösas, men bara av Microsoft.

Permalänk
Medlem
Skrivet av Det Otroliga Åbäket:

Jag vill lägga ett hopp till ditt hopp:
Att det är den arkitekt som godkände en vanvettig design som får sparken och inte den stackars jäkeln som råkade trycka ut felaktig data i fredags…

Håller med till 100%.

Chefen för Crowdstrike gjorde exakt samma fel på McAfee för 10 år sedan enligt vissa källor, även om ingen individ ensam är ansvarig för detta kan jag tycka att just han sticker ut i sammanhanget i så fall...

Permalänk
Medlem
Skrivet av Det Otroliga Åbäket:

Linux har gjort något åt det genom att ge möjlighet för säkerhetsprogram att koppla upp sig mot hooks i kärnan för att se vad som exempelvis passerar nätverkskortet helt utan att säkerhetsverktyget behöver gå i kärnans kontext. Apple har tagit det ett steg längre genom att kasta ut hela nätverksstacken till user space. I ingetdera fallet behöver man riskera en kernel panic i händelse av att en sommarpraktikant skickar in taskig data till ditt säkerhetsverktyg.

Det är ironiskt då att det är just sådan funktionalitet som Microsoft ville införa i Windows och som stoppades av EU. Källa nedan:

https://youtu.be/ZHrayP-Y71Q?si=83SMQITohYAHLrth&t=378

Visa signatur

Louqe Ghost S1 MK3 | Asus ROG Strix B660-I Gaming WiFi | Intel Core i7 12700K | nVidia RTX 2070 Super FE | Corsair 64GB (2x32GB) DDR5 5600MHz CL40 Vengeance | Samsung 980 PRO M.2 NVMe SSD 2TB | Corsair SF750 750W 80+ Platinum | Noctua NH-L12 Ghost S1 edition | Kablar från pslate customs | 2 stk Dell Ultrasharp 3014 | Logitech MX Keys | Logitech MX Anywhere

Permalänk
Skrivet av sunefred:

Det är ironiskt då att det är just sådan funktionalitet som Microsoft ville införa i Windows och som stoppades av EU. Källa nedan:

https://youtu.be/ZHrayP-Y71Q?si=83SMQITohYAHLrth&t=378

Har du en textlänk istället? Jag kan inte med Youtube för något som troligen är två paragrafer text. 🙄

Permalänk
Medlem
Skrivet av Det Otroliga Åbäket:

Har du en textlänk istället? Jag kan inte med Youtube för något som troligen är två paragrafer text. 🙄

Tyvärr inte, tror inte han bloggar. Det är från "Dave's Garage", tidigare NT utvecklare.

Visa signatur

Louqe Ghost S1 MK3 | Asus ROG Strix B660-I Gaming WiFi | Intel Core i7 12700K | nVidia RTX 2070 Super FE | Corsair 64GB (2x32GB) DDR5 5600MHz CL40 Vengeance | Samsung 980 PRO M.2 NVMe SSD 2TB | Corsair SF750 750W 80+ Platinum | Noctua NH-L12 Ghost S1 edition | Kablar från pslate customs | 2 stk Dell Ultrasharp 3014 | Logitech MX Keys | Logitech MX Anywhere

Permalänk
Hedersmedlem
Skrivet av 0cool:

Det tycker jag med, och det är därför ditt resonemang är galet.

Datorernas ägare i fredags ville köra biljettbokningssystem. Det fick de inte göra.
Crowdstrike ville uppdatera sin virusdefintion, inte sänka servrar. De fick inte heller välja vilken kod som skall köras.

Ingen ägare eller någon annan i kedjan ville att det som hände i fredags skulle hända, Ingen. Det var helt oavsiktligt. Därmed per definition en defekt.

Och den defekten kan alltså lösas, men bara av Microsoft.

Hurdå?

Vad ska hända om ett säkerhetsprogram har ett fel?

Ska den:

A. Låta OS:et köra fast utan säkerhetsprogram
B. Stoppa servern p.g.a. att programmet inte kör

Du undviker konstant denna fråga. Varför?

Permalänk
Skrivet av pv2b:

Hurdå?

Vad ska hända om ett säkerhetsprogram har ett fel?

Ska den:

A. Låta OS:et köra fast utan säkerhetsprogram
B. Stoppa servern p.g.a. att programmet inte kör

Du undviker konstant denna fråga. Varför?

Om jag får svara:
Detta bör i bästa fall vara en inställning som serveradministratören väljer; alternativt som på övriga operativsystem att säkerhetsprogrammet kan krascha utan att ta med sig hela maskinen.
Andra verktyg kan sedan användas för att larma om maskiner som inte kör säkerhetssviten; det är inga konstigheter och en sorts övervakning man ändå bör ha på plats.

Oavsett så är ett företags prioritet att deras system ska fungera så de kan serva sina kunder och tjäna sina pengar. Säkerhetssystem ska vara en försäkring för att garantera att de kan fortsätta göra detta även i en farlig verklighet, inte något som i sig kan sätta företaget ur spel. Allt annat missar målet.

Att NT-kärnan efter tre decennier av att vara den mest hotade plattformen i världen fortfarande inte har vettiga stöd på plats för att antimalware inte ska behöva gå som en drivrutin i kärnan är skandal. Om CrowdStrike varit så inkompetenta i sin design som det nu verkar, så är det också skandal.

Permalänk
Hedersmedlem
Skrivet av Det Otroliga Åbäket:

Om jag får svara:
Detta bör i bästa fall vara en inställning som serveradministratören väljer; alternativt som på övriga operativsystem att säkerhetsprogrammet kan krascha utan att ta med sig hela maskinen.
Andra verktyg kan sedan användas för att larma om maskiner som inte kör säkerhetssviten; det är inga konstigheter och en sorts övervakning man ändå bör ha på plats.

Oavsett så är ett företags prioritet att deras system ska fungera så de kan serva sina kunder och tjäna sina pengar. Säkerhetssystem ska vara en försäkring för att garantera att de kan fortsätta göra detta även i en farlig verklighet, inte något som i sig kan sätta företaget ur spel. Allt annat missar målet.

Att NT-kärnan efter tre decennier av att vara den mest hotade plattformen i världen fortfarande inte har vettiga stöd på plats för att antimalware inte ska behöva gå som en drivrutin i kärnan är skandal. Om CrowdStrike varit så inkompetenta i sin design som det nu verkar, så är det också skandal.

Jag håller med. Detta borde vara något som systemadministratören väljer. Fail-secure eller fail-open.

Nu är jag inte direkt en expert på hur Windows NT är uppbyggt, men David Plummer (i videon ovan som du inte vill kolla på) nämnde just att Windows har en metod att återställa sig själv om en drivrutin kraschar, men att detta sattes ur spel eftersom drivrutinen markerades som "boot-start" drivrutin. Det antyder i så fall att, om det är så att man vill att Windows ska kunna återställa sig själv om en kerneldrivrutin kraschar, så markerar man inte den som "boot-start"? Och att det i så fall skulle kunna vara den funktionalitet inbyggd i OS:et som 0cool efterfrågar.

Samma säger även "cybersecurity veteran Omkhar Arasaratnam, general manager of OpenSSF" enligt The Register:

"So normally, if you've got a driver that's acting kind of buggy and causes a failure like this, Windows can auto resume by simply not loading the driver the next time. But if it is set as boot-start, which is supposed to be reserved for critical drivers, like one for your hard drive, Windows will not eliminate that from the startup sequence and will continue to fail over and over and over and over again, which is what we saw with the CrowdStrike failure." (Källa: The Register: How did a CrowdStrike config file crash millions of Windows computers? We take a closer look at the code)

Jag vet inte om ovan är sant av egen erfarenhet, men om två personer, en av vilka jag vet vem det är och har förtroende säger att det är så, så är det sannolikt så.

Det som borde hända här är alltså att Crowdstrike exponerar att systemadministratören får välja om deras drivrutin markeras som boot-start eller ej. Funktionen finns alltså i Windows, det är bara det att Crowdstrike inte använt den.

Mot den bakgrunden har jag väldigt svårt att se hur Microsoft gjort något fel just här (annat än att deras tekniska implementation lämnar en del att önska och skulle kunna vara bättre), funktionen att automatiskt återställa vid drivrutinsfel finns, men Crowdstrike har satt den ur spel.

Permalänk
Medlem
Skrivet av pv2b:

Hurdå?

Vad ska hända om ett säkerhetsprogram har ett fel?

Ska den:

A. Låta OS:et köra fast utan säkerhetsprogram
B. Stoppa servern p.g.a. att programmet inte kör

Du undviker konstant denna fråga. Varför?

Ett Windows som erbjuder alternativen A eller B vore ett Windows som har löst problemet vi pratar om, den borde då även erbjuda alternativ C, kör säkerhetsprogrammet med en config som fungerar.

Men Windows erbjuder inget alternativ. Windows hanterar inte detta problemet alls, det krashar utan att fråga någon och erbjuder inget sätt att göra något annat. Återigen, det är problemet, och MS kan lösa det.

Du har hittils hävdat att Microsoft måste lösa stopproblemet för att fixa detta, att stabilitet i Windows vore ett hot mot användarnas frihet som måste bekämpas, och blir provocerad av att jag inte svarat för n'te gången på en fråga du inte ens behövt ställa första gången.

Det är lite som att förklara flygplan för en som påstår att strängteori minsann gör flygplan omöjliga och kräver svar på frågan hur flygplan inte krockar med regnbågen. Man blir lite trött till slut.

(Det var dagens sista liknelse från mig).

Edit: @Det Otroliga Åbäket svarade artigare på frågan i sitt inlägg ovan, instämmer med det han säger.

Permalänk
Skrivet av sunefred:

Det är ironiskt då att det är just sådan funktionalitet som Microsoft ville införa i Windows och som stoppades av EU. Källa nedan:

https://youtu.be/ZHrayP-Y71Q?si=83SMQITohYAHLrth&t=378

Tog mig lite tid och kollade. (Tack för att du satte mig på rätt tidpunkt i länken!)

Utan att veta mer om API:et man ville införa, skulle jag säga att om EU var rädda att det skulle bli antikompetitivt låter det rätt mycket som att Microsofts idé var att sälja tillgång till det? Rätt val i så fall hade inte varit att lägga API:t i malpåse, utan att öppna det. I sammanhanget vill jag understryka att Linux de facto har ett sådant API, vilket EU-kommissionen inte för fem öre oroar sig för skulle vara monopolistiskt. Varför? För att vem som helst kan skriva program som konsumerar det. Motsatsen till vad man var rädda för att Microsoft skulle göra med sin version, med andra ord.

Permalänk
Hedersmedlem
Skrivet av 0cool:

Ett Windows som erbjuder alternativen A eller B vore ett Windows som har löst problemet vi pratar om, den borde då även erbjuda alternativ C, kör säkerhetsprogrammet med en config som fungerar.

Men Windows erbjuder inget alternativ. Windows hanterar inte detta problemet alls, det krashar utan att fråga någon och erbjuder inget sätt att göra något annat. Återigen, det är problemet, och MS kan lösa det.

Du har hittils hävdat att Microsoft måste lösa stopproblemet för att fixa detta, att stabilitet i Windows vore ett hot mot användarnas frihet som måste bekämpas, och blir provocerad av att jag inte svarat för n'te gången på en fråga du inte ens behövt ställa första gången.

Det är lite som att förklara flygplan för en som påstår att strängteori minsann gör flygplan omöjliga och kräver svar på frågan hur flygplan inte krockar med regnbågen. Man blir lite trött till slut.

(Det var dagens sista liknelse från mig).

Jag är provocerad av att du vill att Microsoft ska fixa det, och säger att de kan fixa det, men vägrar säga vad "det" är. Vad är det önskade beteendet Windows ska ha som saknas idag? Det har du äntligen svarat på, så då kan jag svara så vi kan komma vidare.

Om det önskade beteendet är att Windows ska starta om utan säkerhetsprogrammet finns funktionen i Windows. Det är bara det att Crowdstrike har åsidosatt den genom att markera sin drivrutin som boot-start, d.v.s. en drivrutin som måste laddas för att starta datorn. Annars kan Windows själv upptäcka att drivrutinen kraschar och inte ladda den.

Funktionen du efterfrågar finns alltså i Windows.