O que podemos aprender ao estudar hacks? Revelando insights sobre movimentos de privacidade e criptomoedas após o hack DAO 2016

Simbiose

O termo criptomoeda quase se tornou sinônimo de hacking. Parece que toda semana há grandes hacks em exchanges, carteiras de usuários individuais, contratos inteligentes e as blockchains públicas nas quais eles estão. Em muitos casos, os vetores de ataque são óbvios em retrospectiva: o código não foi testado, os processos internos para evitar phishing não existiam, os padrões básicos de código não foram seguidos etc. práticas básicas de segurança. 

Mas todo hack de criptografia tem dois componentes principais – há o hack em si e, em seguida, as metodologias pelas quais o hacker e seus companheiros tentam sacar seus saques roubados. Para os defensores da privacidade, as tentativas feitas para anonimizar esses fundos são estudos de caso interessantes nos níveis de anonimato alcançáveis ​​em redes públicas de blockchain.

Como os fundos são rastreados de perto por agências governamentais e entidades corporativas altamente organizadas e bem financiadas, eles oferecem uma oportunidade para a comunidade observar a eficácia das várias carteiras de privacidade envolvidas. Se esses hackers não podem permanecer privados, quais são as chances de que usuários comuns que procuram privacidade em redes públicas consigam alcançá-la? 

O hack DAO 2016, um caso exemplar

Ao estudar esses hacks e as prisões subsequentes, fica claro que, na maioria dos casos, os hackers cometem erros cruciais ao tentar anonimizar sua criptomoeda. Em alguns casos, as falhas são culpa de erros simples do usuário. Em outros casos, eles são causados ​​por bugs no software de carteira que eles usaram ou outros erros menos óbvios no caminho para converter a criptomoeda em ativos do mundo real. 

Recentemente, um caso particularmente interessante, o hack DAO de 2016, teve um desenvolvimento significativo - uma investigação Artigo Forbes foi publicado que identifica o suposto hacker. O processo pelo qual essa pessoa foi identificada oferece algumas informações sobre uma carteira de privacidade amplamente utilizada, a Wasabi Wallet, e como o uso impróprio do software pode levar a uma “desmistura” dos fundos do suposto hacker. 

Erros críticos foram cometidos

Quanto à ordem das operações, o primeiro movimento do hacker foi converter alguns de seus fundos roubados do Ethereum Classic em Bitcoin. O hacker usou o Shapeshift para executar a troca, que na época fornecia um registro público completo de todas as negociações na plataforma. Da Shapeshift, alguns dos fundos foram transferidos para a Wasabi Wallet. A partir daqui, as coisas vão ladeira abaixo.  

Para quem não conhece, CoinJoin é o apelido de um protocolo especial de construção de transações que permite que várias partes agreguem seus fundos em uma grande transação com o objetivo de quebrar o vínculo entre os fundos que fluem para o CoinJoin e os fundos que saem do CoinJoin.

Em vez de uma transação ter um único pagador e beneficiário, uma transação CoinJoin tem vários pagadores e beneficiários. Digamos, por exemplo, que você tenha um CoinJoin com 10 participantes - se o CoinJoin for construído corretamente e todas as regras de interação forem seguidas corretamente, os fundos que fluem do CoinJoin terão um conjunto de anonimato de 10. ou seja, qualquer um dos 10 "outputs mistos" ” da transação pode pertencer a qualquer uma das 10 (ou mais) “entradas não mistas” da transação. 

Embora o CoinJoins possa ser uma ferramenta muito poderosa, há muitas oportunidades para os participantes cometerem erros críticos que degradam significativamente ou prejudicam completamente qualquer privacidade que possam ter obtido com o CoinJoin. No caso do suposto hacker DAO, tal erro foi cometido. Como você lerá a seguir, existe a possibilidade de que esse bug tenha sido um erro do usuário, no entanto, também é possível que tenha havido um bug (já corrigido) na Wasabi Wallet que levou a essa falha de privacidade. 

A carteira Wasabi usa o Protocolo ZeroLink, que constrói CoinJoins com saídas mistas de valor igual. O que isso significa é que todos os usuários são obrigados a misturar apenas uma quantidade especificada e predeterminada de Bitcoin. Qualquer valor acima desse valor que entra no CoinJoin deve ser devolvido como Bitcoin não misturado aos respectivos usuários.

Se, por exemplo, Alice tiver uma saída única de 15 Bitcoin, e o CoinJoin aceitar apenas saídas de valor 1 Bitcoin, ao concluir o CoinJoin, Alice teria uma saída de Bitcoin mista de 1 e uma saída de Bitcoin não mista de 05. O Bitcoin de 05 é considerado “não misturado” porque pode ser vinculado à saída original de 15 de Alice. A saída mista não pode mais ser vinculada diretamente à entrada e terá um conjunto de anonimato composto por todos os outros participantes do CoinJoin. 

Para preservar a privacidade do CoinJoin, é imperativo que as saídas mistas e não mistas nunca sejam associadas umas às outras. No caso de serem agregados acidentalmente no blockchain do bitcoin em uma única ou conjunto de transações, um observador pode usar essas informações para rastrear saídas mistas de volta à sua fonte. 

No caso do hacker DAO, parece que no processo de uso da Wasabi Wallet, eles usaram um único endereço em vários CoinJoins; em um caso o endereço foi usado como uma saída de mudança não mista, no segundo caso foi usado como uma saída mista.

Este é um erro relativamente incomum no contexto de um CoinJoin porque essa técnica de culpa por associação requer uma transação downstream do CoinJoins para “mesclar” as saídas não misturadas e mistas, ligando-as. Mas, neste caso, nenhuma transação além dos dois CoinJoins precisava ser analisada porque o mesmo endereço foi usado de maneiras conflitantes em dois CoinJoins separados. 

Fundamentalmente, essa possibilidade existe devido a uma decisão de design no software Wasabi Wallet: Wasabi Wallet usa um único caminho de derivação para saídas mistas e não mistas. Isso é considerado má prática. Foi afirmado por um funcionário da Wasabi que isso era para tornar a restauração de carteira compatível com outras carteiras, no entanto, BIP84 (que é o esquema de derivação Wasabi Wallet usa) tem uma maneira padrão para reconhecer um caminho de derivação atribuído para alterar as saídas.

As falhas resultantes dessa escolha de design são vistas com mais destaque quando um usuário tem duas instâncias da Wasabi Wallet em execução ao mesmo tempo enquanto usa a mesma semente. Nesse cenário, seria possível que as duas instâncias selecionassem o mesmo endereço dessa maneira conflitante ao tentar executar simultaneamente uma mistura de cada instância. Isso é advertido em documentação oficial. Também é possível que bugs conhecidos na carteira Wasabi tenham sido os culpados.

Conclusões e conclusões

Então, o que aprendemos com isso? Embora esse bug com Wasabi não seja exatamente o fim da história, ele atuou como um componente crucial no rastreamento do suposto hacker. Mais uma vez, nossa crença de que a privacidade é difícil é reafirmada. Mas, na prática, temos outro exemplo da importância de evitar a contaminação da saída ao usar ferramentas de privacidade e como o “controle de moedas” cuidadoso é exigido por usuários e softwares. A questão é: que tipo de protocolos de privacidade são projetados para minimizar essa classe de ataque? 

Uma solução interessante é um CoinSwap, onde em vez de mesclar saídas em uma grande transação, você troca saídas com outro usuário. Desta forma, você está trocando históricos de moedas, não juntando históricos de moedas. Mais poderosamente, se um CoinSwap for feito no contexto off-chain (como é implementado pela Mercury Wallet), não há saídas de mudança não misturadas para lidar. 

Embora existam possíveis erros do usuário que podem fazer com que um CoinSwap seja “desswap”, esses erros são muito mais óbvios para o usuário final porque qualquer mesclagem de saídas de maneira que viole a privacidade só poderia ser feita misturando explicitamente um saída trocada com uma que ainda não foi trocada, em vez de mesclar duas saídas que já passaram pelo CoinJoin, apenas uma das quais é realmente misturada.

Carteira Mercury é atualmente o único recurso CoinSwap fora da cadeia disponível para usuários finais. Ele permite que os usuários bloqueiem suas moedas em um protocolo de camada dois (conhecido como statechain) e, em seguida, troquem cegamente suas saídas com outros usuários do statechain. É uma técnica muito interessante e vale a pena experimentar para aqueles interessados ​​em explorar novas ferramentas de privacidade com funcionalidades interessantes e compensações aceitáveis.

Obtenha sua recapitulação diária de Bitcoin, DeFi, NFT e Web3 novidades da CryptoSlate

É grátis e você pode cancelar a qualquer momento.

obter uma borda no mercado de criptografia?

Torne-se membro do CryptoSlate Edge e acesse nossa comunidade Discord exclusiva, mais conteúdo e análises exclusivas.

Análise on-chain

Instantâneos de preços

Mais contexto

Inscreva-se agora por $ 19 / mês Explore todos os benefícios

Fonte: https://cryptoslate.com/what-can-we-learn-from-studying-hacks-revealing-insights-on-privacy-and-cryptocurrency-movements-after-the-dao-2016-hack/