Criptografia Numaboa
Criptoanálise acústica
Seg 26 Jan 2009 00:00 |
- Detalhes
- Categoria: Criptoanálise
- Atualização: Segunda, 26 Janeiro 2009 14:33
- Autor: vovó Vicki
- Acessos: 8509
Pergunta 6 - Porque se incomodar com ataques acústicos se já existem os ataques TEMPEST e de análise do consumo de energia?
Ataques de canal lateral baseados em emanações eletromagnéticas são muito poderosos e largamente discutidos. É justamente por este motivo que já existem dispositivos de segurança, como gaiolas de Faraday e fontes com isolamento, para evitar estes ataques. Estas medidas, no entanto, podem ser transparentes para radiações acústicas. Além disto, equipamentos de gravação de áudio digital são universais e isto cria novos cenários de ataque: por exemplo, um laptop comprometido pode ser levado para uma sala de segurança e pode gravar valiosas informações acústicas sem o conhecimento do dono do laptop. Outro cenário é um programa de gravação rodando num computador onde outros programas estejam sendo executados - os limites de segurança do sandbox são rompidos ou sistemas do tipo NGSCB ficam comprometidos. Finalmente, técnicas conhecidas de espionagem, como a detecção da vibração de vidraças pelo seu efeito sobre fontes de laser refletidas, podem propiciar cenários adicionais de ataques.
Pergunta 7 -
Não consta ou foi retirada do texto original.
Pergunta 8 - O que existe de tão especial na instrução "HLT" e porque é importante detectá-la?
Apesar de não ser a única detectável, a instrução 80x86 HLT é a mais fácil de ser detectada acusticamente. Esta instrução coloca a CPU num estado especial de baixo consumo que perdura até a próxima chamada de interrupção do hardware. Em CPUs modernas, este estado desliga temporariamente muitos dos circuitos on-chip, o que reduz drasticamente o consumo de energia e altera as emissões acústicas por um período de tempo relativamente longo. Experimentalmente, a diferença entre computação ativa (que normalmente nunca envolve instruções HLT) e uma CPU ociosa (onde o kernel executa instruções HLT no seu loop de ociosidade) usualmente é bastante evidente. Se o único programa que estiver rodando for um aplicativo criptográfico, então isto já é suficiente para se detectar quando o programa "acorda" para manipular inputs e quando ele termina suas tarefas criptográficas - esta informação pode ser usada para montar ataques de tempo. É claro que detalhes acústicos adicionais mais sutis fornecerão ainda mais informações.
Pergunta 9 - O que há de tão especial em operações criptográficas?
Nossas experiências sugerem que, na maioria dos computadores, cada tipo de operação possui uma assinatura acústica - um som característico. Isto se aplica a qualquer operação, criptográfica ou de qualquer outro tipo. Focamos as operações criptográficas porque estas são projetadas para proteger informações, portanto, vazamentos de informação nestes casos podem ser críticos. Por exemplo, a recuperação de uma simples chave de decifração pode comprometer o sigilo de todas as mensagens enviadas através do canal de comunicação correspondente.
Pergunta 10 - Como funcionam os ataques de tempo?
Ataques de tempo pertencem à classe de ataques que tiram vantagem de informações auxiliares de canal lateral. Exploram o fato de que muitas operações computacionais variam no tempo dependendo dos inputs da operação. Neste caso, medindo-se o tempo que cada operação dura, pode-se verificar alguma coisa sobre seus inputs. Por exemplo, considere o criptossistema RSA. Neste sistema, a decifração de um texto cifrado c é feita tratando c como um número grande elevado à potência d, onde d é a chave secreta. O algoritmo mas simples (apesar de ineficiente) para calcular esta exponenciação é multiplicar c por ele mesmo d vezes. Isto demora um tempo proporcional a d. Assim, medindo-se este tempo, pode-se obter uma boa estimativa de d. Os algoritmos usados na prática ("elevar ao quadrado e multiplicar" e suas variações) são muito mais eficientes, mas possuem propriedades parecidas se não forem projetados para frustrar este tipo de ataque. Combinando várias medidas que correspondem a diferentes propriedades da chave, as possibilidades podem ser limitadas cada vez mais até que a chave seja recuperada. Este tipo de ataque de tempo foi apresentado por Kocher {quickdown:6} e demonstrado na prática por Boneh e Brumley {quickdown:5}
Experiências práticas
Inicialmente pensei em parar por aqui a tradução do artigo de Shamir e Tromer, mas vi que era uma pena não mostrar os resultados até certo ponto surpreendentes publicados pelos autores. Bem, então vamos lá.
Logo a seguir há vários exemplos mostrados como espectrogramas e arquivos WAV. Os espectrogramas foram criados com o software de análise de sinais Baudline rodando no GNU/Linux. O eixo horizontal mostra a frequência (0 a 48 KHz), o vertical é o tempo e a intensidade é determinada pela janela potência por frequência (quanto mais verde, mas intenso). Todas as gravações foram equalizadas (a grosso modo -10dB abaixo de 1KHz e +10dB acima de 10KHz) usando o equalizador rudimentar embutido no software.
As gravações abaixo foram feitas usando equipamento de baixo custo: um microfone condensador Røde NT3 (US$170), um mixer Alto S-6 (US$55) servindo de amplificador e equalizador rudimentar e uma placa de som Creative Labs Audigy 2 (US$70) para gravações num computador separado. As gravações abaixo foram feitas em condições perto das ideais: o microfone foi colocado a 20 cm do computador gravado, o gabinete do PC foi aberto e as ventoinhas barulhentas foram desligadas (onde possível).
Resultados comparáveis foram obtidos em condições mais realistas (isto é, o computador alvo fica intacto e colocado 1 a 2 metros longe do microfone) usando um equipamento de áudio mais caro. Por exemplo, um equalizador analógico de alta qualidade pode ser usado para atenuar fortes zumbidos de baixa frequência produzidos pelas ventoinhas e ruídos de fundo, permitindo a amplificação de sinais interessantes antes da quantização analógico-para-digital.
Exceto onde especificado de outra forma, o computador que foi gravado é um sem marca usando uma placa-mãe PC Chips M754LMR, CPU Intel Celeron 666MHz e fonte Astec ATX200-3516. Este computador foi escolhido devido às suas emanações acústicas particularmente intensas, mas em hipótese alguma é um caso especial: todos os computadores que testamos mostraram uma correlação significante entre o espectro acústico e as atividades da CPU e, em cerca da metade dos casos, o efeito pôde ser ouvido naturalmente quando padrões apropriados de atividade de CPU foram usados.
O som de assinaturas GnuPG RSA
Esta é a gravação do GnuPG 1.2.4 assinando uma mensagem curta usando uma chave RSA randômica precalculada de 4096 bits. A assinatura é feita duas vezes, ambas precedidas por uma parada (instrução HLT), manisfestando-se como ruído de banda larga. Para a assinatura, o GnuPG usa exponenciação baseada em CRT e isto é visível no espectrograma: a duração de cada assinatura é particionada em dois estágios parecidos mas distintos, correspondentes à exponenciação módulo p e módulo q.