Fermez

Notre approche en matière de tests de sécurité externes


Les clients souhaitant avoir la certitude que nous avons mis en place des processus pour identifier (et corriger) les failles de sécurité dans les produits Atlassian et la plateforme Cloud nous demandent régulièrement des rapports sur les tests d'intrusion. Notre approche des tests de sécurité externes repose sur le concept d'« assurance continue » : plutôt que d'effectuer un test d'intrusion ponctuel, nous appliquons un modèle de test disponible en continu à l'aide d'un programme Bug Bounty crowdsourcé.

 

Notre philosophie et notre approche

Chez Atlassian, nous sommes bien connus pour nos valeurs, qui influencent véritablement toutes nos actions, y compris notre approche des tests de sécurité. Dans la pratique, nos valeurs nous ont conduits à adopter les philosophies et approches suivantes :

  • Les bugs font inévitablement partie du processus de développement. La question n'est pas de savoir si nous en rencontrons, mais bien si nous sommes capables de les identifier et de les résoudre de façon efficace et rapide. Cela ne signifie pas pour autant que nous aimons les bugs ou que nous ne cherchons pas en permanence des moyens innovants pour réduire leur fréquence et leur gravité. Quand il est question de bugs logiciels, le déni n'est pas une approche efficace.
  • En identifiant et en résolvant rapidement les problèmes, nous avons pour objectif d'augmenter le coût économique associé à l'identification et à l'exploitation de failles et de bugs de sécurité dans nos produits et services. L'exploitation d'une faille par des personnes mal intentionnées nécessitera ainsi plus de temps, de connaissances et de ressources, et le retour sur investissement associé sera moindre. Sous un certain seuil de rendement, l'exploitation des failles deviendra ainsi prohibitive ou peu intéressante.
  • Nous prenons en charge et appliquons les normes du secteur. En standardisant notre terminologie et notre approche, nous avons la certitude de couvrir tous les points et nous aidons nos clients à comprendre nos activités. Par exemple, les évaluations communes des failles à l'aide du système CVSS (Common Vulnerability Scoring System) garantissent une certaine clarté entre nos clients et nous-mêmes quant à la gravité d'une faille donnée. Nous appliquons également les processus de gestion des failles décrits dans la norme ISO 27001 et dans le programme CSA (Cloud Security Alliance)
  • Les chercheurs en sécurité externes constituent un complément précieux pour notre équipe. Si un produit Atlassian présente une faille, il en va de l'intérêt de tous (tant du nôtre que de celui de nos clients) de l'identifier et de le corriger aussi rapidement que possible. Les chercheurs en sécurité externes qui nous aident à accomplir cette tâche constituent un complément précieux pour notre équipe de sécurité et devraient être récompensés en conséquence. Avec leur aide, nous sommes en mesure de faire évoluer notre équipe bien au-delà des approches traditionnelles !
  • Nous sommes ouverts et transparents sur notre programme de tests de sécurité. Notre programme Bug Bounty fournit des statistiques sur les bugs identifiés. Nous parlons ouvertement de la vitesse à laquelle nous nous efforçons de corriger les bugs de sécurité et nous publions des rapports de test synthétiques dès que possible.

 

Assurance sécurité continue

Tests d'intrusion

Nous faisons appel à des sociétés de conseil spécialisées dans la sécurité pour effectuer des tests d'intrusion dans nos produits et notre infrastructure à haut risque. Ces tests peuvent concerner une nouvelle infrastructure configurée pour nous (p. ex., notre environnement Cloud), d'un nouveau produit (p. ex., Trello) ou d'un changement profond dans l'architecture (p. ex., l'utilisation extensive de microservices). 

Dans ces cas, notre approche des tests d'intrusion est hautement ciblée. Voici la liste des tests que nous menons généralement :

  • Boîte blanche : les testeurs reçoivent de la documentation sur la conception de nos produits et sont briefés par nos ingénieurs produit pour les aider dans leurs tests.
  • Approche assistée par le code : les testeurs disposent d'un accès total à la base de code pertinente pour les aider à diagnostiquer les comportements inattendus du système durant les tests et à identifier les cibles potentielles.
  • Approche basée sur la menace : les tests se concentrent sur un scénario de menace donné, comme l'existence supposée d'une instance compromise, et évaluent les mouvements latéraux possibles à partir de ce point.

Nous ne mettons pas les rapports ou extraits à disposition à des fins d'utilisation externe en raison de l'exhaustivité des informations fournies aux testeurs pour mener leurs évaluations.

La majorité de ces systèmes et produits seront ensuite inclus à notre programme Bug Bounty public, offrant ainsi la garantie externe recherchée par nos clients.

Programme Bug Bounty

Notre programme Bug Bounty est hébergé par Bugcrowd. Il a pour objectif de s'assurer que nos produits sont constamment testés afin d'identifier d'éventuelles failles de sécurité. Il constitue la pierre angulaire de notre programme de tests de sécurité externes et découle de recherches, d'analyses et de comparaisons importantes menées sur plusieurs modèles de test.

Nous pensons que les nombreux chercheurs en sécurité indépendants qui participent à notre programme Bug Bounty constituent le processus externe le plus efficace, car :

  1. Un programme Bug Bounty est toujours disponible. Les tests d'intrusion sont généralement limités à quelques semaines. Dans un environnement de développement véritablement Agile, où les livraisons sont fréquentes, les tests continus sont indispensables. 
  2. Un programme Bug Bounty implique plus de 60 000 testeurs potentiels. Les tests d'intrusion font généralement appel à une ou deux personnes. Quelle que soit leur compétence, ces personnes ne surpasseront jamais la capacité agrégée de l'équipe de participants au programme Bug Bounty.
  3. Les chercheurs participant au programme Bug Bounty développent des outils spécialisés et procèdent de façon verticale (types de bug spécifiques) et horizontale (primes spécifiques). Cette spécialisation offre la plus grande chance d'identifier les failles cachées, mais importantes.

Nous continuons d'avoir recours à des tests d'intrusion et des consultants spécialisés en sécurité à des fins de soutien interne, mais un système de Bug Bounty est bien plus approprié pour notre programme externe à vaste portée. Nous pensons que ces approches combinées maximisent nos chances d'identifier des failles. 

Plus de 25 de nos produits ou environnements (qu'il s'agisse de nos produits Server ou Cloud, ou encore de nos apps mobiles) entrent dans le champ d'application de notre programme Bug Bounty. Tous les détails relatifs au nombre de failles signalées, à notre temps de réponse moyen et à la rémunération moyenne sont inclus sur le site Bugcrowd, et plus de 800 testeurs se sont spécifiquement inscrits à notre programme.

Parmi les failles que nous cherchons à identifier grâce à notre programme Bug Bounty figurent les types communs répertoriés dans les listes de menaces OWASP (Open Web Application Security Project) et WASC (Web Application Security Consortium), notamment :

  • Fuite de données/accès entre les différentes instances
  • Exécution de code arbitraire (RCE)
  • Server-Side Request Forgery (SSRF)
  • Cross-site Scripting (XSS)
  • Cross-site Request Forgery (CSRF)
  • SQL Injection (SQLi)
  • Attaques XML eXternal Entity (XXE)
  • Failles de contrôle d'accès (problèmes de références d'objet directes non sécurisées, etc.)
  • Problèmes de type « Path/Directory Traversal »

Dans le cadre de nos efforts d'ouverture et de transparence, nous invitons toute personne intéressée à consulter la page dédiée à notre programme Bug Bounty, à s'inscrire au programme et à nous tester.

Signalement des failles

Lorsque l'un de nos utilisateurs identifie une faille dans le cadre de son utilisation standard du produit (par opposition à celles identifiées dans le cadre d'une tentative spécifique de test du système, qui est tenue d'avoir lieu via notre programme Bug Bounty), nous l'invitons à nous en informer en contactant l'équipe de support Atlassian. Nous répondons dans les meilleurs délais à tous les signalements de failles et nous tenons informées les parties lorsque nous menons notre enquête et répondons au ticket.

Avant de divulguer publiquement un problème, nous demandons aux chercheurs d'obtenir notre autorisation préalable. Atlassian traitera les demandes de divulgation publique selon l'ordre d'arrivée des rapports. Les demandes de divulgation publique seront seulement prises en considération une fois que la faille signalée a été corrigée.

 

Exclusions de notre programme de tests de sécurité

Nous sommes ouverts et transparents quant aux tests que nous menons. Nous suivons également cette approche pour les tests que nous ne réalisons pas nous-mêmes ou que nous ne prenons pas actuellement en charge. Les éléments suivants sont exclus de notre programme de tests de sécurité :

Apps du Marketplace : les apps du Marketplace sont strictement exclues de notre programme Bug Bounty, et nous n'effectuons pas de revue de code ou de tests de sécurité complets pour celles-ci. Nous transmettons toutes les failles d'app qui nous sont signalées, mais elles ne sont pas éligibles à une prime.

Tests initiés par les clients : conformément à notre contrat client, nous n'autorisons actuellement pas les tests initiés par les clients pour nos environnements de production. Nous nous engageons à être ouverts et à publier les statistiques de notre programme Bug Bounty pour donner aux clients l'assurance que nous avons mis en place un programme de tests de sécurité. Nous invitons naturellement nos clients et leurs conseillers en sécurité à s'inscrire à notre programme Bug Bounty et à effectuer des tests par ce biais.

Certains types de faille à faible risque : nos produits sont développés de sorte à libérer le potentiel de toutes les équipes, et cela nécessite de la collaboration. Les failles liées à l'énumération et à la collecte d'informations ne sont généralement pas considérées comme présentant un risque important.

 

Mesurer les bons facteurs

Nous avons mis en place une politique de correction des bugs. Celle-ci fonctionne comme un accord de niveau de service (SLA) interne entre nos équipes produit et notre équipe de sécurité. Pour classer les bugs, nous utilisons le système CVSS version 3 (Common Vulnerability Scoring System). Celui-ci nous aide à informer nos clients de la gravité des failles. Nous mettons tout en œuvre pour respecter les délais suivants lors de la correction de problèmes de sécurité :

  • Les bugs de sécurité critiques (score CVSS v2 >= 8, score CVSS v3 >= 9) doivent être corrigés dans le produit dans un délai de quatre semaines à compter de leur signalement.
  • Les bugs de sécurité graves (score CVSS v2 >= 6, score CVSS v3 >= 7) doivent être corrigés dans le produit dans un délai de six semaines à compter de leur signalement.
  • Les bugs de sécurité moyennement graves (score CVSS v2 >= 3, score CVSS v3 >= 4) doivent être corrigés dans le produit dans un délai de huit semaines à compter de leur signalement.

Ces délais sont réévalués une fois par an et adaptés au besoin, selon l'évolution de l'environnement de menace.

Par ailleurs et compte tenu de notre objectif, à savoir augmenter le coût associé à l'identification et à l'exploitation des failles dans nos produits, nous devons pouvoir quantifier ce coût. Nous faisons pour cela appel aux chercheurs en sécurité inscrits à notre programme Bug Bounty d'identification des failles, qui font office de proxy. Pour faire simple, au fil du temps, le nombre de bugs identifiés par notre programme Bug Bounty devrait diminuer. Lorsque ce moment sera arrivé, nous devrons augmenter la prime que nous acceptons de verser pour ces bugs si nous voulons continuer de recevoir des rapports. Si la quantité d'efforts requise pour identifier une faille assortie d'une prime de 3 000 $ n'est plus assez intéressante (la valeur des efforts déployés étant supérieure à 3 000 $), nous aurons augmenté le coût associé à l'identification de cette faille.  

En d'autres termes, vous devriez vous attendre à voir vos primes augmenter au fil du temps.

 

En résumé

Atlassian a mis en place un programme de tests de sécurité externes mature, ouvert et transparent, qui repose sur son programme Bug Bounty

 

Vous voulez aller plus loin ?

Ce bref article fait référence à de nombreux autres documents et ressources. Nous vous encourageons à les consulter en détail pour en savoir plus sur notre approche en matière de tests de sécurité. 

 

Téléchargez les derniers rapports de test

Toute faille de sécurité identifiée dans les rapports ci-dessous est suivie dans notre instance Jira interne à mesure qu'elle est réceptionnée dans le processus Bug Bounty et est clôturée conformément aux délais SLA stipulés dans notre politique de correction des bugs de sécurité.