{"id":20276,"date":"2021-07-14T08:19:37","date_gmt":"2021-07-14T15:19:37","guid":{"rendered":"https:\/\/blog.webex.com\/uncategorized-fr\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/"},"modified":"2021-08-03T06:36:42","modified_gmt":"2021-08-03T13:36:42","slug":"lecons-de-solarwinds-evaluation-des-bibliotheques-tierces","status":"publish","type":"post","link":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/","title":{"rendered":"Le\u00e7ons de SolarWinds\u00a0: &#8211; \u00c9valuation des biblioth\u00e8ques tierces"},"content":{"rendered":"<p>En d\u00e9cembre \u00a02020, SolarWinds a r\u00e9v\u00e9l\u00e9 que son produit Orion avait fait l&rsquo;\u2019objet d&rsquo;\u2019une cyberattaque \u00e0 grande \u00e9chelle, par laquelle les assaillants sont parvenus \u00e0 acc\u00e9der \u00e0 l&rsquo;\u2019infrastructure de nombreux clients de SolarWinds, dont plusieurs agences gouvernementales. L&rsquo;\u2019ampleur de cette violation a suscit\u00e9 une vive attention concernant les vuln\u00e9rabilit\u00e9s de la cha\u00eene d&rsquo;\u2019approvisionnement, ainsi que le r\u00f4le de la d\u00e9pendance vis-\u00e0-vis de tiers dans la s\u00e9curit\u00e9 d&rsquo;\u2019un syst\u00e8me logiciel. Bien qu&rsquo;\u2019aucune de ces menaces ne soit in\u00e9dite, le regain de vigilance accord\u00e9 \u00e0 ce domaine au vu des \u00e9v\u00e9nements actuels a fait na\u00eetre chez les organisations un fort d\u00e9sir d&rsquo;\u2019am\u00e9liorer leur posture de s\u00e9curit\u00e9 dans l&rsquo;\u2019espoir de ne pas \u00eatredevenir la prochaine cible. En tant qu&rsquo;\u2019\u00e9quipe d&rsquo;\u2019ing\u00e9nierie logicielle, votre interaction la plus fr\u00e9quence avec la cha\u00eene d&rsquo;\u2019approvisionnement concerne le choix des biblioth\u00e8ques externes destin\u00e9es \u00e0 \u00eatre int\u00e9gr\u00e9es \u00e0 vos applications.<\/p>\n<p>Une biblioth\u00e8que externe bien maintenue peut repr\u00e9senter un atout consid\u00e9rable pour les initiatives de d\u00e9veloppement\u00a0 : elle permet d&rsquo;\u2019\u00e9conomiser d&rsquo;\u2019innombrables heures de travail pour les ing\u00e9nieurs, en vous permettant de vous concentrer sur les principaux facteurs de diff\u00e9renciation de votre propre produit, plut\u00f4t que de devoir r\u00e9impl\u00e9menter des fonctionnalit\u00e9s communes. \u00c0 l&rsquo;\u2019inverse, les biblioth\u00e8ques dont la mise en \u0153uvre est d\u00e9faillante peuvent \u00eatre difficiles \u00e0 utiliser, introduire des vuln\u00e9rabilit\u00e9s en mati\u00e8re de s\u00e9curit\u00e9 qui cr\u00e9ent des risques pour votre organisation et vos clients, voire dans certains cas extr\u00eames, interf\u00e9rer avec le fonctionnement de parties non li\u00e9es \u00e0 votre service ou compromettre \u00e0 mal l&rsquo;\u2019ensemble de votre architecture. Je vais pr\u00e9senter ici un grand nombre des consid\u00e9rations que j&rsquo;\u2019ai utilis\u00e9es pour \u00e9valuer les biblioth\u00e8ques du point de vue de la robustesse de leurs pratiques techniques et de leurs implications probables en mati\u00e8re de s\u00e9curit\u00e9. Ces approches ont vocation \u00e0 \u00eatreconstituer des points de d\u00e9part et non \u00e0 imposer de quelconques prescriptions. Trouvez une approche qui r\u00e9ponde \u00e0 vos propres besoins. Bien qu&rsquo;\u2019il n&rsquo;\u2019existe dans ce domaine aucune solution miracle, le fait de vous assurer que votre projet repose uniquement sur des d\u00e9pendances de haute qualit\u00e9 peut r\u00e9duire consid\u00e9rablement votre surface de vuln\u00e9rabilit\u00e9 et rendre votre produit \u00e0 la fois plus facile \u00e0 d\u00e9velopper et \u00e0 maintenir.<\/p>\n<h2>Port\u00e9e de la biblioth\u00e8que<\/h2>\n<p>Cet examen initial est essentiel, car il permet de d\u00e9terminer si une \u00e9valuation approfondie est n\u00e9cessaire ou appropri\u00e9e. Quelle est la fonctionnalit\u00e9 de la biblioth\u00e8que \u00a0? Quelle est l&rsquo;\u2019importance de cette fonctionnalit\u00e9 au regard du fonctionnement de votre produit \u00a0? Une biblioth\u00e8que simple, dont l&rsquo;\u2019encombrement est r\u00e9duit, n\u00e9cessite beaucoup moins d&rsquo;\u2019attention qu&rsquo;\u2019une vaste infrastructure \u00e9troitement int\u00e9gr\u00e9e \u00e0 votre propre code. De plus, certains indicateurs qui seraient des signaux d&rsquo;\u2019alerte majeurs pour une fonctionnalit\u00e9 cl\u00e9 (par exemple, des mises \u00e0 jour peu fr\u00e9quentes) peuvent au contraire \u00eatre normaux ou escompt\u00e9s dans le cas de petites biblioth\u00e8ques uniquement destin\u00e9es \u00e0 accomplir une t\u00e2che extr\u00eamement r\u00e9duite.<\/p>\n<p>Une question annexe concerne le mode d&rsquo;\u2019exploitation pr\u00e9vu de cette biblioth\u00e8que. Les d\u00e9pendances de d\u00e9veloppement (par exemple un outil d&rsquo;\u2019analyse statique, ou un composant extrait d&rsquo;\u2019un cadre de test unitaire) pr\u00e9sentent beaucoup moins de risques que les d\u00e9pendances d&rsquo;\u2019ex\u00e9cution. Si les d\u00e9faillances de votre pipeline de construction sont susceptibles de retarder la sortie d&rsquo;\u2019une version ou de causer d&rsquo;\u2019autres probl\u00e8mes \u00e0 court terme auxpour les d\u00e9veloppeurs, elles n&rsquo;\u2019ont aucune incidence directe sur les utilisateurs et ne constituent g\u00e9n\u00e9ralement pas un risque du point de vue de la s\u00e9curit\u00e9 de l&rsquo;\u2019application en elle-m\u00eame.<\/p>\n<h2>Historique de maintenance<\/h2>\n<p>Le moyen le plus rapide d&rsquo;\u2019\u00e9valuer l&rsquo;\u2019\u00e9tat de sant\u00e9 g\u00e9n\u00e9ral d&rsquo;\u2019un projet est d&rsquo;\u2019examiner l&rsquo;\u2019historique de contr\u00f4le de ses sources. Quand la derni\u00e8re version a-t-elle \u00e9t\u00e9 publi\u00e9e \u00a0? \u00c0 quelle fr\u00e9quence les versions sont-elles publi\u00e9es, et quel est le taux de validations dans le r\u00e9f\u00e9rentiel du code source \u00a0? J&rsquo;\u2019aime que des projets soient mis \u00e0 jour fr\u00e9quemment, car cela me donne davantage confiance dans la probabilit\u00e9 que la biblioth\u00e8que continuera \u00e0 \u00eatre maintenue \u00e0 l&rsquo;\u2019avenir. \u00c0 l&rsquo;\u2019inverse, un projet rest\u00e9 en sommeil pendant une longue p\u00e9riode peut contenir des bogues non corrig\u00e9s, ou donner lieu \u00e0 des probl\u00e8mes de compatibilit\u00e9 avec les nouvelles versions des d\u00e9pendances communes, voire avec le moteur d&rsquo;\u2019ex\u00e9cution du langage lui-m\u00eame.<\/p>\n<p>Il est \u00e9galement tr\u00e8s utile de consulter le journal des modifications d&rsquo;\u2019une biblioth\u00e8que. Les changements introduits au fil des versions sont parfois d\u00e9crits sur la page correspondante. Dans certains autres cas, le journal des modifications est un fichier situ\u00e9 au niveau sup\u00e9rieur du r\u00e9f\u00e9rentiel du code source. Si cette information n&rsquo;\u2019est pas ais\u00e9ment accessible, c&rsquo;estil s\u2019agit d\u2019un signal important qui appelle \u00e0 la vigilance. Je cherche \u00e0 obtenir des descriptions claires de ce qui a \u00e9t\u00e9 modifi\u00e9 d&rsquo;\u2019une version \u00e0 l&rsquo;\u2019autre et \u00e0 savoir si les incompatibilit\u00e9s en amont ont \u00e9t\u00e9 clairement document\u00e9es. Toutefois, une fr\u00e9quence \u00e9lev\u00e9e de changements incompatibles avec les versions pr\u00e9c\u00e9dentes, ou de corrections de bogues dans les fonctionnalit\u00e9s de base, estconstitue en soi une source d&rsquo;\u2019inqui\u00e9tude car elle sugg\u00e8re que le d\u00e9veloppeur a failli dans son travail de planification et de d\u00e9bogage des modifications avant publication.<\/p>\n<h2>Relations avec les responsables de la maintenance<\/h2>\n<p>Une \u00e9valuation plus approfondie peut consister \u00e0 examiner le suivi des probl\u00e8mes d&rsquo;\u2019un projet et d&rsquo;\u2019autres canaux de communication publics. Dans quelle mesure les responsables de la maintenance sont-ils \u00e0 l&rsquo;\u2019\u00e9coute des utilisateurs\u00a0 ? Sont-ils cordiaux et r\u00e9ceptifs aux commentaires, ou adoptent-ils plut\u00f4t un ton pugnace\u00a0 ? Quel est le ratio de dossiers ouverts et de dossiers clos \u00a0? Les responsables r\u00e9pondent-ils activement aux pr\u00e9occupations des utilisateurs, ou les rapports de bogue restent-ils en suspens durant de longues p\u00e9riodes \u00a0? La documentation est-elle compl\u00e8te et oriente-t-elle efficacement l&rsquo;\u2019utilisateur vers les meilleures pratiques de mise en \u0153uvre \u00a0? Existe-t-il des preuves de l&rsquo;\u2019existence d&rsquo;\u2019une communaut\u00e9 dynamique autour de ce projet \u00a0? Par exemple, est-ce au responsable principal qu&rsquo;\u2019incombe enti\u00e8rement la charge de l&rsquo;\u2019assistance aux utilisateurs, ou d&rsquo;\u2019autres membres de la communaut\u00e9 sont-ils d\u00e9sireux et capables d&rsquo;\u2019en prendre au moins partiellement le relais \u00a0? Un projet qui donne lieu \u00e0 une relation saine avec sa communaut\u00e9 a beaucoup plus de chances de r\u00e9pondre aux besoins sp\u00e9cifiques des utilisateurs et de s&rsquo;\u2019adapter rapidement \u00e0 un environnement en pleine \u00e9volution.<\/p>\n<h2>D\u00e9pendances transitives<\/h2>\n<p>Cette \u00e9valuation demande certes un peu plus d&rsquo;\u2019efforts que le simple comptage de la fr\u00e9quence des publications, mais elle fournit une mine d&rsquo;\u2019informations. La premi\u00e8re chose que je veux comprendre, c&rsquo;\u2019est le nombre de d\u00e9pendances suppl\u00e9mentaires sur lesquelles s&rsquo;\u2019appuie une biblioth\u00e8que, et en particulier si elle fait appel \u00e0 des d\u00e9pendances inutiles. Les d\u00e9pendances qui fournissent une fonctionnalit\u00e9 cl\u00e9 pour une biblioth\u00e8que sont beaucoup moins pr\u00e9occupantes que le fait de faire appel \u00e0 de nombreuses biblioth\u00e8ques suppl\u00e9mentaires pour des t\u00e2ches sans rapport entre elles. Chaque d\u00e9pendance additionnelle signifie une complexit\u00e9 accrue et un risque suppl\u00e9mentaire pour la cha\u00eene d&rsquo;\u2019approvisionnement. En cas de doute, un outil d&rsquo;\u2019\u00e9valuation simple consiste \u00e0 installer la biblioth\u00e8que dans un conteneur docker et \u00e0 noter combien de biblioth\u00e8ques suppl\u00e9mentaires sont ajout\u00e9es au cours du processus.<\/p>\n<p>Dans cette cat\u00e9gorie, la plus grande pr\u00e9occupation est la facilit\u00e9 avec laquelle les d\u00e9pendances sont actualis\u00e9es \u00e0 mesure que de nouvelles vuln\u00e9rabilit\u00e9s sont d\u00e9couvertes. Pour cette raison, un \u00e9l\u00e9ment important de l&rsquo;\u2019\u00e9valuation consiste \u00e0 noter si une d\u00e9pendance est restrictive (c&rsquo;\u2019est-\u00e0-dire, satisfaite uniquement par une version sp\u00e9cifique d&rsquo;\u2019une biblioth\u00e8que) ou permissive (satisfaite par une gamme de versions). Les d\u00e9pendances restrictives constituent une pr\u00e9occupation majeure, car elles peuvent rendre les efforts de correction difficiles, voire nous obliger \u00e0 d\u00e9classer des biblioth\u00e8ques dont nous d\u00e9pendons pour d&rsquo;\u2019autres fonctionnalit\u00e9s. Il est \u00e9galement important de savoir dans quelle mesure ces d\u00e9pendances transitives sont \u00e0 jour. Une d\u00e9pendance versionn\u00e9e qui sp\u00e9cifie une version vieille de deux mois est beaucoup moins pr\u00e9occupante que si elle r\u00e9f\u00e9rence une version remontant \u00e0 deux ans. Dans le m\u00eame ordre d&rsquo;\u2019id\u00e9es, l&rsquo;\u2019un des signes qui \u00e9voquent un projet bien g\u00e9r\u00e9 est la pr\u00e9sence d&rsquo;\u2019un historique des actualisations fr\u00e9quentes qui maintiennent les d\u00e9pendances \u00e0 jour.<\/p>\n<h2>D\u00e9pendances des langages de programmation<\/h2>\n<p>M\u00e9fiez-vous tout particuli\u00e8rement des paquets \u00e9crits dans un certain langage et qui comportent des d\u00e9pendances suppl\u00e9mentaires dans un autre langage (par exemple des biblioth\u00e8ques \u00a0Python li\u00e9es \u00e0 des extensions \u00a0C compil\u00e9es en interne). Si les d\u00e9pendances secondaires impliquent un langage ou un environnement de programmation que vous connaissez moins bien, il vous sera plus difficile d&rsquo;\u2019\u00e9valuer leur qualit\u00e9 globale. De plus, les diff\u00e9rents langages supposent souvent des conventions d&rsquo;\u2019empaquetage diff\u00e9rentes. Or, les responsables de la maintenance de projets mixtes ne ma\u00eetrisent pas toujours les r\u00e8gles de bonne pratique de tous les langages de programmation qu&rsquo;\u2019ils utilisent, ce qui rend les mises \u00e0 jour et les correctifs encore plus compliqu\u00e9s.<\/p>\n<h2>Biblioth\u00e8ques cryptographiques<\/h2>\n<p>Les biblioth\u00e8ques cryptographiques m\u00e9ritent une attention particuli\u00e8re en raison de la complexit\u00e9 algorithmique qu&rsquo;\u2019elles impliquent, ainsi que de l&rsquo;\u2019impact \u00e9lev\u00e9 de leurs vuln\u00e9rabilit\u00e9s potentielles. Examinez ces biblioth\u00e8ques avec une attention particuli\u00e8re et assurez-vous de vous fier exclusivement \u00e0 des biblioth\u00e8ques qui ont fait l&rsquo;\u2019objet d&rsquo;\u2019une \u00e9valuation approfondie et reposent sur une longue exp\u00e9rience. Parmi les choix s\u00fbrs, citons OpenSSL pour C et C++, BouncyCastle pour Java et la biblioth\u00e8que cryptographique de PyCA pour Python. Vos options peuvent \u00eatre limit\u00e9es par la politique de s\u00e9curit\u00e9 ou les exigences de conformit\u00e9 de votre entreprise. Soyez au fait des vuln\u00e9rabilit\u00e9s connues des biblioth\u00e8ques cryptographiques et informez-vous r\u00e9guli\u00e8rement des nouvelles versions. Parmi toutes vos d\u00e9pendances tierces, ce sont celles qui ont la plus grande incidence en termes de s\u00e9curit\u00e9.<\/p>\n<h2>Qualit\u00e9 du code et de la documentation<\/h2>\n<p>Cette section et la suivante concernent des \u00e9valuations n\u00e9cessitant un niveau d&rsquo;\u2019effort \u00e9lev\u00e9, mais celui-ci est parfois justifi\u00e9 dans les cas \u00e0 haut risque. Lorsque je veux me faire une id\u00e9e de la qualit\u00e9 globale du code d&rsquo;\u2019un projet, j&rsquo;\u2019essaie de trouver un code source qui exploite une fonctionnalit\u00e9 dont je connais d\u00e9j\u00e0 en profondeur les caract\u00e9ristiques, et j&rsquo;\u2019\u00e9value la qualit\u00e9 d&rsquo;\u2019\u00e9criture de cette partie r\u00e9duite de la base de code. Parfois, j&rsquo;\u2019examine la qualit\u00e9 de la documentation du projet, en me concentrant sur la clart\u00e9 du r\u00e9dacteur et sa capacit\u00e9 \u00e0 communiquer efficacement des concepts complexes. Dans un cas comme dans l&rsquo;\u2019autre, l&rsquo;\u2019objectif est de d\u00e9terminer si les responsables font preuve d&rsquo;\u2019une grande attention aux d\u00e9tails ou s&rsquo;\u2019ils ont plut\u00f4t tendance \u00e0 prendre des raccourcis. On s&rsquo;\u2019attend ici \u00e0 ce que le degr\u00e9 de soin apport\u00e9 \u00e0 une partie du projet soit repr\u00e9sentatif de l&rsquo;\u2019\u00e9tat de l&rsquo;\u2019ensemble.<\/p>\n<p>\u00c0 titre d&rsquo;\u2019exemple concret, si j&rsquo;\u2019ai choisi d&rsquo;\u2019examiner la gestion du protocole \u00a0SSL par un projet \u00a0Python, je peux remarquer ce qui suit \u00a0:<\/p>\n<ul>\n<li>Les d\u00e9veloppeurs utilisent-ils les param\u00e8tres de connexion\u00a0 SSL par d\u00e9faut, ou essaient-ils de les personnaliser pour obtenir des param\u00e8tres plus s\u00fbrs \u00a0?<\/li>\n<li>S&rsquo;\u2019ils font des adaptations, dans quelle mesure les changements sont-ils judicieux \u00a0?<\/li>\n<li>Permettent-ils \u00e0 l&rsquo;\u2019utilisateur d&rsquo;\u2019effectuer des personnalisations suppl\u00e9mentaires\u00a0 ?<\/li>\n<li>S&rsquo;\u2019ils autorisent les personnalisations, r\u00e9utilisent-ils les objets\u00a0 SSLContext de la biblioth\u00e8que standard de Python ou essaient-ils de r\u00e9inventer la roue \u00a0?<\/li>\n<\/ul>\n<p>Dans une \u00e9valuation comme celle-ci, je veux voir des principes de conception solides, la r\u00e9utilisation d&rsquo;\u2019idiomes standard, et m&rsquo;\u2019assurer que l&rsquo;\u2019auteur puisse pr\u00e9voir les besoins potentiels des utilisateurs et fournir une extensibilit\u00e9 appropri\u00e9e pour y r\u00e9pondre.<\/p>\n<h2>Traitement des vuln\u00e9rabilit\u00e9s<\/h2>\n<p>Je l&rsquo;\u2019ai list\u00e9 cet \u00e9l\u00e9ment en dernier car il s&rsquo;\u2019agit g\u00e9n\u00e9ralement d&rsquo;\u2019une impression que je me forge au fil du temps et qui peut \u00eatre moins utile pour une premi\u00e8re \u00e9valuation. Cela d\u00e9pend aussi fortement de l&rsquo;\u2019ampleur de l&rsquo;\u2019utilisation et de la pertinence de la s\u00e9curit\u00e9 d&rsquo;\u2019une biblioth\u00e8que particuli\u00e8re. N\u00e9anmoins, cela peut certainement \u00eatre un facteur dans la d\u00e9cision de continuer \u00e0 utiliser une biblioth\u00e8que existante ou d&rsquo;\u2019essayer de migrer vers un remplacement.<\/p>\n<p>En d&rsquo;\u2019autres termes, j&rsquo;\u2019essaie d&rsquo;\u2019\u00e9valuer la r\u00e9activit\u00e9 du responsable du projet en mati\u00e8re de correction des vuln\u00e9rabilit\u00e9s et la facilit\u00e9 avec laquelle nous pouvons b\u00e9n\u00e9ficier de ces correctifs dans nos propres d\u00e9ploiements. Un projet qui fait fr\u00e9quemment l&rsquo;\u2019objet de divulgations de vuln\u00e9rabilit\u00e9s est quelque peu inqui\u00e9tant, mais il pourrait tout aussi bien s&rsquo;\u2019agir d&rsquo;\u2019un facteur de large utilisation et de pertinence en mati\u00e8re de s\u00e9curit\u00e9 plut\u00f4t que de la qualit\u00e9 globale du code et des pratiques de maintenance. Un meilleur indicateur est l&rsquo;\u2019action qui est adopt\u00e9e lorsqu&rsquo;\u2019une vuln\u00e9rabilit\u00e9 a \u00e9t\u00e9 d\u00e9couverte. Les correctifs sont-ils int\u00e9gr\u00e9s rapidement aux nouvelles versions \u00a0? Est-il facile d&rsquo;\u2019effectuer une mise \u00e0 niveau lorsque des versions corrig\u00e9es sont publi\u00e9es \u00a0? Si le projet apporte souvent des changements radicaux, notamment s&rsquo;\u2019il rompt r\u00e9guli\u00e8rement la r\u00e9trocompatibilit\u00e9, retransf\u00e8re-t-il les correctifs aux anciennes versions \u00a0? Si la biblioth\u00e8que fait partie d&rsquo;\u2019une distribution \u00a0Linux, la responsabilit\u00e9 du r\u00e9troportage des correctifs incombe g\u00e9n\u00e9ralement aux mainteneurs de la distribution plut\u00f4t qu&rsquo;\u2019au d\u00e9veloppeur d&rsquo;\u2019origine, mais les m\u00eames questions peuvent s&rsquo;\u2019appliquer \u00e0 la fa\u00e7on dont l&rsquo;\u2019empaqueteur g\u00e8re la biblioth\u00e8que (les distributions font souvent une distinction entre les paquets principaux avec une maintenance active et les paquets plus p\u00e9riph\u00e9riques, qui suivent g\u00e9n\u00e9ralement les versions amont avec des modifications minimales appliqu\u00e9es).<\/p>\n<p>Lorsqu&rsquo;\u2019une biblioth\u00e8que fait preuve d&rsquo;\u2019une mauvaise gestion des vuln\u00e9rabilit\u00e9s ou fonctionne d&rsquo;\u2019une mani\u00e8re qui rend difficile l&rsquo;\u2019utilisation des correctifs de s\u00e9curit\u00e9, je recommande souvent \u00e0 mon \u00e9quipe de migrer vers une autre biblioth\u00e8que.<\/p>\n<h2>Conclusions<\/h2>\n<p>L&rsquo;\u2019\u00e9valuation de la qualit\u00e9 globale d&rsquo;\u2019un projet logiciel et de la communaut\u00e9 qui l&rsquo;\u2019entoure est une comp\u00e9tence essentielle qui ne fera que gagner en pertinence \u00e0 mesure que les projets logiciels deviendront plus interd\u00e9pendants. Il s&rsquo;\u2019agit \u00e9galement d&rsquo;\u2019une comp\u00e9tence tr\u00e8s individuelle \u00a0; vous obtiendrez souvent les meilleurs r\u00e9sultats en \u00e9tudiant les d\u00e9cisions prises par les responsables des biblioth\u00e8ques dans vos domaines d&rsquo;\u2019expertise. \u00c9tant donn\u00e9 que la validation compl\u00e8te de chaque d\u00e9tail d&rsquo;\u2019un fournisseur potentiel est une t\u00e2che encore plus difficile que de construire la fonctionnalit\u00e9 soi-m\u00eame, le processus d&rsquo;\u2019\u00e9valuation consiste \u00e0 \u00e9tablir un degr\u00e9 de confiance et \u00e0 prendre des mesures pour s&rsquo;\u2019assurer que cette confiance n&rsquo;\u2019est pas mal plac\u00e9e. En fin de compte, apprendre \u00e0 contr\u00f4ler les d\u00e9pendances de tiers estconstitue un \u00e9l\u00e9ment important de la mise en place d&rsquo;\u2019une culture d&rsquo;\u2019ing\u00e9nierie qui prend en charge la s\u00e9curit\u00e9 et la fiabilit\u00e9 de votre produit.<\/p>\n<h2>\u00c0 propos de l&rsquo;\u2019auteur<\/h2>\n<p><a href=\"https:\/\/www.linkedin.com\/in\/jacob-emmert-aronson-97492b9b\">Jacob Emmert-Aronson<\/a> est ing\u00e9nieur principal au sein de l&rsquo;\u2019\u00e9quipe Mindmeld, qui fait partie de l&rsquo;\u2019organisation Webex \u00a0Intelligence. C&rsquo;\u2019est un expert en mati\u00e8re de s\u00e9curit\u00e9 informatique, de DevOps et de maintenance des logiciels, et sa sp\u00e9cialit\u00e9 consiste \u00e0 comprendre de quelle mani\u00e8re ces sujets se croisent.<\/p>\n<blockquote><p><span data-contrast=\"auto\">Vous souhaitez rejoindre l&rsquo;\u2019\u00e9quipe MindMeld\u00a0 ? Envoyez un e-mail \u00e0 mindmeld-jobs@cisco.com<\/span><\/p><\/blockquote>\n<p><a href=\"https:\/\/www.webex.com\/video-conferencing\">S&rsquo;\u2019inscrire \u00e0 Webex<\/a><\/p>\n<p>Consultez notre <a href=\"https:\/\/www.webex.com\/\">page d&rsquo;\u2019accueil<\/a> ou <a href=\"https:\/\/www.webex.com\/contact-sales.html\">contactez-nous<\/a> directement pour obtenir une assistance.<\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"><br \/>\n  <a href=\"https:\/\/www.webex.com\/?utm_source=Influence&#038;utm_medium=EarnedContent&#038;utm_campaign=FutureOfWork\">Cliquez ici<\/a> pour en savoir plus sur les offres de Webex et cr\u00e9er un compte gratuit.\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nous vous pr\u00e9sentons ici un r\u00e9capitulatif des consid\u00e9rations prises en compte par l&rsquo;\u2019ing\u00e9nieur en chef de l&rsquo;\u2019\u00e9quipe Mindmeld pour \u00e9valuer les biblioth\u00e8ques d&rsquo;\u2019apr\u00e8s la robustesse de leurs pratiques d&rsquo;\u2019ing\u00e9nierie, ainsi que leurs implications probables en mati\u00e8re de s\u00e9curit\u00e9. <\/p>\n","protected":false},"author":5429,"featured_media":15773,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[424,1502,1528],"tags":[774],"class_list":["post-20276","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-customer-stories","category-customer-stories-fr","category-engineering-fr","tag-voip"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Le\u00e7ons de SolarWinds\u00a0: - \u00c9valuation des biblioth\u00e8ques tierces | Webex Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Le\u00e7ons de SolarWinds\u00a0: - \u00c9valuation des biblioth\u00e8ques tierces | Webex Blog\" \/>\n<meta property=\"og:description\" content=\"Nous vous pr\u00e9sentons ici un r\u00e9capitulatif des consid\u00e9rations prises en compte par l&#039;\u2019ing\u00e9nieur en chef de l&#039;\u2019\u00e9quipe Mindmeld pour \u00e9valuer les biblioth\u00e8ques d&#039;\u2019apr\u00e8s la robustesse de leurs pratiques d&#039;\u2019ing\u00e9nierie, ainsi que leurs implications probables en mati\u00e8re de s\u00e9curit\u00e9.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/\" \/>\n<meta property=\"og:site_name\" content=\"Webex Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-14T15:19:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-03T13:36:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/07\/shutterstock_1937346976.png\" \/>\n\t<meta property=\"og:image:width\" content=\"975\" \/>\n\t<meta property=\"og:image:height\" content=\"554\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jacob Emmert-Aronson\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jacob Emmert-Aronson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/\"},\"author\":{\"name\":\"Jacob Emmert-Aronson\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#\\\/schema\\\/person\\\/ad7b1bc05cf30f631cabea736117f295\"},\"headline\":\"Le\u00e7ons de SolarWinds\u00a0: &#8211; \u00c9valuation des biblioth\u00e8ques tierces\",\"datePublished\":\"2021-07-14T15:19:37+00:00\",\"dateModified\":\"2021-08-03T13:36:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/\"},\"wordCount\":2746,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.webex.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/shutterstock_1937346976.png\",\"keywords\":[\"VoIP\"],\"articleSection\":[\"Customer Stories\",\"Customer Stories\",\"Ing\u00e9nierie\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/\",\"url\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/\",\"name\":\"Le\u00e7ons de SolarWinds\u00a0: - \u00c9valuation des biblioth\u00e8ques tierces | Webex Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.webex.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/shutterstock_1937346976.png\",\"datePublished\":\"2021-07-14T15:19:37+00:00\",\"dateModified\":\"2021-08-03T13:36:42+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#\\\/schema\\\/person\\\/ad7b1bc05cf30f631cabea736117f295\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.webex.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/shutterstock_1937346976.png\",\"contentUrl\":\"https:\\\/\\\/blog.webex.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/shutterstock_1937346976.png\",\"width\":975,\"height\":554,\"caption\":\"Lessons from SolarWinds \u2013 Evaluating third-party libraries\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/customer-stories\\\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Le\u00e7ons de SolarWinds\u00a0: &#8211; \u00c9valuation des biblioth\u00e8ques tierces\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/\",\"name\":\"Webex Blog\",\"description\":\"Webex by Cisco powers collaboration through industry-leading video conferencing, cloud calling and contact center solutions\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#\\\/schema\\\/person\\\/ad7b1bc05cf30f631cabea736117f295\",\"name\":\"Jacob Emmert-Aronson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8ef251980d33cacca257857fad8720047f28981064b9c85c611b68e145df2f8d?s=96&d=wp_user_avatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8ef251980d33cacca257857fad8720047f28981064b9c85c611b68e145df2f8d?s=96&d=wp_user_avatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8ef251980d33cacca257857fad8720047f28981064b9c85c611b68e145df2f8d?s=96&d=wp_user_avatar&r=g\",\"caption\":\"Jacob Emmert-Aronson\"},\"description\":\"Jacob Emmert-Aronson is a senior engineer on the Mindmeld team, part of the Webex Intelligence organization. He is a knowledge leader in information security, DevOps, and software maintenance, and his specialty is understanding how these topics intersect.\",\"url\":\"https:\\\/\\\/blog.webex.com\\\/fr\\\/contributors\\\/jemmert-aronson\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Le\u00e7ons de SolarWinds\u00a0: - \u00c9valuation des biblioth\u00e8ques tierces | Webex Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/","og_locale":"fr_FR","og_type":"article","og_title":"Le\u00e7ons de SolarWinds\u00a0: - \u00c9valuation des biblioth\u00e8ques tierces | Webex Blog","og_description":"Nous vous pr\u00e9sentons ici un r\u00e9capitulatif des consid\u00e9rations prises en compte par l'\u2019ing\u00e9nieur en chef de l'\u2019\u00e9quipe Mindmeld pour \u00e9valuer les biblioth\u00e8ques d'\u2019apr\u00e8s la robustesse de leurs pratiques d'\u2019ing\u00e9nierie, ainsi que leurs implications probables en mati\u00e8re de s\u00e9curit\u00e9.","og_url":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/","og_site_name":"Webex Blog","article_published_time":"2021-07-14T15:19:37+00:00","article_modified_time":"2021-08-03T13:36:42+00:00","og_image":[{"width":975,"height":554,"url":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/07\/shutterstock_1937346976.png","type":"image\/png"}],"author":"Jacob Emmert-Aronson","twitter_misc":{"\u00c9crit par":"Jacob Emmert-Aronson","Dur\u00e9e de lecture estim\u00e9e":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/#article","isPartOf":{"@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/"},"author":{"name":"Jacob Emmert-Aronson","@id":"https:\/\/blog.webex.com\/es\/#\/schema\/person\/ad7b1bc05cf30f631cabea736117f295"},"headline":"Le\u00e7ons de SolarWinds\u00a0: &#8211; \u00c9valuation des biblioth\u00e8ques tierces","datePublished":"2021-07-14T15:19:37+00:00","dateModified":"2021-08-03T13:36:42+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/"},"wordCount":2746,"commentCount":0,"image":{"@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/07\/shutterstock_1937346976.png","keywords":["VoIP"],"articleSection":["Customer Stories","Customer Stories","Ing\u00e9nierie"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/","url":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/","name":"Le\u00e7ons de SolarWinds\u00a0: - \u00c9valuation des biblioth\u00e8ques tierces | Webex Blog","isPartOf":{"@id":"https:\/\/blog.webex.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/#primaryimage"},"image":{"@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/07\/shutterstock_1937346976.png","datePublished":"2021-07-14T15:19:37+00:00","dateModified":"2021-08-03T13:36:42+00:00","author":{"@id":"https:\/\/blog.webex.com\/es\/#\/schema\/person\/ad7b1bc05cf30f631cabea736117f295"},"breadcrumb":{"@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/#primaryimage","url":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/07\/shutterstock_1937346976.png","contentUrl":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/07\/shutterstock_1937346976.png","width":975,"height":554,"caption":"Lessons from SolarWinds \u2013 Evaluating third-party libraries"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.webex.com\/fr\/customer-stories\/lecons-de-solarwinds-evaluation-des-bibliotheques-tierces\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.webex.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Le\u00e7ons de SolarWinds\u00a0: &#8211; \u00c9valuation des biblioth\u00e8ques tierces"}]},{"@type":"WebSite","@id":"https:\/\/blog.webex.com\/es\/#website","url":"https:\/\/blog.webex.com\/es\/","name":"Webex Blog","description":"Webex by Cisco powers collaboration through industry-leading video conferencing, cloud calling and contact center solutions","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.webex.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/blog.webex.com\/es\/#\/schema\/person\/ad7b1bc05cf30f631cabea736117f295","name":"Jacob Emmert-Aronson","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/8ef251980d33cacca257857fad8720047f28981064b9c85c611b68e145df2f8d?s=96&d=wp_user_avatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8ef251980d33cacca257857fad8720047f28981064b9c85c611b68e145df2f8d?s=96&d=wp_user_avatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8ef251980d33cacca257857fad8720047f28981064b9c85c611b68e145df2f8d?s=96&d=wp_user_avatar&r=g","caption":"Jacob Emmert-Aronson"},"description":"Jacob Emmert-Aronson is a senior engineer on the Mindmeld team, part of the Webex Intelligence organization. He is a knowledge leader in information security, DevOps, and software maintenance, and his specialty is understanding how these topics intersect.","url":"https:\/\/blog.webex.com\/fr\/contributors\/jemmert-aronson\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/posts\/20276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/users\/5429"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/comments?post=20276"}],"version-history":[{"count":0,"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/posts\/20276\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/media\/15773"}],"wp:attachment":[{"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/media?parent=20276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/categories?post=20276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.webex.com\/fr\/wp-json\/wp\/v2\/tags?post=20276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}