Utilisation de composants dont les vulnérabilités sont connues
La plupart des applications utilisent un grand nombre de composants tiers. Ces composants fournissent tout ce dont vous avez besoin, depuis la journalisation jusqu'à l'accès à la base de données, en passant par la création de modèles et bien d'autres choses encore.
Cependant, ces composants sont également fabriqués par des personnes et certains d'entre eux contiennent inévitablement des vulnérabilités. Cela signifie que vous pouvez être exposé sans le savoir à des vulnérabilités qui pourraient être exploitées.
Maintenir les composants à jour
En règle générale, il est fortement recommandé de maintenir régulièrement à jour les frameworks, les bibliothèques et les autres composants. Cela peut se faire de plusieurs manières :
- De nombreux logiciels de contrôle du code source peuvent analyser vos dépôts et vous alerter lorsqu'une vulnérabilité a été découverte dans une dépendance.
- De nombreux gestionnaires de paquets 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 des logiciels (SCA) qui permettent d'identifier les dépendances vulnérables.
Atténuer le risque de dette technique
Un problème assez insidieux lié à la mise à jour des bibliothèques est qu'elles peuvent apporter des modifications qui cassent le code. Bien que ces changements soient souvent documentés, il peut également y avoir des changements non documentés qui peuvent ne pas apparaître jusqu'à ce que votre code soit exécuté en production.
Si votre application fonctionne avec plusieurs versions de retard par rapport à la plus récente, la mise à niveau vers la dernière version peut nécessiter une quantité de travail importante. Dans le cas de la divulgation d'une vulnérabilité sensible au facteur temps, il est essentiel que vous soyez relativement à jour avec les composants tiers afin d'éviter que la mise à niveau ne prenne des jours.
Il n'est pas non plus recommandé de mettre à jour aveuglément des paquets sans au moins lire les notes de mise à jour, car elles peuvent contenir des informations importantes sur des changements qui ne sont pas évidents, mais qui pourraient modifier le fonctionnement de votre application.
La mise à jour pourrait-elle vous rendre plus insécure ?
Bien que cela ne soit pas courant, il est arrivé qu'une vulnérabilité soit présente :
- N'existe pas dans les anciennes versions
- Être introduit lors de la correction d'une vulnérabilité
Ces cas peuvent laisser penser que la mise à jour régulière des paquets n'est pas vraiment souhaitable. Bien entendu, ce raisonnement doit être évité dans la mesure du possible, car il conduit à l'accumulation d'une dette technique.
Étant donné la rareté relative de ce scénario, les avantages d'une mise à jour fréquente des paquets l'emportent largement sur la possibilité d'une nouvelle vulnérabilité, qui devrait de toute façon être facilement atténuée si vous vous tenez régulièrement au courant.
Elle part également du principe que les fournisseurs ne corrigent pas silencieusement les vulnérabilités sans les divulguer, ce qui est malheureusement encore très courant.
Exemples notables
Vous trouverez ci-dessous quelques exemples notables dont vous avez probablement entendu parler ces derniers temps. Vous pouvez voir comment et pourquoi il est important de consulter vos bibliothèques et de vous assurer que vous restez à jour.