Pour préserver le secret médical et la protection des données personnelles, mais aussi ne pas mettre en danger la santé des patients, CLEIO applique les meilleures pratiques en cybersécurité dans le développement d’un logiciel embarqué dans un dispositif médical connecté. En voici quelques-unes.
Des objets médicaux connectés et convoités pour leurs données
L’IoMT permet de partager et de collecter des données médicales sans nécessiter une intervention humaine. Le logiciel embarqué enregistre, surveille et ajuste son fonctionnement à chaque interaction du patient avec l’objet.
À mesure que les objets médicaux connectés deviennent de plus en plus présents dans les organisations de santé, les cyberattaques se multiplient et risquent de nuire aux patients. Le but des hackers est de prendre le contrôle de l’IoMT à distance pour court-circuiter ses protections afin de divulguer des données personnelles confidentielles ou compromettre son fonctionnement.
Analyser les risques pour identifier les failles de sécurité
Une fois la phase de conception terminée, une analyse de risques, propre à chaque objet et à chaque produit, est menée avant de se lancer dans le développement du logiciel. Elle consiste à prendre en compte et à analyser tous les types de données qui vont être stockés dans le logiciel embarqué, ainsi que tous les types de connexion (Internet, Bluetooth, filaire). Plus le dispositif utilise des types de connexion différents, plus les risques sont importants.
4 trucs pour développer un logiciel embarqué de manière sécuritaire
Chez CLEIO, plusieurs bonnes pratiques peuvent être mises en œuvre pour garantir la sécurité d’un logiciel embarqué dans un objet médical connecté. Les plus courantes sont de sécuriser le code source, d’utiliser la cryptographie, d’appliquer des certificats de sécurité et de valider l’intégrité du code.
1. Sécuriser le code source
Rédigé sous forme de texte, le code source est l’ADN du logiciel. C’est lui qui donne des instructions pour que l’objet médical connecté effectue des tâches précises. Lors d’une cyberattaque, le hacker utilise un outil de décompilation afin de pouvoir modifier le code et prendre le contrôle du dispositif. Sécuriser le code source dans de la mémoire protégée permet d’éviter cela.
L’utilisation de ce type de mémoire rend la connexion depuis l’extérieur impossible. Cela signifie que le code source ne peut plus être réécrit en dehors de la phase de production. Or, il est important de pouvoir le maintenir à jour pour éliminer les failles de sécurité futures. C’est pourquoi il est nécessaire que cette mesure soit jumelée avec un chargeur d’amorçage pour permettre une mise à jour depuis l’extérieur via un processus secret.
2. Utiliser la cryptographie
La cryptographie permet de crypter les messages et les données échangés entre un patient et l’objet médical connecté.
C’est le cas, par exemple, dans l’utilisation d’un casque audio Bluetooth connecté à un cellulaire. Il est tout à fait possible d’imaginer qu’une personne puisse venir se connecter entre le cellulaire et les écouteurs afin d’écouter les conversations. En cybersécurité, on appelle cette pratique « l’attaque de l’homme du milieu ». Pour l’éviter, la cryptographie permet de remplacer les mots échangés par des valeurs aléatoires pour les rendre indéchiffrables.
3. Appliquer des certificats de sécurité
La certification est une technologie utilisée pour un logiciel embarqué qui fonctionne avec un serveur ou avec le cloud.
Le certificat est une clé qui permet de s’authentifier, notamment lors de l’envoi de messages. L’expéditeur est ainsi sûr d’avoir envoyé son message à la bonne personne, et le destinataire est certain que le message qu’il reçoit a été envoyé par un expéditeur authentique.
4. Valider l’intégrité du code
L’intégrité du code est une fonctionnalité qui protège un appareil contre les menaces. Sa validation garantit que le code source n’a pas été corrompu ou modifié pour y ajouter des logiciels malveillants.
Le risque zéro n’existe pas encore
Même si toutes ces bonnes pratiques sont appliquées, on ne peut pas encore garantir le risque zéro.
Cependant, à mesure que les développeurs prennent toutes ces mesures de sécurité dans le logiciel embarqué d’un objet médical connecté, l’effort pour exploiter ses failles potentielles devient considérable. Des milliers d’heures peuvent alors être nécessaires pour parvenir à contourner la sécurité mise en place.