Zakaj se je ustavil svet?
Računalniki, ki jih poganja Windows, so se sredi julija ustavili in se niso več zagnali. Hitro je postalo jasno, da je apokalipso povzročila programska oprema, ki bi morala varovati pred takšno katastrofo. Napaka je bila banalna, popravilo pa tudi, a je zahtevalo ročni pristop k vsakemu izmed 8,5 milijona prizadetih sistemov. Dotlej pa so stali letala, proizvodni obrati, trgovine in drugi sektorji.
Julija letos se je za kratek čas skorajda ustavil svet. Približno 8,5 milijona računalnikov z nameščenim Windows je 19. julija zjutraj prikazalo modri zaslon, ki je vztrajal ob vsakem ponovnem zagonu. Sistemi se niso vzpostavili in težave so se začenjale kopičiti.
Presenečeni bi bili ob podatku, koliko sistemov teče na Windows. Ne gre le za osebne računalnike ali delovne postaje v pisarnah. Windows poganja letališča, farmacevtske gigante, blagajne v trgovinah, taksislužbe in številne druge družbene podsisteme. Množični izpad so v The New York Timesu označili kot »zgodovinski izpad«, v The Guardianu pa kot »največji izpad v zgodovini«. Po številu prizadetih naprav je šlo gotovo za rekordni izpad, ker je dandanes računalnikov več kot kadarkoli prej v zgodovini in ker krmilijo več sistemov kot kdaj prej. In ti so tudi zelo ranljivi.
Po podatkih slovenskega Urada vlade za informacijsko varnost so imeli težave tudi številna podjetja in organizacije v Sloveniji, ki pa javno večinoma niso želeli govoriti o tem. Uradno so izpad potrdili na ljubljanskem letališču, kjer so potnike ročno prijavljali na lete, ki so tudi zamujali. Tudi v farmaciji so imeli težave, kar je potrdila Krka, kjer je za krajši čas zastala proizvodnja. Precej več težav so imela mala in srednja podjetja, ki javno tega niso komentirala.
SI-CERT je pojasnil, da so večji sektorji, kot je bančni ali elektroenergetski, večinoma bolje zaščiteni in imajo več znanja in zavedanja o pomenu skrbi za kibernetsko varnost. V malih in srednjih podjetjih pa je situacija bolj problematična, zato so tudi ranljivejša. In to je se pokazalo 17. julija.
Modri zaslon smrti
Zjutraj so torej računalniki z Windows prikazali zloglasni modri zaslon smrti, ki je ponujal le eno potezo: ponovni zagon, kar pa ni pomagalo. Preden se lotimo natančne anamneze in diagnoze, se pomudimo pri modrem zaslonu smrti. V obliki in z namenom, kot ga poznamo danes, se je pojavil v Windows NT 3.1 leta 1993. Odtlej se je spreminjal vizualno (modra je dobila drug odtenek) in vsebinsko (dolge izpise pomnilnika – dumps – so zamenjala kratka obvestila in kasneje kode QR ter celo žalosten smeško), a ključna poanta je ostala enaka. Modri zaslon smrti obstaja, da nas varuje. Kako, prosim?
Različne ravni pravic, ki jih ima koda v modernih sistemi.
V računalnikih živi vrsta programov, ki se morajo med seboj lepo pogovarjati, predvsem pa ne smejo uničevati podatkov. V operacijskih sistemih linije NT, kamor sodijo tudi moderni Windows (poslovni od Windows NT 3.1 in potrošniški od Windows XP), programi tečejo v uporabniškem načinu (user mode). Ko poženemo program, ki ima tovrstne pravice, Windows zanj ustvari proces (process). Ta programu daje navidezni naslovni prostor (virtual address space), ki služi za naslavljanje navideznega pomnilnika. Vsak program teče izolirano od ostalih, zato ne more povzročati veliko škode. Če se sesuje, to načelno ne vpliva na druge program ali na jedro. Z zunanjim svetom komunicira prek standardiziranih klicev API do Windows, ki mu potem daje dostop do virov, ki jih zahteva. Če pa program zahteva kaj, do česar ni upravičen, denimo dostop do pomnilnika, ki je rezerviran za kakšen drug program, tega ne more dobiti. Njegov domet v sistemu je močno omejen, kar si velja zapomniti in k čemur se bomo še vrnili.
Iz zgodovinskih razlogov v računalništvu ravni dostopa pri sistemih x86 delimo v ?? ravni (protection ring). Uporabniške aplikacije tečejo na ravni 3, nižje pa imajo več privilegijev. Moderni sistemi Windows uporabljajo le raven 3 za aplikacije in raven 0 za jedro, v preteklosti pa je klasična definicija x86 predvidevala tudi ravni 2 in 1 za različne gonilnike. Na najnižji ravni je torej jedro, ki ima popoln dostop do sistema in nadzor nad njim, saj jedro je sistem. Vse, kar se dogaja v tem delu sistema, je prepleteno in vplive na širši sistem. V jedrnem delu je le en navidezni naslovni prostor, ki ga deli vsa koda na ravni 0. To pomeni, da ima vsa koda v jedru dostop do celotnega pomnilnika, kjer lahko počne, karkoli si želi. V tem delu poleg jedra v ožjem pomenu besede živijo tudi gonilniki za dostop do datotečnega sistema, dostop do dela strojne opreme, del podpore kode za gonilnike (extended driver support routines), HAL (hardware abstraction layer) za komunikacijo jedra s strojno opremo (večina jedra je zato neodvisna od dejanske arhitekture, ker jo skrije HAL) in seveda sama strojna oprema.
Če se zgodi kritična napaka v kodi, ki teče na ravni jedra in ima vse pravice, se sistem zaustavi. Nadaljevanje bi bilo namreč tvegano, saj lahko poblaznela koda na ravni jedra vpliva tudi na druge programe in posredno na integriteto podatkov v računalniku. Nihče si ne želi, da bi hrošč v gonilniku za grafično kartico začel žreti diplomsko nalogo v mapi Moji dokumenti. Ker se to teoretično lahko zgodi, se sistem takoj ustavi in ne dovoli nadaljevanja. Modri zaslon v resnici pomeni: Napaka je tako huda, da bo takojšnja in brezpogojna zaustavitev sistem povzročila manj škode kot poskus nadaljevati. Modri zaslon je znak, da varovalke še vedno delujejo.
Nesrečni gonilniki
Kdor se še spomni Windows NT 3.51, se zagotovo ne spomni modrih zaslonov, ki bi bili povezani z grafiko oziroma vmesnikom GDI (graphics device interface). V tej različici je namreč GDI tekel v uporabniškem načinu, zato ni mogel zrušiti sistema. Tak način je načelno varnejši, a počasnejši, zato so kasneje sprejeli odločitev, da v naslednjih različicah premaknejo GDI v jedrni del. Enako velja za druge API za izris (denimo DirectDraw, Direct2D, DirectX) ter seveda dejanske gonilnike za grafične kartice. Praktično nemogoče bi bilo izkoristiti njihovo surovo moč, če gonilniki ne bi neposredno dostopali do strojne opreme, torej če ne bi bili na isti ravni kot jedro. Za več hitrosti so torej žrtvovali stabilnost in varnost. Sistem je namreč stabilen le toliko kot najmanj stabilen gonilnik.
Posledice so bile očitne. V Windows NT 4 so bili gonilniki krivi za 44 odstotkov vseh zrušitev sistema, sta v tehničnem poročilu iz leta 2000 ugotavljala Brendan Murphy in Björn Levidow iz Microsoft Researcha. Ker gonilnike pišejo proizvajalci strojne ali programske opreme, Microsoft neposrednega nadzora nad njimi nima, hkrati pa ga uporabniki (upravičeno ali ne) krivijo za modre zaslone, četudi jo zagodejo gonilniki. Microsoft se je zato moral odzvati.
Ena izmed rešitev je bila prestavitev nekaterih gonilnikov v uporabniški prostor. Naprave, ki niso tako zelo odvisne od surove moči, denimo tiskalniki, skenerji ali spletne kamere, lahko uporabljajo generične gonilnike ali pa ti tečejo v uporabniškem načinu. Gonilniki za tiskalnike so bili v Windows NT 4 na ravni jedra, v Windows 2000 je bilo mogoče oboje, v Windows XP in Server 2003 pa zgolj v uporabniškem načinu (izjema so bili obstoječi gonilniki). V Visti in naslednikih izjeme ni bilo več, in če bi danes poskusili namestiti gonilnik za tiskalnik, ki bi želel k jedru, bi se sistem pritožil s sporočilom ERROR_KM_DRIVER_BLOCKED. V resnici imajo gonilniki v uporabniškem delu nekaj prednosti, denimo neomejen sklad (unlimited stack space), dostop do API Win32, manj možnosti za zrušitev sistema, enostavnejše razhroščevanje, možnost klica različnih DLL itd.
Vseh gonilnikov ni bilo mogoče izgnati nazaj v uporabniški način, zato se je Microsoft odločil jamčiti za njihovo kakovost. Od Windows 2000 obstaja sistem, ki se je spočetka imenoval WHQL (Windows Hardware Quality Labs) in kasneje Windows Hardware Certification ter omogoča certificiranje gonilnikov. Proizvajalci predložijo gonilnike Microsoftu, včasih so morali plačati še 250 dolarjev, česar zdaj ni več treba, ki jih preizkusi in potrdi ter digitalno podpiše. Podpisani gonilniki naj bi bili stabilni in ne bi smeli povzročati zrušitev sistema. Poleg tega so pripravili še Driver Development Kit, v katerem so vzorci dobrih praks in dokumentacija za pisanje stabilnejših gonilnikov. Pisci programske opreme, ki teče kot gonilnik, pa so lahko sodelovali v posebnih programih (special development labs).
Gonilniki, ki to niso
Čeprav so gonilniki načelno namenjeni komunikaciji s strojno opremo, to ni obvezno. Programska oprema, ki bi si želela imeti globok dostop do sistema, se mora prav tako predstaviti kot gonilnik, da lahko teče na isti ravni kot jedro. To ni nenavadno, temveč precej običajna praksa proizvajalcev protivirusnih programov že desetletja. Zavedla bi nas lahko možnost poganjanja programov z administratorskimi privilegiji. Tudi tedaj še vedno tečejo v uporabniškem načinu, le da imajo vse pravice, ki so dostopne navadnim programom. Za kaj več morajo globlje.
Problematična datoteka je vsebovala zgolj prazne znake.
Tako se je vedel tudi program CrowdStrike Falcon Sensor, ki je namenjen zaščiti sistemov pred napadi. Falcon Sensor se namesti kot gonilnik in poskuša zaznavati nove ter še neopisane, nepoznane napade na sistem (endpoint detection). Druge možnosti kot teči kot gonilnik v resnici nima, saj ima le tako neoviran dostop do najglobljih kotičkov sistema, da lahko grožnje zazna in prepreči, še preden bi povzročile resno škodo.
Falcon Sensor je namenjen zaznavanju novih napadov, zato uporablja kombinacijo hevristike, torej analiziranja dogajanja in iskanja sumljivih vzorcev, ter primerjanja z znanimi opisi. Da lahko to počne učinkovito, so nujne sprotne in aktualne posodobitve, kar predstavlja izziv. Če bi CrowdStrike vsakokrat izdal nov gonilnik, bi ga moral poslati Microsoftu, ki bi si vzel vsak nekaj dni, da bi ga preveril, podpisal in distribuiral dalje. To je prepočasi, zato je CrowdStrike poiskal drugo rešitev.
Del kode, ki teče s pravicami jedra kot gonilnik, se ne spreminja pogosto in je enak, dokler se ne posodobi celotni program. Namesto tega CrowdStrike prek interneta streže nove definicije v obliki konfiguracijskih posodobitev za Rapid Response Content, ki so običajne datoteke. Te potem gonilnik bere in se seznani z novostmi, ne da bi jedro ali Windows sploh vedel, da se je naučil nekaj novega. Zdaj že lahko slutite, da je šlo nekaj hudo narobe. CrowdStrike je našel način, kako lahko sproti dostavlja novo vsebino za kodo, ki teče z vsemi mogočimi pravicami, ne da bi to kdorkoli lahko preverjal.
Kaj se je zgodilo
CrowdStrike je 19. julija letos ob 04.09 po UTC (6.09 po slovenskem času) izdal posodobljeno datoteko za Rapid Response Content, ki so jo odjemalci z internetno povezavo samodejno prevzeli. Možnosti za zakasnjeno namestitev ali preskok CrowdStrike sploh ni ponujal. Računalniki z operacijskim sistemom Windows, ki so prevzeli novo datoteko, so bili obsojeni na neskončni krog modrih zaslonov in ponovnih zagonov. (Linux in macOS, za katera tudi obstaja CrowdStrike Falcon, to pot težav nista imela.)
CrowdStrike je sorazmerno hitro ugotovil, da je posodobitev okvarjena, in jo dobro uro pozneje prenehal streči (ob 05.27 po UTC), a je bilo že prepozno. Sistemi, ki so se vmes posodobili, so bili neoperativni, zataknjeni na modrih zaslonih. Začela sta se iskanje krivca in odpravljanje napak.
Čeprav so v Microsoftu in CrowdStriku hitro vedeli, kdo je kriv in kaj se je zgodilo, so prizadeti uporabniki sprva krivili Microsoft. Čeprav ta posodobitev običajno ne izdaja ob petkih, so za napako množično krivili spodletel Windows Update. V resnici se je v preteklosti že zgodilo, da je bila kakšna Microsoftova posodobitev hroščata, a tako katastrofalno ne, predvsem pa se je Microsoft naučil, da novosti na računalnike pošilja korakoma, v manjših skupinah. Če gre kaj narobe, se to zgodi na manjši podmnožici sistemov. CrowdStrike te lekcije ni usvojil.
Okvarjena datoteka C-00000291*.sys je vsebovala posodobitve za CrowdStrike Rapid Response Content. Ta se posodablja sproti in hitro, medtem ko se Sensor Content nadgrajuje redkeje, konkretneje in bolj premišljeno. Datoteka za Rapid Response Content ni koda ali gonilnik, temveč vsebuje konfiguracijske podatke (Template Instances) in ti opisujejo posamezna ravnanja, ki jih izkazuje zlonamerna programska oprema. Zaradi hrošča v orodju za preverjanje je šla okvarjena datoteka (Channel File 291) v svet.
Tu se skriva drugi, globlji problem. Sistemi lahko zatajijo, v končni fazi pa bi lahko tudi zlonamerni akterji poskušali zrušiti sistem tako, da bi mu podtaknili neveljavne datoteke. Prav zato je toliko bolj neverjetno, da se je CrowdStrikov gonilnik ob datoteki z neveljavnimi konfiguracijskimi podatki zrušil. Ker se Falcon naloži takoj ob zagonu sistema – to je poanta zaščite, saj se mora aktivirati, preden bi jo prehitela zlonamerna koda –, se je sesul vsakokrat takoj ob zagonu. Windows tedaj ni imel druge možnosti kot prikazati modri zaslon, saj je CrowdStrikov gonilnik tekel na isti ravni kot jedro. Napake tam spodaj pa povzročijo modri zaslon. To se je seveda ponovilo ob vsakem ponovnem zagonu, sistem pa tega gonilnika ni mogel zavreči. CrowdStrikov gonilnik je namreč označen kot boot-start driver, zato se sistem brez njega ne zažene. To je varnostni ukrep, ki ima dober namen, a je to pot povzročil več škode kot koristi.
Koda v Windows se izvaja v uporabniškem ali jedrnem delu.
Analiza izpisa dogajanja ob modrem zaslonu (dump) je pokazala, da je gonilnik poskušal dereferencirati neobstoječi kazalec; datoteka C-00000291*.sys je bila prazna (oziroma polna znakov NULL)! Hrošč je torej v gonilniku obstajal že dlje časa, a se nikoli poprej ni izrazil, ker so bile datoteke veljavne. Natančen vzrok, o katerem lahko le špekuliramo, ker ga CrowdStrike še ni razkril, je pravzaprav nepomemben.
Neverjetno pa je, koliko hudih površnosti so zagrešili v CrowdStriku. Omenimo le najpomembnejše. Posodobitev so izdali, ne da bi jo preverili in namestili sami. Posodobitev so izdali za ves svet hkrati, namesto da bi to storili postopoma. Pri datoteki niso preverili najosnovnejših pomanjkljivosti, kamor gotovo sodi vsebina iz samih ničel. Pri gonilniku niso že zdavnaj prej preizkusili, kako se odzove na nesmiselne vhodne podatke. Vsak razvijalec programske opreme ve, da vnosom uporabnikov ne sme zaupati in da jih je treba prečistiti ter hkrati pričakovati največje neumnosti – napadi z vrivanjem kode (injection) so že desetletje stalnica. CrowdStrike je padel na teh osnovnih načelih odgovornega razvijanja in izdajanja programske opreme.
Rešitev
Kakor je bila težava banalna, je bila tudi rešitev trivialna. Na prizadetih računalnikov je bilo treba pobrisati datoteko C-00000291*.sys, ki je domovala v mapi %WINDIR%\System32\drivers\CrowdStrike. A tega ni bilo moč storiti na daljavo, ker so bili računalniki zataknjeni v neskončni zanki modrih zaslonov. Do računalnika je bilo treba priti fizično, ga ponovno zagnati v varnem načinu (Safe Mode) ali WRE (Windows Recovery Environment), pobrisati okvarjeno datoteko in ga ponovno zagnati. To je bilo vse. Sistemi, ki so tekli v navideznih okoljih, so se reševali ekvivalentno, in sicer z odklopom in s priklopom nosilca podatkov v drugo okolje, kjer se je pobrisala okvarjena datoteka. In prav to je razlog za tako dolgotrajno odpravljanje posledic, saj je vsak izmed 8,5 milijona računalnikov zahteval ročni in fizični pristop.
Poslovni sistemi običajnim uporabnikom ne dajejo administratorskih pravic, zato tega sorazmerno preprostega posega niso mogli izpeljati sami. Prav tako so sistemi lahko oddaljeni in fizični dostop zahteva čas in trud. Kasneje je Microsoft izdal orodje za rešitev sistemov, ki se priključi prek vrat USB in omogoča avtomatizirano popravilo (razen za uporabnike BitLockerja, ki morajo vnesti šifrirni ključ). Svoje orodje, ki pa je spet zahtevalo fizični dostop do sistema, je dva dni pozneje po incidentu pripravil tudi CrowdStrike.
Čemu služi CrowdStrike Falcon
Večnamenska platforma CrowdStrike Falcon je namenjena zaščiti pred najrazličnejšimi napadi, ki so danes mnogo pestrejši kot zgolj malware. Gre za zlorabo lukenj (exploit), neznanih oziroma nezakrpanih ranljivosti (zero-day), kraje prijavnih podatkov, ribarjenja (phishing) in druge načine. CrowdStrike Falcon zato spremlja dogajanje v sistemu in poskuša prepoznati vsako sumljivo ali škodljivo dogajanje, ne glede na način ali provenienco. Platformo sestavlja več modulov, ki imajo različne specialnosti.
CrowdStrikove programske opreme na domačih računalnikih praktično ne bomo našli. Povsem drugače je v poslovnem sektorju, kjer je razmah računalniških napadov (zlasti malwara in ransomwara) skokovito povečal povpraševanje po paketih za zaščito. K temu so pomembno prispevali tudi pravila, standardi in certifikati, ki so zahtevali določeno stopnjo zaščite, kar je bilo najlažje dokazati prav z nakupom in namestitvijo paketov, kakršen je CrowdStrikov.
O prihodnosti tovrstnih ponudnikov pa bodo odločila sodišča, saj se obeta precej tožb proti CrowdStriku. Povedno bo opazovati, koliko škode in katere stroške bodo krile zavarovalnice, ali bo CrowdStrike odškodninsko odgovoren in kakšen bo odziv konkurence.
A preprost dostop je oviralo tudi šifriranje diskov z BitLockerjem, kar varuje pred nepooblaščenim dostopom, a lahko ob neprimerni zaščiti zaklene datoteke tudi pred uporabnikom. Za dostop do sistemov, ki imajo šifrirane diske, potrebujemo ključ. Kdor ga nima, je obsedel zaklenjen iz lastnega sistema.
Ali bi šlo drugače
Microsoft se že dlje časa zaveda problematičnosti programske opreme, ki deluje kot gonilnik. Rešitev tega problema niti tako zapletena, saj je Apple to že storil. Leta 2020 je piscem aplikacij onemogočil dostop do jedra, kar je sprva povzročilo nekaj hude krvi, a so novost pač morali sprejeti. In ker Apple nima prevladujočega tržnega položaja na trgu osebnih računalnikov, mu regulatorji tega niso mogli očitati.
Microsoft bi lahko storil podobno. Namesto da bi protivirusna in druga varovalna programska oprema tekla kot gonilnik, bi lahko Microsoft napisal specialne API za dostop do potrebnih delov sistema, nato pa bi Falcon in podobni svoje delo opravljali prek teh API. Ker bi bili ti Microsoftovi, bi lahko (vsaj v teoriji) pričakovali večjo zanesljivost. To ni le hipotetična možnost, temveč so to dejansko razvijali in poskušali splaviti, a so jih ustavili regulatorji. Za The Wall Street Journal je Microsoft letos dejal, da so leta 2009 poskušali uvesti prav tak sistem in dovoliti dostop do teh API proizvajalcem varnostne programske opreme, a jih je Evropska komisija ustavila. V Evropi naj bi prevladalo stališče, da bi s tem operacijski sistem bolj zaprli, Microsoft pa bi potem sam monopolno odločal, kateri od proizvajalcev bi dobil dostop do globljih ravni sistema. Čeprav je Microsoft obljubil, da bi imeli proizvajalci enako raven dostopa kot operacijski sistem in da bi bili pri podeljevanju dostopa zelo liberalni, Komisije niso prepričali. To je Microsoftova različica zgodbe, Evropska komisija pa trdi, da so dopustni kakršenkoli poslovni model in varnostni ukrepi, ki so v skladu z evropskim pravom na področju varovanja konkurence. Tolmačenje je na koncu v pristojnosti sodišča, saj se je na odločitve (in globe) Komisije vedno mogoče pritožiti na sodišče, a je Microsoft očitno presodil, da se nima smisla pregovarjati in tožiti.
In tako smo v imenu odprtosti – dejansko lahko vsakdo napiše gonilnik za Windows, in četudi ni podpisan, ga lahko uporabnik namesti – pristali pri manj varnem sistemu.
Bo CrowdStrike preživel?
Zelo verjetno bo, a posledice bodo hude. Četudi je bilo prizadetih le 8,5 milijona računalnikov, kar je manj kot odstotek vseh sistemov z Windows, je bila škoda ogromna. Domači uporabniki praktično ne uporabljajo CrowdStrikovih programov, zato so bili nesorazmerno bolj onesposobljeni poslovni sistemi. Prve ocene o škodi so presegale deset milijard dolarjev, pa četudi je bila rešitev trivialna. Škoda je nastala zaradi izpada delovanja sistemov in potrebnega časa za njihovo obnovitev.
CrowdStrike tako kot vsi ostali ponudniki programske opreme v pogojih uporabe zavrača odškodninsko odgovornost, a na koncu o tem odločajo sodišča in ne več strani dolga EULA, ki je nihče zares ne prebere. Ameriški letalski prevoznik Delta je nekaj dni po izpadu napovedal odškodninsko tožbo proti CrowdStriku, v kateri ga bo zastopal zvezdniški odvetnik David Boies. Delta je dejala, da so morali ročno popraviti in resetirati 40.000 strežnikov, odpovedali pa so 5.000 letov. Stroški bodo šli v milijone.
Tožbo so napovedali tudi delničarji, ki so zgolj nemočno opazovali tanjšanje svojih denarnic. Delnica podjetja je v mesecu dni po izpadu izgubila približno polovico vrednosti, s čimer se je tržna kapitalizacija podjetja skrčila na 55 milijard dolarjev. A vendarle – delnica je za zdaj vredna še več kot pred letom. Delničarji tožijo tudi izvršnega direktorja Georgea Kurtza, ker je še marca ob predstavitvi poslovnih rezultatov dejal, da je CrowdStrikova programska oprema »validirana, testirana in certificirana«. V tožbi mu očitajo zavajanje, ker posodobitve Rapid Response Content niso prestale enakega preverjanja kakor posodobitve same programske opreme.
CrowdStrike je napovedal nekaj sprememb pri preizkušanju in izdajanju programske opreme, ki naj bi preprečile podobne incidente v prihodnosti. Izboljšali bodo interno testiranje in uvedli dodatne validacijske preizkuse, ki bodo preprečili izdajanje pomanjkljive kode.
Naslednja pomembna novost bo zakasnjeno izdajanje posodobitev, ki se ne bodo takoj prenesle in namestile na vse računalnike, temveč sprva le na majhno skupino (canary development) sistemov in sčasoma na preostale. Uvedli bodo tudi sprotni nadzor in spremljanje povratnih informacij ob nameščanju posodobitev, da bi takoj zaznali morebitne težave. Morda najpomembnejša novost pa bo več avtonomije za naročnike, ki bodo dobili možnost določanja, kdaj se posodobitve nameščajo. Petek pogosto ni najboljši termin, ker ob (zapozneli) katastrofi ni veliko strokovnjakov, ki so dosegljivi za odpravljanje težav na ključni infrastrukturi. Zadnji spremembi bosta zunanji nadzor in pregled kode, o čemer podrobnosti še niso znane.
Kaj smo se naučili
SI-CERT ocenjuje, da »ob pospešeni digitalizaciji različnih vidikov družbe postajamo vedno bolj odvisni od informacijskih sistemov«. To niso več zgolj kakšni manjši zapleti, temveč so posledice lahko dobesedno življenje ali smrt. Zaradi drugih vrst odpovedi – izsiljevalske programske opreme – so britanske bolnišnice že odpovedovale nenujne operacije. Promet in trgovina sta zgolj najočitnejša sektorja, v ozadju pa se lahko ustavijo energetika, industrija, nujne službe itd. Vsem napadom se verjetno nikoli ne bo mogoče izogniti, lahko pa jih poskušamo preprečevati in omejevati njihove posledice.
Eden izmed razlogov za ranljivosti je tudi krčenje proračuna za razvoj in testiranje programske opreme, zato na trg prihajajo pomanjkljivo preizkušene rešitve. Evropska unija želi to urediti z zakonsko prisilo, zato je pripravila NIS2 (Network and Information Security) in CRA (Cyber Resilience Act). Tadva predpisujeta pravila za ponudnike izdelkov z digitalnimi elementi.
V sektorjih, ki si ne morejo privoščiti zaustavitve, pa se morajo vprašati, kako se bodo odzvali na zaustavitev računalniških sistemov. Vzrokov za to je veliko in slej ko prej se jim bo to zgodilo. Previdnost je mati modrosti, varnostne kopije in redundanca pa osnovni predpostavki informacijske varnosti. Na svidenje v naslednji bitki!