SLAM Lascaux SujetZero Corrige
SLAM Lascaux SujetZero Corrige
SLAM Lascaux SujetZero Corrige
CAS Lascaux IV
Proposition de corrigé
Question A1.1
Indiquer si le tableau contenant les acteurs à l‟origine de malveillance est complet. Justifier votre
réponse.
Le tableau est incomplet car le guide et le responsable commercial ne sont pas mentionnés. Or,
ces partenaires internes à l‟entreprise peuvent divulguer des informations confidentielles sur les
visiteurs.
Question A1.3
Présenter ces conditions à Christine Berton.
Pour que les traces soient opposables en cas de contentieux, sans ambiguïté possible, leur
contenu et leur interprétation doivent être documentés, au sein de la convention de preuve du
service d‟achat en ligne, dans la politique de traçabilité : pour chaque trace, il convient de décrire
dans quel cas elle est produite, les éléments qui y figurent et le sens qu‟ils ont.
Question A.2.1
Proposer, pour les événements 1 et 3 fournis dans le tableau, les impacts pour l‟entreprise et une
estimation de leur gravité.
Numéro de
Événement Impact pour l‟entreprise Gravité
l'événement
Question A.2.3
Proposer un scénario de risque (abuser story) et des mesures à prévoir pour l‟événement redouté
numéro 3.
Question A.2.4
Proposer deux évènements redoutés en lien avec les besoins de sécurité du récit utilisateur (user
story) 15.
Les événements doivent concerner principalement l‟intégrité des données (cf tableau besoins de
sécurité)
Un attaquant accède à la base de données et injecte des commentaires non reliés à un
billet ;
Un attaquant accède à la base de données et ajoute des commentaires diffamatoires.
Question A3.1
Lister pour chacun des récits utilisateurs (user stories) numérotés 22 et 25, les actions à mettre en
œuvre pour respecter le RGPD.
Question B.1.1
a) Identifier les données personnelles présentes sur la représentation conceptuelle de la base de
données.
b) Identifier, parmi ces données personnelles, celles qui sont sensibles.
Les données sensibles forment une catégorie particulière des données personnelles dont le
traitement est particulièrement risqué. Il s'agit par exemple des informations qui révèlent la
prétendue origine raciale ou ethnique, les opinions politiques, les convictions religieuses ou
philosophiques ou l'appartenance syndicale, ainsi que des données concernant la santé ou la vie
sexuelle.
a) Identifier les données personnelles présentes sur la représentation conceptuelle de la base de
données.
Question B.1.3
Réaliser les modifications demandées dans le courriel de Denise Bradord.
ligne 3 : ajouter on R.idAcheteur = A.id pour éviter que toutes les réservations soient prises en
compte
ligne 6 : supprimer la jointure avec Langue, cette table étant inutile car aucune de ses données
n‟est à prendre en compte pour la requête
Remarque : si la base de données était gérée par un SGBD différent de MySQL (SQLServer par
exemple), la requête ci-dessus retournerait une erreur de syntaxe mais MySQL, plus tolérant à
l‟égard des comportements non conformes, accepte cette requête au niveau syntaxique.
Question B.2.1
Justifier la création du compte utilisateur et de ses caractéristiques.
Question B.2.3
Rédiger une courte note expliquant l‟intérêt d‟une vue en terme de sécurité.
Question B.2.4
Expliquer en quoi la modération des commentaires est un enjeu important pour Lascaux IV.
Question B.2.5
Proposer à Roger Zanches une requête pour répondre à son besoin.
SELECT COUNT(*)
FROM commentaire
WHERE idBillet IS NULL
Remarque : on exigera la présence du comptage, étant donné que l‟on demande uniquement de
rechercher l‟existence de commentaires non reliés à un billet. Un select ramenant des lignes de la
table Commentaire n‟est pas approprié ici, au regard du besoin.
Question B.3.1
Identifier et justifier les données devant être supprimées pour une mise en conformité vis à vis de
la fiche de registre établie par le DPO.
Suppression de la date de naissance. Cette date est saisie mais elle n‟a pas besoin d‟être
enregistrée : elle permet simplement de déterminer la tranche d‟âge du visiteur en vue de définir le
tarif du billet (déjà réalisé grâce à l‟association entre Billet et CategorieAge).
Suppression des coordonnées bancaires car elles ne servent que pour le paiement.
Suppression du sexe car il peut être déduit de la civilité.
Éléments de corrigé du diagramme de classes intégrant le corrigé des questions B3.1 et B3.2 :
Remarque : la fausse ternaire peut être représentée avec une agrégation, comme proposé dans le
corrigé fourni, mais il est également possible d‟utiliser une association d‟association, une pseudo-
entité ou une DF.
Question C.1.1
Identifier les faiblesses du script getVisiteur.php du point de vue de la cyber sécurité, en expliquant
leurs conséquences possibles sur le système.
Le code de la fonction n'est pas suffisamment sûr et permettrait une attaque de style "injection
SQL". La technique de requête préparée permet de se prémunir contre ces attaques qui
pourraient avoir des conséquences graves de corruption et d'effacement de données.
la fonction getVisiteurByQrCode ne teste pas le cas où le visiteur n'est pas trouvé dans la base
de données
$ligne = $req->fetch(PDO::FETCH_ASSOC);
if ($ligne == false) {
$erreur['erreur'] = “Pas de visiteur avec ce code QR”;
return json_encode($erreur);
} else {
return json_encode($ligne);
}
La première instruction n‟est pas exigée, mais les bonnes pratiques conseillent d‟utiliser la fonction
filter_input pour supprimer les balises et les caractères spéciaux des données transmises dans
$_POST.
Question C.1.3
Décrire les mesures à mettre en place pour éviter qu'un visiteur peu scrupuleux puisse scanner un
billet trouvé par terre ou dans une poubelle et ainsi effectuer une visite avec un billet déjà utilisé.
Question C.2.1
Rédiger la méthode doitChangerMdP() de la classe Guide.
modifARealiser = false;
}else{
//2-vérifier que le mot de passe n'a pas été utilisé durant les 12 derniers mois
LocalDate douzeMoisAvant = aujourdhui.minusMonths(12);
return modifARealiser;
}
Question C.2.3
Argumenter en faveur ou non de cette durée.
Si l‟on souhaite que le guide ne puisse pas utiliser un de ses anciens mot de passe, il n‟y a aucune
raison d‟exclure les plus anciens, car ces derniers sont tout aussi vulnérables que les plus récents.
Donc, la recherche devrait se faire sur tous les anciens mots de passe connus du guide.
Question D.1.1
Relever les numéros des propositions qu‟il faut rejeter à tout prix et justifier votre position pour
chacune des propositions rejetées.
Question D.2.1
Lister au moins trois préconisations qui devront apparaître dans la partie règle de sécurité du
contrat des sous-traitants devant effectuer des interventions sur le site de Lascaux IV.
Générer des comptes avec des restrictions pour chaque intervenant externe.
Mettre en place un cahier de suivi des interventions.
Interdire la mise en place des logiciels de contrôle à distance.
Mettre en place une clause de confidentialité.
Ne fournir au prestataire que les données nécessaires à leur intervention et, pour les données de
type client, prévoir un jeu de test ne reprenant pas les vraies identités.
Vérifier que les intervenants sont sensibilisés aux règles de sécurité informatique.
Ne donner accès qu‟au lieu, machine et programme concernés par l‟intervention.
Désigner un responsable chargé de vérifier le bon déroulement des interventions.
Toute autre proposition judicieuse peut être acceptée.