DIIAGE: TP sécurité des applicaiton web & métrologie appliquée à la sécurité
This commit is contained in:
53
diiage/C3-2_Sécurité_SI/20171222_Métrologie/tp.md
Normal file
53
diiage/C3-2_Sécurité_SI/20171222_Métrologie/tp.md
Normal file
@ -0,0 +1,53 @@
|
||||
# TP - Métrologie appliquée à la sécurité
|
||||
|
||||
## Objectifs
|
||||
|
||||
- En fonction de scénarios d'attaque identifiés dans une application Web, proposer et implémenter des métriques permettant de détecter ceux ci.
|
||||
|
||||
## Contexte et contraintes
|
||||
|
||||
Soit une application simpliste de "trading" de cryptomonnaie fictive FakeCoin© et les scénarios d'attaque ci dessous:
|
||||
|
||||
1. Implémenter l'API en NodeJS
|
||||
2. Identifier et proposer des métriques pour détecter les scénarios d'attaque
|
||||
3. Mettre en place les sondes dans l'application et proposer des requêtes avec leur seuil de déclenchement pour l'émission d'alertes.
|
||||
|
||||
### API de l'application
|
||||
|
||||
- **URL** `GET /wallet`
|
||||
|
||||
**Données retournées**
|
||||
|
||||
Total de FakeCoins présents dans le portefeuille de l'utilisateur.
|
||||
|
||||
- **URL** `POST /sell`
|
||||
|
||||
**Paramètres**
|
||||
|
||||
`amount` Nombre de FakeCoins à vendre (à retirer du portefeuille)
|
||||
|
||||
**Données retournées**
|
||||
|
||||
Total de FakeCoins vendus, si la vente a réussie.
|
||||
|
||||
**Contraintes**
|
||||
|
||||
- On ne peut pas vendre plus de FakeCoins que l'on en possède dans son portefeuille.
|
||||
|
||||
- **URL** `POST /buy`
|
||||
|
||||
**Paramètres**
|
||||
|
||||
`amount` Nombre de FakeCoins à acheter (à ajouter au portefeuille)
|
||||
|
||||
### Scénarios d'attaque
|
||||
|
||||
1. **Vol de compte** Un attaquant a réussi à obtenir les identifiants d'accès au compte d'un utilisateur et tente d'effectuer des ordres de ventes depuis une **autre adresse IP**.
|
||||
2. **Tentative d'abus sur le mécanisme de vente** Un utilisateur mal intentionné tente d'effectuer **un grand nombre d'ordres de vente** en parallèle afin d'exploiter une vulnérabilité sur l'application de la contrainte de vente.
|
||||
3. **Tentative de blanchiment d'argent** Un utilisateur mal intentionné tente d'effectuer du blanchiment d'argent via la plateforme en lançant des ordres d'achat de FakeCoins avec **des montants anormalement hauts**.
|
||||
|
||||
## Ressources
|
||||
|
||||
- [Documentation du projet Prometheus](https://prometheus.io/docs/introduction/overview/)
|
||||
- [Module ExpressJS - Framework de création d'application Web pour NodeJS](http://expressjs.com/en/starter/installing.html)
|
||||
- [Module PromClient - Module NodeJS "client" pour Prometheus](https://github.com/siimon/prom-client)
|
Reference in New Issue
Block a user