
Începem anul și cu o veste care pare să fi avut deja un efect destul de nociv asupra acțiunilor Intel, generând panică printre dezvoltatorii de software, supărare prin comunitatea Linux și amuzament nesfârșit pentru câțiva oameni de la AMD.
Voi încerca să explic pe cât mai clar pot acest subiect, fără să vă bat la cap cu detalii despre trambuline metaforice. Meltdown și Spectre sunt două categorii de vulnerabilități descoperite de grupuri de la Universitatea Graz din Austria, firma de securitate germană Cerberus, precum și divizia Project Zero a Google. Chiar vă încurajez să aruncați o privire peste postarea făcută pe Project Zero pentru detaliile complete, deoarece se leagă de elemente fine pe care nu le pot explica în mod coerent.
Rezumatul ar fi următorul. Modul în care procesoarele moderne, fie cele X86 sau ARM, gestionează privilegiile de memorii poate fi influențat de factori externi pentru a permite unei aplicații fără drepturile adecvate să capete acces la zone de memorie unde n-ar trebui să aibă treburi.
Spectre presupune exploatarea modului în care procesoarele încearcă să prezică următoarea instrucțiune (care în mod normal duce la îmbunătățirea performanței) pentru a păcăli sistemul să acces la memorie care nu ar trebui să fie modificabilă de altceva decât kernel-ul sistemului de operare. Nu există un remediu pentru Spectre în acest moment. Problema afectează procesoare ARM, AMD și Intel, iar remedierea sa probabil va dura ceva timp.
Până atunci mai avem pe cap și Meltdown. O problemă care afectează doar procesoarele Intel, din cauza unei defect la nivel hardware al tuturor modelelor făcute aproximativ în ultimul deceniu. Principiul de bază este tot cel de-a abuza instrucțiunile predictive, dar din cauza arhitecturii Intel și a modului în care acest concept este implementat, exploatarea sa este mult mai simplă. Din fericire, pentru Meltdown există o rezolvare, și anume, un patch prin care pot fi dezactivate funcțiile avansate de predicție ce pot provoca aceste probleme de securitate. Numai că acest patch are are o mică problemă. Dezactivarea acestor funcții are un efect asupra performanței. Efectul depinde de la o aplicație la alta, iar la jocuri pare deocamdată să fie neglijabil, dar unele aplicații pot vedea o degradare a performanței între 5% și 30%.
Intel încearcă în acest moment să calmeze spiritele, spunând că scăderea de performanță este exagerată. Cu toate acestea, anul trecut, când a început actualizarea kernel-ului Linux, cu comentarii cenzurate, pentru a fi rezolvată problema, CEO-ul Intel, Brian Krzanich a vândut acțiunile pe care le avea la companie pe care le putea vinde în mod legal. Acțiunea sa ar putea fi văzută cu ochi răi de autorități, care nu prea se bucură atunci când conducerea unei companii vinde acțiuni fix înainte de scăderea prețului acestora ca urmare a unor vești neplăcute despre produsele companiei.
Iarăși, pentru utilizatorul de rând această problemă de securitate și rezolvarea sa ar putea fi neînsemnată, dar se va simți un impact pe domeniul serverelor.
Și ca să încheiem și cu o parte amuzantă. AMD recomandă în mod oficial implementarea următoarei linii de cod în kernel-ul Linux:
– /* Assume for now that ALL x86 CPUs are insecure */
– setup_force_cpu_bug(X86_BUG_CPU_INSECURE);
+ if (c->x86_vendor != X86_VENDOR_AMD)
+ setup_force_cpu_bug(X86_BUG_CPU_INSECURE);fpu__init_system(c);
Astfel, cercul este complet, Intel având ceva similar în compilatorul său pentru ani de zile pentru a forța o altă cale de execuție în cazul în care nu era găsit un procesor propriu. O cale adesea mai lentă.
[Yahoo Finance, Ars Technica, Shrout Research]