{"id":13925,"date":"2019-01-14T11:27:32","date_gmt":"2019-01-14T17:27:32","guid":{"rendered":"https:\/\/latam.kaspersky.com\/blog\/?p=13925"},"modified":"2019-01-14T11:27:32","modified_gmt":"2019-01-14T17:27:32","slug":"35c3-spectre-meltdown-2019","status":"publish","type":"post","link":"https:\/\/latam.kaspersky.com\/blog\/35c3-spectre-meltdown-2019\/13925\/","title":{"rendered":"Las vulnerabilidades de Spectre y Meltdown en los CPU. \u00bfQu\u00e9 depara el 2019?"},"content":{"rendered":"<p>En el <a href=\"https:\/\/www.kaspersky.es\/blog\/tag\/35c3\/\" target=\"_blank\" rel=\"noopener\">Chaos Communications Congress 35<\/a>, casi un a\u00f1o despu\u00e9s de la primera publicaci\u00f3n sobre las <strong>vulnerabilidades del <em>hardware<\/em><\/strong> del CPU conocidas como <a href=\"https:\/\/www.kaspersky.es\/blog\/two-severe-vulnerabilities-found-in-intels-hardware\/15077\/\" target=\"_blank\" rel=\"noopener\">Meltdown y Spectre<\/a>, un grupo de investigadores de la Universidad Tecnol\u00f3gica de Graz, Austria, habl\u00f3 del estado actual de las vulnerabilidades de <em>hardware<\/em> del CPU. <em>Spoiler<\/em>: El a\u00f1o pasado sac\u00f3 alguna m\u00e1s a la luz.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-17621 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/88\/2019\/01\/10093735\/35c3-spectre-meltdown-2019-featured.jpg\" alt=\"Las vulnerabilidades Spectre y Meltdown en las CPU. \u00bfQu\u00e9 depara el 2019?\" width=\"1460\" height=\"958\"><\/p>\n<h2>La esencia de Meltdown y Spectre<\/h2>\n<p>Primero, vamos a recordar qu\u00e9 son Meltdown y Spectre y en qu\u00e9 se diferencia.<\/p>\n<p>La <strong>vulnerabilidad Meltdown<\/strong> surgi\u00f3 a ra\u00edz de que los CPU actuales pudieran ejecutar instrucciones fuera de orden. Se trata de una funci\u00f3n muy c\u00f3moda que acelera el procesamiento de c\u00f3digo, pero en algunos casos el CPU puede procesar c\u00f3digo que es propenso a error, un c\u00f3digo que no deber\u00eda ejecutarse. Eso es, primero el CPU ejecuta el c\u00f3digo y solo entonces se hace evidente que no se puede completar la acci\u00f3n, este tipo de situaciones suceden precisamente porque las instrucciones se han ejecutado fuera de orden.<\/p>\n<p>Evidentemente, los resultados de estas operaciones no llegar\u00e1n a ninguna parte, aunque dejar\u00e1n rastros a nivel de microarquitectura, en la memoria cach\u00e9 del CPU, desde donde se podr\u00edan extraer. Como resultado, el cach\u00e9 se puede utilizar para recopilar datos que de otra forma ser\u00edan inaccesibles: por ejemplo, una contrase\u00f1a. Te contamos c\u00f3mo funciona: un programa puede solicitar acceso a datos almacenados; el sistema, l\u00f3gicamente, negar\u00e1 este acceso por falta de autorizaci\u00f3n. Pero, debido a la ejecuci\u00f3n de operaciones fuera de orden, la contrase\u00f1a acabar\u00e1 en el cach\u00e9, desde donde es muy f\u00e1cil de recopilar. En resumen, Meltdown podr\u00eda tener lugar al intentar ejecutar una acci\u00f3n injustificada.<\/p>\n<p>La <strong>vulnerabilidad Spectre<\/strong> es similar a Meltdown, pero, aunque tambi\u00e9n est\u00e1 relacionada con la aceleraci\u00f3n inform\u00e1tica de la CPU, surge de la funci\u00f3n de predicci\u00f3n de saltos de los CPU. B\u00e1sicamente, un CPU es capaz de predecir estos saltos con cierto nivel de precisi\u00f3n, ya que la acci\u00f3n B suele ir precedida de la A. Por tanto, puede ejecutar la acci\u00f3n B antes de que se hayan esclarecido los resultados de A. Si la predicci\u00f3n ha sido correcta y la acci\u00f3n B sigue a la A, todo bien, y, si los resultados de A indican que el CPU deber\u00eda de haber completado la acci\u00f3n con C, en lugar de B, el CPU abandonar\u00e1 el salto B y cambiar\u00e1 a otro en el que tenga que completar la acci\u00f3n C.<\/p>\n<p>Como el predictor de saltos es inteligente, la mayor\u00eda de las veces recuerda el patr\u00f3n de la acci\u00f3n, por lo que mejora el rendimiento del CPU (si B suele seguir a A, el CPU dar\u00e1 por hecho que en determinada situaci\u00f3n tendr\u00e1 que hacer B despu\u00e9s de A). Pero se puede equivocar (a veces llega C en vez de B, aunque el predictor de saltos recuerda perfectamente que normalmente A va seguida de B).<\/p>\n<p>Si acostumbras al sistema a que cierto salto es el correcto y siempre se ejecuta y luego cambias un par\u00e1metro para que se equivoque, el CPU lo ejecutar\u00e1 primero y luego lo revocar\u00e1, despu\u00e9s de descubrir que deber\u00eda de haber ejecutado otro. Pero, al igual que con Meltdown, el resultado de la acci\u00f3n puede permanecer, por ejemplo, en el cach\u00e9, desde donde se podr\u00eda volver a extraer.<\/p>\n<p>Las consecuencias son casi las mismas: Spectre abre una trampilla para el <strong>acceso no autorizado de datos<\/strong>. Este acceso podr\u00eda tener lugar solo en el caso de que la predicci\u00f3n de saltos saliera mal y, seg\u00fan la teor\u00eda de la probabilidad, pasar\u00e9 tarde o temprano.<\/p>\n<h2>Un a\u00f1o despu\u00e9s: surgen nuevas variedades de Spectre y Meltdown<\/h2>\n<p>Despu\u00e9s del descubrimiento de las primeras vulnerabilidades de Meltdown y Spectre, los investigadores comenzaron a indagar en el asunto y pronto descubrieron problemas similares que solo se diferenciaban en detalles insignificantes. Descubrieron que los desarrolladores del CPU tambi\u00e9n utilizaban otras optimizaciones resultantes de <strong>vulnerabilidades de hardware<\/strong> similares a Meltdown o Spectre. El equipo de la Universidad de Graz menciona 14 vulnerabilidades similares a Meltdown y 13 a Spectre, un total de 27 vulnerabilidades en el <em>hardware<\/em> del CPU frente a los dos de principios del 2018.<\/p>\n<div id=\"attachment_17622\" style=\"width: 1910px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" aria-describedby=\"caption-attachment-17622\" class=\"wp-image-17622 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/88\/2019\/01\/10094218\/35c3-spectre-meltdown-2019-species.jpg\" alt=\"Durante el 2018, los investigadores han descubierto 14 variaciones de Meltdown y 13 de Spectre\" width=\"1900\" height=\"1080\"><p id=\"caption-attachment-17622\" class=\"wp-caption-text\">Clasificaci\u00f3n de las variaciones de Meltdown y Spectre interceptadas este a\u00f1o<\/p><\/div>\n<p>\u00a0<\/p>\n<p>Adem\u00e1s, incluso aunque AMD hab\u00eda declarado que sus CPU no estaban expuestas a vulnerabilidades del tipo Meltdown, los investigadores descubrieron una variaci\u00f3n de esta (llamada Meltdown-BR) que se ejecutaba en los CPU de AMD. As\u00ed que, en este punto, los CPU de tres de los proveedores m\u00e1s importantes (AMD, ARM e Intel) son susceptibles a Meltdown y Spectre. Bueno, al menos a algunas de las variaciones de estas dos familias.<\/p>\n<p>Afortunadamente, una buena parte de todas estas <strong>versiones de vulnerabilidades<\/strong> no funcionan con ninguno de estos proveedores (ARM, AMD o Intel) o, al menos, los evaluadores fueron incapaces de ejecutarlas. Sin embargo, la mayor\u00eda de ellas se ejecutan en alg\u00fan dispositivo.<\/p>\n<p>Con el objetivo de poner fin a estas vulnerabilidades, en enero del 2018, las empresas comenzaron a lanzar <a href=\"https:\/\/encyclopedia.kaspersky.com\/glossary\/patch\/?utm_source=kdaily&amp;utm_medium=blog&amp;utm_campaign=termin-explanation\" target=\"_blank\" rel=\"noopener\">parches<\/a> para microc\u00f3digos de CPU, sistemas operativos y programas individuales. Por desgracia, Spectre y Meltdown son <strong>vulnerabilidades de <em>hardware<\/em><\/strong>, es decir, existen a nivel de <em>hardware<\/em>, por lo que es imposible remediarlas por completo con <strong>parches de <em>software<\/em><\/strong>.<\/p>\n<p>Por consiguiente, se implement\u00f3 uno de los parches en el n\u00facleo del sistema operativo de Linux, pero ralentizaba mucho el sistema, por lo que un tiempo despu\u00e9s se elimin\u00f3 del c\u00f3digo.<\/p>\n<p>Spectre es conflictivo porque tiene como objetivo diferentes componentes de microarquitectura, por lo que se ha tenido que dise\u00f1ar un parche aparte. Y cada uno de los parches requerir\u00e1 que ciertas funciones est\u00e9n desactivadas o que se realicen acciones adicionales, lo que disminuir\u00e1 el nivel de rendimiento.<\/p>\n<p>De hecho, los parches afectan tanto al rendimiento en muchos casos que un sistema parcheado funciona m\u00e1s lento que uno en el que los <strong>componentes vulnerables del CPU<\/strong> est\u00e9n desactivados.<\/p>\n<div id=\"attachment_17623\" style=\"width: 1357px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" aria-describedby=\"caption-attachment-17623\" class=\"wp-image-17623 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/88\/2019\/01\/10094424\/35c3-spectre-meltdown-2019-drill.png\" alt=\"Imagen c\u00f3mica sobre c\u00f3mo deshacerte por completo de Meltdown\/Spectre\" width=\"1347\" height=\"822\"><p id=\"caption-attachment-17623\" class=\"wp-caption-text\">Soluci\u00f3n radical: eliminar la parte vulnerable del CPU perforando en la parte indicada (es una broma, \u00bfok?)<\/p><\/div>\n<h2>El futuro de Spectre y Meltdown<\/h2>\n<p>En octubre del 2018, Intel <a href=\"https:\/\/www.anandtech.com\/show\/13301\/spectre-and-meltdown-in-hardware-intel-clarifies-whiskey-lake-and-amber-lake\" target=\"_blank\" rel=\"nofollow noopener\">anunci\u00f3<\/a>\u00a0que sus nuevos CPU (es decir, las que surgir\u00e1n a partir del 2019) incluir\u00e1n <strong>protecci\u00f3n de <em>hardware<\/em><\/strong> contra Spectre y Meltdown. Pero solamente se refiere a las dos versiones \u201cb\u00e1sicas\u201d y, como ya hemos mencionado, hay muchas m\u00e1s. Por su parte, AMD tiene pensado parchear una de las variaciones de Spectre en su nueva generaci\u00f3n de procesadores de arquitectura Zen 2 que saldr\u00e1n en el 2019. Por \u00faltimo, ARM promete <strong>actualizaciones de <em>hardware<\/em><\/strong> y <a href=\"https:\/\/developer.arm.com\/support\/arm-security-updates\/speculative-processor-vulnerability\" target=\"_blank\" rel=\"nofollow noopener\">afirma<\/a>\u00a0que \u201ctodos sus CPU futuras ser\u00e1n resistentes a los ataques similares a Spectre\u201d.<\/p>\n<p>S\u00ed, son buenas noticias para todos aquellos que quieran adquirir nuevos dispositivos en el futuro. Y aquellos que hayamos adquirido un ordenador, <em>smartphone<\/em> u otro dispositivo con CPU de Intel, AMD o ARM en el 2018 o antes tendremos que instalar parches para casi todo, por lo que el rendimiento se ver\u00e1 reducido. As\u00ed que lo m\u00e1s probable es que algunos usuarios no consigan el objetivo deseado.<\/p>\n<p>Los fabricantes de CPU han ignorado las <strong>vulnerabilidades a nivel de <em>hardware<\/em><\/strong> durante mucho tiempo, optimizando \u00fanicamente sus CPU por el bien del rendimiento. Pero todas estas optimizaciones tienen un coste: efectivamente, algunas cosas han mejorado, pero otras han acabado con m\u00e1s problemas. Ahora ser\u00e1 todo un desaf\u00edo deshacerse de estas vulnerabilidades. Aunque, cabe recalcar que no es tan f\u00e1cil explotarlas y eso es un motivo de esperanza, al menos hasta que salgan las CPU de nueva generaci\u00f3n.<\/p>\n<p><span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe class=\"youtube-player\" type=\"text\/html\" width=\"640\" height=\"390\" src=\"https:\/\/www.youtube.com\/embed\/r5wtQBpRFsM?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent\" frameborder=\"0\" allowfullscreen=\"true\"><\/iframe><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El a\u00f1o 2018 ha pasado bajo la estela de las vulnerabilidades de hardware Spectre y Meltdown. \u00bfQu\u00e9 nos deparar\u00e1 el 2019?  <\/p>\n","protected":false},"author":675,"featured_media":13926,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[3612,3614,3251,3255,3249,3250,647],"class_list":{"0":"post-13925","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-news","8":"tag-35c3","9":"tag-3614","10":"tag-ccc","11":"tag-chaos-communication-congress","12":"tag-meltdown","13":"tag-spectre","14":"tag-vulnerabilidades"},"hreflang":[{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/35c3-spectre-meltdown-2019\/13925\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/35c3-spectre-meltdown-2019\/14998\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/35c3-spectre-meltdown-2019\/12580\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/35c3-spectre-meltdown-2019\/16929\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/35c3-spectre-meltdown-2019\/15128\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/35c3-spectre-meltdown-2019\/17620\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/35c3-spectre-meltdown-2019\/16756\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/35c3-spectre-meltdown-2019\/22067\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/35c3-spectre-meltdown-2019\/5552\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/35c3-spectre-meltdown-2019\/25268\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/35c3-spectre-meltdown-2019\/11315\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/35c3-spectre-meltdown-2019\/11289\/"},{"hreflang":"pl","url":"https:\/\/plblog.kaspersky.com\/35c3-spectre-meltdown-2019\/10213\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/35c3-spectre-meltdown-2019\/18332\/"},{"hreflang":"ja","url":"https:\/\/blog.kaspersky.co.jp\/35c3-spectre-meltdown-2019\/22205\/"},{"hreflang":"nl","url":"https:\/\/www.kaspersky.nl\/blog\/35c3-spectre-meltdown-2019\/23600\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/35c3-spectre-meltdown-2019\/17806\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/35c3-spectre-meltdown-2019\/21886\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/35c3-spectre-meltdown-2019\/21832\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/latam.kaspersky.com\/blog\/tag\/35%d1%813\/","name":"35\u04413"},"_links":{"self":[{"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/13925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/users\/675"}],"replies":[{"embeddable":true,"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/comments?post=13925"}],"version-history":[{"count":2,"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/13925\/revisions"}],"predecessor-version":[{"id":13929,"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/13925\/revisions\/13929"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/media\/13926"}],"wp:attachment":[{"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/media?parent=13925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/categories?post=13925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/latam.kaspersky.com\/blog\/wp-json\/wp\/v2\/tags?post=13925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}