Protéger un logiciel (de) dispositif médical
Il y a quelques années j'ai travaillé sur un projet de retro-conception (ou "reverse engineering") de logiciel : le fabricant ne retrouvait plus le code source de son logiciel alors qu'il souhaitait le faire évoluer.
La récupération du code source d'un logiciel à partir de son code binaire est parfaitement faisable. De fait, ce projet s'est conclu par un succès.
Mais quelles seraient les conséquences, pour un fabricant de logiciel (de) dispositif médical, si l'exécutable de son logiciel était soumis à ce traitement par un de ses concurrents ?
Pour prévenir ce cas de figure, traitons la protection du logiciel dans le cadre de cet article. Elle s'agence en deux volets qui se complètent l'un l'autre :
- la protection par conception du logiciel et
- la protection juridique du logiciel.

La protection par conception d'un logiciel (de) dispositif médical repose sur le secret
L'objectif de la protection par conception est de rendre le code source du logiciel (de) dispositif médical difficilement accessible à toute personne souhaitant le récupérer.
On distingue quatre grandes approches pour assurer cette protection :
- l'obfuscation,
- le cryptage,
- la spécialisation et
- l'exécution distante.
L'obfuscation consiste à modifier le code source du logiciel pour le rendre très difficilement lisible par la personne susceptible de le récupérer.
En fonction de l'obfuscateur considéré, différentes approches sont mises en œuvre : suppression des commentaires, modification des identifiants de méthodes et d'attributs, modification de la visibilité des variables, transtypage, suppression des styles de codage…
Moyennant quelques précautions pour le choix de l'obfuscateur, cette approche peut aussi permettre d'optimiser le logiciel, notamment par la réduction de la quantité de mémoire requise pour son exécution.
La protection par cryptage consiste à rendre le code du logiciel inaccessible en l'absence de la clef de décryptage.
Parmi les différents algorithmes de cryptage qui existent, le choix est à considérer au regard de l'environnement et du mode d'exécution du logiciel.
Par ailleurs, cette approche peut ralentir le lancement ou l'exécution du logiciel en fonction de sa mise en œuvre.
La spécialisation consiste à compiler le code source pour une plateforme matérielle très spécifique.
Plus la plateforme présentera de particularités et plus l'existence d'un décompilateur efficace sera remise en cause.
Cette approche peut s'avérer particulièrement adaptée dans le cadre de dispositifs médicaux matériels incorporant du logiciel (DMIL).
Quant à l'exécution distante, elle consiste à faire reposer l'exécution du logiciel sur une infrastructure client / serveur.
Plusieurs configurations sont possibles néanmoins l'opportunité de cette approche doit être étudiée au cas par cas.
En effet, l'exécution de code distant requiert une connexion vers l'extérieur depuis le réseau des utilisateurs du logiciel (de) dispositif médical ce qui peut augmenter leurs risques de cybersécurité.
Ces approches sont complémentaires les unes des autres. Néanmoins, les contourner n'est qu'une question de temps et de moyens mis en œuvre.
De ce fait, il est important que le logiciel soit aussi protégé juridiquement.
La protection juridique d'un logiciel (de) dispositif médical repose sur le droit d'auteur et le brevet
Dans le cadre d'un logiciel (de) dispositif médical on peut distinguer
- d'une part les codes et la documentation du logiciel et
- d'autre part les nouveaux algorithmes que le logiciel implémente.
Ces deux éléments bénéficient de protections juridiques distinctes.
1. Le logiciel et sa documentation sont protégés par le droit d'auteur
Le logiciel, notamment le logiciel (de) dispositif médical, est couvert par le droit d'auteur.
Il s'agit d'un droit exclusif de reproduction, d'adaptation, d'arrangement, de traduction et de distribution du logiciel qui interdit toute reproduction partielle ou totale du logiciel, sous quelque forme que ce soit (y compris la reproduction à des fins pédagogiques ou personnelles).
Le titulaire du droit d'auteur peut néanmoins concéder des licences d'exploitation ou d'utilisation du logiciel à titre payant ou gratuit.
Par ailleurs, dans un arrêté du 22 décembre 1981, la Commission ministérielle de terminologie informatique a défini le terme "logiciel".
Logiciel (n. m.) : Ensemble des programmes, procédés et règles, et éventuellement de la documentation, relatifs au fonctionnement d'un ensemble de traitement de données (en anglais : software).
Source : Journal Officiel de la République Française du 17 janvier 1982
Ainsi, d'un point de vue juridique, le terme "logiciel" désigne les éléments d'implémentation (les programmes) et les éléments de documentation du logiciel.
Sur cette base, le droit d'auteur couvre les éléments suivants d'un logiciel (de) dispositif médical :
- les enregistrements d'exigences du logiciel,
- les enregistrements de conception architecturale du logiciel,
- les enregistrements de conception détaillée du logiciel,
- l'interface utilisateur du logiciel (ou GUI pour "Graphic User Interface"),
- le code source du logiciel,
- le code binaire (ou code objet) du logiciel,
- le manuel utilisateur du logiciel et
- la / les procédure(s) ou instruction(s) d'installation.
2. Les algorithmes peuvent parfois être protégés par brevet
Un brevet ne peut porter que sur une invention nouvelle à l'exclusion des méthodes mathématiques et des programmes d'ordinateur.
Il confère à son titulaire le droit de décider si l'invention peut être réalisée, utilisée, distribuée ou vendue par des tiers et dans quelles conditions. Par défaut, le consentement du titulaire est requis.
Les algorithmes sont des suites d'opérations mathématiques qui permettent de traiter, d'exploiter et / ou d'optimiser des données. De ce fait, ils sont exclus des brevets.
Néanmoins, si l'algorithme est "nouveau" et comprend un caractère technique (des aspects matériels et logiciels par exemple) il peut faire l'objet d'un brevet.
En effet, l'Office européen des brevets (OEB), par la décision de la chambre de recours technique 3.5.1 du 21 avril 2004 dans le cadre de l'affaire Méthode d'enchères/HITACHI, a considéré qu’un algorithme intégré au sein d'une invention brevetable peut bénéficier d'une protection par brevet s'il contribue au caractère technique de l'invention.
L'opportunité de cette approche doit être examinée au cas par cas.
Intérêt pour le fabricant de dispositifs médicaux
Les logiciels (de) dispositifs médicaux présentent deux caractéristiques importantes :
- ils sont souvent mis au point dans le cadre de l'innovation et
- leur documentation technique est contrainte par la réglementation.
Qui plus est, la documentation technique du logiciel et l'exécutable correspondant sortent souvent des murs du fabricant avant même que le dispositif médical correspondant puisse être commercialisé :
- l'évaluation clinique / évaluation des performances du dispositif médical peut forcer l'installation du logiciel en externe avant son marquage CE et
- la documentation technique du logiciel peut être demandée par l'organisme notifié (ON) pour l'évaluation de conformité du dispositif médical.
Dans ce contexte, la protection du logiciel prend toute son importance.
De plus, la protection d'un logiciel (de) dispositif médical augmente les actifs de l'entreprise car un logiciel protégé a une valeur plus importante qu'un logiciel non protégé.
Pour en savoir plus
La protection par conception d'un logiciel (de) dispositif médical peut participer à la cybersécurité du logiciel.
Autres articles
Intérêt des normes harmonisées dans le cadre des logiciels dispositifs médicaux
EBIOS Risk Manager pour la cybersécurité des dispositifs médicaux
Prestations de conception et développement de logiciel (de) dispositif médical
Impact des logiciels SOUP sur les dispositifs médicaux (DM ou DMDIV)
Certification Qualité Hôpital Numérique (QHN) pour logiciel de santé
Langue du dossier technique d'un logiciel dispositif médical
Surveillance après commercialisation d'un logiciel dispositif médical (DM ou DMDIV)
Dispositions transitoires du Règlement (UE) 2017/745 pour les logiciels dispositifs médicaux
Conformité réglementaire de logiciel (de) dispositif médical
Qu'est-ce qu'un système de management de la qualité (SMQ) EN ISO 13485 ?
L'intelligence artificielle dans les logiciels (de) dispositifs médicaux
Attestation de conformité de logiciel dispositif médical (DM ou DMDIV)
Langue d'interface graphique de logiciel (de) dispositif médical
Utilité de la spécification d'utilisation d'un logiciel dispositif médical
Validation des logiciels pour les systèmes qualité des dispositifs médicaux
Norme CEI EN 82304-1 pour logiciel dispositif médical (DM ou DMDIV)
Dispositifs médicaux avec fonction de mesurage : identification et réglementation
Un guide sur la cybersécurité des dispositifs médicaux dans l'Union Européenne
Classification des logiciels (de) dispositifs médicaux (A, B, C…)
Les systèmes d'exploitation au regard de la cybersécurité des dispositifs médicaux
Cybersécurité des logiciels (de) dispositifs médicaux en France
Particularités de la gestion de risques de logiciel (de) dispositif médical
Détermination de besoins logiciels pour dispositifs médicaux : cas d'étude
Comment réduire le coût d'un logiciel (de) dispositif médical ?
Norme CEI 62366-1 et conception d'interfaces graphiques de logiciels (de) dispositifs médicaux
Norme EN 62304 et interface utilisateur des logiciels (de) dispositifs médicaux
Réglementation applicable aux logiciels (de) dispositifs médicaux