# Meltdown

Meltdown és el nom d'un problema de seguretat causat pel maquinari d'alguns sistemes informàtics descobert a finals del 2017, que permet a possibles atacants accedir a tota la memòria de l'ordinador. Es va anunciar en el sistema Common Vulnerabilities and Exposures amb l'identificador CVE-2017-5754.

## Vulnerabilitat

La vulnerabilitat de seguretat anomenada Meltdown és un error de disseny en els processadors de 64 bits de l'arquitectura x86-64 de la companyia Intel. Aquest error afecta el maneig de la memòria virtual que falla en validar els permisos d'accés a la memòria en alguns casos. Com que és un error del maquinari, aquesta vulnerabilitat afecta a tots els sistemes operatius.

## Història

La vulnerabilitat va ser descoberta independentment per tres equips: Jann Horn del Projecte Google Zero, Werner Haas i Thomas Prescher de Cyberus Technology; i Daniel Gruss, Moritz Lipp, Stefan Mangard i Michael Schwarz de la Universitat Tecnològica de Graz.
Els investigadors van enviar informació de la vulnerabilitat a Intel abans de fer-la pública, però les filtracions van fer que l'embargament informatiu pactat s'avancés del 9 al 3 de gener de 2018. L'embargament va fer que es publiquessin simultàniament les actualitzacions de software necessàries alhora que s'anunciava l'existència de la vulnerabilitat.

## Maquinari afectat

Meltdown afecta principalment als processadors d'Intel. AMD va negar que els seus processadors estiguessin afectats per aquesta errada i altres investigadors van corroborar-ho. Intel, però, va afirmar en un comunicat que els processadors d'altres companyies també estaven afectats. Es considera que Meltdown afecta només a processadors Intel i la vulnerabiitat Spectre si que afecta a d'altres processadors d'Intel, AMD i ARM. Més específicament, la vulnerabilitat afecta els processadors amb execucio especulativa. Google va informar que tots els processadors d'Intel fabricats des de l'any 1995 que incorporen execució fora d'ordre son potencialment vulnerables a Meltdown (això exclou els processadors Itanium i els processadors Atom anteriors a 2013). Intel va introduir l'execució especulativa a la microarquiitectura P6 amb el Pentium Pro IA-32 el 1995.
ARM ha informat que la majoria dels seus processadors no son vulnerables, i ha publicat una llista dels processadors concrets afectats. El processador Cortex-A75 està directament afectat per Meltdown I Spectre i els Cortex-R7, Cortex-R8, Cortex-A7, Cortex-A9, Cortex-A15, Cortex-A17, Cortex-A57, Cortex-A72 i Cortex-A73 estan afectats només per la vulnerabilitat Spectre. Això contradiu les afirmacions inicials que Meltdown només afectava a processadors Intel.
Gran part dels dispositius Android de gama mitjana porten processadors Cortex-A53 o Cortex-A55 que no estan afectats per les vulnerabilitats, ja que no tenen l'execució fora d'ordre. Això inclou dispositius amb el Qualcomm Snapdragon 630, Snapdragon 626, Snapdragon 625 i tots els Snapdragon 4xx basats en els processadors A53 i A55. A més, les diferents versions de Raspberry Pi no son vulnerables ni a Meltdown ni a Spectre.
IBM va confirmar que les seva arquitectura POWER està afectada per les dues vulnerabilitats. Red Hat va anunciar públicament el 3 de gener que també podrien resultar afectats els sistemes IBM System Z i els processadors de les famílies POWER8 i POWER9.

## Impacte

Segons els autors de l'anunci del bug, tot processador Intel que implementi execució fora d'ordre està potencialment afectat, que seria qualsevol processador des del 1995 (menys els Intel Itanium i Intel Atom d'abans el 2013).
La vulnerabilitat afectava, doncs, màquines virtuals tipus Xen, així com solucions basades en contenidors com ara Docker, LXC o OpenVZ. Les màquines virtuals completes (fully virtualized machines) no estaven afectades per Meltdown.
Aquest bug pot afectar els principals proveïdors de sistemes cloud com ara Amazon Web Services (AWS), Google Cloud Platform o Microsoft Azure. Atès que en els sistemes de núvol els diferents clients comparteixen la mateixa màquina física, un usuari maliciós que faci ús de la vulnerabilitat Meltdown pot accedir a les màquines virtuals dels altres usuaris i obtenir-ne dades.

## Actualitzacions

Microsoft va publicar una actualització per a Windows (versions 10, 8.1 i 7 SP1) per a mitigar l'efecte de Meltdown el 3 de gener de 2018 i també per les versions Windows Server (Windows Server 2008 R2, Server 2012 R2 i Server 2016) i POSReady 2009. Aquestes actualitzacions van resultat incompatibles amb alguns antivirus de tercers que fan servir crides no documentades. Els sistemes que fan servir aquests antivirus no rebran aquesta i futures actualitzacions de seguretat fins que els antivirus arreglin aquest ús. Es va descobrir que l'actualització causava problemes en alguns sistemes amb processadors de la casa AMD, amb informes d'alguns usuaris afirmant que els seus ordinadors no engegaven després d'haver-se actualitzat. El 9 de gener de 2018, Microsoft va aturar la distribució de l'actualització als ordinadors amb les CPUs afectades mentre investigava i arreglava el problema.
Els desenvolupadors del kernel de Linux tenen un conjunt de patches anomenats "kernel page-table isolation" (KPTI (abans anomenats KAISER)) preparats per a actualitzar el kernel 4.15 a principis del 2018, així com una actualització per al kernel 4.14.11. Red Hat va publicar una actualització del kernel per la seva distribució Red Hat Enterprise Linux versió 6 i 7. CentOS també va publicar actualitzacions per CentOS 6 i CentOS 7.
MacOS s'ha actualitzat i ha arreglat el problema a partir de la versió 10.13.2 High Sierra.
En alguns casos, s'ha anunciat que les actualitzacions per afegir KPTI poden penalitzar el rendiment de la CPU fins a un 30%, tot i que Intel va considerar que era una exageració. Es va reportar que els processadors d'Intel que suporten process-context identifiers (PCID), disponible a totes les CPUs a partir de l'arquitectura Haswell, no perdrien rendiment per la implementació de KPTI.
El 10 de gener de 2018 Intel va publicar un informe sobre la pèrdua de rendiment d'alguns processadors fent servir benchmarks habituals (SYSmark 2014 SE, PCMark 10 i 3DMark). En aquest informe, les pèrdues anaven entre el 5% i el 10% de caiguda de rendiment. Phoronix va anunciar que no s'havia vist cap pèrdua de rendiment en cas de jocs en màquines amb Linux. Altres proves fetes amb test sintètics d'E/S i bases de dades (PostgreSQL i Redis), es va trobar un impacte important en alguns casos.

## Vegeu també

* Error de divisió del Pentium
* Spectre
* Foreshadow

## Referències

* ↑ Metz, Cade; Perlroth, Nicole «Researchers Discover Two Major Flaws in the World's Computers» (en anglès). The New York Times, 2018. ISSN: 0362-4331.
* ↑ «Intel's processors have a security bug and the fix could slow down PCs». The Verge.
* 1 2 3 «A Critical Intel Flaw Breaks Basic Security for Most Computers» (en anglès). WIRED.
* 1 2 «Meltdown and Spectre» (en anglès). [Consulta: 4 gener 2018].
* ↑ «Meltdown and Spectre» (en anglès). [Consulta: 4 gener 2018].
* 1 2 «Cyberus Technology Blog - Meltdown» (en anglès). Arxivat de l'original el 2018-01-04. [Consulta: 4 gener 2018].
* ↑ Hackett, Robert. «And here's statement from @AMD. See my colleague @ampressman's story: http://fortune.com/2018/01/03/intel-kernel-security-flaw-amd/ …pic.twitter.com/v8TgCkzJkO» (en anglès), 2:03 PM - 3 Jan 2018. [Consulta: 4 gener 2018].
* ↑ «LKML: Tom Lendacky: [PATCH x86/cpu, x86/pti: Do not enable PTI on AMD processors]». [Consulta: 4 gener 2018].
* ↑ «The mysterious case of the Linux Page Table Isolation patches». Arxivat de l'original el 2018-01-04. [Consulta: 4 gener 2018].
* 1 2 «Linux Gaming Performance Doesn't Appear Affected By The x86 PTI Work - Phoronix» (en anglès). [Consulta: 4 gener 2018].
* ↑ «Intel Says Major Security Flaw Affects Competitors AMD and ARM Too» (en anglès). Fortune.
* 1 2 3 «Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign» (en anglès). The Register.
* ↑ «Google: Almost All CPUs Since 1995 Vulnerable To "Meltdown" And "Spectre" Flaws» (en anglès). BleepingComputer.
* ↑ «P6 family microarchitecture». [Consulta: 12 gener 2018].
* ↑ Ltd., Arm. «Arm Processor Security Update – Arm Developer» (en anglès). [Consulta: 12 gener 2018].
* ↑ «Understanding Those Alarming Computer Chip Security Holes: 'Meltdown' and 'Spectre'» (en anglès). Fortune.
* ↑ «'Spectre' and 'Meltdown': New CPU vulnerabilities affect most smartphones and computers» (en anglès). Android Authority, 04-01-2018.
* ↑ «Why Raspberry Pi isn't vulnerable to Spectre or Meltdown - Raspberry Pi» (en anglès). Raspberry Pi, 05-01-2018.
* ↑ Tung, Liam «Meltdown-Spectre: IBM preps firmware and OS fixes for vulnerable Power CPUs | ZDNet» (en anglès). ZDNet.
* ↑ «Processor Speculative Execution Research Disclosure» (en anglès). [Consulta: 4 gener 2018].
* ↑ «https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution-s». [Consulta: 11 gener 2018].
* ↑ «Microsoft pushing out emergency fix for newly disclosed processor exploit». Windows Central.
* ↑ «https://support.microsoft.com/en-gb/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe». [Consulta: 11 gener 2018].
* 1 2 Ranger, Steve «Windows Meltdown and Spectre patches: Now Microsoft blocks security updates for some AMD based PCs | ZDNet» (en anglès). ZDNet.
* ↑ Tung, Liam «Windows Meltdown-Spectre patches: If you haven't got them, blame your antivirus | ZDNet» (en anglès). ZDNet.
* ↑ «https://support.microsoft.com/en-us/help/4072699/important-information-regarding-the-windows-security-updates-released». [Consulta: 11 gener 2018].
* ↑ «KAISER: hiding the kernel from user space [LWN.net]». [Consulta: 4 gener 2018].
* ↑ «The current state of kernel page-table isolation [LWN.net]». [Consulta: 4 gener 2018].
* ↑ «Red Hat Customer Portal». [Consulta: 11 gener 2018].
* ↑ «Red Hat Customer Portal». [Consulta: 11 gener 2018].
* ↑ «"[CentOS-announce CESA-2018:0008 Important CentOS 6 kernel Security Update"]». CentOS announcements., 04-01-2018. [Consulta: 11 gener 2018].
* ↑ «Computer chip scare: What you need to know» (en anglès). BBC News, 2018.
* ↑ «Meltdown and Spectre FAQ: How the critical CPU flaws affect PCs and Macs» (en anglès). PCWorld.
* ↑ «Intel Security Issue Update: Initial Performance Data Results for Client Systems» (en anglès). Intel, 10-01-2018. [Consulta: 12 gener 2018].
* ↑ «Initial Benchmarks Of The Performance Impact Resulting From Linux's x86 Security Changes - Phoronix» (en anglès). [Consulta: 11 gener 2018].

## Enllaços externs

* Pàgina web amb explicació del problema
* Entrada de blog amb explicació tècnica de la vulnerabilitat Arxivat 2018-01-04 a Wayback Machine.
* Explicació de la vulnerabilitat per part del projecte Google Zero
* Article tècnic dels descobridors