Publié: Octobre 31, 2022
Histoires d'enCRYPT : Protection des applications contre les attaques DFA
L'année 2023 s'annonce riche en événements pour la cryptographie. Nous devrions probablement voir apparaître les premières certifications FIPS 140-3 et des explorations plus approfondies de la norme. L'impact de l'informatique quantique sur le chiffrementDe plus, nous verrons des protections renforcées contre les puissantes attaques DFA qui, d'ordinaire, mettent les cryptographes à rude épreuve. 2023 pourrait même être l'année la plus passionnante en cryptographie depuis 2001, date de la finalisation de la spécification de la nouvelle norme de chiffrement avancée (AES), qui a mis à la disposition du public un algorithme de chiffrement mathématiquement sûr et performant.
Conçu pour remplacer les anciens algorithmes cryptographiques qui commençaient à montrer des faiblesses mathématiques et à être vulnérables à la puissance de calcul croissante des attaquants, l'AES a redonné le contrôle aux utilisateurs chargés de protéger leurs données. Les attaquants ont rapidement compris que les attaques par force brute et les attaques sur les calculs de l'AES seraient inefficaces et qu'une nouvelle approche était nécessaire.
L'analyse différentielle des fautes (DFA), dont le premier article de recherche sur le sujet a été publié en 2002, est une technique d'attaque conçue pour récupérer les clés cryptographiques d'applications. Elle consiste à injecter des « failles » dans le code cryptographique de l'application lors de son exécution et à observer les modifications de son comportement. Une faute consiste essentiellement à inverser un bit dans un calcul interne et à observer les changements observés. Les fautes peuvent être injectées de diverses manières, par exemple en modifiant les niveaux de puissance des périphériques matériels ou en changeant des bits de mémoire dans le logiciel.
Les attaquants injectent des failles à différents endroits de l'application jusqu'à trouver un point où une faille modifie le résultat d'une opération cryptographique d'une manière spécifique. En fonction de cette modification, un automate fini déterministe (AFD) et des calculs mathématiques permettent de récupérer les clés cryptographiques. Une fois ces clés récupérées, toutes les données chiffrées avec elles sont vulnérables et compromises.
À l'origine, l'attaque DFA visait principalement les dispositifs matériels, dont le code machine n'était pas facilement accessible aux attaquants. Le cas logiciel était beaucoup plus simple, car les clés de chiffrement étaient généralement visibles dans le code applicatif et facilement affichables par des outils comme les désassembleurs. Pendant longtemps, tout code effectuant des opérations de chiffrement était conservé dans un environnement sécurisé, hors de portée des attaquants qui pouvaient y accéder facilement. Ces environnements étaient initialement la propriété physique des entreprises technologiques. Aujourd'hui, toute entreprise est une entreprise technologique, et la sécurité physique et « virtuelle » des technologies, logiciels, secrets et clés est, dans la plupart des cas, confiée à des géants comme AWS, Google Cloud et Microsoft Azure.
L'autre différence majeure en 2023 réside dans le fait qu'une grande partie des technologies que nous créons ne se trouve ni dans le cloud (supposément bien protégé), ni dans les centres de données des entreprises. En effet, les logiciels, les technologies et même les clés d'accès résident dans des applications installées sur les téléphones portables, les ordinateurs de bureau, les téléviseurs connectés et les voitures des consommateurs. acteurs de la menace Il est désormais possible de consulter les instructions qui composent l'application. Cependant, les applications logicielles nécessitent une protection pour leurs routines et clés cryptographiques. La cryptographie en boîte blanche a été introduite en 2002 pour répondre précisément à ce besoin, année de la publication du premier article sur les automates finis déterministes (AFD).
La cryptographie en boîte blanche a été introduite pour permettre des implémentations cryptographiques sécurisées dans les applications où les attaquants peuvent manipuler le code et les données à leur guise. La cryptographie en boîte blanche permet d'obtenir le même résultat pour une entrée donnée qu'une implémentation cryptographique classique, mais son fonctionnement interne est totalement différent. Il est donc très difficile pour un attaquant de comprendre ce qui se passe. Face à cette difficulté, et forts du succès rencontré dans le domaine matériel, les attaquants ont commencé à utiliser les automates finis déterministes (AFD) comme technique contre la cryptographie en boîte blanche dans les implémentations logicielles.
Les attaques DFA (Discrete Forwarding Attack) se généralisent. De nombreux chercheurs en sécurité abordent ce sujet lors de conférences, mettent en œuvre des attaques DFA matérielles et logicielles et publient des tutoriels. Les attaques DFA ne sont plus l'apanage du monde universitaire ou des laboratoires de sécurité de pointe. Elles sont désormais bien réelles et, avec la prolifération et la militarisation du code malveillant, leur fréquence ne cesse d'augmenter.
Face à la montée en puissance et à la généralisation des automates finis déterministes (DFA), il est impératif de veiller à ce que vos défenses restent à la pointe et protègent efficacement les routines cryptographiques de votre application. Plusieurs mesures peuvent être prises pour optimiser votre protection contre les attaques DFA.
La première précaution consiste à utiliser une implémentation cryptographique moderne de type « boîte blanche », conçue pour se défendre contre les attaques par automates finis déterministes (DFA) et testée par un organisme tiers réputé. Face à la sophistication croissante des attaques, il est essentiel d'utiliser une implémentation « boîte blanche » régulièrement mise à jour pour contrer les nouvelles menaces.
En second lieu, vous devez vous assurer que votre application utilise la protection intégrée (également appelée protection au sein de l'application). obscurcissement du codeLes applications utilisent des techniques anti-falsification et anti-vol de code pour compliquer la tâche des attaquants souhaitant mener une attaque par analyse de défaillances (DFA). L'obfuscation des applications rend difficile pour les attaquants de localiser les points d'injection de failles, tandis que les applications capables de détecter une attaque (notamment celles dotées de mécanismes anti-falsification) peuvent intervenir immédiatement pour la stopper avant qu'elle ne progresse.
Pour en savoir plus sur la protection de vos applications mobiles, de bureau et serveur, consultez notre Digital.ai Présentation de la solution de cryptographie en boîte blanche.
Vous aimerez aussi
Des jours aux heures : comment le reverse engineering éthique a évolué avec l’IA
En 2020, la rétro-ingénierie d'un binaire complexe prenait souvent des jours…
Décryptage des attaques de type « connaissance du client » (KHI) basées sur les deepfakes
Où le durcissement des défenses s'inscrit-il dans la surface d'attaque des deepfakes ? Un visage…
Décryptage des plantages d'applications mobiles : du chaos à la clarté
Les applications mobiles sont constamment la cible d'attaques. Selon Digital.ai's 2026…