Top 10 des options d'atténuation de l'OWASP 2021 sur Google Cloud

Last reviewed 2021-12-12 UTC

Ce document vous aide à identifier les produits Google Cloud et les stratégies d'atténuation qui peuvent vous aider à vous protéger contre les attaques courantes au niveau des applications, décrites dans le Top 10 de la fondation OWASP. Le top 10 de l'OWASP est une liste de l'Open Web Application Security (OWASP) Foundation des 10 principaux risques de sécurité que chaque propriétaire d'application doit connaître. Bien qu'aucun produit de sécurité ne puisse garantir une protection complète contre ces risques, l'application de ces produits et services lorsqu'ils sont pertinents dans votre architecture peut contribuer à une solution de sécurité multicouche puissante.

L'infrastructure de Google est conçue pour vous aider à créer, déployer et exploiter des services de manière sécurisée. La sécurité physique et opérationnelle, le chiffrement des données au repos et en transit, ainsi que de nombreux autres aspects importants d'une infrastructure sécurisée sont gérés par Google. Vous bénéficiez de ces avantages en déployant vos applications sur Google Cloud, mais vous devrez peut-être prendre des mesures supplémentaires pour protéger votre application contre des attaques spécifiques.

Les stratégies d'atténuation répertoriées dans ce document sont triées par risque de sécurité des applications et par produit Google Cloud. De nombreux produits contribuent à créer une stratégie de défense en profondeur contre les risques de sécurité Web. Ce document fournit des informations sur la manière dont d'autres produits peuvent limiter les risques répertoriés dans le top 10 de l'OWASP, mais il fournit des informations supplémentaires sur la manière dont Google Cloud Armor et Apigee peuvent atténuer un large éventail de risques. Google Cloud Armor, qui agit en tant que pare-feu d'application Web (WAF), et Apigee, en tant que passerelle API, peuvent être particulièrement utiles pour bloquer différents types d'attaques. Ces produits se trouvent sur le chemin du trafic Internet et peuvent bloquer le trafic externe avant qu'il n'atteigne vos applications dans Google Cloud.

Présentations des produits

Les produits Google Cloud répertoriés dans le tableau suivant peuvent vous aider à vous protéger contre les 10 premiers risques de sécurité :

Produit Résumé A01 A02 A03 A04 A05 A06 A07 A08 A09 A10
Access Transparency Étendez le contrôle et la visibilité sur votre fournisseur cloud grâce à des journaux d'accès et des contrôles d'approbation administrateur.
Artifact Registry Stockez des artefacts et créez des dépendances de manière centralisée
Apigee Concevoir, sécuriser et faire évoluer les interfaces de programmation d'application
Autorisation binaire Contrôle de sécurité garantissant que seules des images de conteneur fiables sont déployées sur Google Kubernetes Engine
Chronicle Identifiez automatiquement les menaces en temps réel et à grande échelle grâce à l'infrastructure, aux techniques de détection et aux signaux de Google.
Inventaire des éléments cloud Visualisez, surveillez et analysez tous vos éléments virtuels ou multicloud Google Cloud et Google Distributed Cloud sur l'ensemble des projets et services
Cloud Build Créez, testez et déployez dans Google Cloud
Protection des données sensibles Découvrez, classez et protégez vos données les plus sensibles
Cloud Load Balancing Contrôlez les algorithmes de chiffrement utilisés par votre proxy SSL ou votre équilibreur de charge HTTPS
Cloud Logging Gestion et analyse à grande échelle des journaux en temps réel
Cloud Monitoring Collectez et analysez des métriques, des événements et des métadonnées provenant de services Google Cloud et d'une grande variété d'applications et de services tiers
Cloud Source Repositories Stockez, gérez et suivez le code de façon centralisée pour votre équipe
Container Threat Detection Surveillez en permanence l'état des images de conteneurs, évaluez toutes les modifications et surveillez les tentatives d'accès à distance pour détecter les attaques d'exécution quasiment en temps réel.
Event Threat Detection Surveillez le flux Cloud Logging de votre organisation et détectez les menaces en quasi-temps réel
Forseti Inventory Collectez et stockez les instantanés de votre architecture
Forseti Scanner Analysez les données d'inventaire conformément aux règles personnalisées et signalez les écarts inattendus
Google Cloud Armor Un pare-feu d'application Web (WAF) déployé à la périphérie du réseau Google pour vous aider à vous protéger contre les vecteurs d'attaque courants
Bulletins de sécurité Google Cloud Derniers bulletins de sécurité liés aux produits Google Cloud
Identity-Aware Proxy (IAP) Sécurisez l'accès à vos applications et VM grâce aux informations d'identité et au contexte
Identity Platform Ajoutez une fonctionnalité de gestion de l'authentification et des accès aux applications, protégez les comptes utilisateur et faites évoluer la gestion des identités
Cloud Key Management Service Gérez les clés de chiffrement sur Google Cloud
reCAPTCHA Enterprise Protégez votre site Web contre les activités frauduleuses, le spam et les utilisations abusives
Secret Manager Stockez vos clés API, mots de passe, certificats et autres données sensibles
Security Command Center Visibilité centralisée pour l'analyse de la sécurité et les renseignements sur les menaces afin de détecter les failles dans vos applications
Security Health Analytics (SHA) Générez des résultats sur les failles disponibles dans Security Command Center
Clés de sécurité Titan Aidez à protéger les utilisateurs à forte valeur grâce à des appareils 2FA antihameçonnage dotés d'une puce matérielle (avec micrologiciel conçu par Google) pour valider l'intégrité de la clé
Pare-feu de cloud privé virtuel (VPC) Autorisez ou refusez les connexions vers ou depuis vos instances de machines virtuelles (VM)
VPC Service Controls Isolez les ressources des services mutualisés Google Cloud pour limiter les risques d'exfiltration des données
VirusTotal Analysez les fichiers et les URL suspects pour détecter les types de logiciels malveillants et partagez-les automatiquement avec la communauté de sécurité
Web Security Scanner Générez des types de résultats de failles disponibles dans Security Command Center

A01 : Contrôle d'accès défaillant

Le contrôle d'accès défaillant fait référence aux contrôles d'accès qui ne sont appliqués que partiellement du côté du client ou faiblement mis en œuvre. L'atténuation de ces contrôles nécessite souvent une réécriture du côté de l'application pour s'assurer que les ressources sont accessibles uniquement aux utilisateurs autorisés.

Apigee

Cas d'utilisation :

  • Application du contrôle des accès
  • Limiter la manipulation des données

Apigee est compatible avec une approche multicouche permettant de mettre en œuvre des contrôles d'accès afin d'empêcher les acteurs malintentionnés d'apporter des modifications non autorisées ou d'accéder au système.

Configurez le contrôle des accès basé sur les rôles (RBAC) pour autoriser uniquement les utilisateurs à accéder à la fonctionnalité et à la configuration dont ils ont besoin. Créez des mappages clé-valeur chiffrés pour stocker les paires clé/valeur sensibles, qui sont masquées dans l'interface utilisateur Edge et dans les appels d'API de gestion. Configurez l'authentification unique avec le fournisseur d'identité de votre entreprise.

Configurez les portails des développeurs pour afficher des produits d'API spécifiques en fonction du rôle utilisateur Configurez le portail pour afficher ou masquer le contenu en fonction du rôle de l'utilisateur.

Inventaire des éléments cloud

Cas d'utilisation :

  • Surveiller la présence de technologies matérielles et logicielles non autorisées (également appelées "shadow IT")
  • Instances de calcul obsolètes

L'un des vecteurs les plus courants d'exposition des données est l'infrastructure informatique orpheline ou non autorisée. Configurez des notifications en temps réel pour vous avertir en cas de ressources en cours d'exécution inattendues, qui peuvent être mal sécurisées ou utiliser des logiciels obsolètes.

Cloud Load Balancing

Cas d'utilisation :

  • Contrôle précis du chiffrement SSL et TLS

Empêchez l'utilisation d'algorithmes de chiffrement SSL ou TLS peu performants en attribuant un groupe prédéfini ou une liste personnalisée d'algorithmes de chiffrement que Cloud Load Balancing peut utiliser.

Forseti Scanner

Cas d'utilisation :

  • Surveillance de la configuration du contrôle des accès

Surveillez systématiquement vos ressources Google Cloud dans le but de vous assurer que les contrôles d'accès sont définis comme prévu. Créez des stratégies basées sur des règles pour codifier votre position en matière de sécurité. Si la configuration change de manière inattendue, Forseti Scanner vous avertit afin que vous puissiez rétablir automatiquement un état connu.

Google Cloud Armor

Cas d'utilisation :

  • Filtrer les requêtes d'origines multiples
  • Filtrer les attaques par inclusion de fichiers locaux ou distants
  • Filtrer les attaques par pollution des paramètres HTTP

De nombreux cas de contrôle d'accès défaillant ne peuvent pas être atténués avec un pare-feu d'application Web. En effet, les applications ne nécessitent pas ou ne vérifient pas convenablement les jetons d'accès pour chaque requête, et les données peuvent être manipulées côté client. Plusieurs challenges de Juice Shop concernent un contrôle d'accès défaillant. Par exemple, la publication de commentaires au nom d'un autre utilisateur utilise le fait que certaines requêtes ne sont pas authentifiées côté serveur. Comme vous pouvez le voir dans la solution du challenge, l'exploit de cette faille est entièrement côté client et ne peut donc pas être minimisé à l'aide de Google Cloud Armor.

Certaines challenges peuvent être partiellement atténuées côté serveur si l'application ne peut pas être immédiatement corrigée.

Par exemple, si des attaques par falsification de requête intersites (CSRF) sont possibles parce que votre serveur Web met médiocrement en œuvre le mécanisme Cross-Origin Resource Sharing (CORS), comme le montre le challenge CSRF Juice Shop, vous pouvez atténuer ce problème en bloquant les requêtes provenant d'origines inattendues à l'aide d'une règle personnalisée. La règle suivante met en correspondance toutes les requêtes avec des origines autres que example.com et google.com :

has(request.headers['origin']) &&
!((request.headers['origin'] == 'https://example.com')||
(request.headers['origin'] == 'https://google.com') )

Lorsque le trafic correspondant à une telle règle est refusé, la solution pour le défi CSRF cesse de fonctionner.

Le challenge de manipulation du panier utilise la pollution des paramètres HTTP (HPP) pour vous permettre de voir comment attaquer le magasin en suivant solution du challenge. La HPP est détectée comme faisant partie de l'ensemble de règles d'attaque du protocole. Pour bloquer ce type d'attaque, utilisez la règle suivante : evaluatePreconfiguredExpr('protocolattack-stable').

Identity-Aware Proxy et accès contextuel

Cas d'utilisation :

  • Contrôle des accès centralisé
  • Compatible avec le cloud et sur site
  • Protège les connexions HTTP et TCP
  • Accès contextuel

IAP vous permet d'utiliser l'identité et le contexte pour former un mur sécurisé d'authentification et d'autorisation autour de votre application. Empêchez les interruptions et les contrôles d'accès à votre application publique grâce à un système d'authentification et d'autorisation géré de manière centralisée basé sur Cloud Identity et IAM.

Appliquez des contrôles d'accès précis aux applications Web, aux VM, aux API Google Cloud et aux applications Google Workspace, en fonction de l'identité de l'utilisateur et du contexte de la requête sans nécessiter de VPN traditionnel. Utilisez une seule plate-forme pour vos applications cloud et sur site et vos ressources d'infrastructure.

Security Health Analytics

Cas d'utilisation :

  • Application de MFA ou 2FA
  • Protection des clés API
  • Surveillance des règles SSL

Empêchez le contrôle des accès interrompu en surveillant la conformité avec l'authentification multifacteur, les règles SSL et l'état des clés API.

Web Security Scanner

Cas d'utilisation :

  • Dépôts exposés au public
  • Validation des en-têtes de requêtes non sécurisés

Web Security Scanner analyse vos applications Web pour détecter les failles telles que les dépôts de code visibles publiquement et la validation mal configurée des en-têtes de requête.

A02 : Défaillances cryptographiques

Des défaillances cryptographiques peuvent se produire en raison d'un manque de chiffrement ou d'un faible chiffrement en transit, ou en cas d'exposition accidentelle de données sensibles. Les attaques contre ces failles sont généralement spécifiques à l'application et nécessitent donc une approche de défense en profondeur pour les atténuer.

Apigee

Cas d'utilisation :

  • Protection des données sensibles

Utilisez le protocole TLS unidirectionnel et bidirectionnel pour protéger les informations sensibles au niveau du protocole.

Utilisez des stratégies telles que la règle d'affectation de message et JavaScript pour supprimer des données sensibles avant qu'elles ne soient renvoyées au client.

Utilisez les techniques OAuth standards et envisagez d'ajouter des techniques HMAC, de hachage, d'état, nonce, PKCE ou autres pour améliorer le niveau d'authentification de chaque requête.

Masquez les données sensibles dans l'outil Edge Trace.

Chiffrez les données sensibles au repos dans les mappages de clés.

Inventaire des éléments cloud

Cas d'utilisation :

  • Service de recherche
  • Analyseur d'accès

L'un des vecteurs les plus courants d'exposition des données est l'infrastructure informatique orpheline ou non autorisée. Vous pouvez identifier les serveurs que personne ne gère et les buckets ayant des règles de partage trop étendues en analysant les données de séries temporelles des éléments cloud.

Configurez des notifications en temps réel pour vous avertir d'un provisionnement inattendu de ressources qui peuvent être mal sécurisées ou non autorisées.

API Cloud Data Loss Prevention (partie intégrante de la protection des données sensibles)

Cas d'utilisation :

  • Détection et classification des données sensibles
  • Masquage automatique des données

L'API DLP (Cloud Data Loss Prevention) vous permet d'analyser les données potentiellement sensibles stockées dans des buckets ou des bases de données afin d'éviter toute fuite d'informations accidentelle. Si des données non autorisées sont identifiées, elles peuvent être signalées ou masquées automatiquement.

Cloud Key Management Service

Cas d'utilisation :

  • Gestion sécurisée des clés de chiffrement

(Cloud KMS) permet d'éviter l'exposition potentielle de vos clés cryptographiques. Utilisez ce service de gestion de clés hébergé dans le cloud pour gérer les clés cryptographiques symétriques et asymétriques pour vos services cloud de la même manière que sur site. Vous pouvez générer, utiliser, alterner et détruire des clés cryptographiques AES256, RSA 2048, RSA 3072, RSA 4096, EC P256 et EC P384.

Cloud Load Balancing

Cas d'utilisation :

  • Contrôle précis du chiffrement SSL et TLS

Les règles SSL permettent d'éviter l'exposition des données sensibles en vous permettant de contrôler les fonctionnalités et les algorithmes de chiffrement SSL et TLS autorisés dans un équilibreur de charge. Bloquez les algorithmes de chiffrement non approuvés ou non sécurisés selon les besoins.

Google Cloud Armor

Cas d'utilisation :

  • Filtrer les URL d'attaque connues
  • Restreindre l'accès sensible aux points de terminaison

En général, l'exposition des données sensibles doit être interrompue au niveau de la source. Toutefois, étant donné que chaque attaque est spécifique à l'application, les pare-feu d'application Web ne peuvent être utilisés que de manière limitée pour arrêter l'exposition des données à grande échelle. Cependant, si votre application ne peut pas être immédiatement corrigée, vous pouvez limiter l'accès aux points de terminaison ou aux modèles de requête vulnérables à l'aide de règles personnalisées Google Cloud Armor.

Par exemple, plusieurs challenges de Juice Shop concernant l'exposition des données sensibles peuvent être exploités en raison d'un balayage de répertoire non sécurisé et d'attaques par injection d'octets nulle. Vous pouvez atténuer ces injections en recherchant les chaînes dans l'URL à l'aide de l'expression personnalisée suivante :

request.path.contains("%00") || request.path.contains("%2500")

Vous pouvez résoudre le problème de métriques exposées en accédant au sous-répertoire /metrics utilisé par Prometheus. Si un point de terminaison sensible est exposé et que vous ne pouvez pas supprimer l'accès immédiatement, vous pouvez restreindre son accès à l'exception de certaines plages d'adresses IP. Utilisez une règle semblable à l'expression personnalisée suivante :

request.path.contains("/metrics") && !(inIpRange(origin.ip, '1.2.3.4/32')

Remplacez 1.2.3.4/32 par la plage d'adresses IP qui doit avoir accès à l'interface des métriques.

Les fichiers journaux exposés de manière accidentelle sont utilisés pour résoudre l'un des challenges de Juice Shop. Pour éviter d'exposer les journaux, définissez une règle interdisant complètement l'accès aux fichiers journaux : request.path.endsWith(".log").

Identity-Aware Proxy et accès contextuel

Cas d'utilisation :

  • Sécuriser l'accès à distance aux services sensibles
  • Contrôle des accès centralisé
  • Accès contextuel

Exploitez l'identité et le contexte pour établir un périmètre d'authentification et d'autorisation sécurisé autour de votre application. Déployez des outils, tels que les rapports de bugs internes, la base de connaissances d'entreprise ou les e-mails derrière IAP, afin de n'autoriser l'accès contextuel qu'aux personnes autorisées, n'importe où sur Internet.

Avec l'accès contextuel, vous pouvez appliquer des contrôles d'accès précis aux applications Web, aux machines virtuelles (VM), aux API Google Cloud et aux applications Google Workspace selon l'identité d'un utilisateur et le contexte de la requête sans VPN classique. Selon le modèle de sécurité "zéro confiance" et la mise en œuvre BeyondCorp de Google, l'accès contextuel vous permet d'accorder l'accès à vos utilisateurs, d'appliquer des contrôles précis, et d'utiliser une seule plate-forme à la fois pour le cloud, les applications sur site et les ressources d'infrastructure.

Secret Manager

Cas d'utilisation :

  • Clés de chiffrement
  • Clés API
  • Autres identifiants système

Secret Manager est un service de stockage sécurisé pour vos données les plus précieuses, telles que les clés API, les mots de passe de compte de service et les éléments de chiffrement. Le stockage centralisé de ces secrets vous permet d'utiliser les systèmes d'authentification et d'autorisation de Google Cloud, y compris IAM, pour déterminer si une requête d'accès donnée est valide.

Secret Manager n'est pas conçu pour les opérations à grande échelle telles que la tokenisation de carte de crédit ou le stockage de mots de passe d'utilisateurs individuels. Ces applications doivent s'appuyer sur Identity Platform pour CIAM, sur Cloud Identity pour les membres de votre organisation ou sur un logiciel de tokenisation dédié.

Security Health Analytics

Cas d'utilisation :

  • Application de MFA/2FA
  • Protection des clés API
  • Application de la rotation des clés API
  • Confidentialité des images Compute
  • Application des règles de clé SSH
  • Surveillance du démarrage sécurisé
  • Sécurité de l'accès aux API
  • Surveillance des règles SSL
  • Journalisation désactivée
  • Alertes associées à la LCA de buckets publics

Prévenez l'exposition des données sensibles en surveillant la conformité avec l'authentification multifacteur et l'état de vos clés API. Obtenez des alertes pour les configurations non sécurisées dans l'espace de stockage d'images de conteneurs, Cloud Storage, les stratégies SSL, la stratégie de clé SSH, la journalisation, l'accès aux API, etc.

VirusTotal

Cas d'utilisation :

  • Protection contre l'hameçonnage

VirusTotal vous permet d'analyser les URL pour détecter les contenus malveillants avant de les présenter à vos utilisateurs ou employés, que ces URL se trouvent dans les entrées utilisateur, dans les e-mails, dans les chats, dans les journaux ou autres emplacements.

VPC Service Controls

Cas d'utilisation :

  • Pare-feu pour les services gérés

Encapsulez les services critiques gérés dans un pare-feu afin de contrôler qui peut appeler le service et à qui il peut répondre. Bloquez la sortie et l'exfiltration de données non autorisées avec des règles de périmètre sortantes sur des services tels que Cloud Functions. Empêchez les requêtes provenant d'utilisateurs et d'emplacements non autorisés vers des datastores et des bases de données gérés. Créez des périmètres sécurisés autour d'API puissantes ou potentiellement coûteuses.

Scanner d'applications Web

Cas d'utilisation :

  • Analyseur des risques pour la sécurité des applications Web
  • Analyseur de disponibilité du dépôt

Pour empêcher votre application Web d'exposer des données sensibles, assurez-vous que les mots de passe ne sont pas envoyés en texte clair. Pour éviter la fuite du code source potentiellement destructeur, vérifiez les dépôts de code source Git et Apache Subversion exposés. Ces analyses sont conçues pour couvrir les dix principales commandes OWASP spécifiques.

Web Security Scanner

Cas d'utilisation :

  • Mots de passe non chiffrés transmis sur le réseau

Web Security Scanner analyse vos applications Web et signale les résultats d'erreurs et de failles. Si votre application transmet des mots de passe en texte clair, Web Security Scanner génère un résultat CLEAR_TEXT_PASSWORD.

A03 : Injection

Des failles d'injection, telles que des injections SQL, NoSQL, OS et LDAP, se produisent lorsque des données non approuvées sont envoyées à un interpréteur dans le cadre d'une commande ou d'une requête. Les données hostile du pirate informatique peuvent inciter l'interpréteur à exécuter des commandes inattendues ou à accéder aux données sans autorisation appropriée. Nous vous recommandons de nettoyer ou de filtrer les données utilisateur par l'application avant de les envoyer à un interpréteur.

Les sections suivantes décrivent les produits Google Cloud qui peuvent contribuer à atténuer ce risque.

Apigee

Cas d'utilisation :

  • Blocage par injection SQL
  • Blocage par injection NoSQL
  • Blocage par injection LDAP
  • Blocage par injection JavaScript

Apigee fournit plusieurs stratégies de validation d'entrée pour vérifier que les valeurs fournies par un client correspondent à vos attentes configurées avant d'autoriser le traitement ultérieur des règles ou des stratégies. Apigee, agissant en tant que passerelle pour les requêtes API entrantes, effectue une vérification de limite pour s'assurer que la structure de la charge utile se situe dans une plage acceptable. Vous pouvez configurer un proxy d'API pour que la routine de validation des entrées transforme l'entrée afin de supprimer les séquences de caractères à risque, puis de les remplacer par des valeurs sécurisées.

Il existe plusieurs approches pour valider les entrées avec la plate-forme Apigee :

Container Threat Detection

Cas d'utilisation :

  • Détection de scripts malveillants
  • Détection d'interfaces système inversées
  • Détection d'installation de logiciels malveillants

Le détecteur Malicious Script Executed de Container Threat Detection analyse chaque script shell exécuté sur le système et signale ceux qui semblent malveillants. Cela permet de détecter les attaques par injection de commande shell. Une fois l'injection de la commande shell réussie, un pirate informatique peut générer un shell inversé, ce qui déclenche le détecteur Reverse Shell. Il peut également installer des logiciels malveillants, ce qui déclenche les détecteurs Added Binary Executed et Added Library Loaded.

Google Cloud Armor

Cas d'utilisation :

  • Filtrage par injection SQL
  • Filtrage par injection PHP

Google Cloud Armor peut bloquer les attaques d'injection courantes avant qu'elles n'atteignent votre application. Pour l'injection SQL (SQLi), Google Cloud Armor dispose d'un ensemble de règles prédéfini qui est basé sur l'ensemble de règles de base ModSecurity OWASP. Vous pouvez créer des règles de sécurité qui bloquent les attaques SQLi courantes définies dans l'ensemble de règles de base à l'aide de règle evaluatePreconfiguredExpr('sqli-stable') seule ou en association avec d'autres règles personnalisées. Par exemple, vous pouvez limiter le blocage SQLi à des applications spécifiques à l'aide d'un filtre de chemin d'URL.

Pour l'injection PHP, il existe un autre ensemble de règles préconfiguré. Vous pouvez utiliser la règle evaluatePreconfiguredExpr('php-stable') pour bloquer les attaques par injection PHP courantes.

Selon votre application, l'activation des expressions préconfigurées peut entraîner des faux positifs, car certaines des règles de l'ensemble de règles sont assez sensibles. Pour plus d'informations, consultez les sections Résoudre les problèmes de faux positifs et Ajuster l'ensemble de règles à différents niveaux de sensibilité.

Pour les attaques par injection autres que celles ciblant SQL ou PHP, vous pouvez créer des règles personnalisées pour bloquer les requêtes lorsque des mots clés spécifiques ou des schémas d'échappement dans ces protocoles sont utilisés dans le chemin d'accès de la demande ou la requête. Assurez-vous que ces schémas n'apparaissent pas dans les requêtes valides. Vous pouvez également limiter ces règles à des points de terminaison ou chemins d'accès spécifiques susceptibles d'interpréter les données qui leur sont transmises.

De plus, certaines attaques par injection peuvent être atténuées en utilisant les règles préconfigurées pour l'exécution de code à distance et l'injection de fichiers à distance.

Web Security Scanner

Cas d'utilisation :

  • Surveillance des scripts intersites
  • Surveillance de l'injection SQL

Web Security Scanner analyse vos applications Web pour détecter les failles et fournit des détecteurs qui surveillent les attaques par script intersites et les injections SQL.

A04 : Conception non sécurisée

Une conception non sécurisée se produit lorsque les organisations ne mettent pas en œuvre les moyens d'évaluer et de traiter les menaces pendant le cycle de développement. La modélisation des menaces, lorsqu'elle est réalisée au début des phases de conception et de peaufinage, et poursuivie tout au long des phases de développement et de test, aide les organisations à analyser les hypothèses et les failles de défaillance. Une culture irréprochable consistant à tirer des leçons de chaque erreur est la clé d'une conception sûre.

Apigee

Cas d'utilisation :

  • Validation des entrées
  • Contrôle des accès
  • Gestion des erreurs
  • Règles de protection des contenus
  • Gestion des mots de passe

Apigee vous permet de valider les requêtes entrantes et les réponses à votre application à l'aide de la règle OASValidation. En outre, pour protéger les accès, vous pouvez configurer l'authentification unique (SSO), le contrôle des accès basé sur les rôles (RBAC), limiter l'accès aux API (en utilisant Auth0 par exemple) et restreindre les adresses IP ayant accès à votre environnement. Les règles de gestion des erreurs vous permettent de personnaliser la manière dont le proxy d'API réagit aux erreurs.

Pour aider les utilisateurs globaux d'Apigee à se protéger contre les mots de passe non sécurisés, Apigee fournit une fonctionnalité d'expiration, de verrouillage et de réinitialisation de mot de passe. En outre, vous pouvez activer l'authentification à deux facteurs (2FA).

API Cloud Data Loss Prevention (partie intégrante de la protection des données sensibles)

Cas d'utilisation :

  • Identifier et masquer les données confidentielles

L'API Cloud Data Loss Prevention vous permet d'identifier les données confidentielles et de les tokeniser. L'API DLP peut vous aider à limiter l'exposition des données confidentielles, car une fois les données tokenisées et stockées, vous pouvez configurer des contrôles d'accès pour limiter l'accès aux données. Pour en savoir plus, consultez les sections Automatiser la classification des données importées sur Cloud Storage et Anonymiser et désanonymiser les informations personnelles dans les ensembles de données à grande échelle à l'aide de la protection des données sensibles.

Secret Manager

Cas d'utilisation :

  • Protéger le stockage des identifiants

Secret Manager permet aux applications et aux pipelines d'accéder aux valeurs des secrets nommés en fonction des autorisations accordées avec IAM. Il fournit également un accès automatisé aux secrets afin que les processus automatisés puissent accéder aux valeurs des secrets. Lorsque cette option est activée, chaque interaction avec Secret Manager fournit une piste d'audit. Utilisez ces pistes d'audit pour répondre aux exigences d'investigation numérique et de conformité.

Web Security Scanner

Cas d'utilisation :

  • Détecter les failles de sécurité dans vos applications.

Web Security Scanner analyse vos applications Web et recherche les failles. Il suit les liens et tente de tester un maximum d'entrées utilisateurs et de gestionnaires d'événements. Son détecteur CACHEABLE_PASSWORD_INPUT génère un résultat si les mots de passe saisis dans l'application Web peuvent être mis en cache dans un cache de navigateur standard au lieu d'un stockage sécurisé.

A05 : erreur de configuration de sécurité

Une erreur de configuration de la sécurité fait référence aux failles d'application non corrigées, aux comptes par défaut ouverts, ainsi qu'aux fichiers et répertoires non protégés et peut généralement être évitée avec le renforcement de l'application. Une erreur de configuration de sécurité peut se produire de différentes manières, par exemple en faisant confiance aux configurations par défaut, en créant des configurations partielles susceptibles d'être non sécurisées, en laissant les messages d'erreur contenir des informations sensibles, en stockant des données dans le cloud sans contrôles de sécurité appropriés ou en cas de mauvaise configuration d'en-têtes HTTP.

Apigee

Cas d'utilisation :

  • Gérer les configurations de sécurité
  • Surveiller les configurations de sécurité

Un flux partagé permet aux développeurs d'API de combiner des règles et des ressources dans un groupe réutilisable. En capturant les fonctionnalités réutilisables au même endroit, un flux partagé vous permet d'assurer la cohérence, de raccourcir le temps de développement et de gérer plus facilement le code. Vous pouvez inclure un flux partagé dans des proxys d'API individuels à l'aide d'une stratégie FlowCallout ou vous pouvez placer des flux partagés dans les hooks de flux pour exécuter automatiquement une logique de flux partagé pour chaque proxy d'API déployé dans le même environnement.

Inventaire des éléments cloud

Cas d'utilisation :

  • Service de notifications en temps réel

Les notifications en temps réel peuvent vous alerter sur le provisionnement inattendu de ressources qui pourraient être mal sécurisées ou non autorisées.

Cloud Load Balancing

Cas d'utilisation :

  • Contrôle précis du chiffrement SSL et TLS

Empêchez l'utilisation d'algorithmes de chiffrement SSL ou TLS connus comme vulnérables en attribuant un groupe prédéfini ou une liste d'algorithmes de chiffrement personnalisée utilisables par un équilibreur de charge.

Google Cloud Armor

Cas d'utilisation :

  • Filtrer les points de terminaison non sécurisés
  • Filtrer les attaques par inclusion de fichiers locaux ou distants
  • Filtrer les attaques de protocole

Étant donné qu'une erreur de configuration peut survenir au niveau de l'application, la fondation OWASP recommande de renforcer et de corriger directement votre application, ainsi que de supprimer toutes les fonctionnalités inutiles.

Bien qu'un pare-feu d'application Web (WAF), tel que Google Cloud Armor, ne puisse pas vous aider à résoudre la mauvaise configuration sous-jacente, vous pouvez bloquer l'accès à certaines parties de l'application soit entièrement ou pour tout le monde, à l'exception d'adresses IP ou de pays spécifiques. Limiter l'accès peut réduire le risque d'exploitation de ces erreurs de configuration.

Par exemple, si votre application expose une interface d'administration à l'aide d'une URL commune telle que /admin, vous pouvez limiter l'accès à cette interface même si elle est authentifiée. Vous pouvez effectuer cette opération à l'aide d'une règle de refus, par exemple :

request.path.contains("/admin") && !(inIpRange(origin.ip,
'1.2.3.4/32')

Remplacez 1.2.3.4/32 par la plage d'adresses IP qui doit avoir accès à l'interface d'administration.

Certaines erreurs de configuration peuvent être partiellement atténuées en utilisant les ensembles de règles d'inclusion de fichiers locaux (LFI) ou distants (RFI) prédéfinis. Par exemple, l'exploitation de l'imagerie intersites de Juice Shop n'aboutit pas lorsque l'ensemble de règles LFI est appliqué. Utilisez la règle evaluatePreconfiguredExpr('lfi-stable') || evaluatePreconfiguredExpr('rfi-stable') pour bloquer les requêtes à l'aide des ensembles de règles LFI et RFI et ajustez les règles si nécessaire. Vous pouvez vérifier que la solution du challenge ne fonctionne plus.

Certaines attaques HTTP peuvent également être atténuées à l'aide d'ensembles de règles préconfigurés :

  • Pour éviter la falsification du verbe HTTP, utilisez l'ensemble de règles d'application forcée de la méthode (version bêta). Utilisez la règle evaluatePreconfiguredExpr('methodenforcement-stable') pour interdire les méthodes de requête HTTP autres que GET, HEAD, POST et OPTIONS.
  • Pour bloquer les attaques courantes contre les analyses et les proxys HTTP, telles que le trafic de requêtes HTTP, la répartition des réponses HTTP et l'injection d'en-tête HTTP, utilisez l'ensemble de règles d'attaque de protocole avec la règle evaluatePreconfiguredExpr('protocolattack-stable').

Security Health Analytics

Cas d'utilisation :

  • Surveillance du contrôle de sécurité et alertes relatives

Surveillez des dizaines de signaux via une interface unique pour vous assurer que votre application respecte les bonnes pratiques de sécurité.

Web Security Scanner

Cas d'utilisation :

  • Scanner d'applications Web adapté au top 10 de l'OWASP
  • Erreurs de configuration du serveur HTTP
  • Contenu HTTP/HTTPS mixte
  • Entité externe XML (XXE)

Web Security Scanner surveille les erreurs de sécurité courantes, telles que les incohérences de type de contenu, les en-têtes de sécurité non valides et la diffusion de contenu mixte. Web Security Scanner surveille également les failles, telles que les failles XXE. Ces analyses sont conçues pour couvrir les dix principales commandes OWASP. Les détecteurs suivants examinent les erreurs de configuration de la sécurité :

  • INVALID_CONTENT_TYPE
  • INVALID_HEADER
  • MISMATCHING_SECURITY_HEADER_VALUES
  • MISSPELLED_SECURITY_HEADER_NAME
  • MIXED_CONTENT
  • XXE_REFLECTED_FILE_LEAKAGE

Pour en savoir plus sur ces détecteurs et les autres, consultez la page Présentation de Web Security Scanner.

A06 : Composants vulnérables et obsolètes

Les composants présentant des failles connues sont une catégorie pour les vecteurs d'attaque génériques. Ces failles sont atténuées au mieux en surveillant et en mettant à niveau rapidement tous les composants.

Autorisation binaire

Cas d'utilisation :

  • Restreindre les clusters GKE aux conteneurs approuvés

L'autorisation binaire est un contrôle de sécurité intervenant au moment du déploiement qui garantit que seules des images de conteneur fiables sont déployées sur Google Kubernetes Engine (GKE). Avec l'autorisation binaire, vous pouvez exiger que les images soient signées par des autorités de confiance lors du processus de développement, puis appliquer la validation de signature lors du déploiement. Grâce à cette validation, votre processus de compilation et de déploiement n'utilise que des images validées.

Cloud Load Balancing

Cas d'utilisation :

  • Contrôle précis du chiffrement SSL et TLS

Empêchez l'utilisation d'algorithmes de chiffrement SSL ou TLS connus comme vulnérables en attribuant un groupe prédéfini ou une liste personnalisée d'algorithmes de chiffrement que Cloud Load Balancing peut utiliser.

Container Threat Detection

Cas d'utilisation :

  • Détection de scripts malveillants
  • Détection d'interfaces système inversées
  • Détection d'installation de logiciels malveillants

Si un pirate informatique exploite un composant vulnérable et exécute un script malveillant, le détecteur Malicious Script Executed de Container Threat Detection génère un résultat. Si un pirate informatique génère un shell inversé, le détecteur Reverse Shell génère un résultat. Si un pirate informatique installe un logiciel malveillant, les détecteurs Added Binary Executed et Added Library Loaded génèrent des résultats.

Event Threat Detection

Cas d'utilisation :

  • Détection du minage de cryptomonnaie
  • Détection des logiciels malveillants
  • Exfiltration de données
  • DoS sortant

Event Threat Detection surveille votre flux Cloud Logging et applique la logique de détection et les renseignements sur les menaces à un niveau précis. Lorsque Event Threat Detection détecte une menace, il écrit un résultat dans Security Command Center et dans un projet Cloud Logging. Les règles de détection suivantes sont utiles pour détecter les effets de l'utilisation de composants présentant des failles connues :

  • Minage de cryptomonnaie. Détectez le minage de cryptomonnaie en fonction des requêtes DNS ou de la connexion à des adresses de minage connues.
  • Logiciels malveillants. Détectez les requêtes DNS basées sur des logiciels malveillants ou la connexion à des adresses connues comme malveillantes.
  • Exfiltration vers une table externe. Détectez les ressources enregistrées en dehors de l'organisation, y compris les opérations de copie ou de transfert.
  • DoS sortant. Détectez les failles exploitées qui tentent des attaques par déni de service.

Google Cloud Armor

Cas d'utilisation :

  • Bloquer l'accès aux points de terminaison d'application inutilisés
  • Bloquer les vecteurs d'attaque courants

Un pare-feu d'application Web (WAF) tel que Google Cloud Armor ne doit pas être utilisé comme une stratégie d'atténuation unique pour bloquer les attaques contre cette catégorie, car les attaques sont souvent spécifiques à une bibliothèque et ne peuvent pas être bloquées par des ensembles de règle préconfigurés ou ne peuvent pas être corrigées côté serveur. La surveillance et la mise à niveau régulières de tous les composants de votre application constituent la seule option permettant de limiter ce type de failles.

Toutefois, Google Cloud Armor peut aider à limiter certaines attaques courantes contre les applications vulnérables via ses règles préconfigurées pour l'exécution de code à distance, l'inclusion de fichiers locaux ou l'inclusion de fichiers distants.

Si vous êtes conscient qu'il existe des composants vulnérables dans votre application, mais que vous ne pouvez pas les corriger immédiatement, vous pouvez bloquer l'accès à ces parties de l'application afin de réduire temporairement le risque d'exploitation de ces composants. Créez une règle personnalisée correspondant au chemin d'URL ou aux requêtes qui accèdent à ces composants vulnérables et refusez l'accès. Si vous avez besoin d'accéder à ces composants depuis des utilisateurs ou des emplacements spécifiques, vous pouvez toujours autoriser certaines adresses IP sources de confiance à accéder à ces composants. Une règle utilisant le chemin d'URL ressemble à ce qui suit :

`request.path.contains("/component") && !(inIpRange(origin.ip,
'1.2.3.4/32')

Remplacez l'élément suivant :

  • /component : chemin d'accès du composant présentant des failles connues
  • 1.2.3.4/32 : plage d'adresses IP qui doit conserver l'accès à l'interface.

S'il existe des parties de votre application (par exemple, certains répertoires ou types de fichiers) n'ayant jamais besoin d'être accessibles par les utilisateurs finaux, vous pouvez également bloquer ou limiter l'accès à ces ressources à l'aide d'une règle personnalisée afin d'atténuer de manière proactive le risque si ces composants deviennent vulnérables à l'avenir.

Bulletins de sécurité Google Cloud

Cas d'utilisation :

  • Surveillance des bulletins de sécurité
  • CVE pour les produits Google Cloud

Les bulletins de sécurité Google Cloud sont une source fiable de bulletins de sécurité qui ont une incidence sur Google Cloud. Les posts incluent des informations de base, des liens CVE et des recommandations d'action à effectuer.

Web Security Scanner

Cas d'utilisation :

  • Bibliothèques obsolètes
  • Failles et tableaux de bord de résultats

Surveillez les bibliothèques obsolètes incluses dans votre application Web. Surveillez ces résultats dans le tableau de bord Security Command Center.

A07 : Échecs d'identification et d'authentification

Les échecs d'identification et d'authentification sont des risques courants, car l'authentification par application et la gestion de session sont souvent mal mises en œuvre. Les pirates informatiques peuvent exploiter des failles de mise en œuvre, telles que des mots de passe, des clés et des jetons de session compromis, pour emprunter temporairement ou définitivement les identités d'autres utilisateurs.

Access Transparency

Cas d'utilisation :

  • Surveillance du fournisseur de services
  • Motifs invoqués pour justifier l'accès

En règle générale, si vous souhaitez disposer d'une assistance pratique de la part de fournisseurs externes, vous devez accorder et partager des identifiants temporaires, ce qui crée des risques d'identifiants orphelins ou divulgués. Access Approval est un service intégré qui vous permet d'accepter ou de refuser les demandes d'accès émanant d'employés de Google chargés de vous aider dans votre compte. Chaque demande d'accès comprend une justification de l'accès afin que vous puissiez consulter la raison de chaque accès, y compris les références aux demandes d'assistance.

Apigee

Cas d'utilisation :

  • Validation des clés
  • Validation des jetons
  • Règles OAuth

Apigee fournit des règles ValidApiKey, OAuth et des jetons Web JSON (JWT), qui contribuent à la protection contre ce risque.

La validation par clé API est la forme de sécurité la plus simple qui peut être configurée pour une API. Une application cliente présente une clé API avec sa requête. Apigee Edge, via une stratégie associée à un proxy d'API, vérifie que la clé API est dans un état approuvé pour la ressource demandée.

Le framework d'autorisation OAuth 2.0 permet à une application tierce d'obtenir un accès limité à un service HTTP, soit pour le compte d'un propriétaire de ressource en orchestrant une interaction d'approbation entre le propriétaire de la ressource et le service HTTP, soit en son nom propre en autorisant l'application tierce à obtenir l'accès.

Les jetons Web JSON, ou JWT, servent couramment à partager des revendications ou des assertions entre des applications connectées. Apigee est compatible avec JWT au moyen de trois stratégies.

Event Threat Detection

Cas d'utilisation :

  • Détection de la force brute
  • Détection des abus IAM

Event Threat Detection surveille votre flux Cloud Logging et applique une logique de détection et un renseignement sur les menaces propriétaire à un niveau précis. Lorsque Event Threat Detection détecte une menace, il écrit un résultat dans Security Command Center et dans Cloud Logging dans le projet de votre choix. Les types d'événements suivants sont utiles pour identifier l'authentification défectueuse :

  • Attaques par force brute SSH. Détectez les forces brutes réussies de SSH sur un hôte.
  • Octroi anormal. Détecter les privilèges accordés aux utilisateurs d'Identity and Access Management (IAM) en dehors de l'organisation Google Cloud.

Google Cloud Armor

Cas d'utilisation :

  • Limiter l'accès aux points de terminaison d'authentification
  • Restreindre l'utilisation non autorisée des jetons

Les attaques contre les failles classées sous le risque d'authentification défaillant sont les mieux minimisées au niveau de l'application ou par d'autres contrôles. Toutefois, Google Cloud Armor peut contribuer à limiter la surface d'attaque ou à bloquer les vecteurs d'attaque connus.

Par exemple, si votre application dispose d'une base d'utilisateurs limitée et que ces utilisateurs proviennent d'un ensemble d'adresses IP ou de pays connus, vous pouvez créer une règle de sécurité qui limite l'accès à votre application aux utilisateurs de ces blocs d'adresses IP ou pays. Cette règle permet d'éviter l'analyse automatisée des points de terminaison situés en dehors de ces zones.

Si d'autres mécanismes de sécurité détectent que des mots de passe, des clés ou des jetons de session ont été compromis, vous pouvez bloquer l'accès pour les requêtes contenant ces paramètres dans une chaîne de requête en utilisant une règle personnalisée. Vous pouvez mettre à jour des règles que vous avez définies précédemment à l'aide de la méthode securityPolicy.patchRule. Vous pouvez peut-être identifier les jetons volés potentiels en utilisant des mécanismes de détection d'anomalies sur les journaux d'équilibrage de charge HTTP. Vous pouvez également détecter les adversaires potentiels en analysant les mots de passe courants dans ces journaux.

Vous pouvez bloquer les attaques courantes de réparation de session à l'aide de l'ensemble de règles ModSecurity préconfiguré pour la réparation des sessions. Vous pouvez utiliser l'ensemble de règles en ajoutant la règle evaluatePreconfiguredExpr('sessionfixation-stable') prédéfinie à votre stratégie de sécurité.

Si votre application inclut des changements de mot de passe dans la chaîne de requête, vous pouvez également bloquer l'utilisation des mots de passe courants à l'aide d'une règle personnalisée correspondant à l'attribut request.query. Toutefois, de telles vérifications sont beaucoup plus efficaces côté application si possible.

Identity-Aware Proxy (IAP)

Cas d'utilisation :

  • Contrôle des accès centralisé
  • Compatible avec le cloud et sur site
  • Protéger les connexions HTTP et TCP
  • Accès contextuel

IAP s'intègre à l'équilibrage de charge HTTP(S) afin de vous permettre d'utiliser l'identité et le contexte pour former un mur sécurisé d'authentification et d'autorisation autour de votre application. Empêchez les erreurs d'authentification auprès de votre application publique en provisionnant des utilisateurs externes dans Identity Platform (voir la section suivante pour en savoir plus).

Vous pouvez également empêcher l'authentification défaillante aux interfaces administratives en les protégeant avec Identity-Aware Proxy et en authentifiant les utilisateurs provisionnés avec Identity and Access Management ou Cloud Identity. Toute tentative d'accès à l'outil entraîne une tentative d'authentification enregistrée, suivie d'une vérification d'autorisation, pour s'assurer que l'utilisateur authentifié est autorisé à accéder à la ressource demandée.

Identity Platform

Cas d'utilisation :

  • Authentification en tant que service
  • Authentification multifacteur
  • Contrat de niveau de service pour les entreprises
  • Compatibilité avec de nombreux protocoles
  • Informations sur la protection des comptes Google

Identity Platform est la plate-forme de gestion de l'authentification et des accès (CIAM) pour les clients Google Cloud. Identity Platform permet de sécuriser l'authentification en tant que service grâce à la compatibilité multiprotocole avec les API et les SDK. Elle offre une authentification multifacteur, une intégration à des services d'authentification tiers et un suivi d'activité contrôlable.

reCAPTCHA Enterprise

Cas d'utilisation :

  • Tentatives de connexion automatique
  • Détournement de contenu
  • Remplissage des identifiants
  • Transactions frauduleuses
  • Piratages de compte
  • Faux comptes
  • Blanchiment d'argent

reCAPTCHA Enterprise fournit un filtrage hautement efficace contre les bots et autres formes d'automatisation et de trafic groupé en évaluant le niveau de risque des tentatives d'accès. Vous pouvez ajuster le modèle spécifique à votre site à l'aide de commentaires automatisés. reCAPTCHA adapte les futurs scores à votre site.

Security Health Analytics

Cas d'utilisation :

  • Application de MFA/2FA
  • Protection des clés API
  • Application de la rotation des clés API

Security Command Center empêche l'authentification défaillante en surveillant la conformité avec l'authentification multifacteur et l'état de vos clés API. Vous pouvez identifier les requêtes suspectes et les bloquer ou les signaler pour un traitement spécial.

Clés de sécurité Titan

Cas d'utilisation :

  • Authentification à deux facteurs antihameçonnage
  • Authentification pour mobile et PC

Les clés de sécurité Titan utilisent la cryptographie à clé publique pour vérifier l'identité d'un utilisateur ainsi que l'URL de la page de connexion, afin d'empêcher les pirates informatiques d'accéder à votre compte, même si vous fournissez malencontreusement votre nom d'utilisateur et votre mot de passe.

Web Security Scanner

Cas d'utilisation :

  • Fuites d'identifiants de session

Web Security Scanner recherche des failles dans vos applications Web, telles que des fuites d'ID de session, qui permettent à d'autres parties d'emprunter l'identité d'un utilisateur ou d'identifier celui-ci de manière unique.

A08 : Manque d'intégrité des données et du logiciel

Des manques d'intégrité des données et du logiciel peuvent se produire lorsque des vérifications d'intégrité ne se produisent pas lors des mises à jour logicielles, du traitement des données confidentielles ou de tout processus dans le pipeline CI/CD.

Artifact Registry

Cas d'utilisation :

  • Centraliser les artefacts dans un emplacement unique et fiable.
  • Utiliser la gestion des versions, l'analyse des failles et les workflows d'approbation

Artifact Registry est un dépôt unique permettant à votre organisation de gérer les images de conteneurs et les packages de langages tels que Maven et npm. Il peut s'intégrer à vos outils de développement existants et permet d'analyser les failles de vos conteneurs à l'aide d'Artifact Analysis.

Binary Authorization

Cas d'utilisation :

  • S'assurer que seuls les conteneurs fiables sont déployés

L'autorisation binaire vérifie l'intégrité des conteneurs afin que seules les images de conteneurs fiables soient déployées. Vous pouvez créer des règles pour autoriser ou refuser le déploiement en fonction de la présence ou de l'absence d'attestations. L'autorisation binaire applique des stratégies au niveau d'un cluster afin que vous puissiez configurer différentes stratégies pour différents environnements. Cette distinction permet d'appliquer des exigences d'attestation progressive à mesure que les environnements se rapprochent de la production.

Inventaire des éléments cloud

Cas d'utilisation :

  • Service de recherche

  • Analyseur d'accès

L'un des vecteurs les plus courants d'exposition des données est l'infrastructure informatique orpheline ou non autorisée. Vous pouvez identifier les serveurs que personne ne gère et les buckets ayant des règles de partage trop étendues en analysant les données de séries temporelles des éléments cloud.

Configurez des notifications en temps réel pour vous avertir d'un provisionnement inattendu de ressources qui peuvent être mal sécurisées ou non autorisées.

Cloud Build

Cas d'utilisation :

  • Examiner les modifications apportées au code

  • Exécuter des tests

  • Standardiser les déploiements de compilation

Cloud Build vous permet de créer une configuration de compilation afin de fournir des instructions sur votre déploiement de compilation, y compris l'exécution d'analyses statiques, de tests d'intégration, etc.

Google Cloud Armor

Cas d'utilisation :

  • Bloquer l'exécution de code à distance

Étant donné que la plupart des attaques contre l'intégrité des logiciels et des données sont spécifiques à l'application, il n'existe que quelques moyens d'atténuer ces attaques, par exemple en utilisant un pare-feu d'application Web (WAF) comme Google Cloud Armor. L'OWASP recommande de ne pas accepter les objets sérialisés provenant de sources non approuvées. Si possible, vous pouvez limiter les points de terminaison qui acceptent ces objets à un ensemble d'adresses IP de confiance à l'aide d'une règle de refus semblable à la suivante :

request.path.contains("/endpoint") && !(inIpRange(origin.ip,
'1.2.3.4/32')

Remplacez l'élément suivant :

  • /endpoint : chemin d'accès du point de terminaison qui accepte les objets sérialisés
  • 1.2.3.4/32 : plage d'adresses IP qui doit conserver l'accès à l'interface.

Afin de limiter les attaques courantes contre l'intégrité des logiciels et des données utilisant l'exécution de code à distance (RCE), utilisez la règle prédéfinie de protection contre les attaques RCE. Vous pouvez utiliser la règle evaluatePreconfiguredExpr('rce-stable') pour bloquer les attaques RCE courantes contre les interfaces système UNIX et Windows.

Les attaques RCE décrites dans les challenges Juice Shop pour les désérialisations non sécurisées exécutent des fonctions et des expressions régulières dans Node.js sur le serveur. Ces types d'attaques ne sont pas bloqués par l'ensemble de règles RCE prédéfini et la règle de ModSecurity OWASP correspondante, et doivent être atténués en utilisant des correctifs côté serveur ou des règles personnalisées.

VirusTotal

Cas d'utilisation :

  • Analyse des données non approuvées

L'API VirusTotal vous permet d'importer et de rechercher des logiciels malveillants dans vos fichiers. Vous pouvez analyser des images, des documents, des binaires et d'autres données non approuvées avant leur traitement afin d'éliminer certaines catégories d'entrées malveillantes.

Web Security Scanner

Cas d'utilisation :

  • Désérialisation non sécurisée

Web Security Scanner analyse vos applications Web et recherche les failles. Par exemple, si vous utilisez une version Apache Struts qui rend votre application vulnérable aux attaques par injection de commande à distance, Web Security Scanner génère un résultat STRUTS_INSECURE_DESERIALIZATION.

A09 : Carence des systèmes de journalisation et de surveillance

Si vous ne consignez, ne surveillez ou ne gérez pas correctement les incidents dans vos systèmes, les pirates informatiques peuvent effectuer des attaques plus approfondies et plus longues sur les données et les logiciels.

Access Transparency

Cas d'utilisation :

  • Surveillance et audit des accès du fournisseur de services
  • Motifs invoqués pour justifier l'accès
  • Identification des ressources et méthodes

L'incapacité à auditer les accès du fournisseur cloud peut être un frein à la migration depuis une infrastructure sur site vers le cloud. Avec Access Transparency, cette vérification est possible, et vous disposez de contrôles d'audit semblables à ceux traditionnellement disponibles sur site. Vous pouvez enregistrer le motif de chaque accès, y compris les références aux demandes d'assistance. Noms de ressource et d'identification de méthode : quelles ressources sont accessibles et quelles méthodes ont été exécutées par quel administrateur. La fonctionnalité Access Approval vous permet d'accepter ou de refuser les demandes d'accès émanant d'employés de Google chargés de vous fournir une assistance.

Apigee

Cas d'utilisation :

  • Exporter les journaux Apigee vers SIEM
  • Utiliser l'interface utilisateur de surveillance Apigee
  • Appliquer les bonnes pratiques de surveillance

Apigee propose plusieurs méthodes pour effectuer la journalisation, la surveillance, la gestion des erreurs et la journalisation d'audit :

  • Consignation
    • Les messages de journal peuvent être envoyés à Splunk ou à d'autres points de terminaison syslog à l'aide de la stratégie MessageLogging.
    • Les données d'analyse des API peuvent être extraites par le biais de l'API d'analyse et importées ou exportées dans d'autres systèmes.
    • Dans Edge pour Private Cloud, vous pouvez utiliser la stratégie MessageLogging pour écrire dans des fichiers journaux locaux. Les fichiers journaux de chacun des composants en cours d'exécution sont également disponibles.
    • La stratégie JavaScript peut être utilisée pour envoyer des messages de journal à un point de terminaison de journalisation REST de manière synchrone ou asynchrone.
  • Surveillance
    • Utilisez l'interface utilisateur de l'API Monitoring ou l'API pour surveiller régulièrement les API et les backends, et déclencher des alertes.
    • Utilisez la surveillance de l'état pour surveiller régulièrement les backends du serveur cible.
    • Apigee fournit des recommandations pour surveiller Edge pour Private Cloud.
    • Apigee fournit également des bonnes pratiques que votre équipe peut exploiter pour surveiller votre programme d'API.
  • Traiter les erreurs
    • Apigee propose un mécanisme de gestion des pannes puissant et polyvalent pour les proxys d'API. De la même manière qu'un programme Java intercepterait les exceptions, les proxys d'API pourraient détecter les défaillances et déterminer comment renvoyer les réponses appropriées aux clients.
    • La gestion personnalisée des erreurs par Apigee vous permet d'ajouter des fonctionnalités telles que la journalisation des messages chaque fois qu'une erreur se produit.
  • Journaux d'audit
    • La plate-forme Apigee conserve un journal d'audit qui suit les modifications apportées aux proxys d'API, aux produits et à l'historique de l'organisation.
    • Ce journal est disponible via l'interface utilisateur ou via l'API Management.

Chronicle

Cas d'utilisation :

  • Détection des menaces
  • Avertissement préalable

Les équipes de sécurité peuvent envoyer leur télémétrie de sécurité à Chronicle afin que vous puissiez appliquer des règles de détection performantes à un ensemble unifié de données.

Protection des données sensibles

Cas d'utilisation :

  • Masquage automatique des données sensibles

Identifiez les informations sensibles dans la conformité dans vos flux de journaux et masquez-les avant de les archiver dans les journaux. Par exemple, un message d'erreur ou un vidage de mémoire peut contenir des informations sensibles telles que des numéros de carte de crédit ou des informations personnelles devant être masquées.

Cloud Key Management Service

Cas d'utilisation :

  • Journalisation des événements de requête de clé cryptographique
  • Motifs invoqués pour justifier l'accès

Key Access Justifications vous donne une visibilité historique sur chaque demande d'accès à une clé de chiffrement en consignant la justification déclarée et un enregistrement de l'approbation ou du refus de cette demande.

Cloud Logging

Cas d'utilisation :

  • Agrégation de journaux
  • Stockage des journaux
  • Recherche dans le journal
  • Analyse de journal

Cloud Logging vous permet de stocker, d'interroger, d'analyser et de surveiller les données et les événements de journalisation de Google Cloud et Amazon Web Services, et de déclencher des alertes le cas échéant. Il inclut l'accès au service BindPlane, qui vous permet de collecter des données de journalisation à partir de plus de 150 composants d'application, systèmes sur site et systèmes cloud hybrides ourants.

Cloud Monitoring

Cas d'utilisation :

  • Surveillance des journaux
  • Alertes d'événement

Cloud Monitoring vous offre une réelle visibilité sur les performances, le temps d'activité et l'état général de vos applications cloud. Fournit un tableau de bord de surveillance, des moniteurs d'événement et des alertes via plusieurs canaux.

Cloud Source Repositories

Cas d'utilisation :

  • Attribution des modifications de code
  • Accéder aux journaux d'audit

Obtenez des informations sur les actions effectuées sur votre dépôt, y compris où et quand, grâce aux journaux d'audit Cloud générés par Cloud Source Repositories.

Error Reporting

Cas d'utilisation :

  • Capturer les erreurs internes de l'application dans Cloud Logging
  • Collecter les rapports d'erreur en dehors de l'instance de calcul ayant planté

Les erreurs internes à l'application peuvent être un indicateur d'un problème de sécurité, d'une fonctionnalité défectueuse ou des tentatives de contournement de la sécurité. Error Reporting compte, analyse et regroupe les plantages survenant dans vos services cloud en cours d'exécution. Les résultats, que vous pouvez trier et filtrer, s'affichent dans une interface de gestion des erreurs centralisée. Une vue dédiée présente les détails des erreurs : par exemple, graphique chronologique, occurrences, nombre d'utilisateurs concernés, dates de la première et de la dernière occurrences, et trace de la pile d'exception nettoyée. Vous avez également la possibilité d'activer l'envoi d'e-mails et d'alertes sur mobile en cas de nouvelles erreurs.

Event Threat Detection

Cas d'utilisation :

  • Force brute
  • Minage de cryptomonnaie
  • Abus IAM
  • Logiciels malveillants
  • Hameçonnage

Event Threat Detection surveille votre flux Cloud Logging et applique une logique de détection et un renseignement sur les menaces propriétaire à un niveau précis. Event Threat Detection identifie les entrées importantes dans vos journaux et les transmet pour examen. Lorsque Event Threat Detection détecte une menace, il écrit un résultat dans Security Command Center et dans un projet Cloud Logging.

Forseti Inventory

Cas d'utilisation :

  • Surveillance de l'inventaire et alertes

Forseti Inventory enregistre un instantané de vos ressources Google Cloud dans une base de données pour que vous disposiez d'un enregistrement historique de vos ressources. Grâce à ces informations, vous pouvez comprendre toutes les ressources dont vous disposez dans Google Cloud et prendre les mesures nécessaires pour préserver les ressources, réduire les coûts et minimiser l'exposition à la sécurité. L'inventaire peut être configuré pour s'exécuter aussi souvent que vous le souhaitez et envoyer des notifications par e-mail lorsqu'il met à jour votre instantané de ressource.

Google Cloud Armor

Cas d'utilisation :

  • Journalisation des stratégies de sécurité
  • Tableaux de bord de surveillance
  • Créer des alertes sur les anomalies au niveau du trafic

Les journaux de requêtes Google Cloud Armor font partie de Cloud Logging pour les équilibreurs de charge d'application externes. Pour accéder aux informations de journalisation (telles que la règle de stratégie de sécurité qui correspond au trafic), activez la journalisation sur tous les services de backend auxquels des règles de sécurité sont associées. Utilisez des règles en mode bêta pour les tester et consigner les résultats sans appliquer les effets.

Google Cloud Armor propose également des tableaux de bord de surveillance pour les stratégies de sécurité. Ils vous permettent d'obtenir un aperçu de la quantité de trafic qui a été rejeté ou refusé par l'une de vos stratégies de sécurité. Google Cloud Armor publie des résultats sur les anomalies liées au trafic, tels que des pics de trafic autorisé ou une augmentation du trafic refusée, dans Security Command Center.

Google Cloud Armor écrit automatiquement des journaux d'audit pour les activités d'administration, qui enregistrent les opérations modifiant la configuration ou les métadonnées d'une ressource. Ce service peut également être configuré pour écrire des journaux d'audit d'accès aux données, qui contiennent des appels d'API qui lisent la configuration ou les métadonnées des ressources, et des appels d'API pilotés par l'utilisateur qui créent, modifient ou lisent des données de ressources fournies par l'utilisateur.

Identity Platform

Cas d'utilisation :

  • Journaux d'audit pour les activités d'administration
  • Journaux d'audit pour l'accès aux données
  • Journaux d'audit d'événements système
  • Journaux d'audit des refus de règles
  • Journaux d'activité d'authentification

Identity Platform est la plate-forme de gestion de l'authentification et des accès destinée aux utilisateurs de Google Cloud qui enregistre les activités d'authentification par défaut.

Activez plusieurs journaux d'audit puissants, incluant entre autres les activités d'administration, l'accès aux données, les événements système et les tentatives d'authentification refusées.

Security Command Center

Cas d'utilisation :

  • Surveillance des alertes
  • Gestion des menaces
  • Rapports d'analyse des failles
  • Contrôle de conformité
  • Surveillance des éléments
  • Résultats de l'analyse de sécurité

Affichez le nombre total de résultats dans votre organisation par niveau de gravité dans le panneau de présentation. Utilisez le tableau de bord des menaces pour examiner les événements potentiellement dangereux concernant les ressources Google Cloud de votre organisation. Consultez les résultats et les recommandations de Security Health Analytics dans l'onglet Failles.

Avec le tableau de bord de conformité, vous pouvez surveiller en permanence la conformité avec les contrôles de la norme PCI-DSS, du benchmark CIS de Google Cloud Computing Foundations et plus encore. L'onglet Éléments fournit un affichage détaillé de toutes les ressources Google Cloud, appelées éléments, de votre organisation. L'onglet Éléments vous permet d'afficher les éléments de l'ensemble de votre organisation ou de filtrer les éléments par projet, par type d'élément ou par type de modification. Enfin, l'onglet des résultats affiche l'inventaire détaillé des résultats pour tous les éléments de votre organisation afin que vous puissiez afficher les risques de sécurité potentiels.

A10 : falsification de requête côté serveur (SSRF)

Une attaque SSRF se produit lorsqu'un pirate informatique force un serveur vulnérable à déclencher des requêtes malveillantes indésirables vers des serveurs tiers ou des ressources internes. Des failles SSRF peuvent se produire lorsqu'une application Web récupère une ressource distante sans valider l'URL fournie par l'utilisateur.

Apigee

Cas d'utilisation :

  • Bloquer les attaques SSRF à l'aide de l'inclusion LFI ou RFI

Apigee dispose d'analyseurs XML et JSON intégrés qui utilisent XPath ou JSONPath pour extraire les données. Il dispose d'une règle XMLThreatProtection pour protéger contre les charges utiles XML malveillantes et d'une règle JSONThreatProtection pour aider à protéger contre les charges utiles JSON malveillantes.

La règle ExtractVariables d'Apigee vous permet d'extraire le contenu d'une requête ou d'une réponse et de l'attribuer à une variable. Vous pouvez extraire n'importe quelle partie du message, y compris les en-têtes, les chemins d'URI, les charges utiles JSON et XML, les paramètres de formulaire et les paramètres de requête. La règle fonctionne en appliquant un modèle textuel au contenu du message et, lorsqu'elle trouve une correspondance, définit une variable avec le contenu du message spécifié.

Google Cloud Armor

Cas d'utilisation :

  • Filtrer les attaques SSRF à l'aide de l'inclusion LFI ou RFI

Les attaques SSRF pouvant être complexes et se présenter sous différentes formes, les possibilités d'atténuation des risques liés aux pare-feu d'application Web sont limitées. Il est préférable de réduire les attaques en corrigeant les analyseurs XML ou JSON, en interdisant au minimum les entités externes et en limitant au minimum les transferts de données XML ou JSON sur les serveurs Web publics. Toutefois, en fonction de l'application et du type d'attaque, Google Cloud Armor peut encore aider à vous protéger contre l'exfiltration de données et d'autres conséquences.

Bien qu'aucune règle de l'ensemble de règles de base ModeSecurity OWASP ne protège spécifiquement contre les attaques SSRF, les règles LFI (Local File Inclusion) et RFI (Remote File Inclusion) peuvent vous aider à lutter contre certaines de ces attaques. Pour empêcher un pirate informatique de récupérer des fichiers locaux sur le serveur, utilisez la règle evaluatePreconfiguredExpr('lfi-stable') dans une stratégie de sécurité Google Cloud Armor.

Le challenge SSRF Juice Shop utilise les ensembles de règles d'inclusion de fichiers distants (RFI) ou locaux (LFI) préconfigurés pour aider à atténuer certaines de ces attaques, car elles bloquent l'inclusion d'URL ou le balayage de chemin d'accès. Par exemple, la règle suivante active les deux ensembles de règles :

evaluatePreconfiguredExpr('lfi-stable') ||
evaluatePreconfiguredExpr('rfi-stable')

Lorsqu'une telle règle est mise en œuvre, la solution de challenge SSRF cesse également de fonctionner.

VPC Service Controls

Cas d'utilisation :

  • Mise en réseau de périmètres pour segmenter les serveurs

Pour réduire l'impact des attaques SSRF, vous pouvez utiliser VPC Service Controls pour créer des périmètres qui segmentent les serveurs d'autres ressources de votre organisation. Ces périmètres offrent une protection contre l'exfiltration de données. Lorsqu'elles sont exécutées en mode forcé, les requêtes API adressées aux services restreints ne franchissent pas la limite du périmètre, sauf si les conditions des règles d'entrée et de sortie requises par le périmètre sont remplies.

Pare-feu de cloud privé virtuel (VPC)

Cas d'utilisation :

  • Appliquer des règles de pare-feu "refus par défaut" ou des règles de contrôle des accès réseau pour bloquer tout le trafic intranet à l'exception du trafic essentiel.

Les pare-feu VPC s'appliquent au trafic entrant et sortant de vos projets et de votre réseau VPC. Vous pouvez créer des règles de pare-feu qui bloquent tout le trafic, à l'exception du trafic que vous souhaitez autoriser. Pour en savoir plus, consultez la page Présentation des règles de pare-feu VPC.

Web Security Scanner

Cas d'utilisation :

  • Surveillance des applications Web

Web Security Scanner analyse vos applications Web et recherche les failles. Par exemple, si votre application est vulnérable à la falsification de requête côté serveur, Web Security Scanner génère un résultat SERVER_SIDE_REQUEST_FORGERY.

Étape suivante