Bibliothèques, SDK ou outils tiers : comment les intégrer dans vos applications ?

13 mai 2019

Vous utilisez des bibliothèques, kits de développements (« SDK »), ou d’autres composants logiciels écrits par des tiers ? Voici quelques conseils pour intégrer ces outils tout en gardant la maîtrise de vos développements.

Vous commencez à développer et à ajouter des bibliothèques tierces ?

Utilisez des systèmes de gestion de dépendances

Il est important de cartographier les différentes bibliothèques et SDK tiers que vous allez intégrer dans vos développements.

Une bonne pratique consiste à utiliser des systèmes de gestion de dépendances (tels que yum, apt, maven, pip, etc.) afin de maintenir une liste à jour de vos dépendances. Ceci facilitera leur identification et leur mise à jour, notamment lorsque l’une d’elles devra être mise à jour rapidement à cause d’une vulnérabilité.

Lisez leur documentation et changez leur configuration par défaut

Il est important de connaître le fonctionnement de vos dépendances. Les bibliothèques et SDK tiers sont souvent fournis avec des fichiers de configuration par défaut, qui ne sont que trop rarement modifiés par manque de temps.

Prenez donc le temps de lire ces fichiers, avec leur documentation associée. N’hésitez pas à changer ce qui ne vous convient pas. Vous pourrez ainsi mieux maîtriser le comportement de vos dépendances.

Auditez vos bibliothèques et SDK

Prenez le temps d’auditer vos dépendances. Savez-vous vraiment ce que font toutes les bibliothèques et SDK que vous intégrez ? Quelles sont les données qui sont envoyées à travers ces dépendances et quelles sont les destinataires de ces données ?

Les bibliothèques et SDK tiers peuvent également intégrer d’autres composants : auditer leur code vous permettra de mieux cartographier toutes vos dépendances et de mieux agir si un problème affecte l’une d’elles.

Il est aussi recommandé de faire des audits sécurité de vos composants tiers et d’effectuer une veille sur ceux-ci.

N’intégrez que les fonctionnalités dont vous avez vraiment besoin et désactivez les autres

Vous intégrez des composants tiers car vous avez besoin de fonctionnalités spécifiques, mais avez-vous vraiment besoin de toutes les fonctionnalités activées par défaut dans vos composants ?

N’intégrer que les fonctionnalités dont vous avez besoin : si vous n’activez que le minimum, vous réduisez le nombre de bugs potentiels qui pourraient subvenir.

Gérez les mises à jour de vos dépendances

Pensez à mettre à jour vos dépendances et faites tout particulièrement attention aux mises à jour de sécurité qui corrigent des vulnérabilités. Vous devez mettre en place une procédure pour gérer ces mises à jour et pour pouvoir les déployer le plus vite possible.

Faites également attention aux versions des bibliothèques et SDK en fin de support, qui ne seront plus maintenus : essayez de trouver une autre solution (choisir une nouvelle bibliothèque, renouveler un support commercial).

Choisissez des logiciels, bibliothèques et SDK maintenus

Si vous souhaitez utiliser du logiciel libre ou open source, essayez de choisir des projets/solutions avec une communauté active, des mises à jour régulières et une bonne documentation.

Si vous utilisez d’autres types de solutions avec un support commercial, assurez-vous contractuellement que leur code sera maintenu et mis à jour pendant toute la durée de vie de votre projet.

Vous utilisez de la cryptographie ?

Avant d’utiliser de la cryptographie dans vos développements, assurez-vous de bien comprendre les différents concepts liés à cette matière (chiffrement, signature électronique, etc.)

De manière générale, il est fortement déconseillé d’implémenter des algorithmes ou des protocoles cryptographiques vous-mêmes.

Essayez plutôt de choisir des bibliothèques cryptographiques maintenues, reconnues et faciles d’utilisation.

Enfin, utilisez toujours la dernière version des protocoles cryptographiques (par exemple TLS) et des algorithmes reconnus (par exemple AES pour du chiffrement symétrique).

Les mots clés associés à cet article