web-dev-qa-db-fra.com

Comment empêcher les «attaques de coût» sur AWS?

Ok, donc j'utilise AWS et avec une architecture sans serveur, c'est très pratique car AWS Lambda exécutera des fonctions en tant que microservices et je n'ai pas à traiter avec des serveurs.

Non seulement cela, mais il est également évolutif automatiquement, et ils facturent dans ce format `` pay-as-you-go ''. Tout semble bien, mais ...

Eh bien, en termes de sécurité et d'attaques possibles, je peux imaginer un type d'attaque où ce n'est pas nécessairement un DDoS, mais un attaquant demanderait simplement de manière répétitive des données à mes serveurs à plusieurs clients répartis sur un mois (donc cela ne déclenchera pas Limites de taux API), de sorte que mes coûts augmenteront considérablement (en raison du paiement à l'utilisation + mise à l'échelle automatique) et me laisseront essentiellement une facture de 10 000 $ à la fin du mois.

Je comprends que le terme "attaque de coût" n'existe probablement pas encore, mais il peut devenir plus courant à mesure que les services migrent vers des environnements sans serveur (AWS, Google Cloud, Azure, etc.)

Des idées sur la façon de le gérer ou de l'empêcher?

33
raphadko

AWS vous permet de définir des budgets et des alarmes en fonction de votre taux de dépenses actuel. Ces informations seraient utiles pour contrôler vos dépenses. En théorie, vous pouvez également définir une automatisation basée sur la facturation pour commencer à réduire les services afin d'éviter une facture de 10 000 $ à la fin du mois.

Tutoriel AWS Budgets

Si vos alarmes de dépenses se déclenchent, vous jetez un coup d'œil pour voir pourquoi vos coûts sont anormaux ce mois-ci et déterminer ce qui doit être fait pour atténuer l'attaque. À ce moment-là, vos actions dépendront de ce qui fera augmenter vos coûts.

Il peut être difficile de différencier si les coûts sont une utilisation légitime ou une attaque. Les pratiques de modélisation des menaces standard vous aideront à identifier les parties de votre application susceptibles de ce type d'attaque. En particulier, essayez de limiter la capacité des utilisateurs non authentifiés à accéder aux parties de l'application gourmandes en ressources.

31
nbering