Escape Game SQL

Durée2h30

Présentation

Objectifs

Dans cet escape game SQL, vous endosserez le rôle d’un expert en sécurité des données devant enquêter sur une potentielle intrusion dans un système de e-commerce. À la fin de cette session, vous serez capable de :

  • Analyser des logs de connexion et détecter des patterns suspects
  • Optimiser des requêtes SQL pour améliorer les performances
  • Mettre en place des mécanismes de sécurité et d’audit
  • Gérer les transactions et la concurrence dans un contexte critique
  • Appliquer les bonnes pratiques de sécurité des bases de données

Contexte

Vous êtes responsable de la sécurité chez BreizhDiscount, une plateforme de vente en ligne en pleine croissance. Le système vient de détecter des activités suspectes au cours des dernières 48 heures. Des transactions inhabituelles ont été signalées et plusieurs tentatives de connexion échouées ont été enregistrées.

Mission

Suite à ces événements suspects, vous devez mener une investigation approfondie pour identifier l’origine de ces activités, sécuriser les comptes potentiellement compromis et renforcer la sécurité du système. Votre mission se déroulera en trois phases critiques :

  1. Phase 1 : Investigation Initiale (45 min)

    • Analyse des tentatives de connexion suspectes
    • Identification des comptes potentiellement compromis
    • Détection des transactions inhabituelles
  2. Phase 2 : Investigation Approfondie (45 min)

    • Optimisation des requêtes d’analyse
    • Gestion des transactions atomiques
    • Résolution des problèmes de concurrence
  3. Phase 3 : Sécurisation du Système (1h)

    • Création de vues sécurisées
    • Mise en place des rôles et permissions
    • Implémentation d’un système d’audit

Base de Données

Structure

La base de données BreizhDiscount est architecturée autour de trois catégories principales de tables pour assurer le bon fonctionnement et la sécurité de la plateforme.

Au cœur du système se trouvent les tables transactionnelles qui gèrent les activités quotidiennes de la plateforme. Ces tables incluent les informations clients, les transactions et les tentatives de connexion, formant ainsi le socle des opérations commerciales.

En support de ces opérations, nous retrouvons les tables de référence qui enrichissent les données principales avec des informations contextuelles essentielles, comme les localisations géographiques et les détails des transactions.

Enfin, le système s’appuie sur des tables de sécurité et d’audit qui assurent la traçabilité et la sécurité de l’ensemble des opérations, permettant de détecter et d’investiguer toute activité suspecte.

Conseils

Référez-vous à cette documentation pour comprendre la nature d’une table quand vous en aurez besoin. Survolez les informations rapidement et revenez-y plus tard durant l’escape game.

Accès

Accès à la base de données

Pour accéder à la base de données vous allez vous connecter à l’espace JupyterHub qui contient déjà toutes les données nécessaires et les notebooks.

Accéder à la base de données

Vous devez impérativement faire au minimum un resetdb avant de commencer cette activité.

Consignes pour restaurer votre espace
  • Pour réinitialiser la base de données : à la base de vos dossier JupyterHub créez un nouveau fichier nommé resetdb
  • Pour réinitialiser votre espace de travail : à la base de vos dossier JupyterHub créez un nouveau fichier nommé resetworkspace. Attention tout sera effacé ! Sauvegardez ce que vous désirez conserver.
  • Ensuite il faut redémarrer le serveur :
    • Menu File > Hub Control Panel
    • Stop my server puis Start My Server

Ne téléchargez les fichiers suivants que si vous désirez les consulter hors de JupyterHub.

Téléchargez les fichiers suivant

A vous de jouer !

Pour rappel, en tant qu’expert en sécurité, vous devrez :

  1. Identifier les activités suspectes en analysant les logs et les transactions
  2. Sécuriser les comptes compromis et annuler les transactions frauduleuses
  3. Mettre en place des mécanismes de prévention pour éviter de futures intrusions
Conseils
  • Lisez attentivement les énoncés de chaque énigme
  • Consultez les notions de cours si vous ne conaissez pas les concepts ou un mot-clef
  • Ne consultez pas de suite les indices : prenez le temps de réfléchir 5 minutes et de réfléchir avec votre binôme avant de les regarder
  • Documentez vos découvertes au fur et à mesure
  • N’oubliez pas de noter les codes de validation pour vérifier le succès d’une phase
Prochaine étape

Êtes-vous prêt à relever le défi et à sécuriser le système ? Débutez votre investigation et mettez-vous sur la piste du hacker !

Continuer avec la phase 1