CryptoTimes

Graças às altas taxas da Ethereum, operadores de nós da Chainlink foram alvo de ataque

04 set 2020, 14:44 - atualizado em 08 mar 2021, 14:36
chainlink
“Embora essa tentativa de spam exigiu que nós da Chainlink gastassem mais ETH, essa necessidade foi rapidamente removida quando a rede solucionou o spam de forma adequada”, afirmou o porta-voz da Chainlink (Imagem: ChainLink)

Nove operadores de nós da Chainlink — que têm um papel fundamental no propulsionam os protocolos de finanças descentralizadas (DeFi) ao fornecer feeds de preço de tokens — sofreram um ataque no último domingo (30), resultando na perda de 700 ETH (equivalentes a US$ 335 mil na época) de suas carteiras “quentes”.

Uma fonte familiarizada com o assunto contou ao The Block que um invasor começou a enviar pedidos válidos de feeds de preço, fazendo com que operadores pagassem muitas taxas por gás, ou seja, taxas de transação na Ethereum.

A operadora de nó Chainlink Certus One também forneceu detalhes sobre o ataque. O CEO Hendrik Hofstadt contou ao The Block que o ataque afetou pelo menos nove operadores de nós da Chainlink. Hofstadt disse que Certus One perdeu 20 ETH, ou cerca de US$ 7,5 mil.

Chainlink confirmou o ataque, mas não comentou quanto ETH foi perdido e quantos operadores de nós foram afetados.

Houve uma “tentativa breve de spam no domingo” que durou “aproximadamente duas horas”, disse um porta-voz da Chainlink. “Embora essa tentativa de spam exigiu que nós da Chainlink gastassem mais ETH, essa necessidade foi rapidamente removida quando a rede solucionou o spam de forma adequada.”

O porta-voz continuou a explicar que os pedidos de spam geralmente exigem que redes gastem “um pouco mais” recursos até os pedidos serem identificados como spam. Chamou o ataque de “tentativa falha” de mandar spam à rede Chainlink, que “não teve impacto significativo na rede ou em seus feeds”.

“A falha dessa tentativa de enviar spam à rede Chainlink é um testamento de quão resiliente a rede Chainlink se tornou”, disse.

Ainda assim, o ataque talvez ilustre os riscos associados em ser um operador de nós e os esforços em que agentes maliciosos no ecossistema cripto irão para gerar lucros às custas de agentes honestos.

CONTINUA DEPOIS DA PUBLICIDADE
O agente malicioso poderia realizar, com sucesso, o ataque ao usar o gás extra dos operadores para emitir tokens de gás Chi, que são criados pela agregadora de corretoras descentralizadas 1inch (Imagem: Freepik/macrovector)

O ataque

Oráculos como Chainlink alimentam dados para contratos autônomos por meio de operadores de nós. Isso porque contratos autônomos não podem se comunicar com sistemas externos. Operadores de nós são recompensados por seu trabalho. Chainlink, por exemplo, os paga com seu token nativo, LINK.

O agente malicioso poderia realizar, com sucesso, o ataque ao usar o gás extra dos operadores para emitir tokens de gás Chi, que são criados pela agregadora de corretoras descentralizadas 1inch.

Chi é uma forma tokenizada de gás e ajuda na proteção contra taxas voláteis de gás. É o token de gás “mais líquido”, disse Hofstadt, acrescentando que o token de gás “tem certa liquidez na Mooniswap [o protocolo de formação automática de mercado da 1inch], então eu creio que é por que eles [o invasor] o escolheram”.

Em outras palavras, quando o invasor envia um pedido de feed de preço, o nó responde — além de fazer o operador em questão gastar “muito gás e [o invasor] conseguir capitalizar sobre esse gás”, disse ele.

Preços de gás na Ethereum são denominados em gwei. O invasor aproveitou as altas taxas de gás da rede ao direcionar os custos de gás para esses oráculos e, em seguida, emitindo tokens Chi a esses níveis elevados.

Esses tokens seriam usados para custear altos custos de gás mas, nesse caso, o invasor os vendeu por ETH.

Por fim, o invasor usou Tornado Cash, um mixer de transações baseado na Ethereum, para ofuscar o caminho das transações em ETH, segundo uma fonte.

Os nove operadores de nós da Chainlink afetados foram: T-Systems (subsidiária da Deutsche Telekom), 01Node, Anyblock Analytics, B-Harvest, ChainLayer, a própria Chainlink, Everstake, Figment Networks e LinkPool, afirmou Hofstadt.

Os outros operadores afetados não foram imediatamente atingidos. “Acreditamos que tinham uma lista em ordem alfabética dos nós”, disse Hoftstadt.

Além disso, alguns desses operadores tinham maiores saldos de cerca de 50 ETH em suas carteiras, acrescentou ele. Então, esses eram “alvos mais lucrativos de se atacar”.

Menores operadores de nós só têm entre 2 e 3 ETH em suas carteiras, disse ele, acrescentando que seus saldos dependem bastante de suas políticas internas.

Por fim, o invasor usou Tornado Cash, um mixer de transações baseado na Ethereum, para ofuscar o caminho das transações em ETH, segundo uma fonte (Imagem: Reuters/Kacper Pempel)

O impacto

Já que os nove operadores de nós zeraram seus saldos em ETH, não puderam atender a pedidos de dados durante o período de ataque, que durou cerca de duas horas.

Quando um nó é esvaziado, não consegue pagar mais por transações e, assim, não conseguem mais atender a pedidos ou apresentar dados no blockchain, disse Hofstadt.

Até ele e sua equipe perceberem que esse era um ataque, grande parte dos operadores de nós afetados continuaram a preencher seus nós “porque pensaram que era devido ao aumento de gás naquela noite” e o ETH preenchido também estava sendo roubado.

“Na verdade, a equipe percebeu o padrão estranho do token de gás sendo emitido, então imediatamente entramos em contato com a equipe da Chainlink e eles entraram em contato com sua equipe de segurança”, disse Hofstadt.

“Entre meia-hora e uma hora, chegamos à conclusão que precisaríamos olhar para a lista de boa reputação e que essa seria a melhor solução.”

Na solução de lista de boa reputação (ou “whitelist”), operadores de nós classificam os pedidos mais valiosos de dados, vindo dos protocolos DeFi mais ativos — como Aave e Synthetix, por exemplo —, e preenchem apenas seus pedidos enquanto bloqueiam todos os outros pedidos fora dessa lista.

“Nosso modelo de incentivo econômico para operadores funcionou assim como deveria”, afirmou porta-voz da Chainlink (Imagem: Freepik/macrovector)

Solução temporária

Porém, é importante destacar que essa solução é temporária. Para uma solução permanente, a Chainlink precisaria encontrar “um ponto em comum com os verdadeiros clientes dos dados” antes de operadores de nós poderem alterar o sistema.

Ao todo, o ataque de domingo não teve nenhum “impacto real” na rede Chainlink, segundo Hofstadt, porque os operadores de nós não afetados puderam continuar a transmitir os dados.

Por exemplo, o feed oficial para o par ETH/USD tem entre 25 e 28 fornecedores de dados. Então, quando os nove nós foram interrompidos, o restante “ainda era suficiente para atualizar esse feed”.

Ainda assim, durante o ataque, alguns feeds de dados podem ter sido mais suscetíveis à interface de programação de aplicações, ou API (como CoinGecko), que esses fornecedores estavam usando, segundo Hofstadt.

Além disso, se o ataque tivesse impactado 50% dos operadores de nós da Chainlink, esse feed não seria atualizado até operadores suficientes voltassem ao ar.

O porta-voz da Chainlink também afirmou que o ataque não impactou sua rede, pois “se comportou exatamente como deveria nesse caso, em que operadores de nós pagam quaisquer taxas necessárias para continuar alimentando os feeds da Chainlink que asseguram US$ 3 bilhões em valor”.

“Nosso modelo de incentivo econômico para operadores funcionou assim como deveria”, acrescentou.

Hofstadt disse ao The Block que Chainlink estava ajudando alguns dos operadores de nós oficiais que não tinha ETH suficiente em suas carteiras quentes.

Por exemplo, nós que perderam fundos entre 10 a 20 ETH receberam assistência para preencher novamente seus nós, dado que foram esvaziados após scripts de autopreenchimento tiveram efeito.

Outros receberam bonificações como uma forma de “agradecimento pela rápida resposta naquela noite e para ajudar a recuperar os prejuízos”, segundo Hofstadt, que não teve certeza de se cada operador de nó foi recompensado por prejuízos.

Hofstadt acha que a invasão não teria sido “lucrativa” para o invasor sob circunstâncias normais, já que tokens de gás “não são 100% eficientes” (Imagem: Facebook/Ethereum)

Problemas de gás

As altas taxas de gás parecem ser um problema para operadores de nós da Chainlink. Hofstadt disse que Certus One teve dias em que passou por “prejuízos de milhares de dólares”.

Mas ele assegurou que clientes “não foram impactados de forma alguma”.

“Essa é uma escolha interessante de design. Esse sistema inteiro, o que nós, como oráculos, estamos fazendo, é ter contratos autônomos chamados de agregadores, que são inalteráveis e os atualizamos e o operador desse agregador nos paga. Nesse caso, é por isso que a própria Chainlink e os clientes desses dados nos pagam pelos dados e, em seguida, sua dapp pode acessar esses dados no blockchain de graça ou qualquer um pode acessar os dados nesses feeds de graça”, explicou ele.

Hofstadt acha que a invasão não teria sido “lucrativa” para o invasor sob circunstâncias normais, já que tokens de gás “não são 100% eficientes”.

“O invasor teria de estar tendo prejuízos até pedidos suficientes resultarem em um fluxo de respostas dos oráculos que, por sua vez, teriam empurrado o preço até um ponto em que seria lucrativo — parecido com um ataque DDoS [de negação de serviço]. Porém, isso teria sido bem caro de se fazer e não teria rendido muito”, disse Hoftstadt.

Ele reconheceu que os altos preços de gás foram o “principal gatilho” para o ataque.