Exploitation d'une plateforme d’apprentissage des vulnérabilités des applications web
Propriétés |
Description |
Intitulé long |
Exploitation d'une plateforme d'apprentissage des vulnérabilités des applications web |
Intitulé court |
Sécurisation des applications web |
Formation concernée |
BTS Services Informatiques aux Organisations |
Matière |
Bloc 3 : Cybersécurité des services informatiques en deuxième année SLAM |
Présentation |
Cet atelier a pour objectif d'exploiter la plateforme d'apprentissage Mutillidae (OWASP) afin de se familiariser avec les principales vulnérabilités des applications web. Chaque activité couvre une problématique spécifique (SQLi, XSS, CSRF…) en référence au top 10 des vulnérabilités décrites par l'OWASP (page 4). Dans un premier temps, Vous devez réaliser les attaques associées à chaque vulnérabilité. Dans un deuxième temps, l’objectif est d’analyser et de comprendre les codes sources des scripts présentés dans leur forme non sécurisée puis sécurisée en tant que contre-mesure. |
Notions |
Activités supports de l’acquisition des compétences
D4.1 – Maintenance d'une solution applicative ● A4.2.1 Analyse et correction d'un dysfonctionnement, d'un problème de qualité de service ou de sécurité. Savoir-faire ● Programmer un composant logiciel. ● Adapter un composant logiciel. ● Valider et documenter un composant logiciel. Savoirs associés ● Techniques de sécurisation. |
Prérequis |
Commandes de base d’administration d’un système Linux, langages PHP et JavaScript. |
Outils |
Deux machines virtualisées (sous Virtualbox) sont fournies avec Linux (Debian 9) comme système d’exploitation.
Site officiel : https://www.owasp.org |
Mots-clés |
OWASP, Mutillidae, BurpSuite, vulnérabilités, SQLi, XSS. |
Durée |
Une heure de présentation et une heure environ pour chaque activité. |
I. Introduction.................................................................................. 2
1. La sécurité des applications web................................................. 2
1.1.1.I.1.1............................................... Les applications web sont partout 2
2. Les motifs des attaques............................................................. 3
II. Présentation d'OWASP................................................................ 3
1. La communauté OWASP............................................................ 3
2. Le top 10 d'OWASP................................................................... 4
Aujourd'hui, les applications web sont partout. Elles sont utilisées quotidiennement dans nos activités personnelles ou professionnelles (réseaux sociaux, achats en lignes, démarches administratives…). Toute entreprise ou administration se doit d'avoir un site web. Ces applications facilitent les échanges et les transactions car elles sont accessibles de partout à l'aide d'un simple navigateur sur un smartphone ou un ordinateur de bureau.
Si au début des sites web, les aspects techniques et fonctionnels étaient suffisants, ce n'est plus du tout le cas aujourd'hui. L'actualité nous rappelle régulièrement que des entreprises voient leur site web attaqué. Les conséquences peuvent être lourdes (perte de données, baisse du chiffre d'affaire, effondrement de la réputation…). Avec comme enjeu, la survie de l'entreprise selon la gravité de l'attaque subie.
En outre, Le règlement règlement général sur la protection des données (RGPD), mis en place au sein de l’Union Européenne, oblige les entreprises à assurer la sécurité des données personnelles qu’elles collectent.
La sécurité des applications web est donc devenue un enjeu stratégique. Lors de son édition 2016, la société EY (http://www.ey.com/fr) a montré qu'une majorité des entreprises mondiales n'a pas de stratégie en matière de lutte contre les cybermenaces[1].
Au delà de l'aspect fonctionnel des outils de développement, il est indispensable pour tout développeur de savoir identifier les vulnérabilités potentielles et de prendre en compte les menaces en adaptant son développement à l'aide de bonnes pratiques. La phase de test ne doit pas se limiter au fonctionnement attendu du code mis en œuvre mais elle doit aussi anticiper les utilisations malveillantes comme les injections de code SQL dans les formulaires.
Afin de mettre en place une veille stratégique sur la sécurisation des applications web, le groupe OWASP a développé une base de données qui recense la liste des incidents de sécurité recensés sur les applications web. Cette base nommée WASC-WHID (Web application Security Consortium - Web Hacking Database Project) permet de disposer de statistiques sur les failles de sécurité relevées sur les applications web. Les incidents sont déclarés et enregistrés afin d’alimenter une base de connaissance.
Le lien permettant d’accéder aux outils WHID est le suivant :
https://www.owasp.org/index.php/OWASP_WASC_Web_Hacking_Incidents_Database_Project
Les sites web peuvent être attaqués pour plusieurs raisons :
MOTIFS |
EXPLICATIONS |
Propagande |
Certaines personnes peuvent attaquer un site pour des raisons politiques ou pour défendre une cause particulière (hacktivistes). |
Distraction |
Des personnes peuvent voir dans l'attaque de sites web une distraction ou un défi à relever. |
Vol de données |
Le vol de données lucratif, pour effectuer du chantage ou pour copier le savoir d'un concurrent sur un marché. |
Machine zombie |
Le serveur cible est utilisé dans un réseau destiné à faire des attaques distribuées par déni de service (DDOS), du stockage de fichiers illégaux, de l’envoi de spams … |
OWASP (Open Web Application Security project) est une communauté travaillant sur la sécurité des applications web. Elle a pour but de publier des recommandations de sécurisation des sites web et propose des outils permettant de tester la sécurité des applications web.
Site officiel : https://www.owasp.org/
OWASP fournit une liste des risques de sécurité des applications web les plus courants. En 2017, OWASP a mis à jour son classement afin de sensibiliser les développeurs web aux risques encourus. Les 10 risques classés par ordre de dangerosité sont les suivants :
RISQUES |
DÉFINITIONS |
ACTIVITÉS |
|
A1 |
INJECTION |
Correspond au risque d'injection SQL (SQLi). |
1 |
A2 |
BROKEN AUTHENTICATION AND SESSION MANAGEMENT |
Correspond au risque de casser la gestion de l’authentification et de la session. Comprend notamment le vol de session (session hijacking) ou la récupération de mots de passe. |
2 |
A3 |
CROSS SITE SCRIPTING (XSS) |
Correspond au XSS soit l’injection de contenu dans une page, ce qui provoque des actions non désirées sur une page Web. Les failles XSS sont particulièrement répandues parmi les failles de sécurités Web. |
3 |
A4 |
INSECURE DATA OBJECT REFERENCE (IDOR) |
Correspond aux failles de sécurité des identifiants (ID) de données visualisées. Nécessite de mettre en place un contrôle d’accès aux données. |
4 |
A5 |
SECURITY MISCONFIGURATION |
Correspond aux failles de configuration liées aux serveurs Web, applications, base de données ou framework. |
5 |
A6 |
SENSITIVE DATA EXPOSURE |
Correspond aux failles de sécurité liées aux données sensibles comme les mots de passe, les numéros de carte de crédit ou encore les données personnelles et la nécessité de crypter ces données. |
6 ? |
A7 |
MISSING FUNCTION LEVEL ACCESS CONTROL |
Correspond aux failles de sécurité liées aux accès non souhaitables à une fonctionnalité. |
7 ?
|
A8 |
CROSS SITE REQUEST FORGERY |
Correspond aux failles liées à l’exécution de requêtes à l’insu de l’utilisateur. |
8 ? |
A9 |
USING COMPONENT WITH KNOWN VULNERABILITIES |
Correspond aux failles liées à l’utilisation de composants tiers. |
9 ? |
A10 |
UNVALIDATED REDIRECTS AND FORWARDS |
Correspond aux failles liées aux redirect et forward générique des applications. |
10 ? |