Pesquisadores de universidades nos EUA e em Israel publicaram um artigo descrevendo um método de “criptanálise baseada em vídeo”. Este termo está longe de ser fácil de entender, assim como o próprio artigo. Mas, como sempre, tentaremos explicar tudo em linguagem simples.
Ataque de criptoanálise baseado em vídeo
Vamos imaginar um ataque real usando essa tecnologia. Pode ser o seguinte. Intrusos obtêm acesso ao sistema de vigilância por vídeo em um prédio corporativo. Uma das câmeras está apontada para a porta de um depósito de alta segurança para, digamos, documentos secretos. Na porta há um leitor de smart card. Um funcionário da empresa se aproxima da porta e insere seu cartão; a fechadura abre.
O cartão inteligente contém um microchip que fala com o leitor. Para verificar a chave codificada no cartão inteligente com os dados do leitor, este executa um algoritmo criptográfico — ou seja, uma série de cálculos. Em uma situação normal, é extremamente difícil fazer uma cópia dessa chave – mesmo que você consiga o original. Mas há uma vulnerabilidade: o LED do leitor. Isso indica que o dispositivo está funcionando, mudando de cor de vermelho para verde quando um visitante é autorizado e a porta pode ser aberta.
O brilho do indicador, que depende da carga nos sistemas do leitor, muda durante a operação criptográfica: por exemplo, quando o processador do leitor está ocupado com cálculos, o brilho do LED diminui ligeiramente. Analisando essas pequenas alternâncias, é possível reconstruir a chave privada e assim criar um smart card que abre a porta da sala secreta. Se os invasores tiverem acesso a uma câmera de vídeo e puderem obter imagens de vídeo do LED do leitor, em teoria, eles poderão invadir o sistema de segurança do prédio.
Dificuldades práticas
Colocar a teoria em artigos como este em prática nunca é fácil. É improvável que o cenário acima seja implementado na prática tão cedo. E para os profissionais de segurança de hardware, essa vulnerabilidade não é novidade. É um caso clássico de ataque de canal lateral: vazamento de dados por meio de algum processo não óbvio na operação de um dispositivo. Um método tradicional de atacar cartões inteligentes e outros dispositivos que usam algoritmos de criptografia de dados, é medir a tensão no dispositivo. Durante os cálculos, esta tensão muda ligeiramente. Ao observar essas pequenas mudanças, um invasor pode fazer a engenharia reversa do algoritmo: por exemplo, vinculando uma queda de tensão a um determinado valor sendo processado.
Uma característica desse tipo de ataque de canal lateral é que os cálculos são muito rápidos. Para reconstruir a chave de criptografia, seria preciso medir a voltagem centenas ou mesmo milhares de vezes por segundo. Mas o LED faz parte do circuito geral de alimentação do dispositivo, o que significa que seu brilho varia com a tensão. Confira o progresso: o ataque não requer mais equipamentos complexos e caros. Não há necessidade de desmontar o dispositivo e soldar os fios na placa de circuito. Basta apontar a câmera de vídeo para o LED, fazer uma gravação, analisá-la e obter o resultado.
Recursos de análise de vídeo
Ao analisar imagens de vídeo na prática, os autores do artigo encontraram inúmeras dificuldades. Uma câmera comum grava vídeo a 60 quadros por segundo, enquanto uma avançada — não mais que 120. Para um ataque a um algoritmo de criptografia, isso é muito baixo. Para melhorar o método, os pesquisadores exploraram uma falha inerente a qualquer câmera digital que os fabricantes geralmente lutam para superar: o chamado obturador rolante. Quando pressionamos o botão do obturador, o sensor de imagem da câmera não tira uma foto instantânea. O que acontece é que os pixels do sensor são escaneados sequencialmente, linha por linha, de cima para baixo. Se fotografarmos um objeto em movimento em alta velocidade, isso pode produzir efeitos artísticos. Pense nas pás rotativas de um helicóptero.
Os pesquisadores procederam da seguinte forma: aproximaram a câmera do LED para que preenchesse quase toda a área do quadro. Então eles mediram o brilho, não de todo o quadro, mas de cada linha. Assim, a “frequência de medição” – e, portanto, a precisão – teve um grande aumento: até 61.400 vezes por segundo no caso da câmera do iPhone 14. Curiosamente, neste cenário bastante atípico de uso de câmera, o iPhone levou a melhor sobre a Samsung em termos de quantidade de dados gravados.
Testando a capacidade dos smartphones de capturar pequenas mudanças no brilho do LED em uma determinada frequência. Fonte
A captura de tela acima mostra o resultado dessa configuração aprimorada: os pesquisadores fizeram o LED piscar em uma determinada frequência, aumentando-a gradativamente. A ativação e desativação do LED é claramente visível medindo as flutuações de energia (canto superior esquerdo). A mudança no brilho do LED pode ser vista claramente ao usar um fotossensor especializado (canto superior direito). O teste usou dois smartphones como câmeras de vídeo (linha inferior). Como podemos ver, eles registraram o piscar do LED em uma frequência bastante baixa; mudanças de frequência mais altas no brilho foram perdidas. Mas na taxa de quadros básica (60 ou 120 vezes por segundo), mesmo esses resultados estariam fora de alcance. Essa melhoria acabou sendo suficiente para um ataque bem-sucedido.
resultados do ataque
Para provar a possibilidade de um “ataque de vídeo” na prática, os pesquisadores mostraram como uma chave de criptografia privada pode ser extraída de vários leitores de smart card. Em cada um dos cinco experimentos, o LED foi feito para revelar seus segredos. Em teoria, nem é preciso que o smartphone ou a câmera de vídeo estejam perto do aparelho; sob certas condições, o sinal pode ser registrado de até 60 metros de distância. A equipe também descobriu que a presença de outras fontes de luz (uma sala iluminada pelo sol, por exemplo) afetava a precisão da medição. Isso complica o ataque adicionando ruído ao sinal útil, mas não é crítico para o resultado.
Mas isso não é tudo. Os pesquisadores atacaram um Samsung Galaxy S8, que estava executando o algoritmo de criptografia de dados SIKE.
Exfiltrando dados secretos de um smartphone. Fonte
Um smartphone não possui LED que acende quando o dispositivo é ligado. Mas os pesquisadores foram espertos: pegaram o telefone e conectaram alto-falantes portáteis que tinham um LED! Como os alto-falantes eram alimentados pelo smartphone, o cenário em que o brilho do LED depende da carga do processador foi replicado.
O resultado foi um ataque Hertzbleed no telefone (veja aqui para detalhes), confirmando que os processadores baseados na arquitetura ARM também correm risco desse tipo de ataque (o artigo original cobriu apenas vulnerabilidades nos chips Intel e AMD com arquitetura x86).
Agora estamos falando sobre um experimento totalmente teórico, não sobre o roubo de qualquer chave de criptografia real em uso. Cálculos criptográficos foram acionados no smartphone de acordo com um determinado algoritmo. Ao medir o brilho do LED nos alto-falantes conectados ao telefone, os pesquisadores conseguiram capturar o funcionamento do algoritmo e recuperar a chave privada. Como um smartphone é muito mais complexo do que um leitor de cartão inteligente, o nível de ruído nas medições foi muito maior. Mesmo assim, o experimento foi bem-sucedido.
Sobre a utilidade desta pesquisa científica
Este estudo dificilmente será aplicado na prática tão cedo. O ataque é altamente complexo e é difícil encontrar um caso de uso realista para ele. Como costuma acontecer, o valor de interesse desses papéis não reside na exploração prática de “vulnerabilidades descobertas”. Talvez a principal conclusão deste estudo seja que o equipamento especializado, antes necessário para ataques de canal lateral, foi substituído por dispositivos prontos para uso.
Frequentemente, publicamos sobre a exfiltração de dados por meio de canais não óbvios, como um alto-falante de PC de mesa. Mas em todos esses casos, o malware já deve estar instalado no computador da vítima. Este artigo sugere a possibilidade de exfiltrar informações confidenciais sem invasão prévia, simplesmente observando um LED de energia.
E isso o torna uma contribuição importante para nosso conhecimento geral sobre ataques de canal lateral. Só podemos esperar que os fabricantes de dispositivos vulneráveis tomem nota e melhorem o design de novos modelos – antes que essas brechas de segurança se tornem exploráveis na prática. Afinal, como o artigo aponta com razão, é bastante simples fazer um LED que não revele informações secretas: por exemplo, adicione um capacitor baratíssimo ao circuito de alimentação e o problema está resolvido. E medidas para neutralizar ataques de canal lateral também podem ser implementadas no nível do software. Finalmente, por que não abandonar completamente o LED? Alguém realmente sentiria falta disso?