Data do relatório: 2023-12-20
Data do incidente: 2023-12-14
Tipo de incidente detectado: Acesso não autorizado e código malicioso
Sumário executivo
A Ledger detectou uma exploração usando o Ledger Connect Kit na quinta-feira, 14 de dezembro de 2023. Essa exploração injetou código malicioso dentro de DApps que usavam o Ledger Connect Kit, enganando os usuários do EVM DApp para que assinassem transações que esgotassem suas carteiras. A exploração foi rapidamente detectada e uma resolução foi implementada logo depois. Enquanto isso, um pequeno volume de usuários caiu no ataque e assinou transações que esgotaram suas carteiras.
Timeline
Os horários da linha do tempo são detalhados usando o fuso horário Horário da Europa Central (CET):
2023/12/14: Manhã: Um ex-funcionário da Ledger foi vítima de um sofisticado ataque de phishing que obteve acesso à sua conta NPMJS, contornando o 2FA, usando o token de sessão do indivíduo.
2023/12/14 – 09h49 / 10h44 / 11h37: O invasor publicou no NPMJS (um gerenciador de pacotes para código Javascript compartilhado entre aplicativos) uma versão maliciosa do Ledger Connect Kit (afetando as versões 1.1.5, 1.1.6 e 1.1.7). O código malicioso usou um projeto desonesto WalletConnect para redirecionar ativos para carteiras de hackers.
2023/12/14: 1.45hXNUMX: Ledger foi informado do ataque em andamento graças à reação imediata de diferentes atores do ecossistema, incluindo a Blockaid, que entrou em contato com a equipe Ledger e compartilhou atualizações sobre o X.
2023/12/14: 2.18hXNUMX: As equipes de tecnologia e segurança da Ledger foram alertadas sobre o ataque e uma versão genuína da correção do Ledger Connect Kit foi implantada pelas equipes da Ledger 40 minutos após a Ledger tomar conhecimento. Devido à natureza da CDN (Content Delivery Network) e dos mecanismos de cache na Internet, o arquivo malicioso permaneceu acessível por mais algum tempo. Desde o comprometimento do NPMJS até a resolução completa, se passaram aproximadamente 5 horas. Essa disponibilidade estendida do código malicioso foi resultado do tempo que o CDN levou para propagar e atualizar seus caches globalmente com a versão mais recente e genuína do arquivo. Apesar da presença do arquivo por cinco horas, estimamos, com base em nossa investigação, que o período durante o qual os ativos dos usuários foram ativamente drenados ficou confinado a menos de duas horas no total.
A Ledger coordenou rapidamente com nosso parceiro WalletConnect, que desativou a instância fraudulenta do WalletConnect usada para drenar ativos dos usuários.
2023/12/14: 2.55hXNUMX Sob nossa coordenação, o Tether congelou o USDT do(s) invasor(es) (cf. TX).
Análise de causa raiz, descobertas e medidas de prevenção
Contexto
Ledger Kit de conexão é uma biblioteca de código aberto Java Script que permite aos desenvolvedores conectar seus DApps ao hardware Ledger. Pode ser integrado usando o Carregador de kit de conexão componente que permite que um DApp carregue o Connect-Kit em tempo de execução a partir de um CDN. Isso permite que os desenvolvedores DApp tenham sempre a versão mais recente do Kit de conexão sem a necessidade de atualizar manualmente as versões dos pacotes e lançar novas compilações. O CDN usado pela Ledger para distribuição é o NPMJS. A maioria dos DApps integrou o Kit de conexão usando o Connect-Kit-loader mencionado.
Na exploração do Ledger Connect Kit, o invasor não teve em nenhum momento acesso a nenhuma infraestrutura do Ledger, repositório de código do Ledger ou aos próprios DApps. O invasor conseguiu enviar um pacote de código malicioso dentro do CDN no lugar do próprio Connect-Kit. Este código malicioso do Connect-Kit foi então carregado dinamicamente por DApps que já integram o Connect-Kit-loader.
A exploração do Ledger Connect Kit destaca os riscos que a Ledger e a indústria enfrentam coletivamente para proteger os usuários, e também é um lembrete de que, coletivamente, precisamos continuar a elevar o padrão de segurança em torno dos DApps, onde os usuários se envolverão em assinaturas baseadas no navegador. Foi o serviço Ledger que foi explorado desta vez, mas no futuro isso poderá acontecer com outro serviço ou biblioteca.
Causa raiz
Para poder enviar o pacote de código malicioso ao NPMJS, o invasor phishing um ex-funcionário para aproveitar o acesso do indivíduo ao NPMJS. O acesso do ex-funcionário aos sistemas do Ledger (incluindo Github, serviços baseados em SSO, todas as ferramentas internas do Ledger e ferramentas externas) foi devidamente revogado, mas infelizmente o acesso dos ex-funcionários ao NPMJS não foi devidamente revogado.
Podemos confirmar que este foi um infeliz incidente isolado. Os acessos à infraestrutura da Ledger por funcionários da Ledger são automaticamente revogados durante a saída dos funcionários, no entanto, devido à forma como os serviços e ferramentas de tecnologia atuais operam globalmente, não podemos revogar automaticamente o acesso a determinadas ferramentas externas (incluindo NPMJS), e estas devem ser tratadas manualmente com um lista de verificação de desligamento de funcionários para cada indivíduo. A Ledger tem um procedimento de desligamento existente e atualizado regularmente, onde removemos os funcionários que estão saindo de todas as ferramentas externas. Neste caso individual, o acesso não foi revogado manualmente no NPMJS, o que lamentamos, e estamos auditando com um parceiro externo.
Este foi um ataque sofisticado conduzido pelo invasor. Apesar de ter aplicado a autenticação de dois fatores (2FA) na conta alvo do NPMJS, o que normalmente impediria muitas tentativas, o invasor contornou essa medida de segurança explorando uma chave API associada à conta do ex-funcionário.
Este ataque específico permitiu que o invasor carregasse uma nova versão maliciosa do Ledger Connect Kit que continha o que é conhecido como malware Angel Drainer. Angel Drainer é um malware como serviço projetado especificamente para criar transações maliciosas que drenam carteiras quando assinadas. É uma infraestrutura completa especializada em cadeias EVM que implanta contratos inteligentes sob demanda e cria transações personalizadas para maximizar os danos.
Infelizmente, NPMJS. com não permite multi-autorização ou verificação de assinatura para automático publicação. Estamos trabalhando para adicionar mecanismos ad hoc que imponham controles adicionais na fase de implantação.
Descobertas
Este foi um ataque bem preparado executado por invasor(es) experiente(s). A técnica de phishing implementada não se concentrou nas credenciais, que é o que vemos na maioria dos ataques Front-End que afetam o ecossistema, mas em vez disso o invasor trabalhou diretamente no token da sessão.
O malware usado foi Angel Drainer, e a equipe de segurança da Ledger viu nos últimos três meses um aumento de atividades criminosas usando esse malware (consulte este artigo publicado Relatório de bloqueio). Também podemos ver na rede que os fundos roubados estão sendo divididos: 85% para o explorador e 15% para Angel Drainer, o que pode ser visto como um malware como serviço.
Este Angel Drainer engana os usuários para que assinem diferentes tipos de transações, dependendo do tipo de ativo que está visando no momento. Para tokens ERC20 e NFT, solicita que os usuários assinem aprovação e autorização mensagens. Para tokens nativos, o drenador pede ao usuário para assinar uma transação de “reivindicação” falsa onde o reivindicar O método simplesmente varre os fundos, ou simples transferências de tokens que podem ser varridas posteriormente, implantando um contrato inteligente no endereço correspondente.
É por isso que continuamos incentivando a Clear Signing como indústria, para que os usuários possam verificar o que veem em um display confiável em seu dispositivo de hardware Ledger.
Ações corretivas
As equipes de segurança e tecnologia da Ledger, incluindo a equipe executiva da Ledger, estão atualmente revisando e auditando todos os nossos controles de acesso nas ferramentas e sistemas internos e externos da Ledger que usamos.
A Ledger reforçará suas políticas quando se trata de revisão de código, implantação, distribuição e controles de acesso, incluindo a adição de todas as ferramentas externas às nossas verificações de manutenção e desligamento. Continuaremos a generalizar a assinatura de código quando for relevante. Além disso, estamos realizando auditorias internas recorrentes para garantir que isso seja implementado corretamente.
A Ledger já organiza sessões de treinamento em segurança, incluindo treinamento em phishing. O programa de formação em segurança interna também será reforçado no início de 2024 para todos os colaboradores dos respetivos departamentos. A Ledger já organiza avaliações regulares de segurança de terceiros e continuará a priorizar essas avaliações.
No início de 2024, será realizada uma auditoria específica de terceiros com foco no controle de acesso, promoção e distribuição de códigos.
Além disso, reforçaremos nossos sistemas de monitoramento e alerta de infraestrutura para podermos detectar e reagir ainda mais rapidamente a futuros incidentes.
Por fim, reforçaremos a prevenção da assinatura cega, removendo-a como uma opção para os usuários do Ledger, a fim de garantir práticas de segurança máximas e educar os usuários sobre o impacto potencial da assinatura de transações sem uma exibição segura ou sem entender o que estão assinando ao não usar Assinatura clara.
Agradecemos novamente aos nossos parceiros no ecossistema por trabalharem rapidamente com as equipes da Ledger na identificação e resolução da exploração.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://www.ledger.com/blog/security-incident-report
- :tem
- :é
- :não
- :onde
- 09
- 1
- 10
- 11
- 15%
- 2023
- 2024
- 26
- 2FA
- 40
- 51
- 53
- 7
- a
- Capaz
- Acesso
- acessível
- Conta
- ativamente
- atividades
- atores
- Ad
- acrescentando
- Adição
- Adicionalmente
- endereço
- afetando
- Depois de
- novamente
- Todos os Produtos
- permitir
- Permitindo
- permite
- já
- tb
- sempre
- an
- análise
- e
- Anjo
- Outro
- qualquer
- api
- aproximadamente
- Aplicativos
- SOMOS
- por aí
- AS
- avaliações
- ativo
- Ativos
- associado
- At
- ataque
- Ataques
- Tentativas
- auditor
- auditoria
- auditorias
- Autenticação
- automaticamente
- disponibilidade
- consciente
- Barra
- baseado
- BE
- tornando-se
- ser
- entre
- cego
- brevemente
- Constrói
- mas a
- by
- CAN
- não podes
- casas
- Causar
- central
- certo
- correntes
- Cheques
- remover filtragem
- código
- Revisão de código
- coletivamente
- vem
- completar
- componente
- conduzido
- condutor
- Confirmar
- Contato
- contida
- conteúdo
- continuar
- contract
- contratos
- ao controle
- controles
- coordenado
- coordenação
- Correspondente
- poderia
- artesanato
- Credenciais
- Criminal
- Atual
- Atualmente
- dano
- dapp
- Desenvolvedores DApp
- DApps
- Dezembro
- Entrega
- Demanda
- departamentos
- Dependendo
- implantado
- Implantação
- desenvolvimento
- implanta
- projetado
- Apesar de
- detalhado
- descobrir
- detectou
- desenvolvedores
- dispositivo
- DID
- diferente
- diretamente
- inválido
- Ecrã
- distribuição
- parece
- duplo
- down
- drenar
- drenado
- dois
- durante
- dinamicamente
- cada
- Cedo
- ecossistema
- educar
- ou
- Empregado
- colaboradores
- habilitado
- encorajar
- impor
- engajar
- garantir
- ERC20
- estimativa
- Éter (ETH)
- Europa
- Mesmo
- EVM
- executado
- executivo
- existente
- experiente
- Explorar
- exploradas
- opção
- externo
- Rosto
- falsificação
- mais rápido
- Envie o
- descobertas
- cinco
- Fixar
- Foco
- focado
- Escolha
- Antigo
- da
- fundos
- fundos roubados
- mais distante
- futuro
- ganhou
- genuíno
- GitHub
- Globalmente
- acontecer
- Hardware
- dispositivo de hardware
- Ter
- ter
- destaques
- hora
- HORÁRIO
- Como funciona o dobrador de carta de canal
- Contudo
- http
- HTTPS
- identificar
- Impacto
- implementado
- in
- incidente
- incidentes
- incluído
- Incluindo
- Crescimento
- Individual
- indústria
- Infraestrutura
- dentro
- instância
- em vez disso
- integrar
- integrado
- interno
- Internet
- para dentro
- investigação
- isolado
- IT
- ESTÁ
- se
- Java
- JavaScript
- Chave
- de emergência
- mais tarde
- mais recente
- Ledger
- menos
- Alavancagem
- Biblioteca
- pequeno
- carregar
- mais
- Baixo
- moldadas
- manutenção
- fazer
- malwares
- Gerente
- manualmente
- muitos
- max-width
- Maximizar
- enquanto isso
- a medida
- mecanismos
- mencionado
- mensagens
- minutos
- monitoração
- mês
- manhã
- a maioria
- devo
- nativo
- Natureza
- você merece...
- rede
- Novo
- NFT
- tokens nft
- normalmente
- of
- on
- Na cadeia
- contínuo
- aberto
- open source
- operar
- Opção
- or
- ordem
- organiza
- A Nossa
- Fora
- pacote
- parceiro
- Parceiros
- festa
- passou
- passado
- Phishing
- ataque de phishing
- Lugar
- platão
- Inteligência de Dados Platão
- PlatãoData
- por favor
- pm
- políticas
- potencial
- práticas
- preparado
- presença
- impedindo
- Priorizar
- procedimentos
- Agenda
- projeto
- promoção
- devidamente
- proteger
- publicado
- Empurrar
- rapidamente
- aumentar
- alcançado
- Reagir
- reação
- recentemente
- recorrente
- referir
- a que se refere
- lamentar
- regular
- regularmente
- reforçar
- liberar
- relevante
- permaneceu
- lembrete
- remover
- removendo
- Denunciar
- repositório
- pedidos
- Resolução
- resolver
- aqueles
- resultar
- rever
- revendo
- riscos
- s
- escrita
- seguro
- segurança
- Vejo
- visto
- serviço
- Serviços
- Sessão
- sessões
- compartilhado
- assinar
- assinatura
- assinado
- assinatura
- simples
- simplesmente
- smart
- smart contract
- Smart Contracts
- So
- sofisticado
- fonte
- especializado
- específico
- especificamente
- divisão
- Etapa
- começo
- roubado
- certo
- rapidamente
- sistemas
- adaptados
- tomado
- visadas
- alvejando
- Profissionais
- equipes
- técnica
- Tecnologia
- Tether
- do que
- obrigado
- obrigado
- que
- A
- O Futuro
- deles
- si mesmos
- então
- Este
- deles
- Terceiro
- isto
- três
- quinta-feira
- tempo
- para
- token
- Tokens
- ferramentas
- Total
- Training
- transação
- Transações
- fáceis
- confiável
- dois
- tipo
- tipos
- compreensão
- infeliz
- infelizmente
- Atualizar
- Atualizações
- USDT
- usar
- usava
- Utilizador
- usuários
- utilização
- máximo
- Verificação
- verificar
- versão
- Vítima
- volume
- Wallet
- Carteiras
- foi
- we
- BEM
- foram
- O Quê
- O que é a
- quando
- qual
- QUEM
- porque
- precisarão
- janela
- de
- dentro
- sem
- trabalhou
- trabalhar
- seria
- X
- zefirnet