Violation de Capital One par mauvaise configuration cloud
L'ancienne ingénieure AWS Paige Thompson a exploité un pare-feu applicatif web mal configuré pour extraire les données personnelles d'environ 106 millions de demandeurs et clients de cartes de crédit Capital One depuis S3.
- Victime
- Capital One Financial Corporation
- Perte
- $270.0M
- données
- 106.0M
- utilisateurs
- 106.0M
Le 29 juillet 2019, Capital One Financial Corporation a divulgué qu'une ancienne ingénieure d'Amazon Web Services avait extrait les informations personnelles d'environ 106 millions de demandeurs et clients de cartes de crédit américains et canadiens depuis les buckets S3 hébergés sur AWS de la banque. La violation était inhabituelle à deux égards : l'attaquante était une personne isolée, et les données n'avaient jamais été monétisées ni redistribuées.
Elle est devenue le cas canonique du risque de mauvaise configuration cloud dans les services financiers.
Ce qui s'est passé
Paige Thompson, ancienne ingénieure AWS travaillant de manière indépendante, a scanné l'internet public en mars 2019 à la recherche d'instances de pare-feu applicatif web (WAF) AWS mal configurées. Elle traquait spécifiquement les WAF dont les rôles IAM avaient été dotés de privilèges excessifs — un modèle de déploiement qui transforme un WAF ordinaire en chemin d'accès vers l'ensemble du locataire AWS.
Elle en a trouvé un chez Capital One. Le WAF de la banque, déployé sur EC2, avait été configuré avec un rôle IAM lui permettant de lister et lire les objets S3 à travers l'ensemble du locataire AWS de Capital One. Le WAF lui-même n'avait pas de vulnérabilité à proprement parler ; la mauvaise configuration concernait la portée IAM. Thompson a :
- Identifié le WAF comme exploitable via une falsification de requête côté serveur (SSRF) contre le service de métadonnées EC2.
- Récupéré des identifiants IAM temporaires en trompant le WAF pour qu'il effectue une requête vers
http://169.254.169.254/latest/meta-data/iam/security-credentials/. - Utilisé ces identifiants avec l'AWS CLI pour lister et lire les buckets S3 de Capital One.
- Exfiltré des données, notamment :
- ~100 millions de demandeurs de cartes de crédit américains (noms, adresses, numéros de téléphone, courriels, dates de naissance, revenus, scores de crédit, fragments d'informations de paiement).
- ~6 millions de clients canadiens avec des champs similaires.
- ~140 000 numéros de sécurité sociale américains qui avaient été conservés dans d'anciennes demandes de crédit.
- ~80 000 numéros de comptes bancaires américains.
- ~1 million de numéros d'assurance sociale canadiens.
La violation a eu lieu entre le 22 et le 23 mars 2019.
Découverte
Thompson n'a fait aucune tentative de monétisation ou de redistribution des données. Elle a au contraire publié ouvertement au sujet de son accès sur des groupes Slack pour chercheurs en sécurité, des dépôts GitHub publics qui listaient les noms des buckets S3 exfiltrés, et Twitter sous le pseudonyme @0xA3A97B6C.
Un chercheur en sécurité ayant vu ses publications a notifié Capital One via le programme de divulgation responsable de la banque le 17 juillet 2019. Capital One a enquêté en 48 heures, confirmé la violation, contacté le FBI le 19 juillet, et le 29 juillet a simultanément procédé à la divulgation publique alors que Thompson était arrêtée à son domicile de Seattle.
Impact
- ~106 millions de clients dont les informations personnelles ont été exposées.
- Sanction pécuniaire civile de 80 millions de dollars de l'OCC en août 2020 — à l'époque, la plus importante sanction civile liée à la cybersécurité infligée par un régulateur bancaire américain.
- Règlement d'action collective de 190 millions de dollars approuvé en décembre 2021.
- Coûts directs de remédiation, de notification des clients et de surveillance du crédit : ~100 millions de dollars.
- Coûts totaux divulgués : ~270 M$+ avant récupération par l'assurance.
Pourquoi c'est important
Capital One est le cas canonique du risque de mauvaise configuration cloud dans les secteurs réglementés. Il a établi :
- Que le sur-provisionnement de privilèges des rôles IAM est un vecteur de violation réel à grande échelle. Le WAF en question fonctionnait exactement comme Capital One l'avait conçu ; la conception était la vulnérabilité.
- Que la falsification de requête côté serveur est une menace primaire pour la tenance cloud — exploitable parce que le service de métadonnées cloud est accessible depuis tout processus que l'on peut amener à effectuer une requête HTTP, et qu'il accorde des identifiants sans authentification hors bande.
- Que la réponse des régulateurs aux violations cloud est désormais substantielle : la sanction de 80 M$ de l'OCC citait des faiblesses spécifiques des contrôles de sécurité cloud, et pas seulement « la violation a eu lieu ».
- Que les violations cloud d'acteurs isolés peuvent atteindre la même ampleur que les opérations parrainées par des États ou les opérations criminelles organisées — pour peu qu'il existe une mauvaise configuration cloud suffisante.
AWS a par la suite livré l'IMDSv2 (accès aux métadonnées obligatoire basé sur des sessions) en novembre 2019, spécifiquement motivé par l'affaire Capital One. IMDSv2 empêche exactement la chaîne SSRF utilisée par Thompson. L'adoption à travers les parcs AWS d'entreprise a été lente ; la classe de vulnérabilité persiste dans les déploiements plus anciens.
Impact financier
Coûts déclarés en USD
- Remédiation$100.0M
- Amendes & règlements$270.0M
Chronologie
Paige Thompson scanne l'internet public à la recherche d'instances de pare-feu applicatif web AWS mal configurées. Elle identifie le WAF de Capital One comme exploitable via SSRF contre le service de métadonnées EC2.
Thompson utilise le SSRF pour récupérer des identifiants IAM temporaires depuis le WAF de Capital One et s'en sert pour lister et lire les objets S3 de Capital One.
Thompson exfiltre les données personnelles d'environ 106 millions de demandeurs et de clients existants de cartes de crédit Capital One.
Thompson publie ouvertement au sujet de la violation sur Slack, GitHub et Twitter sous le pseudonyme « erratic ». Les noms des buckets exfiltrés apparaissent dans ses dépôts GitHub publics.
Un chercheur en sécurité ayant vu les publications de Thompson notifie Capital One via le programme de divulgation responsable de la banque.
Capital One contacte le FBI.
Capital One divulgue publiquement la violation le jour même de l'arrestation de Thompson à son domicile de Seattle.
L'OCC annonce une sanction pécuniaire civile de 80 millions de dollars contre Capital One pour des pratiques bancaires non conformes liées à la violation.
Règlement d'action collective de 190 millions de dollars approuvé.
Un jury fédéral du district ouest de Washington reconnaît Thompson coupable de 5 chefs d'accusation sur 7.
Thompson est condamnée à une peine couverte par la détention déjà purgée + 5 ans de probation.
Sources
- justice.govhttps://www.justice.gov/usao-wdwa/pr/seattle-tech-worker-arrested-data-theft-involving-large-financial-services-company
- occ.treas.govhttps://www.occ.treas.gov/news-issuances/news-releases/2020/nr-occ-2020-101.html
- krebsonsecurity.comhttps://krebsonsecurity.com/2019/08/what-we-can-learn-from-the-capital-one-hack/