recommandations

LES DONNEES DE SANTE sont des données hautement sensibles qui doivent être traitées de façon sécurisée et conforme à la protection des données. En tant que prestataire de services ICT de santé, vous - et votre solution ICT - êtes un élément essentiel de la chaîne de sécurité des informations, avec les prestataires de services de santé.

Afin de vous soutenir dans ce rôle tout au long de vos interactions avec le système public de santé, l'Agence eSanté, le Ministère de l'Economie et Securitymadein.lu have ont développé conjointement la présente directive qui contient 7 RECOMMANDATIONS dans le domaine de la sécurité des informations.

Les recommandations ci-dessous sont basées sur l'analyse d'entretiens avec des éditeurs de logiciel et des prestataires de services informatiques.

7 RECOMMANDATIONS ET BONNES PRATIQUES POUR LES PRESTATAIRES DE SERVICES ICT DE SANTE

Appliqué à la santé numérique, ce domaine se concentre sur l'utilisation de grandes clés de chiffrement ainsi que de différents mécanismes de cryptage et sur leur application aussi bien aux données qui circulent qu'aux données qui sont stockées.

Evitez de gérer les clés privées de vos clients et utilisateurs

La gestion des clés est essentielle pour l'usage sécurisé d'un système ou d'un logiciel. Il pourrait être pratique de gérer les clés privées de vos utilisateurs ou de vos clients, mais cela vous exposerait à plusieurs risques : les risques de perdre ces clés, de vous les faire voler par quelqu'un d'autre ou d'en faire un mauvais usage par accident, ce qui pourrait impliquer un risque de responsabilité en cas de litige. Si vous vous abstenez de gérer les clés privées des autres, ces risques disparaissent. Vous pouvez proposer d'aider à créer des clés, mais jamais vous occuper vous-mêmes des clés privées.

Utilisez le cryptage pour les données stockées

Toutes les sauvegardes que vous gérez ou auxquelles vous avez accès pour le compte de vos clients dans le secteur de la santé constituent des données médicales stockées. Il en est de même pour toutes les données que votre logiciel enregistre et conserve pour un usage ultérieur. Cela comprend les entrées de calendrier avec les données relatives aux rendez-vous, les journaux, les dossiers des patients, les informations sur les paiements, etc. Recourez au cryptage pour toutes les données qui sont contenues dans votre système ou votre logiciel. Cela peut se faire en utilisant un logiciel de chiffrement de disque ou un système de fichiers de chiffrement basé sur les fichiers (proposé par le système d'exploitation) ou en utilisant des bases de données chiffrées. Cela sera utile pour les protéger contre la divulgation en cas de vol ou de perte et l'altération, en particulier dans le secteur de la santé où l'impact de ces incidents sur les personnes concernées est très important. Pour comparer des logiciels de chiffrement de disque, vous pouvez utiliser ce lien.

Utilisez le cryptage pour les données en circulation (y compris une exportation totale)

Lorsque votre logiciel, votre client de messagerie ou votre système se connecte et échange des données avec d’autres systèmes (en dehors ou même au sein de votre propre réseau), pensez à configurer des connexions cryptées. Pour les connexions http, nous recommandons d'utiliser https. Désactivez ou remplacez toutes les connexions SSL ou les connexions TLS obsolètes par des connexions TLS valides (appliquez les recommandations de l'IANA et des codes de cryptage sécurisés). Pour les transferts de données, veuillez utiliser le protocole SFTP et éviter FTP à tout prix. Si des données sont envoyées par e-mail ou transférées vers un support de stockage quelconque, elles doivent être au moins protégées dans une archive codée (avec 7zip, par exemple). Les e-mails échangés entre votre entreprise et vos clients doivent aussi être cryptés – envisagez d’utiliser Regimail (fourni par l’Agence eSanté pour la communication entre professionnels) ou d’utiliser les plugins PGP qui sont également pris en charge par la plupart des logiciels de messagerie.

Utilisez une longueur de clé "optimale" pour votre algorithme de cryptage

L'utilisation de clés longues vous protège mieux contre les attaques par force brute. C'est pourquoi vous devez respecter les dernières recommandations en termes de longueur de clé, lesquelles changent avec le temps. Au moment de la rédaction de cette liste, par exemple :

  • Si vous utilisez le chiffrement symétrique (p. ex., AES), vous devez abandonner les clés de 128 bits et utiliser des clés de 256 bits.
  • Si vous utilisez le chiffrement asymétrique (p. ex., RSA), vous devez savoir que les clés de 1024 bits sont considérées comme obsolètes depuis 2002, et que les clés de 2048 bits sont recommandées par la communauté depuis 2015.

Pour les dernières recommandations, pensez à vérifier les sites tels que celui-ci ou celui-là du BSI.


Pensez à utiliser à la fois les cryptages symétriques et asymétriques

Le chiffrement symétrique utilise la même clé pour le chiffrement et le déchiffrement, contrairement au chiffrement asymétrique. Etant donné que tout le mécanisme du chiffrement symétrique dépend du fait que la clé est gardée secrète mais partagée avec une autre partie pour décrypter le contenu, l'adaptabilité est difficile et le risque de compromission est élevé. En dépit de ce problème de gestion de clés, le chiffrement symétrique est rapide et n'a pas tendance à épuiser les ressources de la CPU ou du réseau, ce qui n'est pas toujours le cas pour le chiffrement asymétrique. Le chiffrement asymétrique est un procédé beaucoup plus complexe que le chiffrement symétrique, mais tend à être plus sûr ; de plus, la clé privée n'est pas partagée, mais la clé publique l'est. Utilisez la cryptographie asymétrique quand vous avez besoin d'établir un canal de communication sécurisé, quand des signatures numériques sont requises ou pour les applications de messagerie ; le chiffrement symétrique convient lorsque de grandes quantités de données doivent être chiffrées et transférées.

En ce qui concerne le choix des algorithmes pour le chiffrement symétrique ou asymétrique, les recommandations récentes du BSI mentionnent

  • pour le chiffrement par bloc (chiffrement symétrique), l'usage d'AES-128, AES-192 et AED-256, ainsi que Twofish et Serpent;
  • que le chiffrement de flux n'est pas recommandé,
  • pour le chiffrement asymétrique, l'utilisation de RSA avec une longueur de clé minimale de 2048 bit et plus est recommandée.

• Vous pouvez aider vos clients à créer des clés, mais jamais vous occuper des clés pricées vous-même.
• Vous trouverez ici des informations utiles et une comparaison des logiciels de chiffrement de disque.
• Utilisez https, des connexions TLS valides et SFTP pour l'échange de données chiffrées.
• Pour les dernières recommandations concernant la longueur de clé pour le chiffrement, pensez à vérifier des sites tels que celui-ci ou celui-là à partir du BSI.

 

Pour les logiciels de santé numérique, ce domaine se concentre sur la nécessité de maintenir à la fois les applications de santé numérique et leurs systèmes sous-jacents à jour (en utilisant les dernières versions, des mises à jour et des patchs).

Tenez-vous informé et appliquez les patchs de sécurité nécessaires aussi bien au système d'exploitation qu'à l'environnement applicatif le plus rapidement possible

En ce qui concerne l'environnement que vous gérer ou que vous entretenez pour le compte de vos clients, tenez-vous informé et appliquez les patchs de sécurité nécessaires (en fonction de votre système d'exploitation et de votre environnement applicatif), planifiez vos mises à jour et informez vos clients de votre planning. A chaque fois que vous installez ces patchs ou ces mises à jour de sécurité, vous devez utiliser un compte ayant les privilèges minimum pour la tâche de mise à jour et de gestion des patchs.

Automatisez au lieu de vous reposer sur les utilisateurs

Il est essentiel de maintenir le logiciel à jour. Les utilisateurs peuvent oublier de garder un œil sur les mises à jour, ou peuvent simplement repousser leur installation parce que cela les dérange dans leur travail. C'est pourquoi vous ne devez pas vous reposer sur les utilisateurs pour qu'ils vous informent qu'ils ont besoin de mettre à jour leur logiciel. Téléchargez plutôt des mises à jour automatiques sur leurs postes de travail si cela est possible. Dans ce cas, n'oubliez pas qu'il est important d'avertir les utilisateurs avant d'actualiser quoi que ce soit, et faites votre mise à jour en dehors des heures ouvrables. Vous pouvez aussi programmer des contrôles sur site périodiques d'une autre manière.


• Tenez-vous informé et appliquez des patchs de sécurité régulièrement.
• Respectez la recommandation concernant les privilèges minimum.
• Pensez à activer des mises à jour automatiques en dehors des heures ouvrables.

Lorsque vous assurez la télémaintenance des postes de travail dans les cabinets médicaux, certaines bonnes pratiques concernant le démarrage, le déroulement et la fin des sessions distantes vous faciliteront le travail à long terme.

Pensez aux risques d'exfiltration des données quand vous accédez à des ordinateurs distants

Lors du débogage ou de la mise à jour à distance de postes de travail de clients, des erreurs ou des fautes (p. ex. téléchargement accidentel de données, divulgation accidentelle à des personnes étrangères) peuvent se produire. N'oubliez pas que, lorsque vous accédez à des postes de travail utilisateurs, il y a des risques d'exfiltration des données. Reposez-vous toujours sur les droits d'accès de l'utilisateur, évitez les connexions permanentes et assurez la journalisation et le traçage des activités effectuées.

Reposez-vous toujours sur les droits d'accès explicites de l'utilisateur pour toute session distante, et évitez autant que possible de rester connecté pendant de longues périodes sans raison particulière. Ceci est important car cela pourrait devenir un autre moyen pour des personnes malintentionnées d'accéder à un système.

Vos sessions distantes doivent être aussi brêves que possible

Pour ne pas perdre de temps, mais aussi pour des raisons de risque, mettez fin à votre session distante dès que possible après avoir effectué la tâche pour laquelle elle était nécessaire.

Ne demandez jamais de données d'authentification de votre utilisateur (p. ex., son mot de passe).

Ne demandez jamais le mot de passe de l'utilisateur ; utilisez toujours votre propre code d'accès et demandez à l'utilisateur de le taper pour vous. Uniquement en cas d'absolue nécessité, demandez à l'utilisateur de taper son propre code. Utilisez vos propres identifiants pour la tâche que vous devez effectuer à distance. Ceci est important car la connaissance d'un mot de passe peut engager votre responsabilité dans certains cas.

Assurez-vous que l'accès à distance est rompu par l'utilisateur ou automatiquement une fois que la tâche est accomplie.

Demandez à l'utilisateur de couper la connexion ou informez-le que la connexion est coupée.

Etant donné que la santé est un domaine dans lequel de grandes quantités de données médicales sont traitées par chaque cabinet médical, il est essentiel de penser à protéger toutes les données qui identifient des personnes contre la perte, le vol, l'altération ou les usages frauduleux.

Gardez à l'esprit les définitions de base

Les données personnelles sont toutes les données qui peuvent identifier des personnes ou les rendre identifiables. Il peut s'agir de signatures, de photos, de numéros CNS, de codes IBAN, etc. Les données médicales sont un type de données personnelles à haut risque qui doivent être gérées avec prudence.

Le traitement des données personnelles est toute opération sur des données personnelles (lecture, écriture ou modification de données personnelles, suppression de données personnelles ou transfert de données personnelles vers un autre lieu). Le simple fait d'avoir accès à des données personnelles est aussi un mode de traitement.

Un contrôleur de données est une entité qui prend des décisions à propos du traitement de données personnelles. Un contrôleur de données a le contrôle global des données et est responsable de leur traitement. Un prestataire de services informatiques peut devenir un contrôleur de données s'il traite des données personnelles en-dehors des instructions d'un cabinet/centre médical.

Un processeur de données est une personne physique ou morale qui traite des données pour le compte d'un contrôleur. Un prestataire de services est un processeur de données dans la mesure où il agit dans les limites d'un contrat avec un contrôleur de données.

Pas de traitement inutile des données personnelles

Ne conservez rien dont vous n'avez pas besoin, en particulier s'il s'agit de données médicales. La raison en est que le traitement de données en-dehors du strict accord contractuel avec un cabinet médical, un hôpital ou un médecin vous expose à des risques de protection des données (car vous devez faire plus de travail pour respecter les obligations du RGPD).

Connaissez votre rôle (processeur de données ou contrôleur)

A tout moment, que vous soyez contrôleur ou processeur, vous devez savoir quelles données personnelles vous traitez. Il est de votre responsabilité de protéger ces données contre les risques de perte, de vol ou d'altération, d'être transparent et de permettre aux patients, aux médecins et autres sujets de données d'exercer leurs droits en vertu du RGPD.

Suivez les rôles et obligations du RGPD dans vos contrats

C'est une bonne chose que vous connaissiez votre rôle de contrôleur ou de processeur, mais ce n'est pas suffisant : il doit aussi être mentionné dans votre contrat avec les utilisateurs ou les clients. Il serait en effet plus difficile de prouver que vous pouvez ou non effectuer certaines tâches de traitement des données personnelles si le contrat ne décrit pas ce cadre. Par conséquent, s'il est écrit dans le contrat que vous avez un rôle ou l'autre, respectez-le et ne l'outrepassez pas car vous vous exposeriez à des risques potentiellement inutiles.

La gestion des incidents implique la surveillance, la détection et la réaction à des évènements sur le réseau ou sur un ou plusieurs ordinateurs qui sont en lien avec la sécurité des données ou des systèmes hébergés dans les cabinets médicaux.

Définissez un processus ou une procédure de traitement des incidents de sécurité

Quelle que soit la qualité de vos contrôles de sécurité des informations, des incidents se produiront un jour ou l'autre. Il est essentiel que vous les traitiez de la même manière à chaque fois. Pour cela, vous devez préparer une liste d'étapes à exécuter et vous y tenir lorsqu'un incident se produit. Ainsi, vous n'oublierez pas ou ne repousserez pas des actions qui doivent être exécutées immédiatement.

Que doit comprendre un processus ou une procédure de traitement des incidents ? Voici quelques éléments :

  • exécuter les étapes classiques pour limiter les dommages,
  • isoler la source de l'incident,
  • prendre des mesures de rétablissement,
  • définir qui informer et quand,
  • garder une trace de chaque incident et de la manière dont il a été géré,
  • éviter que le même évènement se reproduise à l'avenir

Si vous faites l'objet d'un incident de sécurité des informations (attaque, malware, etc.) et que vous avez besoin de l'avis d'un autre expert, vous pouvez toujours solliciter l'aide du service CIRCL de Security Made In Luxembourg (info@circl.lu).

En sécurité des informations, la gestion des risques consiste à comprendre et à répondre à des facteurs existants ou à des évènements possibles qui peuvent nuire à la confidentialité, à l'intégrité et à la disponibilité d'un système d'information. Ces facteurs et évènements possibles doivent être examinés à l'avance et des mesures doivent être établies pour protéger le système d'information lorsque ces évènements se produisent car ils peuvent avoir un impact sur la sécurité et la confidentialité des données du cabinet médical.

Connaissez la maturité de votre gestion des risques de sécurité des informations

Pour comprendre la maturité de votre organisation, vous devez vérifier votre maturité en termes de gestion des risques de sécurité des informations pour vous assurer que vous n'êtes pas le maillon faible. Vous pouvez utiliser les outils Fit4Cybersecurity ou Fit4Privacy de CASES qui sont proposés gratuitement pour effectuer une auto-évaluation de votre maturité en matière de gestion des risques.

Découvrez les faiblesses effectives de vos systèmes ou logiciels

Même si vous pensez que vos systèmes ou vos logiciels présentent certaines vulnérabilités, il est possible qu'ils ne soient pas les seuls ou que d'autres soient plus contraignants et que vous n'en ayez pas conscience. Au moins de temps en temps, vous pourriez effectuer une analyse de vulnérabilités ou un test de pénétration. Vous pouvez utiliser des outils tels que

l'outil de recherche des vulnérabilités courantes proposé par CIRCL (https://cve.circl.lu/),
l'annuaire Cybersecurity Ecosystem proposé par Security Made in Luxembourg si vous voulez sélectionner et contacter un expert pour effectuer cette analyse pour vous.

Connaissez vos propres risques de sécurité des informations

Vous devez effectuer périodiquement un bilan des risques de sécurité des informations auxquels votre activité est soumise.

Certains risques sont permanents tandis que d'autres peuvent être nouveaux ou avoir un impact différent que par le passé. Vous devez prendre en compte les menaces que vous avez rencontrées, mais aussi les vulnérabilités que vous pouvez avoir ou qui sont connues de la communauté médicale ou informatique dans la Grande Région. Ne négligez pas le "facteur humain" parmi ces risques, ni la possibilité d'attaques d'ingénierie sociale, y compris les e-mails de hameçonnage ou les appels de personnes qui se font passer pour vous ou pour vos clients. Pour minimiser les chances de succès de tentatives comme celles-ci, pensez à vérifier l'identité des émetteurs ou des appelants et à utiliser des e-mails signés numériquement. En plus des signatures numériques, si un e-mail contient des informations confidentielles (p. ex., des données médicales dans le corps de l'e-mail ou en pièce jointe), cryptez toujours votre e-mail et/ou ses pièces jointes.

Si vous êtes en mesure de lister ces risques, vous devez aussi lister les actions que vous avez entreprises ou allez entreprendre pour traiter ces risques afin que leur impact soit minimal. Nous vous recommandons d'utiliser MONARC, un bon outil de gestion des risques qui est proposé gratuitement.

Une bonne gestion des risques implique une préparation, mais aussi de la transparence vis-à-vis de vos clients. En matière de transparence, vous devez vous assurer que les contrats avec vos clients définissent quelles sont les responsabilités concernant les risques de sécurité des informations les plus importants qui touchent le service fourni.


• Vous pouvez utiliser les outils Fit4Cybersecurity ou Fit4Privacy de CASES qui sont proposés gratuitement pour effectuer une auto-évaluation de votre maturité dans la gestion des risques.
• Informez-vous ici via l'outil de recherche des vulnérabilités courantes proposé par CIRCL.
• Accédez à l'annuaire Cybersecurity Ecosystem proposé par Security Made in Luxembourg si vous voulez sélectionner et contacter un expert pour effectuer cette analyse pour vous.
• Pensez à utiliser MONARC comme outil de gestion des risques

Pour les fournisseurs de logiciels médicaux qu'ils développent eux-mêmes, ce domaine couvre diverses bonnes pratiques en matière de sécurité qui s'appliquent à l'écriture de logiciels sécurisés.

Intégrez des exigences de complexité et de validité des mots de passe

Lorsque vous intégrez l'usage de mots de passe dans les logiciels que vous développez, les codez jamais en dur. Laissez au contraire l'utilisateur les choisir et imposer le niveau de complexité et les périodes de renouvellement des mots de passe. Cela vise à éviter des mots de passe basiques faciles à deviner ou des mots de passe qui sont utilisés indéfiniment. Il n'est pas facile de trouver un bon équilibre entre la complexité, la validité et l'exploitabilité. Les utilisateurs souhaitent toujours quelque chose de facile à utiliser ou ont tendance à éviter les mots de passe trop difficiles à retenir. D'un autre côté, il est de votre responsabilité en tant que développeur de logiciels de mettre en place les mécanismes pour protéger la confidentialité des données et du système qui les utilise. Vous devez aussi penser à mettre à jour ces exigences à mesure que le temps passe; vous pouvez par exemple suivre certains standards de sécurité ou vous reporter à un site web/blog (p. ex., ces recommandations de CASES, …). Pour obtenir des recommandations plus précises sur la complexité des mots de passe, allez sur https://cases.lu/knowhow/glossary/Password.html ou reportez-vous aux recommandations sur les mots de passe du NIST.

Intégrez un accès à votre logiciel basé sur les rôles

Tous les utilisateurs ne sont pas autorisés à accéder aux données médicales de la même manière. Vous devez minimiser les risques de confidentialité en créant des fonctions d'accès basées sur les rôles, p. ex. pour les médecins, les assistants médciaux, le personnel de soutien, les spécialistes extérieurs, et accorder uniquement des droits minimaux à chaque rôle dès le début. Ainsi, le logiciel restreindra l'accès à certains types de données en fonction des droits d'accès associés à ces rôles. L'ajout de nouveaux droits sera plus facile à gérer que si elles avaient été accordées globalement dès le départ. De plus, il doit être clair pour vos clients et pour vous-même si la maintenance des droits d'accès, des rôles et des accès est de la responsabilité de l'utilisateur ou de celle du vendeur.

Intégrez un chiffrement fort pour les données en transit ou stockées

Dans les logiciels que vous développez, intégrez des fonctions de chiffrement fort pour stocker les données dans des bases de données, ainsi que pour les connexions sortantes ou entrantes (en particulier, lorsqu'il doit y avoir un flux de données médicales) dès le départ. Ainsi, vous créerez des mécanismes pour sécuriser les données dès le départ. Evitez le codage en dur des données d'authentification, et ne vous occupez pas du stockage des clés de chiffrement privées des utilisateurs de vos logiciels.

Faites attention au jeu de données de test et à l'environnement de test

L'environnement de test doit être complètement séparé de l'environnement de production car, ainsi, il n'y a pas de risque de produire des modifications accidentelles ou non autorisées (ou même des dérangements) sur le système opérationnel déjà en place. Le jeu de données que vous utilisez pour tester votre code doit être réaliste et représentatif (dans la mesure du possible), et vous devez éviter utiliser des données patients réelles complètes dans votre environnement de test car cela pourrait être le début d'une fuite de données.

Utilisez des principes de codage sécurisés, gérez les codes et effectuez des revues de code.

Appliquez et suivez des principes de codage sécurisés définis officiellement, par exemple tels que ceux recommandés par OWASP ici, la référence "Writing Secure Code" de M. Howard ou le livre "Software Security: Building Security In" de G. McGraw.

Afin de garder une trace des modifications de code source relatives à un répertoire de codes sources, vous devez envisager l'utilisation d'un logiciel de gestion de codes sources, ce qui vous aidera:

  • à garder une trace des modifications de code,
  • à conserver des journaux d'activité qui permettront de retrouver quel développeur a effectué des modifications sur quels morceaux de code et
  • à gérer les conflits lorsque plusieurs collaborateurs ont fait des modifications sur les mêmes fichiers.

Des sauvegardes sécurisées et cryptées de votre code source, effectuées par GitHub ou un autre logiciel spécialisé, vous aideront à garantir l’intégrité et à ne jamais perdre la dernière version ou des versions antérieures de votre code source.

Quand un développeur finit d'écrire le code pour une fonction logicielle, deux bonnes pratiques doivent être appliquées :

  • tester le code créé pour déterminer s'il est apte à être utilisé. Les tests de logiciels peuvent être effectués sous forme de tests unitaires (pour tester si un élément de code spécifique fonctionne correctement), de tests d'intégration (pour tester si des interfaces entre différents composants fonctionnent correctement), de tests système (pour tester si un système complètement intégré fonctionne) ou de tests d'acceptation (pour tester si l'environnement opérationnel, les contrôleurs externes ou les utilisateurs acceptent le logiciel). Votre processus de développement doit comprendre tous ces types de tests.
  • demander à un autre développeur de révoir le code. Cela peut être utile pour repérer des erreurs de logique et pour vérifier la conformité aux spécifications, la couverture des tests en place et le respect des directives de développement. Ainsi, aucun développeur en particulier n'est responsable et les défauts sont identifiés plus rapidement grâce au contrôle à 4 yeux. En plus des revues manuelles, les revues de code peuvent aussi bénéficier d'outils automatiques (pour l'analyse de code statique ou dynamique).

Pensez aux bonnes pratiques des tests de sécurité

Les tests de sécurité sont effectués avant que le logiciel soit publié et se concentrent sur la découverte des points faibles dans la conception et la mise en œuvre du code. Cela va au-delà des tests fonctionnels et vise à effectuer des tests antagonistes, à la recherche de conditions limites simples (aucune compétence de piratage particulière n'est nécessaire). Par exemple, la recherche d'une injection SQL dans le code de votre site web peut être effectuée à ce stade. Un autre exemple est si quelqu'un entre un mauvais mot de passe plusieurs fois. Si vous effectuez des tests de valeur limite, vous vous préparez pour le cas où un pirate teste délibérément la limite.

N'utilisez pas de bibliothèques, de langages de programmation ou de systèmes d'exploitation obsolètes

Vous devez vérifier régulièrement si les systèmes d'exploitation, les plateformes de programmation ou les bibliothèques que vous utilisez sont toujours actualisés et maintenus. Par exemple,

  • si vous utilisez des systèmes d'exploitation anciens (p. ex., Windows XP, Windows Server 2008 R2 ou antérieur), il y a des chances que les coûts de maintenance soient plus élevés, et il y a peu voire pas de support de la part des éditeurs. Si vous n'êtes pas certain du support de cycle de vie pour votre système Windows, vous pouvez contrôler cette page Microsoft.
  • Toutes les bibliothèques tierces comprises dans le développement que vous réalisez en interne doivent aussi être vérifiées régulièrement pour le cas où de nouvelles versions apparaîtraient ou où les anciennes versions ne seraient plus supportées.
  • Quand vous téléchargez des bibliothèques tierces à intégrer dans votre logiciel, vérifiez que vous utilisez des sources fiables et, si possible, vérifiez l'intégrité de la bibliothèque au moyen d'une vérification de somme de contrôle.

En ce qui concerne les plateformes de développement, pensez à utiliser des langages de programmation modernes qui sont supportés par leur éditeur ainsi que par une vaste communauté et sont fournis avec des mises à jour régulières et des patchs de sécurité. Pour vous en assurer, vérifiez s'il y a des avis de fin de support sur le site web du vendeur, et si c'est le cas pour votre langage de développement, choisissez la version dont le support va le plus loin.

Evitez les transferts de données avec des connexions sans-fil non protégées

Si, dans votre logiciel, vous voulez permettre aux utilisateurs d'ouvrir des connexions avec des machines ou des appareils (semi) mobiles extérieurs (p. ex. un échographe, une tablette, un téléphone mobile, un scanner IRM), évitez à tous prix les connexions sans-fil non protégées. Sans aucun cryptage, ces connexions seront utilisées pour transférer des données confidentielles qui pourraient être interceptées par des personnes mal intentionnées.


• Trouvez ici des recommandations plus précises sur la complexité des mots de passe ou les recommandations sur les mots de passe du NIST.
• Pour les principes de codage sécurisés, reportez-vous aux recommandations OWASP, à la référence "Writing Secure Code" de M. Howard ou au livre "Software Security: Building Security In" de G. McGraw.
• Vous trouverez ici de plus amples infomations sur les logiciels de gestion des codes sources tels que GIT, Subversion, etc.
• Pour le support de cycle de vie de votre système Windows, vous pouvez vous référer à cette page Microsoft.
• Cliquez ici pour trouver les bonnes pratiques de cybersécurité.