Ieri vă spuneam că a apărut o informație conform căreia procesoarele Intel au un grav defect de fabricație care afectează toate computerele cu macOS, Windows și Linux care le utilizează. Ei bine, în ultimele 24 de ore a ieșit la iveală faptul că problema afectează și procesoarele de la AMD și pe cele de la ARM, iar cercetători în domeniul securității au publicat detalii complete despre breșele pe care Apple, Google, Microsoft și alții au avut timp să le rezolve până acum.
Aparent, există două vulnerabilități cauzate de mai multe probleme ale chipset-urilor cu arhitectură ARM, Intel și AMD lansate în ultimele două decade.
Prima dintre acestea a fost supranumită „Meltdown” („Topire”). Ea afectează procesoarele Intel și nu face nimic altceva decât să „topească limitele de securitate care în mod normal sunt întărite de hardware.”
Cea de-a doua se numește „Spectre” („Fantasmă”) și afectează procesoarele Intel, AMD și ARM din cauza unei breșe în felul în care execuția speculativă este gestionată.
Și cum Apple folosește în produsele sale atât procesoare cu arhitectură Intel (Mac), cât și procesoare cu arhitectură ARM (iPhone, iPad, iPod touch, Apple TV), mulți utilizatori se întreabă dacă dispozitivele lor cu macOS, iOS și tvOS sunt afectate sau nu. Tocmai de aceea, în cadrul acestui articol vom încerca să răspundem celor mai comune întrebări cu informațiile pe care le deținem până la ora actuală.
Ce se întâmplă? Ce este Meltdown și Spectre?
Vulnerabilitățile Meltdown și Spectre au apărut datorită unei caracteristici pentru performanță din procesoarele moderne.
Cunoscută drept execuție speculativă, aceasta îmbunătățește viteza de calcul prin operarea mai multor instrucțiuni în același timp – chiar și într-o altă ordine decât cea în care au fost introduse în procesor. Pentru a crește performanțele, procesorul prezice care dintre căile unei derivații este cel mai probabil să fie urmată și va continua execuția în mod speculativ pe acea cale înainte ca derivația să fie finalizată. În situația în care predicția a fost eronată, execuția speculativă va fi repetată într-un mod care nu poate fi văzut prin software.
Ei bine, tehnicile de exploatare Meltdown și Spectre abuzează de execuția speculativă cu scopul de a accesa memorie privilegiată – cum ar fi cea din nucleu – dintr-un proces al utilizatorului mai puțin privilegiat, cum ar fi o aplicație otrăvită care funcționează pe un dispozitiv.
Meltdown și Spectre sunt diferite din mai multe puncte de vedere:
Meltdown
Meltdown este denumirea dată unei tehnici de exploatare cunoscută drept CVE-2017-5754 sau „rogue data cache load.” Aceasta poate porni un proces de utilizator cu scopul de a citi memoria nucleului – deci, inclusiv date secrete precum parole.
Față de Spectre, Meltdown este mult mai ușor de exploatat.
Spectre
Spectre este o denumire care acoperă două tehnici de exploatare cunoscute drept CVE-2017-5753 sau „bounds check bypass” și CVE-2017-5715 sau „branch target injection.” Aceste tehnici pot face articolele din memoria nucleului disponibile pentru procesele utilizatorului, profitând de o întârziere în timpul de care procesorul are nevoie pentru a verifica validitatea unui apel de accesare a memoriei.
Potrivit experților, Spectre este foarte dificil de exploatat chiar și de aplicațiile care funcționează local pe computere sau dispozitive. Cu toate acestea, s-a descoperit că vulnerabilitatea poate fi exploatată cu cod JavaScript care rulează într-un browser web.
Până acum, producătorii de procesoare au lucrat cot la cot cu Apple, Microsoft, Google, Linux Foundation și alții pentru a adresa breșele atât timp cât ele nu pot fi făcute publice. Aceștia au găsit o rezolvare pentru Meltdown, însă nu și pentru Spectre, despre care se crede deocamdată că nu va putea fi înlăturat complet decât prin regândirea arhtecturii procesoarelor sistemelor de calcul.
Detalii suplimentare despre Meltdown și Spectre sunt oferite de Google:
Last year, Google’s Project Zero team discovered serious security flaws caused by “speculative execution,” a technique used by most modern processors (CPUs) to optimize performance.
The Project Zero researcher, Jann Horn, demonstrated that malicious actors could take advantage of speculative execution to read system memory that should have been inaccessible. For example, an unauthorized party may read sensitive information in the system’s memory such as passwords, encryption keys, or sensitive information open in applications. Testing also showed that an attack running on one virtual machine was able to access the physical memory of the host machine, and through that, gain read-access to the memory of a different virtual machine on the same host.
These vulnerabilities affect many CPUs, including those from AMD, ARM, and Intel, as well as the devices and operating systems running them.
…și echipa Project Zero a Google:
We have discovered that CPU data cache timing can be abused to efficiently leak information out of mis-speculated execution, leading to (at worst) arbitrary virtual memory read vulnerabilities across local security boundaries in various contexts.
Variants of this issue are known to affect many modern processors, including certain processors by Intel, AMD and ARM. For a few Intel and AMD CPU models, we have exploits that work against real software. We reported this issue to Intel, AMD and ARM on 2017-06-01 [1].
So far, there are three known variants of the issue:
Variant 1: bounds check bypass (CVE-2017-5753)
Variant 2: branch target injection (CVE-2017-5715)
Variant 3: rogue data cache load (CVE-2017-5754)
Deci nu doar procesoarele Intel sunt afectate de Meltdown și Spectre?
Ei bine, da și nu.
Aparent, Meltdown pare să afecteze numai procesoarele Intel (x86 și x64 lansate din 1995 încoace) și, poate, pe cele de la ARM, în timp ce Spectre afectează atât procesoarele Intel, cât și pe cele de la AMD și ARM.
Atunci de ce s-a vorbit inițial doar despre Intel?
Până pe 4 ianuarie, răspândirea informațiilor despre breșele de securitate ale chipset-urilor a fost interzisă pentru a permite companiilor să găsească modalități de a le adresa. Chiar și așa, The Register a descoperit actualizările făcute în Linux și a oferit toate informațiile de care dispunea până la acea oră. Iar până atunci nu se știa decât că procesoarele Intel sunt afectate (întrucât Spectre nu ieșise la suprafață).
A fundamental design flaw in Intel’s processor chips has forced a significant redesign of the Linux and Windows kernels to defang the chip-level security bug.
Programmers are scrambling to overhaul the open-source Linux kernel’s virtual memory system. Meanwhile, Microsoft is expected to publicly introduce the necessary changes to its Windows operating system in an upcoming Patch Tuesday: these changes were seeded to beta testers running fast-ring Windows Insider builds in November and December.
Crucially, these updates to both Linux and Windows will incur a performance hit on Intel products. The effects are still being benchmarked, however we’re looking at a ballpark figure of five to 30 per cent slow down, depending on the task and the processor model. More recent Intel chips have features – such as PCID – to reduce the performance hit. Your mileage may vary.
Lucrurile au început să se clarifice joi, când, forțată de scandalul izbucnit, Intel a venit cu un răspuns în care mai mult a aruncat cu noroi în publicațiile care au răspândit informația și a arătat cu degetul și spre procesoarele produse de concurenții de la AMD și ARM Holdings.
Intel and other technology companies have been made aware of new security research describing software analysis methods that, when used for malicious purposes, have the potential to improperly gather sensitive data from computing devices that are operating as designed. Intel believes these exploits do not have the potential to corrupt, modify or delete data.
Recent reports that these exploits are caused by a “bug” or a “flaw” and are unique to Intel products are incorrect. Based on the analysis to date, many types of computing devices — with many different vendors’ processors and operating systems — are susceptible to these exploits.
Intel is committed to product and customer security and is working closely with many other technology companies, including AMD, ARM Holdings and several operating system vendors, to develop an industry-wide approach to resolve this issue promptly and constructively. Intel has begun providing software and firmware updates to mitigate these exploits. Contrary to some reports, any performance impacts are workload-dependent, and, for the average computer user, should not be significant and will be mitigated over time.
Intel is committed to the industry best practice of responsible disclosure of potential security issues, which is why Intel and other vendors had planned to disclose this issue next week when more software and firmware updates will be available. However, Intel is making this statement today because of the current inaccurate media reports.
Check with your operating system vendor or system manufacturer and apply any available updates as soon as they are available. Following good security practices that protect against malware in general will also help protect against possible exploitation until updates can be applied.
Intel believes its products are the most secure in the world and that, with the support of its partners, the current solutions to this issue provide the best possible security for its customers.
Totuși, vineri, 5 ianuarie, aceeași companie a venit cu următorul comunicat:
Intel has developed and is rapidly issuing updates for all types of Intel-based computer systems — including personal computers and servers — that render those systems immune from both exploits (referred to as “Spectre” and “Meltdown”) reported by Google Project Zero. Intel and its partners have made significant progress in deploying updates as both software patches and firmware updates.
AMD chiar este afectat?
Informațiile cu privire la procesoarele AMD și breșele de securitate sunt destul de contradictorii. De ce?
Simplu. Înaintea ridicării interzicerii de a răspândi detalii despre vulnerabilități, un inginer de la AMD a declarat că procesoarele produse de compania la care lucrează nu sunt afectate.
AMD processors are not subject to the types of attacks that the kernel page table isolation feature protects against. The AMD microarchitecture does not allow memory references, including speculative references, that access higher privileged data when running in a lesser privileged mode when that access would result in a page fault.
Mai mult, AMD le-a spus celor de la Fortune că riscul este „aproape zero” pentru utilizatorii procesoarelor lor.
“Due to differences in AMD’s architecture, we believe there is a near zero risk to AMD processors at this time,” the company said in a statement. “We expect the security research to be published later today and will provide further updates at that time.”
După răspândirea informațiilor complete despre breșele de securitate s-a descoperit însă că, deși nu sunt afectate de Meltdown, procesoarele AMD sunt afectate de Spectre. Cu toate acestea, AMD nu crede că Spectre nu reprezintă un risc real (deși este).
Problema AMD nu prea ar trebui să îi intereseze prea mult pe utilizatorii de Mac, iPhone, iPad șamd., întrucât Apple nu folosește procesoare create de AMD în niciunul dintre produsele sale (ci doar plăci video).
Și cum rămâne cu ARM?
Inițial, ARM a încercat să liniștească apele spunând că majoritatea procesoarelor sale nu sunt afectate de cele două vulnerabilități:
Based on the recent research findings from Google on the potential new cache timing side-channels exploiting processor speculation, here is the latest information on possible Arm processors impacted and their potential mitigations. We will post any new research findings here as needed.
Cache timing side-channels are a well-understood concept in the area of security research and therefore not a new finding. However, this side-channel mechanism could enable someone to potentially extract some information that otherwise would not be accessible to software from processors that are performing as designed and not based on a flaw or bug. This is the issue addressed here and in the Cache Speculation Side-channels whitepaper.
It is important to note that this method is dependent on malware running locally which means it’s imperative for users to practice good security hygiene by keeping their software up-to-date and avoid suspicious links or downloads.
The majority of Arm processors are not impacted by any variation of this side-channel speculation mechanism. A definitive list of the small subset of Arm-designed processors that are susceptible can be found below.
Cu toate acestea, în ultimele ore a ieșit la iveală faptul că, spre deosebire de procesoarele de la AMD, cele de la ARM sunt afectate atât de Spectre, cât și de Meltdown. Iată ce spune Ryan Smith de la AnandTech:
The immediate concern is an exploit being called Meltdown, which primarily affects Intel’s CPUs, but also has been confirmed to affect some ARM CPU designs as well. With Meltdown it is possible for malicious code to abuse Intel and ARM’s speculative execution implementations to get the processor to leak information from other processes – particularly the all-knowing operating system kernel. As a result, Meltdown can be readily used to spy on other processes and sneak out information that should be restricted to the kernel, other programs, or other virtual machines.
OK, produsele Apple sunt sau nu afectate de Meltdown și Spectre?!
Din păcate, răspunsul este unul afirmativ și vine chiar de la Apple.
Compania americană a publicat pe 5 ianuarie un articol de asistență în care anunță că TOATE sistemele Mac, precum și toate dispozitivele iPhone, iPad, iPod touch și Apple TV sunt afectate de Meltdown și Spectre. Ceasurile cu watchOS (Apple Watch), pe de altă parte, nu sunt afectate nici de Meltdown și nici de Spectre.
Cercetătorii în domeniul securității au descoperit recent probleme de securitate cunoscute sub două nume: Meltdown și Spectre. Aceste probleme se aplică tuturor procesoarele moderne și afectează aproape toate dispozitivele de calcul și sistemele de operare. Toate sistemele Mac și dispozitivele cu iOS sunt afectate, dar nu există exploatări cunoscute care să afecteze clienții în acest moment.
Asta s-ar putea să vă surprindă, în condițiile în care inițial s-a vorbit numai despre computerele Mac, acestea fiind singurele din gama de produse Apple care folosesc procesoare Intel (dispozitivele iPhone, iPad, iPod touch și Apple TV folosesc chipseturi bazate pe setul de instrucțiuni ARM).
Și Apple nu are de gând să rezolve problema?
Ba da. De fapt, a și venit de ceva vreme cu o rezolvare parțială.
În cadrul aceluiași document de asistență, compania americană a anunțat că a lansat actualizări menite să atenueze pericolul unor atacuri bazate pe Meltdown. Acestea au fost cuprinse în iOS 11.2, macOS 10.13.2 și tvOS 11.2, ceea ce înseamnă că utilizatorii care le-au instalat ar putea sta (mai) liniștiți.
De asemenea, compania americană a anunțat că va lansa în zilele care urmează actualizări pentru Safari care să diminueze pericolul unor atacuri bazate pe Spectre (vezi actualizarea de mai jos!). Mai mult, gigantul american spune că dezvoltă și testează în continuu modalități de diminuare a problemelor de securitate și le va include în viitoarele actualizări de iOS, macOS, tvOS și watchOS.
- Actualizare 8 ianuarie, ora 20:42: Apple a lansat atât iOS 11.2.2, cât și Actualizare Suplimentară macOS High Sierra 10.13.2 cu scopul de a diminua efectele Spectre
Cum îmi pot proteja Mac-ul / iPhone-ul / iPad-ul / Apple TV-ul de Spectre și Meltdown?
- Instalează actualizările disponibile: Dacă ai un iPhone 5s (sau mai nou), iPad mini 2 (sau mai nou), iPad 5, iPad Air (sau mai nou), iPad Pro (sau mai recent), iPod touch generația a 6-a, Apple TV generația a 4-a (sau mai recent) ori un Mac compatibil, instalează numaidecât iOS 11.2.2, tvOS 11.2.1 sau macOS 10.13.2, precum și toate actualizările care vor urma în perioada următoare.
- Dacă ai un model de iPhone, iPad sau Apple TV care nu este compatibil cu iOS 11 sau tvOS 11, nu prea ai mare lucru de făcut decât să ții cont de a doua recomandare (Apple nu a anunțat dacă va adresa problemele de securitate și pe modelele mai vechi de iPhone, iPad și Apple TV însă tindem să credem că nu o va face).
- Dacă ai un Mac care nu este compatibil cu macOS High Sierra ori nu dorești să faci upgrade la această versiune, trebuie să știi că există actualizări de securitate pentru macOS Sierra și OS X El Capitan care ar trebui să atenueze Meltdown.
- Dacă ai Mac, nu uita să îți actualizezi și toate browserele utilizate ori să activezi actualizarea automată a acestora.
- Nu descărca orice: Pentru a fi atacat cu Meltdown, dispozitivul tău trebuie să aibă cel puțin o aplicație otrăvită instalată, așa că, chiar dacă ai avea instalate cele mai recente versiuni ale sistemelor de operare (Apple a atenuat vulnerabilitățile, nu le-a înlăturat complet), îți recomandăm să nu descarci aplicații și software decât din locuri de încredere (cum ar fi App Store). Aceeași recomandare ar trebui respectată și dacă vrei să te protejezi împotriva Spectre, chiar dacă deocamdată nu se știe clar cum ai putea fi atacat prin aceste tehnici de exploatare.
Și performanțele? Am înțeles că ele vor fi afectate prin actualizările de protejare împotriva Meltdown
Corect.
Întrucât Meltdown nu poate fi înlăturat din hardware, creatorii sistemelor de operare trebuie să adreseze această vulnerabilitate din software. Acest lucru se va realiza prin izolarea memoriei nucleului de procesele utilizatorilor folosind Kernel Page Table Isolation (KPTI sau KAISER).
Conform LWN:
Whereas current systems have a single set of page tables for each process, KAISER implements two. One set is essentially unchanged; it includes both kernel-space and user-space addresses, but it is only used when the system is running in kernel mode. The second “shadow” page table contains a copy of all of the user-space mappings, but leaves out the kernel side. Instead, there is a minimal set of kernel-space mappings that provides the information needed to handle system calls and interrupts, but no more. Copying the page tables may sound inefficient, but the copying only happens at the top level of the page-table hierarchy, so the bulk of that data is shared between the two copies.
Practic, în loc să mai unifice procesele pentru creșterea performanțelor, KPTI le va separa pentru a spori securitatea. De aceea, viteza de lucru va fi afectată.
Iată ce spune LWN în continuare:
KAISER va afecta performanțele pentru orice face apeluri de sistem sau întrerupe: orice. Doar noile instrucțiuni (manipulare CR3) adaugă câteva sute de cicluri unui syscall sau interrupt. Cele mai multe fluxuri de lucru pe care le-am folosit arată reduceri cu o cifră. 5% este un număr rotund reprezentativ pentru ceva ce este tipic. Cel mai rău rezultat văzut a fost o reducere de 30% într-un test loopback networking care a făcut o grămadă de syscalls și comutări contextuale.
Deci, cu alte cuvinte, așa cum se spunea inițial, performanțele dispozitivelor vor fi afectate cu un procent de 5-30 după aducerea modificării menite a reduce riscul unor atacuri bazate pe Meltdown.
Cu toate acestea, în articolul său de asistență, Apple anunță că schimbările făcute în macOS 10.13.2, iOS 11.2 și tvOS 11.2 pentru a atenua pericolul adus de Meltdown nu au afectat în mod negativ performanțele dispozitivelor Mac, iPhone, iPad sau/și Apple TV, conform testelor pe care le-a efectuat în Geekbench 4, Speedometer, JetStream și ARES-6. De altfel, nici utilizatorii care au instalat aceste actualizări nu au reclamat până acum reducerea vizibilă a performanțelor dispozitivelor lor.
Totuși, în ceea ce privește actualizările ce vor fi aduse în Safari pentru a reduce pericolul Spectre, Apple susține că a descoperit un impact negativ de 2,5% în testul JetStream, dar nu și în Speedometer și ARES-6.
Concluzii
În final, vă recomandăm să rămâneți informați și să vă actualizați computerele, dispozitivele și browserele de îndată ce noi versiuni sunt lansate.
Nici un program și nici o arhitectură nu este perfectă. Mereu vor exista erori. Mereu vor fi vulnerabilități. Unele mai grave (ca și Meltdown și Spectre), altele mai puțin grave. Important este ca cei responsabili să răspundă cât se poate de rapid și bine.
Informare:
Acest articol a fost publicat pe 4 ianuarie. Ultima actualizare a fost adusă pe 8 ianuarie.