2023 promete ser um ano agitado para a criptografia. Provavelmente começaremos a ver nossas primeiras certificações para FIPS 140-3 e explorações mais sérias do impacto que a computação quântica tem na criptografia. Além disso, veremos mais proteções contra os poderosos ataques DFA que, de outra forma, atormentam os criptógrafos. 2023 pode até ser o ano mais empolgante em criptografia desde 2001, quando a (então) nova especificação Advanced Encryption Standard (AES) foi finalizada, disponibilizando ao público um algoritmo de criptografia matematicamente seguro e de alto desempenho.
Projetado para substituir algoritmos criptográficos mais antigos que estavam começando a mostrar fraquezas em sua matemática e serem vulneráveis ao crescente poder de computação disponível para os invasores, o AES colocou o poder de volta nas mãos daqueles que tentavam proteger seus dados. Os invasores reconheceram rapidamente que os ataques de força bruta e os ataques à matemática do AES seriam ineficazes e que, em vez disso, precisavam de uma nova abordagem.
Com o primeiro trabalho de pesquisa sobre o tema publicado em 2002, a Análise Diferencial de Falhas, ou DFA, é uma técnica de ataque projetada para recuperar chaves criptográficas de aplicativos injetando “falhas” no código criptográfico do aplicativo em tempo de execução e observando as alterações no código do aplicativo. comportamento. Uma falha é essencialmente inverter um bit dentro de um cálculo interno e observar o que muda. As falhas podem ser injetadas de várias maneiras, como a variação dos níveis de energia em dispositivos de hardware ou a alteração de bits de memória no software.
Os invasores injetam falhas em várias partes diferentes do aplicativo até encontrar um local onde uma falha altera a saída de uma operação criptográfica de uma maneira específica. Com base em como a saída da operação criptográfica muda, o DFA e alguma matemática podem permitir que as chaves criptográficas sejam recuperadas. Depois que essas chaves são recuperadas, todos os dados criptografados com elas ficam vulneráveis e em risco.
Originalmente, o DFA era um ataque principalmente contra dispositivos de hardware, onde o código de máquina não estava prontamente disponível para visualização pelos invasores. O caso do software era muito mais direto, já que geralmente as chaves criptográficas eram claramente visíveis dentro do código do aplicativo, onde ferramentas como desmontadores poderiam ser facilmente exibidas. Por muito tempo, se um pedaço de código estava fazendo criptografia, ele era mantido em um ambiente seguro, onde os invasores não conseguiam olhar facilmente o código do aplicativo para encontrar essas chaves. Primeiro, esses ambientes eram propriedade física de empresas de tecnologia. Hoje toda empresa é uma empresa de tecnologia, e a segurança física e “virtual” de tecnologia/software/segredos/chaves é, na maioria dos casos, deixada nas mãos formidáveis de gigantes como AWS, Google Cloud e Microsoft Azure.
A outra diferença que enfrentamos em 2023 é que grande parte da tecnologia que criamos não reside nem na nuvem bem protegida (presumimos) nem em data centers corporativos. Em vez disso, software/tecnologia e até mesmo chaves residem em aplicativos que os consumidores possuem em seus telefones celulares, computadores desktop, smart TVs e automóveis. Porque atores de ameaças agora pode simplesmente olhar as instruções que compõem o aplicativo, os aplicativos de software precisam de proteção para suas rotinas e chaves criptográficas. A criptografia de caixa branca foi introduzida em 2002 para resolver exatamente essa preocupação, no mesmo ano em que o primeiro artigo do DFA foi publicado.
A criptografia de caixa branca foi introduzida para possibilitar o fornecimento de implementações criptográficas seguras em aplicativos nos quais os invasores podem manipular o código e os dados à vontade. A criptografia de caixa branca é uma maneira de obter a mesma saída para uma determinada entrada como uma implementação criptográfica normal, mas os aspectos internos de como isso é feito são completamente diferentes de uma implementação criptográfica padrão. Isso torna muito difícil para um invasor entender o que está acontecendo. Devido à dificuldade que tiveram para entender as implementações de criptografia de caixa branca, aproveitando o sucesso no hardware, os invasores começaram a usar o DFA como uma técnica contra a criptografia de caixa branca em implementações de software.
O DFA está se tornando mais comum. Vários pesquisadores de segurança falam sobre ataques DFA em conferências, implementam ataques DFA de hardware e software e publicam como fazer isso. O DFA não é mais apenas um ataque limitado a academias ou laboratórios de segurança de ponta. Os ataques do mundo real estão aqui e, com a proliferação e armamento do código de ataque, a frequência de ataques relatados está aumentando.
À medida que o DFA avança em eficácia e comunalidade, é imperativo garantir que suas defesas contra ele estejam acompanhando o ritmo e ainda sejam capazes de proteger as rotinas criptográficas dentro de seu aplicativo. Existem várias etapas que você pode seguir para garantir que está fazendo o máximo possível para se defender contra os ataques do DFA.
A primeira é garantir que você esteja usando uma implementação de criptografia de caixa branca moderna, projetada para se defender contra o DFA e testada por terceiros confiáveis. Como os ataques crescem em sofisticação ao longo do tempo, é importante usar uma implementação de caixa branca que seja ativamente desenvolvida para acompanhar os novos ataques.
Em segundo lugar, você deve garantir que seu aplicativo esteja usando proteção de aplicativo (também conhecida como proteção no aplicativo, também conhecida como ofuscação de código, técnicas anti-adulteração e anti-código) para tornar mais difícil para os invasores montarem um ataque DFA em primeiro lugar. Os aplicativos com ofuscação dificultam que os invasores entendam onde injetar falhas e os aplicativos que podem reconhecer quando estão sob ataque (também conhecidos como aplicativos com anti-adulteração) podem tomar medidas imediatas para interromper o ataque antes que ele avance.
Para saber mais sobre como proteger seus aplicativos móveis, de desktop e de servidor, confira nosso Digital.ai Resumo da solução de criptografia de caixa branca.
Você está pronto para escalar sua empresa?
Explore
O que há de novo no mundo da Digital.ai
Ofuscando o código de um aplicativo Android
Aprenda a importância da ofuscação de código no Android. Descubra os benefícios, ferramentas e práticas recomendadas para proteger sua propriedade intelectual e aumentar a segurança.
Resumo do Incidente e Prevenção CrowdStrike com Digital.ai Soluções
Em 19 de julho de 2024, uma atualização de configuração de software com defeito de…
Guia: como ofuscar código
Aprenda como ofuscar o código de forma eficaz neste guia completo. Descubra a importância da ofuscação de código e explore diferentes tipos e técnicas.