
Le 19 juillet 2019, Capital One a reçu le message que redoute toute entreprise moderne : une violation de donnĂ©es sâest produite. Elle a touchĂ© plus de 106 millions de personnes. 140 000 numĂ©ros de sĂ©curitĂ© sociale aux Ătats-Unis, un million de numĂ©ros de sĂ©curitĂ© sociale au Canada. 80 000 comptes bancaires. DĂ©sagrĂ©able, n'est-ce pas ?
Malheureusement, le piratage nâa pas eu lieu le 19 juillet. Il s'avĂšre que Paige Thompson, alias. Erratique, l'a commis entre le 22 et le 23 mars 2019. C'est il y a presque quatre mois. En fait, ce nâest quâavec lâaide de consultants externes que Capital One a pu dĂ©couvrir que quelque chose sâĂ©tait passĂ©.
Un ancien employĂ© d'Amazon a Ă©tĂ© arrĂȘtĂ© et risque une amende de 250 XNUMX dollars et cinq ans de prison... mais il reste encore beaucoup de nĂ©gativitĂ©. Pourquoi? Parce que de nombreuses entreprises victimes de piratages tentent dâignorer la responsabilitĂ© de renforcer leur infrastructure et leurs applications face Ă la montĂ©e de la cybercriminalitĂ©.
Quoi quâil en soit, vous pouvez facilement rechercher cette histoire sur Google. Nous n'entrerons pas dans le drame, mais parlons de technique cĂŽtĂ© de la question.
Tout dâabord, que sâest-il passĂ© ?
Capital One avait environ 700 compartiments S3 en fonctionnement, que Paige Thompson a copiés et siphonnés.
DeuxiÚmement, s'agit-il d'un autre cas de politique de compartiment S3 mal configurée ?
Non pas cette fois. Ici, elle a accédé à un serveur avec un pare-feu mal configuré et a effectué toute l'opération à partir de là .
Attends, comment est-ce possible ?
Eh bien, commençons par nous connecter au serveur, mĂȘme si nous n'avons pas beaucoup de dĂ©tails. On nous a seulement dit que cela s'Ă©tait produit via un « pare-feu mal configurĂ© ». Donc, quelque chose d'aussi simple que des paramĂštres de groupe de sĂ©curitĂ© incorrects ou une configuration du pare-feu d'application Web (Imperva) ou du pare-feu rĂ©seau (iptables, ufw, Shorewall, etc.). Capital One a seulement admis sa culpabilitĂ© et dĂ©clarĂ© avoir comblĂ© le trou.
Stone a déclaré que Capital One n'avait pas initialement remarqué la vulnérabilité du pare-feu, mais avait agi rapidement une fois qu'il en avait pris conscience. Cela a certainement été facilité par le fait que le pirate informatique aurait laissé des informations d'identification clés dans le domaine public, a déclaré Stone.
Si vous vous demandez pourquoi nous n'approfondissons pas cette partie, sachez qu'en raison du nombre limitĂ© d'informations, nous ne pouvons que spĂ©culer. Cela nâa aucun sens Ă©tant donnĂ© que le hack dĂ©pendait dâun trou laissĂ© par Capital One. Et Ă moins qu'ils ne nous en disent plus, nous allons simplement Ă©numĂ©rer toutes les façons possibles pour Capital One de laisser son serveur ouvert en combinaison avec toutes les façons possibles pour quelqu'un d'utiliser l'une de ces diffĂ©rentes options. Ces dĂ©fauts et techniques peuvent aller dâoublis extrĂȘmement stupides Ă des modĂšles incroyablement complexes. Compte tenu de lâĂ©ventail des possibilitĂ©s, cela deviendra une longue saga sans vĂ©ritable conclusion. Par consĂ©quent, concentrons-nous sur lâanalyse de la partie oĂč nous avons des faits.
Le premier point Ă retenir est donc le suivant : sachez ce que vos pare-feu autorisent.
Ătablissez une politique ou un processus appropriĂ© pour garantir que SEUL ce qui doit ĂȘtre ouvert est ouvert. Si vous utilisez des ressources AWS telles que des groupes de sĂ©curitĂ© ou des ACL rĂ©seau, la liste de contrĂŽle Ă auditer peut Ă©videmment ĂȘtre longue... mais tout comme de nombreuses ressources sont créées automatiquement (par exemple CloudFormation), il est Ă©galement possible d'automatiser leur audit. Qu'il s'agisse d'un script fait maison qui analyse les nouveaux objets Ă la recherche de failles, ou de quelque chose comme un audit de sĂ©curitĂ© dans un processus CI/CD... il existe de nombreuses options simples pour Ă©viter cela.
La partie « drĂŽle » de lâhistoire est que si Capital One avait bouchĂ© le trou en premier lieu⊠rien ne serait arrivĂ©. Et donc, franchement, c'est toujours choquant de voir Ă quel point quelque chose assez simple devient la seule raison pour laquelle une entreprise est piratĂ©e. Surtout un aussi gros que Capital One.
Alors, hacker à l'intérieur, que s'est-il passé ensuite ?
Eh bien, aprĂšs avoir pĂ©nĂ©trĂ© dans une instance EC2... beaucoup de choses peuvent mal tourner. Vous marchez pratiquement sur le fil dâun couteau si vous laissez quelquâun aller aussi loin. Mais comment est-il arrivĂ© dans les buckets S3 ? Pour comprendre cela, parlons des rĂŽles IAM.
Ainsi, une façon dâaccĂ©der aux services AWS consiste Ă ĂȘtre un utilisateur. D'accord, celui-ci est assez Ă©vident. Mais que se passe-t-il si vous souhaitez donner Ă d'autres services AWS, tels que vos serveurs d'applications, l'accĂšs Ă vos compartiments S3 ? C'est Ă cela que servent les rĂŽles IAM. Ils se composent de deux Ă©lĂ©ments :
- Politique de confiance : quels services ou quelles personnes peuvent utiliser ce rĂŽle ?
- Politique d'autorisations : que permet ce rĂŽle ?
Par exemple, vous souhaitez créer un rÎle IAM qui permettra aux instances EC2 d'accéder à un compartiment S3 : tout d'abord, le rÎle est défini pour avoir une politique de confiance selon laquelle EC2 (l'ensemble du service) ou des instances spécifiques peuvent « reprendre » le rÎle. Accepter un rÎle signifie qu'ils peuvent utiliser les autorisations du rÎle pour effectuer des actions. DeuxiÚmement, la politique d'autorisations permet au service/personne/ressource qui a « assumé le rÎle » de faire n'importe quoi sur S3, qu'il s'agisse d'accéder à un compartiment spécifique... ou à plus de 700, comme dans le cas de Capital One.
Une fois que vous ĂȘtes dans une instance EC2 avec le rĂŽle IAM, vous pouvez obtenir des informations d'identification de plusieurs maniĂšres :
- Vous pouvez demander des mĂ©tadonnĂ©es d'instance Ă
http://169.254.169.254/latest/meta-dataEntre autres choses, vous pouvez trouver le rĂŽle IAM avec n'importe laquelle des clĂ©s d'accĂšs Ă cette adresse. Bien sĂ»r, seulement si vous ĂȘtes dans une instance.
- Utilisez l'AWS CLI...
Si l'AWS CLI est installée, elle est chargée avec les informations d'identification des rÎles IAM, le cas échéant. Il ne reste plus qu'à travailler à TRAVERS l'instance. Bien sûr, si leur politique de confiance était ouverte, Paige pourrait tout faire directement.
L'essence des rĂŽles IAM est donc qu'ils permettent Ă certaines ressources d'agir EN VOTRE NOM sur d'AUTRES RESSOURCES.
Maintenant que vous comprenez les rĂŽles d'IAM, nous pouvons parler de ce que Paige Thompson a fait :
- Elle a accédé au serveur (instance EC2) via un trou dans le pare-feu
Quâil sâagisse de groupes de sĂ©curitĂ©/ACL ou de leurs propres pare-feu dâapplications Web, le trou Ă©tait probablement assez facile Ă combler, comme indiquĂ© dans les documents officiels.
- Une fois sur le serveur, elle a pu agir « comme si » elle Ă©tait elle-mĂȘme le serveur
- Ătant donnĂ© que le rĂŽle de serveur IAM autorisait S3 Ă accĂ©der Ă ces plus de 700 compartiments, il a pu y accĂ©der
A partir de ce moment, il ne lui restait plus qu'à exécuter la commande List Bucketspuis la commande Sync à partir de l'AWS CLI...
. PrĂ©venir de tels dommages est la raison pour laquelle les entreprises investissent autant dans la protection de lâinfrastructure cloud, dans le DevOps et dans les experts en sĂ©curitĂ©. Et quelle est la valeur et la rentabilitĂ© du passage au cloud ? Ă tel point que mĂȘme face aux dĂ©fis de plus en plus nombreux en matiĂšre de cybersĂ©curitĂ© !
Moralité de l'histoire : vérifiez votre sécurité ; Effectuer des audits réguliers ; Respecter le principe du moindre privilÚge pour les politiques de sécurité.
( Vous pouvez consulter le rapport juridique complet).
Source: habr.com
