Comment auditer la sécurité des sessions d'une application ?
D’après Sécurité informatique
Revue de la configuration et de la conception
Cartographier les sessions : Identifier clairement comment se négocie et se maintient la session pour chaque service ou application. Quels protocoles ? Quels tokens ? Quelles durées ?
Examiner les logs : Vérifier qu’on dispose de logs pertinents pour diagnostiquer les problèmes de session, repérer les accès anormaux, etc.
Conformité aux bonnes pratiques : Les tokens de session sont-ils sécurisés (aléa suffisant, durée limitée, transmission via TLS) ? Y a-t-il un renouvellement après authentification ?
Tests d’intrusion (pentest) orientés session
Hijacking : Tenter de voler un token (via injection XSS, sniffing sur un canal non chiffré, etc.) et vérifier si l’attaquant peut réutiliser ce token.
Fixation de session : Forcer un utilisateur à adopter un token contrôlé par l’attaquant. Puis, après authentification du victime, l’attaquant voit s’il peut exploiter cette session.
Timeout : Vérifier que, après un certain délai d’inactivité, la session expire réellement côté serveur. Parfois, seules les variables côté client sont remises à zéro, alors que la session reste active côté serveur.
Rejeu : Réinjecter des messages passés (dans un protocole type RPC, SMB, etc.) pour vérifier si le serveur les accepte et exécute l’action de nouveau.
Stress test : Saturer la table de sessions (ou la mémoire associée) en ouvrant des sessions multiples, voir si le système finit par refuser les nouvelles sessions légitimes, menant à un déni de service.
