Les développeurs de logiciels savent sans aucun doute que la solution la plus rentable consiste à rédiger des logiciels avec le moins de faiblesses, de vulnérabilités ou de défauts possibles. Repérer les problèmes le plus tôt possible, idéalement dès la phase de conception, permet d'éviter plus tard des frais plus importants liés à l'application de correctifs, à la mise à niveau ou à la mise en place de mesures d'atténuation. D’autre part, pourquoi se donner tant de mal ? Saviez-vous que les logiciels, et les médicaments, sont les seuls produits au monde pour lesquels les frais occasionnés par des défauts de conception, des problèmes de fonctionnement, ou de correctifs, sont à la charge de l’utilisateur final ?
Le CERN toutefois doit de toute façon ouvrir son porte-monnaie, que ce soit pour adopter les bonnes pratiques en matière de programmation ou pour corriger les logiciels. Il doit dépenser pour former des développeurs de logiciels à produire des applications soignées et à passer des heures à les examiner sous toutes les coutures, ou pour recruter des gestionnaires de services qui sont rémunérés pour le temps passé à corriger les problèmes de développement. Adopter les bonnes pratiques en matière de sécurité, de développement et d’exploitation (« SecDevOps ») permet de diminuer le nombre de bogues et de failles que des personnes malveillantes pourraient exploiter, réduisant ainsi la sphère d'attaque contre l’Organisation. Nous sommes ainsi incontestablement mieux défendus et protégés.
Que vous soyez programmeur, développeur, webmestre ou gestionnaire de services informatiques, vous disposez de quatre outils formidables pour vous aider à repérer les erreurs le plus tôt possible :
- Formation (bien sûr !) : plus vous avez de l’expérience dans votre domaine, mieux vous connaissez les failles de sécurité potentielles de votre pile logicielle, plus il vous sera facile d'éviter les erreurs et de concevoir des applications sûres et fonctionnelles. Le système de gestion de la formation du CERN propose des cours appropriés qui sont récemment devenus obligatoires pour « tous les architectes, programmeurs de logiciels et développeurs d’applications à risque élevé » ;
- Lignes directrices : une série de « principes de sécurité » a été publiée comme aide-mémoire à suivre impérativement afin de rendre votre application logicielle, vos « conteneurs » et vos machines virtuelles, le système d'exploitation de votre serveur et votre application web aussi sûrs que possible. Il existe d’autres normes. En fait, il en existe une multitude. Mais l’intérêt de ces principes de sécurité réside dans le fait qu'ils sont brefs, contiennent les éléments de base, et peuvent et doivent être faciles à appliquer (conformément aux Règles subsidiaires) ;
- Outils : il existe pléthore d'outils à portée de main permettant de repérer les problèmes et les points à améliorer ; les plus efficaces ont été activés dans l'instance GitLab du CERN : « Secret Detection » et « Static Application Security Testing ». Les exécuter dans votre pipeline d'intégration permet d’évaluer rapidement votre code. Et ce ne sont là que deux des offres de GitLab pour vous permettre d'écrire et de déployer du code solide et sans erreur. Alors pourquoi ne pas en profiter ?
- Contrôles : il est certainement utile d'avoir une deuxième paire d'yeux examiner le travail du développeur avant la programmation, lors des phases de conception, d'architecture et d’agencement du logiciel, et juste avant son déploiement. Il s'agit de mettre en place les éléments de base, de veiller à l'application des principes susmentionnés et d'essayer d'identifier les points susceptibles d'être améliorés. Le Bureau de la sécurité informatique dispose des compétences nécessaires pour passer en revue votre code ou votre service. En fait, c’est également obligatoire, pour « toutes les applications, services informatiques, projets ou achats à risque élevé comportant un composant logiciel destiné à être déployé ou déjà exécuté au CERN ».
Voilà, tout est en place. Il vous appartient à présent de choisir de vous investir et d'améliorer vos compétences, votre expertise et vos compétences en écriture de codes sécurisés – pour vous et pour le CERN – ou de continuer à ignorer le problème et de faire prendre en charge les coûts par les responsables des services informatiques, le Bureau de la sécurité informatique et l'Organisation dans son ensemble. Vous n’avez certainement plus besoin de conseils pour faire le bon choix.
________
Pour en savoir plus sur les incidents et les problèmes en matière de sécurité informatique au CERN, lisez nos rapports mensuels (en anglais). Si vous souhaitez avoir plus d’informations, poser des questions ou obtenir de l’aide, visitez notre site ou contactez-nous à l’adresse Computer.Security@cern.ch.