Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

Les navires sont des bêtes mécaniques avec de nombreuses pièces travaillant pour assurer des voyages sûrs et réussis. Un équivalent numérique serait un logiciel. Comme le développement de logiciels, la construction navale implique plusieurs étapes et une ingénierie précise. Ensuite, lorsque tout est terminé, les constructeurs testent leurs créations dans différentes conditions pour s'assurer que le navire est sûr et fonctionne comme prévu. Presque tous les meilleurs logiciels que nous utilisons aujourd'hui sont également soumis à des tests pour s'assurer qu'ils sont sécurisés.

L'un de ces tests est l'injection de fautes. Par rapport à la construction navale, l'injection de fautes reviendrait à ce que les ingénieurs nautiques fassent intentionnellement des trous dans leurs navires pour voir comment ils gèrent le naufrage...

Qu'est-ce que l'injection de fautes et pourquoi est-ce important ?

L'injection de fautes est la pratique consistant à créer intentionnellement des défauts dans un système. Le but de cette pratique est d'analyser comment le système fonctionne sous stress. Les ingénieurs matériels et logiciels induisent généralement des défauts dans leur matériel ou logiciel pour plusieurs raisons.

D'une part, ils veulent découvrir et résoudre les défaillances qui pourraient survenir en dehors de l'environnement contrôlé du laboratoire de production. Ceci est important car ils n'ont aucun contrôle sur les conditions dans lesquelles les clients utiliseront leurs produits. La chaleur pourrait compromettre les composants ou les matériaux qui maintiennent les composants ensemble; une panne de serveur pourrait faire en sorte qu'une région entière perde l'accès à son service de streaming préféré; les attaquants pourraient déclencher une erreur qui brise les fonctions de sécurité. Lorsque de tels événements se produisent, les développeurs et les fabricants d'appareils veulent s'assurer que leurs produits restent protéger l'intégrité des données et la sécurité des utilisateurs ou ajuster la répartition de la charge pour minimiser le service perturbation.

En fin de compte, l'injection de fautes est nécessaire pour rendre les applications et le matériel sûrs, sécurisés et fiables. De même, l'injection de fautes aide les fabricants à protéger la propriété intellectuelle, à réduire le risque de perte et à conserver la confiance de leurs clients. Vous ne mettriez pas votre argent dans une banque si leur application se bloque tout le temps et que les pirates s'amusent à le casser, n'est-ce pas ?

Comment fonctionnent les attaques par injection de fautes ?

Les fabricants procèdent intentionnellement à l'injection de fautes pour découvrir les failles qui pourraient compromettre la sécurité de leurs produits. Rien n'empêche les attaquants de faire de même pour exposer les faiblesses d'un système et les exploiter. Après tout, les outils utilisés pour effectuer l'injection de fautes sont publics et les méthodes ne sont pas trop complexes.

De plus, les attaquants expérimentés peuvent faire preuve de créativité avec leurs méthodes et pousser le système au-delà de ce qui est normal. À ce stade, vous devez savoir que l'injection de fautes peut être physique (dans le matériel) ou numérique (dans le logiciel). De même, les outils et méthodes utilisés dans les attaques par injection de fautes peuvent prendre l'une ou l'autre forme. Les fabricants et les pirates combinent souvent des outils physiques et numériques dans leurs tests et leurs attaques, respectivement.

Certains outils utilisés pour l'injection de fautes sont FERRARI (Fault and ERRor Automatic Real-time Injector), FTPE (Fault Tolerance And Performance Evaluator), Xception, Gremlin, Holodeck et ExhaustiF. Pendant ce temps, les méthodes FIA impliquent souvent de bombarder le système avec des impulsions électromagnétiques intenses, d'élever la température ambiante, de sous-voltage GPU ou CPU, ou déclencher un court-circuit. À l'aide d'outils et de méthodes FIA, ils peuvent corrompre un système suffisamment longtemps pour exploiter une réinitialisation, contourner un protocole ou voler des données sensibles.

Prévention des attaques par injection de fautes

Vous n'avez pas à vous soucier d'empêcher les attaques FIA si vous êtes un consommateur régulier. Cette responsabilité incombe au fabricant de l'appareil ou au développeur du logiciel, tout comme la sécurité du navire incombe à l'équipage de navigation. Les fabricants et les développeurs y parviennent en concevant des protocoles de sécurité plus résilients et en rendant l'extraction de données difficile pour les pirates.

Néanmoins, il n'existe pas de systèmes parfaits. Les attaquants développent souvent de nouvelles méthodes d'attaque, et ils ne sont pas limités dans la façon dont ils appliquent ces méthodes puisqu'ils ne respectent pas les règles. Par exemple, un pirate peut combiner FIA avec un attaque par canal latéral, surtout si leur accès à l'appareil est limité. L'équipe de l'autre côté doit reconnaître ce fait lors de la conception de systèmes résilients et de la planification de ses tests d'injection de fautes.

Faut-il s'inquiéter pour la FIA ?

Pas directement. Il y a plus de menaces de cybersécurité qui vous affectent plus personnellement que les attaques par injection de fautes. De plus, la FIA est rarement secrète. Un attaquant aura besoin d'un accès physique à votre appareil pour exécuter une attaque par injection de fautes. De plus, les méthodes d'injection de fautes sont généralement invasives et entraînent un certain niveau de dommages temporaires ou permanents au système. Il est donc très probable que vous remarquiez que quelque chose ne va pas ou que vous vous retrouviez avec un appareil que vous ne pouvez pas utiliser.

Le hic, bien sûr, c'est que l'attaquant peut avoir volé des données sensibles au moment où vous remarquez la falsification. Il appartient au fabricant ou au développeur d'empêcher l'attaque en premier lieu et d'améliorer la sécurité de ses produits.