Cryptocurrency security: Spectre e Meltdown
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:
- Atualize seu sistema operacional.
- Atualize seu navegador.
- Desabilite o autocompletar (autofill) no seu navegador.
- NÃO execute uma carteira em uma máquina compartilhada ou na nuvem.
- NÃO execute um navegador no computador onde roda a sua carteira, se possível.
- 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.
- Bloqueie javascript
- Bloqueie ads
- 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
- Desabilite o autofill no seu navegador
- Inicie o navegador sem qualquer guia ou sites abertos antes de fazer algo relacionado a cryptocurrencies
- Termine o navegador DEPOIS de fazer algo relacionado a cryptocurrencies.
- 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.