GitHub Bug Bounty Program

GitHub souffle les cinq bougies de son programme Bug Bounty!

Image of Phil Turnbull

En 2014, GitHub a lancé son programme permettant de récompenser les chercheurs indépendants en sécurité informatique qui ont aidé GitHub à protéger ses utilisateurs : Security Bug Bounty.

Au cours de ces cinq dernières années, ces chercheurs ont fait preuve d’ingéniosité et ont fourni un travail acharné. Et l’année dernière n’aura pas dérogé à la règle : 165 000 dollars ont été reversés aux chercheurs au travers du programme bug bounty public de GitHub.

Ce programme fait partie des nombreuses initiatives menées par GitHub en collaboration avec les chercheurs. En 2018, les subventions de recherches, les programmes bug bounty privés et un événement live-hacking auront permis à la « maison des développeurs » de toucher encore plus de talents en sécurité informatique.

Ces différentes méthodes de collaboration avec des chercheurs indépendants ont permis à GitHub de franchir un cap important : en 2018, plus de 250 000 dollars leur ont été versés.

GitHub revient sur les grandes nouveautés de l’année passée et présente également les évolutions majeures de son programme : une protection juridique complète pour les chercheurs, davantage de produits et sites GitHub pouvant bénéficier de récompenses, et la révision à la hausse de ces dernières.

2018, une année forte en annonces

Bourse de recherche pour la gestion d’accès aux API REST et GraphQL

Depuis le lancement en 2017 de son programme de bourses de recherche, GitHub cherche à collaborer avec des spécialistes de ses produits. Mi-2018, @kamilhism a soumis une série de vulnérabilités au programme bug bounty public, démontrant son expertise dans la logique d’autorisation des API REST et GraphQL. Pour accompagner Kamil dans ses futures recherches, GitHub lui a offert une subvention fixe pour procéder à un audit systématique de la logique d’autorisation des API. L’excellence de l’audit réalisé par Kamil a permis de découvrir et de corriger sept autres failles d’autorisation dans les API de la première plateforme des développeurs.

H1-702

Au mois d’août, GitHub a participé à l’événement H1-702 organisé par HackerOne à Las Vegas. Tout au long d’une soirée de live-hacking, plus de 75 chercheurs, parmi les meilleurs de la plateforme HackerOne, se sont concentrés sur les produits GitHub. Les résultats ont été au rendez-vous, et GitHub a ainsi versé près de 75 000 dollars pour 43 vulnérabilités incluant 6 vulnérabilités de gravité élevée dans GitHub Enterprise Server. Cet événement a permis à GitHub de faire la connaissance de ces experts et de recevoir un excellent retour d’information quant à la façon dont la plateforme peut améliorer son programme bug bounty.

GitHub Actions, un programme bug bounty privé

En octobre 2018, GitHub a lancé une version bêta publique limitée de GitHub Actions. Dans ce cadre, la plateforme a également mis en place un programme privé de chasse aux failles en vue de compléter son vaste programme d’évaluation de la sécurité. GitHub a envoyé plus de 150 invitations à des chercheurs ayant participé au programme privé de l’année précédente, à l’ensemble des participants de plateforme H1-702 et à plusieurs chercheurs qui avaient pris part à leur programme public. GitHub a ainsi découvert une vulnérabilité de gravité moyenne dans GitHub Actions, ainsi qu’un certain nombre de vulnérabilités de faible gravité.

GitHub a également organisé des sessions de questions-réponses publiques pour permettre à l’équipe de sécurité de GitHub de rencontrer les chercheurs. Ces rencontres constituent un excellent moyen de créer une communauté et de mutualiser les connaissances. Deux des chercheurs, @not-an-aardvark et @ngaloggc, ont présenté leurs contributions et expliqué en détail leur manière d’approcher une cible.

Des améliorations dans le processus de travail

GitHub a déjà partagé des informations détaillées concernant son processus de travail interne sur la chasse aux failles pour l’année 2017, et a depuis perfectionné le processus. Les outils comme le ChatOps ont continué d’évoluer au cours de l’année écoulée, et GitHub a identifié des opportunités pour rationaliser le processus. Mais les changements ne se limitent pas à l’aspect technique. Jusqu’à présent, la « maison des développeurs » dispose d’un système « d’ingénieur de garde » chargé de traiter chaque jour les contributions de failles identifiées. À ce système a été ajoutée une réunion hebdomadaire avec l’ensemble des membres de l’équipe de sécurité applicative pour examiner l’état des contributions. Ces réunions permettent à l’équipe de s’assurer qu’aucune demande n’est bloquée, que les travaux sont correctement classés par ordre de priorité par les équipes d’ingénieurs en fonction de leur niveau de gravité, et que les chercheurs sont régulièrement informés de la situation de leurs soumissions.

Le délai nécessaire pour valider une soumission et la router vers l’équipe d’ingénierie compétente en vue de lancer les travaux de remédiation constitue l’une des métriques clés du programme. Les améliorations apportées au processus de travail ont porté leurs fruits, et GitHub a considérablement réduit le délai de triage à 19 heures en moyenne au lieu de 4 jours en 2017. De même, le délai moyen de résolution est passé de 16 à 6 jours. À titre d’information, une contribution est considérée comme « résolue » lorsque le problème a été corrigé, ou s’il a été priorisé avec suivi par l’équipe d’ingénierie compétente.

L’objectif était de pouvoir répondre aux chercheurs en moins de 24 heures, et il a été atteint. Un dernier délai a été réduit, et non des moindres pour les chercheurs : le délai de récompense est passé d’une moyenne de 17 jours en 2017 à 11 actuellement. GitHub assure ainsi son implication dans ce programme et promet de continuer à réduire les délais pour l’année prochaine.

De nouvelles initiatives pour 2019

Le programme Bug Bounty fonctionne avec succès depuis cinq ans, mais de nouvelles améliorations peuvent y être apportées. C’est grâce aux retours des chercheurs que GitHub annonce aujourd’hui trois changements majeurs pour 2019 :

  • Protection juridique

GitHub accorde une grande importance à la protection des participants à son programme Bug Bounty contre les risques liés à la recherche en sécurité sur le plan juridique. Pour leur assurer le plus haut niveau de sécurité, la plateforme à ajouter à sa politique un ensemble solide de conditions juridiques de type « Safe Harbor ». Ces nouvelles règles reposent sur les modèles de licence CC0 fournis par @F-Jennings, avocat-conseil de GitHub. Ces modèles sont un fork du référentiel Legal Bug Bounty d’EdOverflow, avec de nombreuses modifications qui découlent des discussions menées avec des chercheurs en sécurité ainsi que de l’étude générale consacrée sur ce sujet par Amit Elazari; ils s’appuient également sur d’autres exemples de bonnes pratiques en matière de sécurité de confidentialité, dont le projet disclose.io de Bugcrowd et la nouvelle politique de divulgation des vulnérabilités de Dropbox.

Ces nouvelles conditions couvrent trois sources majeures de risques juridiques :

  1. Désormais, l’activité de recherche demeure protégée, même si le chercheur sort accidentellement du périmètre du programme bug bounty de GitHub. La « sphère de sécurité » (Safe Harbor) comprend à présent un engagement ferme à ne pas intenter de poursuites civiles ou pénales pour risque juridique — et à ne pas appuyer les poursuites ou actions civiles initiées par des tiers — concernant les activités de recherche des participants au programme bug bounty, y compris les violations de bonne foi de la politique relative aux failles.
  2. La protection contre les tiers qui ne s’engagent pas à respecter le niveau de protection de notre sphère de sécurité est aussi un véritable combat pour GitHub. Les conditions « Safe Harbor » limitent désormais le partage de rapports avec des tiers de deux façons : primo, GitHub ne partage pas les données d’identification personnelles avec un tiers sans avoir au préalable obtenu la permission écrite du chercheur ; secundo, GitHub ne partagera aucune autre information à un tiers sans en avoir informé au préalable les chercheurs concernés et sous réserve d’avoir obtenu l’engagement du tiers à ne pas intenter d’action en justice à leur encontre.
  3. Les conditions d’utilisation de GitHub ne seront pas transgressées si les travaux des chercheurs portent spécifiquement sur des failles de sécurité. À titre d’exemple, si le champ d’application de la recherche concerne la rétro-ingénierie informatique, les chercheurs peuvent ignorer les restrictions de l’accord GitHub Enterprise Agreement sur la rétro-ingénierie. La « sphère de sécurité » prévoit à présent une dérogation limitée pour certaines parties d’autres conditions et règles. Ainsi, les chercheurs sont protégés contre les risques juridiques liés aux règles anti-contournement de la loi DMCA (Digital Millennium Copyright Act) ou à des conditions contractuelles pouvant, dans d’autres cas, empêcher un chercheur d’accomplir certaines tâches, comme la rétro-ingénierie ou le code de désobfuscation.

D’autres entreprises peuvent considérer ces termes et conditions comme un ensemble standard de bonnes pratiques de sécurité. Le but étant de les encourager à les utiliser et à les modifier librement en fonction de leurs propres programmes bug bounty. En créant ces termes, GitHub entend bien dépasser le cadre actuel des programmes « Safe Harbor » pour assurer aux chercheurs la meilleure protection contre les risques criminels, civils et liés aux tiers. Ces termes ont été étudiés par des chercheurs experts en sécurité, et marquent l’aboutissement de nombreux mois de recherches sur le plan juridique et d’étude d’autres programmes. Ce programme n’aurait jamais vu le jour sans l’aide précieuse MG, Mugwumpjones et d’autres chercheurs pour leurs commentaires sur les ébauches initiales des modèles élaborés par l’avocat-conseil de GitHub @F-Jennings.

  • Un périmètre élargi

Depuis cinq ans, la liste des produits GitHub pouvant faire l’objet de récompenses ne cesse d’être élargie. Le champ d’action a été étendu aux vulnérabilités découvertes dans l’ensemble des services de premier plan hébergés dans le domaine github.com, à savoir GitHub Education, GitHub Learning Lab et GitHub Jobs. Seront également récompensées les contributions concernant l’application de bureau GitHub Desktop. GitHub Enterprise Server est couvert depuis 2016, mais pour augmenter la sécurité des clients professionnels, le périmètre est élargi et inclut désormais GitHub Enterprise Cloud.

Mais cette approche ne se limite pas aux systèmes avec lesquels les utilisateurs sont en contact. La sécurité de leurs données dépend également de celle des employés de GitHub et de ses systèmes internes. C’est pourquoi tous les services de premier plan associés aux domaines githubapp.com et github.net qu’utilisent les employés de GitHub sont également inclus.

  • Des récompenses revues à la hausse

Le montant des récompenses est régulièrement évalué en fonction du marché. Il est également de plus en plus difficile de détecter des vulnérabilités classées « haute gravité » dans les produits de GitHub. Les chercheurs qui les identifient devraient donc être récompensés à la hauteur de leurs efforts, c’est la raison pour laquelle le montant des gratifications a été revu à la hausse :

– Critique : 20 000 – 30 000 dollars et plus

– Haut : 10 000 – 20 000 dollars

– Moyen : 4 000 – 10 000 dollars

– Faible : 617  – 2 000 dollars

Ces récompenses ont été utiles ces cinq dernières années, et l’ingéniosité des chercheurs continue d’impressionner. Pour ces raisons, GitHub annonce avoir supprimé le plafond de récompenses pour les vulnérabilités critiques. Le montant de 30 000 dollars est annoncé à titre indicatif pour cette catégorie de vulnérabilités, et GitHub se réserve le droit d’augmenter de façon considérable les montants versés.

 

Impliquez-vous !

Le programme bug bounty demeure un élément central du processus de sécurité de GitHub, et permet de tirer de nombreux enseignements des travaux de recherche. Avec ces nouvelles initiatives, c’est le moment idéal pour s’impliquer. Tous les détails concernant la sphère de sécurité  « Safe Harbor », l’élargissement du périmètre et l’augmentation des récompenses sont disponibles sur le site GitHub Bug Bounty.