Prévenir l'exfiltration de données

Une fonction essentielle de la sécurité des ordinateurs et des réseaux consiste à maintenir les données sensibles hors de portée des tiers non autorisés. Ce document explore les caractéristiques des risques d'exfiltration de données et présente les bonnes pratiques du secteur en matière de sécurisation des données. Il explique comment utiliser les outils et les fonctionnalités de Google Cloud pour atténuer les risques, détecter l'exfiltration de données et réagir aux événements d'exfiltration. Dans la mesure du possible, les menaces de sécurité et les approches en matière de défense seront décrites dans un contexte indépendant du cloud. L'évolution du cadre réglementaire, en particulier le Règlement général européen sur la protection des données (RGPD) qui devient obligatoire en 2018, a introduit une nouvelle priorité sur le déploiement de mécanismes de prévention de l'exfiltration de données.

Définir l'exfiltration de données

Dans ce document, l'exfiltration de données désigne une situation dans laquelle une personne autorisée extrait des données des systèmes sécurisés auxquels elles sont rattachées, et les partage avec des tiers non autorisés ou les transfère vers des systèmes non sécurisés. Les personnes autorisées incluent les employés, les administrateurs système et les utilisateurs de confiance. L'exfiltration de données peut être le fait de personnes malveillantes ou de pirates, ou être accidentelle.

Pour réduire le risque d'exfiltration de données, les entreprises doivent intégrer à leur culture la sensibilisation à la sécurité et les bonnes pratiques en la matière. Elles doivent systématiquement évaluer les risques de chaque interaction avec des réseaux, des appareils, des applications, des données et d'autres utilisateurs. Les entreprises peuvent également décider de mettre en place des audits réguliers pour vérifier le respect des bonnes pratiques.

Faire face aux risques d'exfiltration de données dans le cloud

De nombreuses règles traditionnelles de sécurité des données reposent sur le renforcement des défenses périmétriques physiques des réseaux privés. Néanmoins, en tant qu'utilisateur du cloud, vous ne contrôlez pas l'infrastructure réseau physique que vos services utilisent. Dans les clouds publics, la structure réseau du fournisseur d'hébergement est partagée, et le périmètre au sens traditionnel du terme n'existe pas. Pour sécuriser les données dans le cloud, il faut adopter de nouvelles approches de sécurité et de nouvelles méthodes d'audit pour l'accès aux données.

À titre de comparaison, les infrastructures cloud publiques furent parmi les premières du secteur à adopter l'utilisation de matériel standard dans les centres de données. Bien que cela puisse entraîner des défaillances matérielles plus fréquentes, les retombées de ces défaillances sont minimisées par la redondance et l'architecture de service intelligente. Dans un tel environnement, les services doivent pouvoir absorber plusieurs défaillances avec fluidité. Les architectures de service sont conçues pour gérer les défaillances matérielles et réseau, car le traitement, le stockage, l'authentification et d'autres tâches sont répartis sur plusieurs machines et zones géographiques, minimisant ainsi les conséquences de n'importe quel cas de défaillance. Pour sécuriser vos données, vous devez adopter une approche similaire : concevoir une architecture permettant de minimiser les temps d'arrêt et de limiter les effets sur le reste de votre système en cas de problème de sécurité.

Pour satisfaire les clients les plus sensibles à la sécurité, le modèle de sécurité du cloud public tient compte de ce raisonnement. Google Cloud offre la VM protégée pour garantir l'intégrité vérifiable de vos instances de machines virtuelles (VM) Compute Engine. Vous pouvez donc être sûr que vos instances n'ont pas été compromises par des logiciels malveillants au niveau du démarrage ou du noyau. L'intégrité vérifiable de la VM protégée est assurée grâce à l'utilisation du démarrage sécurisé, du démarrage mesuré compatible vTPM et de la surveillance de l'intégrité.

De plus, les fournisseurs peuvent déployer des agents spécialisés pour produire des éléments de télémétrie sur l'activité des utilisateurs et des hôtes dans les machines virtuelles (VM) basées sur le cloud. Cela donne au centre d'opérations de sécurité (SOC) une visibilité sur les activités à l'intérieur et autour des limites de sécurité, qui changent fréquemment.

Les fournisseurs introduisent également des points de contrôle explicites, tels qu'un hôte bastion pour la communication avec des flottes de machines virtuelles, des serveurs proxy réseau, des serveurs de sortie réseau et des réseaux inter-projets. Ces mesures peuvent réduire le risque d'exfiltration de données, sans pour autant l'éliminer définitivement.

Votre entreprise doit également mettre en place une solide infrastructure de détection et de réponse aux événements d'exfiltration de données. Une bonne infrastructure cloud vous permettra de détecter rapidement les activités risquées ou inappropriées, de limiter l'"effet de souffle" sur l'activité et de réduire les possibilités d'action de la personne qui exfiltre les données.

Catégories d'événements d'exfiltration de données

Les événements d'exfiltration de données peuvent être classés en fonction de caractéristiques communes d'ordre technologique, organisationnel et physique. Les sections suivantes présentent certaines de ces catégories, ainsi que des stratégies de prévention et d'atténuation pour chacune d'entre elles.

Courrier sortant

Dans ce scénario, les acteurs utilisent l'infrastructure de télécommunication autorisée, telle qu'une messagerie professionnelle ou des appareils mobiles, pour transmettre des données sensibles depuis des systèmes informatiques sécurisés vers des tiers non fiables, ou vers des systèmes privés non sécurisés. Les données sensibles peuvent être transmises sous forme de texte brut dans un e-mail ou un message texte, ou encore jointes en tant que fichier. Cette méthode courante permet d'exfiltrer les contenus des e-mails, des agendas, des bases de données, des images, des documents de planification, des prévisions commerciales et des codes sources appartenant à l'entreprise.

De nombreux systèmes de messagerie enregistrent les brouillons dans le cloud. Il ne faut donc pas se contenter de contrôler les données sensibles lors de l'envoi du message. Si une personne peut accéder de l'extérieur à sa messagerie professionnelle ou à un autre service de messagerie utilisant les brouillons enregistrés, elle peut utiliser cette fonctionnalité pour l'exfiltration. En sauvegardant un brouillon à partir d'appareils et de réseaux ayant accès à des données sensibles, puis en accédant à ce brouillon depuis un autre client, la personne malveillante évite les systèmes de journalisation et d'audit.

Prévention et atténuation

Ce scénario implique des systèmes de télécommunication sélectionnés et autorisés par votre organisation, ce qui vous offre davantage d'options de protection contre l'exfiltration de données qu'avec des outils privés ou tiers.

Envisagez de mettre en œuvre certaines des stratégies de prévention et d'atténuation suivantes :

  • Surveillez le volume et la fréquence de transmission de données par vos utilisateurs, par e-mail et via les autres outils de messagerie de l'entreprise. Si un utilisateur lambda envoie en moyenne 5 méga-octets de données par jour, une personne qui envoie 500 méga-octets doit entraîner le déclenchement d'une alerte.
  • Conservez un journal contenant les adresses utilisées pour envoyer des e-mails, les appareils à partir desquels ils sont envoyés et les adresses des destinataires. Cela pourra vous aider à identifier la nature et la portée d'un événement d'exfiltration de données. La checklist de sécurité destinée à l'administrateur explique comment auditer un compte de messagerie pour détecter les risques de sécurité dans Gmail Enterprise.
  • Analysez les e-mails envoyés à partir de systèmes ayant accès à des données sensibles pour vous assurer qu'ils ne contiennent pas de contenus non autorisés. Pour vous faciliter la tâche, vous pouvez signaler les contenus sensibles au moyen de repères, comme des mots clés ou le signe dièse.
  • Bloquez l'envoi de messages sur les canaux non sécurisés (par exemple, en utilisant le protocole HTTP au lieu de HTTPS), et avertissez votre personnel de sécurité informatique de toute tentative d'exfiltration.

Téléchargements vers des périphériques non sécurisés

Ces cas se produisent lorsqu'un utilisateur accède à des données sensibles par l'intermédiaire de canaux autorisés, puis transfère ces données vers un périphérique local non sécurisé. Il peut s'agir d'ordinateurs portables, de smartphones, de lecteurs externes, de caméras ou de périphériques spéciaux. La personne malveillante peut télécharger des fichiers existants depuis vos services dans le cloud, ou copier des données dans de nouveaux fichiers. Si les fichiers sont transférés vers des périphériques non surveillés ou non sécurisés, ils courent un gros risque d'exfiltration.

Prévention et atténuation

Les réseaux basés sur le cloud présentent des avantages pour la prévention de ce genre d'événement. De nombreuses méthodes de transfert de données vers un périphérique local nécessitent une connexion physique à un support transférable. Si par contre les données sont stockées dans le cloud, il faut les télécharger avant de les transférer. Or ces téléchargements sont soumis aux fonctionnalités de sécurité et de suivi du service d'hébergement et des clients.

Envisagez de mettre en œuvre certaines de ces règles et techniques :

  • Interdisez les téléchargements de données très sensibles. En fonction de l'utilisation et du traitement de vos données dans le cloud, les utilisateurs peuvent ne jamais avoir besoin de les télécharger sur des périphériques locaux. Conservez, si possible, toutes les données dans le cloud et effectuez tous les calculs dans le cloud. Si les données sont techniquement téléchargeables, mettez en place une règle interdisant les téléchargements, classez et étiquetez les données sensibles, puis conservez les journaux d'accès des données demandées et diffusées via des interactions sécurisées et des appels d'API. Pour en savoir plus, consultez la documentation sur les journaux d'audit.
  • Utilisez un courtier de sécurité d'accès au cloud (CASB) pour réguler les connexions entre les clients autorisés et les services cloud, en fonction des règles de sécurité de votre entreprise.
  • Encapsulez les fichiers avec des outils de gestion des droits numériques (DRM), afin de sécuriser chacun des fichiers avec des autorisations et de les chiffrer.
  • Mettez en place des filigranes dynamiques dans vos clients autorisés pour enregistrer les utilisateurs réalisant des captures ou des photographies d'écrans affichant des informations sensibles.

Importations vers des services externes

Tout comme la catégorie d'événements précédente, cette catégorie implique souvent le téléchargement de données sensibles vers une infrastructure locale. La personne malveillante transfère ensuite les données vers un tiers par l'intermédiaire d'un client de navigateur Web ou d'un autre logiciel non surveillé. Les services tiers peuvent être des sites Web d'apparence anodine, comme un réseau social, sur lesquels une personne pourrait importer accidentellement les mauvaises images ou coller le mauvais texte. Les malfaiteurs aguerris peuvent aussi être capables de transférer de petites quantités de données sensibles, comme des identifiants utilisateur ou des clés de chiffrement, sous forme de paramètres d'URL à destination d'applications Web spécialisées.

Prévention et atténuation

Il est possible d'atténuer le risque que présente ce type d'événement grâce aux mêmes restrictions sur les téléchargements que celles qui empêchent la copie locale de données sensibles. Cependant, une règle n'élimine pas le risque de captures d'écran ou de texte copié, qui sont ensuite importés vers des médias sociaux, des sites Web de partage de fichiers ou d'autres services cloud.

Les pratiques de sécurité à prendre en compte pour lutter contre ce type de risque sont les suivantes :

  • Interdisez les téléchargements de toutes les données. Conservez toutes les données dans le cloud et effectuez tous les calculs dans le cloud. Les données doivent être demandées et diffusées par des interactions d'API sécurisées et connectées. Pour en savoir plus, consultez la documentation sur les journaux d'audit.
  • Bloquez l'installation de logiciels tiers non sécurisés, tels que des applications de médias sociaux ou des plug-ins de navigateur non autorisés, sur des appareils ayant accès à des données sensibles.
  • Utilisez un courtier de sécurité d'accès au cloud pour réguler le trafic depuis les points d'accès au cloud et appliquez des règles de chiffrement pour toutes les données transmises aux clients.

Comportement non sécurisé dans le cloud

L'utilisation de services cloud introduit de nouvelles catégories de risques d'exfiltration de données que les professionnels de la sécurité informatique doivent connaître. Il s'agit de cas où les employés, les utilisateurs ou les administrateurs utilisent les fonctionnalités de la suite du fournisseur cloud de manière non sécurisée. Toute personne ayant la capacité de réquisitionner ou de modifier des machines virtuelles, de déployer du code ou d'envoyer des demandes à des services de stockage ou de calcul dans le cloud est susceptible d'exfiltrer des données.

Les réseaux cloud disposent d'interfaces publiques et ont la possibilité de communiquer avec Internet au sens large. Il est indispensable de sécuriser et d'autoriser le comportement des services exécutés dans le cloud pour assurer la sécurité des données. Les personnes disposant d'autorisations suffisantes peuvent initier la transmission sortante de données sensibles, déplacer des données sensibles depuis des conteneurs sécurisés vers des conteneurs moins sécurisés ou créer des services cloud non autorisés pour le compte d'une entreprise.

Prévention et atténuation

Le comportement sécurisé de vos services cloud passe par des autorisations précises et limitées, et une journalisation complète. Dans la mesure du possible, bloquez l'accès au backend de vos services. Pour la plupart des tâches qu'un employé ou un administrateur doit effectuer sur une machine virtuelle, il existe des agents automatisés et des clients frontend sécurisés et contrôlables. Servez-vous-en si possible pour limiter le nombre de personnes bénéficiant d'un accès SSH direct à vos machines cloud. Lorsque cela est possible, analysez toutes les données envoyées à Internet au sens large pour identifier les informations sensibles. En ce qui concerne les applications qui traitent des informations provenant d'utilisateurs ou de systèmes externes, envisagez de les analyser pour éviter toute collecte, tout stockage ou tout partage accidentel de données sensibles telles que les informations personnelles.

Pour les machines virtuelles dans le cloud, prenez en compte les principes de sécurité suivants :

  • Configurez sur vos machines virtuelles des tables d'adresses IP qui interdisent les connexions sortantes à des adresses inconnues. Cela peut réduire le risque de transmission de données sensibles à l'extérieur de votre réseau.
  • Évitez de donner à vos machines virtuelles des adresses IP publiques et utilisez un service de traduction d'adresses réseau (NAT) pour traiter les connexions entrantes et sortantes. Pour en savoir plus, lisez le guide sur la configuration d'une passerelle NAT pour Compute Engine.
  • Envisagez d'utiliser un hôte bastion dans le cloud pour assurer la médiation et surveiller les connexions à d'autres hôtes.
  • Désactivez les logiciels de gestion à distance tels que les agents RDP (Remote Desktop Protocol) ou WinRM (Windows Remote Management) sur les ordinateurs qui n'en ont pas besoin.
  • Servez-vous de l'accès privé à Google pour permettre aux instances de machine virtuelle d'un sous-réseau d'atteindre les API et services Google à l'aide d'une adresse IP interne plutôt que d'une adresse IP externe.
  • Envisagez d'utiliser un réseau XPN (cross-project networking) pour partager des réseaux virtuels Google Cloud entre les projets de votre organisation cloud.
  • Cantonnez l'accès SSH direct sur les machines virtuelles aux personnes qui en ont vraiment besoin. Google Compute Engine fournit des outils complets de gestion de clés SSH permettant de contrôler l'accès aux machines virtuelles.

Pour les services de stockage dans le cloud tels que Cloud Storage ou Cloud Bigtable, il est possible d'atténuer les risques d'exfiltration grâce aux pratiques suivantes :

  • Exploitez la gestion de l'authentification et des accès (IAM) pour fournir aux utilisateurs et aux applications l'ensemble d'autorisations d'accès aux données le plus restreint possible. Stockez dans des conteneurs différents les données soumises à des exigences spécifiques de sensibilité et d'accès, afin de fournir les autorisations les plus précises possibles.
  • Surveillez et limitez la fréquence de lecture des données à partir de vos ressources de stockage. Ayez recours à des agents de surveillance pour alerter votre équipe de sécurité en cas de tentatives de déplacement d'une quantité de données anormalement élevée.
  • Attribuez aux données très sensibles des autorisations provisoires faisant l'objet de révocations et d'examens fréquents. Les quotas d'App Engine peuvent s'avérer utiles dans ce contexte.
  • Faites régulièrement contrôler par une équipe humaine l'ensemble des personnes ayant accès à des conteneurs de données très sensibles.
  • Conservez des journaux complets sur tous les accès à vos services de stockage. Idéalement, l'ensemble de personnes ayant accès aux services de stockage sera séparé de l'ensemble de personnes ayant accès aux journaux, afin de réduire le risque d'accès non autorisé à des journaux de la part de personnes malveillantes. Pensez à vous servir des utilitaires de journaux d'accès Cloud Storage pour écrire les données de journal dans un bucket de stockage distinct.

Faire respecter les règles de sécurité

La riche infrastructure fournie par Google Cloud offre aux clients de nombreuses possibilités de développement de solutions adaptées à leurs besoins. Cette infrastructure amène par ailleurs de nouveaux défis, tels que l'application des règles de sécurité souhaitées aux différents projets d'une entreprise. Pour simplifier la gestion de la sécurité, Google Cloud a mis en place une hiérarchie des entités englobant toutes les ressources. Cette hiérarchie est au cœur du concept d'"Organisation". Les organisations peuvent éventuellement contenir des dossiers ou des projets. Les dossiers peuvent quant à eux contenir des sous-dossiers ou des projets. Toutes les ressources des services Google Cloud appartiennent à un projet.

Avec cette hiérarchie (Organisation -> Dossier -> Projet -> Service Google Cloud -> Ressource), les règles de sécurité peuvent être définies à n'importe quel niveau et sont héritées aux niveaux inférieurs de la hiérarchie. Les règles de sécurité sont évaluées de haut en bas dans la hiérarchie des ressources et, dès qu'une réponse "autoriser" est obtenue, l'accès à la ressource est accordé.

Faire respecter la conformité

L'utilisation de la hiérarchie des ressources et de l'héritage des règles de sécurité simplifie l'audit visant à garantir le respect uniforme des règles de sécurité souhaitées. Du fait de la propriété d'héritage, les administrateurs peuvent démontrer que, par exemple, tous les projets permettent au même ensemble d'auditeurs d'inspecter leurs données. Pour ce faire, cette règle de sécurité est déployée au niveau Organisation et ne peut en aucun cas être ignorée à un niveau inférieur. Ces règles de sécurité sont spécifiées dans les activités d'audit des logiciels et leur vérification peut être automatisée.

Identification et masquage des données sensibles

L'une des premières étapes de la gestion des données sensibles consiste à savoir où elles se trouvent. Une fois identifié, vous êtes mieux armé pour définir le contrôle d'accès afin de garantir un accès et une manipulation appropriés, et d'utiliser des techniques pour réduire le caractère sensible grâce au masquage ou à la désidentification des données. Une fois masquées, les numéros de sécurité sociale, numéros de carte de crédit en cours de validité ou autres informations personnelles perdent leur caractère sensible.

Tout l'enjeu avec le masquage de grandes quantités de données diverses consistait à automatiser la reconnaissance, la classification et le masquage approprié. Il est désormais possible de permettre au système de raisonner de manière automatisée sur le contenu des champs de données. Ce niveau de visibilité automatisé dans des flux de données arbitraires permet aux applications de décider quelles données transmettre à quels terminaux, quels systèmes utiliser pour stocker les différents types de données gérés et quand alerter sur la transmission de types particuliers de données.

Prévention et atténuation

Dans Google Cloud, la protection des données sensibles vous permet de comprendre et de gérer les données sensibles. Elle permet de classer, et éventuellement de masquer, de façon rapide et évolutive les données sensibles, telles que les numéros de carte de crédit, de sécurité sociale, de passeport, de permis américains et de certains permis internationaux, les numéros de téléphone, ainsi que les noms. La protection des données sensibles accepte le texte, les données structurées et les images. Il vous suffit de soumettre des données à la protection des données sensibles ou de spécifier des données stockées sur vos instances Cloud Storage, BigQuery et Datastore. Les résultats de la protection des données sensibles peuvent servir à surveiller ou à informer automatiquement la configuration des paramètres IAM, la résidence des données ou d'autres stratégies. La protection des données sensibles peut également vous aider à rédiger ou à masquer certaines parties de ces données afin de réduire la sensibilité ou d'aider à la minimisation des données dans le cadre d'une stratégie de moindre privilège ou de cas particulier. Les techniques disponibles incluent le masquage, le chiffrement préservant le format, la tokenisation et le binning, appliqués à des données textuelles libres ou structurées.

Administrateurs malhonnêtes

Du fait de leur conception, la plupart des systèmes informatiques accordent des pouvoirs non contrôlés aux administrateurs désignés. Les administrateurs malveillants ou corrompus disposeront d'autorisations suffisantes pour mettre en œuvre l'une des situations abordées dans ce document, et n'auront en outre aucune difficulté à effacer les journaux et les preuves de leurs actes. Pour atténuer ces risques, il est nécessaire de séparer les pouvoirs et autorisations sur les différentes parties de votre réseau, et de permettre aux administrateurs de se surveiller les uns les autres.

Prévention et atténuation

Il est indispensable de restreindre l'autorité d'une seule personne pour pouvoir atténuer les risques que représente un administrateur malhonnête.

Pour accomplir les tâches qui leur sont assignées, les administrateurs auront la possibilité d'exfiltrer des données. Il est toutefois possible d'appliquer les principes suivants afin de réduire la portée et l'ampleur de tels événements, le cas échéant :

  • Enregistrez les actions des administrateurs dans des journaux situés dans un emplacement auquel ils ne peuvent pas accéder, afin de protéger un réseau étendu contre les méfaits éventuels d'un administrateur. Faites appel à une équipe de sécurité distincte pour gérer les services de surveillance et de journalisation.
  • Envisagez de rendre tous les accès administrateur temporaires avec une période d'expiration courte. Sur de nombreux réseaux, les administrateurs n'ont pas besoin d'un accès permanent.
  • Faites valider les actions des administrateurs par plusieurs personnes. En traitant toutes les actions des administrateurs telles que la validation du code source, vous pouvez atténuer les risques que représente une seule personne.

Départs de salariés

L'équipe d'intervention d'urgence informatique (CERT) du Software Engineering Institute de l'Université de Carnegie Mellon a publié un article en 2011 révélant que les salariés sur le point de quitter l'entreprise étaient plus susceptibles de se livrer à l'exfiltration de données. Un licenciement en cours est une période de risque accru, qui exige de la part des équipes de sécurité informatique une vigilance particulière.

Prévention et atténuation

Pour les réseaux contenant des données très sensibles, envisagez de connecter les systèmes de journalisation et de surveillance à un logiciel de gestion des ressources humaines, afin de consigner les cas de départ imminent et de définir des seuils d'alerte plus stricts pour les équipes de sécurité, sur les comportements anormaux des utilisateurs en question.

Conclusion

La flexibilité, les coûts réduits et la puissance d'utilisation de l'infrastructure du cloud public nécessitent une vigilance accrue et de nouvelles approches de protection des données contre l'exfiltration. Vous pouvez concevoir des règles et des mises en œuvre au sein de votre entreprise afin de tenir compte de cet environnement, à l'aide des techniques décrites dans ce document :

  • Minimisez l'"effet de souffle" des événements d'exfiltration de données en compartimentant les données.
  • Mettez en place des mécanismes de redondance et de validation dans les workflows d'administrateurs système pour augmenter la responsabilité.
  • Utilisez des autorisations précises et n'accordez l'accès aux données sensibles qu'aux personnes dont les fonctions professionnelles l'exigent.
  • Utilisez la journalisation pour améliorer la transparence de l'accès et du déplacement des données au sein de votre entreprise.
  • Limitez et surveillez les entrées et sorties des ordinateurs de votre entreprise à l'aide de règles réseau, d'une solution de gestion de l'authentification et des accès (IAM) et d'hôtes bastions.
  • Définissez un référentiel pour les flux de données normaux, en spécifiant par exemple les volumes de données associés à un accès ou un transfert, ou bien des zones géographiques d'accès, afin de pouvoir qualifier les comportements anormaux.

Étapes suivantes