Par : Dan Sellars, gestionnaire, Développement de logiciels, et Julian Corduneanu, gestionnaire, Cybersécurité
La sécurité : elle est capitale tout au long du développement d’un logiciel scientifique. En effet, les logiciels contemporains, exécutables sur Internet, courent le risque d’être exploités illégalement, car il existe des outils permettant de pirater un ordinateur, certains passablement faciles à utiliser, même pour le profane. Du temps et une connexion Internet sont parfois tout ce qu’il faut pour se les procurer.
Que faire?
Les trois principaux aspects dont il faut soigneusement tenir compte sur le plan de la sécurité sont la confidentialité, l’intégrité et la disponibilité.
- Confidentialité — même quelqu’un qui adhère fortement aux principes de la science ouverte doit mettre les données à l’abri des gens mal intentionnés; il faut donc protéger adéquatement les données personnelles ainsi que celles qui n’ont pas encore été rendues publiques.
- Intégrité — pour que la recherche aboutisse, l’authenticité de la méthode et des données expérimentales doit impérativement être préservée.
- Disponibilité — les personnes autorisées doivent pouvoir accéder aux données numériques de la plateforme et s’en servir en permanence.
Face à de telles préoccupations, une étape cruciale pour protéger la plateforme de recherche consiste à « renforcer » son système d’exploitation. Certes, des mesures de sécurité accompagnent d’emblée les systèmes modernes tels Linux, Windows et MacOS, cependant, ces mesures sont conçues pour satisfaire à un grand nombre d’utilisateurs et être faciles à appliquer. Pour répondre à des critères de sécurité précis, la configuration du système d’exploitation nécessite quelques interventions supplémentaires.
Comment mieux protéger un système d’exploitation contre les cyber-intrusions?
Pour répondre à cette question, on se tournera vers les organisations qui élaborent et diffusent des recommandations ainsi que des points de référence sur la manière de renforcer les systèmes d’exploitation. Le Center for Internet Security (CIS) et le National Institute of Standards and Technology (NIST), deux organismes américains, figurent parmi les meilleures. Parce qu’elles sont dignes de confiance, les professionnels de la cybersécurité ont largement fait de leurs lignes directrices une pratique exemplaire. Ces lignes directrices constituent donc une ressource extrêmement utile pour ceux qui prennent eux-mêmes en charge la sécurité de leur système.
Renforcer le système d’exploitation suppose apporter de multiples changements à sa configuration, c’est-à-dire mettre en place des « contrôles » que beaucoup de professionnels en sécurité ont testés et dont ils ont confirmé l’efficacité. Le CIS a rédigé un guide des pratiques recommandées (en anglais) et créé un évaluateur de configuration baptisé CIS-CAT Lite avec lequel on peut déterminer ou vérifier facilement les parties du système susceptibles de poser un risque. De son côté, le NIST a publié un guide général sur la protection des serveurs également fort utile (en anglais lui aussi).
J’ai renforcé mon système. Et maintenant?
Une fois le serveur en mode production renforcé, une autre considération entre en ligne de compte : le garder à jour. En effet, dès qu’il a été déployé et fonctionne dans un environnement dynamique, le logiciel devient une proie pour les pirates et il convient d’instaurer un plan d’actualisation et de vérification afin que les correctifs et les mises à jour soient intégrés sans délai au système sans entraver le fonctionnement du logiciel. Lorsque le logiciel de recherche est fin prêt, veiller à ce qu’il fonctionne rondement et reste à l’abri des menaces est une tâche de tous les instants.
Nous espérons que ce billet vous aura fait comprendre pourquoi la sécurité revêt autant d’importance lors du développement d’un logiciel scientifique. Les ressources mentionnées plus haut vous en apprendront davantage sur la question.