Mesures de sécurité modernes pour les appareils médicaux portables

Le 28/11/2016 à 16:02 par La rédaction

Les appareils médicaux portables rencontrent un succès croissant et les données personnelles sont désormais collectées à un rythme inédit. Malheureusement, une grande partie de ces informations privées sont transmises et stockées avec peu d’attention accordée à la sécurité.

Comment cela est-il possible ? Le marché des appareils médicaux portables est extrêmement concurrentiel et oblige les fabricants à présenter rapidement des appareils riches en fonctionnalités pour être les premiers sur le marché. La pression du marché pour commercialiser avec des cycles de conception très courts limite la capacité à se concentrer sur la mise au point de mesures de sécurité efficaces. Dans l’industrie médicale, il est primordial que les données personnelles soient stockées et transmises dans un format qui garantisse un accès en temps réel, tout en mettant en œuvre des protections fortes pour empêcher tout accès ou utilisation non autorisé.

 

Surveillance de notre style de vie quotidien
Les professionnels médicaux sont désormais capables de surveiller à distance les signes vitaux de leur patient tout au long de la journée, qu’il s’agisse de l’activité du cerveau le matin, l’activité du cœur pendant la conduite d’un véhicule dans le trafic l’après-midi, ou les niveaux de glucose dans le sang lors d’un en-cas le soir (Figure 1). Les appareils médicaux portables d’aujourd’hui peuvent surveiller un éventail de mesures telles que la température, le rythme cardiaque, la pression artérielle, le taux de glucose, la respiration, le pH, la consommation d’alcool, l’absorption de nicotine et bien d’autres. Le fait que ces appareils puissent être implantés dans le corps humain permet virtuellement  de surveiller et stocker toutes les mesures physiologiques. Ces données fournissent non seulement une vision claire des habitudes quotidiennes, mais aussi un instantané de l’évolution, dans le temps,  de l’état de santé de l’utilisateur.

 

Figure 1 :Les professionnels de santé d’aujourd’hui peuvent surveiller à distance l’activité quotidienne d’un patient. 

 

Malheureusement, ces données peuvent être exploitées par des cybercriminels, ou utilisées par des organismes institutionnels, par exemple des compagnies d’assurance, pour augmenter les primes ou réduire les prestations. En outre, les appareils portables fournissent aux cybercriminels l’opportunité de s’introduire dans des réseaux privés pour accéder à d’autres appareils connectés à ces réseaux.

Les appareils simples ne sont pas épargnés

Aux États-Unis, des cybercriminels sont soupçonnés d’avoir utilisé des adresses électroniques et des mots de passe divulgués, pour se connecter aux comptes des utilisateurs d’un appareil portable très populaire. Ce type de méfait ne fait que souligner le besoin de sécurité. Les pirates ont modifié les détails du compte et tenté de frauder la société en commandant des articles de remplacement utilisant la garantie utilisateur. Dans ce cas, les appareils eux-mêmes n’ont pas été piratés, mais la nature hautement personnelle des données piratées démontre la nécessité d’une sécurité qui va au-delà des identifiants de connexion et mots de passe. En fait, des vulnérabilités ont été identifiées dans les appareils portables. Celles-ci compromettent l’appareil lui-même ou les appareils auxquels il se connecte pour partager et afficher des données. Des chercheurs ont démontré la possibilité de pirater un appareil portable à travers une vulnérabilité Bluetooth qui permet non seulement de manipuler les données stockées, mais aussi d’utiliser l’appareil pour envoyer du code sur un ordinateur pour faire passer le piratage au niveau supérieur.

 

Compte tenu de la nature personnelle des données collectées, les tendances actuelles semblent indiquer que les agences gouvernementales et les clients vont imposer des niveaux de sécurité supérieurs sur ces appareils. A charge aux développeurs des appareils de concevoir des protections intégrées contre les attaques communes, notamment l’interception, la modification des données et l’usurpation d’identité. 

 

Examen approfondi du matériel

Lors de la conception d’un appareil portable, il est primordial de choisir les bons processeurs. Les cycles de développement courts limitant le temps consacré aux fonctionnalités de sécurité, les processeurs à blocs IP de sécurité intégrés servent de fondation pour maximiser la sécurité des données et de l’appareil. Les processeurs de type SoC (System-on-Chip – SoC) pour appareils portables offrent les fonctionnalités matérielles nécessaires permettant d’authentifier le logiciel avant l’exécution, d’encoder les données résidentes, de signer les données pour en maintenir l’intégrité et de partitionner l’appareil pour empêcher les logiciels malveillants d’accéder au système. Les fonctionnalités de sécurité du processeur à rechercher incluent : démarrage sécurisé (secure boot), fusibles de sûreté (fuse boot), moteurs cryptographiques et partitionnement de l’appareil.

 

L’importance du démarrage sécurisé
Le stockage des clés de sécurité pour le cryptage/décryptage et les fonctions de hachage intégrées à l’électronique sont essentiels à la sécurité de l’appareil. Pour correctement s’assurer que le logiciel n’a pas été altéré par des modules logiciels, celui-ci doit être authentifié avant son exécution. Cela commence par l’authentification du code de démarrage et continue avec le système d’exploitation, les logiciels de base (middleware) et les applications afin d’établir une chaîne de confiance hiérarchique (Figure 2). Conceptuellement, une chaîne de confiance est une suite de couche logicielle  dans laquelle les différentes couches logicielles sont authentifiées hiérarchiquement pour valider leur intégrité avant la levée du contrôle et l’autorisation d’exécution. Dans certains cas, des données sécurisées peuvent

nécessiter un décryptage en plus de leur contrôle d’intégrité. L’authentification et le décryptage des données sécurisées s’effectuent à l’aide de clés de sécurité programmées dans un support de stockage sécurisé de l’appareil. A cette fin, les processeurs (SoC) modernes pour appareils portables offrent des fonctionnalités de stockage des clés de sécurité. Les clés de sécurité peuvent être programmées en dur, pendant la phase de fabrication, dans une mémoire sécurisée spécialisée et isolée pour éviter toute altération grâce à l’utilisation de fusibles de sûreté. Les modes de démarrage des appareils déployés peuvent être contrôlés afin que le système démarre toujours en mode sécurisé pour garantir l’authentification et la validation de chaque module logiciel chargé ou démarré. 

Le moteur cryptographique est indispensable
Le cryptage des données stockées et pendant leur transmission offre le niveau de protection le plus élevé. Pour que les opérations cryptographiques soient efficaces, il faut envisager des processeurs (SoC) avec moteurs cryptographiques. Le moteur cryptographique est un module matériel autonome conçu pour soulager le processeur principal des tâches de cryptage/décryptage. Étant donné que le moteur cryptographique est un bloc IP autonome, les pirates peuvent avoir des difficultés à obtenir les techniques permettant d’accéder au processus de cryptage. L’utilisation de moteurs cryptographiques peut avoir un impact énorme sur la capacité de l’application à sécuriser les données rapidement et efficacement.

Le partitionnement de l’appareil doit également être envisagé
Le logiciel ARM® TrustZone® (mémoire sécurisée) peut être utilisé pour partitionner les ressources du système pour le stockage des clés de sécurité qui vont empêcher l’accès aux applications corrompues ou aux logiciels malveillants. L’isolement du logiciel peut être étendu au-delà de la mémoire du système pour inclure les entrées/sorties associées à la mémoire des appareils. Les ressources du système peuvent être masquées en mode sécurisé, n’étant ainsi accessibles qu’aux applications exécutées dans le domaine sécurisé. 

 

Le logiciel – la force vive derrière tout appareil médical portable

Le choix du bon matériel avec les fonctionnalités de sécurité adaptées est une étape importante dans la fabrication d’un appareil médical portable sécurisé. Toutefois sans les logiciels appropriés, l’exploitation des fonctionnalités de sécurité du matériel peut requérir le développement de code supplémentaire qui alourdit encore les coûts de développement, les délais et la sécurité. Plus grave, un logiciel inapproprié peut entraîner l’oubli d’une ou d’un ensemble de fonctionnalités de sécurité. Il faut impérativement un système d’exploitation (OS) dont la structure prend en charge les blocs IP de sécurité dans le processeur, le moteur cryptographique et le démarrage sécurisé, avec la gestion des algorithmes et des codes de cryptage. Le système d’exploitation adéquat doit inclure une structure qui permette la mise en œuvre d’une chaîne de confiance pour l’authentification des logiciels avant l’exécution du code. Ceci est nécessaire pour vérifier que le logiciel n’a pas été modifié. Comme les informations personnelles de santé sont vitales et confidentielles, le système d’exploitation devrait donc aussi pouvoir stocker les données dans des fichiers sécurisés. Cela va au-delà de la protection par mot de passe. Une protection supplémentaire par cryptage des données permet de garantir que les données ne pourront être lues et modifiées que par des utilisateurs autorisés, c’est essentiel à la sécurité de l’appareil. Les appareils portables étant généralement limités en ressources, les bibliothèques cryptographiques doivent donc être peu volumineuses tout en offrant une fonctionnalité équivalente à OpenSSL. Et compte tenu de la mémoire limitée, l’environnement d’exploitation doit également prendre en charge l’exécution sur place et le chargement dynamique à la fois pour l’exécution et le système de fichiers. Dans le système de fichiers, les fonctions de cryptage et de hachage doivent être prises en charge pour empêcher les données d’être compromises.

 

Mises à niveau et mises à jour
Une exigence clés des appareils portables médicaux est qu’ils puissent être mis à jour avec les derniers correctifs de sécurité. La pression du marché incite les fournisseurs de processeurs (SoC) à y intégrer une version d’un système d’exploitation temps réel gratuit ou Linux, ainsi que des composants logiciels et pilotes propriétaires ou ouverts (Open Source). Le fabricant d’appareils médicaux portables choisit le processeur en fonction du prix et des fonctionnalités en y incluant les logiciels associés. L’inconvénient de ce processus est qu’en cas de problème de sécurité identifié, personne n’a le savoir-faire, ni la capacité de corriger le logiciel une fois qu’il est expédié. Le fabricant du processeur est occupé à concevoir la version suivante du processeur et peut ne pas avoir de processus pour mettre à jour ou corriger les anciennes versions du logiciel. Et le système d’exploitation (OS) n’offre probablement pas la structure permettant de mettre à jour dynamiquement un module logiciel ou au besoin l’intégralité du système d’exploitation. 

 

Un système d’exploitation professionnel permettant les mises les mises à jour mineures ou majeures des logiciels pour appliquer les correctifs de sécurité  au fil de leur découverte est un composant essentiel à la sécurité d’un appareil médical portable.

 

Isolation des composants des logiciels

Les appareils portables sont généralement équipés de processeurs (SoC) à basse consommation. Ces processeurs disposent d’unités de protection mémoire (MPU) qui peuvent être utilisées pour partitionner la mémoire et offrir un contrôle d’accès aux zones de la mémoire. Avec le système d’exploitation adapté, les fonctions de partitionnement spatial  offertes par la MPU peuvent être exploitées pour isoler les composants logiciels (Figure 3).  Cela renforce non seulement la fiabilité du système, en contenant les erreurs dans un processus unique sans dégradation de l’intégralité du système. Cela permet également de partitionner en sous-systèmes les modules logiciels pour le chargement 

Figure 2 :Nucleus Process Model est une approche allégée du partitionnement de l’espace pour créer
des zones de mémoire protégées.

 

et le déchargement des mises à jour logicielles. La prise en charge du partitionnement de l’espace a toujours été une fonctionnalité essentielle des systèmes d’exploitation haut de gamme polyvalents tels que Linux.  Cependant, les coûts associés à la virtualisation de la mémoire et un manque de déterminisme temps réel ont limité l’intégration de Linux dans les systèmes temps réel. Et bien sûr, la taille de Linux empêche son utilisation en tant que système d’exploitation d’appareils portables basés sur un microcontrôleur (MCU). Un système d’exploitation allégé avec un modèle de traitement permet le chargement dynamique des appareils portables basés sur MCU ou des processus plus avancés.

 

Mettre la sécurité en place

Comme les fournisseurs de matériels incorporent de plus en plus de sécurité dans leurs nouveaux processeurs (SoC), les développeurs de logiciels doivent donc choisir un système d’exploitation offrant des fonctionnalités complètes.  Il est essentiel que le système d’exploitation choisi soit hautement évolutif pour prendre en charge les exigences inhérentes aux appareils limités en ressources. Ce même système d’exploitation doit également inclure une structure de sécurité qui permette aux développeurs d’améliorer la sécurité de l’appareil. Le système d’exploitation en temps réel Nucleus Real-Time Operating System (RTOS) de Mentor Graphics avec une structure à modèle de processus rencontre une grande popularité, car il répond aux besoins et aux exigences de sécurité de ces systèmes embarqués. Particulièrement, ce système d’exploitation particulier offre aux développeurs un avantage considérable lors de la sécurisation d’un appareil médical portable d’aujourd’hui.

 

Auteur : Andrew Caples, chef de produit de la division des systèmes embarqués (Embedded Systems Division) de Mentor Graphics, www.mentor.com

Local contact : Marie Almeida, EMEA PR Manager Mentor Graphics, marie_almeida@mentor.com

Copy link
Powered by Social Snap