Préparez le logiciel de votre dispositif médical pour le nouveau guide de cybersécurité de la FDA
Par Miroslaw Zielinski
4 Avril 2019
5 min lire
Alors que la FDA ajoute de plus en plus d'exigences en matière de cybersécurité dans ses nouvelles directives de validation logicielle, les fabricants de dispositifs médicaux peuvent se tourner vers l'analyse statique, la méthode la plus efficace pour répondre aux problèmes de sécurité et de sécurité et fournir des logiciels prévisibles.
Comme je l'ai mentionné dans un article de blog il y a quelques semaines, cette année à Embedded World, nous avons eu beaucoup plus de conversations avec les fabricants de dispositifs médicaux que jamais auparavant. J'ai donc pensé aborder le sujet de bon nombre de ces conversations, centrées sur la cybersécurité et l'analyse statique. Il est clair que les fabricants de dispositifs médicaux se concentrent sur l'amélioration de leurs processus de développement de logiciels pour (a) faire face aux menaces de sécurité croissantes, et (b) satisfaire les exigences de la FDA, qui deviennent de plus en plus précises.
Nouveau guide de cybersécurité de la FDA
Auparavant, la FDA se concentrait sur sécurité fonctionnelle aspects des systèmes, mais maintenant cybersécurité est un sujet d'égale importance. Même si la sûreté et la sécurité sont très similaires (et vous pourriez facilement affirmer que ces deux choses concernent simplement la création de logiciels prévisibles), la FDA considère maintenant la cybersécurité comme quelque chose qui nécessite une attention et des mesures spécifiques.
Une nouvelle norme FDA arrive. Dans le projet «Contenu des soumissions préalables à la mise sur le marché pour la gestion de la cybersécurité dans les dispositifs médicaux», nous pouvons lire:
«La nécessité d'une cybersécurité efficace pour garantir la fonctionnalité et la sécurité des dispositifs médicaux est devenue plus importante avec l'utilisation croissante des dispositifs sans fil, connectés à Internet et au réseau, des supports portables (par exemple USB ou CD), et l'échange électronique fréquent de dispositifs médicaux. informations relatives à la santé. »
Quelles sont les nouvelles exigences de la FDA?
Alors, qu'est-ce que les nouvelles exigences changent pour l'organisation typique développant des logiciels pour les dispositifs médicaux? Eh bien, les exigences des normes médicales auparavant n'étaient pas très spécifiques en ce qui concerne les recommandations de test. Même si nous examinons de près les documents réglementaires populaires, tels que la CEI 62304 ou les Principes généraux de validation logicielle de la FDA, nous ne trouverons pas d'obligation d'utiliser une analyse statique ou des tests dynamiques avec couverture de code. Avec la nouvelle norme, cela devient plus clair, faisant directement partie de la soumission.
Au point VII.B du «Contenu des soumissions préalables à la mise sur le marché pour la gestion de la cybersécurité dans les dispositifs médicaux», nous pouvons trouver les recommandations concernant le contenu du rapport de gestion des risques d'un dispositif de confiance:
«4. Une description des tests effectués pour garantir l'adéquation des contrôles des risques de cybersécurité… c) une analyse de code statique et dynamique, y compris des tests pour les informations d'identification qui sont «codées en dur», par défaut, facilement devinables et facilement compromises
Il s'agit d'une recommandation claire pour définir et suivre le processus d'analyse statique. Comment faire? Beaucoup dépend des processus existants dans l'organisation et des technologies utilisées pour le développement.
Comment adopter l'analyse statique pour les nouvelles exigences de développement de logiciels de la FDA
Beaucoup de nos clients de dispositifs médicaux, en partant de zéro, ont réussi à introduire analyse statique pour C / C ++ en suivant ces étapes:
- Passez en revue les directives existantes dans l'organisation et, même si elles sont conçues pour être appliquées manuellement, mappez-les autant que possible aux contrôleurs fournis avec l'outil d'analyse statique. Un outil d'analyse statique mature couvrira probablement la plupart d'entre eux, et vous pouvez envisager de créer des contrôleurs personnalisés pour les lignes directrices restantes qui n'ont pas pu être mappées immédiatement aux contrôleurs d'analyse statique.
- Passez en revue les normes de codage populaires, en particulier celles créées avec la sécurité à l'esprit, et sélectionnez un sous-ensemble de directives que votre équipe doit suivre. Lors de la sélection des lignes directrices, il est logique de suivre la catégorisation à partir des normes et de sélectionner les lignes directrices classées comme les plus importantes. Par exemple, pour les directives CERT, vous voudrez probablement commencer par les directives L1, et pour MISRA C 2012 (avec l'amendement 1), vous voudrez revoir les directives obligatoires.
- Définissez la configuration de l'outil d'analyse statique et incluez les directives spécifiques à votre organisation et les directives sélectionnées (par exemple CERT). N'activez pas tous les vérificateurs à la fois, mais commencez par un petit sous-ensemble pour éviter d'inonder les développeurs de violations.
- Assurez-vous que vos développeurs sont en mesure de scanner leur code immédiatement après sa création. Il est également judicieux d'inclure l'analyse statique dans le processus CI / CD.
- Au fur et à mesure que les développeurs progressent et nettoient le code source, assurez-vous d'activer progressivement plus de vérificateurs de votre liste. En fin de compte, vous souhaitez fournir la preuve que vous vous conformez à l'ensemble des directives que vous avez sélectionnées (et non que vous vous êtes arrêté à mi-chemin). Pour mieux vous orienter dans le processus et comprendre votre progression actuelle, vous pouvez déployer un système de reporting central pour vous aider à agréger les données de test et à surveiller le travail du développeur. Voir l'exemple ci-dessous:
Démonstration de l'adéquation de l'outil d'analyse statique (qualification de l'outil)
Étant donné que les rapports d'analyse statique font partie du système de gestion de la qualité, vous ne pouvez pas utiliser n'importe quel outil. La FDA exige que tous les outils utilisés dans le développement et la vérification du logiciel soient validé pour l'usage prévu. Il existe différentes façons de démontrer l'aptitude de l'outil à être utilisé dans le cadre d'un développement critique pour la sécurité. Selon le risque de l'appareil, cela peut être aussi simple que de réutiliser un certificat de conformité ou de terminer le processus plus long de qualification d'outils.
Utilisation d'une certification TÜV SÜD
Pour l'utilisateur final, l'option la plus pratique est de s'attribuer le mérite du travail effectué par le fournisseur de l'outil et de réutiliser la certification accordée pour l'outil de test par un organisme de certification externe tel que TÜV SÜD. Parasoft C / C ++test , par exemple, est couvert par une certification TÜV SÜD qui peut être réutilisée pour démontrer l'aptitude au développement de logiciels conformément aux normes médicales telles que CEI 62304.
Exécution de la qualification des outils
Pour les périphériques à haut risque tels que la classe C, vous devrez peut-être valider l'outil en interne dans votre environnement de développement. L'intention est de fournir la preuve que l'outil fonctionne selon ses exigences opérationnelles, rassemblées dans l'environnement de développement du projet. C'est un processus très fastidieux et chronophage.
La meilleure situation est si votre fournisseur d'outils peut vous soutenir dans cet effort et fournir un kit de qualification d'outil spécial, contenant des cas de test bien conçus, le cadre d'automatisation pour les exécuter dans l'environnement de développement du projet, et générer automatiquement la documentation qui peut servir de les preuves de la validation des outils. Là encore, le test C / C ++ produit phare de Parasoft, fournit un très bon support sous la forme du kit de qualification d'outils automatisé.
Durcissement des dispositifs médicaux
L'introduction de l'analyse statique est bien sûr un effort dédié, nécessitant du temps et des coûts pour les développeurs. Mais c'est un moyen éprouvé de renforcer votre système contre les attaques malveillantes. Le déploiement d'une analyse statique avec un ensemble bien pensé de consignes de sécurité vous permet de créer des systèmes capables de résister à de futures attaques imprévues.
« 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.