Până de curând, securitatea informațiilor unui computer local se baza pe principiul izolării complete a unui program în desfășurare de altul. Aceasta a însemnat că, în absența unei erori în software, niciunul dintre procesoare nu a putut accesa datele celuilalt fără acces explicit.
S-a presupus că această izolare este asigurată în mod fiabil de procesorul central. Cu toate acestea, anul trecut s-a constatat cea mai gravă eroare de computer care a existat vreodată.
Ce este vulnerabil?
Laptopul, tableta, serverul etc. sunt mai mult sau mai puțin susceptibile la această eroare. O amenințare gravă este că computerele care deservesc echipamente pentru comunicații moderne și chiar mașinile, trenurile sau avioanele nu sunt asigurate împotriva acesteia. Pe scurt, orice procesor este în pericol, cu excepția unui microcontroler. Singura veste bună este că nu toți procesatorii sunt amenințați cu această eroare cu probabilitate semnificativă. Dar există și unul rău: majoritatea produselor Intel sunt cele mai vulnerabile.
Cum sunt izolate procesele?
Pentru a evita suprapunerea spațiilor, aplicațiile nu au acces la memoria fizică a computerului. În schimb, funcționează cu spații de adrese virtuale și sunt mapate la memoria fizică în așa fel încât suprapunerea să fie exclusă. Spațiile de adrese sunt controlate de o unitate de gestionare a memoriei (MMU). Încercările de a depăși memoria alocată de acest bloc aplicației sunt întrerupte de procesor.
În plus, nivelul de acces la diferite părți ale memoriei nu este același. Nivelurile de acces sunt, de asemenea, controlate de MMU. De aceea aplicația utilizatorului nu are acces la memoria ocupată de nucleul de sistem sau de drivere.Chiar dacă există acces formal la adresele corespunzătoare. La prima vedere, se pare că un astfel de sistem nu este deloc supus niciunei erori. Cu toate acestea, chiar și în acest caz, securitatea informațiilor nu poate fi completă.
Cum se produce topirea?
Faptul este că există algoritmi interni în activitatea procesorului, a căror muncă dă un rezultat care poate fi citit indirect de acest program sau de acel program.
Procesoarele Intel care încep de la „atomul” din 2013 sunt deosebit de vulnerabile la astfel de erori. „Tocul lui Ahile” este așa-numita execuție speculativă a instrucțiunilor și capacitatea de a prezice ramuri, precum și un cache în care sunt plasate datele.Cu ajutorul algoritmilor speculativi, principalul avantaj al Intel este performanța ridicată. Acestea se bazează pe faptul că orice periferic funcționează mai lent decât procesorul central. Acest lucru se aplică și RAM. Dacă executarea următoarei instrucțiuni necesită așteptarea datelor care vin din exterior, atunci procesorul inițiază executarea următorului cod în perioada de așteptare. Alegerea se bazează pe cea mai mare probabilitate de primire a anumitor date. Executând următoarea linie, nu așteaptă până când este evaluată condiția anterioară.
Acum ia în considerare ce se întâmplă dacă rezultatele calculului sunt negative. În acest caz, acestea vor fi aruncate de procesor. Calculul se efectuează din nou, acum în modul secvențial. Estimarea probabilității de a îndeplini această condiție va fi redusă de predictorul ramurii. Același lucru se întâmplă dacă, conform MMU, există un cod incorect atunci când o variabilă părăsește memoria alocată pentru proces.
Procesoarele Intel puternice sunt capabile să sară înainte de câteva zeci de instrucțiuni. De aceea sunt cei mai vulnerabili la eroare, care va fi discutată mai jos.Toate datele procesate de procesor sunt astfel împărțite în speculative și secvențiale. Dar atât aceia, cât și alții merg fără discernământ la cache. Valorile stocate la adrese incorecte sunt de asemenea trimise acolo, care pot fi detectate de programul utilizatorului prin viteza de răspuns. Și apoi întreaga memorie a sistemului poate fi citită folosind metoda adresării indirecte.
Această vulnerabilitate, supranumită Meltdown, reprezintă o amenințare serioasă pentru securitatea informațiilor.
Care procesoare sunt amenințate de Meltdown
Următoarele linii sunt cu siguranță vulnerabile:
- Xeon.
- Celeron.
- Pentium.
ARM Cortex-A75 este în discuție, inclusiv ARM pentru noile modele de iPhone și iPad. Sunt mari șanse ca MIPS să nu fie vulnerabil.
Există posibilitatea protecției software-ului?
Este posibil să vă protejați împotriva acestei vulnerabilități descoperite recent folosind programe de încredere. Teoretic - este, în practică este, de asemenea, fezabil. Într-adevăr, cu ajutorul Meltdown, sunt exploatate doar procesoarele care ignoră unul sau alt nivel de acces la celulele de memorie. Cu toate acestea, citirile de memorie în afara spațiilor virtuale alocate aplicațiilor nu pot fi citite. Și acest lucru ajută la apărarea eficientă împotriva topirii. Pentru fiecare sistem de operare popular, patch-urile sunt deja scoase sau sunt gata de lansare, a căror funcție este de a transfera memorie din nuclee în alte zone. Acestea nu numai că expun privilegii, dar controlează și accesul la adresă. Controlul accesului la adresă nu este disponibil pentru vulnerabilitatea Meltdown.