1Ghz de Sinceritate

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.

11 COMMENTS

  • Intel va face asta https://media.giphy.com/media/94EQmVHkveNck/giphy.gif (după ce va scoate patch-urile și-și va cere scuze). Așa cum spunea cineva la radio zilele trecute, procesul de dezvoltare pentru un procesor nou durează ani buni. Următoarele procesoare vor avea parte de aceste vulnerabilități la fel ca cele existente. Cel mai probabil peste 6-7 ani vom avea procesoare care nu sunt vulnerabile la Meltdown și Spectre (în cel mai bun caz).

    Mă deranjează mult faptul că s-a știut și nu s-a spus nimic. Dacă aveam procesor AMD, m-ar fi deranjat faptul că actualizările pentru aceste probleme mi-ar fi provocat și mie probleme, chiar dacă procesorul nu e afectat. Mă deranjează că CEO-ul Intel a vândut acțiuni în valoare de milioane pe șestache. Pentru aceste chestii nu pot decât să observ și să fiu mai atent data viitoare. Din fericire am un procesor mult prea puternic și pentru 2018 (luat în 2015 – Core i7-5820K) și nu mă va deranja prea tare încetinirea impusă de workaround-urile propuse.

  • Exact, AMD-urile care au primit update au fost afectate, desi vina pare a fi mai degraba a producatorului hardware, nu a Microsoft.

    Eu am un i7-6700HQ, un Skylake deci, o gama mai putin afectata de patch-uri (diferenta de performanta la nivel de maxim 1%). Oricum, se pare ca pe toti utilizatorii ii deranjeaza acelasi lucru: nu ca vulnerabilitatile exista, ci ca au fost ascunse si ca acum, cand media a deschis ochii, vor fi “peticite” la modul neglijent.

  • Un articol bine documentat 🙂

  • Merci. Varianta in engleza era mai bine documentata, dar deja ma plictisisem sa tot adaptez 🙂

  • Cum se zice în industrie, it’s not a bug, it’s a feature. De unde știi că sunt neintenționate? De unde știi că nu sunt niște backdooruri pentru NSA? Care, conform Snowden, are linie directă către serverele marilor entități digitale (și resursele necesare folosirii exploiturilor de acest tip în cazul altor entități). Intrând din link în link, am văzut că prima obiecție cu privire la arhitectura procesoarelor a fost ridicată cu ani buni în urmă, de cineva din cadrul NSA.

    Cică atacurile Meltdown nu pot fi detectate.

  • Pentru ca mi-am citit descrierile, unde am si scris ca Meltdown nu poate fi detectat 🙂

    Spectre exista de cand exista procesoare moderne, deci exclus sa fie un backdoor intentionat. In momentul proiectarii sistemului de executie speculativa, oamenii inca nu aveau cine stie ce acces la computere, nu mai vorbim de procesoare in sine, care erau “chestiile alea sfinte din mijlocul placii de baza”: https://www.extremetech.com/computing/261792-what-is-speculative-execution

    In 1997, cand procesoarele de tip “pipeline” (cu executie speculativa din start) au invadat piata consumatorilor, nimeni nu umbla la BIOS fara baiatul de la service. In 2017, un nebun care capata si cateva secunde de acces la un server major poate face praf sute de calculatoare, arzandu-le inclusiv cateva cipuri, si asta fara Spectre sau Meltdown.

    Meltdown e o eroare in proiectarea Intel (atat AMD, cat si multi producatori de ARM au rezolvat-o de prin 2012 sau chiar de mai devreme, cand au schimbat niste linii de productie, ceea ce Intel, lider de piata, probabil n-a vrut sa faca – nu e complet exclus sa nu fi vrut sa o faca sau sa nu fi crezut ca cineva ar putea candva exploata o eroare la nivelul ala). E normal ca NSA-ul sa fi raportat asa ceva pentru ca asta e treaba NSA-ului, indiferent de ce fac angajatii lui pe langa! Faptul ca au raportat-o arata mai degraba ca se temeau de ea, decat ca ar fi stiut cum sa o exploateze. Nici acum nu e clar daca cineva stie sa exploateze Meltdown pentru ca ai nevoie de acces fizic pentru a rula o rutina de genul asta. Asta nu inseamna ca cineva n-a facut sau nu va face un script de 200Kb care sa faca acelasi lucru. De-asta e bine sa aveti browser-ele actualizate si sistemul de operare la fel. O fi ea o problema hardware, dar tot prin software lucreaza.

    De fapt, mai toti s-au speriat cand erorile au fost raportate independent de Google Labs. S-au speriat pentru ca stiau ca Google va da publicitatii problema, mai devreme sau mai tarziu – fie direct, fie prin patch-uri pentru Chrome si ChromeOS (browser-ul are deja un patch care exclude anumite atacuri web posibil suspecte). In momentul in care comunitatea “hackerilor” (black hat si crackeri, de fapt) afla despre arhitectura unei erori de proiectare, e clar ca se va gasi cineva sa o si exploateze.

  • Și despre Eternal Blue s-a spus la fel. Poate nu toți cei ce au scris aici vor trebui să argumenteze alegerea unei soluții hardware într-un viitor apropiat. Sunt curios cum vor putea pune,în prezentarea unei soluții hardware, în aceeași propoziție, cuvintele securitate și Intel.

  • Pai nici nu venea securitatea de la Intel, doar ca in momentul asta niciun producator nu e sigur. EtenralBlue a fost un exploit gandit de NSA, dar preexistent, la fel ca Meltdown si altele. Oamenii l-au recunoscut atunci cand cineva l-a folosit in atacul Warcry.

    Daca Google nu facea publice Meltdown (nu ei l-au facut primii public, oricum, dar din cauza lor s-a varsat toata istorisirea) si Spectre, probabil ca nici altii n-ar fi zis nimic o vreme. Doar ca, acum exista posibilitatea unui Warcry bazat pe una din problemele astea – un atac necontrolat de cineva cunoscut.

  • Referitor la: “AMD-urile care au primit update au fost afectate, desi vina pare a fi mai degraba a producatorului hardware, nu a Microsoft.”

    Nu, e vina MS. Pt ca nu impingi un KB asa important fara sa testezi ca lumea pe masini in test lab. Deci ei s-au spalat pe maini ca alea erau specificatiile tehnice. Bravos monsher, dar nu testezi live? nu pui mana pe telefon sa intrebi macar un baiet-doi de la AMD? Ce fel de process flow ai cand bagi in Prod ceva asa important? Ca doar MS e in domeniu de 30 de ani. Inteleg un mom&pop shop sa faca o greseala de genul asta, dar nu MS.

    Oricum, e f posibil sa fi fost altceva la mijloc. De ex Intel sa le-o traga AMD-ului prin MS, prea urca AMD in stocks din cauza Spectre & Meltdown.

  • Pai presa negativa tot Microsoft si-a luat-o si si-ar fi luat-o oricum, chiar daca AMD ar fi trimis specificatii aiurea catre producatorul de software.

    Altfel, nu stiu ce sa zic: am sfatuit doua persoane sa ia niste AMD-uri de ultima generatie si sunt placut impresionat si de Radeon si de procesoarele mai noi. Suportul software e tot sub combinatia Nvidia si Intel (ma refer la optimizarea in raport cu alte programe, ca la capitolul “actualizari” Nvidia e regina gafelor). Acum cativa ani, nu m-as fi atins de nimic de la ei, dar de vreun an si ceva, imi place ce vad si citesc. Pe moment nu am nevoie de upgrade, dar cand o sa am (si va fi probabil tot un laptop de gaming) o sa-i iau in considerare, mai ales pentru seriile Ryzen care par si mai decent racite.

    AMD au cazut pe barba lor si i-au tras nitel si pe Radeon in jos, insa mi se pare ca tot pe barba lor se vor ridica, mai ales ca le-a crescut constant cota de piata chiar si inainte de Spectre si Meltdown. Trebuie sa mai invete putin PR si sa inteleaga ca cea mai buna investitie e in producatorii de jocuri si software dispusi sa optimizeze pentru platforma, nu in site-uri dubioase de recenzii.

Leave a Reply

Your email address will not be published. Required fields are marked *

krossfire

Un simplu haiduc al cuvintelor.