Pular para o conteúdo
Registro de incidente · · 2 min de leitura · 313 palavras ·Descoberto ·Divulgado Resolvido

Ataque à cadeia de suprimentos do Ledger Connect Kit, dezembro de 2023: o que aconteceu e o que verificar

Um pacote npm comprometido injetou um drenador de carteiras em todo dapp que carregava o Ledger Connect Kit pelo CDN — independentemente de o usuário ter ou não um Ledger.

Compartilhar
Esquema do incidente da Ledger (biblioteca Connect Kit) mostrando a etapa da cadeia de suprimentos como o ponto de falha.
Schematic of the Ledger (Connect Kit library) incident showing the supply chain stage as the failure point.

Visão geral

ENTIDADE AFETADA
Ledger (Connect Kit library)
BLOCKCHAIN(S)
Ethereum
PERDA RELATADA
aprox. US$ 600.000(Ledger, 14 dez 2023)
RESPOSTA OFICIAL
www.ledger.com

A dependência era a superfície de ataque

O Ledger Connect Kit é uma biblioteca que os dapps usam para conversar com dispositivos Ledger. Muitos a carregavam de um CDN em tempo de execução, em vez de fixar uma versão e empacotá-la. Isso significava que uma única publicação maliciosa se propagava automaticamente para front-ends de produção em operação, sem nenhuma ação das equipes dos dapps e sem nenhuma implantação do lado delas.

O código injetado era um drenador de carteiras: apresentava aos usuários uma transação que transferia seus ativos. Fundamentalmente, isso atingiu usuários que sequer possuíam um dispositivo Ledger. A biblioteca estava na página; o hardware era irrelevante.

O que as carteiras de hardware protegem e o que não protegem

Seria errado ler isso como uma falha da carteira de hardware, e igualmente errado ler como uma absolvição. Uma carteira de hardware protege a chave. Ela não decide se uma transação é uma boa ideia — ela mostra a transação e pergunta. Se a solicitação que chega ao dispositivo é maliciosa e você a aprova, o dispositivo se comporta exatamente como foi projetado.

A defesa que teria funcionado era ler o que o dispositivo exibia antes de aprovar. Essa é uma exigência genuinamente difícil: os dados de transação costumam ser opacos, e centenas de aprovações rotineiras treinam os usuários a clicar sem olhar. Mas era o controle que existia, e a razão pela qual a perda foi medida em centenas de milhares, e não em muito mais, é que alguns usuários de fato leram.

A classe, não o incidente

Dependências carregadas em tempo de execução em uma página capaz de solicitar assinaturas são um risco permanente. O reforço relevante está do lado do dapp — fixar versões, integridade de subrecursos, empacotar em vez de carregar por CDN — e é invisível para os usuários, e é por isso que essa classe continua se repetindo.

Linha do tempo

Somente de acréscimo. As correções são adicionadas como entrada datada própria; as entradas anteriores nunca são reescritas.

  1. Uma versão maliciosa do Ledger Connect Kit é publicada no npm e distribuída via CDN aos dapps que a carregam em tempo de execução. Ledger
  2. A Ledger identifica o comprometimento, remove a versão maliciosa e publica uma versão corrigida. O arquivo malicioso ficou no ar por aproximadamente cinco horas. Ledger

O que verificar

A Ledger publicou uma declaração, com link abaixo, com a linha do tempo e as versões afetadas. Os próprios dispositivos Ledger e o aplicativo Ledger Live não foram comprometidos.

A Conisec não hospeda nem linka ferramentas de recuperação, de revogação ou de “verificação”. Depois de um incidente público, atacantes rotineiramente semeiam exatamente esses links usando o nome de publicações que cobrem o caso. Use o canal oficial do próprio projeto afetado, linkado acima, e nada além disso.

Fontes

  1. Ledger, Ledger Connect Kit exploit — official statement (14 dez 2023)

Não é aconselhamento. Este é um resumo de fatos publicados, não orientação jurídica, tributária ou de segurança. Confira nas fontes primárias linkadas acima.

Última verificação por Conisec Staff.

Continue explorando