O provedor de carteira de computação multipartidária (MPC), Liminal, divulgou um relatório post-mortem em 19 de julho sobre o hack do WazirX do dia anterior, alegando que sua interface de usuário não foi responsável pelo ataque. Segundo o relatório, o hack ocorreu porque três dispositivos WazirX foram comprometidos. 

A Liminal também afirmou que sua carteira com múltiplas assinaturas foi configurada para fornecer uma quarta assinatura se a WazirX fornecesse as outras três. Isso significava que o invasor só precisava comprometer três dispositivos para realizar o ataque. A carteira foi configurada desta forma a pedido do WazirX, afirmou o fornecedor da carteira.

Em uma postagem nas redes sociais de 18 de julho, a WazirX afirmou que suas chaves privadas eram protegidas por carteiras de hardware. WazirX disse que o ataque “decorreu de uma discrepância entre os dados exibidos na interface da Liminal e o conteúdo real da transação”.

De acordo com o relatório Liminal, um dos dispositivos do WazirX iniciou uma transação válida envolvendo o token Gala Games (GALA). Em resposta, o servidor da Liminal forneceu um “safeTxHash”, verificando a validade da transação. No entanto, o invasor substituiu esse hash de transação por um inválido, causando falha na transação.

Na opinião de Liminal, o fato de o invasor ter conseguido alterar esse hash implica que o dispositivo do WazirX já havia sido comprometido antes da tentativa de transação.

O invasor então iniciou duas transações adicionais; uma transferência GALA e uma transferência Tether (USDT). Em cada uma dessas três transações, o invasor usou uma conta de administrador WazirX diferente, totalizando três contas utilizadas. Todas as três transações falharam.

Depois de iniciar essas três transações com falha, o invasor extraiu assinaturas das transações e as usou para iniciar uma nova quarta transação. A quarta transação “foi elaborada de tal forma que os campos usados ​​para verificar as políticas usavam detalhes legítimos da transação” e “usou o Nonce da transação falhada do USDT porque essa foi a transação mais recente”.

Por usar esses “detalhes de transação legítimos”, o servidor Liminal aprovou a transação e forneceu uma quarta assinatura. Como resultado, a transação foi confirmada na rede Ethereum, resultando em uma transferência de fundos da carteira multisig conjunta para a conta Ethereum do invasor.

Liminal negou que seus servidores causassem a exibição de informações incorretas por meio da UI Liminal. Em vez disso, alegou que as informações incorretas foram fornecidas pelo invasor, que havia comprometido os computadores WazirX. Em uma resposta à pergunta feita, “Como a IU mostrou um valor diferente da carga real dentro da transação?” Liminal disse:

“Com base em nossos registros, dado que três dispositivos de transações compartilhadas da vítima enviaram cargas maliciosas para o servidor da Liminal, temos motivos para acreditar que as máquinas locais foram comprometidas, dando ao invasor acesso completo para modificar as cargas e exibir detalhes enganosos da transação no IU.”

A Liminal também afirmou que seus servidores foram programados para fornecer automaticamente uma quarta assinatura se os administradores do WazirX fornecessem as outras três. “A Liminal só fornece a assinatura final quando o número necessário de assinaturas válidas for recebido do lado do cliente”, afirmou, acrescentando que neste caso “a transação foi autorizada e assinada por três funcionários do nosso cliente”.

A carteira multisig “foi implantada pela WazirX de acordo com sua configuração bem antes da integração com a Liminal” e foi “importada” para a Liminal “por solicitação da WazirX”.

Relacionado: Violação do WazirX post-mortem: Desmantelando o ataque de US$ 230 milhões

A postagem do WazirX afirmava que havia implementado “recursos de segurança robustos”. Por exemplo, exigia que todas as transações fossem confirmadas por quatro em cada cinco detentores de chaves. Quatro dessas chaves pertenciam a funcionários da WazirX e uma à equipe Liminal. Além disso, era necessário que três dos detentores de chaves WazirX usassem carteiras de hardware. Todos os endereços de destino deveriam ser adicionados a uma lista de permissões com antecedência, afirmou WazirX, que foi “marcado e facilitado na interface pela Liminal”.

Apesar de tomar todas essas precauções, o invasor “parece ter possivelmente violado esses recursos de segurança e o roubo ocorreu”. WazirX chamou o ataque de “um evento de força maior além de [seu] controle”. Mesmo assim, prometeu que “não deixaria pedra sobre pedra para localizar e recuperar os fundos”.

Estima-se que US$ 235 milhões foram perdidos no ataque WazirX. Foi o maior hack de exchange centralizada desde a exploração do DMM em 31 de maio, que resultou em perdas ainda maiores, de US$ 305 milhões.

Revista: Hackers WazirX preparados 8 dias antes do ataque, vigaristas falsificam moeda fiduciária para USDT: Asia Express