Le Raspberry Pi (RPI) pour enseigner la NSI (2/3)

Article proposé par le Groupe d’Expérimentation Pédagogique (GEP) NSI de l’académie de Versailles

Professeur expérimentateur

  • Magali Sauvergeat
  • Lycée Edmond Michelet – Arpajon (91)

Niveau - Thèmes

  • Lycée
  • Terminale
  • Bases de données : requêtes d’interrogation et de mise à jour d’une base de données
  • Bases de données : sécurisation des accès
  • Identifier les services rendus par un système de gestion de bases de données relationnelles
  • Interaction client-serveur, interaction avec l’utilisateur dans une page Web

Résumé

Cette ressource permet aux élèves de :

  • Comprendre concrètement le fonctionnement d’un serveur de base de données relationnelle (MariaDB) et son lien avec des sites web dynamiques (PHP).
  • Prendre conscience des vulnérabilités réelles en expérimentant par eux-mêmes des techniques d’attaque (injection SQL) dans un environnement contrôlé.
    Les injections SQL exploitent une faille de sécurité d’une application interagissant avec une base de données. Elles permettent d’injecter dans une requête SQL un élément qui compromet la confidentialité ou l’intégrité des données de la base.
  • Aborder l’enjeu du stockage des mots de passe en base de données.

Pré-requis

 Bases de HTML
 Bases de SQL
 Des connaissances en PHP peuvent être utiles, mais ici l’approche est inductive.

Outils utilisés / Matériel

  • Un Raspberry PI version 4 ou 3
  • Une borne wifi
  • Un ordinateur par élève

Gestion du groupe - Durée estimée

  • Demi-groupe - 2 * 2 heures

Préparation de la séquence - 1 heure

L’enseignant devra installer le RPI en suivant les étapes décrites dans la ressource Le Raspberry Pi (RPI) pour enseigner la NSI (1/3).
Il devra également exécuter le script « creer-TP.sh » contenu dans le zip ci-contre. piscript-nsi-TP.zip.

Déroulement de la séquence

Les deux séances proposées nécessitent deux heures de TP chacune, elles peuvent être réalisées indépendamment l’une de l’autre. Elles nécessitent l’installation d’un script. script.
L’enseignant fournit l’adresse IP du RPI.

Séance 1 : Serveur SGBD et serveur WEB (PHP)

  • Les élèves manipulent une base de données MariaDB via SSH, ils réalisent des requêtes SQL.
  • Ils analysent et modifient une page web dynamique en PHP en travaillant sur leur propre base sécurisée.
  • Cette séance permet de faire un rappel des notions de première sur l’interaction avec
    l’utilisateur dans une page Web, mais également permet de travailler les commandes UNIX et les requêtes SQL.
    Les élèvent suivent les indications du sujet de TP dans le fichier joint.

Séance 2 : Injection SQL

  • Les élèves expérimentent des injections SQL sur une application web volontairement vulnérable, afin de comprendre les failles de sécurité .
  • Les élèves trouvent les mots de passe hachés en MD5 d’utilisateurs fictifs, puis ils décodent ces mots de passe via un site web contenant les « Rainbow Tables » des mots de passe courants.
  • Ils comparent ensuite les codes PHP d’un site sécurisé vs le site vulnérable pour identifier concrètement les bonnes pratiques de programmation.

Les élèvent suivent les indications du sujet de TP dans le fichier joint, comme expliqué dans la vidéo ci-dessous.

Retour d’expérience

Les plus-values pédagogiques (enseignants / élèves)
  • Curiosité : Le thème de la cybersécurité et la découverte contrôlée des techniques de piratage informatique suscitent un vif intérêt chez les élèves. Le fait de comprendre comment une faille peut être exploitée, puis comment s’en protéger, leur donne un sentiment de compétence et d’utilité. Cela nourrit leur curiosité naturelle et renforce leur envie d’apprendre en donnant du sens aux notions théoriques abordées en cours.
  • Engagement actif : cette activité favorise l’engagement actif des élèves dans le processus d’apprentissage. Ils sont encouragés à participer activement, à réfléchir, à résoudre des problèmes et à interagir avec les autres élèves, ce qui renforce leur motivation et leur implication.
  • Apprentissage expérientiel : les activités pédagogiques offrent des opportunités concrètes aux apprenants d’expérimenter, de manipuler, de mettre en pratique leurs connaissances théoriques et de développer des compétences pratiques. Cela favorise une meilleure compréhension des concepts et permet aux apprenants de se familiariser avec les situations réelles.
Les points de vigilance
  • Prérequis techniques : L’activité repose sur de nombreux prérequis techniques, notamment en SQL, HTML et commandes UNIX. Il est essentiel que les élèves aient déjà été initiés à ces notions pour que l’activité soit fluide et bénéfique. Un temps de remise à niveau ou de rappel peut être nécessaire en amont pour garantir l’autonomie des élèves.
  • Résistance au changement : Certains élèves peuvent être peu réceptifs à cette forme d’enseignement plus expérimentale. Ils peuvent préférer des approches plus cadrées et théoriques, rendant leur implication plus délicate au départ.
  • Contraintes de temps : Les exercices de l’activité demandent un temps d’exécution conséquent. Selon le niveau des élèves, le temps imparti peut limiter l’atteinte des objectifs pédagogiques.
  • Matériel nécessaire : L’activité requiert un certain équipement : un ou plusieurs Raspberry Pi, un point d’accès Wi-Fi dédié, ainsi qu’un poste informatique fonctionnel par élève.
  • Taille de la classe : Dans des groupes à effectif élevé, la gestion de l’activité devient plus complexe. Le suivi individualisé et l’implication de tous les élèves peuvent être plus difficiles à garantir.

Partager

Imprimer cette page (impression du contenu de la page)