A questão central: O seu nó vs. o deserto digital

Mais de 50 anos após a primeira mensagem inter-rede, as redes peer-to-peer continuam a ser criaturas raras na selva da Internet. A capacidade do Bitcoin de fornecer um sistema monetário aberto depende da sua arquitetura peer-to-peer, e, em toda a sua superfície de ataque, é a camada de rede — como os pares descobrem e se conectam uns aos outros — que é a mais vulnerável. Existem dois principais locais onde os problemas podem ocorrer: o próprio protocolo de pares do Bitcoin e os protocolos da Internet dos quais o protocolo do Bitcoin depende. À luz disso, o Core tem uma dupla missão: prevenir vetores de negação de serviço (DOS) que possam ser abusados entre os nós e permitir que os nós comuniquem-se de forma segura no ambiente adversarial mais amplo que é a Internet.

P2P

“Governos são bons em cortar a cabeça de redes controladas centralmente, como o Napster, mas redes puramente P2P como Gnutella e Tor parecem estar se mantendo.”

– Satoshi, 7 de novembro de 2008 [1]

O protocolo P2P abrange como os nós trocam mensagens sobre transações, blocos e outros pares. Essa troca de informações é necessária antes que qualquer transação ou validação de consenso possa ocorrer, sendo, portanto, uma preocupação primária.

Ao longo dos anos, houve várias falhas nesta área. Em 2017, por exemplo, uma vulnerabilidade maliciosa em um servidor SOCKS foi corrigida e divulgada [2]. Essa vulnerabilidade de “buffer overflow” poderia teoricamente levar a diversos ataques: travar o nó, injetar cargas maliciosas ou modificar dados no nó. Em 2020, uma vulnerabilidade de alta severidade foi reportada e corrigida, na qual um peer remoto poderia fazer com que endereços fossem banidos, aumentando a lista de banimento quadraticamente, configurando um DOS no nó [3]. A vulnerabilidade só foi divulgada em 2024. Essa falha é corretamente classificada como de “alta severidade”, pois o ataque é simples de executar, seu efeito resulta na perda de funcionalidade do nó e há poucos pré-requisitos para que funcione. Esses são os tipos de bugs que mantêm os desenvolvedores do Core acordados à noite, e por isso é altamente recomendado atualizar seu nó para uma versão ainda mantida (versões mais antigas do Core não são ativamente mantidas ou atualizadas).

Essa rede distribuída que chamamos de Bitcoin permanece relativamente pequena: o número de nós na clearnet gira em torno de 20 mil, e mesmo assumindo uma generosa estimativa de 100 mil nós Tor, ainda temos uma rede pequena, facilmente monitorável. Recentemente, Daniela Brozzoni e naiyoma demonstraram [4] que, se um nó opera com ambos, clearnet e Tor, é trivial mapear os endereços IPv4 e Tor de um nó. É muito provável que isso já seja feito por agências de inteligência e empresas de análise de cadeias de blocos. Assim, torna-se fácil perceber quais nós publicam quais transações primeiro, deduzindo o IP original da transação e, portanto, sua localização. Embora isso não seja um bug propriamente dito, já que o nó não trava ou se comporta mal, pode ser considerado uma vulnerabilidade, pois apresenta um método de vincular um IP específico a uma transação.

Como prevenir isso de forma eficaz é uma questão em aberto atualmente.

As Terras Selvagens da Web

“Construímos nossos computadores como construímos nossas cidades. Com o tempo, sem um plano, sobre ruínas.” – Ellen Ullman [5]

Bitcoin funciona na Internet, e sua capacidade de permanecer um sistema distribuído e descentralizado depende das propriedades da própria Internet. Infelizmente, a arquitetura da Internet como a conhecemos hoje continua extremamente insegura, com ataques conhecidos sendo empregados rotineiramente. A maioria desses ataques é realizada sem detecção até que o dano já tenha sido causado, sem mencionar os regimes de vigilância que permeiam a Internet atualmente.

O vetor de ataque mais conhecido e prático a ser considerado é chamado de ataque eclipse, onde os pares de um nó vítima são todos maliciosos e fornecem uma visão específica da cadeia ou da rede ao nó vítima. Essa classe de ataque é fundamental em sistemas distribuídos: se você controla os pares de um nó, controla sua percepção da rede. Ethan Heilman e colaboradores apresentaram um dos primeiros ataques eclipse práticos ao Bitcoin na USENIX 2015 [6], e em 2018, o artigo do ataque Erebus descreveu um ataque eclipse “furtivo” via um Sistema Autônomo (AS) malicioso [7].

Esses ataques aproveitam principalmente fraquezas na forma como as redes da Internet se comunicam entre si, como a topologia de roteamento dos ASs ou via um protocolo chamado Border Gateway Protocol (BGP). Embora existam iniciativas em andamento para proteger o protocolo BGP — BGPsec, RPKI — ambos têm limitações bem conhecidas, deixando os administradores da Internet ansiosos por soluções mais robustas. Até lá, a Internet continuará sendo o oeste selvagem.

Uma análise recente da cedarctic na Chaincode Labs descobriu que os nós do Bitcoin estão hospedados em apenas 4551 ASs, uma sub-seção relativamente pequena das redes constituintes que compõem a Internet. Eles descrevem um conjunto de ataques que podem levar a ataques eclipse ao comprometer o AS upstream em que os nós operam [8]. A pequena distribuição de nós entre os ASs e as relações específicas entre esses ASs criam um vetor de ataque único. Embora existam remediações, não está claro se esse vetor de ataque foi bem compreendido anteriormente pelos bitcoiners ou por seus adversários.

Qualquer ataque que dependa de comprometer um ou vários ASs requer recursos, coordenação e habilidades para ser realizado. Embora nenhum ataque bem-sucedido desse tipo tenha sido relatado em um nó Bitcoin, ataques desse tipo foram realizados com sucesso contra mineradores [9], carteiras [10], plataformas de troca [11] e pontes [12]. Embora não possamos consertar a Internet, podemos armar os nós com ferramentas para operar nesse ambiente adversarial.

Arsenal de Rede

A seguir, algumas funcionalidades que o Bitcoin Core desenvolveu ou integrou para proteger os usuários contra ataques a nível de rede:

TOR (The Onion Router) é a mais antiga rede de sobreposição focada em privacidade incorporada ao Bitcoin Core. Ela cria saltos entre uma rede aleatória de pares para obscurecer o tráfego.

v2transport [13] criptografa as conexões entre pares, ocultando o tráfego de espiões e censores. O objetivo é impedir que observadores passivos da rede espionem o conteúdo de suas comunicações com outros nós.

I2P (The Invisible Internet Project [14]) é um recurso opcional do Core que habilita uma camada adicional, privada e criptografada, para as conexões. É uma rede de anonimato semelhante ao Tor, que depende de pares para obscurecer o tráfego entre clientes e servidores.

ASmap [15] é outro recurso opcional do Core que implementa uma mitigação para o ataque Erebus já descrito pelos autores no artigo, aplicável a todos os ataques baseados em AS. Ao tornar o mecanismo de pares do Bitcoin consciente do AS de origem dos pares, garantindo diversidade entre eles, um ataque eclipse torna-se exponencialmente mais difícil, pois um atacante precisaria comprometer muitos ASs, o que é altamente improvável e quase impossível sem ser detectado. O Bitcoin Core suporta a utilização de um mapa de redes IP para seus ASs (um AS-map) desde a versão 20.0, e o projeto Kartograf permite que qualquer usuário gere facilmente um ASmap.

Dado que a Internet provavelmente continuará vulnerável a muitos ataques, uma das ações que podemos tomar é observar o comportamento dos nossos pares para tentar detectar comportamentos maliciosos. Essa é a motivação por trás do projeto peer-observer do 0xb10c [16]. Ele fornece um sistema completo de logs baseado em pontos de rastreamento eBPF (uma forma de observar as menores ações de um programa em execução em um sistema operacional) para monitorar a atividade de um nó, incluindo o comportamento dos pares. Também fornece tudo o que você precisa para construir seus próprios sistemas de registro.

Bitcoin Deve Ser Robusto

Garantir a capacidade de conectar-se aos pares e trocar mensagens é um componente fundamental do funcionamento do Bitcoin.

Bitcoin opera em um ambiente adversarial multidimensional, no qual muitas ameaças são criadas pelas próprias limitações da arquitetura da internet. Para que o Bitcoin sobreviva e prospere, seus desenvolvedores e usuários precisam aprender a navegar nessas águas estranhas.

O preço de redes abertas é vigilância eterna.

Adquira sua cópia de The Core Issue hoje!

Não perca a chance de possuir The Core Issue — apresentando artigos escritos por muitos desenvolvedores do Core explicando os projetos em que trabalham!

Esta peça é a Carta do Editor apresentada na última edição impressa da Bitcoin Magazine, The Core Issue. Compartilhamos aqui uma prévia das ideias exploradas ao longo de toda a edição.

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12] www.coinbase.com/blog/celer-bridge-incident-analysis

[13]

[14]

[15]

[16]

[13]

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar