Týždeň 2024-29
Bezpečnosti nie je nikdy dosť. Ale zabezpečenie cez BSOD v prípade CrowdStrike to už je trochu moc. @vlkodotnet
Udalosť týždňa: CrowdStrike update
Minulý piatok nebol najlepší deň v IT. Z ničoho nič prestala ísť hŕba počítačov a nefungovali letiská, vlaky, nemocnice. Už to vyzeralo na sofistikovaný útok nejakého tajného spolku, keď v tom inžinieri zistili, že za problém môže aktualizácia softwaru CrowdStrike.
Najskôr ale začneme s tým, čo je to CrowdStrike a prečo sa mu podarilo dať dole toľko firiem a organizácií. CrowdStrike založil George Kurtz, ktorý pôsobil predtým ako CTO, GM a EVP of Enterprise v McAfee. CrowdStrike má hŕbu korporátnych zákazníkov, ktorí si nainštalujú malého klienta (cca 5 MB), ktorý monitoruje váš počítač a na základe príznakov vyhodnocuje hrozby. To vyhodnocovanie nefunguje lokálne, ale klient posiela tisíce rôznych ukazovateľov a signálov niekam na server a ten štatisticky a dynamicky vyhodnocuje hrozby. Potom vie vzdialene zablokovať škodlivý kód, identifikovať prienik do systému, tajný transfer množstva dát, prelomenie hesiel, atď.
Takéto niečo asi len obyčajná aplikácia nezvládne, a tak je CrowdStrike integrovaný na úrovni kernelu. Je napísaný v C++, podpísaný certifikátom, ale posledný update obsahoval chybu, ktorá spôsobila BSOD. Vo výsledku cca 8,5 miliónov počítačov začalo padať a jediný spôsob ich opravy zahŕňal manuálny zásah (Microsoft medzitým vydal nástroj na automatizáciu tohto manuálneho zásahu).
Predtým, ako sa začnete vysmievať Windows, že má BSOD, tak si najskôr povieme, prečo ju Windows má. BSOD nastane, ak program na úrovni kernelu chce pristupovať niekam mimo povolený rozsah pamäte. Kým užívateľskému kódu to viete zakázať a celý proces zhodiť, tak na úrovni kernelu to možné nie je. BSOD je teda monitorovací kód, ktorý zabráni najhoršiemu a zapíše potrebné debug dáta, aby ste vedeli problém odstrániť. Voľakedy ste vedeli pokračovať aj za BSOD, ale architekti systému rozhodli, že je to lepšie takto, čiže BSOD je end screen. Samozrejme aj Windows sa vyvíja a tak už tlačiarne nemajú ovládače na úrovni kernelu, atď. V podstate okrem takéhoto vysoko integrovaného softwaru a GPU (ten je stále na úrovni kernelu kvôli výkonnosti) dnes veľa možností, ako prísť k BSOD, nemáte.
A samozrejme, ako to býva, tak sa Microsoft skryl za CrowdStrike, pretože v piatok im nefungovali služby v Central US region datacentre (dokonca všetky tri availability zóny), ale kto by si to všimol, keď jeho počítač nefungoval?
Firefox s novým defaultom pre PPA
Firefox vo verzii 128 prináša opt-out nastavenie Privacy-Preserving Attribution (ďalej len PPA). Táto technológia funguje tak, že podporovaný reklamný partner zobrazí na stránke reklamu, ale už nedostane spätnú väzbu, že bola zobrazená. Túto informáciu si uloží do seba prehliadač Firefox. Poskytovateľ reklamy môže potom vyžiadať informáciu o zobrazení reklamy. Tá sa zase nezobrazí priamo, ale cez Distributed Aggregation Protocol (DAP) sa odošle na servery Mozilly. Mozilla potom vygeneruje sumárny report, v ktorom dostane poskytovateľ reklamy informáciu o zobrazení reklamy aj s nejakými navyše informáciami. Ja ako užívateľ by som mal byť takto anonymizovaný od informácie, kde konkrétne sa reklama použila. Vyzerá to pekne, ale je tu pár ale. Ale čo keď bude poskytovateľ generovať len unikátnu reklamu pre každé zobrazenie a dostane takto report za jednu osobu? Ale čo ak Mozilla začne ako jediný agregátor reklamných dát tento obsah využívať a predávať iným? Tak či onak, vy môžete zájsť do nastavení a PPA si vypnúť.
Kedy je čas odísť?
Podarilo sa mi nájsť dumku (od slova dumať/zamýšľať sa) jedného programátora, ktorý vo veku 63,5 rokov odišiel na dôchodok. K tomu mi ešte nejakých cca 20 rokov chýba (dobre, prikrášlil som si to, len 18), ale ako sa to blíži, tak občas rozmýšľam nad kariérnymi možnosťami vyššieho veku:
- Manažér upgrade - prestanem programovať a stanem sa vedúckom. Namiesto kódenia bude človek len smerovať ľudí, kontrolovať výkazy, vytvárať výkazy, robiť dôležité rozhodnutia a zodpovedať za ne.
- Zmeniť povolanie - prekvapivo veľa programátorov začne robiť niečo iné. Otvoria si obchod alebo reštauráciu, dajú sa na nejaké remeslo, teda úplne zmenia odvetvie.
- Zostať programovať.
Zatiaľ som na tretej možnosti, ale zostať pri nej má svoj háčik. Ak zanedbáte vzdelávanie, tak sa vám môže stať, že vaša technológia sa stane zastaralou. Vy buď nenájdete prácu, alebo dostanete menej zaplatené. Môžete dúfať, že sa z vašej technológie stane COBOL a následne vás bude čakať kráľovská pláca, lebo nikto iný jej rozumieť nebude. Ale na to sa spoliehať je príliš rizikové, leda by som sa doučil ten COBOL.
Zostať programátorom najbližších 20 rokov nebude ľahké. Prídu AI technológie, ktoré niečo uľahčia, niečo naopak za pár mesiacov môže zaniknúť, niečo nové sa objaviť a vy musíte byť stále v strehu. Na pohovoroch s tou šedivou bradou už budem tiež podozrivý. Lebo s vekom prichádza taký ten stereotyp, keď každý predpokladá, že starší človek už nemá tú dynamickosť.
Ako to nejak rozumne zakončiť? Ja mám stále menej rovesníkov, ktorí zostali programovať, takže možno nakoniec je manažérsky upgrade prirodzeným vyústením života programátora. Brrr.
Trošku premostím, lebo sa mi nechce písať novú tému. Ale príde mi zaujímavé, čo to znamená sa stále vzdelávať. Napríklad investujete čas do štúdia JavaScriptu a potom príde WASM, ktorý zoberie desktop technológiu SQLite a našrobuje ju na klienta. A popritom je treba vyriešiť, že WASM SQLite má problém bežať paralelne z viac tabov, takže je treba využiť SharedWorker. Proste problémy, ktoré by ste od danej technológie neočakávali a čakajú na zvedavých ľudí, ktorí prinesú riešenie (tým nijak nechcem poukazovať na seba).
AI okienko
OpenAI uviedlo oficiálneho nástupcu GPT 3.5 s názvom GPT-4o mini. Ten už je nasadený vo free verziách ChatGPT a k starému GPT 3.5 sa dostanete iba cez API. Oproti 3.5 dostanete väčšie kontextové a výstupne okno (128K in a 16K out) a samozrejme viac rýchlosti a až o 60 % nižšiu cenu na token.
ElevenLabs uviedlo upgrade svojho modelu Turbo 2.5. Ten vie previesť text na hlas a to aj v českom a slovenskom jazyku. Tiež pridali nové Voice Isolator API, ktoré vyčistí zvukovú nahrávku rozhovoru. A ešte raz pripomínam, že zvládne aj slovenčinu, tak ak si stále myslíte, že sme nejak tu u nás chránení pred AI podvodmi, tak na to rovno zabudnite.
Dnes bude ešte veľa nových modelov, ale tento je špeciálny. Microsoft vytvoril SpreadsheetLLM pre všetkých, ktorí pracujú s tabuľkovými procesormi. Mal vy zvládať aj veľké tabuľky, pochopiť obsah z formátovania.
Mistral má dnes dve novinky. Prvá je NeMo, ktorý je malý model s 12B parametrami a 128K kontextovým oknom. Ideálny na fine tuning.
A Codestral Mamba. Ten má 7B parametrov s až 256K kontextovým oknom. Mal by do vrecka strčiť ostatné free modely pre navrhovanie kódu. Mimochodom je dostupný pod Apache 2.0 licenciou.
Aj keď som tu už písal, prečo veľké filmové štúdia neprejdú na AI modely pri generovaní videa, tak to stále bude niekto skúšať. Najnovšie Odyssey, ktorá sa chváli tým, že budete vedieť pregenerovať a zmeniť úplne všetko vo výstupnom videu. Takže pojde skôr o editačný nástroj, ako o nejaký automatizovaný generátor video obsahu.
Nakoniec dobrá správa. Meta nezverejní svoje multimodálne AI modely v EU. Dôvodov je viac. Chce takto vydierať EU. Tiež nevie dokázať odkiaľ získala dáta na tréning týchto modelov. A tiež by musela pripraviť spôsob, ako takto zozbieraný feedback mohol byť kontrolovaný. Alebo môže ísť iba o taký odklad a ich model nepodporuje dobre jazyky v EU. Lebo odkedy UK vystúpilo z EU, tak je to tu samá francúzština, nemčina, španielčina, taliančina, portugalčina, ....
.NET okienko
.NET 6 prestane byť 12. októbra 2024 podporované Microsoftom. Je najvyšší čas si k tomu cez leto sadnúť a upgradovať na .NET 8. Nás to čaká už budúci mesiac, tak som zvedavý, či na niečo neočakávané nenarazím.
Nuget repozitár narástol na 52-tisíc balíčkov. V jeho používaní je vidieť aj trend rastu záujmu o .NET, a s tým prichádzajú aj snahy o supply chain útok alebo upload škodlivých balíčkov. Podľa štatistík majú firmy tiež prehnanú dôveru v bezpečnosť svojich závislostí. Nuget tím pripravil a pripravuje vylepšenia, ktoré tomu majú predchádzať. Poznáte Package Source Mapping alebo pre tých, ktorí spravujú celé knižnice balíčkov Package ID Prefix Reservations?
Dnes si zopakujeme Data Annotations validáciu v .NET 8.
Návod ako cez extern alias vyriešiť problém, ak dve závislosti majú rovnaký namespace aj názvy tried.
Linky na záver
Bingu sa vraj podarilo ukradnúť 2 % vyhľadávaní Google. Pozeral som to a jedine, kde to sedí, je desktop, okrem toho je to stále kvapka v mori.
ES2024 prináša groupBy a my už nemusíme byť odkázaní na knižnice ako je lodash alebo underscore.
Dnes budete prokrastinovať ničnerobením. Ale štýlovo a retro s defragmentáciou neexistujúceho virtuálneho disku.
Vizuálna bodka na záver
S DJI Mavic 3 Pro dronom vyletíme až na Mount Everest. Nepíšu či aj späť, ale ako by inak zverejnili tieto zábery?
Chinese drone maker @DJIGlobal shared a breathtaking video of its DJI Mavic 3 Pro flying over Mount Everest on Weibo yesterday. The drone ascended 3,500 meters from the base camp to the summit of the highest mountain in the world. pic.twitter.com/Iwyoe45DtS
— Yicai 第一财经 (@yicaichina) July 10, 2024
Apple zverejnil pekne spracované video o bezpečnosti Safari. Uff, ešte že používam na Androide Edge.