La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Violation de Gestion d'Authentification et de Session

Présentations similaires


Présentation au sujet: "Violation de Gestion d'Authentification et de Session"— Transcription de la présentation:

1 Violation de Gestion d'Authentification et de Session

2 Mise en contexte Informations d’authentification : Username / password
Session : Génération d’un session ID unique Session ID cookie ou URL But : Preuve d’authentification Éviter de passer les informations confidentielles du user

3 Présentation du problème
Méthode de Hijacking Emprunte identité du user (session ID) Danger : Envoyer demandes au site web à partir des privilèges du vrai user Risque d’attaque si : - User interaction avec un site affecté - L’attaquant a réussi a prédire le session ID du user User peut ne pas se douter de l’intrusion

4 Environnements affectés
Cookies URL de sites web Champs de formulaires invisible pour l’utilisateur Tous les Framework d’applications web sont vulnérables

5 Attaques possibles Prérequis:
Posséder au moins 1 ID de session valide pour prédire/deviner les autres Analyser Déterminer l’algorithme de génération Attaques : Se connecter à l’application web avec ID de session trouvé Brute Force le prochain ID de session Échanger la valeur actuelle dans le cookie/URL avec l’ID du prochain user

6 Cas possibles Partage d’URL en étant authentifié
Timeouts mal définies (fermer l’app ne déconnecte pas) Capture de paquets non sécurisés

7 Exemple 1 Solution : Empêcher d’accepter les ID par GET/POST
session.use_only_cookies = ID dans URL Mis à 0 par défaut Encrypter le session ID

8 Exemple 2 - Solution : Intégrer configuration SSL

9 Exemple 3 GET /profile.php HTTP/1.1
Requête 1: GET / HTTP/1.1 Host: example.org User-Agent: Mozilla/5.0 Accept: text/xml, image/png, image/jpeg, image/gif, */* Cookie: PHPSESSID=1234 Requête 2: GET /profile.php HTTP/1.1 User-Agent: Mozilla/5.0 (compatible; MSIE) Accept: text/xml, image/jpeg, image/png, image/gif, */*

10 Exemple 3 solution <?php session_start();
if (isset($_SESSION['HTTP_USER_AGENT']) && $_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])) { /* Vérifier le mot de passe*/ exit; } else { $_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']); } ?>

11 Comment faire pour éviter
Indices d’occurrence : User: Le site répond différemment à une entrée du user Le site arrête de fonctionner pour une raison inconnue Host: Requêtes avec ID invalide Même IP pour chaque requête d’ID différent 2 ID connectés en même temps

12 Comment faire pour éviter
Solutions/mesures de sécurité : Grande source de hasard pour ID de session Agrandir l’ID Expirer l’ID Limiter nb d’erreurs de connection Brute Force Pas donner d’indice quant à l’origine de l’erreur Pas utiliser les informations du User pour générer Encrypter l’ID lorsqu’il est exposé au User ex : Rangé dans un cookie en format encrypté Pas exposer ID valide dans les URL/logs Accepter seulement ID générés par serveur

13 Conclusion Méthode doit être prise en compte:
Faille évidente et compromettante Peu rendre le site vulnérable Facilement évitable sécurité

14 Sources Prediction&gws_rd=cr&ei=egxRVpXKOcOoe6jokaAE


Télécharger ppt "Violation de Gestion d'Authentification et de Session"

Présentations similaires


Annonces Google