Aujourd’hui, nous accueillons un nouveau membre dans notre équipe projet*.

– Salut ! Moi c’est Paul. Je viens renforcer l’équipe en tant que Security Champion.
“Security Champion”… Ha ! Ça va les chevilles sinon ?
(Paul se met à pleurer).

* true story

“Security Champion”, il faut reconnaître que lorsqu’on rencontre ce terme pour la première fois, ça peut interpeller. Cette expression nous vient d’outre-Atlantique, plus précisément d’un pays qui a une approche de la communication aux antipodes de la nôtre. J’en veux pour preuve ce petit exemple :

security champion différence entre les USA et la France

On n’est pas dans le même registre, c’est sûr ! Malgré tout, ce n’est pas la première fois que nous importons un titre éblouissant de ces terres éloignées. Vous avez, sans doute, déjà entendu quelqu’un se présenter comme Scrum Master. De nos jours, il est monnaie courante de rencontrer ce genre de titre professionnel et ça n’évoque à aucun moment une forme d’orgueil ou de fierté déplacée.

Et pour cause ! Si les Scrum Masters, Product Owners et autres Growth Hackers fleurissent chez nous, c’est qu’ils jouent un rôle essentiel dans l’entreprise agile d’aujourd’hui.

Dans ce billet, nous allons tenter de voir au-delà de la connotation vaniteuse du terme « Champion » de notre langue et de décrypter ce rôle qui a une importance capitale dans toute entreprise soucieuse de sa sécurité.

 

Qu’est-ce qu’un Security Champion ?

Pour la petite histoire, le mot “Champion” a plusieurs sens en anglais. En tant que francophone, on pense tout de suite au sportif finissant sur la plus haute marche du podium, ou au meilleur combattant d’une armée qui affronte en duel son homologue adverse pour représenter son souverain avec courage et fierté. Bref, on pense au top du top, à la crème de la crème.

Le mot Champion est aussi synonyme d’advocate, celui qui défend ou porte une philosophie, un principe, une idée. Et c’est ce sens qui nous intéresse. Un Security Champion, c’est un membre d’une équipe de développement qui prend la responsabilité des questions de sécurité.

 

Sur quels domaines le Security Champion intervient ?

D’abord et avant tout, le Security Champion a pour objectif d’améliorer la sécurité des entreprises et la sécurité des applications sous sa responsabilité.

Pourquoi s’intéresser à la sécurité des applications demanderez-vous ? L’entreprise est déjà protégée par des firewalls, des systèmes de prévention et de détection d’intrusion, etc. C’est vrai, mais ces outils, bien qu’indispensables, ne protègent pas efficacement le SI contre toute une variété d’attaques visant nos logiciels. Et c’est justement par ces logiciels que se produisent la plupart des violations de données, problème ô combien d’actualité avec la nouvelle régulation (RGPD).

 

Sources de violation de données pour l’année 2017, rapport Verizon

 

Il faut donc désigner un garant de la sécurité des applications, c’est là qu’entre en jeu le Security Champion. Il répondra aux problèmes suivants :

  • Les développeurs ne sont pas ou peu formés aux bonnes pratiques en matière de sécurité.
  • L’équipe sécurité n’a pas de temps à consacrer à la formation des équipes de développement, ni à vérifier leurs productions (le code).
  • Les développeurs ne sont pas toujours correctement informés des politiques de sécurité de l’entreprise et de ses changements.
  • L’équipe sécurité n’est pas toujours consciente des contraintes des développeurs, notamment celle de Time to market.
  • Le métier n’a pas toujours conscience de l’impact d’une feature sur la sécurité de l’application et, par extension, de l’entreprise.
  • Le métier n’est pas toujours informé de l’impact d’une mesure de sécurité sur la valeur de l’application (utilisabilité, performance).

 

Quel est son périmètre d’action ?

La réponse à cette question varie selon l’entreprise, les moyens dont elle dispose et l’importance de la sécurité dans son domaine d’activité. Au minimum, il faudrait un Security Champion par équipe projet. Le but est de garantir qu’une attention particulière est donnée à la sécurité de chaque projet, évitant ainsi les maillons faibles dans le système d’information.

 

Quel est le rôle du Security Champion ?

Comme le Product Owner et le Scrum Master, le Security Champion est avant tout un intermédiaire et un facilitateur. Ils sont d’ailleurs tous les trois fréquemment amenés à collaborer.

Le Security Champion est l’interface entre l’équipe de développement, le business et l’équipe sécurité. En tant que tel, il a un rôle à jouer dans chacun de ces groupes.

 

Son rôle pour les développeurs :

Il est avant tout un porte-parole, un guide et un informateur. Il transmet leurs contraintes aux équipes métier et sécurité, il répond à leurs questions concernant la sécurité de l’application tout en prenant des décisions le cas échéant. Enfin, il leur fait part des changements impactant la sécurité de leur projet.

 

Son rôle pour le métier :

Il est un traducteur, c’est-à-dire qu’il informe des impacts que les mesures de sécurité ont sur les fonctionnalités du métier (utilisabilité, performance, etc.) et des impacts des fonctionnalités métier sur la sécurité de l’application et par conséquent, celle des utilisateurs et de l’entreprise.

 

Son rôle pour l’équipe de sécurité :

Il est le représentant de l’équipe en charge de la sécurité. Le Security Champion garantit le respect des politiques de sécurité lors des développements et les décharge des questions de faible ou moyenne criticité. Il est aussi le garant des bonnes pratiques en termes de sécurité du système d’information.

Bref, puisqu’une image vaut mieux qu’un long discours :

infographie le rôle du security champion

* je sais, on avait dit “advocate”…

 

Quel est le ratio développeurs/Security Champion idéal ?

Là encore, il n’y a pas de réponse gravée dans le marbre et le “ratio idéal” dépendra de l’entreprise, de son activité et de ses objectifs. Cela dit, on peut se fier à certains objectifs pour le déterminer :

  • Les messages importants relatifs à la politique de sécurité de l’entreprise doivent être transmis à tous les employés.
  • Les équipes doivent obtenir des réponses rapides à leurs questions relatives à la sécurité.
  • Chaque équipe doit avoir connaissances des changements dans les équipes/projets externes ayant un impact sur la sécurité de leur produit/projet.

D’une manière empirique et agile, on peut partir sur une composition d’équipe particulière (par exemple 4 développeurs, 1 Product Owner, 1 Scrum Master et 1 Security Champion) et s’adapter en fonction des besoins du projet. Les rétrospectives sont particulièrement utiles pour savoir si l’équipe fonctionne ou s’il faut en modifier la composition.

 

Et donc concrètement, que fait-il ?

On peut dire qu’il ne manque pas de travail. Parmi les tâches quotidiennes du Security Champion, on trouve :

 

En tant qu’intermédiaire et facilitateur

  • Remonter les questions de sécurité qui dépassent ses fonctions à l’équipe sécurité (et, bien sûr, transmettre les réponses à son équipe).
  • Informer le métier de l’impact que peut avoir une mesure de sécurité sur le produit (utilisabilité, performance, …).
  • Faciliter les choix permettant de trouver l’équilibre entre sécurité et valeur métier.
  • Participer à des points hebdomadaires avec l’équipe sécurité et les Security Champions des autres équipes projet.
  • Informer son équipe des changements pouvant impacter la sécurité du projet sous sa responsabilité.

 

En tant que coach AppSec

  • Insuffler un esprit “sécurité” aux développeurs et, plus généralement, à l’ensemble de l’équipe en partageant de bonnes pratiques.
  • Répondre aux questions des développeurs en relation avec la sécurité applicative.
  • Participer aux revues de code.
  • Former les développeurs sur les bonnes pratiques de développement sécurisé et sur les pièges à éviter.
  • Participer à la mise en place d’outils de sécurité dans l’usine logicielle et dans l’environnement de développement.

 

En tant que garant de la sécurité de l’application

  • Rendre des comptes à l’équipe sécurité sur les décisions prises et les problèmes rencontrés.
  • Prendre des décisions au sein de son équipe sur les questions de sécurité.
  • Etablir les exigences de sécurité minimum en collaboration avec le métier et l’équipe sécurité.
  • Participer à l’élaboration du backlog pour prioriser correctement les différentes tâches relatives à la sécurité (selon les objectifs du métier).
  • Participer à la rédaction de la documentation, en particulier sur les décisions de sécurité.

Remarque : certains points auraient pu passer d’une catégorie à l’autre, mais il faut bien équilibrer les choses.

 

Si on résume

 

Qu’est-ce qu’un Security Champion ?

Un membre d’une équipe de développement qui prend la responsabilité des questions de sécurité du système.

Quel est son périmètre d’intervention ?

L’équipe projet.

En quoi consiste son travail ?

Garantir la sécurité de la production logicielle de l’équipe selon les politiques de sécurité de l’entreprise, tout en respectant les besoins et enjeux métier.

Pourquoi m’en faut-il un ? Quel problème va-t-il m’aider à résoudre ?

Le Security Champion facilite considérablement les échanges entre le métier, les développeurs et l’équipe sécurité. Il met en place les bonnes pratiques de programmation sécurisée et garantit la sécurité de l’application sous sa responsabilité.

Mettre en place un réseau de Security Champion permet d’augmenter sensiblement la protection de l’entreprise contre tous les risques liés aux attaques informatiques (vol de données personnelles, sanction financières qui en découle, vol de propriété intellectuelle, perte de réputation, etc.).

 

Pour aller plus loin sur le sujet, je vous propose la lecture de deux articles :