IAR améliore la sécurité d’un code grâce à l’intégration de la technologie PACBTI d’Arm

IAR Embedded Workbench 9.4

Avec le lancement de son environnement de développement IAR Embedded Workbench for Arm dans sa version 9.40, le suédois IAR, éditeur d'outils de développement et de programmation d'applications embarquées, introduit une compatibilité sans couture avec l'extension PACBTI (Pointer Authentication and Branch Target Identification) développée par Arm. L'une des vocations de cette technologie de sécurisation du code - qui est une extension de l’architecture Armv8.1-M (on la retrouve notamment sur le puissant Cortex-M85) - étant de faciliter le travail des développeurs souhaitant obtenir la certification de sécurité PSA Certfied Level 2.

Alors que les demandes en produits de sécurité augmentent en raison de la législation et de la réglementation, IAR estime répondre à ce besoin critique d'une sécurité renforcée du code avec l’intégration de la technologie PACBTI, grâce à la mise en œuvre de signatures cryptographiques, empêchant d’éventuels attaquants de prendre le contrôle de l'ensemble d'un système.

L'extension PACBTI procure selon IAR, une défense robuste contre deux faiblesses de sécurité répandues : la programmation orientée retour (ROP) et la programmation orientée saut (JOP). Ces deux techniques impliquent l'utilisation de segments de code existants au sein de l'application utilisateur. En prenant le contrôle de la pile d'appels grâce à des méthodes telles que l'écrasement de pile, les attaquants peuvent alors écraser des pointeurs cruciaux stockés dans la pile pour les rediriger vers des extraits de code vulnérables identifiés qui servent ensuite les visées de l'attaquant.

Grâce à l'inclusion de ces nouvelles approches, IAR estime établir des barrières qui rendent plus difficile l’exploitation d’un code pour compromettre l'intégrité d'un système. Cependant, bien que la technologie PACBTI soit conçue pour identifier et atténuer les erreurs logicielles exploitables courantes, son efficacité, souligne IAR, repose sur de bonnes pratiques de développement logiciel, y compris l'utilisation d'outils d'analyse de code.

« La sécurité est devenue une priorité absolue pour les développeurs de logiciels embarqués, déclare Anders Holmberg, CTO chez IAR. La dernière version d'IAR Embedded Workbench for Arm, associée à des pratiques de développement logiciel établies, constitue la base pour des applications embarquées sécurisées, avec le recours à nos technologies Embedded Trust et les solutions de sécurité intégrées Secure Deploy qui offrent une solutions de bout en bout garantissant une sécurité renforcée à chaque étape du processus, du développement de produits jusqu’à la production de masse. »

Dans le détail, IAR Embedded Workbench se présente comme une chaîne d'outils de développement, englobant un compilateur optimisé et des fonctionnalités de débogage avancées. En utilisant les outils d'analyse de code tels que C-STAT et C-RUN, les développeurs peuvent en outre identifier de manière proactive les problèmes de code potentiels, et donc améliorer la qualité du code et minimiser les surfaces d'attaque potentielles. L'analyse statique et d'exécution joue ici un rôle central au cours du processus de développement, garantissant la découverte et l'élimination des vulnérabilités.

La version 9.40 présente également des fonctions intelligentes de construction du code permettant aux développeurs d'exécuter plusieurs versions de l’application avant la compilation et l’édition de liens.

S'appuyant sur la version précédente de l’environnement qui introduisait la prise en charge d'Armv8-A AARCH64, IAR Embedded Workbench for Arm 9.40 inclut aussi désormais la prise en charge d'Armv8-A AARCH32, permettant aux processeurs 64 bits de s'exécuter en mode 32 bits. De plus, la version étend sa compatibilité à l'émulateur Renesas E2/E2 Lite, offrant des fonctionnalités de programmation et de débogage transparentes pour les microcontrôleurs Arm Cortex-M et les processeurs Arm Cortex-A.

Enfin, grâce à un mode langage étendu, le compilateur C/C++ intègre des attributs de fonction supplémentaires de style GCC, favorisant une interopérabilité améliorée au sein du vaste écosystème intégré de systèmes d’exploitation et de middleware attaché à l’environnement IAR Embedded Workbench for Arm.

Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée à la sécurité dans les systèmes embarqués : Embedded-SEC