Armageddon în lumea IT-ului. Cipurile Intel permit o vulnerabilitate majoră. O mulţime de sisteme afectate, inclusiv sisteme cloud
alte articole
Silicon Valley este lovită crunt de veştile despre 'Meltdown' şi 'Spectre' — noi metode prin care hackerii pot câştiga accesul asupra sistemelor care au la bază cipuri Intel - dar şi AMD şi ARM.
Problema nu este nouă - fiind descoperită de Google anul trecut, însă ajuns în paginile ziarelor ieri.
Meltdown şi Spectre capitalizează o problemă a chipurilor care poate fi folosită de atacatori pentru a citi informaţii secrete din memoria unui computer - de exemplu parole, chei de criptare şi alte informaţii sensibile.
Ce trebuie avut în vedere este că aproape orice PC, laptop, tabletă, sau telefon inteligent este afectat de această problemă, indiferent ce compania a produs cipurile sau ce sistem de operare rulează.
Eroarea de proiectare a procesoarelor (în special Intel pare să fie lovit) permite ca aplicaţiile, virusuri informatice şi scripturi javascript conţinute în pagini web, să obţină informaţii pe care nu ar trebui să le poată accesa: conţinutul zonelor de memorie private ale nucleului sistemului de operare - numit kernel.
Aceste zone conţin adesea fişiere stocate în memoria cache din disc, parole (inclusiv ale altor utilizatori ai sistemului) şi tot felul de informaţii secrete. Acestea ar trebui să fie invizibile pentru programele normale, din motive de securitate.
Ca urmare a defectului, pe un sistem comun, cum ar fi un server public cloud, este posibil, în funcţie de configuraţie, ca software-ul instalat pe o maşină virtuală să descopere memoria fizică a maşinii gazdă şi să obţină date de la maşinile virtuale ale celorlalţi clienţi.
Nu doar compania Intel este afectată. Procesoarele AMD şi ARM sunt şi ele – dar în grade diferite. AMD a insistat că există un risc aproape de zero, deoarece procesoarele sale pot fi atacate doar în anumite scenarii.
Aceasta este, în esenţă, o gafă uriaşă a industriei de cipuri, marii producători lăsând la o parte securitatea pentru a obţine viteze mai mari de procesare pentru cipurile produse.
Producătorii de Linux se străduiesc acum să revizuiască sistemul de memorie virtuală al nucleului. Între timp, Microsoft este aşteptat să introducă în mod public modificările necesare sistemului său de operare Windows într-un viitor update aşteptat marţi.
În mod esenţial, actualizările pentru Linux şi Windows vor afecta performanţa în cazul în care maşinile au la bază arhitectura Intel. Efectele sunt încă evaluate, dar estimările arată scădere a performanţei de 5% până la 30%, în funcţie de sarcină şi modelul de procesor.
Sistemele de operare similare, cum ar fi MacOS pe 64 de biţi de la Apple, vor trebui, de asemenea, actualizate - defecţiunea se află în hardware-ul Intel x86-64 şi se pare că o actualizare a microcodului nu o poate rezolva. Astfel că defectul trebuie corectat la nivelul sistemului de operare sau prin achiziţionarea unui nou hardware cu procesor fără defectul respectiv.
Detaliile privind vulnerabilitatea din cadrul cipurilor Intel sunt în curs de dezvăluire: există un embargo asupra lor, care va fi ridicat la începutul acestei luni, probabil după actualizarea pe care o va publica Microsoft săptămâna viitoare.
Actualizările pentru kernel-ul Linux sunt disponibile, dar comentariile din codul sursă au fost şterse pentru a împiedica exploatarea defectului.
Cu toate acestea, au apărut unele detalii ale defecţiunii.
Ori de câte ori un program care rulează trebuie să facă ceva util - cum ar fi scrierea într-un fişier sau deschiderea unei conexiuni de reţea - trebuie să deţină temporar controlul procesorului asupra kernelului pentru a efectua operaţiunea. Pentru a face trecerea de la modul utilizator la modul kernel şi a reveni la modul utilizator cât mai rapid şi mai eficient posibil, kernelul este copiat în spaţiile de adrese virtuale ale tuturor proceselor, deşi este invizibil pentru aceste programe. Atunci când o operaţiune care necesită kernelul este necesară, programul face un apel sistem, procesorul trece în modul kernel şi intră în kernel. După ce se termină, procesorului i se cere să treacă la modul utilizator şi să reintre în spaţiul de memorie al procesului. În modul utilizator, codul şi datele kernelului rămân nevăzute, dar sunt prezente în tabelele de pagini ale procesului.
Dar un defect al cipurilor face ca acest mecanism să nu funcţioneze corect, astfel încât memoria spaţiului kernel să fie accesibilă la operaţii de citire.
Remedierea defectului se face prin separarea completă a memoriei kernel-ului de procesele utilizatorilor utilizând ceea ce se numeşte Kernel Page Table Isolation sau KPTI. La un moment dat, echipa de Linux a venit cu un concept numit Forcefully Unmap Complete Kernel With Interrupt Trampolines, cunoscut sub numele de FUCKWIT, pentru a corecta acest lucru.
Remedierea prin tabele KPTI mută nucleul într-un spaţiu de adrese complet separat, care nu este doar invizibil pentru un procesul respectiv
Dezavantajul acestei remedieri: costă performanţă. Sistemul va trebui să comute între două spaţii de adrese pentru fiecare call de sistem sau întrerupere hardware. Comutările (numite de context) nu sunt instantanee şi obligă procesorul să arunce conţinutul cache-ului şi să-l reîncarce pe cel nou de fiecare dată când apare saltul în alt spaţiu de adrese. Acest lucru creşte mărimea kernel-ului şi încetineşte computerul.
Prin urmare dispozitivul dvs. Intel va funcţiona mai lent.
Vulnerabilitatea ar putea fi o unealtă uşor de folosit de către hackeri pentru a exploata mai uşor alte probleme de securitate de securitate.
În cel mai rău caz, defectul ar putea fi abuzat de programe şi utilizatorii conectaţi pentru a citi conţinutul memoriei nucleului.
Defectul va afecta mediile cloud de mari dimensiuni, inclusiv Amazon EC2, Microsoft Azure şi Google Compute Engine, conform platforme Python Sweetness.
Noul cloud Azure al Microsoft, care rulează atât Linux, cât şi Windows, va fi supus unei întreţineri şi va fi repornit pe 10 ianuarie, probabil pentru a aplica actualizările legate de caz.