SACoche : Évaluer par compétences et valider le socle commun

Menu de gauche

SACoche est-il sécurisé ?


Introduction

Les paragraphes suivants indiquent les précautions prises pour sécuriser l'application.
Cependant, aucun programme ne peut prétendre être à l'abri d'une faille de sécurité (on en trouve fréquemment dans tous les logiciels).

Le code source de SACoche étant libre, chacun peut s'assurer de sa robustesse, et nous faire part de tout défaut.
C'est ainsi que Mathieu Degrange , que nous remercions vivement, nous a signalé en février 2016 des vulnérabilités qui ont été corrigées dans les heures qui suivirent.
De façon plus générale, l'application est mise à jour régulièrement, en toute transparence.

Enfin, rappelons qu'une application ultra-sécurisée n'est pas le seul élément à considérer :

  • utiliser un serveur d'hébergement bien configuré et régulièrement mis à jour est tout aussi important
  • les utilisateurs constituent souvent le maillon faible de la sécurité (mot de passe dévoilé, session laissée ouverte, etc.)

Protections mises en œuvre

Principes généraux
  • SACoche utilise un code professionnel pour échanger avec la base de données.
  • SACoche nettoie les données reçues, par formulaire, fichier, ou adresse web.
  • SACoche nettoie les données affichées dans les pages et documents.
  • SACoche vérifie la présence d'un jeton de validité pour les formulaires.
  • SACoche détecte une modification d'adresse IP ou de navigateur pour contrer un vol de session.
  • SACoche utilise le mécanisme de sécurité "Content Security Policy".
  • SACoche vérifie si l'utilisateur a un profil autorisé pour accéder à la page appelée.
  • SACoche bloque l'affichage de fichiers de code non destinés à être appelés directement.
  • SACoche intègre aux noms de fichiers créés par l'application une chaine aléatoire.
  • SACoche efface les fichiers créés par l'application au bout d'une durée adaptée.

SACoche est ainsi protégé des attaques exploitant les vulnérabilités habituelles :

Enfin, aucune donnée personnelle enregistrée n'est sensible, seul le minimum étant conservé par SACoche pour son fonctionnement.

Authentification
  • SACoche empêche la mémorisation du nom d'utilisateur et du mot de passe par le navigateur.
  • SACoche impose plusieurs secondes d'attente entre deux tentatives, ce qui empêche les attaques par force brute.
Mots de passe
  • Les mots de passe générés provisoirement comportent 8 caractères (lettres et chiffres).
  • Les mots de passe ne sont pas enregistrés en clair mais cryptés en MD5 (algorithme irréversible) couplé à un un salage qui empêche sa recherche à partir de son empreinte en utilisant une table arc-en-ciel.
  • Quand on change son mot de passe, SACoche donne un indicateur de sa robustesse et impose un minimum de 6 caractères.
Formulaire externe
  • En cas de demande de contact d'un administrateur, ou d'envoi d'un nouveau mot de passe, SACoche demande de résoudre un Captcha en imposant un délai pour répondre, afin d'éviter l'envoi de courriels par des robots.
Protocole sécurisé

Un serveur hébergeant SACoche peut être configuré pour utiliser le protocole https, afin d'assurer que les données transitant sur Internet sont chiffrées.
Ce n'est pas au niveau de l'application SACoche mais de la configuration du serveur que ceci se paramètre, indépendamment des applications.

Ce protocole est recommandé par la cnil, même si intercepter un échange http n'est pas à la portée du 1er venu (de plus, les données envoyées à SACoche ne sont pas sensibles).

Le serveur Sésamath hébergeant SACoche utilise ce protocole https (certificat SSL avec chiffrement de haut niveau, clefs AES 256 bits).

Serveur

Le serveur utilisé par Sésamath est un serveur dédié situé en France (Roubaix, 59) chez un hébergeur reconnu.
Ce serveur est hautement sécurisé : accès règlementés par badges et scanner d'empreinte digitale, vidéo surveillance couplée à des détecteurs de mouvement.


Des élèves disent qu'ils ont piraté le site !

Une fois qu'une page internet est chargée, il est possible d'en modifier les éléments affichés (textes, images, etc.) à volonté, et même pourquoi pas tout effacer (quel que soit le site).
Les navigateurs possèdent des outils de développement intégrés qui permettent aisément cette manipulation.

Cependant, il ne s'agit aucunement d'une faille logicielle !
En effet, les données enregistrées sur le serveur ne sont, elles, ni modifiées ni supprimées.

schéma client / serveur

Des élèves qui s'amusent ainsi croient souvent "avoir piraté le site", mais ce n'est qu'un leurre, car aucune de leur manipulation n'est enregistrée.
Ainsi, recharger la page fait immédiatement réapparaitre les bonnes informations.