retornar retornar
Descodificação de ameaças cibernéticas  para 2023

POR:
Habib Gramondi
(Pesquisador de Cibersegurança)

COMPARTILHAR

Twitter Facebook Linkedin

Análise de EEPROM 1-Wire protegidos com SHA-1 e Ataque de Canal Lateral de baixo custo



DS28E01 com um tamanho de 0.6x0.6 cm

Na fase inicial da análise de nossas PCBs (Placas de Circuito Impresso), durante o processo de reversing, costumamos listar os componentes que as integram, mas em alguns casos esses componentes estão nos periféricos dos produtos a serem analisados. Neste post, falaremos sobre os princípios básicos da criptografia e vamos propor um quadro teórico para realizar práticas e técnicas que possam violar a segurança de tais componentes a um custo consideravelmente baixo em comparação com os do mercado atual.

Este é o caso do DS28E01, uma memória EEPROM distribuída pela Maxim Integrated, que, de acordo com seus dados técnicos, foi criada para configuração e monitoramento de cartuchos de impressão em ambientes profissionais (tanto 3D quanto convencionais), autenticação e calibração de sensores médicos e para implementar sistemas de proteção de propriedade intelectual. Além disso, embora em menor medida, pode ser encontrada em ambientes industriais e em tokens para assinaturas digitais.

Mas o que a diferencia das demais EEPROMs mais conhecidas não é apenas seu encapsulamento que, à primeira vista, apresenta apenas dois conectores correspondentes ao protocolo 1-wire, mas também sua segurança baseada em algoritmos criptográficos.

Como descrição geral, o fabricante nos assegura:

“The DS28E01-100 combines 1024 bits of EEPROM with challenge-and-response authentication security implemented with the ISO/IEC 10118-3 Secure Hash Algorithm (SHA-1). The 1024-bit EEPROM array is configured as four pages of 256 bits with a 64-bit scratchpad to perform write operations. All memory pages can be write protected, and one page can be put in EPROM-emulation mode, where bits can only be changed from a 1 to a 0 state. Each DS28E01-100 has its own guaranteed unique 64-bit ROM registration number that is factory lasered into the chip. The DS28E01- 100 communicates over the single-contact 1-Wire® bus. The communication follows the standard 1-Wire protocol with the registration number acting as the node address in the case of a multi device 1-Wire network”



DS28E01 pertencente a um acessório de https://www.3dsystems.com/3d-printers/plastic , infelizmentedano encapsulamento no processo de extração, mas continua funcionando corretamente


1-wire connection


Atualidade


A falsificação de produtos eletrônicos se tornou um grande problema para os fabricantes. De acordo com um relatório do Escritório das Nações Unidas contra Drogas e Crimes, o mercado de produtos falsificados atingiu um valor de US $250 bilhões há mais de uma década. Aproximadamente 8% de todos os produtos falsificados são equipamentos elétricos ou de informática (de acordo com o número de apreensões de falsificações nas fronteiras europeias em 2008). Por isso, proteger os produtos contra a "clonagem" é uma necessidade para os fabricantes hoje em dia.

Dispositivos que consistem em vários componentes de diferentes complexidades parecem ser um alvo rentável para a falsificação, em particular. Por exemplo, embora as impressoras sejam relativamente diferentes entre marcas e modelos, há uma enorme variedade de cartuchos de tinta compatíveis com todas elas, presumivelmente porque os cartuchos são fáceis de produzir e têm uma demanda constante. O mesmo ocorre com itens semelhantes de baixo custo, como acessórios para telefones celulares (por exemplo, carregadores, etc.) e também para equipamentos mais caros, como sensores médicos ou módulos de ampliação de redes para infraestruturas de rede.

(Chair for Embedded Security, Prof. Dr.-Ing. Christof Paar, Ruhr-University Bochum, Germany.)

Para garantir a autenticidade desses componentes, um circuito integrado adicional como o descrito no início do post é colocado no dispositivo que deve ser autenticado. Em seguida, o host (por exemplo, uma impressora, telefone celular ou dispositivo médico) executa um protocolo de autenticação com o CI (Circuito Integrado) para verificar se o componente (por exemplo, um cartucho de tinta, sensor ou bateria) é autêntico. Os algoritmos criptográficos comuns neste campo variam desde AES e SHA-1 até SHA-2 e criptografia de curva elíptica (ECC). Geralmente, a autenticação é unilateral, ou seja, o dispositivo se autentica perante o host, mas não vice-versa.

Como esses dispositivos são frequentemente de custo relativamente baixo, os dispositivos protegidos com esses circuitos integrados estão facilmente disponíveis para uma potencial análise detalhada.

SHA-1



Na criptografia, é conhecido como SHA-1 (Secure Hash Algorithm-1, traduzido como Algoritmo de Hash Seguro) a função de hash criptográfico que recebe uma entrada e produz um valor fixo de 160 bits como mensagem resumida. Esse hash normalmente é representado como um número hexadecimal de 40 dígitos de comprimento. O SHA-1 é baseado em princípios similares aos usados pelo professor Ronald L. Rivest do MIT no design dos algoritmos de resumo de mensagem MD4 e MD5.

Exemplos:

  • SHA1("base") = 1405df66cbe219b0bf6355bc3d60361a8376b6b4
  • SHA1("cuatro") = a37e3bea6f0b7562991701d9211834b3f315ab84
A família SHA é um sistema de funções hash criptográficas desenvolvido pela Agência Nacional de Segurança dos Estados Unidos e publicado pelo National Institute of Standards and Technology (NIST). A primeira dessas funções foi publicada em 1993 com o título Secure Hash Standard, FIPS PUB 180, e é oficialmente conhecida como SHA. Essa função se tornou popular como SHA-0 para evitar confusão com suas sucessoras. Dois anos após o desenvolvimento da primeira função, o primeiro sucessor do SHA foi publicado, recebendo o nome de SHA-1. Desde então, foram publicadas quatro variantes adicionais sob o nome de SHA-2; as diferenças entre elas se baseiam em um design ligeiramente modificado e em faixas de saída aumentadas: são SHA-224, SHA-256, SHA-384 e SHA-512. SHA-3 é o último membro da família, publicado pelo NIST em agosto de 2015; seu algoritmo gera hashes com o mesmo comprimento que o SHA-2 usando um método diferente baseado no algoritmo Keccak.

O processamento SHA-1 é composto por estas 5 etapas:

  • Os bits de preenchimento são adicionados à mensagem de entrada. Esta operação consiste em adicionar um "1" seguido de "0" necessários para completar o bloco de 512 bits. Esse preenchimento serve para ocultar a estrutura e o tamanho do conteúdo, tornando difícil um possível ataque.
  • Um bloco de 64 bits é adicionado, que representa o comprimento da mensagem original antes do preenchimento.
  • A memória temporária é inicializada com 160 bits e sua finalidade é armazenar os resultados intermediários e finais da função de dispersão. É composta por 5 registros (A, B, C, D, E) de 32 bits cada um.
  • A mensagem é processada em blocos de 512 bits. . Cada bloco passa por um módulo composto por 4 rodadas de processamento com 20 etapas cada uma. As rodadas têm uma estrutura semelhante, exceto que cada uma usa uma função lógica primitiva diferente.
  • Depois que todos os blocos de 512 bits são processados, o resumo da mensagem é a saída de 160 bits do último bloco.
SHA-1 difere de SHA-0 apenas por uma única rotação bit a bit na programação de mensagens de sua função de compressão. Isso foi feito para corrigir uma falha no algoritmo original que reduziu sua segurança criptográfica.

A resistência do algoritmo SHA-1 foi comprometida ao longo do ano de 2005, depois que algoritmos como o MD5 foram seriamente comprometidos em 2004 por uma equipe de pesquisadores chineses. Essa equipe, composta por Xiaoyun Wang, Yiqun Lisa Yin e Hongbo Yu, demonstrou sua capacidade de quebrar algoritmos SHA-1 em pelo menos 269 operações, cerca de 2.000 vezes mais rápido do que um ataque de força bruta, que requereria 280 operações. Os ataques mais recentes contra SHA-1 conseguiram enfraquecê-lo até 263, que, embora ainda seja um número alto de operações, está dentro dos limites das capacidades atuais de cálculo, por isso deve ser eliminado gradualmente até 31 de dezembro de 2030, em favor dos grupos de algoritmos mais seguros SHA-2 e SHA-3.

"Recomendamos que qualquer pessoa que confie em SHA-1 para segurança migre para SHA-2 ou SHA-3 o mais rápido possível", disse Chris Celi, cientista da computação do NIST.


Side-Channel Attack

Os ataques por canal lateral (Side-Channel Attacks ou SCA) são ataques não invasivos que se baseiam em atacar a implementação de um algoritmo criptográfico em vez de analisar sua fraqueza estatística ou matemática. Esses ataques exploram as fugas de informação física provenientes de várias fontes ou canais indiretos, como o consumo elétrico do dispositivo a ser analisado, o tempo que ele leva para realizar um cálculo ou a radiação eletromagnética (EM) na qual nos concentraremos neste post.

Esses canais são chamados de "canais secundários". As informações contidas nos parâmetros dos canais secundários dependem dos valores intermediários calculados durante a execução de um criptoalgoritmo e estão correlacionadas com as entradas e a chave secreta da criptografia.

Pode-se extrair efetivamente a chave secreta observando e analisando os parâmetros dos canais laterais/secundários com um equipamento de laboratório correspondente, submetendo os resultados das leituras obtidas a diferentes funções matemáticas em um período de tempo de pesquisa relativamente curto.

A equipe da Georgia Tech concluiu que um invasor levaria até 3.579 vezes mais tempo para descobrir a chave de criptografia de seu circuito, em comparação com um modelo padrão.FOTO: GEORGIA INSTITUTE OF TECHNOLOGY




Como mencionamos, as ondas eletromagnéticas emitidas pelos circuitos integrados em funcionamento são um parâmetro a ser medido. Essas EM são definidas como oscilações sincronizadas de campos elétricos e magnéticos que se propagam à velocidade da luz através do vácuo. Em geral, existem dois tipos de sinais EM:

Emissões intencionais

As emissões eletromagnéticas intencionais são o resultado de correntes aplicadas para fazer com que o dispositivo emita uma resposta eletromagnética. Essas correntes geralmente se apresentam na forma de rajadas curtas que causam uma emissão de alta potência que seria facilmente observável em toda uma banda de frequências. Frequentemente, o fluxo de corrente aplicado é direcionado a uma banda de frequências mais alta para capturar rapidamente a resposta devida ao ruído e outras emissões interferentes em uma banda de frequência inferior. O objetivo de um atacante neste tipo de emissão é isolar a resposta EM da rota de dados crítica que é alvo. Para isso, é necessário um sensor EM diminuto e sensível. O atraso do dispositivo também pode ajudar a melhorar a qualidade do sinal capturado.

Emissões não intencionais

Quando um atacante começa a análise, focar nas emissões não intencionais pode ajudar a identificar rotas críticas e adquirir seus valores de dados. A maior complexidade e o menor tamanho dos circuitos integrados modernos resultam em um acoplamento elétrico e eletromagnético entre componentes, que é um fenômeno incontrolável que pode gerar um sinal comprometedor. Esses componentes podem atuar como moduladores; geram um sinal portador que pode ser interceptado e processado posteriormente para adquirir os dados transportados.



A segurança de um dispositivo contra ataques de canal lateral deve ser avaliada utilizando uma métrica adequada. Existem diferentes métodos para medir o nível de proteção do dispositivo atacado. Esses métodos avaliam a dificuldade de realizar com sucesso um ataque de canal lateral e o tempo necessário para extrair com sucesso informações críticas do dispositivo.

A avaliação da fuga do vetor de teste (TVLA) é um método comum de avaliação para medir o quão fácil é detectar qualquer vazamento de dados em um dispositivo, que é realizada aplicando um conjunto predefinido de entradas de teste, detectando vazamentos e avaliando a capacidade de extrair informações significativas dos traços de canal lateral (EM side-channel Traces (t)).

Isso se baseia no teste de Welch, que é usado para testar a hipótese de que duas populações têm médias iguais quando duas amostras têm variância desigual e tamanho de amostra desigual. No processo de avaliação de canal lateral, n medições são coletadas enquanto o dispositivo está sendo testado com uma chave secreta conhecida. As n medições são submetidas a análise e é determinado se os dois grupos são distinguíveis ou não e se a aplicação tem uma alta probabilidade de vazar informações.

Outro método usado para medir a vulnerabilidade dos canais laterais consiste em aplicar a análise da taxa de sucesso de ataques bem-sucedidos (ou seja, a chave é obtida por meio do ataque) dividida pelo número total de ataques realizados, onde a taxa máxima de 100% significa que o dispositivo é atacado com sucesso sempre que uma análise de canal lateral é aplicada, e o mínimo de 0%, o que significa que o dispositivo está protegido contra todos os ataques. Essa avaliação também pode refletir o tempo necessário para o atacante extrair informações críticas do dispositivo.

A seguir, veremos um esquema de referência com as ferramentas necessárias para realizar essas práticas:



A representação deste gráfico foi recriada com produtos de https://getquote.riscure.com/en/quote/2109316/side-channel-analysis-premium.htm


Sinais EM geralmente se propagam por condução e radiação; como visto no gráfico, esses sinais podem ser interceptados por sensores, como uma sonda de campo próximo ou uma antena, que é montada em uma mesa XYZ, que é basicamente uma plataforma com movimentos cartesianos controlados por software que permitem posicionar nossos sensores EM-Probe milimetricamente sobre os CIs (Circuitos Integrados) a serem analisados, já que esses, em seus encapsulamentos, apresentam áreas mais e menos vulneráveis às leituras EM. O uso desses sensores permite transferir o sinal EM amplificado para um sinal de corrente, que é pós-processado para eliminar o ruído e limitar a banda de frequências para aplicar a análise EM. A qualidade do sinal recebido geralmente melhora se o sensor usado estiver protegido de bandas de frequência indesejadas ou de outras interferências eletromagnéticas.

O pós-processamento do sinal pode incluir a filtragem de bandas de frequência que não estejam relacionadas aos dados críticos, o que requer um conhecimento prévio da banda de frequência que contém as informações.

Para obter esse conhecimento, geralmente se utiliza um analisador de espectro ou um osciloscópio (a capacidade de leitura define seu custo) para identificar os sinais portadores e o ruído; em seguida, é possível ajustar um filtro de pós-processamento apenas para permitir a passagem das informações críticas.



Tipos de análise

  ⦁ Análise Eletromagnética Simples (SEMA)
Na SEMA, é obtida uma única amostra no domínio do tempo para observar e obter conhecimento sobre o dispositivo diretamente. O ataque só é válido quando há um conhecimento prévio sobre a arquitetura do dispositivo ou a política de segurança aplicada. O objetivo principal da SEMA é obter informações críticas por meio da inspeção visual da amostra do sinal EM, onde uma sequência de transições no boot do sistema pode incluir informações sobre a chave secreta usada para criptografar/descriptografar dados. O uso da SEMA geralmente é o primeiro passo do EM SCA, onde é possível observar as informações necessárias para realizar uma análise mais detalhada usando o DEMA.
  ⦁ Análise Eletromagnética Diferencial (DEMA)
DEMA é aplicado ao dispositivo para explorar informações que não podem ser observadas visualmente. Geralmente, DEMA utiliza uma abordagem de autorreferência, que compara a sinal analisado com um equivalente em uma zona diferente do dispositivo (referência espacial), ou em um momento diferente (referência temporal). Esse tipo de análise não requer grandes conhecimentos sobre o dispositivo atacado, e a maior parte da informação pode ser explorada obtendo diferentes formas de sinais EM em locais e momentos diferentes. A análise em DEMA pode ajudar a identificar detalhes funcionais e estruturais do dispositivo objetivo. Também pode rastrear o fluxo de um processo e determinar como um sinal se propaga dentro do dispositivo. Os detalhes obtidos com DEMA podem ajudar na engenharia reversa do dispositivo, ou dar ao atacante a capacidade de desativar fisicamente a política de segurança do sistema..
  ⦁ Análise Eletromagnética Correlacional (CEMA)
Na CEMA, as medições EM são feitas enquanto um algoritmo criptográfico é executado no dispositivo alvo (cada medição é conhecida como uma "trace"), e essas traces são correlacionadas com um modelo de vazamento, como a distância de Hamming dos dados em um ponto específico de um algoritmo, sob a hipótese de um subconjunto da chave secreta. Em um ataque bem-sucedido, a hipótese que resulta na máxima correlação corresponde à chave secreta. Graças à natureza "dividir e conquistar" da análise de canal lateral, o custo de realizar um ataque SCA é linear no tamanho da chave, em vez de exponencial, como na força bruta ou outros métodos de criptoanálise.

Infelizmente, para projetos ou equipes pequenas, os custos dessas implementações, como vemos na tabela, podem ser elevados, mas existem várias pesquisas que documentam alternativas de menor custo e com resultados bem-sucedidos.



Ferramentas de baixo custo para SCA

É proposto um sistema totalmente automatizado para escanear eficientemente um IC criptográfico capaz de realizar as análises vistas anteriormente. Todo o sistema de ataque é de custo extremamente baixo, devido à adaptação de uma impressora 3D Ender-3 de 200 dólares como scanner, em comparação com estações de sondagem EM Riscure disponíveis no mercado por mais de 50.000 dólares. O sistema alcança uma resolução espacial de 100µm e tem um alcance de exploração de 220mm x 220mm, sendo facilmente replicável. Como sonda (EM-Probe), é utilizado o kit Tekbox TBPS0, um Tekbox TWBA2 como amplificador e, finalmente, um Chipwhisperer para conexão com o alvo (o CW309T-XMEGA montado na placa 308 UFO Target), juntamente com um PC. Resultando em uma configuração completa por US$ 630, um pouco mais de 1% do custo de um conjunto comercial.



Para manipular a sonda, a impressora 3D Ender-3 utiliza seu firmware padrão. Esse modelo tem um step size mínimo de 0,1 mm e pode ser controlado por meio de uma conexão USB serial, o que facilita bastante a interconexão. Tem uma velocidade máxima de movimento de 180 mm/s, com um volume de impressão de 220mm x 220mm x 250mm. O firmware é de código aberto e está bem documentado e é possível adaptar o carrinho do eixo X para montar facilmente a sonda e a placa alvo. O sistema é capaz de realizar uma varredura em uma matriz de 30 x 30 do chip em 15 minutos e realizar uma varredura de amplitude em 75 minutos.



A resolução da sonda corresponde à resolução do scanner, permitindo a obtenção de mapas térmicos como vemos nas imagens e o Chipwhisperer é capaz de capturar informações de vazamento suficientes para os dispositivos alvo, oferecendo excelentes resultados a baixo custo.



Conclusão

Agora que conhecemos os princípios básicos de alguns algoritmos de criptografia e a teoria do SCA, podemos voltar ao assunto do post. O que acontece com nosso DS28E01? De acordo com a pesquisa de David Oswald da Universidade de Birmingham, no Reino Unido, que testou o DS28E01 e o DS2432, foram realizados dois ataques bem-sucedidos de recuperação de chaves. Os métodos permitem extrair completamente a chave secreta de 64 bits em cerca de 40 minutos. As técnicas SCA empregadas têm requisitos relativamente baixos para a aquisição de traces (frequência de amostragem de 125 MSPS) e a complexidade dos traces (1.800 e 1.200 traces, respectivamente). Portanto, é concebível que os ataques também possam ser realizados com ferramentas de baixo custo, como as mencionadas anteriormente.

Foram registrados 3.000 traces para um segredo fixo e conhecido, usando desafios aleatórios distribuídos uniformemente. Em seguida, foi realizada a análise CEMA para vários valores intermediários e modelos de vazamento.

Experimentalmente foi comprovado que a fuga de ambos dispositivos segue o peso de Hamming (HD) entre os registros de estado SHA-1. Portanto, os SCA podem representar um grave problema para todas as empresas fabricantes, mesmo se os dispositivos a serem testados contemplarem uma solução para fornecer certa proteção contra a falsificação..

Uma forma adequada de se proteger contra os ataques demonstrados pode ser a seguinte:

Deve ser garantido que não existam as mesmas credenciais em toda a implementação (as mesmos armazenadas em todos os circuitos integrados distribuídos) e que haja uma diversificação segura de chaves (por exemplo, baseada no UID do CI). Caso contrário, um ataque a um único dispositivo tornaria todos os outros inseguros. Note-se que o host correspondente também deve ser protegido, especialmente se armazenar uma chave de diversificação para todo o sistema. Verificar o UID (e usá-lo para a diversificação de chaves) no host também garante que um adversário não possa usar um CI DS28E01/DS2432 real para um produto clonado simplesmente copiando a credencial recuperada e o conteúdo da memória. Para violar esta proteção, seria necessário criar um emulador sob medida, por exemplo, utilizando um microcontrolador ou um ASIC personalizado, o que aumentaria a complexidade e o custo da falsificação, possivelmente até o ponto em que a clonagem deixaria de ser rentável.

A longo prazo, os CIs analisados neste artigo deveriam incluir contramedidas de canal lateral para, pelo menos, evitar as técnicas de SCA de baixo custo e elevar a "barra" em termos de complexidade em direção aos equipamentos de rastreamento e medição. Deveriam adotar as contramedidas comuns (por exemplo, aleatorização do tempo, mascaramento, etc.) em cada um dos casos de autenticação de produtos.

A Maxim Integrated reconheceu os resultados e atualmente está estudando formas de mitigar os problemas de segurança.

References

  • David Oswald, “Side-Channel Attacks on SHA-1-based Product Authentication ICs”, The University of Birmingham, UK.
  • NIST, “SECURE HASH STANDARD” , Federal Information Processing Standards Publication 180-2, 2002 August 1.
  • HanSeop Lim , JongHyeok Lee and Dong-Guk Han, “Novel Fault Injection Attack without Artificial Trigger” Seoul 02707, Korea.
  • Swarup Bhunia, Mark Tehranipoor. “Hardware Security a hands-on learning approach” Cambridge, MA 02139, United States.
  • Debayan Das, Mayukh Nath, Baibhab Chatterjee, Santosh Ghosh, Shreyas Sen “STELLAR: A Generic EM Side-Channel Attack Protection through Ground-Up Root-cause Analysis” School of Electrical and Computer Engineering, Purdue University, USA and Intel Labs, Hillsboro, Oregon, USA.
  • William Unger, Liljana Babinkostova, Mike Borowczak, Robert Erbes, Aparna Srinath “TVLA, Correlation Power Analysis and Side-Channel Leakage Assessment Metrics“.
  • Josef Danial, Debian Das, Santosh Ghosh, Arijit Raychowdhury, Shreyas Sen, “SCNIFFER: Low-Cost, Automated, Efficient Electromagnetic Side-Channel Sniffing” School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN 47906, USA.
  • Pieter Robyns, Peter Quax and Wim Lamotte “Improving CEMA using Correlation Optimization” Hasselt University - tUL, Expertise center for Digital Media Martelarenlaan 42, 3500 Hasselt, Belgium.
  • E. Tena-Sánchez, I. Durán, S. Canas and A. J. Acosta ”Vulnerability Evaluation and Secure Design Methodology of Cryptohardware for ASIC-embedded Secure Applications to Prevent Side-Channel Attacks” Instituto de Microelectrónica de Sevilla.

Otras lecturas de interés: