A ELLIPAL lançou sua primeira carteira fria em 2018 e instantaneamente se tornou a onda líder na nova geração de carteiras de hardware. Graças ao modelo de segurança exclusivo da ELLIPAL e à facilidade de uso, atraiu muita atenção de usuários e de outros fabricantes de carteiras de hardware. Atualmente, o segundo modelo da ELLIPAL, a ELLIPAL Titan, está se tornando a melhor solução de carteira fria móvel e com isolamento de ar.
Após o lançamento do nosso modelo original — o ELLIPAL EC01 atraiu a atenção da Ledger, que estava interessada no modelo de segurança da ELLIPAL. A Ledger realizou um teste de segurança no ELLIPAL EC01 e ativou a cláusula de recompensa da ELLIPAL, na qual os recompensamos por encontrar a vulnerabilidade. A Ledger apresentou o resultado na Convenção Breaking Bitcoin 2019. Um resumo do estudo e a resposta da ELLIPAL às descobertas podem ser vistos na tabela abaixo. Observe que a Ledger não extraiu nenhuma seed do ELLIPAL EC01.

Descobertas da Ledger
Segurança de hardware
A fraqueza mais comum para quase todas, se não todas, as carteiras de hardware são os ataques físicos. Um ataque físico ocorre quando um hacker obtém acesso físico ao seu dispositivo e planeja um ataque. Isso pode incluir ataques como ataques à cadeia de suprimentos (por exemplo, malware instalado antes do envio ao usuário final) ou ataques de "evil maid" (por exemplo, hackear fisicamente o dispositivo quando o proprietário não está por perto). Este estudo revela a fraqueza do ELLIPAL EC01 contra esses ataques.
1) Encontrando a interface UART
UART significa Transmissor/Receptor Assíncrono Universal. É uma interface para que os eletrônicos se comuniquem e é muito comum em todos os dispositivos eletrônicos. Neste caso, a Ledger identificou uma porta UART no ELLIPAL e conseguiu receber saídas de sinal. Essas saídas são consideradas no relatório como "úteis para um invasor", por exemplo, um ataque de engenharia reversa (explicado na próxima parte).
A partir daí, a Ledger acessou a reinicialização de fábrica do dispositivo ELLIPAL EC01 e conseguiu localizar as capacidades de WiFi da placa-mãe através do software. Através do modo de fábrica, o componente WiFi conseguiu se conectar ao ponto de acesso quando uma antena externa foi conectada. No entanto, a Ledger não verificou se o sistema Android fortemente personalizado do ELLIPAL suporta WiFi.
2) Interface USB
A porta USB do ELLIPAL serve apenas para carregar. Não há conexão entre a porta USB e a CPU principal. No entanto, os sinais de dados da porta USB podem ser soldados à placa-mãe principal e fazer com que ela se comunique com a CPU, criando uma porta USB modificada. Esta nova porta USB torna-se uma conexão do ELLIPAL com o mundo exterior. O firmware da ELLIPAL poderia ser alvo de engenharia reversa e ser despejado no ELLIPAL EC01 para extrair seeds. No entanto, este ponto é uma teoria e não foi testado.
Com acesso físico ao dispositivo ELLIPAL, é possível um cenário de cadeia de suprimentos ou um ataque de "evil maid". Um hacker pode reativar o WiFi no dispositivo e conectá-lo à internet. O hacker pode então tentar fazer engenharia reversa no firmware da ELLIPAL e despejar o firmware falso no dispositivo. Com a combinação desses dois esforços, o hacker pode fazer com que o firmware extraia a seed e a envie via WiFi para o hacker. Se o seu ELLIPAL for perdido ou roubado, essa vulnerabilidade pode ocorrer.
Segurança de software
A Ledger realizou um breve teste de segurança de software e não encontrou nenhuma vulnerabilidade.
3) Mecanismo de atualização
O arquivo de atualizações do ELLIPAL é criptografado para garantir que apenas arquivos de atualização genuínos possam ser copiados para o ELLIPAL. Neste estudo, a Ledger identificou o mecanismo de criptografia ECB que o ELLIPAL usa como "não sendo uma boa prática", no entanto, eles não conseguiram carregar nenhum firmware modificado através do mecanismo de atualização. O ELLIPAL possui criptografia de várias camadas e não é fraco, como alegado. Os usuários podem verificar a ferramenta de verificação de arquivo de atualização de código aberto no Github.
Principais conclusões
Após o estudo da carteira ELLIPAL EC01, foram encontradas vulnerabilidades no lado do hardware da carteira, onde a exploração dos componentes UART e WiFi é possível. Um possível ataque inclui fazer um ataque de despejo para instalar firmware falso através da porta USB modificada. O firmware falso pode ser programado para roubar a chave privada e enviá-la de volta ao invasor quando o dispositivo se conecta à internet via WiFi.
Não é possível instalar firmware falso através do mecanismo de atualização, como provado pela Ledger. A única maneira de explorar o ELLIPAL EC01 é ter acesso físico e tempo suficiente para fazer o seguinte:
1) Modificar a porta UART e USB.
2) Instalar firmware falso através da porta modificada.
3) Acessar o modo de reinicialização de fábrica e ativar o WiFi.
4) Conectar uma antena para receber o sinal WiFi.
5) Montar tudo de volta sem que o usuário suspeite.
Resposta da ELLIPAL
Antes da Ledger publicar o estudo, a ELLIPAL já havia preparado uma atualização de segurança suficiente para combater a falha de segurança. Após a publicação, a ELLIPAL lançou seu firmware v.2.0, que garantiu que um ataque de despejo não fosse possível e preveniu qualquer modificação. No entanto, estamos confiantes de que isso não será suficiente para nós ou para a comunidade, que vê a segurança como a principal prioridade. Essa paixão por uma segurança melhor levou à remodelação da carteira fria ELLIPAL.
ELLIPAL Titan
Em setembro de 2019, a ELLIPAL lançou seu mais novo modelo de carteira fria, que é a carteira fria ELLIPAL Titan. Construída com base nas vulnerabilidades encontradas no modelo EC01 anterior, a ELLIPAL Titan é segura contra ataques remotos e ataques físicos.
Melhorias de hardware
A ELLIPAL Titan foi redesenhada para garantir que hackers não consigam acessar a placa-mãe da ELLIPAL e modificar a UART para acessar a reinicialização de fábrica. Originalmente, o ELLIPAL EC01 abrigava sua placa-mãe dentro de uma caixa plástica que podia ser aberta desparafusando os parafusos. Na ELLIPAL Titan, a placa-mãe está dentro de uma caixa metálica fortemente selada, projetada para nunca ser aberta. O selo é tão forte que possui classificação IP65 de resistência à poeira e à água. A caixa metálica também é forte o suficiente para suportar um carro passando por cima dela sem sofrer danos. Devido à resistência do hardware, forçar a abertura do dispositivo é muito difícil e deixará danos permanentes, alertando o usuário.
Além disso, a ELLIPAL Titan inclui um mecanismo anti-violação que ajuda a proteger seus dados sensíveis. Quando o dispositivo ELLIPAL Titan detecta uma violação do hardware, o sistema se autoexcluirá automaticamente para tornar a unidade inutilizável e seus dados inacessíveis.
Melhorias “air-gapped”
Tomamos medidas adicionais para garantir que a ELLIPAL Titan seja 100% air-gapped, sem nenhuma forma de ser modificada. Garantimos que a ELLIPAL Titan não tenha nenhum componente ou porta disponível para se conectar à internet ou a outro dispositivo.
Substituímos todo o chipset para garantir que nenhuma conexão seja possível. O novo chipset, (Allwinner A64), não suporta nenhuma conexão de rede como 4G, Bluetooth e Wi-Fi. Também removemos a porta USB e a substituímos por uma porta de carregamento por contato. A ELLIPAL Titan agora tem a garantia de nunca conseguir se conectar a outro dispositivo para exportar ou importar informações.
Informações adicionais
Houve muito debate em torno da ideia de uma carteira (ou tudo relacionado à blockchain) ser de código aberto. O código-fonte aberto é um pedaço de código que pode ser revisado pelo público. Se houver algo suspeito ou um erro, o público pode alertar diretamente a empresa proprietária do código. Muitas pessoas veem isso como uma vantagem de segurança porque o código-fonte aberto pode provar que a empresa não tem intenções maliciosas em relação ao usuário e é transparente.
Por outro lado, ser de código aberto pode facilmente levar o código a ser copiado, reproduzido e editado para uma versão maliciosa. Com acesso físico, um ataque de despejo pode acontecer com uma carteira de hardware de código aberto. Uma certa carteira de hardware de código aberto já experimentou esse tipo de ataque.
Entre várias razões de segurança, a ELLIPAL escolhe ser de código fechado, mas mantém as partes importantes de código aberto para que os usuários verifiquem nossa segurança. Em primeiro lugar, a ELLIPAL atraiu alguns argumentos visando nosso sistema de geração de código QR, se ele pode vazar chaves privadas ou não. A resposta simples é não, e isso pode ser provado.
A transferência de dados da ELLIPAL do hardware para o aplicativo é baseada em código QR de formato aberto (https://github.com/ELLIPAL/air-gapped_qrcode_data_format). A leitura do código QR também é controlada manualmente pelo usuário. Todos os dados transferidos dependem inteiramente da leitura do usuário, e não haverá dados ocultos. Todos podem verificar os dados do código QR. Fornecemos uma biblioteca Javascript de código aberto (https://github.com/ELLIPAL/js-ellipal). A assinatura ou nonce transferidos da carteira de hardware podem ser verificados no código QR a qualquer momento.
Outra preocupação é sobre a criação de chaves privadas. As pessoas costumam dizer que carteiras de código fechado podem dar chaves privadas pré-geradas aos usuários, e não há como os usuários verificarem isso. A ELLIPAL não tem intenções maliciosas para com nossos usuários, mas não temos um código-fonte aberto para nos apoiar. No entanto, permitimos que os usuários importem suas próprias chaves privadas confiáveis para serem mantidas em segurança na ELLIPAL. Esse recurso de importação não está disponível em muitas carteiras e torna a ELLIPAL única. Não forçamos nossos usuários a confiar em nossas chaves privadas geradas. Se você não confia na ELLIPAL, use suas próprias chaves privadas. Uma solução mais simples é usar uma frase secreta e tornar o conjunto de mnemônicos exclusivo para você.
Por último, mas não menos importante, as pessoas afirmam que as carteiras de hardware de código fechado podem enviar as chaves privadas dos usuários de volta ao fabricante. Isso é impossível para a ELLIPAL porque ela já é 100% livre de conexão, o que significa que suas chaves não podem ser enviadas para nenhum lugar. A única saída para a ELLIPAL é através do código QR. Isso não é uma preocupação para os usuários, pois essa parte do código é de formato aberto e pode ser verificada.
Existem também outros códigos, como a ferramenta de verificação de arquivos de atualização e muito mais disponíveis no Github da ELLIPAL.
Conclusão
A Ledger identificou vetores de vulnerabilidade na ELLIPAL e nos permitiu corrigir a vulnerabilidade para manter nosso ecossistema de criptomoedas seguro. Concluíremos os problemas encontrados e como a ELLIPAL os resolveu.
1) UART encontrada e capaz de acessar o modo de redefinição de fábrica para ativar a capacidade WiFi da CPU.
Resposta da ELLIPAL:
Use um chipset totalmente novo para a ELLIPAL Titan, que não possui capacidade de conexão.
Incluir recursos anti-violação e anti-desmontagem para evitar que hackers tenham acesso à CPU.
2) A interface USB pode ser modificada para realizar um ataque de despejo
Resposta da ELLIPAL:
A ELLIPAL Titan substituiu uma porta de carregamento USB por uma porta de carregamento por contato. Mais importante ainda, o recurso anti-desmontagem evitará que a porta seja modificada em primeiro lugar.
Quase todas as carteiras de hardware são vulneráveis quando um invasor obtém acesso físico a elas. A ELLIPAL foi além para evitar que isso aconteça, garantindo que você ainda esteja protegido mesmo que sua ELLIPAL Titan seja roubada ou perdida. A ELLIPAL Titan também é 100% isolada, garantindo que suas chaves privadas estejam sempre seguras e isoladas dentro da ELLIPAL Titan.
Qualquer dúvida, entre em contato: cs@ellipal.com





1 comentário
Nice job