Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

Pourquoi votre équipe de développement a besoin de TARA

Par Ricardo Camacho

20 Décembre 2022

6  min lire

Ne laissez pas un pirate profiter d'une vulnérabilité logicielle non contrôlée dans votre application. Tirez parti de TARA pour identifier et atténuer les risques de cybersécurité et prévenir les violations coûteuses.

TARA, alias analyse des menaces et évaluation des risques, joue un rôle essentiel dans le développement et le déploiement de logiciels. Que vous travailliez sous ISO 21434 pour les composants automobiles, IEC 62443 pour travailler dans les dispositifs médicaux, ou encore DO-326A en avionique, les méthodologies TARA doivent être efficaces et intégrables dans votre SDLC et votre écosystème de développement. Une évolution transformatrice a eu lieu dans de nombreuses industries. Par exemple, Renovo a dû relever à la fois des défis de sûreté et de sécurité.

Choisir les bons outils pour compléter votre TARA peut faire la différence entre la durabilité de produits et services non sécurisés ou la fourniture de systèmes logiciels sécurisés et sûrs.

Ce blog répond aux questions suivantes :

  • Qu'est-ce qu'un TARA ?
  • Pourquoi votre équipe a-t-elle besoin de TARA ?
  • Quels types de méthodologies TARA existe-t-il ?
  • Quels sont les enjeux avec TARA ?
  • Quels outils TARA devons-nous utiliser ?

Qu'est-ce que TARA ?

En termes simples, une analyse des menaces et une évaluation des risques sont un processus permettant d'identifier les facteurs de risque, les vulnérabilités et les éléments non conformes possibles de votre logiciel. Il aide les équipes à identifier les zones non sécurisées ou les problèmes de conformité avec leur logiciel d'une manière qui favorise la mise en œuvre de l'atténuation et de la sécurité plus tôt dans le SDLC.

Certains connaissent peut-être CWE ou énumération des faiblesses courantes qui joue un rôle dans l'approche d'une stratégie TARA. La sécurité logicielle dépend de CWE car elle rend la gestion des vulnérabilités plus accessible et plus facile à digérer. Bien que MITRE possède et gère le CWE, il s'agit d'un catalogue alimenté par la communauté de divers risques dans de nombreux secteurs, y compris l'automobile.

L'un des meilleurs exemples de cas où une TARA est critique est la conformité à la norme ISO 21434. Comme indiqué dans notre blog sur cybersécurité pour l'industrie automobile, la TARA peut identifier les faiblesses et guider les équipes sur la manière d'intégrer les mesures de sécurité dans leur travail de développement. Idéalement, une TARA complète et efficace atténuera les menaces et rendra la conformité plus assurée.

Tout sur l'énumération des faiblesses courantes

Pourquoi réaliser un TARA ?

Une TARA bien exécutée peut sauver votre équipe de catastrophes de vulnérabilité évitables ou faire la différence entre répondre ou non aux exigences de sécurité. Dans les cas extrêmes, cela peut aussi faire la différence en lançant un produit ou un service ou en faisant marche arrière, en perdant du temps de développement et de l'argent.

Pensez-y de la même manière que de passer votre examen médical annuel chez le médecin chaque année. C'est un léger inconvénient qui pourrait vous aider à détecter un problème avant qu'il ne devienne un problème majeur, n'est-ce pas ? TARA permet aux équipes de développement de faire exactement la même chose. L'image suivante montre le processus de la méthode TARA.

Graphique détaillant le processus d'analyse des menaces et d'évaluation des risques (TARA)

Modélisation des menaces : étapes clés de la sécurité

Étape 1 : Définir le projet

Définissez ce que vous construisez, de sa fonction la plus basique à sa fonctionnalité la plus complexe. Veillez à cataloguer tous les actifs impliqués, tels que les composants réseau, les applications, etc.

Étape 2 : Identification de la menace et évaluation des risques

Essayer de développer une stratégie contre les risques sans connaître les plus grandes menaces est vain. Au lieu de cela, commencez par identifier les types de choses qui peuvent mal tourner avec votre projet. Vos données sont-elles protégées ? Êtes-vous vulnérable en raison de bibliothèques ou d'API tierces ? Peut-être devez-vous travailler avec une technologie propriétaire avec des exigences très spécifiques.

Quelle que soit la situation, être conscient de tous les types et vecteurs de menaces potentiels est une étape cruciale dans le développement et l'intégration d'une stratégie TARA.

Étape 3 : Atténuation des menaces

La prochaine étape naturelle consiste à prendre des mesures pour atténuer les éventuelles menaces et vecteurs de risque. Cela peut impliquer l'intégration de SEI CERT, une analyse de code de sécurité, dans votre pipeline CI/CD. D'autres méthodes de test pour atténuer les menaces possibles incluent les tests de sécurité des API et les tests fonctionnels ou les tests selon vos exigences de sécurité.

CI/CD pour systèmes embarqués

Le test de vos exigences de sécurité peut commencer à la phase de vérification de l'unité logicielle. Ensuite, il passe à la phase de vérification de l'intégration suivie de la phase de vérification du système. Cela peut être aussi simple que d'utiliser une solution comme Parasoft pour automatiser les tests unitaires, les tests d'intégration, les tests système et la couverture du code pour garantir l'exhaustivité des tests.

La génération automatisée de cas de test est une autre fonctionnalité puissante qui réduit les efforts et les coûts. De plus, des rapports et des analyses automatisés fournissent des commentaires exploitables pour mettre en évidence les points chauds et aider à maintenir le projet sur la bonne voie et en bonne santé.

Étape 4 : Mise en œuvre et validation

Cette étape garantit que, parmi les menaces traitées, aucune ne dépasse les niveaux de risque acceptés. En outre, l'équipe doit s'assurer que tous les risques restants relèvent également des paramètres acceptés.

Matrices de menaces et autres techniques de mesure

Tous les projets n'exigeront pas la même méthode d'évaluation des risques. Ainsi, les équipes peuvent mesurer à la fois la probabilité et l'impact des vulnérabilités de plusieurs manières. L'une des options les plus populaires est une matrice de menaces comme indiqué ci-dessus, généralement dans des matrices 3 × 3, 4 × 4 ou 5 × 5. Les autres options incluent les suivantes :

Arbre de décision. Ce modèle peut aider une équipe à visualiser différents résultats et la probabilité de réalisation, ainsi qu'à calculer la valeur potentielle du projet, du service ou du produit.

Graphique montrant un arbre de décision pour aider les équipes à visualiser et à évaluer les risques de sécurité et la valeur d'un projet, d'un service ou d'un produit.

Modèle nœud papillon. Cette approche affiche les liens de causalité entre les sources de menace et les conséquences potentielles. Sur la gauche serait la cause, le centre est l'événement/risque incitatif, et la droite affiche les résultats potentiels.

Graphique d'un modèle de nœud papillon pour déterminer les causes potentielles par rapport aux résultats et la prévention par rapport à la récupération de l'accès non autorisé aux données sensibles.

Mode de défaillance et analyse des effets (FMEA). Cette analyse, utilisée pour la première fois dans les années 1940 au sein de l'armée américaine, est la meilleure pour les étapes de proposition ou de conception d'un projet. La partie « mode de défaillance » définit les problèmes, les problèmes potentiels et les défaillances. La partie « analyse des effets » examine l'impact que les défaillances peuvent avoir.

Défis avec TARA

Déterminer la meilleure façon d'effectuer l'analyse des menaces et l'évaluation des risques peut être quelque peu compliqué car de nombreuses approches et cadres d'évaluation des risques de cybersécurité sont en cours de déploiement. Certains viennent du gouvernement et d'autres viennent d'organisations commerciales comme le NIST, l'ISO, l'OCTAVE, le NCSA, etc.

Au cours de votre processus, l'un des plus grands défis des évaluations des menaces consiste à identifier toutes les menaces potentielles et tous les vecteurs de risque réels. L'intégration des processus de sécurité dans le développement peut également représenter un obstacle important pour certaines équipes. Ils peuvent ne pas en voir la valeur ou considérer que le «jus ne vaut pas la peine» en ce qui concerne les avantages.

Alors que les appareils embarqués connectés, l'IoT, le cloud, l'automatisation et d'autres avancées technologiques sont pris en compte dans les objets du quotidien comme les voitures et les appareils IRM, il est essentiel de mettre en œuvre et d'affiner les stratégies autour de la sécurité et de l'évaluation des risques.

Pour servir plusieurs industries et flux de travail, les méthodes et outils TARA varient dans leurs approches et leurs avantages. Mais identifier les meilleurs outils pour votre projet ne doit pas être un défi insurmontable. Vous pouvez identifier plus facilement l'outil dont vous avez besoin et la stratégie TARA pour votre équipe avec des éléments tels que les matrices de menaces.

De nombreuses matrices de menaces capturent l'ensemble des menaces potentielles et les fonctions ou sauvegardes qui doivent être mises en place. Cela correspond aux exigences de sécurité reconnues et aux types de méthodes de vérification et de validation (V&V) qui devront être employées.

Vérification vs validation dans les logiciels embarqués

Vous aurez besoin d'un outil de gestion des exigences solide comme Polarion, Jama ou codebeamer. Vous pouvez vérifier et valider ces exigences avec des solutions SAST et DAST automatisées étendues comme celles de Parasoft. Il existe également des entreprises, comme itemis, qui fournissent des outils de gestion des menaces et des risques.

Graphique d'un workflow de pipeline CI/CD en forme d'infini pour représenter l'automatisation.

Combler le fossé de sécurité dans les tests continus et le pipeline CI/CD

Tandis que mise en œuvre de l'assurance qualité dans votre pipeline CI/CD est une chose, assurer la sécurité à chaque étape de l'automatisation peut être encore plus critique. Lorsqu'il s'agit de choses comme la conformité ISO 21434 et ISO 26262, les tests de sécurité d'analyse statique (SAST) répondent à des normes telles que CERT, CWE, OWASP, etc. Comme d'autres normes comme MISRA, qui ont incorporé des règles et des directives de sécurité dans la norme.

L'analyse statique ainsi que les tests unitaires, les rapports de conformité, l'analyse des flux de données et d'autres fonctionnalités des outils Parasoft permettent à votre pipeline CI/CD d'automatiser également les tests et de faire plus que simplement déplacer votre équipe de développement vers la gauche. Vous pouvez augmenter votre SDLC déjà agile avec des processus automatisés et axés sur la sécurité.

Des solutions pour vos besoins TARA

Quel que soit votre secteur d'activité, s'assurer que les éléments critiques pour la sécurité et critiques pour la sécurité sont conformes et fonctionnent est le développement 101. De la même manière qu'un pipeline CI/CD tire parti de l'automatisation pour réduire le temps de mise sur le marché, des résultats de test plus efficaces et une meilleure utilisation du budget, une TARA peut réduire le temps passé à résoudre les bogues et les menaces de sécurité tout en atténuant les problèmes futurs et en identifiant les actifs non conformes.

Des essais tels que analyse statique peut aider à la conformité MISRA tandis que Parasoft C/C++test offre une solution unifiée d'automatisation des tests logiciels qui englobe les méthodes de test SAST et DAST ainsi qu'un support pour atteindre les normes FuSa de l'industrie.

Vous voulez voir comment Parasoft C/C++test peut vous aider à atteindre et à démontrer la conformité aux normes ?

« MISRA », « MISRA C » et le logo triangulaire sont des marques déposées de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Tous droits réservés.

Par Ricardo Camacho

Ricardo Camacho, directeur de la conformité en matière de sûreté et de sécurité, guide la stratégie et la croissance des solutions d'automatisation des tests logiciels de Parasoft pour le marché embarqué de la sûreté et de la sécurité critiques. Avec plus de 30 ans d'expérience dans les systèmes et l'ingénierie logicielle des systèmes en temps réel, Ricardo est un leader d'opinion pour les normes telles que ISO 26262, DO-178C, CEI 62304, CEI 61508, CEI 62443, DO-326A, etc.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.