{"id":11289,"date":"2019-01-30T19:22:34","date_gmt":"2019-01-30T22:22:34","guid":{"rendered":"https:\/\/www.kaspersky.com.br\/blog\/?p=11289"},"modified":"2019-11-22T07:10:37","modified_gmt":"2019-11-22T10:10:37","slug":"35c3-spectre-meltdown-2019","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com.br\/blog\/35c3-spectre-meltdown-2019\/11289\/","title":{"rendered":"Falhas Spectre e Meltdown em CPUs: o que esperar em 2019?"},"content":{"rendered":"<p>No <a href=\"https:\/\/www.kaspersky.com.br\/blog\/tag\/35c3\/\" target=\"_blank\" rel=\"noopener\">35\u00ba Chaos Communication Congress<\/a>, quase um ano ap\u00f3s a primeira publica\u00e7\u00e3o sobre as vulnerabilidades de hardware da CPU, conhecidas como <a href=\"https:\/\/www.kaspersky.com.br\/blog\/two-severe-vulnerabilities-found-in-intels-hardware\/9978\/\" target=\"_blank\" rel=\"noopener\">Meltdown e Spectre<\/a>, um grupo de pesquisadores da Universidade de Tecnologia de Graz, na \u00c1ustria, falou sobre o atual estado das vulnerabilidades conhecidas de hardware das CPUs. Spoiler: no ano passado muitas outras vieram \u00e0 tona.<\/p>\n<h3>A ess\u00eancia do Meltdown e Spectre<\/h3>\n<p>Primeiro vamos lembrar o que Meltdown e Spectre s\u00e3o e como se diferenciam.<\/p>\n<p>A vulnerabilidade Meltdown apareceu porque as CPUs atuais podem executar instru\u00e7\u00f5es fora de servi\u00e7o. Esse \u00e9 um recurso muito conveniente, que acelera o processamento de c\u00f3digo, mas, em alguns casos, a CPU acaba por processar c\u00f3digos propensos a erros. Ou seja, primeiro, a CPU executa o c\u00f3digo e s\u00f3 depois se torna aparente que a opera\u00e7\u00e3o n\u00e3o pode ser conclu\u00edda \u2013 tais situa\u00e7\u00f5es acontecem exatamente porque as instru\u00e7\u00f5es s\u00e3o executadas fora de servi\u00e7o.<\/p>\n<p>Naturalmente, os resultados de tais opera\u00e7\u00f5es n\u00e3o ser\u00e3o repassados \u200b\u200bou utilizados. Al\u00e9m disso, deixam rastros no n\u00edvel de microarquitetura \u2013 na mem\u00f3ria cache da CPU, e podem ser extra\u00eddos de l\u00e1. Como resultado, o cache pode ser usado para obter dados que de outra forma estariam inacess\u00edveis: como, por exemplo, uma senha. Veja como funciona: um programa pode solicitar acesso aos dados no armazenamento \u2013 para o qual o sistema responder\u00e1 de maneira razo\u00e1vel que o acesso \u00e9 negado por falta de autoriza\u00e7\u00e3o. Mas, devido \u00e0 execu\u00e7\u00e3o fora de servi\u00e7o das opera\u00e7\u00f5es, a senha ainda terminar\u00e1 no cache e, a partir da\u00ed, ela poder\u00e1 ser roubada. Resumindo, o Meltdown pode ocorrer quando se tenta executar uma a\u00e7\u00e3o injustificada.<\/p>\n<p>A vulnerabilidade Spectre \u00e9 semelhante. No entanto, apesar de estar relacionada \u00e0 acelera\u00e7\u00e3o da computa\u00e7\u00e3o da CPU, se origina da funcionalidade de previs\u00e3o de conflitos dispon\u00edveis nas CPUs contempor\u00e2neas. Em princ\u00edpio, uma CPU \u00e9 capaz de prever, com certa precis\u00e3o, que como a a\u00e7\u00e3o B normalmente segue a a\u00e7\u00e3o A, ela pode executar a a\u00e7\u00e3o B antes que os resultados de A se tornem claros. Se o conjunto de previs\u00f5es estiver certo, e a a\u00e7\u00e3o B prosseguir, tudo est\u00e1 bem \u2013 e se os resultados de A indicarem que a CPU deveria ter completado a a\u00e7\u00e3o \u0421, ao inv\u00e9s de B, a CPU simplesmente abandonar\u00e1 o desvio B e mudar\u00e1 para outra na qual ela ter\u00e1 que concluir a a\u00e7\u00e3o C.<\/p>\n<p>O preditor de ramifica\u00e7\u00e3o \u00e9 inteligente, na maioria dos casos, lembra os padr\u00f5es de sequ\u00eancia de a\u00e7\u00e3o, melhorando realmente o desempenho da CPU (se B seguiu A v\u00e1rias vezes, a CPU sup\u00f5e logicamente que em uma dada situa\u00e7\u00e3o ela ter\u00e1 que executar B ap\u00f3s A). No entanto, ocorrem erros de interpreta\u00e7\u00e3o (\u00e0s vezes, C aparece em vez de B, embora o preditor de conflitos se lembre muito bem de que A \u00e9 normalmente seguido por B).<\/p>\n<p>Se voc\u00ea treinar o sistema por tempo suficiente, demonstrando que um certo ramo \u00e9 o correto e \u00e9 sempre executado, e ent\u00e3o mudar um par\u00e2metro para que ele se torne errado, a CPU ir\u00e1 execut\u00e1-lo de qualquer maneira e depois revog\u00e1-lo, ao descobrir que outra l\u00f3gica deveria ter sido executada. Mas, semelhante ao que acontece com o Meltdown, o resultado da a\u00e7\u00e3o ainda poder\u00e1 permanecer \u2013 por exemplo, no cache, onde novamente poder\u00e1 ser extra\u00eddo.<\/p>\n<p>As consequ\u00eancias s\u00e3o praticamente as mesmas: o Spectre abre uma janela para acesso n\u00e3o autorizado aos dados. Esse acesso pode ocorrer apenas em casos de predi\u00e7\u00e3o de ramifica\u00e7\u00e3o que d\u00e3o errado, mas a teoria da probabilidade simples nos diz que isso acontecer\u00e1.<\/p>\n<h3>Um ano depois: surgem novas varia\u00e7\u00f5es de <strong>Spectre<\/strong> e Meltdown<\/h3>\n<p>Ap\u00f3s a descoberta das primeiras vulnerabilidades Meltdown e Spectre, os pesquisadores come\u00e7aram a estudar cada vez mais o assunto e logo descobriram problemas semelhantes que diferem apenas em pequenos detalhes. Foi descoberto que os desenvolvedores de CPU tamb\u00e9m empregam outras otimiza\u00e7\u00f5es que resultam em vulnerabilidades semelhantes \u00e0s Meltdown e Spectre. A equipe da Universidade de Graz menciona 14 vulnerabilidades do tipo Meltdown e 13 do tipo Spectre \u2013 um total de 27 vulnerabilidades de hardware de CPU em contraponto a apenas duas pertencentes a essas fam\u00edlias no in\u00edcio de 2018.<br>\n<img decoding=\"async\" class=\"aligncenter size-large wp-image-11291\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/94\/2019\/01\/30190310\/35c3-spectre-meltdown-2019-species-1024x582.jpg\" alt=\"\" width=\"1024\" height=\"582\"><\/p>\n<p>Al\u00e9m disso, embora a AMD tenha alegado anteriormente que suas CPUs n\u00e3o estavam expostas \u00e0s vulnerabilidades da classe Meltdown, os pesquisadores descobriram uma varia\u00e7\u00e3o do Meltdown (chamada Meltdown-BR) que estava operando perfeitamente com os processadores da AMD. Ent\u00e3o, conclui-se que neste momento, as CPUs dos tr\u00eas dos maiores fornecedores globais de processadores \u2013 AMD, ARM e Intel \u2013 s\u00e3o suscet\u00edveis tanto ao Meltdown, quanto ao Spectre. Bem, pelo menos a algumas das varia\u00e7\u00f5es dessas duas fam\u00edlias.<\/p>\n<p>Felizmente, boa parte de todas as numerosas vers\u00f5es n\u00e3o funcionam com nenhuma delas \u2013 nem com o ARM, AMD, nem Intel \u2013 ou, pelo menos, os especialistas n\u00e3o conseguiram faz\u00ea-las funcionar. No entanto, a maioria delas opera pelo menos em algum lugar<\/p>\n<p>As empresas come\u00e7aram a lan\u00e7ar <a href=\"https:\/\/encyclopedia.kaspersky.com\/glossary\/patch\/?utm_source=kdaily&amp;utm_medium=blog&amp;utm_campaign=termin-explanation\" target=\"_blank\" rel=\"noopener\">corre\u00e7\u00f5es<\/a> para microc\u00f3digos de CPU, sistemas operacionais e programas individuais em janeiro de 2018, procurando acabar com esses inc\u00f4modos. Infelizmente, o Spectre e o Meltdown s\u00e3o vulnerabilidades de hardware; elas existem no n\u00edvel do hardware, por isso, n\u00e3o podem ser completamente remediadas com corre\u00e7\u00f5es de software.<\/p>\n<p>Pensando nisso, uma das corre\u00e7\u00f5es foi implementada dentro do n\u00facleo do Linux OS, mas estava prejudicando muito a performance do sistema, ent\u00e3o depois de um per\u00edodo de teste, ela foi removida do c\u00f3digo.<\/p>\n<p>O Spectre \u00e9 problem\u00e1tico porque tem como alvo diferentes componentes de microarquitetura, portanto, deve-se projetar uma corre\u00e7\u00e3o separada para cada um deles. E cada uma das corre\u00e7\u00f5es exigir\u00e1 que certas funcionalidades sejam desativadas ou que a\u00e7\u00f5es extras sejam executadas e, por isso, reduzir\u00e3o ainda mais o desempenho.<\/p>\n<p>Na verdade, as corre\u00e7\u00f5es afetam a performance de forma t\u00e3o severa que em muitos casos um sistema corrigido funciona mais lentamente do que aquele em que os componentes vulner\u00e1veis \u200b\u200bda CPU s\u00e3o desligados completamente.<br>\n<img decoding=\"async\" class=\"aligncenter size-large wp-image-11292\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/94\/2019\/01\/30190449\/35c3-spectre-meltdown-2019-drill-1024x625.png\" alt=\"\" width=\"1024\" height=\"625\"><\/p>\n<h3>O futuro de Spectre e Meltdown<\/h3>\n<p>Em outubro de 2018, a Intel <a href=\"https:\/\/www.anandtech.com\/show\/13301\/spectre-and-meltdown-in-hardware-intel-clarifies-whiskey-lake-and-amber-lake\" target=\"_blank\" rel=\"noopener nofollow\">anunciou<\/a> que seus novos processadores (ou seja, a gera\u00e7\u00e3o prevista para 2019) incluir\u00e3o prote\u00e7\u00e3o contra \u00e0s vulnerabilidades Spectre e Meltdown em n\u00edvel de hardware. Mas isso j\u00e1 foi dito sobre as duas vers\u00f5es \u201cb\u00e1sicas\u201d, das quais, como discutimos acima, h\u00e1 muito mais a ser feito. A AMD tamb\u00e9m planeja consertar uma das varia\u00e7\u00f5es do Spectre em sua nova gera\u00e7\u00e3o de processadores de arquitetura Zen 2, a serem lan\u00e7ados em 2019. O ARM tamb\u00e9m promete atualiza\u00e7\u00f5es de hardware, <a href=\"https:\/\/developer.arm.com\/support\/arm-security-updates\/speculative-processor-vulnerability\" target=\"_blank\" rel=\"noopener nofollow\">alegando<\/a> que \u201ctodos os seus futuros processadores ser\u00e3o resilientes \u00e0 ataques estilo Spectre\u201d.<\/p>\n<p>\u00d3tima not\u00edcia, claro \u2013 para quem comprar\u00e1 novos aparelhos no futuro. Para \u00e0queles que compraram um computador, smartphone ou outro dispositivo desenvolvido em uma CPU Intel, AMD ou ARM em 2018 ou em anos anteriores, ser\u00e1 necess\u00e1rio instalar corre\u00e7\u00f5es para praticamente tudo, reduzindo consideravelmente o desempenho. H\u00e1 grandes chances de algumas pessoas n\u00e3o darem conta disso.<\/p>\n<p>Os fabricantes de CPU ignoraram as vulnerabilidades no n\u00edvel de hardware por muito tempo, otimizando suas CPUs com funcionalidades focadas apenas do desempenho. Por\u00e9m, todas essas inova\u00e7\u00f5es tiveram um custo: algumas coisas foram realmente melhoradas, mas outras acabaram por gerar mais problemas. Agora ser\u00e1 desafiador livrar-se dessas vulnerabilidades, enterradas profundamente. No entanto, \u00e9 preciso dizer que a explora\u00e7\u00e3o dessas vulnerabilidades n\u00e3o ser\u00e1 t\u00e3o f\u00e1cil e isso \u00e9 um bom motivo para come\u00e7ar a ter esperan\u00e7a \u2013 pelo menos at\u00e9 que as CPUs da pr\u00f3xima gera\u00e7\u00e3o sejam lan\u00e7adas.<\/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>O ano de 2018 foi regido pelas vulnerabilidades de hardware Spectre e Meltdown. O que ser\u00e1 que 2019 nos reserva?<\/p>\n","protected":false},"author":675,"featured_media":11290,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1260,1029],"tags":[1783,218,1392,1483,1790,1378,1377,267],"class_list":{"0":"post-11289","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-threats","8":"category-technology","9":"tag-35c3","10":"tag-ameacas","11":"tag-ccc","12":"tag-chaos-communication-congress","13":"tag-cpu","14":"tag-meltdown","15":"tag-spectre","16":"tag-vulnerabilidades"},"hreflang":[{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/35c3-spectre-meltdown-2019\/11289\/"},{"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-mx","url":"https:\/\/latam.kaspersky.com\/blog\/35c3-spectre-meltdown-2019\/13925\/"},{"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":"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:\/\/www.kaspersky.com.br\/blog\/tag\/ameacas\/","name":"amea\u00e7as"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/11289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/users\/675"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/comments?post=11289"}],"version-history":[{"count":2,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/11289\/revisions"}],"predecessor-version":[{"id":12804,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/11289\/revisions\/12804"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media\/11290"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media?parent=11289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/categories?post=11289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/tags?post=11289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}