Cryptocurrency security: Spectre e Meltdown

2 minutos de leitura

Escrito em 05.01.2018 por Marco Peereboom, Decred New Systems Development Lead

Recentemente, o Google divulgou uma nova classe de vulnerabilidades conhecida como Specter e Meltdown. A comunidade Decred têm feito perguntas sobre as implicações desses bugs para o Decred. Este post delineia implicações dessas explorações e possíveis contramedidas.

TL; DR

Execute sua carteira no hardware físico que você controla e NÃO compartilhe com outras pessoas e NÃO execute um navegador web na mesma máquina. As carteiras de hardware não parecem ser afetadas por esses bugs, mas deve-se tomar muito cuidado onde elas são acessadas.

Spectre

O Spectre permite o vazamento de memória em um processo. Isso significa que o seu navegador pode executar um código JavaScript hostil que pode vazar senhas/chaves e outras informações confidenciais em seu navegador pela Internet para terceiros.

Atualmente não há nenhuma solução conhecida para este bug e, portanto, navegadores e sites da Internet devem ser considerados hostis.

Meltdown

Meltdown permite o vazamento de memória do kernel. Isso se traduz em: se um terceiro tiver acesso ao hardware, por exemplo, uma máquina virtual compartilhada na nuvem, pode-se recuperar chaves/senhas e outras informações confidenciais da memória.

A maioria dos sistemas operacionais tem correções para esse bug. Você deve atualizar para a versão mais recente do sistema operacional. Observe que seu provedor de nuvem pode não ter atualizado o sistema operacional do host. Verifique isso com o seu provedor.

Carteiras Decred que apenas votam são menos críticas porque não controlam fundos. Estas podem ser executadas na nuvem sem arriscar a perda de fundos.

Melhores práticas

Nem sempre é possível não executar um navegador na máquina onde sua carteira é executada, mas você pode mitigar a maioria das ameaças.

As principais regras são:

  1. Atualize seu sistema operacional.
  2. Atualize seu navegador.
  3. Desabilite o autocompletar (autofill) no seu navegador.
  4. NÃO execute uma carteira em uma máquina compartilhada ou na nuvem.
  5. NÃO execute um navegador no computador onde roda a sua carteira, se possível.
  6. NÃO use uma carteira de hardware (hardware wallet) em um computador compartilhado.

Obviamente nem sempre é possível não executar um navegador no computador que roda sua carteira mas há precauções a serem tomadas. Por enquanto, use apenas Firefox e/ou Chrome.

  1. Bloqueie javascript
  2. Bloqueie ads
  3. Atualize seu navegador. Firefox tem mecanismos de mitigação embutidos (separação de sites na memória como processos separados). Chrome requer Strict site isolation
  4. Desabilite o autofill no seu navegador
  5. Inicie o navegador sem qualquer guia ou sites abertos antes de fazer algo relacionado a cryptocurrencies
  6. Termine o navegador DEPOIS de fazer algo relacionado a cryptocurrencies.
  7. Não inicie o navegador a menos que precise fazer algo relacionado a crypto (veja os passos 5 e 6).

Esses plugins foram selecionados porque existem no Firefox e no Chrome. Há alternativas que funcionarão tão bem quanto. O Decred project não avaliza nenhum deles.