A tady ještě veliká perla:
New Dropbox causes Apple Silicon MacOS to boot loop (kernel panic) with CrowdStrike
Panicked task 0xfffffe1b359539a8: 24741 pages, 38 threads: pid 630: com.crowdstrike. ,
Snazite se hezky, ale zrovna tohle byly bezpecnostni chyby na strane linuxoveho kernelu. A diky Crowdstrike se na ne prislo...
https://www.osnews.com/story/140267/crowdstrike-issue-is-causing-massive-computer-outages-worldwide/
Do note that while the focus is on Windows, Linux machines can run CrowdStrike software too, and I’ve heard from Linux kernel engineers who happen to also administer large numbers of Linux servers that they’re seeing a huge spike in Linux kernel panics… Caused by CrowdStrike, which is installed on a lot more Linux servers than you might think. So while Windows is currently the focus of the story, the problems are far more widespread than just Windows.
Možná jsem už na to starej, a nechápu moderní dobu, tak se jako radši ujistím, jestli to chápu správně.
1. Ten driver CrowdStrike sundá všechno/většinu mašin, bez ohledu na zátěž?
2. V CrowdStrike nikdo netestuje před publikací updatu?
3. CrowdStrike nemá automatizovaný testing, aby se eliminovaly lidské chyby z bodu 2?
4. Někdo (včetně velkých firem) má na produkci nastavený automatický update?
5. Někdo na produkci prvně patche netestuje na testovce?
6. Někdo na produkci nerozděluje patchování do několika vln, aby se případný výpadek eliminoval na snížení výkonu o 1/n kde n je počet vln?
7. Někdo na produkci před patchováním nedělá snapshot?
Trochu mi není jasné, kde všude udělali soudruzi z NDR (a evidentně i z Microsoftu) chybu
1. ano
2. zřejmě ne
3. see 2
4. hůř, tohle je přímo vendor push, prakticky remote code execution
5. see 4
6. see 4
7. see 4
:-)
Moderní doba, nebudem zodpovědní za vlastní bezpečí tak to outsourcujeme k zaměstnancům nějaké firmy kde se nováčci zjevně zaučují na ostré produkci. A svoje data necháme v mráčku, však oni mají lepší zálohy než my.
CrowdStrike ale nie je bezny softver ala visual studio kde si manualne pozdrzis updaty, alebo nejaka aplikacia na servery kde o nej rozhodne niekto za to zodpovedny. Crowdstrike je antivirus (a nie len to, je to fakt ujete dobre spehovatko na zamestnancov). Cize updaty su uplne v ich kompetencii a ty sa mozes iba pozerat.
U nas to dnes sundalo polovicu serverov a asi polovicu notebookov. Vyzera to byt trosku random komu to pos*rie stroj a komu nie, mne napr nie a to som si pritom nasiel ten C-0000029*.sys subor, cize update sa mi asi vykonal.
19. 7. 2024, 16:44 editováno autorem komentáře
Crowdstrike (anebo Imperva) funguji na podobnem principu, jako drive fungoval kernel driver heroin.ko. Natahne se do kernelu, prepise pointery na ruzne funkce a pak filtruje syscally, protoze vsechno tece pres nej. Je to v podstate virus/backdoor.
U takovehleho SW existuje milion zpusobu jak neco podelat, staci kdyz se nekde uvnitr kernelu zmeni nejaky offset. Uz vyse zminena Imperva nam sestrelovala Oracle databaze, ale pouze v pripade kdyz se nekdo pokusil zvetsit velikost tablespace. Dalsi prusvih nastal, kdyz se nekdo pokusil ten driver odstranit z kernelu pomoci rmmod. Anebo to nahodne blokovalo instalaci SQL Serveru, ale jen na pomalejsich pocitacich.
Navic tyhle bezpecnostni SW zpusobuje naprosto nelogicky chyby kdy vy nekolik dnu cumite do logu, vubec nic nechapete a na prvni pohled se zda ze jste narazili na problem ktery jeste nikdo nikdy nevidel.
Navic dneska mate v IT separaci roli. Takovyhle SW ma agenta na kazdem serveru a ten agent se bavi s management konzoli. IT Security staci jen nekde kliknout a nove drivery se vam nainstaluji a vam nikdo nic nerekme - vyrobce se chlubi tim, ze pro aktualizaci neni potreba zadny downtime.
> Crowdstrike (anebo Imperva) funguji na podobnem principu, jako drive fungoval kernel
> driver heroin.ko. Natahne se do kernelu, prepise pointery na ruzne funkce a pak filtruje
> syscally, protoze vsechno tece pres nej. Je to v podstate virus/backdoor.
Tohle na Windows od dob Vista tak jednoduše nejde, pokud nepoužijete HW virtualizaci (což počítám, že snad nedělají). Systém kontroluje integritu důležitých ovladačů a hodí BSOD, když se mu něco nezdá. Takže vám zbývá využívat různá dokumentovaná rozhraní a hookovat uvnitř aplikací (lépe zachytíte jejich vztahy a dostanete více kontextu pro monitorované operace). Samozřejmě i tak je tam spousta prostoru pro BSOD.
Jinak slouhlas.
Opravdu to nejde? Ja myslel ze NT kernel je patchovatelny za jizdy, ze je to by design uz je to tak kompilovane.
Nekde jsem cetl clanek kde psali, ze kazda fce ve Windows kernelu zacina necim jako:
short relative jmp .+80 00 00 tady je 127 nul. dalsi instrukce
S tim ze kdo chce tak muze tech 127 nul prepsat cim chce, treba tam dat jmp na vlastni kod. A pak ten "jmp .+80" prepsat ja "jmp .+0" a presmerovat fci na vlastni override.
Ano, místo na přepis kódu tam bývá (nebo bývalo), ale pokud jej přepíšete, v kernelu, riskujete střet s KPP (Kernel Patch Protection aka Patchguard), která vyvolá BSOD. Patchovat musíte chytřeji (např. v různých datových strukturách pointery na funkce), ale MS tyhle cesty také pomalu zavírá, takže je třeba extrémní opatrnosti.
Samozřejmě, hot patching je v kernelu podporován, ale to je dost nedokumentovaná věc outside MS.
4-7. Nikdo nic ručně nepatchuje. Tyhle antimalware sračky si žijou vlastním životem a stahujou si, co je napadne a kdy je napadne, protože přece je důležité mít aktualizace antimalwaru co nejdřív, kdyby se to zpozdilo o hodinu, tak už bude pozdě a to je super selling point těch řešení. Desítky až stovky aktualizací denně, nikdo ze zákazníků to nemá šanci testovat. Samozřejmě co nejvyšší práva a co nejdřívější natáhnutí ovladačů při bootu je taky základ, bez toho to nejde. No, a pak skončíš na BSOD.
Je to driver v system32/drivers, win servery i pc se cyklicky restartuji, dokud nenabootujete v nouzovem modu a .sys soubor nesmazete - na to potrebujete konzoli (fyzickou nebo virtualizovanou) a lokalniho uzivatele. Na serverech lokalni uzivatele nemate, takze rescue cd, boot, pripojit svazek, smazat, reboot.
Jsou dovoleny, jeden admin na desitky az stovky serveru, pristup via VPN - jenomze firemni ntb admina je taky kaput, a nema lokalni uzivatele, ani instalacni cd/usb po ruce ...
Ten soft ma slabsi detection s false-positive, ale response ma na 1*
Firmy prostě v celkovém pohledu nezajímá Linux a nekonečné diskuse založené mnohdy na víře, ale chtějí zabezpečit své služby a data. Docela je chápu, už dnes je toho požehnaně a s dalším rozvojem AI čísla jen porostou. Můžeš nesouhlasit, můžeš akademicky diskutovat, ale nakonec rozhodnou platící zákazníci a pokud to tak chtějí, tak se holt musí Linux přizpůsobit, nebo jeho místo zaujme někdo jiný, který si rád vezme jejich peníze.
Trošku mi to připomíná Sentinel na Omniích (Turris) – bez analýzy provozu nemůže fungovat. Otázkou je, zda důvěřuji CZNIC – pokud ano, tak není moc co řešit. Prostě musím věřit, bez ohledu na počet odpůrců a odklon od Stallmanova učení. Ti samí budou bojovat i proti SLES/RHEL, tedy komerčnímu Linux a lobovat za GNU/Debian.
Nech to na firmách, peníze rozhodovali a nadále budou. Kde je poptávka, bude i nabídka.
Takže pozor, tady nás známý řečník, co všechno ví líp ví líp dokonce už i to, kdo co čím chtěl říci :-D
Zatímco se pan Jirsák celkem uklidnil, vy ho začínáte dokonce překonávat protože tohle nedělal dokonce ani on. Přečtěte si ještě jednou, co jsem napsal. S chápáním psaného textu máte zjevný problém. Nebo možná spíš s tím, že máte evidentní obsesívní potřebu mlít jak tupec svou bez ohledu na to, o čem kdo mluví.
Napsal jste, ze v korporatech to delaji blbe. Ale napsat, jak to teda delat lip uz nezvladate. No, to byste v mnoha korporatech sam dobre zapadnul, tam mnozi dokazou prezit - aniz by konstruktivne zvladli predlozit reseni problemu, ktery kritizuji... ;-)
Komentuji obecně jeho zjevný názor, že když to dělá korporát, je to automaticky v pořádku.
On to ale nikdo jiný, než korporát, dělat nebude. Nebo si vážně myslíte, že živnostník Franta Schopný bude lepší?
Něco se stane (panic serveru), zavoláte Frantovi a on řekne: "Jo, ten disk je špatný, už se měl vyměnit, ale já se rozvádím a teď vám nemůžu pomoct".
(To není vtip, jednu firmu v této situaci jsem zachraňoval - v pátek to bouchlo a v pondělí potřebovali papíry na celní odbavení kamiónu).
Takže slovo "korporát" můžete vynechat z diskuse.
On zmiňoval výslovně firmy. Čímž předpokládám nemyslel OSVČ. Ale mně je celkem jedno kdo. Ostatně ano, platí to obecně: to, že něco někdo nějak dělá ještě opravdu neznamená, že je to správně ale tím spíš to neznamená, že je něco správně proto, že se tak rozhodne mnohdy nelogicky se chovající korporát.
To také netvrdím, ovšem nemyslím si, že všechna komerční řešení musím mít a ani že všechna komerční řešení jsou špatná a odklání člověka od GNU. Navíc Linux nerozumím dostatečně do hloubky a platím si na to člověka, který „rozhoduje-doporučuje“, ale také za to nese odpovědnost. Jinak řečeno, nikomu necpu to je dobré/špatné, natož soudil.
GNU vem čert. Ale "všechna komerční řešení nejsou špatná" - no máme tu všichni problém s krátkou pamětí. Jen za pár posledních let ty největší průšvihy, třeba.
- Mandiant zákazníci pod správou odborníků, bohužel tedy Rusáků.
- Microsoft tak jako vystavoval do světa data zákošů na blbě nastaveném cloud storage
- Teď _jen_ DoS přes půl světa díky CrowdSource.
- Avast
- SolarWinds opět pod správou rusáků. (dobrá, to není security "řešení").
Tak možná by někdo mohl zamyslet, jestli obecně tyhle věci riziko snižují, nebo naopak činí mnohem vyšší.
(A proboha, proč to leze do kernelu? I ty přihlouplý M$ Defender Endpoint nebo jak se ta zhůvěřilost jmenuje jede "jen" přes fanotify() - a i tak škodí více než hodně (ze stovek nanosekund per syscall to udělá cca 10uS, což zajisté zvláště zatížená databáze nebo web velmi ocení, ale co už, v lepším případě se tam na kritické direktoráře dá výjímka, v běžném korporátu se radši navýší sizing coby řádově průchodnější řešení ;-) )
21. 7. 2024, 00:47 editováno autorem komentáře
Co třeba slabý klíč pro SSL v Debianu? Možná ztráta dat v BTRFS, a dalších filesystémech (asi by bylo jednodušší vyjmenovat ty, které žádný takový problém neměly). Z různých MySQL databází nebo MariaDB uniknou kvůli chybné konfiguraci data každou chvíli. Fakt se to netýká jen komerčních řešení.
A proboha, proč to leze do kernelu? I ty přihlouplý M$ Defender Endpoint nebo jak se ta zhůvěřilost jmenuje jede "jen" přes fanotify()
Protože to neprovádí zdaleka jen kontrolu souborů, jako Defender, ale kontroluje to i systémová volání. Ono totiž než se něco škodlivého dostane do souboru, může to vesele řádit v paměti – a až se to bude chtít na závěr zapsat do souboru, bude vlastně už po všem.
Tady někdo nepochopil, že se bavíme o *přídavném riziku*, že ano? Takže otázka nestála, jestli je zbytek ssytému čistý, ale jestli, náhodou, riziko vnesené těmito zprasenými věcmi není větší, než to které je to schopno ochránit. S ohledem na notoricky známou kvalitu jejich kódu by to byl zajímavý tip na semestrálku.
Jinak o Linuxím audit sybsystému jste evidentně taky nikdy neslyšel, že ano.
Tohle nemá cenu, ono to "musí tam bejt antivir jinak je to nebezpečné" spíš připomíná kargokult založený na security by obscurity. Zvlášť, když většina high profile attackerů tyhle nesmysly taky má, a před vypuštěním malware si to prostě proti tomu otestuje. Lamy na totéž můžou použít virustotal, což jim sice taky pomůže, ale za cenu, že tím pomáhaj bílým kloboukům.
Tady někdo nepochopil, že se bavíme o *přídavném riziku*, že ano?
Co to je „přídavné riziko“?
Vy jste ale psal o „komerčním řešení“, nepsal jste nic o „přídavném riziku“ nebo „zprasených věcech“, ani jste nenapsal, proč by se to přídavné riziko nebo zprasené věci měli objevovat jenom u komerčních řešeních.
Teď píšete úplně něco jiného a nepíšete nic o komerčních řešeních. A pokud jde o to, že současná bezpečnostní řešení zároveň představují velké bezpečnostní riziko, o tom mne fakt nemusíte přesvědčovat. To jsem i v této diskusi psal už předevčírem.
Zrovna o nasadeni crowdstrike a AV je mnohokrat (nie vzdy) rozhodnutie sales. Proste pekne zabalili, predali. Niekedy je to podmienene kontraktami, ktore musia dodrziavat urcite standardy kvoli auditom. Audit musia dodrziavat z povahy vykonavania businessu.
O tom, ze AV predstavuje pekny attack vector pre utocnika je uz o inom..
Ti, co robia vo velkych korporatoch a videli ako prebieha audit, vedia ktora bije.
>> Oni hlasují peněženkou, ví co chtějí, ale taky neví, jak se to dá dělat.
Som za zasmial. Vela krat nevedia co chcu a zriedkakedy maju potuchu ako to urobit. Sudim z mojej osobnej skusenosti, 17rokov prace v medzinarodnom korporate. Kontrakty mame s mnohymi medzinarodnymi zakaznikmi pracujuci v podstate v kazdej oblasti zivota. Od jadrovych elektrarni po polnohospodarske spolocnosti. Vsetky korporaty maju svoj styl, ale vo vela veciach sa podobaju.
Sikovny sales im preda to, co treba. Ostatne to je ich job.
No a potom su taki ako som spominal - standard v oblasti businessu im povie, co musia splnat. Ti v podstate vedia co chcu.
Na obranu Crowdstrike - nemusi to byt jejich chyba - mame treba appku v MS store, kterou builduje VS, a po nejakem malem updatu prekladace/toolchainu to store porad akceptoval, provedl kontroly co nad tim provadi.. a pustil do distribuce. A pak celkem podobny vysledek - useri dostali automaticky update, pusti appku, ani se nezobrazi, proste crashne, s nejakym nejasnym zaznamem v event logu. Byt to driver, tak je jasny ze to konci na BSODu.
Nezjistili jsme, v cem to padalo i kdyz jsme se snazili, protoze debug build fungoval vzdy na vyvojarskem stroji - a release padal i pri offline distribuci. Jedine reseni bylo se zas vratit ke starsi verzi toolchainu ve VS.
Žádná jejich obrana neexistuje. Výsledek je adekvátní designu, který je u většiny firem naprosté zvěrstvo. Například letité https://bugs.chromium.org/p/project-zero/issues/detail?id=820
Tady krásné povídání - https://www.youtube.com/watch?v=rFCGHai0zvc
Jako pokud to neni nejakej podvrh, tak vygenerovat 42kB nul namisto binarky ovladace... tak to bude fakt slusnej oddil :D
Vůbec ničemu se nedivím. Jsem teda toho názoru, že instalovat si podobné věci kamkoliv je absolutní šílenost. Už samotný styl pojmenování souborů je slušná diagnóza. Tohle najít na kompu, začnu hned pátrat po tom, jestli to není nějaký vir. No, je... a ještě za něj zákazníci platí těžké prachy. Úplně pomatená doba.
Ono to je blby kdyz je to proste vsude naraz aplikovany, to je moje jedina vytka, kde vsichni uzivatele/zakaznici selhali (anebo dodavatel, jestli update pushuje on sam).
Na schopnejsich platformach existuje napr. tahle featura:
takze pokud sledujete pady aplikace, vcetne backtrace, tak tohle vam umoznuje odhalit nove chyby zpetnou vazbou z produkce, bez toho, aniz byste zhodili celej svet, nebo se zblaznil z crash reportu.
Jestli jsem to dobře pochopil z diskuze výše, tak tohle se aktualizuje samo, kdy chce a nikoho se na nic neptá a asi to nejde ani ovlivnit. To je zásadní průšvih.
Spíš jsem ale narážel na to, s jakým klidem se dnes svěřují vysoké pravomoci třetím stranám, nebo se na nich vytváří závislosti, a pak se někdo hrozně diví. A nejde jen o tuhle aféru (zaplatím si za bazmek, který si může dělat v systému, co chce a nemám nad tím kontrolu) - můžu provozovat "všechno" v cloudu, můžu si všude nastavit jako DNS server 8.8.8.8, můžu si všechny javascripty na webu rovnou tahat od třetí strany, můžu kdeco podobného. Vždyť to přece funguje, nemůže se nic stát. No... evidentně může.
Uvědomte si, že jde o bezpečnostní software, který má jistá specifika. Například pokud se běží nějaký útok, potřebujete ho detekovat co nejdřív a ne si hrát s A/B testováním. Jasně, obvykle taková věc bude řešená aktualizací nějaké databáze signatur, která asi nevyvolá BSOD – ale pokud útočník objeví nějaký vektor útoku, třeba nějaké systémové volání, které ještě nemáte podchycené, asi nezbyde než vydat nový ovladač.
Druhá věc je, že i ty aktualizace musí být dostatečně robustní. Aby vám útočník ten bezpečnostní software neobešel jednoduše tak, že mu vypne nějaký feature flag.
Netvrdím, že je to zrovna tenhle případ, a nechci je obhajovat – už dlouho tvrdím, že největším nebezpečím hned po uživateli je bezpečnostní software, protože má stejné možnosti, jako OS, ale zdaleka není dělaný tak pečlivě a není pod takovým drobnohledem.
Ale dělat postupné aktualizace není vždy jednoduché ani u běžného softwaru, a ten bezpečnostní má ještě nějaká specifika navíc. Ale taky je klidně možné, že to tak v tomhle případě udělat mohli, ale prostě to tak nedělali, protože zatím neměli průšvih, který by jim ukázal, že postupný rollout se vyplatí.
Pak je tu také ten problém, že pokud ten ovladač způsobí BSOD a pak se to zacyklí při bootování, nemá ten systém šanci odeslat zprávu, že tento update se tak úplně nepovedl. Takže se to začne rolovat na další systémy. A dozvídat se o chybách z televize a sociálních médií není úplně ideální, protože tenhle kanál je překvapivě pomalý a plný šumu. Ten postupný rollout se hodí hlavně u systémů, které můžete online přímo monitorovat a rovnou to vidíte, že nějaký uzel nenaběhl, odpovídá pomalu, chybami apod.
Ten ovladač pravděpodobně nepadá hned po instalaci.
Mnohá ta zařízení ani nemusí mít přístup do internetu – aktualizace se může stáhnout na nějaký interní aktualizační server a zařízení v síti se aktualizují z něj.
Samozřejmě se bude hledat, jak se z toho poučit, aby k takové chybě příště nedošlo. Jenom bych byl opatrný s tím, že to bude jednoduché, jenom se zapne postupný rollout verze a problém bude vyřešen.
Ono bude mimochodem dost zajímavé, až se bude vědět, jak velký podíl systémů to zasáhlo. Z těch, které tohle řešení používají.
19. 7. 2024, 22:11 editováno autorem komentáře
S Bitlockerem skončíš hned v bodě 1. Jinak zde je oficiální oznámení. To je ještě lepší taškařice, než jsem čekal...
Channel file "C-00000291*.sys" with timestamp of 0527 UTC or later is the reverted (good) version.
Channel file "C-00000291*.sys" with timestamp of 0409 UTC is the problematic version.
Note: It is normal for multiple "C-00000291*.sys files to be present in the CrowdStrike directory - as long as one of the files in the folder has a timestamp of 0527 UTC or later, that will be the active content.
Naco nějaký verze souborů, když máme timestamp. LOL.
Určitě ne instalací těchto úžasných produktů, které podobné zablešení umožňují například prostým stažením souboru bez jakékoliv interakce uživatele
Vidím, že diskuse je skutečně marná. Pokud někdo dobrovolně platí za díry do systému na úrovni kernelu a myslí si, jak tím něco úžasně zabezpečuje, holt mu není pomoci. Tenhle krám zlikvidoval běžné fungování půl planety, od letišť po nemocnice, ale tak zaplaťpámbů, že ty počítače nebyly nezabezpečené, to si korporátní managoři odfoukli.
Vidim, ze diskutujeme s nekym, kdo v zivote resil maximalne jednotky systemu a nebo bohem, co jen reaktivne resi prusvihy. Ano, u large-scale instalaci se hledaji cesty, jak cely ten cirkus ukocirovat a uhlidat driv nez se prusvih stane. V prostredi navic s omezenymi lidskymi zdroji. Stale jste nam sem do diskuze neprinesl reseni.
Pul planety to nezlikvidovalo, jen to zpusobilo jiste neprijemnosti. No boze, zitra je taky den... aspon mate prostor k zamysleni se nad tim, jestli skutecnym problemem neni uspechanost dnesni doby, ktera zakonite podobne chyby generovat obcas bude.
Stale jste nam sem do diskuze neprinesl reseni.
Ano, nepotřebuju řešit problémy, které nemám. Například zbořené tisíce počítačů "bezpečnostním" softwarem.
Jinak reportování bezpečnostních problémů v produktech této výtečné firmy taky funguje na jedničku.
Tejden? ;-) I na strankach letiste uz visi oznameni, ze vsechny aerolinky odbavuji standardne. Nejak mate problem s orientaci v case, od vcerejska tyden jeste neutekl... ;-)
20. 7. 2024, 14:00 editováno autorem komentáře
Pokud máte tisíce počítačů, nějaký bezpečnostní software tam mít musíte. Ten vyberete na základě omezeného množství informací (třeba statistik za posledních 5 let), přičemž dostupných enterprise řešení zase tak moc nebude. A managor, který o tom rozhodne, nikdy nebude mít informaci o tom, že nová aktualizace může teoreticky obsahovat samé nuly, tedy že aktualizační proces takový zmetek vypustí, protože neumí kontrolní součet.
Pokud chybu odhalím po týdnu provozu, tak si dám kafe, zajdu v klidu na oběd, a pak udělám rollback na minulou verzi standardními prostředky.
Ten restore point má smysl, když to po updatu buď nenaběhne vůbec, nebo to crashne tak rychle, že se nedá nic dělat. Takže klidně ať se den po úspěšném nabootování zase automaticky zruší.
Pro víceméně HW ovladače tohle testování MS vyžaduje, jinak vám jej nepodepíše (WHQL). Musíte ovladač nechat projít řadou testů na různých verzích Windows a s binárkou MS dát i logy z těchto testů. Může to být dost na dlouho, takže ne všichni bývají, řekněme, poctiví.
U čistě SW ovladačů ty testy nemají tolik smysl (jsou hodně orientované na HW), ale i tak -- pokud chcete WHQL podpis, musíte se docela snažit. I bezpečnostní ovladače často komunikaci s HW filtrují.
Kdyby byl problém v tom, co naznačujete (prostě to neotestovali pro nějakou kombinaci verze OS či jazyka), tak ten výpadek nebude takto brutální.
Tak jako pokud se bavime o .sys souboru, jehoz obsahem jsou same nuly... tak to fakt neni problem testovani na vsech kombinacich kernelu, verzi atd :-) To jen "sestavit" bude opruz... a to, ze to projde ven na koncove stanice znaci i chyby co se update/deployment procesu tyce - kdy se zjevne vubec neresi integrita, ackoliv ten soubor strukturu v zasade danou ma, ze...?
Tak ono se to tak mohlo jenom jmenovat, treba to nacital jejich loader a linkoval hodne naivne :D
Jinak windows ma zbytecne prisny BSOD, pokud udelate dereferenci z NULL na linuxu, tak dostanete nejaky panic message a dany syscall nebo kernel thread se nejspis i ukonci spravne (je to robustni), a zbytek systemu prezije.
Na win jakakoliv banalita skonci totalnim koncem. Jsem nedavno kodil neco, co si povidalo s hw z userspace, a BSOD "process has locked pages" byl dost castej. Jako dyt to vi ze to ma zamceny stranky, tak at je kouka odblokovat kdyz to zabije proces. Bych to mohl sirit jako DoS tool, bsod z userspace na prani :D (ale mozna tam maj primo i bsod syscall.. ze bych si usetril dve volani :D
To je otázka, zda je linux tak robusní, nebo naopak benevolentní. Ale pokud se na to podívám z pohledu bezpečnosti systému, tak teoreticky každá banalita, jak jste to pojmenoval, může být v nějakém momentě zneužita. A pokud si musím vybrat, jestli mít systém raději mrtvý nebo napadený, tak za sebe asi volím tu první variantu ;-)
Buhvi zda to MS podepsal na dobre slovo, protoze ISV byl velikej.
Ale co jsem slysel, tak takove genericke/proxy drivery, ktere pak umozni zbytek implementace v userspace se pry uz nepodepisuji - prave z toho duvodu, at ta komponenta pak neni zneuzitelna na jiny ucel nez vyrobce zamyslel.
(prakticky pro vyvojovou fazi mi nezbyvalo nic jineho, nez to takto zprasit taky - je snazsi spustit novou verzi programu, nez cekat na reboot a jeste odebirat a instalovat drivery, a to nemluvim o moznostech ladeni).
Pokud chcete podepsat driver, neposíláte zdrojáky, takže MS nedokáže poznat, že tam máte skrytý loader. Jen se v případě WHQL snaží alespoň zaručit to, že ten ovladač bude nějak rozumně fungovat i v trochu nenormálních situacích. Pokud nejdete přes WHQL, (jen Attestation Signing), splnění nějakých testů netřeba (pokud to nedávno nezměnili).
Samozřejmě, zdlouhavost některých procesů (ať už WHQL či třeba ELAM, který je hodně manuální ze strany MS, jak jsem pochopil z vyprávění) vede k tomu, že se firmy snaží "outsourcovat" funkce z driveru pryč. Protože dostat i malou změnu do produkce může trvat dost dlouho.