Vous êtes sur la page 1sur 32

OWASP-Cotonou Chapter

Meeting
Améliorer la sécurité des E-services avec OWASP Web Security Testing
Guide
Dr. Ing Emery Kouassi Assogba

®
OWASP FOUNDATION
Plan

● Qu’est ce qu’un e-Service?


● Qu’est ce que OWASP Web Security Testing Guide?
● Comment OWASP Web Security Testing Guide peut-il servir
à sécuriser les e-Services
● Qui peut utiliser OWASP Web Security Testing Guide ?
● Quand peut-on utiliser OWASP Web Security Testing Guide ?
● Conclusion

OWASP FOUNDATION owasp.org


Qu’est ce qu’un e-Service?

Qu’est ce qu’un e-Service


• E-service (service électronique), est un terme général qui fait référence aux services utilisant
les technologies de l'information et de la communication.
• E-service a de nombreuses applications et se retrouve dans de nombreuses disciplines.
• E-services sont le e-commerce et e-gouvernement (Terezia Kvasnicova et al,2016).

Technologies web et Mobiles


• Les applications de e-Service utilisent pour la plupart des technologies web et mobiles.
• Ils offrent pour la plupart des fonctionnalités de paiement par carte de crédit ou utilisant les
réseaux GSM
• Les e-Services sont très populaires au Bénin et dans le monde
• Ils sont pour la plupart très attractifs pour les potentiels attaquants

OWASP FOUNDATION owasp.org


Les e-services au Bénin
• https://service-public.bj/
• Regroupe des e-Services organisés par thème, par administration
• Donne des informations sur les démarches administratives (pièces à fournir etc)
• Offre des services activable depuis le web ou bien physiquement sur place
• Certains services offrent la possibilité de payer les services en ligne (carte de crédit,
MoMo etc.)
• https://www.gouv.bj/plateformes-services/
• Donne accès à des services spécifiques
• e-Visa
• APIex
• AskGouvBénin

OWASP FOUNDATION owasp.org


Les e-services au Bénin
Objectif n°15 de la PSSIE: Sécurité des e-services
• Sécurité des services d'application en ligne
• Filtrage applicatif

Objectif n°16 de la PSSIE: Sécurité des applications web


• Evaluation des risques spécifiques
• Exigences de sécurité spécifiques
• Utilisation des outils de développement des applications et sites web
• Données en transit
• Certificat SSL
• Pages d’erreur
• Infrastructure d’hébergement

OWASP FOUNDATION owasp.org


Qu’est ce que OWASP Web Security Testing Guide?

WSTG est un projet OWASP


• Le projet Web Security Testing Guide (WSTG) produit la première ressource de test de
cybersécurité pour les développeurs d'applications Web et les professionnels de la sécurité.
• Le WSTG est un guide complet pour tester la sécurité des applications Web et des services Web.
• Efforts collaboratifs de professionnels de la cybersécurité et de bénévoles dévoués
• WSTG fournit un cadre des meilleures pratiques utilisées par les testeurs d'intrusion et les
organisations du monde entier.
Etat du projet
• En continue développement
Version actuelle 5.0
Leaders: Elie Saad elie.saad@owasp.org et King Thorin kingthorin@gmail.com
Contribution: https://github.com/OWASP/wstg

OWASP FOUNDATION owasp.org


Qu’est ce que OWASP Web Security Testing Guide? (2)

WSTG Framework
• Il peut être considéré comme un framework de référence composé de
techniques et de tâches appropriées à différentes phases du cycle de vie du
développement logiciel (CVDL).
• Les entreprises et les équipes de projet peuvent utiliser ce modèle pour
développer leur propre framework de test.
• Pas une norme à suivre scrupuleusement
• Flexible, adaptable au processus de développement et à la culture de
l’organisation

OWASP FOUNDATION owasp.org


Qu’est ce que OWASP Web Security Testing Guide? (2)

Ce framework de test se compose d'activités qui doivent avoir lieu :


• Avant le début du développement,
• lors de la définition des besoins et de la conception,
• pendant le développement,
• pendant le déploiement, et
• pendant la maintenance et l’exploitation.

OWASP FOUNDATION owasp.org


Activités de test de la sécurité au cours du projet
Avant le début du développement
• Définir un CVDL
• Examiner les politiques et les normes
• Développer des critères de mesure et de métrique et assurer la traçabilité
• Examiner les exigences de sécurité

Lors de la définition des besoins et de la conception,


• Examiner la conception et l'architecture
• Créer et réviser les modèles UML
• Créer et réviser le modèle des menaces

OWASP FOUNDATION owasp.org


Activités de test de la sécurité au cours du projet
Pendant le développement
• Compréhension des grandes lignes du code
• Examen approfondi du code

Pendant le déploiement
• Test de pénétration des applications
• Test de la gestion de la configuration

OWASP FOUNDATION owasp.org


Activités de test de la sécurité au cours du projet (2)

Pendant la maintenance et l’exploitation


• Mener des examens de la gestion de l’exploitation
• Effectuez des contrôles de santé périodiques
• Assurez la vérification des changements

OWASP FOUNDATION owasp.org


Méthodologie de test de la sécurité des applications
Web de OWASP
1. Collecte d'informations
2. Test de la gestion de la configuration et du déploiement
3. Test de la gestion des identités
4. Test du mécanisme d'authentification
5. Test du mécanisme d'autorisation
6. Test de la gestion des sessions

OWASP FOUNDATION owasp.org


Méthodologie de test de la sécurité des applications
Web de OWASP (suite)
1. Test de la validation des entrées
2. Test de la gestion des erreurs
3. Test de détection des mécanismes cryptographiques faibles
4. Test de la logique métier
5. Test des vulnérabilités côté client
6. Test des API

OWASP FOUNDATION owasp.org


Test de la gestion des identités

1. Tester les définitions de rôle


2. Tester le processus d'enregistrement des utilisateurs
3. Tester le processus de provisionnement de compte
4. Test d'énumération de compte et de compte d'utilisateur
devinable
5. Test de la politique de nom d'utilisateur faible ou non
appliquée

OWASP FOUNDATION owasp.org


Test de la gestion des identités : Tester les définitions de rôle

• Objectifs du test
• Identifier et documenter les rôles utilisés par l'application.
• Essayez de basculer, de changer ou d'accéder à un autre rôle.
• Passez en revue la granularité des rôles et les besoins derrière les
autorisations accordées.

OWASP FOUNDATION owasp.org


Test de la gestion des identités : Tester les définitions de rôle

• Comment tester?
• Identifier les rôle à partir de:
• De la documentation
• Des développeurs ou des administrateurs
• Les commentaires dans l’application
• Deviner les rôles possibles :
• variable de cookie (par exemple role=admin, isAdmin=True)
• variable de compte (par exemple Role : manager)
• répertoires ou fichiers cachés (par exemple /admin, /mod, /backups)
• basculer à des utilisateurs bien connus (par exemple, admin, backup, etc.)

OWASP FOUNDATION owasp.org


Test de la gestion des identités : Tester les définitions de rôle

• Comment tester?
• Basculer vers les rôles disponibles
• Après avoir identifié les vecteurs d'attaque possibles, le testeur doit tester et
valider qu'il peut accéder aux rôles disponibles.
• Examiner les autorisations des rôles
• Le testeur doit comprendre les autorisations attribuées à chaque rôle.
• Un ingénieur de support ne devrait pas être en mesure de gérer les
fonctionnalités administratives, de gérer les sauvegardes ou d'effectuer des
transactions à la place d'un utilisateur.
• Un administrateur ne devrait pas avoir les pleins pouvoirs sur le système,
MFA pour valider

OWASP FOUNDATION owasp.org


Test de la gestion des identités : Tester les définitions de rôle

• Outils
• Conseiller de le faire manuellement en utilisant les outils d’accès à
l’application Web
• Burp’s Autorize extension
• ZAP’s Access Control Testing add-on

OWASP FOUNDATION owasp.org


Test du mécanisme d'autorisation

1. Test d'inclusion de fichier par la traversée de répertoire


2. Test de contournement du schéma d'autorisation
3. Test d'élévation de privilèges
4. Test des références d'objet directes non sécurisées

OWASP FOUNDATION owasp.org


Test du mécanisme d'autorisation: Test d'élévation de privilège

Objectifs des tests


• Identifiez les points d'injection liés à la manipulation des
privilèges.
• Fuzz ou tenter de contourner les mesures de sécurité.

OWASP FOUNDATION owasp.org


Test du mécanisme d'autorisation: Test d'élévation de privilège

Comment tester
• Test de manipulation des rôles/privilèges
• Manipulation du groupe d'utilisateurs
• Manipulation du profil utilisateur
• Manipulation de la valeur de condition
• Manipulation de l'adresse IP
• Traversée d'URL
• /../.././userInfo.html
• ID de session faible
• MD5(Password + UserID)
• Déviner ou générer pour d’autres utilisateurs

OWASP FOUNDATION owasp.org


Test du mécanisme d'autorisation: Test d'élévation de privilège

Outils
• OWASP Zed Attack Proxy (ZAP)

OWASP FOUNDATION owasp.org


Test de la gestion des erreurs

1. Test de la mauvaise gestion des erreurs


2. Test des traces de pile

OWASP FOUNDATION owasp.org


Test de la gestion des erreurs: Test de la mauvaise gestion des erreurs

Objectifs des tests

• Identifiez la sortie des erreurs existantes.


• Analysez les différentes sorties renvoyées.

OWASP FOUNDATION owasp.org


Test de la gestion des erreurs: Test de la mauvaise gestion des erreurs

Comment tester ?
• Serveurs Web
• Rechercher des fichiers et dossiers aléatoires qui ne seront pas trouvés
(404s).
• Essayez de demander les dossiers qui existent et voyez le
comportement du serveur (403, page vierge ou liste de répertoires).
• Essayez d'envoyer une requête qui rompt les règles de la RFC HTTP.
• Un exemple serait d'envoyer un très grand chemin, de casser le
format des en-têtes ou de changer la version HTTP.

OWASP FOUNDATION owasp.org


Test de la gestion des erreurs: Test de la mauvaise gestion des erreurs

Comment tester ?
• Application
• Identifiez les points d'entrée possibles où l'application attend des
données
• Analysez le type d'entrée attendu (chaînes, entiers, JSON, XML, etc.)
• Fuzzez chaque point d'entrée en fonction des étapes précédentes
pour avoir un scénario de test plus ciblé
• Comprenez le service qui répond avec le message d'erreur (d'une
base de données, d'un service autonome)

OWASP FOUNDATION owasp.org


Test de la gestion des erreurs: Test de la mauvaise gestion des erreurs

Outils
• WSTG: Appendix C - Fuzz Vectors
• Proactive Controls C10: Handle All Errors and Exceptions
• ASVS v4.1 v7.4: Error handling
• CWE 728 - Improper Error Handling
• Cheat Sheet Series: Error Handling

OWASP FOUNDATION owasp.org


Comment OWASP WSTG peut-il servir à sécuriser les e-Services?

OWASP WSTG
• Offre une démarche systématique pour la sécurisation de ces services
• La démarche est incluse dans le CVDL
• Des activités sont prévues à chaque étapes du CVDL permettant d’évaluer le
niveau de sécurité voulu
• Permet de vérifier la conformité à la PSSIE, protection des données à caractère
personnel, etc.

OWASP FOUNDATION owasp.org


Qui peut utiliser OWASP WSTG ?
Qui peut utiliser OWASP WSTG?
• Les développeurs doivent utiliser ce guide pour s'assurer qu'ils produisent un code sécurisé.
Ces tests doivent faire partie des procédures normales de test de code et de test unitaires.
• Les testeurs de logiciels et l'assurance qualité doivent utiliser ce guide pour étendre
l'ensemble de cas de test qu'ils appliquent aux applications. La détection précoce de ces
vulnérabilités permet d'économiser beaucoup de temps et d'efforts par la suite.
• Les spécialistes de la sécurité doivent utiliser ce guide en combinaison avec d'autres
techniques comme un moyen de vérifier qu'aucune faille de sécurité n'a été manquée dans
une application.
• Les chefs de projet doivent tenir compte de la raison pour laquelle ce guide existe et du fait
que les problèmes de sécurité se manifestent par des bogues dans le code et la conception.

OWASP FOUNDATION owasp.org


Qui peut utiliser OWASP WSTG ?
Que peut-on tester à l’aide de OWASP WSTG
• Les personnes – pour s'assurer qu'il y a une éducation et une sensibilisation adéquates;
• Les processus – pour s'assurer qu'il existe des politiques et des normes adéquates et que les
gens savent comment suivre ces politiques ;
• La technologie – pour s'assurer que le processus a été efficace dans sa mise en œuvre.

OWASP FOUNDATION owasp.org


Conclusion
Si vous utilisez déjà un CVDL au sein de votre organisation
• OWASP WSTG pourrait être utiliser pour y inclure les exigences de sécurité
• Examiner comment inclure les exigences de sécurité en utilisant OWASP
WSTG
OWASP-Cotonou chapter Formation
• Quand? : en Août
• Qui? Développeurs, Étudiants, Spécialistes de la sécurité, Chef projet, Testeur,
Assurance Qualité
• Quoi? sur la maîtrise de OWASP WSTG, plus d’information très bientôt..

OWASP FOUNDATION owasp.org


Références
1. OWASP WSTG https://owasp.org/www-project-web-security-testing-guide/,
2. Services publiques au Bénin
https://service-public.bj/public/services/e-services
3. Plateforme de service publique au Bénin
https://www.gouv.bj/plateformes-services/
4. From an analysis of e-services definitions and classifications to the proposal of
new e-service classification, Kvasnicova, Terezia and Kremenova, Iveta and
Fabus, Juraj} Procedia Economics and Finance,volume 39, pp192--196,2016,
Elsevier
5. PSSIE, ANSSI

OWASP FOUNDATION owasp.org

Vous aimerez peut-être aussi