
Utilisation de composants présentant des vulnérabilités connues
La plupart des applications utilisent de grandes quantités de composants tiers. Ces composants fournissent tout, de la journalisation à la création de modèles, en passant par l'accès à la base de données, etc.
Cela facilite grandement le développement de logiciels et permet de gagner beaucoup de temps. Cependant, ces composants sont également fabriqués par des personnes et certains contiendront inévitablement des vulnérabilités. Cela signifie que vous pourriez être exposé sans le savoir à des vulnérabilités susceptibles d'être exploitées.
Maintien à jour des composants
En règle générale, il est fortement recommandé de mettre régulièrement à jour les frameworks, bibliothèques et autres composants. Cela peut se faire de différentes manières :
- De nombreux logiciels de contrôle de code source peuvent analyser vos référentiels et vous avertir lorsqu'une vulnérabilité est découverte dans une dépendance.
- De nombreux gestionnaires de packages peuvent analyser votre application et identifier les dépendances vulnérables que vous pourriez avoir
- Il existe de nombreuses solutions d'analyse de la composition logicielle (SCA) qui permettent d'identifier toute dépendance vulnérable
Atténuer le risque de dette technique
Un problème plutôt insidieux lié à la mise à niveau des bibliothèques est qu'elles peuvent subir des modifications de code. Bien que celles-ci soient souvent documentées, certaines modifications non documentées peuvent également ne pas apparaître tant que votre code n'est pas exécuté en production.
Si votre application exécute de nombreuses versions par rapport à la plus récente, la mise à niveau vers la dernière version peut nécessiter beaucoup de travail. Dans le cas où une vulnérabilité sensible au facteur temps est révélée, il est essentiel que vous soyez relativement à jour en ce qui concerne les composants tiers afin d'éviter que la mise à niveau ne prenne des jours.
Il est également déconseillé de mettre à jour des packages à l'aveuglette sans au moins lire les notes de version, car elles peuvent contenir des informations importantes sur des modifications qui ne sont pas évidentes mais qui pourraient modifier le fonctionnement de votre application.
La mise à jour pourrait-elle vous rendre plus précaire ?
Bien que cela ne soit pas courant, il est arrivé qu'une vulnérabilité puisse :
- N'existe pas dans les anciennes versions
- Être présenté lors de la correction d'une vulnérabilité
Ces cas peuvent laisser penser que la mise à jour régulière des packages n'est pas vraiment souhaitable. Bien entendu, cette façon de penser doit être évitée dans la mesure du possible car elle conduit à l'accumulation de la dette technique.
Compte tenu de la relative rareté que représente ce scénario, les avantages des mises à jour fréquentes des packages l'emportent largement sur la possibilité d'une vulnérabilité récemment introduite, qui devrait de toute façon être facilement atténuée si vous vous tenez régulièrement à jour.
Il part également du principe que les fournisseurs ne corrigent pas silencieusement les vulnérabilités sans aucune divulgation, ce qui est malheureusement encore très courant.
Exemples notables
Voici quelques exemples notables dont vous avez probablement entendu parler récemment. Vous pouvez voir comment et pourquoi il est important de consulter vos bibliothèques et de vous assurer de rester à jour.