Bonnes pratiques pour se protéger contre les attaques de minage de cryptomonnaie

Last reviewed 2023-10-20 UTC

Le minage de cryptomonnaie (également appelé minage de bitcoin) est le processus permettant de créer des cryptomonnaies et de vérifier les transactions. Les attaques par minage de cryptomonnaie se produisent lorsque des pirates informatiques accédant à votre environnement peuvent également exploiter vos ressources pour exécuter leurs propres opérations de minage à vos frais.

Selon le rapport Threat Horizons de Novembre 2021, les attaques par minage de cryptomonnaie sont la manière la plus courante par laquelle les pirates informatiques exploitent vos ressources informatiques après avoir compromis votre environnement Google Cloud. Le rapport indique également que les pirates informatiques téléchargent généralement un logiciel de minage de cryptomonnaie sur vos ressources dans les 22 secondes suivant la compromission de votre système. Le minage de cryptomonnaie peut augmenter rapidement les coûts, et une attaque par minage de cryptomonnaie peut générer une facture beaucoup plus importante que prévu. Comme les coûts peuvent augmenter rapidement, vous devez mettre en place des mesures de protection, de détection et d'atténuation des risques pour protéger votre organisation.

Ce document est destiné aux architectes et aux administrateurs de sécurité. Il décrit les bonnes pratiques à suivre pour protéger vos ressources Google Cloud contre les attaques de minage de cryptomonnaie et pour en atténuer l'impact, le cas échéant.

Identifier vos vecteurs de menaces

Pour déterminer l'exposition de votre organisation aux attaques de minage de cryptomonnaie, vous devez identifier les vecteurs de menaces qui s'appliquent à votre organisation.

Le rapport Threat Horizons de Novembre 2021 indique que la plupart des pirates informatiques exploitent des failles, telles que les suivantes :

  • Mots de passe peu sécurisés ou absence de mot de passe pour les comptes utilisateur
  • Authentification faible ou absence d'authentification pour les API Google Cloud
  • Failles liées aux logiciels tiers
  • Erreurs de configuration dans votre environnement Google Cloud ou dans des applications tierces que vous exécutez sur Google Cloud
  • Identifiants piratés, tels que les clés de compte de service publiées dans des dépôts GitHub publics

De plus, vous pouvez vous abonner aux documents suivants et les passer en revue pour obtenir une liste des vecteurs de menaces :

Une fois que vous avez identifié les vecteurs de menaces qui s'appliquent à vous, vous pouvez utiliser les bonnes pratiques restantes du présent document pour vous en prémunir.

Protéger les comptes et les identifiants

Les pirates informatiques peuvent exploiter des comptes non protégés ou mal gérés pour accéder à vos ressources Compute Engine. Google Cloud comprend différentes options que vous pouvez configurer pour gérer des comptes et des groupes.

Restreindre l'accès à votre environnement cloud

Le tableau suivant décrit les règles d'administration que vous pouvez utiliser pour déterminer qui peut accéder à votre environnement cloud.

Contrainte liée aux règles d'administration Description
Limiter le partage de domaine Spécifiez les numéros client valides pour Cloud Identity ou Google Workspace.
Comptes AWS autorisés pouvant être configurés pour la fédération d'identité de charge de travail dans Cloud IAM Dans un environnement cloud hybride, définissez quels comptes AWS peuvent utiliser la fédération d'identification de charge de travail.
Fournisseurs d'identité externes autorisés pour les charges de travail Dans un environnement cloud hybride, définissez les fournisseurs d'identité que vos charges de travail peuvent utiliser.

Configurer l'authentification multifacteur ou l'authentification à deux facteurs

Cloud Identity est compatible avec l'authentification multifacteur (MFA) via diverses méthodes. Configurez l'authentification multifacteur, en particulier pour vos comptes disposant d'accès privilégiés. Pour plus d'informations, consultez la section Appliquer la MFA de manière uniforme aux ressources de l'entreprise.

Pour éviter les attaques d'hameçonnage pouvant entraîner des attaques de minage de cryptomonnaie, utilisez les clés de sécurité Titan pour l'authentification à deux facteurs (2FA).

Configurer le moindre privilège

Le principe du moindre privilège garantit que les utilisateurs et les services disposent uniquement de l'accès dont ils ont besoin pour effectuer leurs tâches spécifiques. Le principe du moindre privilège ralentit la capacité des attaques à se propager dans l'ensemble de l'organisation, car un pirate informatique ne peut pas facilement augmenter ses privilèges.

Pour répondre aux besoins de votre organisation, utilisez des stratégies, des rôles et des autorisations précis dans Identity and Access Management (IAM). En outre, analysez régulièrement vos autorisations à l'aide de l'outil de recommandation de rôle et de Policy Analyzer. L'outil de recommandation de rôle utilise le machine learning afin d'analyser vos paramètres et fournir des recommandations pour vous assurer que vos paramètres de rôle respectent le principe du moindre privilège. Policy Analyzer vous permet d'identifier les comptes qui ont accès à vos ressources cloud.

Surveiller les comptes

Si vous utilisez des groupes pour attribuer des stratégies IAM, surveillez les journaux de groupe pour vous assurer qu'aucun compte n'appartenant pas à l'entreprise ne soit ajouté. En outre, limitez les identités (basées sur les domaines Cloud Identity ou Google Workspace) qui peuvent accéder à vos ressources. Pour en savoir plus, consultez la page Restreindre les identités par domaine.

Assurez-vous que vos procédures de départ incluent des processus permettant de désactiver les comptes et de réinitialiser les autorisations lorsque les employés quittent votre entreprise ou changent de rôle. Pour en savoir plus, consultez la page Révoquer l'accès à Google Cloud.

Pour auditer vos utilisateurs et vos groupes, consultez la page Journaux d'audit pour Google Workspace.

Réduire l'exposition à Internet de vos ressources Compute Engine et GKE

Réduire l'exposition à Internet signifie que les attaquants ont moins d'opportunités de détecter et d'exploiter les failles. Cette section décrit les bonnes pratiques qui permettent de protéger vos VM Compute Engine et vos clusters Google Kubernetes Engine (GKE) contre l'exposition à Internet.

Limiter le trafic externe

N'attribuez pas d'adresses IP externes à vos VM. Vous pouvez utiliser la contrainte de règle d'administration de désactivation de l'utilisation du protocole IPv6 externe VPC pour refuser les adresses IP externes à toutes les VM. Pour savoir quelles VM ont des adresses IP accessibles au public, consultez la section Rechercher des adresses IP pour une instance. Si votre architecture nécessite des adresses IP externes pour vos VM, utilisez la règle d'administration Définir les adresses IP externes autorisées pour les instances de VM, qui vous permet de définir une liste des noms d'instances autorisés à posséder des adresses IP externes.

Limitez les nœuds GKE aux adresses IP internes. Pour en savoir plus, consultez la page Créer un cluster d'utilisateur.

Limitez le trafic entrant (entrée) et sortant (sortie) vers Internet pour toutes les ressources de vos projets. Pour en savoir plus, consultez les pages Règles de pare-feu VPC et Stratégies de pare-feu hiérarchiques.

Pour en savoir plus sur la restriction du trafic externe, telle que la configuration de Cloud NAT pour autoriser les communications sortantes pour les VM sans adresse IP externe ou l'utilisation d'un équilibreur de charge proxy pour les communications entrantes, consultez la pageSe connecter en toute sécurité aux instances de VM.

Utiliser des périmètres de service

Créez un périmètre de service pour vos ressources Compute Engine et GKE à l'aide de VPC Service Controls. VPC Service Controls vous permet de contrôler les communications vers vos ressources Compute Engine depuis l'extérieur du périmètre. Les périmètres de service permettent une communication libre au sein du périmètre, l'exfiltration de données de bloc et la communication avec des services de bloc depuis l'extérieur du périmètre. Utilisez des attributs d'accès contextuel tels que les adresses IP et les identités des utilisateurs pour mieux contrôler l'accès aux services Google Cloud depuis Internet.

Configurer la sécurité "zéro confiance"

Configurer la sécurité "zéro confiance" avec BeyondCorp Enterprise. BeyondCorp Enterprise fournit une prévention des menaces et une protection des données, ainsi que des contrôles d'accès. Si vos charges de travail sont situées à la fois sur site et dans Google Cloud, configurez Identity-Aware Proxy (IAP). Configurez le transfert TCP pour contrôler l'accès aux services administratifs tels que SSH et RDP sur vos ressources Google Cloud à partir du réseau Internet public. Le transfert TCP empêche ces services d'être ouvertement exposés à Internet.

Sécuriser vos ressources Compute Engine et GKE

Le minage de cryptomonnaie nécessite un accès à vos ressources Compute Engine et GKE. Cette section décrit les bonnes pratiques qui vous aideront à sécuriser vos ressources Compute Engine et GKE.

Sécuriser vos images de VM

Utilisez des images de VM renforcées et sélectionnées en configurant une VM protégée. Les VM protégées sont conçues pour empêcher le chargement de code malveillant tel que des logiciels malveillants au niveau du noyau ou des rootkits pendant le cycle de démarrage. Les VM protégées offrent une sécurité au démarrage, surveillent l'intégrité et utilisent le module vTPM (Virtual Trusted Platform Module).

Pour limiter les images pouvant être déployées, vous pouvez mettre en œuvre des règles relatives aux images de confiance. La règle d'administration Définir les projets relatifs aux images de confiance indique les projets qui peuvent stocker des images et des disques persistants. Assurez-vous que seules des images de confiance et correctement entretenues se trouvent dans ces projets.

Dans GKE, assurez-vous que vos conteneurs utilisent des images de base, qui sont régulièrement mises à jour avec les correctifs de sécurité pertinents. Pensez également aux images de conteneur distroless, qui n'incluent que votre application et ses dépendances d'exécution.

Accès SSH sécurisé aux VM

Configurez OS Login pour gérer l'accès SSH aux VM exécutées dans Compute Engine. OS Login simplifie la gestion des accès SSH en associant le compte utilisateur Linux de votre administrateur à son identité Google. OS Login fonctionne avec IAM afin que vous puissiez définir les privilèges des administrateurs.

Pour plus d'informations, consultez la page Protéger les VM et les conteneurs.

Limiter les comptes de service

Un compte de service est un compte Google Cloud qui permet aux charges de travail d'appeler l'API Google d'un service.

N'autorisez pas Google Cloud à attribuer des rôles de compte de service par défaut aux ressources lors de leur création. Pour en savoir plus, consultez la page Restreindre l'utilisation des comptes de service.

Si vos applications s'exécutent en dehors de Google Cloud, mais nécessitent un accès aux ressources Google Cloud, n'utilisez pas de clés de compte de service. Mettez en œuvre la fédération d'identité de charge de travail pour gérer les identités externes et les autorisations que vous leur associez. Pour GKE, vous pouvez mettre en œuvre les identités de charge de travail. Pour en savoir plus, consultez la section Choisir la méthode d'authentification adaptée à votre cas d'utilisation.

Pour en savoir plus sur les bonnes pratiques relatives à la sécurisation des comptes de service, consultez la section Bonnes pratiques d'utilisation des comptes de service.

Surveiller l'utilisation des comptes de service et des clés de compte de service

Configurez la surveillance afin de pouvoir suivre la manière dont les comptes de service et les clés de compte de service sont utilisés dans votre organisation. Pour obtenir une visibilité sur les tendances d'utilisation notables, utilisez les insights sur les comptes de service. Par exemple, vous pouvez utiliser les insights sur les comptes de service pour suivre l'utilisation des autorisations dans vos projets et identifier les comptes de service inutilisés. Pour savoir quand vos clés et vos comptes de service ont été utilisés pour la dernière fois pour appeler une API Google pour des activités d'authentification, affichez l'utilisation récente des comptes de service et des clés de compte de service.

Surveiller et appliquer les correctifs aux VM et conteneurs

Pour lancer une attaque de minage de cryptomonnaie, les pirates informatiques exploitent souvent les erreurs de configuration et les failles logicielles pour accéder aux ressources Compute Engine et GKE.

Pour obtenir des informations sur les failles et les erreurs de configuration applicables à votre environnement, utilisez l'analyse de l'état de la sécurité pour analyser vos ressources. En particulier, si vous utilisez Security Command Center Premium, examinez les résultats d'instances Compute Engine et les résultats de conteneurs puis configurez des processus pour les résoudre rapidement.

Utilisez Artifact Analysis pour rechercher les failles des images de conteneurs que vous stockez dans Artifact Registry ou Container Registry.

Assurez-vous que votre organisation peut déployer les correctifs dès qu'ils sont disponibles. Vous pouvez utiliser OS Patch Management pour Compute Engine. Google applique automatiquement les correctifs de failles dans GKE. Pour en savoir plus, consultez la section Maintenir vos images et clusters à jour.

Protéger vos applications à l'aide d'un WAF

Les pirates informatiques peuvent tenter d'accéder à votre réseau en détectant les failles de couche 7 au sein de vos applications déployées. Pour vous protéger contre ces attaques, configurez Google Cloud Armor, un pare-feu d'application Web (WAF) qui utilise le filtrage de couche 7 et les règles de sécurité. Google Cloud Armor offre une protection contre le déni de service (DoS) et une protection WAF pour les applications et les services hébergés sur Google Cloud, sur site ou sur d'autres clouds.

Google Cloud Armor inclut une règle WAF pour vous aider à corriger les failles Apache Log4j. Les pirates informatiques peuvent utiliser les failles de Log4j pour introduire des logiciels malveillants susceptibles d'effectuer du minage de cryptomonnaie non autorisé. Pour en savoir plus, consultez la page Règle WAF de Google Cloud Armor pour corriger les failles Apache Log4j.

Sécuriser votre chaîne d'approvisionnement

L'intégration continue et la livraison continue (CI/CD) fournissent un mécanisme permettant de mettre rapidement vos dernières fonctionnalités à la disposition de vos clients. Pour éviter les attaques par minage de cryptomonnaie sur votre pipeline, effectuez une analyse de code et surveillez votre pipeline afin de détecter les attaques malveillantes.

Mettez en œuvre l'autorisation binaire pour vous assurer que toutes les images sont signées par des autorités de confiance lors du processus de développement, puis appliquez la validation de signature lorsque vous déployez les images.

Déplacez les contrôles de sécurité le plus tôt possible dans le processus CI/CD (on parle parfois de virage à gauche). Pour en savoir plus, consultez la page Shifting left on security: Securing software supply chains (Virage à gauche pour la sécurité : sécuriser les chaînes d'approvisionnement logicielles. Pour en savoir plus sur la configuration d'une chaîne d'approvisionnement sécurisée avec GKE, consultez la page Sécurité de la chaîne d'approvisionnement logicielle.

Gérer les secrets et les clés

Les secrets non sécurisés ou piratés sont un vecteur d'attaque clé pour les attaques par minage de cryptomonnaie non autorisé. Cette section décrit les bonnes pratiques que vous pouvez appliquer pour protéger vos secrets et vos clés de chiffrement.

Effectuer une rotation régulière des clés de chiffrement

Assurez-vous que toutes les clés de chiffrement sont régulièrement alternées. Si Cloud KMS gère vos clés de chiffrement, vous pouvez effectuer une rotation automatique de vos clés de chiffrement.

Si vous utilisez des comptes de service contenant des paires de clés gérées par Google, les clés sont également alternées automatiquement.

Éviter le téléchargement des secrets

Les secrets exposés sont un vecteur d'attaque clé pour les pirates informatiques. Si possible, ne téléchargez pas de clés de chiffrement ni d'autres codes secrets (cela inclut les clés de compte de service). Si vous devez télécharger des clés, assurez-vous que votre organisation dispose d'un processus de rotation des clés.

Si vous utilisez GitHub ou un autre dépôt public, vous devez éviter les fuites d'identifiants. Mettre en œuvre des outils tels que l'analyse des secrets, qui vous avertit concernant les secrets exposés dans vos dépôts GitHub. Pour empêcher le commit des clés dans vos dépôts GitHub, envisagez d'utiliser des outils tels que git-secrets.

Utilisez des solutions de gestion des secrets telles que Secret Manager et Hashicorp Vault pour stocker vos secrets, les alterner régulièrement et appliquer le principe du moindre privilège.

Détecter les activités anormales

Pour surveiller les activités anormales, configurez Google Cloud en utilisant des outils de surveillance tiers et des alertes. Par exemple, configurez des alertes en fonction de l'activité des administrateurs dans les Informations relatives aux journaux d'audit Compute Engine et dans les Journaux d'audit GKE.

Utilisez également Event Threat Detection dans Security Command Center pour identifier les menaces basées sur les activités d'administration, les modifications apportées à Google Groupes et les modifications d'autorisations IAM. Utilisez Virtual Machine Threat Detection dans Security Command Center pour identifier les menaces liées à vos VM Compute Engine. Pour en savoir plus sur les services Security Command Center, consultez la page Niveaux de service Security Command Center.

Pour vous aider à détecter les menaces réseau telles que les logiciels malveillants, configurez Cloud IDS.

Participez au programme de protection contre le minage de cryptomonnaie de Security Command Center

Si vous êtes un client Security Command Center Premium et que vous utilisez Compute Engine, vous pouvez participer au programme de protection contre le minage de cryptomonnaie de Security Command Center. Ce programme vous permet de couvrir les coûts des VM Compute Engine liés aux attaques de minage de cryptomonnaie non détectées et non autorisées dans votre environnement de VM Compute Engine. Vous devez mettre en œuvre les bonnes pratiques de détection du minage de cryptomonnaie, dont certaines chevauchent les autres bonnes pratiques décrites sur cette page.

Mettre à jour votre plan d'intervention en cas d'incident

Assurez-vous que votre plan d'intervention en cas d'incident et vos guides fournissent des conseils normatifs pour répondre aux attaques par minage de cryptomonnaie. Par exemple, assurez-vous que votre plan comprend les éléments suivants :

  • Comment déposer une demande d'assistance auprès de Cloud Customer Care et contacter votre responsable de compte technique Google. Si vous ne possédez pas de compte d'assistance, consultez les formules d'assistance disponibles et créez-en un.
  • Comment différencier les charges de travail légitimes de calcul hautes performances (HPC) des attaques par minage de cryptomonnaie. Par exemple, vous pouvez identifier les projets pour lesquels le HPC est activé et configurer des alertes pour toute augmentation imprévue des coûts.
  • Comment gérer les identifiants Google Cloud compromis
  • Comment mettre en quarantaine les systèmes infectés et effectuer des restaurations à partir de sauvegardes opérationnelles.
  • Les membres de votre organisation doivent être notifiés pour enquêter sur et répondre à l'attaque.
  • Quelles sont les informations à consigner pour vos activités rétrospectives.
  • Comment vérifier que vos activités de résolution ont correctement supprimé les activités de minage et corrigé la faille initiale qui a entraîné l'attaque.
  • Comment répondre à une alerte envoyée par Cloud Customer Care Pour plus d'informations, consultez la FAQ Non-respect des règles.

Pour en savoir plus, consultez la section Répondre et récupérer après une attaque.

Mettre en œuvre un plan de reprise après sinistre

Pour vous préparer à une attaque par minage de cryptomonnaie, assurez la continuité des activités et mettez en œuvre les plans de reprise après sinistre, créez un guide de gestion des incidents et effectuez des simulations pour vous entraîner.

En cas de minage de cryptomonnaie non autorisé, assurez-vous que vous pouvez corriger le vecteur de menaces à l'origine de la violation initiale et que vous pouvez reconstruire votre environnement à partir d'un état sain. Votre plan de reprise après sinistre doit permettre de déterminer ce qu'est un état sain, afin que le pirate informatique ne puisse pas utiliser à plusieurs reprises les mêmes failles afin d'exploiter vos ressources.

Étape suivante