Două dintre cele mai mediatizate vulnerabilități din anii 2010 erau foarte strâns legate între ele. În loc să fie vulnerabilități de securitate în software, Spectre și Meltdown sunt vulnerabilități în designul fundamental al procesoarelor, ceea ce face ca problema să fie mai dificil de rezolvat. Problemele în sine sunt deosebit de grave, permițând dezvăluirea memoriei din alte aplicații și din sistemul de operare.
Prezentare generală
CPU-urile folosesc designuri incredibil de avansate pentru a obține cele mai înalte performanțe, inclusiv tehnici, inclusiv execuția speculativă și predicția de ramuri. Execuția speculativă este locul în care CPU începe să ruleze un proces înainte de a ști dacă este necesar, în încercarea de a economisi timp atunci când stabilește că trebuie. Predicția ramurilor este un subset de execuție speculativă care încearcă să prezică rezultatul unui proces și apoi începe să calculeze următorul pas pe baza acelei valori prezise, permițând CPU-ului să execute o serie de instrucțiuni din Ordin.
Vulnerabilitatea Spectre provine din implementarea acestor două caracteristici. Permite unei aplicații să încalce tehnicile de izolare a memoriei încorporate în majoritatea software-ului modern, permițând dezvăluirea memoriei, inclusiv a secretelor precum parolele și cheile de criptare. Una dintre problemele cu Spectre este că datele pot fi accesate din aplicații care nu au vulnerabilități de securitate, deoarece este necesar doar un program rău intenționat.
Vulnerabilitatea Meltdown se bazează pe unele tehnici de memorie, precum și pe sistemul de execuție speculativ menționat mai sus. Utilizează o „condiție de cursă” între execuția procesului și verificarea privilegiilor și permite unui program rău intenționat să acceseze memoria altor aplicații și sistemul de operare.
Sfat: o „condiție de cursă” este o problemă în care o sarcină ar trebui să se bazeze pe alta, dar ordinul de execuție corect nu este aplicat. Acest lucru poate duce la „al doilea” proces care rulează primul și utilizând memorie neinițializată care ar fi trebuit să conțină rezultatul „primului” proces, scurgând conținutul anterior al acelei memorie. În acest caz specific, procesul nu ar trebui să ruleze până când o verificare a permisiunilor nu a verificat că este permisă, dar verificarea permisiunii poate avea loc în al doilea rând din cauza optimizărilor performanței.
Efecte
La jumătatea anului 2017, mai multe echipe au descoperit și raportat în mod independent atât Meltdown, cât și Spectre, producătorilor de procesoare care au dezvoltat corecții. Datorită corecțiilor care vizează optimizările performanței, acestea au ajuns să reducă performanța CPU-urilor cu până la 30% în cel mai rău caz, cu o scădere a performanței cu 2-14% fiind mai reprezentativă pentru oamenii experiențe.
Vulnerabilitățile au afectat multe procesoare x86, procesoare IBM POWER și unele procesoare bazate pe ARM. Meltdown afectează hardware-ul care se găsește de obicei în computerele personale, precum și în serverele cloud. Spectre afectează computerele personale, serverele cloud și dispozitivele mobile. Toate procesoarele Intel din 1995 până la mijlocul anului 2018 au fost vulnerabile la probleme (cu excluderea liniilor Itanium și Atom înainte de 2013). Procesoarele AMD nu au fost afectate de Meltdown, dar au fost vulnerabile la Spectre.
Patch-urile de atenuare software au fost dezvoltate și lansate prin furnizorii de sisteme de operare care rezolvă majoritatea problemelor. De la jumătatea anului 2018, Intel și-a actualizat designul procesorului pentru a include atenuări hardware pentru probleme.
Ambele probleme pot fi exploatate prin intermediul paginilor web rău intenționate cu JavaScript creat, deci este foarte important să faceți asigurați-vă că patch-urile de securitate sunt instalate pe fiecare sistem, chiar dacă pierderea performanței va fi severă. Din păcate, problemele nu pot fi rezolvate cu un singur patch, deoarece sunt probleme extrem de complexe, cu profunde integrarea în hardware, corecțiile de securitate vor continua să fie lansate în timp, așa cum sunt variantele mai noi descoperit.