Développement logiciel

Formation sécurité logicielle et management du risque CWE, ASIL, MISRA, des normes à connaître et des bonnes pratiques

Résumé

Durée : 14 heures sur 2 jours
Objectifs :
 identifier les risques internes et externes
 spécifier et tester un produit
 comment envisager la tolérance aux pannes
Pré-requis : avoir des besoins métier.
Public : toute personne ayant une expérience métier (informatique, électronique, mécanique, ...) ou en gestion de projet
Méthodes mobilisées : alternance d’apports théoriques et d’exercices de mise en application pratique. Chaque aspect théorique est illustré par des exemples concrets issus de cas réels de traitements en embarqué. Des travaux pratiques mettant en œuvre l’ensemble des savoirs sont réalisés dans des machines virtuelles et sur des cartes réelles.
Modalités et délais d’accès : sur inscription préalable au minimum 1 semaine avant le début de la formation selon disponibilité du formateur.
Modalités d’évaluations : une évaluation du niveau des stagiaires est réalisée avant l’entrée en formation par téléphone ou au moyen d’un questionnaire. Évaluation des acquis et de la satisfaction en fin de formation.
Accessibilité aux personnes en situation de handicap ou présentant des difficultés d’apprentissage : nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement (les précisions).
Taux de satisfaction 2i2L : 96,34 % des stagiaires sont satisfaits à l’issue de leur formation.
Tarif : pour une demande de formation interne, nous consulter.

Présentation

Dans le monde du développement de produits industriels le terme sécurité s’utilise au regard d’un grand nombre de risques : les bugs, les mauvais usages, les défaillances. Que ce soit sur le volet matériel ou sur le logiciel, l’identification, la classification et plus généralement la gestion des risques sont des enjeux importants. Plusieurs normes et méthodes existent (ASIL, SIL, CWE, MISRA, ...) qui donnent aux équipes une base commune pour évaluer et intégrer la gestion des risques à un projet. Cette formation est une introduction à ces méthodes.

 SIL : Safety Integrity Level &
 ASIL : Automotive Safety Integrity Level
 IEC61508 : Basic Safety Publication - Publication Fondamentale De Sécurité
 CWE : a community-developed list of software and hardware weakness types
 ...

Programme

Qu’est-ce que la sécurité ?
La première partie est une présentation et un rappel sur les différents types de risques dont il faut tenir compte dans un projet, présentation de l’approche ASIL.
 Quand l’impossible survient : Le bug intervient toujours sur ce qui n’avait pas été testé. Le fiabilité d’un produit, c’est en premier lieu d’envisager ce qui se passe quand l’impossible se produit.
 Risque exogène et malveillance : L’utilisateur peut faire action non prévues, parfois chercher à contourner une sécurité voir faire volontairement une action malveillante. Parce qu’un système est rarement isolé, il faut considérer l’environnement et les acteurs externes.
 Tolérance aux pannes : Une partie du système peut tomber en panne. Continuer à fonctionner ou tout arreter, souvent un choix difficile qu’il faut envisager dès la conception.

Les spécifications : enjeux et risques
Dans tout projet, les spécifications sont un point de départ mais aussi un fil rouge que tous les participants doit pouvoir s’approprier. Des spécifications efficaces sont avant tout un guide qui doit se focaliser sur l’essentiel et être compris.
 Formalisme : normes, culture d’entreprise, adaptations aux besoins d’un projet
 Cycle de vie et modifications : l’importance de tracer les évolutions et l’adéquation avec les tests
 Introduction au management de la qualité

Les tests, les tests et les tests
Les tests sont un sujet souvent mal considéré. Bien que tous les concepteurs ou développeurs son conscient de l’importance des tests, il faut garder tout au long du projet un juste équilibre entre le temps qui leur est consacré et les informations qui en ressortent. Avoir une véritable stratégie de test est un processus à part entière du projet.
 Tests unitaires et intégration continue : une évidence, mais que test-on vraiment ?
 Simulation et test in-situ : du début du projet jusqu’à la livraison, les outils évoluent et les tests aussi.
 Recherche des cas non prévus et fuzzing : pousser le système à la faute pour mieux envisager le monde réel
 CWE et CVE : suivre et intégrer les anomalies que des acteurs externes ont pu détecter

La tolérance aux pannes
On ne peut pas éviter les pannes, mais la tolérance à celles-ci ou le comportement du système peuvent se prévoir.
 Présentation d’outils et méthodes : SIL, MISRA
 La redondance : atout pour le système et contraintes pour le projets

Le cycle de vie
La gestion des risques ne se limite pas au jour de la livraison. Tout au long du cycle de vie du produit, envisager le suivi réactif et proactif de la gestion des risques. Comment envisager la mise en place d’un référentiel des connaissances et éventuellement la formation des personnes en charge des évolutions et de la maintenance.