Ouvrir le menu Fermer le menu

Santé connectée : techniques d'assurance qualité pour développer des applications sécurisées

trait de séparation
En matière de santé et notamment de soins, la connectivité apporte d'énormes avantages aux professionnels et aux patients, et cette tendance devrait se poursuivre et même s'accélérer.

Cependant, la cybersécurité est un réel problème qui en découle, et bien que tout le monde reconnaisse la nécessité d'une architecture sécurisée au niveau de l'IT de l’entreprise, développer des équipements médicaux sécurisés est plus souvent négligé, alors que c’est d'une importance vitale.

Grâce à l'utilisation de données en temps réel provenant d'un large éventail de sources, les patients et les prestataires bénéficient d'une efficacité opérationnelle améliorée, au prix toutefois d’un sérieux inconvénient : à mesure que le nombre de dispositifs médicaux en réseau augmente, le nombre de points différents (« vecteurs d'attaques ») accessibles à tout acteur malveillant cherchant à manipuler ou corrompre les données augmente également, comme le démontre quelques exemples récents.
En 2011, le pirate éthique Barnaby Jack a braqué les projecteurs sur le problème en utilisant des antennes et des logiciels modifiés pour démontrer comment, via une connexion sans fil, attaquer et prendre le contrôle des pompes à insuline implantables de Medtronic et leur ordonner d'administrer une dose mortelle d'insuline.

Le 23 août 2017, par exemple, la Food and Drug Administration (FDA) aux États-Unis a approuvé une mise à jour du firmware afin de réduire le risque de préjudice pour les patients en raison de l'exploitation potentielle des vulnérabilités de cybersécurité pour certains stimulateurs cardiaques Abbott (anciennement St.Jude Medical).
Santé_Connectée_Mapping-LDRA-ISIT
L'attaque de malware WannaCry contre le National Health Service (NHS) du Royaume-Uni est un autre exemple de 2017. Le malware a exploité l'implémentation Windows du protocole Server Message Block (SMB) pour se propager, ciblant les scanners IRM et CT, qui fonctionnaient sur les postes de travail XP. Ces dispositifs médicaux ont été cryptés et détenus contre rançon, ce qui a empêché un traitement sûr et efficace des patients.

L'attaque aurait touché plus de 200 000 ordinateurs dans 150 pays, avec des estimations des dommages totaux allant de centaines de millions à des milliards de dollars.

Défense en profondeur

La diversité de la nature des attaques explique pourquoi aucune mesure défensive unique ne peut jamais résoudre le problème.

Il y a des protections de bases à mettre en œuvre, telles que la mise à jour d’anciens systèmes d'exploitation, la sécurisation des protocoles ou encore assurer la mise à jour et la validation des applications et des firmwares. Mais même avec ces précautions, il existe d'innombrables façons d'attaquer un système et un attaquant n'a besoin que d'une seule vulnérabilité pour réussir.

Selon le professeur James Reason, de nombreux aspects de l'activité médicale nécessitent une intervention humaine et l'inévitable erreur humaine qui l'accompagne. Mais en général, il y a tellement de niveaux de défense que pour qu'une erreur médicale se produise, une séquence entière d'erreurs est nécessaire.

Le professeur Reason a comparé cela à une suite de tranches « d’emmental suisse », sauf que dans son modèle, les trous dans les « tranches » bougent, se ferment, s’élargissent et se rétrécissent à jamais.

Tout comme les vérifications et contrôles applicables à l'entrée humaine dans les systèmes médicaux, une approche à plusieurs niveaux de la cybersécurité est très logique, de sorte que si les agresseurs franchissent la première ligne de défense, il y en aura d'autres en attente.

Les approches et les technologies qui peuvent contribuer à ces défenses comprennent les architectures réseau sécurisées, le chiffrement des données, le middleware sécurisé et la séparation des domaines.
Santé_Connectée_Fromage-LDRA-ISIT
Les dispositifs médicaux méritent cependant une attention particulière. Pour un agresseur, l'infrastructure à laquelle sont connectés les dispositifs médicaux sont la vraie cible et les équipements connectés fournissent les moyens d’y accéder.

Dispositifs médicaux et cybersécurité

Dans le passé, les équipements médicaux embarqués étaient généralement destinés à répondre à une seule fonction, avec une application unique pour l’équipement. L'isolement était une garantie suffisante de sécurité. L'approche de la cybersécurité et du développement de logiciels sécurisés avait tendance à être réactive : développer le logiciel, puis faire des tests de pénétration, du « fuzzy testing » et des tests fonctionnels pour révéler les faiblesses.

La pratique du « patching » pour remédier aux vulnérabilités constatées sur le terrain est essentiellement une extension de ce principe, mais les fabricants d'appareils ont de grosses difficultés en termes de livraison de patchs en temps et en heure.

Conscient de ce problème et de cette situation, en octobre 2018, la MITRE Corporation et la FDA ont publié leur manuel intitulé « Medical Device Cybersecurity playbook » décomposant quatre phases : préparation, détection et analyse, confinement/éradication/récupération et récupération après incident.

Adopter une approche proactive de la cybersécurité dans les dispositifs médicaux, la phase « préparation » est peut-être l'élément clé à prendre de ce cycle de réponse aux incidents - non seulement pour identifier les mesures de sécurité qui sont en place pour les dispositifs existants, mais pour les intégrer de manière proactive dans de nouveaux produits.

Une approche de la conception en cybersécurité consiste à reprendre les processus de développement préconisés par les normes de sécurité fonctionnelle telles que l’IEC 62304 « Logiciel pour dispositifs médicaux - Processus du cycle de vie des logiciels ».

L’IEC 62304 fournit un cadre commun pour développer des logiciels qui remplissent pleinement les exigences relatives à la qualité, aux risques et à la sécurité des logiciels dans tous les aspects du cycle de vie du développement logiciel.

L'utilisation d'un cycle de vie de développement structuré de cette manière permet non seulement d’appliquer les meilleures pratiques de développement, mais crée également une collection d'artefacts traçables qui sont inestimables pour aider à fournir une réponse rapide en cas de brèche de sécurité.

Au-delà des implications de sécurité, cette approche répond à la recommandation de la FDA selon laquelle tout dispositif médical ne doit pas permettre que des données sensibles soient accessibles par une entité non autorisée. Les données doivent rester protégées et intègres, empêchant les pirates de modifier un diagnostic ou des informations importantes sur le patient.

Développement de code sécurisé

La conformité vis-à-vis des processus préconisés par la réglementation peut être démontrée plus efficacement par l’utilisation d’outils automatisés.

Bien qu'il existe certaines différences entre le développement d’une application fonctionnellement sûre et d’une application cyber sécurisée, il y a également de nombreuses similitudes. Par exemple, les deux approches demandent dès le départ la définition d'exigences appropriées et la traçabilité bidirectionnelle de ces exigences pour s'assurer qu'elles sont complètement mises en œuvre.

Les tests unitaires et l'analyse dynamique sont également applicables à la fois à la sécurité fonctionnelle et à la cybersécurité, et dans ce dernier cas, ils sont essentiels pour garantir (par exemple) que les mécanismes de défense sont efficaces et qu'il n'y a pas de vulnérabilités aux attaques là où les valeurs limites sont appliquées.

L’IEC 62304 exige également l'utilisation de normes de codage pour restreindre l'utilisation du langage de programmation spécifié à un sous-ensemble sûr. Dans la pratique, le code écrit pour être fonctionnellement sûr est généralement également sécurisé car les mêmes erreurs dans l'application du langage de programmation posent souvent des problèmes de sécurité et de sûreté.
Santé_Connectée_Complexité-LDRA-ISIT

Conclusions

Aucun système médical connecté ne sera jamais à la fois utile et absolument impénétrable. Il est logique de le protéger proportionnellement au niveau de risque impliqué s'il devait être compromis, et cela signifie appliquer plusieurs niveaux de sécurité.

Les dispositifs médicaux eux-mêmes méritent une attention particulière car ils constituent le principal moyen de menace. L'approche de développement via une norme de sécurité fonctionnelle telle que l’IEC 62304 peut fournir le cadre idéal pour adopter une approche proactive de développement d'applications sécurisées.

Heureusement, bon nombre des techniques d'assurance qualité utiles pour développer des applications sécurisées sont d’ores et déjà connues et bien éprouvées depuis des années dans le domaine de la sécurité fonctionnelle. Ces techniques comprennent une analyse statique pour garantir l'application appropriée des normes de codage, des tests dynamiques et de couverture du code pour vérifier le code et la traçabilité des exigences tout au long du processus de développement.

L'héritage d'un tel processus de développement comprend un ensemble structuré d'artefacts qui constituent une référence idéale en cas de brèche de sécurité. Étant donné la nature de la bataille sans fin entre les pirates et les fournisseurs de solutions, l'optimisation des temps de réponse aux violations n'est pas simplement une bonne idée. C'est une bouée de sauvetage potentielle.

1