Atvirojo kodo „Linux“ sistemų programuotojai suskubo iš naujo perprogramuoti šios sistemų grupės branduolio (angl. kernel) virtualios atminties komponentą, o iš „Microsoft“ oficialių žinių laukiama ateinančios savaitės antradienį (būtent antradieniais vyksta „Windows“ programinių pataisymų platinimas), nors jau lapkritį ir gruodį šios sistemos bandytojai galėjo patikrinti šių pakeitimų svarbą.
Šiuo atveju programinių spragų užtaisymas brangiausiai kainuos vartotojams, kurių kompiuteriuose yra „Intel“ procesoriai. Kol kas tikslaus kiekybinio vertinimo nėra, tačiau tikimasi, kad kompiuteriai turėtų sulėtėti 5–30 procentų, priklausomai nuo atliekamos užduoties ir konkretaus procesoriaus modelio.
Norint užtikrinti vartotojų saugumą atnaujinti teks ir kitas sistemas, kurios gali veikti kompiuteriuose su „Intel“ procesoriais – pavyzdžiui, „MacOS“. Mat iš tikrųjų spraga yra ne programinėje įrangoje, o „Intel“ procesorių x86-64 architektūroje ir, panašu, jos nedideliu programiniu „lopu“ užtaisyti neįmanoma: ją tenka šalinti operacinės sistemos lygmenyje. Arba taikyti galbūt dar skaudesnį sprendimo būdą – įsigyti kitą procesorių be šios spragos.
Kol kas tiksli techninė informacija apie „Intel“ klaidą nėra skelbiama (tačiau ji taps žinoma jau šio mėnesio pradžioje, galbūt ateinančios savaitės antradienį, kuomet pataisą išplatins „Microsoft“). „Linux“ branduolio pataisos yra jau dabar prieinamos visiems, tačiau iš šios pataisos kodo pašalinti komentarai, todėl be ypatingų programavimo žinių labai sudėtinga suprasti, kokia yra tiksli problemos priežastis.
Tačiau šis tas yra žinoma.
Panašu, kad klaida yra būdinga moderniems „Intel“ procesoriams, gamintiems pastarąjį dešimtmetį. Dėl šios klaidos įprastinės vartotojams skirtos programos – nuo duomenų bazių valdymo sistemų iki „JavaScript“ įskiepių naršyklėse – gali iš dalies sužinoti apsaugotų branduolio atminties sričių turinį ar išdėstymą. Kas iš esmės reiškia, kad branduolio lygmenyje apdorojama informacija nėra slapta, dėl ko gali nutekėti tokie konfidencialūs dalykai, kaip vartotojų slaptažodžiai.
Kadangi techninės įrangos saugumo spragų užkamšymo galimybės ribotos, šio darbo ėmėsi operacinių sistemų kūrėjai, iš savo pusės programiškai užtikrinantys, kad informacija, kuri apdorojama sistemos branduolyje, liktų slapta ir neprieinama iš išorės. O programuotojų susierzinimą, kilusį dėl tokios spragos palikimo procesoriuose, galima suprasti iš „Linux“ programuotojų sugalvoto akronimo, kuriuo pavadintas vienas branduolyje apdorojamos informacijos apribojimo metodas: FUCKWIT (angl. Forcefully Unmap Complete Kernel With Interrupt Trampolines), kurio pats švelniausias vertimas į lietuvių kalbą būtų „pusprotis“. Ir labai panašu, kad šis tikrai ne atsitiktinai atsiradęs epitetas yra nutaikytas į „Intel“ pusę.
Klaidos esmė
Kai tik bet kokia kompiuteryje veikianti programa turi atlikti kokį nors naudingą veiksmą – pavyzdžiui, įrašyti informaciją į rinkmeną ar užmegzti ryšį internetu – ji procesoriaus valdymą laikinai perduoda operacinės sistemos branduoliui. Valdymo perdavimas iš vartotojo į branduolio režimą ir atgal turi būti kiek įmanoma sklandesnis ir spartesnis, todėl branduolio elementų esama visų procesų virtualios atminties adresų srityje, nors pačioms programoms tai nėra matoma. Kai prisireikia, kad kokį nors veiksmą atliktų branduolys, programa atlieka kreipinį į sistemą, procesorius persijungia į branduolio režimą. Užduotį atlikus procesoriui nurodoma grįžti į vartotojo režimą. Vartotojo režime branduolyje esantis kodas ir duomenys nėra matomi.
Tam tikra prasme branduolį galima būtų lyginti su dievu, sėdinčiu ant debesies ir stebinčiu Žemę. Nors to dievo niekas iš Žemės nemato, tačiau gali jam melstis.
Programinės operacinių sistemų pataisos branduolio vykdomas operacijas iškeldins į visiškai atskirą adresų sritį, kad ji būtų ne šiaip nematoma kompiuteryje veikiantiems procesams, bet ir neaptinkama. Iš esmės gerai suprojektuotame procesoriuje to daryti nereikėtų, tačiau „Intel“ procesorių architektūros klaida, panašu, kažkokiu būdu leidžia programoms prieiti prie apsaugotos branduolyje esančios informacijos.
Tokio papildomo branduolio atskyrimo kaina bus milžiniška vertinant laiko sąnaudas – bet kokiam kreipiniui į operacinę sistemą turės būti vykdomas šokinėjimas tarp atskirų adresų sričių. O vartotojai rezultatą tikrai pajus – kompiuteriai su „Intel“ procesoriais sulėtės.
Labiausiai ši klaida atsilieps visokių kompiuterinės debesijos, internetinių svetainių įkurdinimo ar virtualių serverių paslaugas teikiančioms kompanijoms, kurioms teks diegti sistemų pataisas ir dėl kurių gali nukentėti darbo sparta, rašo svetainė veikia.lt
Svetainė „Gizmodo“ teigia, kad nors iš anksto skelbiamas 5-30 proc. sistemų našumo sumažėjimas verčia išsižioti iš nuostabos, iš tiesų kol kas sunku pasakyti, ar paprasčiausiems vartotojams sulėtėjimas bus juntamas, be to, tikėtina, kad ateityje skubiai sukurtas sprendimas bus tobulinamas, todėl ir sulėtėjimo efektas ilgainiui gali mažėti.
Anot kibernetinio saugumo ekspertu, neužkamšius šios skylės programišiai pačiu geriausiu atveju pasinaudos ja norėdami lengviau pasiekti kitas saugumo spragas. Blogiausiu atveju spragą pradės naudoti paprasčiausios vartotojams skirtos programos ir netgi patys vartotojai, galėsiantys nuskaityti branduolyje esančios informacijos turinį. O tai yra labai blogai, nes branduolyje gali būti pačių įvairiausių paslapčių – slaptažodžių, prisijungimo raktų, rinkmenų, įkeltų į darbinę atmintį iš informacijos kaupiklio ir panašiai. Įsivaizduokite – neaiškios kilmės naršyklės įskiepis galėtų nuskaityti visus jūsų slaptažodžius.
Papildomai situacijos rimtumą iliustruoja tai, kad ir „Windows“, ir „Linux“ sistemų kūrėjai itin operatyviai ėmėsi didelės apimties, vartotojų produktyvumui žalingų pataisų kūrimo.
Įmonė AMD suskubo paskelbti, kad jų pagamintuose procesoriuose šios spragos nėra.