Rappel sur les principales failles de sécurité
- L'attaque Cross-Site Scripting (XSS).
- L'injection de commandes et injection SQL.
- Les attaques par Deni de Service (DoS).
- Le Deni de Service Distribué (DDoS).
- Le Buffer overflow (Débordement de pile).
- Le projet OWASP (Open Web Application Security Project).
Travaux pratiques
Mise en place d'un serveur Web présentant des vulnérabilités pour en observer le comportement. Démonstration de l'exploitation d'un buffer overflow.
La sécurité des applications
- Concept base et importance.
- Les comptes créés pour effectuer les tests.
- Les dossiers fictifs, peut-on s'en passer ?
- Les séquences de tests et de mise au point sont-elles encore présentes en production ?
Auditer et sécuriser une application Web
- Démarche et mise en place d'un audit. Bien gérer l'interaction avec la base de données.
- Mettre en place une authentification sécurisée. Exploitation d'une faille d'authentification.
- Gestion des erreurs, des exceptions et des logs.
- Savoir effectuer l'analyse et la corrélation des informations de log.
- Les bonnes pratiques pour avoir des formulaires sécurisés. Exemple d'exploitation d'un formulaire mal développé.
Travaux pratiques
Mise en oeuvre d'une infrastructure trois tiers, client, serveur Web et bases de données. Simulation d'une tentative d'attaque. Analyse et solution.
Le chiffrement
- Rappels sur les principes de base.
- Implémenter le chiffrement dans une application. Les exploitations possibles.
- Tester si une application est bien protégée par le chiffrement.
- Les applications de chiffrement du marché.
Travaux pratiques
Mise en oeuvre d'une autorité de certification privée avec intégration de certificats dans une application.
Tester les applications
- Comment tester avant la mise en production.
- Le fingerprinting : l'identification des caractéristiques du serveur (moteur web, framework, applications).
- Utiliser un web spider pour détecter les liens brisés, les pages avec ou sans authentification et chiffrement.
- Comment mesurer la disponibilité d'une application avec une simulation.
Travaux pratiques
Exemple de tentative d'attaques et fingerprinting. Comment écrire un web spider pour détecter les liens brisés. Vérifier l'authentification sur les pages.