Skip to main content
Key Takeaways

Le facteur humain dans la sécurité: L’humain est le maillon faible de la sécurité informatique. Les erreurs humaines, souvent négligées, peuvent gravement nuire même aux meilleures défenses technologiques. Un cadre solide en matière de sécurité pour les développeurs est indispensable.

Développement rapide : une course risquée: La pression pour un déploiement rapide et une intégration continue pousse les développeurs à privilégier la vitesse au détriment de la sécurité, menant à de la complaisance et à une hausse de vulnérabilités face aux menaces potentielles.

Problèmes de privilèges : Risques liés à l’accès administrateur: Des privilèges administrateur non essentiels accordés aux développeurs créent des difficultés de sécurité en facilitant les modifications non autorisées, compliquant la conformité et exposant les environnements à des violations potentielles.

Vulnérabilités du code : un terrain de jeu pour les pirates: Les vulnérabilités courantes du code telles que les injections SQL et les attaques XSS présentent des risques importants. Les développeurs doivent adopter des pratiques de codage sécurisées pour atténuer ces menaces et protéger les données sensibles.

Faire confiance mais vérifier : sensibilisation à l’open source: La dépendance croissante aux composants open source et au code généré par l’IA peut introduire des risques de sécurité si les développeurs ne vérifient pas rigoureusement ces outils, d’où la nécessité d’une surveillance constante et d’une formation continue en matière de pratiques sûres.

On a souvent dit que le maillon le plus faible de la sécurité informatique, ce sont les personnes. Plus confiants qu'un ordinateur et moins disciplinés sous la pression, les humains sont trop souvent négligés dans les processus de sécurité.

Traditionnellement, l'erreur humaine a été traitée avec désinvolture. Nous savons qu'elle engendre des défis, mais nous ne les abordons jamais pleinement, en se concentrant souvent sur les outils plutôt que sur la mise en place d’un cadre de sécurité robuste pour les personnes. Cependant, au fur et à mesure que le développement logiciel évolue, les menaces qui le ciblent évoluent également, et une défaillance ici peut saper même les mesures de sécurité les plus avancées.

Les mauvaises pratiques de développement s’imposent désormais comme un sujet de préoccupation majeur pour la sécurité des organisations, et les progrès technologiques n’y changent rien. Les algorithmes de chiffrement, la gestion automatisée des correctifs et la recherche de vulnérabilités sont tous des éléments utiles pour défendre votre pile technologique, mais nous vivons à l’ère de la complaisance dans la façon dont nous équipons nos développeurs, et les mauvaises pratiques qui en découlent mettent la conformité en péril.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Quelles sont les causes des mauvaises pratiques des développeurs ?

Historiquement une discipline où le temps manque, les développeurs se retrouvent aujourd’hui avec de plus en plus de tâches à accomplir. Ils disposent d’un éventail toujours plus large d’outils, permettant des résultats quasi immédiats. Les déploiements plus fréquents et les mises à jour logicielles ont modifié les attentes des clients et des utilisateurs, et cette attente pèse directement sur les épaules des développeurs—avec une nécessité permanente d’innover, vite et bien. En matière de sécurité, cela ressemble à une recette pour la catastrophe. 

La demande de déploiement rapide et l’importance croissante de l’intégration et de la livraison continues (CI/CD) conduisent les développeurs à accorder une confiance disproportionnée à l’automatisation dans leurs pipelines CI/CD, s’exposant ainsi à des risques et failles de sécurité. La méthodologie agile, très répandue dans le secteur, encourage les développeurs à privilégier la rapidité et l’efficacité, reléguant naturellement les mesures de sécurité au second plan. En théorie, l’automatisation intégrée au CI/CD devrait garantir des contrôles de sécurité, mais les développeurs en manque de temps ne peuvent pas toujours auditer et maintenir ces mécanismes régulièrement.

Un autre facteur des mauvaises pratiques est la complexité des environnements logiciels actuels. Avec le temps, les développeurs acquièrent souvent des privilèges administrateur superflus et doivent gérer des architectures tierces ainsi que des dépendances complexes. La clé du succès pour les organisations est la conformité, pourtant nombreux sont les développeurs à bénéficier de privilèges élevés pour les déploiements. 

Cette pratique soulève de nombreux défis, car elle accorde à toute personne disposant de privilèges admin la capacité d’apporter des modifications non autorisées, entravant ainsi les efforts d’audit et de conformité et créant du travail supplémentaire pour les développeurs qui doivent alors dénouer ces changements. Plus grave encore, cela expose les environnements de développement à des violations de sécurité si un acteur malveillant accède à un compte doté de tels privilèges. 

Le secteur du développement logiciel est déjà complexe, et avec le progrès de la technologie, cet environnement et la stratégie d’entreprise sont devenus encore plus sophistiqués. Alors que les entreprises du Global 2000 consolident leurs opérations autour de plateformes intégrées telles que Pega, ServiceNow, SalesForce et d’autres, le type d’applications qui doivent être construites et maintenues diffère des applications traditionnelles développées en pro-code. 

De plus, les privilèges, les pipelines de livraison et les pratiques de développement telles qu’Agile et la livraison continue, qui relèvent du DevOps, doivent être adaptés. Au sein de cette tendance des plateformes, même les développeurs et administrateurs les plus expérimentés risquent d’introduire accidentellement des risques de sécurité.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

Comment une seule ligne de code peut mettre à terre votre activité

La sécurité demeure un casse-tête permanent pour les organisations, et la technologie permet désormais aux menaces de venir de partout. Une attaque réussie peut entraîner une multitude de problèmes, tant financiers que juridiques, et bloquer rapidement toute innovation.

La phase de codage est l’un des domaines les plus exposés aux vulnérabilités, notamment avec des attaques telles que :

  • Injections SQL : un attaquant injecte un bout de code capable de détruire des enregistrements ou des schémas de bases de données. Ces techniques sont utilisées pour supprimer, voler ou modifier des données sensibles au sein des organisations et constituent l’une des méthodes de piratage les plus courantes. Récemment, des hackers éthiques ont démontré leur capacité à contourner les contrôles TSA via les injections SQL
  • Cross-site scripting (XSS) cible les applications ou sites web de confiance, causant ainsi un important préjudice à la réputation. Les attaques consistent à ajouter des scripts malveillants sur le site web d’une entreprise, qui s’exécuteront alors lorsqu’un utilisateur charge le site. Habituellement, le code malveillant est ajouté à la fin d’une URL, ce qui incite la victime à cliquer dessus, ou, de façon plus sophistiquée, ce type d’attaque par injection est directement intégré au code même de l’entreprise.
  • Débordements de mémoire tampon surviennent lorsqu’un programme tente d’introduire plus de données dans un tampon que ce dernier ne peut en contenir. L’excédent déborde alors dans la mémoire, ce qui risque de corrompre ou d’écraser des informations critiques s’y trouvant. Cette erreur de codage logiciel peut permettre à des pirates d’exploiter ces failles, de voler ou de modifier des données, ou encore d’obtenir un accès à des informations sensibles relatives aux clients ou à l’entreprise.

Ces types d'attaques sont plus courants et, en tant que tels, bien compris par les développeurs. Ils peuvent en grande partie être atténués en respectant les bonnes pratiques de codage sécurisé, les tests continus et la surveillance continue. Malgré cela, les organisations ne peuvent pas se reposer sur leurs acquis et doivent régulièrement vérifier la validité de leurs directives de codage et former les développeurs à éviter les nouvelles formes de piratage.

De plus, une dépendance accrue aux composants open source, bibliothèques tierces et à la génération de code assistée par l’IA peut conduire les développeurs à adopter involontairement des pratiques de codage peu sûres. Les développeurs sont sous pression et intègrent ces composants pour accélérer la livraison. Ainsi, il faut s’attendre à une ouverture accrue des risques de sécurité et des possibilités d’exploitation, les développeurs faisant confiance aux composants open source, aux bibliothèques et à l’IA sans vérifier en profondeur leur validité. 

Cela dit, de nombreux outils automatisent ce processus de vérification, mais il est peut-être temps de commencer à évaluer également l'identité et l'authenticité des contributeurs open source pour réduire le risque de mauvaises intentions soutenues par des États. Une seule ligne de code non sécurisé dans une bibliothèque peut compromettre une application entière, gâcher d’innombrables heures et ressources et exposer une organisation, un pays et le public à des vulnérabilités. Et, malgré les progrès considérables de l’IA dans le développement de code, le code généré par l’IA doit suivre des procédures, pratiques et protocoles établis avant d’être déployé en production.

La formation continue et la montée en compétences sont essentielles pour maintenir la sécurité

Comme pour toute technologie ou discipline, la formation régulière est essentielle et les développeurs sont souvent censés approfondir leurs connaissances et leur formation sur leur temps libre. Les organisations qui veulent éviter que leurs développeurs et administrateurs système prennent de mauvaises habitudes en matière de sécurité doivent investir dans la formation, plutôt que de laisser les équipes IT autogérer leurs cadres de sécurité. Les lacunes en matière de connaissances ont un impact réel et prégnant sur la sécurité des organisations et, sans correction de celles-ci, les développeurs risquent de ne pas actualiser leur compréhension des conséquences de leurs actions quotidiennes sur la sécurité. 

Puisque les pratiques des développeurs peuvent générer des risques de sécurité, les organisations doivent aussi adopter une vision globale de leurs plateformes. Par exemple, Salesforce et ServiceNow jouent un rôle déterminant en permettant à des développeurs non traditionnels de concevoir, livrer et déployer, mais leur rôle dans la sécurité est-il réellement compris ? Les organisations doivent apprendre à maintenir la sécurité dans leur utilisation de ces plateformes et ne pas occulter leur potentiel de porte d’entrée pour des attaques ou violations.

Surmonter les défis de sécurité pour accompagner les développeurs

Une approche à multiples facettes est indispensable pour éviter que les mauvaises pratiques des développeurs ne deviennent le prochain enjeu majeur de la sécurité. 

Premièrement, les organisations doivent instaurer une culture de la sécurité dès le départ, afin qu’elle soit intégrée au processus de développement. Cela peut inclure des mesures qualité et sécurité automatisées, telles que des contrôles qualité intégrés, des points de validation et des outils de tests continus, afin de garantir que chaque déploiement respecte les normes de conformité de l’organisation.

Les organisations devraient également appliquer le principe du moindre privilège, pour que les développeurs n’aient accès qu’aux déploiements et aux cadres de code dont ils ont besoin, et non à l’ensemble de l’administration. Quelle que soit la plateforme ou le service utilisé pour le déploiement, il est important de profiter des parcours automatisés et de la surveillance continue qu’ils offrent, afin de détecter les problèmes avant qu’ils ne deviennent critiques.

Deuxièmement, les organisations doivent investir davantage dans la formation de leurs développeurs, au lieu de les abandonner face à des attaquants et des menaces de plus en plus sophistiqués. Il est crucial que les développeurs à tous les niveaux, et notamment les citoyens développeurs, soient capables d’identifier les anomalies et de surmonter les risques de sécurité. Le format de cette formation variera selon l’organisation, mais elle doit être régulière, conforme et testée pour garantir un niveau élevé de sensibilisation à la sécurité parmi les développeurs.

Enfin, les organisations désireuses d’armer leurs développeurs face aux enjeux de sécurité doivent privilégier les outils qui favorisent les pratiques de développement sécurisé. Cela inclut les outils d’analyse de code, les processus automatisés de gestion des dépendances et les systèmes de gestion de configuration (CMS) pour appliquer des mesures de sécurité accrues. L’utilisation de ces outils garantit une plus grande cohérence, conformité et traçabilité dans les déploiements, contribuant à institutionnaliser la culture de la sécurité.

Cela étant dit, si une organisation externalise une partie du travail, instaurer une culture orientée sécurité peut aussi commencer par le partenariat avec une société de développement logiciel nearshore ou une entreprise de développement logiciel sur mesure.

Renverser la tendance sur la prochaine crise de sécurité

De mauvaises pratiques de développement pourraient bien devenir le prochain enjeu majeur de sécurité dans le développement logiciel, mais il n’est pas obligé d’en être ainsi. Même si les attaquants et les opérations de piratage deviennent de plus en plus sophistiqués, nous avons l’opportunité de renverser la tendance et d’améliorer les connaissances et les ressources auxquelles les développeurs ont accès. Ce faisant, les personnes peuvent éviter d’être le maillon faible et collaborer avec la technologie afin de renforcer la sécurité d’une organisation. En adoptant dès aujourd’hui un état d’esprit axé sur la sécurité lors du développement, nous renforcerons la posture de sécurité des logiciels de demain.

Abonnez-vous à la newsletter du CTO Club pour plus de bonnes pratiques en matière de développement.