Carteiras de extensão de navegador, explicadas

·6 min de leitura·Por SSP Editorial Team
Ilustração de uma carteira de extensão de navegador protegida por um sandbox e um cadeado de assinatura 2 de 2

Uma carteira de extensão de navegador é um pequeno programa que vive dentro do seu navegador web — Chrome, Firefox, Brave ou Edge — e guarda as chaves do seu cripto. Você a instala da mesma forma que instala um bloqueador de anúncios: na loja de complementos do navegador, com um único clique. Uma vez ali, um ícone de carteira fica ao lado da barra de endereços, pronto sempre que você visita um site que precisa lidar com cripto.

Este guia explica como esse tipo de carteira realmente funciona, como é o seu modelo de segurança e onde estão os riscos reais. Se você é totalmente novo em carteiras, comece por o que é uma carteira de cripto e depois a comparação mais ampla entre uma carteira de software e uma carteira de hardware — este artigo foca especificamente na variante baseada no navegador.

O que uma "extensão" realmente é

Uma extensão de navegador é um software que adiciona recursos ao seu navegador. O navegador é o programa anfitrião; a extensão é um convidado que o navegador permite rodar dentro dele. Extensões podem ler e alterar as páginas web que você visita, mostrar suas próprias janelas pop-up e armazenar dados no seu computador. Esse poder é exatamente o que torna uma carteira de extensão conveniente — e exatamente o que você precisa entender antes de confiar dinheiro a ela.

Uma carteira de extensão usa esse poder para três tarefas. Ela guarda suas chaves no armazenamento local do navegador, geralmente protegidas por uma senha. Ela mostra uma janela pop-up quando você precisa aprovar algo. E ela conversa com as páginas web por meio de uma técnica chamada injeção.

Como a injeção funciona

Injeção significa que a carteira coloca um pequeno trecho de código em cada página web que você abre. Pense nisso como a carteira deixando um telefone sobre a mesa de cada site que você visita. Quando um site quer fazer algo com cripto — conectar-se à sua carteira, mostrar seu saldo ou pedir que você envie uma transação — ele pega aquele telefone e faz uma solicitação.

Sua carteira recebe a solicitação e não age em silêncio. Ela abre uma janela pop-up e pergunta a você. "Este site quer se conectar." "Este site quer que você assine uma transação enviando 0,2 ETH." Nada se move até você clicar em aprovar. O site pode pedir; só você pode concordar. Esse passo de aprovação é o hábito mais importante ao usar qualquer carteira de navegador: leia o pop-up antes de clicar.

Esse design é o que permite que um aplicativo descentralizado — um dApp, ou seja, um site que roda em uma blockchain — funcione direto de uma aba normal do navegador sem software adicional. É genuinamente útil. Mas como a carteira é acessível a partir de cada página, cada página também faz parte do quadro quando falamos de segurança.

A superfície de ataque

"Superfície de ataque" é um termo simples para todos os lugares por onde algo pode ser atacado. Uma porta da frente, uma porta dos fundos e uma janela aberta fazem parte da superfície de ataque de uma casa. Uma carteira de navegador tem algumas delas.

Páginas web maliciosas ou comprometidas. Como a carteira se injeta em cada site, um site hostil pode enviar solicitações a ela. A carteira ainda pergunta a você primeiro, então uma página maliciosa não pode mover fundos sozinha — mas pode elaborar uma solicitação confusa e torcer para que você aprove sem ler.

dApps de phishing. Um site de phishing é uma falsificação construída para parecer um site real. Uma cópia de uma exchange popular ou de um marketplace de NFT pode pedir que você "verifique sua carteira" e apresentar uma transação que na verdade a esvazia. O pop-up é honesto sobre o que vai fazer; o site mentiu sobre o porquê.

Permissões amplas demais. Quando você instala qualquer extensão, o navegador lista o que ela pode acessar. Muitas carteiras pedem permissão para ler e alterar dados em todos os sites — elas precisam disso para se injetar em toda parte. O custo é que uma carteira com alcance amplo é um prêmio maior se algum dia for voltada contra você.

Risco de cadeia de suprimentos. Esse é o sutil. Um ataque à cadeia de suprimentos mira não em você, mas em algo do qual você depende. O software moderno é construído a partir de centenas de blocos de construção menores de código aberto chamados dependências. Se um atacante insere código ruim em um desses blocos — uma dependência envenenada — ou sequestra a atualização que envia uma nova versão da extensão ao seu navegador, o código malicioso chega por um canal em que você já confia. Você instalou uma extensão segura; uma atualização posterior, ou um componente oculto dentro dela, não era.

Para um olhar mais profundo e neutro em relação a fornecedores sobre como as extensões de navegador são construídas e protegidas, a documentação de extensões web da MDN da Mozilla é a referência confiável, e o projeto OWASP publica orientações gerais sobre as ameaças web acima.

Como a SSP reduz o risco

Nada disso significa que carteiras de navegador não sejam seguras de usar. Significa que uma bem construída precisa planejar para a superfície de ataque em vez de fingir que ela não existe. A SSP faz isso de duas maneiras concretas.

Isolamento em tempo de execução com LavaMoat. Um sandbox (caixa de areia) é um espaço confinado onde algo pode rodar sem conseguir alcançar o resto do sistema — do jeito que uma caixa de areia real mantém a areia em um só lugar. O LavaMoat aplica essa ideia àquelas centenas de dependências. Cada dependência roda em seu próprio compartimento lacrado com acesso só ao que ela genuinamente precisa. Assim, se uma dependência envenenada escorregar para dentro por um ataque à cadeia de suprimentos, ela fica encurralada: não consegue alcançar discretamente o resto da carteira para ler suas chaves, porque as paredes do seu compartimento não permitem. O ataque é contido em vez de catastrófico. Cobrimos isso em detalhe no post da sala de imprensa sobre o LavaMoat chegando à SSP.

Um design 2 de 2. Essa é a proteção estrutural maior. A maioria das carteiras de navegador guarda a chave inteira — aprove um pop-up ruim e os fundos somem. A SSP divide a assinatura entre dois dispositivos: a extensão de navegador guarda uma chave, e o app SSP Key no seu celular guarda a segunda. Uma transação só é válida quando ambas a assinam. A extensão sozinha não consegue mover uma única moeda.

Isso muda a conta completamente. Mesmo que uma página maliciosa engane a extensão, mesmo que uma atualização comprometida a alcance, o atacante controla apenas uma de duas chaves exigidas. Seu celular — um dispositivo separado, com uma tela separada mostrando os detalhes da transação — ainda precisa aprovar. Um ataque que esvaziaria uma carteira de navegador comum trava diante de um muro que ele não consegue atravessar.

Então, as carteiras de navegador são seguras?

Uma carteira de navegador é segura o suficiente para o uso diário quando duas coisas são verdadeiras: a carteira é construída para conter as falhas descritas acima, e você trata o pop-up de aprovação como uma decisão de verdade em vez de um reflexo. Instale extensões apenas de lojas oficiais, mantenha a carteira isolada em um navegador em que você confia, e vá mais devagar sempre que um site pedir que você assine algo.

A maior fraqueza de uma carteira de navegador — que ela vive em um navegador movimentado e conectado à internet — é real. A resposta da SSP não é ignorá-la, mas presumir que o navegador pode ser comprometido e tornar isso sobrevivível: o LavaMoat contém uma dependência ruim, e o design 2 de 2 significa que a extensão sozinha nunca é o bastante para você perder seus fundos. A seguir, nesta série, as carteiras de cripto móveis examinam a outra metade desse par — o celular que precisa coassinar.

Compartilhar este artigo

Artigos relacionados