Algumas entidades misteriosas estão operando na rede Bitcoin, e uma delas é a LinkingLion. Essa entidade é capaz de abrir conexões com muitos nós do Bitcoin usando quatro faixas de endereços IP e ouvir as transações anunciadas, o que pode permitir que ela associe transações recém-transmitidas a endereços IP de nós. Essa entidade tem estado ativa desde 2018 e também está presente na rede Monero usando as mesmas faixas de endereços IP. Embora não saibamos exatamente quem ou o que está por trás da LinkingLion, acredita-se que seja uma empresa de análise blockchain coletando dados para aprimorar seus produtos.
Em um post anterior, eu observei uma entidade fazendo várias conexões curtas e intermitentes com muitos nós na rede P2P do Bitcoin. Chamei essa entidade de “Inbound Connection Flooder” e escrevi sobre minha observação inicial nesse post. No entanto, após uma inspeção mais detalhada do comportamento da entidade, acredito que essas conexões curtas e intermitentes são apenas um sintoma do objetivo principal. Eu suspeito que essa entidade esteja rastreando a propagação de transações para tentar determinar qual nó transmite qual transação e, assim, associar transações a endereços IP.
A LinkingLion usa endereços IP de três faixas IPv4 /24 e uma faixa IPv6 /32 para se conectar a nós que estão escutando na rede Bitcoin. Todas essas faixas de endereços IP são anunciadas pela AS54098, LionLink Networks. No entanto, as faixas pertencem a empresas diferentes com base nas informações dos registros ARIN e RIPE.
162.218.65.0/24: Fork Networking, LLC (forked.net) – ARIN Whois
209.222.252.0/24: Castle VPN, LLC (castlevpn.com) – ARIN Whois
91.198.115.0/24: Linama UAB (?) – RIPE Whois
2604:d500::/32: Data Canopy (datacanopy.com) – ARIN Whois
Fork Networking e Castle VPN são empresas com sede nos EUA, ambas de propriedade da mesma pessoa. Fork Networking oferece serviços de hospedagem e colocação, enquanto Castle VPN é um provedor de VPN. Linama UAB é uma empresa lituana sem presença na web. Data Canopy é uma empresa com sede nos EUA que oferece centros de dados na nuvem e colocação. Como as conexões dessas faixas de endereços IP compartilham comportamentos muito semelhantes, assume-se que são controladas ou alugadas pela mesma entidade. Chamamos essa entidade de “LinkingLion”, pois a AS LionLink Networks é o fator comum desses IPs, e acredita-se que a entidade esteja tentando associar transações a endereços IP.
No entanto, ainda é incerto o motivo pelo qual a LinkingLion está interessada em vincular transações a endereços IP. Pode ser que estejam fazendo isso para ajudar a polícia a rastrear atividades criminosas na rede.
Comportamento
Para analisar o comportamento do LinkingLion, foram registrados os dados de tráfego de rede entre o meu nó e os intervalos de endereços IP do LinkingLion por cerca de cinco dias na primeira metade de março de 2023. Nesse período, cerca de 200.000 conexões foram abertas para o meu nó a partir da entidade. Na seção a seguir, descreveremos o comportamento observado.
Estabelecimento de conexão e handshake
Das quatro faixas de endereços IP, a entidade usa os seguintes 812 endereços (lista) para abrir conexões TCP com muitos nós de escuta do Bitcoin na rede:
162.218.65.11 – 162.218.65.254 (244 endereços)
209.222.252.2 – 209.222.252.254 (253 endereços)
91.198.115.3 – 91.198.115.62 (60 endereços) + 91.198.115.114
2604:d500:4:1::2
2604:d500:4:1::3:2 – 2604:d500:4:1::3:fe (253 endereços)
O LinkingLion utiliza toda a faixa de portas efêmeras (1024-65535), o que difere do comportamento padrão de muitos sistemas operacionais (a maioria usa um subconjunto menor). Pode-se observar que o mesmo endereço IP se conecta repetidamente, em alguns casos mais de 50 vezes, antes que a entidade mude para outro endereço IP na mesma faixa de endereços.
Após a etapa de handshake, o comportamento da entidade se divide em duas fases principais: a fase de transmissão de blocos e a fase de solicitação de blocos.
Fase de transmissão de blocos
A entidade começa a enviar blocos imediatamente após a conclusão do handshake. Ela transmite blocos em grupos de 10 e sempre envia o bloco mais recente primeiro. A velocidade de transmissão é relativamente constante e corresponde a cerca de 2 a 3 blocos por segundo. A entidade também transmite blocos inválidos. A transmissão de blocos dura cerca de 24 a 36 horas e termina abruptamente, sem enviar o bloco mais recente.
Fase de solicitação de blocos
Depois de terminada a transmissão de blocos, a entidade começa a solicitar blocos. Ela envia mensagens getdata que solicitam 128 blocos de cada vez e se concentra em blocos recentes que não foram transmitidos anteriormente. As mensagens getdata são enviadas a uma taxa constante, cerca de uma por segundo, e não são interrompidas por respostas.
As solicitações de bloco podem se concentrar em blocos de uma única altura, o que indica que a entidade está tentando obter todos os blocos em uma determinada altura. Por exemplo, uma solicitação pode incluir 128 blocos na altura 658501. As solicitações também podem se concentrar em blocos que contêm transações específicas. As transações são identificadas pelo hash e podem estar relacionadas a endereços específicos ou transações de interesse para a entidade.
Comunicação
Após o handshake, cerca de 18% das conexões abertas recebem um verack e permanecem abertas por mais tempo. Após o handshake, um nó do Bitcoin Core envia uma mensagem sendcmpct indicando suporte ao Compact Block Relay, uma mensagem ping, uma mensagem feefilter com a menor taxa de transferência que estamos interessados e uma mensagem getheaders solicitando novos cabeçalhos que o par pode saber. A entidade responde com uma mensagem pong e continua a responder durante a duração da conexão. Ela nunca inicia um ping por si mesma.
A partir daqui, dois comportamentos diferentes podem ser observados. Ou a entidade ouve as mensagens inv enviadas por nós por até 150 segundos (2 minutos e 30 segundos), ou ela nos envia um getaddr e ouve as mensagens inv e addr enviadas por nós por até 600 segundos (10 minutos) antes de fechar a conexão. Em média, enviamos 15 mensagens inv para a entidade durante as conexões mais curtas, que são apenas inv. Durante as conexões mais longas, que incluem inv e addr, enviamos em média seis mensagens addr e 104 mensagens inv. No protocolo Bitcoin, as mensagens inv (inventário) são anúncios de que novos blocos ou transações estão disponíveis. Ao receber um inv, um nó pode solicitar o bloco ou a transação se ainda não a conhecer. A entidade nunca solicita blocos ou transações.
A duração da conexão apenas com inv é semelhante para os três intervalos de endereços IPv4. Muitas conexões são encerradas após 90 segundos ou 150 segundos. As conexões dos 253 endereços no intervalo IPv6 2604:d500:4:1::3 são principalmente encerradas após 150 segundos, enquanto algumas são encerradas mais cedo, entre 90 e 150 segundos. As conexões do 2604:d500:4:1::2 são encerradas quase uniformemente entre 0 e 90 segundos. Geralmente, não há endereços IP especiais usados apenas para conexões mais longas ou mais curtas. O único destaque é 209.222.252.2, que só faz as conexões mais longas de 150 segundos. O IP 162.218.65.219 é notável por fazer o dobro do número de conexões dos outros IPs no mesmo intervalo de IP. As conexões que incluem inv e addr solicitam endereços com uma mensagem getaddr e originam-se apenas do 2604:d500:4:1::2 e 91.198.115.114. Elas são fechadas logo após ficarem abertas por 600 segundos.
Transações monitoradas
Durante a análise do tráfego, foi possível observar que o LinkingLion está monitorando transações Bitcoin. Assim que uma nova transação é transmitida para um dos nós que a entidade está monitorando, é aberta uma nova conexão de saída do LinkingLion para o nó, e a transação é baixada. A entidade monitora principalmente transações de grandes quantias (dezenas ou centenas de Bitcoins), o que sugere que o objetivo é a identificação de transações de alto valor.
O comportamento do LinkingLion também sugere que ele está tentando correlacionar endereços IP com transações específicas. Quando uma nova transação é recebida, a entidade a transmite para a maioria dos nós aos quais está conectada, para verificar se o nó que a transmitiu está na lista de nós que a entidade está monitorando. Se a entidade identifica o nó, ele inicia uma nova conexão para o nó, na tentativa de correlacionar o endereço IP com a transação recebida.
Conclusão
Com base no comportamento observado, é possível que o LinkingLion seja uma empresa de análise blockchain coletando dados para melhorar seus produtos. No entanto, as motivações exatas da entidade são desconhecidas. O monitoramento de transações Bitcoin e a tentativa de correlacioná-las com endereços IP pode ter implicações na privacidade dos usuários do Bitcoin. Por isso, é importante que os usuários estejam cientes desses comportamentos e tomem medidas para proteger sua privacidade e anonimato.
Fonte: https://b10c.me/observations/06-linkinglion/?t