Pentru cei interesați, există și o alternativă în engleză a articolului de față, puțin mai tehnică…

În ultimele două săptămâni e imposibil să nu vă fi împiedicat de două nume grele din spațiul online: Spectre și Meltdown. Dacă nu ați făcut-o, nu e nicio problemă. În maxim două luni, televiziunile de știri vor înțelege greșit situația și ne vor spune panicate cum calculatoarele și telefoanele vor fi blocate de doi „viruși devastatori”. Până atunci însă, permiteți-mi să analizez puțin scandalul tehnologic cu care a debutat anul 2018.

Spectre și Meltdown sunt două vulnerabilități ale procesoarelor despre care s-a scris de ceva vreme, dar pe care producătorii au încercat să le țină sub preș. Dacă Meltdown este legat în principal de procesoarele de la Intel (dar și de câteva procesoare AMD și ARM), Spectre nu discriminează: orice dispozitiv cu procesor e vulnerabil. Vestea bună este că utilizatorul obișnuit n-ar trebui să-și facă prea multe griji. Nu în momentul ăsta, cel puțin. Până acum nu s-au raportat atacuri de tip Meltdown sau Spectre (nu că ne-am fi prins), dar asta nu înseamnă că nu se va găsi curând o cale de a le produce. Chiar și așa, un sistem de operare adus la zi, programe actualizate și un antivirus decent (cu protecție web) ar trebui să îngreuneze procesul.

În plus, exploatarea celor două vulnerabilități cere timp și resurse și puțini atacatori le-ar investi într-un utilizator obișnuit. Utilizatorii din zona de business sunt însă mult mai vulnerabili, mai ales cei care apelează la arhitecturi de tip cloud. Partea cu adevărat proastă este că actualizările care trebuie să rezolve problema sunt obligatorii „pentru toată lumea”. Tot ele au și potențialul de a încetini procesoarele aflate în momentul ăsta pe piață.

Nu vreau ca perspectiva mea să fie una tehnică, dar merită să explicăm puțin ce e cu vulnerabilitățile ăstea și de ce ne interesează. Ar fi de menționat că ambele probleme afectează hardware-ul la un nivel de „bază” și că nu sunt simple erori pe care Microsoft, Google sau Apple să le poată repara de capul lor, deși cei trei fac eforturi în sensul ăsta.

Meltdown este o eroare de design, specifică anumitor arhitecturi de procesoare (în special procesoarelor Intel, așa cum am menționat). Ea permite unui proces extern (unui proces „rebel”) să citească informația din kernel, adică din nucleul oricărui sistem de operare, nucleu responsabil de controlul resurselor fizice ale dispozitivului. Cum face treaba asta? Ei bine, Meltdown exploatează timpii de reacție dintre accesarea memoriei de către procesor și verificarea privilegiilor celui care o accesează. Pentru că lucrează la nivel hardware, un atac de genul ăsta e imposibil de detectat. Soluția actuală pentru problema Meltdown este una software. Ca orice soluție software pentru o problemă hardware, era de așteptat să apară și probleme.

Spectre e o creatură și mai specială pentru că nu e o problemă a producătorilor, ci o eroare de funcționalitate primară. Ea ține efectiv de modul în care procesoarele moderne au fost concepute. Vedeți voi, chestia aia din telefonul, tableta sau laptopul vostru se folosește de ceva numit „execuție speculativă”. Vorbim despre execuția unor rutine rapide și nu tocmai necesare, dar care ar putea fi utile procesorului în viitorul apropiat. Sistemul ăsta ajută și optimizează pe termen lung funcționalitatea procesorului și este bazat, printre altele, pe ceva numit „predicție pe ramificații” (branch prediction).

Practic, vorbim despre abilitatea de a prezice cum și când va evolua un proces și de a-l executa anticipat. Spectre exploatează așa numitele „efecte secundare” ale tehnicii menționate anterior, accesând informații care nu ar trebui să existe (inclusiv cele din cache-ul procesorului). Informațiile de genul ăsta sunt lăsate în urmă de procesele execuției speculative. Dacă vă sună ca o chestie teoretică și ambiguă, pe de-o parte e vina traducerii mele dubioase. V-am zis că am scris articolul inițial în engleză. Pe de altă parte, e de reținut că Spectre nu e o „singură eroare”, ci o întreagă clasă de vulnerabilități care afectează același sistem. Spectre nu poate fi reparat doar prin actualizări software, ci va trebui adresat în viitor, la nivelul designului de procesoare.

Pe scurt, ambele vulnerabilități pot fi reduse la același lucru. Un utilizator fără acces privilegiat va putea ajunge cu ușurință la informații foarte sensibile de pe un dispozitiv personal sau server. Informațiile ăstea pot include orice, de la parole și date uzuale, la informații vitale de sistem, genul de informații care pot închide un server întreg în câteva secunde. Pentru o analiză mai profundă a structurii erorilor, puteți consulta articolul ăsta.

Mai grav în toată povestea asta e că atât Spectre, cât și Meltdown sunt cunoscute de ceva timp. Spectre a fost raportat de Google încă din iunie 2017, iar Meltdown a fost prezis de mai multă vreme, fiind o problemă de design. Ele au devenit subiect de discuție de-abia atunci când utilizatorii obișnuiți au început să înțeleagă ce se întâmplă. Tot atunci marile companii au fost forțate să ofere „soluții”. Problema cu multe dintre soluțiile propuse este că mai toate vor avea efecte secundare, unele dintre ele afectând vizibil viteza unor procesoare, mai ales a celor de generație mai veche (făcute înainte de 2016 sau de generația Skylake de la Intel). Puteți găsi o listă cu ele aici. Să recapitulăm deci: două erori fundamentale care au fost ținute sub preș de producători vor fi reparate în detrimentul utilizatorilor și a produselor pe care ei deja le-au achiziționat. E ca și când, după o rechemare în service a modelului tău de mașină, ai primi înapoi un vehicul cu mai puțini cai putere decât originalul.

Unii dintre voi vor spune că, totuși, marile companii de software și hardware lucrează din greu la actualizări. Alții îmi vor spune că problemele nu sunt tocmai ușor de rezolvat, ele acționând la un nivel de bază. De altfel, dacă e să ne luăm după comunicatele de presă, lucrurile chiar așa par să stea. Sunt convins că giganții din lumea tehnologiei lucrează la rezolvarea problemelor, dar asta nu le scuză comportamentul inițial. Ieșirile publice nici nu-l iartă pe CEO-ul Intel de vina de a fi vândut acțiuni, chiar înainte ca cele două erori să fie prezentate în public.

Și aici apare și vina noastră, a utilizatorilor și fanilor de gadget-uri. Aproape la orice oră poți găsi pe un forum o bătălie macOS vs. Windows, AMD vs. Intel, Android vs. iOS. E normal, toți vrem să reducem disonanța cognitivă și să ne apărăm produsele de pe birou, din geantă sau din buzunar. Ce nu înțeleg eu este de ce și acum, când dezamăgirea a venit din toate părțile, oamenii insistă să își apare cu îndârjire mărcile. În cazul ăsta, chiar dacă Intel va fi cea mai lovită, tind să cred că nu vor exista companii mai „puțin vinovate” pe termen lung.

Am tăcut la multe alte vulnerabilități de gen, dar poate acum e de faptul momentul să avem o voce comună. Una care să nu ceară imposibilul, pentru că niciuna dintre problemele amintite nu a fost intenționată. Una care să ceară mai multă transparență față de utilizator. Nici n-ar fi nevoie de mult. Poate doar de un rând sau două în plus la garanție care să ne asigure un bit de… sinceritate.

P.S: Cele două vulnerabilități nu mai sunt de multă vreme noutăți. Ce va fi însă nou va fi modul în care ele vor fi sau au fost deja exploatate, motiv pentru care am decis să public totuși articolul ăsta.