Annonce de GitHub Security Lab : sécuriser le code du monde entier, ensemble

Image of Shanku Niyogi

Nous partageons tous la responsabilité d’assurer la sécurité des logiciels open source – aucun d’entre nous ne peut assumer cette responsabilité seul. Lors de GitHub Universe 2019, nous avons annoncé la création du GitHub Security Lab pour réunir les chercheurs en sécurité, les responsables de la maintenance et les entreprises qui partagent notre conviction que la sécurité de l’open source est importante pour tous.

Nous sommes ravis d’annoncer que nous avons aujourd’hui des partenaires qui se sont engagés à atteindre cet objectif. Nous fournissons des outils, des ressources et des milliers d’heures de recherche sur la sécurité pour aider à sécuriser l’écosystème open source. 

Dans le cadre de l’annonce d’aujourd’hui, GitHub Security Lab met gratuitement CodeQL à la disposition de tous pour trouver des vulnérabilités dans le code source ouvert. CodeQL est un outil utilisé par de nombreuses équipes de recherche en sécurité dans le monde entier pour effectuer l’analyse sémantique du code, et nous l’avons nous-mêmes utilisé, ce qui nous a permis de trouver plus de 100 CVEs dans certains des projets open source les plus populaires. 

Nous lançons également la GitHub Advisory Database, une base de données publique vous permettant de consulter les vulnérabilités reconnues par GitHub.

L’approche de GitHub en matière de sécurité couvre l’ensemble du cycle de vie de la sécurité open source. GitHub Security Lab aidera à identifier et à rapporter les vulnérabilités des logiciels open source, tandis que les mainteneurs et les développeurs utilisent GitHub pour créer des correctifs, coordonner la divulgation et mettre à jour les projets dépendants dans une version fixe.

GitHub Security Lab 

La mission de GitHub Security Lab est d’inspirer et de permettre à la communauté mondiale de recherche en sécurité de sécuriser le code mondial. Notre équipe montrera l’exemple en consacrant des ressources à plein temps à la recherche et à la notification des vulnérabilités dans les projets open source primordiaux. Notre équipe a déjà répertorié plus de 100 CVE pour des vulnérabilités de sécurité qu’elle a aidé à identifier.

Sécuriser les logiciels open source du monde entier est une tâche colossale, l’écosystème JavaScript à lui seul compte plus d’un million de paquets open source. Il y a également une pénurie d’experts en sécurité : les développeurs sont plus nombreux que les professionnels de la sécurité (500 développeurs pour 1 expert en sécurité). Enfin, il y a le problème de la coordination : les experts mondiaux de la sécurité sont répartis dans des milliers d’entreprises. GitHub Security Lab et CodeQL contribueront à uniformiser les règles.

Les entreprises suivantes se joignent à nous dans cet effort, offrant leur temps et leur expertise pour trouver et signaler les vulnérabilités des logiciels open source. Chaque entreprise s’est engagée à contribuer à ce projet, chacune à sa façon, et nous espérons que d’autres se joindront à nous à l’avenir.

  • F5
  • Google
  • HackerOne
  • IOActive
  • J.P. Morgan
  • LinkedIn
  • Microsoft
  • Mozilla
  • Groupe de la CCN
  • Oracle
  • Trail of Bits
  • Uber
  • VMWare

 

Pour renforcer la communauté en charge de la recherche, nous rendons également notre moteur d’analyse de code, CodeQL, libre d’utilisation sur l’open source. CodeQL vous permet d’interroger le code comme s’il s’agissait de données. Si vous connaissez une erreur de codage à la source d’une vulnérabilité, vous pouvez écrire une requête pour trouver toutes les variantes de ce code, éliminant ainsi définitivement tout un groupe de vulnérabilités. Cliquez ici pour voir comment démarrer avec CodeQL.

 

En outre, si vous êtes chercheur en sécurité ou si vous travaillez au sein d’une équipe de sécurité, nous avons besoin de votre aide. L’ensemble de la communauté doit s’entraider et travailler collectivement à la sécurisation des logiciels open source dans le monde. GitHub Security Lab organisera des événements et partagera les meilleures pratiques pour s’engager dans cet effort. Suivez le compte @GHSecurityLab sur Twitter pour plus de détails.

 

Améliorer le workflow de sécurité open source

 

Alors que les chercheurs en sécurité du monde entier découvrent de plus en plus de vulnérabilités, les responsables de la maintenance et les utilisateurs finaux ont besoin de meilleurs outils pour gérer et administrer ces découvertes.

 

Aujourd’hui, le processus de traitement d’une nouvelle vulnérabilité est souvent ad hoc. 40% des nouvelles vulnérabilités en open source n’ont pas d’identifiant CVE lorsqu’elles sont annoncées, ce qui signifie qu’elles n’apparaissent dans aucune base de données publique. Également, 70% des vulnérabilités critiques restent non corrigées 30 jours après que les développeurs en aient été avertis.

 

Nous sommes actuellement en train de réparer ça. Les mainteneurs et les développeurs peuvent maintenant travailler ensemble directement sur GitHub pour s’assurer que les nouvelles vulnérabilités ne sont divulguées que lorsque les mainteneurs sont prêts à les recevoir afin que les développeurs puissent mettre à jour les versions corrigées rapidement et facilement. 

 

Avis de sécurité GitHub 

Avec Security Advisories, les responsables de la maintenance peuvent travailler avec les chercheurs en sécurité sur les correctifs de sécurité dans un espace privé, demander un CVE directement depuis GitHub, et spécifier les détails structurés de la vulnérabilité en question. Ensuite, lorsqu’ils sont prêts à publier l’avis de sécurité, GitHub enverra des alertes de sécurité aux projets affectés.

 

Mises à jour de sécurité automatisées

Il est important de recevoir une notification sur les dépendances qui sont vulnérables, mais il est encore mieux d’obtenir une pull request avec un correctif. Pour aider les développeurs à répondre rapidement aux nouvelles vulnérabilités, GitHub crée des mises à jour de sécurité automatisées – des pull requests qui permettent de corriger des vulnérabilités dans vos dépendances.

 

Des mises à jour de sécurité automatisées ont été lancées en version bêta à GitHub Satellite 2019 et sont maintenant généralement disponibles et déployées dans tous les repositories actifs avec des alertes de sécurité activées.

 

Token scanning

L’une des erreurs de sécurité les plus courantes est le codage dur des jetons ou des justificatifs d’identité dans un projet. Dans les secondes qui suivent le transfert d’un commit vers GitHub (ou la publication d’un repository), nous l’analysons à la recherche de formats de jetons provenant de 20 fournisseurs de cloud différents. Lorsque nous détectons une correspondance, nous en informons le fournisseur de services approprié et celui-ci prend des mesures, généralement en révoquant les jetons et en avisant les utilisateurs concernés. Nous avons annoncé quatre nouveaux partenaires aujourd’hui : GoCardless, HashiCorp, Postman et Tencent.

 

Base de données consultative GitHub

Nous avons rendu disponibles gratuitement toutes les données créées par les responsables de la maintenance dans GitHub Security Advisories, ainsi que les données supplémentaires conservées et référencées sur les paquets suivis par le graphique de dépendance GitHub. Explorez la nouvelle base de données GitHub Advisory Database dans votre navigateur, créez un lien direct vers les enregistrements avec les identifiants CVE dans les commentaires, ou accédez aux données par programmation en utilisant l’API SecurityAdvisory.