La parole est aux speakers : Kévin Dunglas

Publié le

Jusqu’à l’AFUP Day 2023, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Protégez-vous des attaques de la chaîne logistique grâce à Composer

Lorsque vous installez une bibliothèque JavaScript, elle vient généralement avec des centaines de dépendances transitives, c'est à dire des bibliothèques qui sont installées par effet de bord car elles sont indispensables au fonctionnement de la bibliothèque que vous souhaitez utiliser.

Cette prolifération des dépendances ouvre la porte aux supply chain attacks. Il suffit que l'un des dépôts hébergeant l'une de ces centaines de bibliothèques, ou que l'un des mainteneurs soit malveillant, et il devient possible d'injecter des logiciels malveillants dans le vôtre, qui peuvent vous cibler, vous ou votre organisation, et même les utilisateurs et utilisatrices finaux de vos logiciels.

Comme je l'expliquais déjà en 2018, l'écosystème PHP est relativement moins sensible à ce type d'attaques que celui en JavaScript, car les mainteneuses et mainteneurs des bibliothèques et frameworks populaires font relativement attention à ne pas dépendre de trop de dépendances tierces, ce qui limite le problème... mais ne l'empêche pas totalement pour autant.

Et si l'on pouvait faire mieux grâce à notre logiciel de gestion de bibliothèques préféré : Composer ? Au cours de ce talk, je présenterai - exemple à l'appui - comment fonctionnent les attaques de la chaînes logistique, puis j'ébaucherai quelques méthodes organisationelles qui pourraient limiter le soucis, et finalement je vous montrerai comment reprendre le contrôle total de votre dossier vendor/ grâce à un plugin Composer que je publierai pour l'occasion.

Université Catholique de Lille
12/05/2023
14:00-14:40

Comment cette nouvelle protection se met en place dans une chaîne d’intégration continue ?

Cette nouvelle protection va s’intégrer très facilement aux workflows de développement et aux chaînes d’intégration continue. Une fois correctement configurée, l’installation ou la mise à jour de paquets via Composer lèvera une erreur si des paquets venant de sources non-validées par l’équipe sont installés.

Tu es connu pour la complexité des sujets que tu abordes. Que conseilles-tu de lire avant d’assister à ta conférence ?

Rien ! Cette conférence devrait être très accessible. Ou alors si, un peu d’auto-promo pour bien comprendre le contexte : https://dunglas.dev/2018/11/about-the-dependencies-of-symfony/

De nouvelles failles de sécurité sont découvertes chaque jour. Comment être alerté au plus tôt et s’en prémunir efficacement ?

Des efforts importants ont été menés pour faciliter la détection et la mise à jour des dépendances contenant des failles de sécurité. GitHub propose un système d’alerte plutôt efficace (les dépendances du projet sont surveillées et lorsqu’une faille de sécurité les touchant est détectée, une notification est émise). Composer lui-même propose désormais une commande, “composer audit”, qui permet de savoir si les dépendances installées contiennent des vulnérabilités. Dans l’écosystème JS, NPM et Yarn fournissent des commandes similaires. Des outils similaires existent pour Docker (Scout, Snyk, Grype…).

La meilleure manière de se prémunir reste de n’utiliser qu’un nombre restreint de dépendances, maintenues par des développeurs de confiance, et – surtout – de financer la maintenance de ces projets. Pour ce faire, des outils comme Tidelift sont vraiment intéressants, car ils permettent de contribuer financièrement à la correction des failles dans les projets dont l’on dépend.

Une conférence présentée par

Kévin DUNGLAS
Kévin DUNGLAS
Kévin est le créateur du framework API Platform ainsi que de projets comme FrankenPHP, Mercure ou Vulcain. Il est également membre de la Core Team Symfony et a cofondé la société autogérée Les-Tilleuls.coop.

Autres intervenants