Building Secure and Reliable Systems
Chapitre 13 / 14 · 16 min de lecture

Rôles, responsabilités et l'équipe Chrome Security

Qui porte la sécurité et la fiabilité ? L'exemple de l'équipe Chrome Security et l'intégration de l'expertise dans toute l'organisation.

Les pratiques d'ingénierie décrites jusqu'ici ne portent leurs fruits que si l'organisation entière s'investit dans une culture de sécurité et de fiabilité. C'est la transition qu'opère la cinquième partie du livre : passer de la technique aux personnes, car ce sont elles qui font vivre — ou échouer — les processus. Ce chapitre articule deux questions jumelles : qui est responsable de la sécurité et de la fiabilité, et comment cette responsabilité s'intègre-t-elle dans le tissu de l'organisation ? Pour y répondre, nous commençons par une étude de cas exemplaire — l'équipe Chrome Security, l'une des premières équipes sécurité dédiées de Google — avant de généraliser ses leçons en un modèle de rôles et de responsabilités. Le fil rouge, fidèle au livre, est défensif et éducatif : la sécurité n'est pas l'affaire d'experts isolés, mais celle de tous, soutenue par des spécialistes.

Étude de cas : l'équipe Chrome Security

Aux débuts de Google, tout le travail de sécurité — y compris la sécurité des produits — était entièrement centralisé. Chrome fut l'un des premiers produits à se doter d'une organisation sécurité dédiée, parce qu'un navigateur web moderne pose des défis singuliers. Sa complexité approche celle d'un système d'exploitation, et une grande partie de ses fonctionnalités est critique pour la sécurité (security-critical). À sa naissance en 2006, le projet visait un navigateur Windows open source, en moins de deux ans, plus sûr, plus rapide et plus stable que la concurrence — une ambition qui se heurtait à trois obstacles : le logiciel client et Windows différaient des produits habituels de Google ; l'expertise transférable de l'équipe sécurité centrale était limitée sur ce terrain ; et le caractère open source du projet l'empêchait de s'appuyer sur les pratiques de sécurité internes de l'entreprise.

Quatre âges d'une équipe

Lancé sous le nom de Google Chrome en 2008, le navigateur a vu son organisation sécurité traverser quatre grandes étapes d'évolution. Ce tableau retrace cette maturation, instructive pour toute organisation qui voit sa surface d'exposition croître.

ÉtapePériodeConfigurationTournant
v0.1~2008Pas d'équipe formelle ; expertise distribuée dans l'ingénierie + conseil de l'équipe centrale et de prestatairesPlusieurs dépassements de tampon (buffer overflows) critiques dans les deux premières semaines après le lancement
v1.0~2009Équipe sécurité dédiée créée un an après la bêta publique, mêlant transferts internes et recrutements externesApport de pratiques Google et de regards neufs venus de l'extérieur
v2.02010Lancement du programme de prime aux vulnérabilités (Vulnerability Reward Program, VRP)Afflux de rapports externes sur WebKit ; l'équipe corrige elle-même les bugs et devient une équipe d'ingénierie hybride
v3.02012-2013Manager dédié, leads par domaine ; mission et principes fondateurs formalisésDéfinition d'une mission partagée et de domaines de travail pérennes

Le passage à la v2.0 fut décisif sur le plan culturel. Devant l'afflux de signalements externes — Chrome reposait alors sur WebKit, un moteur de rendu HTML qui n'avait jamais subi un tel examen —, l'approche la plus expédiente fut souvent de plonger dans le code et de corriger les bugs soi-même. Ce choix a ancré l'identité de l'équipe : non pas des consultants ou des analystes isolés, mais une équipe d'ingénierie composée d'experts en sécurité. L'avantage majeur de cette hybridation est l'intuition concrète qu'elle confère sur la manière d'intégrer le développement sûr dans le quotidien de chaque ingénieur travaillant sur Chrome.

Une mission et des domaines de travail

Lors d'un séminaire en 2013, l'équipe a formulé sa mission : offrir aux utilisateurs de Chrome la plateforme la plus sûre possible pour naviguer sur le web, et faire progresser la sécurité du web en général. De cette réflexion collective ont émergé quelques domaines de travail durables, que l'on peut résumer ainsi.

                    MISSION CHROME SECURITY

   ┌──────────┬─────────────┼──────────────┬──────────────┐
   ▼          ▼             ▼              ▼              ▼
Revues     Recherche &   Architecture   Sécurité      Sécurité de
sécurité   correction    & mitigation   utilisable    la plateforme
           de bugs       d'exploits     (usable)      web
   │          │             │              │              │
 conseil   fuzzing,      sandbox,      avertis-       frameworks
 + design  reverts       Site          sements,       sûrs pour les
 reviews   rapides       Isolation     anti-phishing  développeurs

Un point d'organisation mérite d'être souligné : des leads responsables (accountable leads) furent désignés pour chaque domaine, puis des managers dédiés. Mais ces leads ont délibérément cultivé l'agilité, le partage d'information à l'échelle de l'équipe et la collaboration entre projets (project swarming), afin qu'aucun domaine ne devienne un silo. Cette tension — structurer sans cloisonner — traverse tout le chapitre.

Note

Le recrutement de l'équipe illustre que la diversité de parcours est un atout, pas un compromis. Chrome a embauché un ingénieur au solide parcours SRE, passionné par la mission de protéger les gens et désireux d'apprendre la sécurité ; et, pour son domaine de sécurité utilisable, une candidate de l'échelle « chercheuse scientifique » (research scientist), profil sans précédent pour l'équipe. L'équipe a su convaincre la direction que cette expertise académique et ces perspectives variées étaient nécessaires pour compléter ses compétences. La leçon : avoir les bonnes personnes importe plus que tout détail d'organigramme.

Les principes fondateurs, en pratique

Les principes formulés en 2012 sont restés pertinents huit ans plus tard. Ils dessinent une philosophie défensive cohérente.

La sécurité est une responsabilité d'équipe. Bien que l'équipe Chrome Security ait le privilège de se consacrer presque entièrement à la sécurité, ses membres reconnaissent qu'ils ne pourront jamais posséder la sécurité de tout Chrome. Ils s'efforcent donc d'inscrire les bonnes pratiques dans les habitudes quotidiennes de chacun, en faisant en sorte que le chemin facile, rapide et bien balisé soit aussi le chemin sûr (the easy, fast, and well-lit path). Concrètement, tous les ingénieurs — y compris ceux de la sécurité — corrigent des bugs et écrivent du code. Si une équipe sécurité se contentait de trouver et de signaler des failles, elle perdrait le contact avec la difficulté réelle d'écrire du code sans bug, et nourrirait la mentalité du « eux contre nous ». L'équipe a aussi industrialisé une infrastructure de fuzzing (partie d'un simple ordinateur sous un bureau, devenue ClusterFuzz/OSS-Fuzz), maintient des bibliothèques de base sûres (par exemple la bibliothèque de safe numerics), organise des concours de fuzzing annuels avec récompenses, et distribue des peer bonuses pour rendre visible le travail de sécurité, souvent invisible pour l'utilisateur final.

Ne pas blâmer les utilisateurs, mais les aider à naviguer en sûreté. Une sécurité efficace ne doit jamais dépendre de l'expertise de l'utilisateur final. Chrome cherche à rendre la sécurité quasi invisible : mises à jour transparentes, biais vers les réglages par défaut sûrs (safe defaults), et effort constant pour faire de la décision sûre la décision facile. Reconnaissant ses lacunes en expertise centrée sur l'humain, l'équipe a recruté pour la sécurité utilisable et noué un partenariat étroit avec l'équipe expérience utilisateur (UX), avec laquelle la sécurité avait parfois été en désaccord. L'enseignement est humble : les experts sécurité, par leur compréhension fine des systèmes, sont souvent aveugles aux difficultés réelles des utilisateurs face au hameçonnage (phishing) ou à l'ingénierie sociale.

La vitesse compte. La sûreté des utilisateurs dépend de la rapidité à détecter une faille et à livrer le correctif avant que les attaquants ne l'exploitent. L'une des fonctions de sécurité les plus importantes de Chrome est la mise à jour automatique et rapide. L'équipe travaille de près avec les chefs de projet techniques (TPM), qui pilotent le processus de publication : ils mesurent les taux de plantages, garantissent des correctifs rapides pour les bugs prioritaires, déploient prudemment et de façon incrémentale, et freinent les ingénieurs quand le rythme devient dangereux. Les concours Pwn2Own puis Pwnium ont servi de fonctions forçantes (forcing functions) pour vérifier la capacité à publier un correctif critique en moins de 24 heures — capacité démontrée, mais rarement nécessaire grâce à l'investissement dans la défense en profondeur.

Concevoir pour la défense en profondeur. Aussi rapide soit l'équipe, des bugs surviendront inévitablement — d'autant que C++ comporte des faiblesses de sûreté mémoire (memory safety) et qu'un navigateur est d'une grande complexité. Chrome investit donc en continu dans des techniques de mitigation d'exploits et dans une architecture sans point de défaillance unique. L'équipe maintient un diagramme de composants coloré par le risque (color-by-risk) pour que chacun puisse raisonner sur les couches de défense. L'exemple emblématique est le bac à sable (sandbox) : dès 2008, Chrome a lancé une architecture multi-processus avec des processus de rendu sandboxés, empêchant qu'un site malveillant ne prenne le contrôle de toute la machine. Mais avec la migration des données sensibles vers le cloud, le vol de données inter-sites (cross-site data theft) est devenu une cible aussi précieuse que la compromission de la machine locale. D'où le projet Site Isolation, lancé en 2012 pour isoler chaque site dans son propre processus.

À retenir

Site Isolation devait prendre un an ; il en a pris plus de cinq — une erreur d'estimation qui aurait pu coûter la vie au projet. L'équipe l'a sauvé en communiquant sans relâche auprès de la direction : la motivation de défense en profondeur, l'avancement réel, les raisons du retard, et l'effet bénéfique sur la santé globale du code de Chrome. Comme le travail de défense en profondeur ne produit, lorsqu'il est bien fait, aucun changement visible pour l'utilisateur, il revient à la direction de le gérer, de le reconnaître et d'y investir de façon proactive. Heureuse coïncidence : Site Isolation atténue partiellement les vulnérabilités d'exécution spéculative découvertes en 2018.

Être transparent et engager la communauté. La transparence est une valeur fondatrice : l'équipe ne minimise pas l'impact d'une faille et ne corrige pas en silence (silent fixes), car cela dessert les utilisateurs. Elle publie sa façon de traiter les problèmes, divulgue toutes les vulnérabilités corrigées — découvertes en interne comme en externe — et les liste dans ses notes de version. Elle partage des bilans trimestriels, anime une liste de discussion publique, encourage ses membres à publier leurs travaux en conférence, et engage la communauté via le VRP en rétribuant les contributions externes. Travailler à découvert permet de recueillir du feedback, de nouer des collaborations académiques, et de faire bouger tout l'écosystème — comme l'a montré l'effort pluriannuel pour généraliser HTTPS.

Comprendre les rôles et les responsabilités

L'étude de cas Chrome ouvre sur une thèse plus large, qui défie un mythe répandu : la sécurité ne serait l'affaire que d'experts. Le livre soutient l'inverse — tout le monde est responsable de la sécurité et de la fiabilité — tout en reconnaissant qu'un spécialiste est parfois indispensable. Construire des systèmes est un processus, et les processus reposent sur des personnes. Deux questions structurent donc l'effort : qui est responsable, et comment cette responsabilité est-elle intégrée ?

Note

L'analogie de l'automobile éclaire l'idée. Presque chaque composant d'une voiture incarne à la fois sécurité et fiabilité : les sièges sont conçus pour encaisser un choc, le pare-brise doit se fissurer sans danger, les phares sont orientés pour ne pas éblouir les autres conducteurs — et la ceinture doit résister à des milliers de bouclages. Tous ceux qui participent à la fabrication font ce travail, pas seulement les experts en sécurité et en fiabilité. Sécurité et fiabilité sont des propriétés émergentes du système, indissociables de sa conception.

Tout le monde est responsable — mais le rôle des spécialistes

Si l'on délègue la sécurité et la fiabilité à une équipe isolée, incapable d'imposer des changements aux autres équipes, les mêmes défaillances se reproduiront, et la tâche deviendra sisyphéenne. La responsabilité doit donc être partagée par les développeurs, les SRE, les ingénieurs sécurité, les test engineers, les tech leads, les managers, les chefs de projet, les rédacteurs techniques et jusqu'aux dirigeants. Quel est, dès lors, le rôle propre des spécialistes ? Pas de remplacer les autres, mais de les augmenter à des moments clés du cycle de vie. Le tableau suivant répartit les responsabilités.

RôleResponsabilité principaleApport spécifique
DéveloppeursFonctionnalités cœur ; écrire et corriger du code sûrPremiers responsables de la qualité de leur propre code
SRE / ingénieurs fiabilitéComprendre les chaînes de dépendances, les métriques, les SLAInfrastructure centralisée et automatisation à l'échelle de l'organisation
Ingénieurs sécuritéRegarder le système avec l'œil d'un attaquantTechnologies spécialisées (crypto, AAA, frameworks sûrs), revues de conception, audits, tests
Spécialistes (séc. & fiab.)Définir bonnes pratiques, politiques, formationsBâtir un brain trust, créer une culture de la sensibilisation
Champions sécuritéRelais dans l'équipe produitPasserelle entre équipe centrale et équipe produit ; portage local des politiques
Direction / conseilArbitrer lancements vs correctifs, allouer les ressourcesReconnaître et financer le travail non visible (défense en profondeur)

Les spécialistes sécurité doivent en particulier prendre en charge les technologies qui exigent un savoir spécialisé. La cryptographie en est l'exemple canonique : « ne réinventez pas votre propre crypto » (don't roll your own crypto) ; on utilise des solutions éprouvées par l'industrie plutôt que d'écrire son propre algorithme de chiffrement. Il en va de même pour les systèmes complexes d'authentification, d'autorisation et d'audit (AAA) ou les nouveaux frameworks sûrs. De leur côté, les ingénieurs fiabilité sont les mieux placés pour développer l'infrastructure centralisée et l'automatisation à l'échelle de l'organisation. La consultation, elle, doit s'intégrer au cycle de vie sous plusieurs formes complémentaires.

   CONCEPTION ───► CONSTRUCTION ───► PRÉ-LANCEMENT ───► EXPLOITATION
       │                │                  │                  │
  revue de        audits sécurité     tests : ce qu'une   évaluation
  conception      (conforme aux       personne indépen-   continue du
  sécurité        spécifications ?)   dante peut trouver  risque, itération

Piège courant

La sécurité doit être équilibrée avec les autres exigences de l'organisation. On peut rendre Google quasi totalement sûr en éteignant ses centres de données, ses réseaux et ses machines — mais l'entreprise disparaîtrait alors avec ses clients. La disponibilité est un pilier de la sécurité ! D'où l'importance de comprendre ce dont le métier a besoin pour fonctionner, et de trouver le juste équilibre entre exigences métier et contrôles de sécurité adéquats.

Quand démarrer, et comment évaluer l'expertise

Savoir quand commencer à investir dans la sécurité tient plus de l'art que de la science, mais une règle s'impose : plus tôt vaut mieux que plus tard, et surtout avant toute fuite de données. Certaines conditions déclenchent classiquement la création d'un programme de sécurité — manipulation de données personnelles, technologies hautement sécurisées, exigences réglementaires (Sarbanes-Oxley, PCI DSS, RGPD), obligations contractuelles, ou pire, à la suite d'une compromission (la sienne, ou celle d'un pair du même secteur). Il est toujours préférable d'agir bien en amont : il est nettement plus simple d'implémenter la sécurité avant un incident qu'après, et certaines organisations ne survivent pas à une brèche mal gérée.

Les besoins en expertise croissent avec l'organisation. Le tableau ci-dessous, adapté de l'histoire de Google, montre comment chaque jalon produit appelle une expertise nouvelle.

Jalon (Google)Expertise requiseDéfis de sécurité
Search (1998)GénéralisteProtection des logs de requêtes, déni de service, sécurité réseau et système
AdWords (2000)+ sécurité données, applicative, conformité/audit, anti-fraude, vie privéeDonnées financières, conformité réglementaire, identité, abus de compte
Blogger (2003)+ sécurité applicative, abus de contenuAbus de plateforme, applications web complexes, déni de service
Gmail (2004)+ cryptographie, anti-spam, anti-abus, réponse à incident, sécurité entrepriseContenu très sensible au repos et en transit, attaquants externes très capables

Pour recruter, on évalue un spécialiste dans sa globalité : expérience pratique, certifications et intérêt personnel. Les certifications attestent surtout d'une capacité à passer des examens — on a vu des professionnels diplômés peiner à appliquer leurs connaissances —, mais elles aident des profils en début de carrière ou venus d'autres spécialités à monter vite en compétence. L'analogie médicale est éclairante : tous les professionnels partagent un socle commun, puis se spécialisent (neurologie, cardiologie…). De même, un généraliste suffit souvent à une startup ou à un projet open source, tandis qu'un problème de niche (sécuriser des voitures autonomes, par exemple) justifie un docteur fraîchement diplômé au savoir pointu.

Intégrer les équipes sécurité : modèles d'organisation

Où placer les spécialistes ? Le spectre va du spécialiste entièrement embarqué dans l'équipe produit à l'équipe entièrement centralisée. Google a retenu un hybride des deux, dont la pierre angulaire est l'indépendance hiérarchique.

              DIRECTION ENGINEERING (VP)

        ┌───────────────┴───────────────┐
        ▼                               ▼
ÉQUIPE SÉCURITÉ CENTRALE          ÉQUIPES PRODUIT
(pair de l'ingénierie ;          │   │   │   │
 dirigée par un VP)              │   │   │   └─ « champion sécurité »
   │                            ...                (relais local)
   ├─ revues de conception, audits
   ├─ politiques & standards à l'échelle
   ├─ frameworks applicatifs sûrs
   └─ infrastructure (ex. moindre privilège)

        └──► ÉQUIPES SÉCURITÉ DÉCENTRALISÉES
             (Android, Chrome : sécurité produit
              de bout en bout, standards propres)

Faire de l'équipe sécurité centrale un pair de l'ingénierie, dirigé par un VP, lui donne assez d'indépendance pour soulever des problèmes et trancher des litiges sans conflit d'intérêts. À défaut, on risque une équipe incapable de signaler les vrais problèmes parce que les lancements sont sur-priorisés, perçue comme une barrière que l'on contourne par des lancements silencieux, ou ralentie par un manque d'accès au code. À mesure que Google a grandi, il s'est avéré utile d'embarquer un « champion sécurité » (security champion) dans chaque groupe produit : ce relais, idéalement un ingénieur senior bien établi, devient la passerelle vers l'équipe centrale et le tech lead des initiatives de sécurité produit. Pour les produits très complexes, des équipes sécurité décentralisées (comme Android ou Chrome) assument la sécurité de bout en bout de leur produit, avec leurs propres standards, frameworks et programmes de durcissement.

Astuce

Google a remplacé la simple file de tickets — souvent réduite à un échange laborieux d'allers-retours — par un système d'admission intelligent (smart intake) doté d'un questionnaire dynamique. À mesure que l'utilisateur décrit son besoin, le système pose les bonnes questions de sécurité, émet des avertissements pédagogiques (utilise-t-il un langage à sûreté mémoire ? un système de gabarits éprouvé ? manipule-t-il des données sensibles ?), puis route le ticket structuré vers la bonne équipe. L'utilisateur se sert et s'éduque lui-même, ce qui accélère la consultation et améliore la qualité des tickets. Le système évolue : si trop d'utilisateurs sautent une section, les ingénieurs la révisent.

Éducation, certifications et équipes spécialisées

Les spécialistes ont enfin pour mission de bâtir une culture de la sensibilisation (culture of awareness) : se former en continu, puis diffuser. Google offre ainsi des programmes éducatifs SRE et sécurité qui donnent un socle commun à toute nouvelle recrue dans ces rôles, complétés de cours en autoformation ouverts à l'entreprise entière. Plusieurs configurations d'équipes spécialisées renforcent ce dispositif défensif.

ÉquipeCouleur / rôleMission
Blue TeamDéfenseÉvaluer et durcir le logiciel et l'infrastructure ; détection, confinement, reprise après attaque
Red TeamOffense (simulée)Exercices d'attaque de bout en bout, orientés objectif, durant des semaines, pour révéler les faiblesses réelles
Purple TeamPont Red/BluePartager plans d'attaque et insights de détection pour itérer vite
Chercheurs externes / VRPExterneDivulgation responsable de vulnérabilités contre récompense (bug bounty)

Une nuance importante, dans l'esprit blue team du livre : une Red Team ne se confond ni avec le scan de vulnérabilités, ni avec le test d'intrusion. Ses engagements sont orientés objectif (exfiltrer des données de comptes de test, par exemple), largement périmétrés et étalés sur des semaines. Surtout, une attaque réussie de la Red Team ne doit jamais être lue comme le verdict d'une équipe défaillante : on l'exploite sans blâme (blameless) pour mieux comprendre comment des systèmes complexes s'interconnectent et partagent des frontières de confiance. On peut même y embarquer ceux qui conçoivent les systèmes, afin qu'ils acquièrent l'état d'esprit adverse et le réinjectent dans leur processus de développement. Les chercheurs externes, enfin, prolongent la chasse au-delà de l'organisation via les VRP — à condition d'avoir d'abord couvert les bases en interne, sous peine de payer des tiers pour des bugs triviaux.

À retenir

  • Sécurité et fiabilité sont des propriétés émergentes du système (analogie de la voiture) : à concevoir dès le départ et à porter par toute l'organisation, pas par des experts isolés.
  • L'équipe Chrome Security incarne cette thèse : équipe d'ingénierie hybride née de la correction de bugs WebKit, guidée par cinq principes — sécurité = responsabilité d'équipe, ne pas blâmer les utilisateurs, vitesse, défense en profondeur, transparence.
  • La vitesse est une fonction de sécurité : mise à jour automatique et rapide, partenariat avec les TPM qui déploient prudemment et de façon incrémentale, et capacité — démontrée via Pwn2Own puis Pwnium — à publier un correctif critique en moins de 24 heures.
  • Déléguer la sécurité à une équipe incapable d'imposer des changements rend la tâche sisyphéenne ; la responsabilité doit être partagée — développeurs, SRE, sécurité, managers, direction.
  • Le rôle des spécialistes est d'augmenter les équipes : technologies pointues (crypto, AAA), revues de conception, audits, frameworks sûrs, automatisation à l'échelle, politiques et formation.
  • Google retient un modèle hybride : équipe sécurité centrale indépendante (pair de l'ingénierie, dirigée par un VP), champions sécurité embarqués, et équipes décentralisées pour les produits complexes (Android, Chrome).
  • Blue, Red et Purple Teams, VRP et système d'admission intelligent outillent une démarche défensive — la Red Team s'exploitant toujours sans blâme, pour apprendre et non pour juger.