A ELLIPAL lançou sua primeira carteira fria em 2018 e instantaneamente se tornou a líder da nova geração de carteiras de hardware. Graças ao modelo de segurança exclusivo e à facilidade de uso da ELLIPAL, ela atraiu muita atenção de usuários e de outros fabricantes de carteiras de hardware. Atualmente, o segundo modelo da ELLIPAL, o ELLIPAL Titan, está se destacando por se tornar a melhor solução de carteira fria móvel e isolada.
Após o lançamento do nosso modelo original — a 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 na ELLIPAL EC01 e ativou a cláusula de recompensa por vulnerabilidades da ELLIPAL, pela qual os recompensamos por encontrarem a vulnerabilidade. A Ledger apresentou o resultado na Convenção Breaking Bitcoin de 2019Um resumo do estudo e da resposta da ELLIPAL às descobertas pode ser visto na tabela abaixo. Observe que a Ledger não extraiu nenhuma semente da ELLIPAL EC01.

Descobertas da Ledger
Segurança do hardware
A vulnerabilidade mais comum em quase todas, senã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 à cadeia de suprimentos (por exemplo, malware instalado antes do envio ao usuário final) ou ataques do tipo “empregada mal-intencionada” (por exemplo, invadir fisicamente o dispositivo quando o proprietário não está por perto). Este estudo revela a vulnerabilidade da ELLIPAL EC01 a esse tipo de ataque.
1) Localizando a interface UART
UART significa Transmissor/Receptor Assíncrono Universal. É uma interface para que dispositivos eletrônicos se comuniquem entre si e é muito comum em todos os dispositivos eletrônicos. Neste caso, a Ledger identificou uma porta UART na ELLIPAL e conseguiu receber sinais de saída. Segundo o relatório, essas saídas são “úteis para um invasor”, por exemplo, em um ataque de engenharia reversa (explicado na próxima parte).
A partir daí, a Ledger acessou o modo de reinicialização de fábrica do dispositivo ELLIPAL EC01 e conseguiu localizar os recursos de Wi-Fi da placa-mãe por meio do software. No modo de fábrica, o componente Wi-Fi conseguiu se conectar ao ponto de acesso quando uma antena externa foi conectada. Ainda assim, a Ledger não verificou posteriormente se o sistema Android altamente personalizado da ELLIPAL é compatível com Wi-Fi.
2) Interface USB
A porta USB da ELLIPAL serve apenas para carregamento. 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 fazê-la se comunicar com a CPU, criando uma porta USB modificada. Essa nova porta USB torna-se uma conexão da ELLIPAL com o mundo externo. O firmware da ELLIPAL poderia sofrer engenharia reversa e ser transferido para a ELLIPAL EC01 para extrair sementes. Ainda assim, isso é apenas uma teoria e não foi testado.
Com acesso físico no dispositivo ELLIPAL, é possível ocorrer um cenário de ataque à cadeia de suprimentos ou de “empregada mal-intencionada”. Um hacker poderia reativar o Wi-Fi no dispositivo e conectá-lo à internet. Em seguida, poderia tentar fazer engenharia reversa do firmware da ELLIPAL e instalar o firmware falso no dispositivo. Com a combinação desses dois esforços, o hacker poderia fazer com que o firmware extraísse a seed e a enviasse ao hacker por Wi-Fi. Se sua ELLIPAL for perdida ou roubada, essa vulnerabilidade poderá ser explorada.
Segurança do software
A Ledger realizou um teste breve na segurança do software e não encontrou nenhuma vulnerabilidade.
3) Mecanismo de atualização
O arquivo de atualização da ELLIPAL é criptografado para garantir que somente arquivos de atualização genuínos possam ser copiados para a ELLIPAL. Nesse estudo, a Ledger identificou o mecanismo de criptografia ECB usado pela ELLIPAL como uma “prática inadequada”; no entanto, não conseguiu carregar nenhum firmware modificado pelo mecanismo de atualização. A ELLIPAL utiliza criptografia em várias camadas e não é vulnerável, como alegado. Os usuários podem consultar a ferramenta de verificação de arquivos de atualização de código aberto no Github.
Principais conclusões
Após o estudo da carteira ELLIPAL EC01, foram encontradas vulnerabilidades no hardware da carteira, possibilitando a exploração dos componentes UART e Wi-Fi. Um possível ataque inclui realizar um ataque de despejo para instalar um firmware falso pela 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 conectar à internet via Wi-Fi.
Não é possível instalar um firmware falso pelo mecanismo de atualização, conforme comprovado pela Ledger. A única maneira de explorar a ELLIPAL EC01 é obter acesso físico e tempo suficiente para fazer o seguinte:
1) Modificar as portas UART e USB.
2) Instalar um firmware falso pela porta modificada.
3) Acessar o modo de reinicialização de fábrica e ativar o Wi-Fi.
4) Conectar uma antena para receber o sinal de Wi-Fi.
5) Recolocar tudo no lugar sem levantar suspeitas no usuário.
Resposta da ELLIPAL
Antes de a 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 nosso firmware v.2.0, que garantiu que um ataque de despejo não fosse possível e impediu qualquer modificação. No entanto, temos certeza de que isso não será suficiente para nós nem para a comunidade, que considera a segurança a prioridade máxima. Essa busca por uma segurança melhor levou à reformulação da carteira fria ELLIPAL.
ELLIPAL Titan
Em setembro de 2019, a ELLIPAL lançou seu mais novo modelo de carteira fria, a carteira fria ELLIPAL Titan. Desenvolvida com base nas vulnerabilidades encontradas no modelo EC01 anterior, a ELLIPAL Titan é protegida contra ataques remotos e físicos.
Melhorias de hardware
A ELLIPAL Titan foi remodelada para garantir que hackers não possam acessar a placa-mãe da ELLIPAL e modificar a UART para acessar a reinicialização de fábrica. Originalmente, a ELLIPAL EC01 abriga sua placa-mãe dentro de um invólucro plástico que pode ser aberto removendo os parafusos. Na ELLIPAL Titan, a placa-mãe fica dentro de um invólucro metálico firmemente selado, projetado para nunca ser aberto. A vedação é tão resistente que o dispositivo tem classificação IP65 contra poeira e água. O invólucro metálico também é forte o suficiente para suportar a passagem de um carro por cima 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 antiviolação que ajuda a proteger seus dados confidenciais. Quando o dispositivo ELLIPAL Titan detecta uma violação do hardware, o sistema se apaga automaticamente, tornando a unidade inutilizável e impedindo o acesso aos seus dados.
Melhorias “Air-gapped”
Fomos além para garantir que a ELLIPAL Titan seja 100% isolada de redes, sem possibilidade de ser modificada. Garantimos que a ELLIPAL Titan não tenha componentes ou portas disponíveis para se conectar à internet ou a outro dispositivo.
Substituímos todo o chipset para garantir que nenhuma conexão fosse possível. O novo chipset, (Allwinner A64), não é compatível com 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. Agora, a ELLIPAL Titan 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 de qualquer coisa relacionada à blockchain) ser de código aberto. O código aberto é um código que pode ser revisado pelo público. Se houver algo suspeito ou um erro, o público pode entrar em contato diretamente com a empresa proprietária do código. Muitas pessoas veem isso como uma vantagem de segurança, pois o código aberto pode provar que a empresa não tem objetivos maliciosos em relação ao usuário e é transparente.
Por outro lado, ser de código aberto pode facilmente levar à cópia, reprodução e edição do código, transformando-o em uma versão maliciosa. Com acesso físico, um ataque de extração pode ocorrer com uma carteira de hardware de código aberto. Uma determinada carteira de hardware de código aberto já sofreu esse tipo de ataque.
Por diversos motivos de segurança, a ELLIPAL opta por ser de código fechado, mas mantém as partes importantes em código aberto para que os usuários possam verificar nossa segurança. Em primeiro lugar, a ELLIPAL recebeu algumas críticas direcionadas ao nosso sistema de geração de códigos QR, questionando se ele pode vazar chaves privadas. A resposta simples é não, e isso pode ser comprovado.
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 feita pelo 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 o nonce transferido para fora da carteira de hardware pode ser verificado no código QR a qualquer momento.
Outra preocupação é a criação de chaves privadas. As pessoas costumam dizer que carteiras de código fechado podem fornecer chaves privadas pré-geradas aos usuários, sem nenhuma maneira de verificá-las. A ELLIPAL não tem nenhuma intenção maliciosa em relação aos nossos usuários, mas não temos um código-fonte aberto para nos respaldar. Ainda assim, permitimos que os usuários importem suas próprias chaves privadas confiáveis para mantê-las seguras na ELLIPAL. Esse recurso de importação não está disponível em muitas carteiras e torna a ELLIPAL única. Não obrigamos nossos usuários a confiar nas chaves privadas geradas por nós. Se você não confia na ELLIPAL, use suas próprias chaves privadas. Outra solução mais simples é usar uma senha adicional e tornar o conjunto de palavras mnemônicas exclusivo para você.
Por último, algumas pessoas afirmam que carteiras de hardware de código fechado podem enviar as chaves privadas dos usuários de volta ao fabricante. Isso é impossível na ELLIPAL, pois ela já é 100% livre de conexões, o que significa que suas chaves não podem ser enviadas a lugar algum. A única saída da ELLIPAL é por meio do código QR. Isso não é motivo de preocupação para os usuários, pois essa parte do código está em formato aberto e pode ser verificada.
Também há outros códigos, como a ferramenta de verificação de arquivos de atualização e muito mais, disponíveis em GitHub da ELLIPAL.
Conclusão
A Ledger identificou vetores de vulnerabilidade na ELLIPAL e nos permitiu corrigi-los para manter nosso ecossistema de criptomoedas seguro. Apresentaremos os problemas encontrados e como a ELLIPAL os corrigiu.
1) Foi encontrada uma UART capaz de acessar o modo de restauração de fábrica para ativar o recurso Wi‑Fi da CPU.
Resposta da ELLIPAL:
Usa um chipset totalmente novo na ELLIPAL Titan, que não possui nenhum recurso de conexão.
Inclui recursos antiviolação e antidesmontagem para impedir que hackers tenham acesso à CPU.
2) A interface USB pode ser modificada para realizar um ataque de extração de dados
Resposta da ELLIPAL:
A ELLIPAL Titan substituiu uma porta de carregamento USB por uma porta de carregamento por contato. Mais importante ainda, o recurso antidesmontagem impedirá que a porta seja modificada.
Quase todas as carteiras de hardware ficam 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ê continue protegido mesmo se sua ELLIPAL Titan for roubada ou perdida. A ELLIPAL Titan também é 100% isolada de redes, garantindo que suas chaves privadas permaneçam sempre seguras e isoladas dentro da ELLIPAL Titan.
Em caso de dúvidas, entre em contato: cs@ellipal.com




