Ce contenu a été mis à jour pour la dernière fois en juin 2024, et correspond à l'état des connaissances à sa date de rédaction. Les règles et les systèmes de sécurité Google peuvent changer par la suite, car nous améliorons continuellement la protection de nos clients.
Présentation
Ce document donne un aperçu de la conception de la sécurité dans l'infrastructure technique de Google. Il est destiné aux cadres, architectes et auditeurs de sécurité.
Ce document décrit les éléments suivants:
- L'infrastructure technique mondiale de Google, conçue pour assurer la sécurité tout au long du cycle de traitement des informations chez Google.
Cette infrastructure permet de fournir les éléments suivants :
- Déploiement sécurisé de services
- Stockage sécurisé des données avec mesures de confidentialité pour l'utilisateur final
- Communication sécurisée entre les services
- Communication sécurisée et privée avec les clients via Internet
- Fonctionnement sécurisé par les ingénieurs de Google
- Comment nous utilisons cette infrastructure pour créer des services Internet, y compris des services grand public tels que la recherche Google, Gmail et Google Photos, et des services d'entreprise tels que Google Workspace et Google Cloud.
- Les produits et services de sécurité résultant d'innovations que nous avons mises en œuvre en interne pour répondre à nos besoins de sécurité. Par exemple, BeyondCorp est le résultat direct de notre implémentation interne du modèle de sécurité "zéro confiance".
La conception de la sécurité de l'infrastructure par couches progressives. Ces couches incluent les éléments suivants:
Les sections suivantes de ce document décrivent les couches de sécurité.
Infrastructure de bas niveau sécurisée
Cette section décrit comment les locaux physiques de nos centres de données, le matériel de nos centres de données et la pile logicielle exécutée sur le matériel sont sécurisés.
Sécurité des locaux physiques
Nous concevons et construisons nos propres centres de données qui intègrent plusieurs niveaux de sécurité physique. L'accès à ces centres de données est étroitement contrôlé. Nous utilisons plusieurs niveaux de sécurité physique pour protéger nos centres de données. Nous utilisons l'identification biométrique, la détection de métaux, les caméras, les barrières de sécurité pour véhicules et les systèmes de détection d'intrusion à laser. Pour en savoir plus, consultez la section Sécurité des centres de données.
Dans le centre de données, nous implémentons des contrôles supplémentaires pour nous assurer que l'accès physique aux serveurs est protégé et surveillé. Pour en savoir plus, consultez la page Comment Google protège l'espace physique vers logique dans un centre de données.
Nous hébergeons également certains serveurs dans des centres de données tiers. Dans ces centres de données, nous respectons les mêmes normes réglementaires que dans nos propres centres de données. Nous nous assurons que des mesures de sécurité physique et de connectivité contrôlées par Google s'ajoutent aux couches de sécurité fournies par l'opérateur du centre de données. Par exemple, nous exploitons des systèmes d'identification biométrique, des caméras et des détecteurs de métaux indépendants des couches de sécurité fournies par l'opérateur du centre de données.
Sauf indication contraire, les contrôles de sécurité décrits dans ce document s'appliquent à la fois aux centres de données détenus par Google et aux centres de données tiers.
Conception et provenance du matériel
Les centres de données Google comprennent des milliers de serveurs connectés à un réseau local. Nous concevons les cartes de serveur et l'équipement réseau. Nous évaluons les fournisseurs de composants avec lesquels nous travaillons et choisissons les composants avec soin. Nous aidons les fournisseurs à contrôler et à valider les propriétés de sécurité fournies par les composants. Nous concevons également des puces personnalisées, y compris une puce de sécurité matérielle (appelée Titan) que nous déployons sur des serveurs, des appareils et des périphériques. Ces puces nous permettent d'identifier et d'authentifier les appareils Google légitimes au niveau matériel, et de servir de racines de confiance matérielles.
Sécurité de la pile de démarrage et de l'identité de la machine
Les serveurs Google utilisent diverses technologies pour s'assurer qu'ils démarrent la pile logicielle prévue. À chaque étape du processus de démarrage, Google implémente des contrôles de pointe afin de garantir l'état de démarrage attendu et d'assurer la sécurité des données client.
Nous nous efforçons d'améliorer continuellement nos serveurs avec chaque génération de matériel et de mettre à profit ces améliorations pour les entreprises en participant à divers processus de normalisation avec Trusted Computing Group et DMTF.
Chaque serveur du centre de données a sa propre identité unique. Cette identité peut être liée aux racines de confiance matérielles et au logiciel que la machine démarre. Cette identité permet d'authentifier les appels d'API vers et depuis les services de gestion de bas niveau sur la machine. Cette identité est également utilisée pour l'authentification mutuelle des serveurs et le chiffrement des données en transit. Nous avons développé le système Application Layer Transport Security (ALTS) pour sécuriser les communications d'appel de procédure à distance (RPC) au sein de notre infrastructure. Ces identités de machine peuvent être révoquées de manière centralisée pour répondre à un incident de sécurité. En outre, leurs certificats et leurs clés sont régulièrement alternés, et les anciens sont révoqués.
Nous avons développé des systèmes automatisés pour effectuer les opérations suivantes:
- Assurez-vous que les serveurs exécutent les versions à jour de leurs piles logicielles (y compris les correctifs de sécurité).
- Détectez et diagnostiquez les problèmes matériels et logiciels.
- Garantissez l'intégrité des machines et des périphériques à l'aide du démarrage validé et de l'attestation.
- Assurez-vous que seules les machines exécutant le logiciel et le micrologiciel souhaités peuvent accéder aux identifiants leur permettant de communiquer sur le réseau de production.
- Supprimez ou réparez les machines si elles ne réussissent pas le contrôle d'intégrité ou si elles ne sont plus nécessaires.
Pour en savoir plus sur la façon dont nous sécurisons notre pile de démarrage et l'intégrité des machines, consultez la section Comment Google applique l'intégrité pendant le démarrage des machines de production et Attestation à distance des machines désagrégées.
Déploiement sécurisé des services
Les services Google sont les fichiers binaires d'application que nos développeurs écrivent et exécutent sur notre infrastructure. Exemples de services Google : serveurs Gmail, bases de données Spanner, serveurs Cloud Storage, transcodeurs vidéo YouTube et VM Compute Engine exécutant des applications clientes. Pour gérer l'ampleur de la charge de travail requise, des milliers de machines peuvent exécuter des binaires du même service. Un service d'orchestration de clusters, appelé Borg, contrôle les services exécutés directement sur l'infrastructure.
L'infrastructure ne présume aucune confiance préalable entre les services exécutés sur l'infrastructure. Ce modèle de confiance est appelé modèle de sécurité "zéro confiance". Un modèle de sécurité zéro confiance signifie qu'aucun appareil ni utilisateur n'est approuvé par défaut, qu'il se trouve à l'intérieur ou à l'extérieur du réseau.
L'infrastructure étant conçue pour être mutualisée, les données de nos clients (consommateurs, entreprises et même nos propres données) sont réparties sur une infrastructure partagée. Cette infrastructure est composée de dizaines de milliers de machines homogènes. L'infrastructure ne sépare pas les données client sur une seule machine ou un seul ensemble de machines, sauf dans des circonstances spécifiques, par exemple lorsque vous utilisez Google Cloud pour provisionner des VMNœuds à locataire unique pour Compute Engine.
Google Cloud et Google Workspace sont conformes aux exigences réglementaires concernant la résidence des données. Pour en savoir plus sur la résidence des données et Google Cloud, consultez la page Mettre en œuvre les exigences de résidence des données et de souveraineté. Pour en savoir plus sur la résidence des données et Google Workspace, consultez l'article Emplacements des données: Choisir un emplacement géographique pour vos données.
Identité, intégrité et isolement du service
Pour activer la communication inter-service, les applications utilisent l'authentification et l'autorisation par chiffrement. L'authentification et l'autorisation offrent un contrôle d'accès renforcé au niveau de l'abstraction et une précision que les administrateurs et les services peuvent comprendre.
Les services ne reposent pas sur la segmentation du réseau interne ni sur le pare-feu en tant que mécanisme de sécurité principal. Le filtrage des entrées et des sorties à différents points de notre réseau permet d'éviter le spoofing d'adresses IP. Cette approche nous aide également à optimiser les performances et la disponibilité de notre réseau. Pour Google Cloud, vous pouvez ajouter des mécanismes de sécurité supplémentaires tels que VPC Service Controls et Cloud Interconnect.
Chaque service exécuté sur l'infrastructure possède une identité de compte de service. Des identifiants chiffrés sont fournis à chaque service, qui peut les utiliser pour prouver son identité à d'autres services lors de la création ou de la réception de RPC. Ces identités sont utilisées dans les stratégies de sécurité. Les stratégies de sécurité garantissent que les clients communiquent avec le serveur prévu et que les serveurs limitent les méthodes et les données auxquelles certains clients peuvent accéder.
Nous utilisons diverses techniques d'isolation et de bac à sable pour protéger un service d'autres services exécutés sur la même machine. Ces techniques incluent la séparation des utilisateurs Linux, des bacs à sable basés sur le langage (tels que l'API Sandboxed) et des bacs à sable basés sur Kernel, un Kernel d'application pour les conteneurs (par exemple, gVisor) et la virtualisation basée sur le matériel. En général, nous utilisons un nombre plus élevé de couches d'isolation pour les charges de travail plus risquées. Les charges de travail plus risquées incluent des charges de travail qui traitent des entrées non sécurisées provenant d'Internet. Par exemple, les charges de travail plus risquées incluent l'exécution de convertisseurs de fichiers complexes sur des entrées non approuvées ou l'exécution de code arbitraire en tant que service pour des produits tels que Compute Engine.
Pour plus de sécurité, les services sensibles, tels que le service d'orchestration de clusters et certains services de gestion de clés, s'exécutent exclusivement sur des machines dédiées.
Dans Google Cloud, pour renforcer l'isolation cryptographique de vos charges de travail et protéger les données utilisées, nous acceptons les services d'informatique confidentielle pour les instances de machines virtuelles (VM) Compute Engine et les nœuds Google Kubernetes Engine (GKE).
Gestion des accès interservices
Le propriétaire d'un service peut gérer les accès en créant une liste d'autres services pouvant communiquer avec le service en question. Cette fonctionnalité de gestion des accès est fournie par l'infrastructure Google. Par exemple, un service peut limiter les RPC entrants uniquement à une liste autorisée d'autres services. Le propriétaire peut également configurer le service avec une liste d'identités de service autorisées, que l'infrastructure applique automatiquement. L'application forcée inclut la journalisation d'audit, les justifications et la restriction d'accès unilatéral (pour les demandes d'ingénierie, par exemple).
Les ingénieurs Google qui ont besoin d'accéder aux services reçoivent également des identités individuelles. Les services peuvent être configurés pour autoriser ou refuser leur accès en fonction de leurs identités. Toutes ces identités (machine, service et employé) se trouvent dans un espace de noms global géré par l'infrastructure.
Pour gérer ces identités, l'infrastructure fournit un système de workflow incluant des chaînes d'approbation, une journalisation et des notifications. Par exemple, la stratégie de sécurité peut appliquer une autorisation multipartie. Ce système utilise la règle à deux personnes pour s'assurer qu'un ingénieur agissant seul ne peut pas effectuer d'opérations sensibles sans l'approbation préalable d'un autre ingénieur autorisé. Ce système permet aux processus de gestion des accès sécurisés de s'adapter à des milliers de services fonctionnant sur l'infrastructure.
L'infrastructure fournit également des services avec le service canonique pour la gestion des utilisateurs, des groupes et des adhésions afin qu'ils puissent mettre en œuvre un contrôle d'accès personnalisé et précis si nécessaire.
Les identités des utilisateurs finaux sont gérées séparément, comme décrit dans la section Gestion des accès aux données des utilisateurs finaux dans Google Workspace.
Chiffrement de la communication entre les charges de travail
L'infrastructure assure la confidentialité et l'intégrité des données RPC sur le réseau. Tout le trafic des réseaux virtuels Google Cloud est chiffré. La communication entre les charges de travail de l'infrastructure Google Cloud est chiffrée, avec des exceptions qui ne sont accordées que pour les charges de travail hautes performances où le trafic ne traverse pas les multiples couches de sécurité physique à la périphérie d'un centre de données Google. La communication entre les services d'infrastructure Google Cloud dispose d'une protection de l'intégrité par chiffrement.
L'infrastructure fournit automatiquement et efficacement (à l'aide du déchargement matériel) un chiffrement de bout en bout pour le trafic RPC de l'infrastructure qui passe par le réseau entre les centres de données.
Gérer l'accès aux données de l'utilisateur final dans Google Workspace
Un service Google Workspace type est mis en place dans le but d'effectuer une action pour un utilisateur final. Par exemple, un utilisateur final peut stocker ses e-mails dans Gmail. L'interaction de l'utilisateur final avec une application telle que Gmail peut couvrir d'autres services de l'infrastructure. Par exemple, Gmail peut appeler une API People pour accéder au carnet d'adresses de l'utilisateur final.
La section Chiffrement de la communication inter-service décrit comment un service (tel que Google Contacts) est conçu pour protéger les requêtes RPC d'un autre service (tel que Gmail). Ce niveau de contrôle d'accès reste un large ensemble d'autorisations, car Gmail peut demander les contacts de n'importe quel utilisateur à tout moment.
Lorsque Gmail envoie une requête RPC à Google Contacts pour le compte d'un utilisateur final, l'infrastructure permet à Gmail de présenter une demande d'autorisation de l'utilisateur final dans la requête RPC. Ce ticket prouve que Gmail envoie la requête RPC au nom de cet utilisateur final. Le ticket permet à Google Contacts d'appliquer une mesure de sécurité de sorte qu'il ne renvoie que des données pour l'utilisateur final nommé dans le ticket.
L'infrastructure fournit un service d'identité d'utilisateur central qui émet ces demandes de contexte de l'utilisateur final. Le service de gestion des identités vérifie la connexion de l'utilisateur final et envoie ensuite les identifiants de l'utilisateur, comme un cookie ou un jeton OAuth, à l'appareil de l'utilisateur. Chaque requête ultérieure de l'appareil à notre infrastructure doit présenter ces identifiants d'utilisateur final.
Lorsqu'un service reçoit les identifiants d'un utilisateur final, il les transmet au service de validation des identités. Si les identifiants de l'utilisateur final sont validés, le service d'identité renvoie un ticket de contexte d'utilisateur final de courte durée pouvant être utilisé pour les appels RPC liés à la requête de l'utilisateur. Dans notre exemple, le service qui obtient le ticket de contexte de l'utilisateur final est Gmail, qui le transmet à Google Contacts. À partir de ce moment, le "ticket de contexte d'utilisateur final" peut être transmis par le service appelant à l'appelé lors de l'appel RPC pour tout appel en cascade.
Le schéma suivant montre comment le service A et le service B communiquent. L'infrastructure fournit l'identité de service, l'authentification mutuelle automatique, la communication inter-service chiffrée et l'application des stratégies d'accès définies par le propriétaire du service. Chaque service possède une configuration de service que le propriétaire du service crée. Pour la communication inter-service chiffrée, l'authentification mutuelle automatique utilise des identités appelantes et appelées. La communication n'est possible que lorsqu'une configuration de règle d'accès le permet.
Pour en savoir plus sur la gestion des accès dans Google Cloud, consultez la page Présentation d'IAM.
Gérer l'accès aux données de l'utilisateur final dans Google Cloud
À l'instar de la gestion des accès aux données des utilisateurs finaux dans Google Workspace, l'infrastructure fournit un service d'identité d'utilisateur final qui authentifie les comptes de service et émet des demandes de contexte d'utilisateur final après l'authentification d'un compte de service. La gestion des accès entre les services Google Cloud s'effectue généralement avec des agents de service plutôt que avec des demandes de contexte d'utilisateur final.
Google Cloud utilise Identity and Access Management (IAM) et des produits contextuels tels qu'Identity-Aware Proxy pour vous permettre de gérer l'accès aux ressources dans votre organisation Google Cloud. Les requêtes adressées aux services Google Cloud passent par IAM pour vérifier les autorisations.
Le processus de gestion des accès est le suivant :
- Une requête est transmise via le service Google Front End ou le service Cloud Front End pour les VM clientes.
- La requête est acheminée vers le service d'identité d'utilisateur final qui termine la vérification d'authentification et émet les tickets de contexte d'utilisateur final.
- La requête est également acheminée pour vérifier des éléments tels que :
- Autorisations d'accès IAM, y compris les stratégies et l'appartenance au groupe
- Transparence des accès avec Access Transparency
- Cloud Audit Logging
- Quota
- Facturation
- Calculateur d'attributs
- Périmètres de sécurité de VPC Service Controls
- Une fois toutes ces vérifications effectuées, les services de backend Google Cloud sont appelés.
Pour en savoir plus sur la gestion des accès dans Google Cloud, consultez la page Présentation d'IAM.
Stockage sécurisé des données
Cette section décrit comment nous mettons en œuvre la sécurité des données stockées sur l'infrastructure.
Chiffrement au repos
L'infrastructure de Google fournit divers services de stockage et systèmes de fichiers distribués (par exemple, Spanner et Colossus) ainsi qu'un service de gestion de clés central. Les applications Google accèdent à l'espace de stockage physique via une infrastructure de stockage. Nous utilisons plusieurs niveaux de chiffrement pour protéger les données au repos. Par défaut, l'infrastructure de stockage chiffre les données utilisateur avant que celles-ci ne soient écrites sur l'espace de stockage physique.
L'infrastructure effectue le chiffrement au niveau de la couche d'infrastructure de l'application ou du stockage. Les clés de ce chiffrement sont gérées et détenues par Google. Le chiffrement permet à l'infrastructure de s'isoler des menaces potentielles aux niveaux inférieurs de stockage, telles que les micrologiciels de disques malveillants. Le cas échéant, nous activons également la compatibilité du chiffrement matériel sur nos disques durs et nos SSD, et nous suivons méticuleusement chaque disque tout au long de son cycle de vie. Avant qu'un périphérique de stockage chiffré mis hors service puisse quitter nos locaux, il est nettoyé à l'aide d'un processus en plusieurs étapes comprenant deux vérifications indépendantes. Les périphériques qui ne réussissent pas ce processus de nettoyage sont physiquement détruits (c'est-à-dire, broyés) sur site.
En plus du chiffrement effectué par l'infrastructure avec des clés détenues et gérées par Google, Google Cloud et Google Workspace fournissent des services de gestion des clés pour les clés que vous pouvez posséder et gérer. Pour Google Cloud, Cloud KMS est un service cloud qui vous permet de créer vos propres clés cryptographiques, y compris des clés matérielles certifiées FIPS 140-3 L3. Ces clés vous sont propres et ne sont pas spécifiques au service Google Cloud. Vous pouvez les gérer selon vos règles et procédures. Pour Google Workspace, vous pouvez utiliser le chiffrement côté client. Pour en savoir plus, consultez la section Chiffrement côté client et collaboration renforcée dans Google Workspace.
Suppression de données
La suppression de matériel ou de données cryptographiques commence généralement par le marquage de clés ou de données spécifiques comme étant programmées pour suppression. Le processus de marquage des données à supprimer prend en compte les règles spécifiques au service et les règles spécifiques du client.
En programmant la suppression des données ou en désactivant d'abord les clés, nous pouvons récupérer des données supprimées par erreur, qu'il s'agisse de suppressions réalisées par le client, d'un bogue ou d'une erreur de processus interne.
Lorsqu'un utilisateur final supprime son compte, l'infrastructure informe les services qui gèrent les données de l'utilisateur final que le compte a été supprimé. Les services peuvent ensuite programmer la suppression des données associées au compte d'utilisateur final supprimé. Cette fonctionnalité permet à un utilisateur final de contrôler ses propres données.
Pour plus d'informations, consultez la section Suppression des données sur Google Cloud. Pour en savoir plus sur l'utilisation de Cloud Key Management Service pour désactiver vos propres clés, consultez la section Détruire et restaurer des versions de clé.
Communication Internet
Cette section décrit comment nous sécurisons la communication entre Internet et les services qui s'exécutent sur l'infrastructure de Google.
Comme indiqué dans la section Conception et provenance du matériel, l'infrastructure se compose de nombreuses machines physiques qui sont interconnectées sur le LAN et le WAN. La sécurité de la communication inter-service ne dépend pas de la sécurité du réseau. Cependant, notre infrastructure est isolée du réseau Internet grâce à un espace d'adressage IP privé. Nous n'exposons qu'un sous-ensemble des machines directement au trafic Internet externe, afin de pouvoir mettre en œuvre des protections supplémentaires telles que les défenses contre les attaques par déni de service (DoS).
Service Google Front End
Lorsqu'un service doit se rendre disponible sur Internet, il peut s'enregistrer auprès d'un service d'infrastructure appelé Google Front End (GFE). Le serveur GFE s'assure que toutes les connexions TLS sont effectuées en utilisant des certificats corrects et en suivant les bonnes pratiques, telles que la disponibilité de la confidentialité persistante parfaite. Le GFE applique également des protections contre les attaques DoS. Le serveur GFE transmet ensuite les requêtes pour le service via le protocole de sécurité RPC décrit dans la section Gérer les accès aux données de l'utilisateur final dans Google Workspace.
En effet, tout service interne qui doit se publier de manière externe utilise le serveur GFE comme interface intelligente de proxy inverse. Le GFE fournit l'hébergement IP public de son nom DNS public, la protection DoS et la terminaison TLS. Les GFE s'exécutent sur l'infrastructure comme n'importe quel autre service et peuvent évoluer en fonction des volumes de requêtes entrantes.
Lorsque les VM des clients dans les réseaux VPC Google Cloud accèdent aux API et services Google hébergés directement sur Borg, elles communiquent avec des GFE spécifiques appelés Cloud Front Ends. Pour réduire la latence, les Cloud Front Ends sont situés dans la même région cloud que la VM du client. Le routage réseau entre les VM client et les Cloud Front Ends ne nécessite pas que les VM client disposent d'adresses IP externes. Lorsque l'Accès privé à Google est activé, les VM des clients n'ayant que des adresses IP internes peuvent communiquer avec les adresses IP externes des API et services Google à l'aide des Cloud Front Ends. Tous les routages réseau entre les VM clientes, les API Google et les services dépendent des prochains sauts au sein du réseau de production de Google, même pour les VM clientes disposant d'adresses IP externes.
Protection DoS
L'échelle de notre infrastructure nous permet d'absorber de nombreuses attaques DoS. Pour réduire davantage le risque d'impact DoS sur les services, nous avons mis en place des protections DoS à plusieurs niveaux et plusieurs couches.
Lorsque notre réseau backbone par fibre optique fournit une connexion externe à l'un de nos centres de données, la connexion passe par plusieurs couches d'équilibreurs de charge matériels et logiciels. Ces équilibreurs de charge transmettent des informations sur le trafic entrant à un service DoS central s'exécutant sur l'infrastructure. Lorsque le service DoS central détecte une attaque DoS, il peut configurer les équilibreurs de charge pour supprimer ou limiter le trafic associé à l'attaque.
Les instances GFE signalent également des informations sur les requêtes qu'elles reçoivent au service DoS central, y compris les informations sur la couche d'application auxquelles les équilibreurs de charge n'ont pas accès. Ensuite, le service DoS central peut configurer les instances GFE pour supprimer ou limiter le trafic associé à l'attaque.
Authentification des utilisateurs
Après la protection DoS, le niveau de défense suivant pour la communication sécurisée provient du service d'identité central. Les utilisateurs finaux interagissent avec ce service via la page de connexion Google. Le service demande un nom d'utilisateur et un mot de passe, et peut également inviter les utilisateurs à saisir des informations supplémentaires en fonction de facteurs de risque. Les facteurs de risque incluent, par exemple, si les utilisateurs se sont connectés depuis le même appareil ou depuis un emplacement similaire. Après l'authentification de l'utilisateur, le service d'identité émet des identifiants, tels que des cookies et des jetons OAuth, qui peuvent être utilisés pour les appels suivants.
Lorsque les utilisateurs se connectent, ils peuvent utiliser des seconds facteurs comme les OTP ou les clés de sécurité avec protection contre l'hameçonnage, comme la clé de sécurité Titan. La clé de sécurité Titan est un jeton physique compatible avec le facteur U2F (FIDO Universal 2nd Factor). Nous avons participé au développement de la norme ouverte U2F avec l'alliance FIDO. La plupart des plates-formes et navigateurs Web ont adopté cette norme d'authentification ouverte.
Sécurité opérationnelle
Cette section décrit le développement de nos logiciels d'infrastructure, la protection des machines et des identifiants de nos employés, et la protection contre les menaces internes et externes contre l'infrastructure.
Développement sécurisé de logiciels
Outre les protections du contrôle du code source et le processus d'examen à deux parties décrits précédemment, nous utilisons des bibliothèques qui empêchent les développeurs d'introduire certaines classes de bugs de sécurité. Par exemple, nous utilisons des bibliothèques et des frameworks grâce auxquels il est possible d'éliminer les failles XSS dans les applications Web. Nous utilisons également des outils automatisés tels que des fuzzers, des outils d'analyse statique et des analyseurs de sécurité Web pour détecter automatiquement les bugs de sécurité.
En guise de validation finale, des vérifications de sécurité manuelles sont effectuées, qu'il s'agisse de triages rapides pour les fonctionnalités moins risquées ou de contrôles approfondis de la conception et de la mise en œuvre pour les fonctionnalités les plus risquées. L'équipe qui effectue ces examens comprend des experts en matière de sécurité Web, de chiffrement et de sécurité du système d'exploitation. Ces examens peuvent entraîner le développement de nouvelles fonctionnalités de bibliothèque de sécurité et de fuzzers que nous pouvons utiliser pour de futurs produits.
En outre, un programme Vulnerability Rewards est mis en place pour récompenser quiconque découvre et signale les bugs dans notre infrastructure ou dans nos applications. Pour en savoir plus sur ce programme, y compris sur les récompenses que nous vous avons attribuées, consultez la page Statistiques essentielles de Bug Hunters.
Nous investissons également dans la recherche d'attaques du jour zéro et d'autres problèmes de sécurité dans les logiciels Open Source que nous utilisons. Nous gérons le projet zéro, qui est une équipe de chercheurs de Google spécialisés dans la recherche de failles du jour zéro, telles que Spectre et Meltdown De plus, nous sommes le plus grand émetteur de CVE et de corrections de bugs de sécurité pour l'hyperviseur KVM de Linux.
Protections du code source
Notre code source est stocké dans des dépôts dotés d'une intégrité de la source et d'une gouvernance intégrées, où les versions actuelles et antérieures du service peuvent être auditées. L'infrastructure nécessite que les binaires d'un service soient créés à partir d'un code source spécifique, après examen, évaluation et test. L'autorisation binaire pour Borg (BAB) est une vérification d'application interne qui se produit lorsqu'un service est déployé. L'autorisation binaire pour Borg effectue les opérations suivantes:
- Elle s'assure que les logiciels de production et la configuration déployés chez Google sont examinés et autorisés, en particulier lorsque le code peut accéder aux informations sur les utilisateurs.
- L'autorisation binaire pour Borg s'assure que les déploiements de code et de configuration respectent au minimum certaines normes.
- Limite la capacité d'un initié ou d'une personne mal intentionnée à apporter des modifications malveillantes au code source, et fournit également un outil permettant de tracer un service jusqu'à sa source.
Sécuriser les appareils et les identifiants des employés
Nous mettons en œuvre des mesures de sauvegardes pour protéger les appareils et les identifiants de nos employés contre les menaces. Pour protéger nos employés contre les tentatives d'hameçonnage sophistiquées, nous avons remplacé l'authentification à deux facteurs OTP par l'utilisation obligatoire de clés de sécurité compatibles U2F.
Nous surveillons les appareils clients que nos employés utilisent pour faire fonctionner notre infrastructure. Nous nous assurons que les images du système d'exploitation de ces appareils sont à jour avec les correctifs de sécurité, et nous contrôlons les applications que les employés peuvent installer sur leurs appareils. Nous disposons également de systèmes qui analysent les applications, les téléchargements, les extensions et le contenu des navigateurs Web installés par les utilisateurs pour déterminer s'ils sont adaptés aux appareils de l'entreprise.
La connexion au LAN de l'entreprise ne représente pas notre mécanisme principal pour accorder des privilèges d'accès. À la place, nous utilisons la sécurité zéro confiance pour protéger les accès des employés à nos ressources. Les contrôles de gestion des accès au niveau de l'application exposent les applications internes aux employés uniquement lorsque ceux-ci utilisent un appareil géré et qu'ils se connectent à partir de réseaux et d'emplacements géographiques attendus. Un appareil client est approuvé en fonction d'un certificat émis à l'ordinateur individuel et basé sur des assertions concernant sa configuration (telles qu'un logiciel à jour). Pour plus d'informations, consultez BeyondCorp.
Réduction des risques internes
Les risques internes désignent la possibilité pour un employé, un prestataire ou un partenaire actuel ou ancien qui dispose ou a disposé d'un accès à notre réseau, à notre système ou à nos données, d'utiliser cet accès afin de compromettre la confidentialité, l'intégrité ou la disponibilité de nos données ou de nos systèmes d'information.
Pour réduire les risques internes, nous limitons et surveillons activement les activités des employés qui bénéficient d'un accès administrateur à l'infrastructure. Nous nous efforçons continuellement d'éliminer le besoin d'accès privilégié pour des tâches particulières en utilisant l'automatisation afin d'accomplir les mêmes tâches de manière sûre et contrôlée. Nous exposons des API limitées qui permettent le débogage sans exposer les données sensibles, et nous exigeons des approbations à deux parties pour certaines actions sensibles effectuées par des opérateurs humains.
L'accès des employés Google aux informations sur les utilisateurs finaux peut être enregistré via des crochets d'infrastructure de bas niveau. Notre équipe de sécurité surveille les modèles d'accès et examine les événements inhabituels. Pour en savoir plus, consultez la page Gestion des accès privilégiés dans Google Cloud (PDF).
Nous utilisons l'autorisation binaire pour Borg afin de protéger notre chaîne d'approvisionnement contre les risques internes. De plus, notre investissement dans BeyondProd permet de protéger les données utilisateur dans l'infrastructure Google et d'établir une relation de confiance avec nos services.
Dans Google Cloud, vous pouvez surveiller l'accès à vos données à l'aide d'Access Transparency. Les journaux Access Transparency vous permettent de vérifier que le personnel de Google n'accède à votre contenu que pour des raisons professionnelles valables, telles que la résolution d'une panne ou le traitement de vos demandes d'assistance. Access Approval vous garantit que Cloud Customer Care et les services d'ingénierie ne puissent accéder à vos données qu'avec votre approbation explicite. L'approbation est validée de manière cryptographique afin d'en garantir l'intégrité.
Pour en savoir plus sur les protections des services de production, consultez la section Comment Google protège ses services de production.
Surveillance des menaces
Le groupe Threat Analysis de Google surveille les acteurs des menaces et l'évolution de leurs tactiques et techniques. Les objectifs de ce groupe sont d'améliorer la sécurité des produits Google et de partager ces informations au profit de la communauté en ligne.
Pour Google Cloud, vous pouvez utiliser Google Cloud Threat Intelligence pour les opérations de sécurité Google et VirusTotal pour surveiller de nombreux types de logiciels malveillants et y répondre. Google Cloud Threat Intelligence for Google Security Operations est une équipe de chercheurs de menaces qui exploitent les renseignements sur les menaces pour les utiliser avec les opérations de sécurité Google. VirusTotal est une solution de base de données et de visualisation de logiciels malveillants qui vous permet de mieux comprendre le fonctionnement des logiciels malveillants au sein de votre entreprise.
Pour en savoir plus sur nos activités de surveillance des menaces, consultez le rapport Threat Horizons.
Détection des intrusions
Nous utilisons des pipelines de traitement de données sophistiqués pour intégrer des signaux basés sur l'hôte sur des appareils individuels, des signaux basés sur le réseau provenant de différents points de surveillance dans l'infrastructure, ainsi que des signaux émis par les services d'infrastructure. Des règles et des fonctionnalités d'intelligence artificielle articulées autour de ces pipelines avertissent les ingénieurs en sécurité opérationnelle d'incidents possibles. Nos équipes d'investigation et d'intervention en cas d'incident trient ce type d'événements potentiels, les examinent et agissent 24h/24, 7j/7 et 365 jours par an. Des exercices red team sont menés à bien pour mesurer et améliorer l'efficacité de nos mécanismes de détection et d'intervention.
Étapes suivantes
- Pour en savoir plus sur la protection de notre infrastructure, consultez la page Créer des systèmes sécurisés et fiables (livre O'Reilly).
- Découvrez-en davantage sur la sécurité des centres de données.
En savoir plus sur notre protection contre les attaques DDoS
Découvrez notre solution zéro confiance BeyondCorp.