1. Les spécifications prévoient que seul le responsable crée les plans, mais aucune règle ne dit comment le vérifier ; le code ne contrôle rien. Il s'agit d'abord :
A d'un défaut d'implémentation
B d'un défaut de conception
C d'une vulnérabilité d'un composant
D d'une mauvaise configuration du serveur
Le contrôle nécessaire n'existe pas dans la conception : aucun code, même parfait, ne l'aurait réalisé. C'est la catégorie A06:2025 « conception non sûre ».
2. Quelle formulation est une exigence de sécurité vérifiable ?
A Le module doit être bien sécurisé.
B Les données sont protégées contre les pirates.
C Tout profil autre que Responsable reçoit un refus, journalisé, quand il appelle l'action de modification d'un plan.
D Le code utilise un framework réputé sûr.
Elle dit précisément ce qui est refusé, à qui, et se teste par un appel avec un compte Technicien. Les autres sont des intentions ou des moyens.
3. Dans STRIDE, la lettre R désigne :
A la répudiation : une action ne peut pas être imputée, faute de trace
B le rançongiciel
C la rétrogradation d'une connexion chiffrée
D le rejeu d'une requête
Repudiation : l'auteur peut nier une action. La mesure est une journalisation nominative et protégée ; la propriété atteinte est la preuve (B3-01).
4. Une frontière de confiance est :
A la limite géographique d'un hébergement en nuage
B la liste des utilisateurs habilités d'une application
C le pare-feu placé entre Internet et la DMZ
D la séparation entre deux zones de niveaux de confiance différents, où les données entrantes doivent être contrôlées
Exemples : tablette / serveur, application / base, Internet / API. Les flux qui la franchissent sont examinés en priorité avec STRIDE.
5. Quel code applique le refus par défaut pour l'action « gerer_plan » ?
A return $profil != 'Technicien';
B return !in_array($profil, ['Technicien', 'Consultation'], true);
C return in_array('gerer_plan', DROITS[$profil] ?? [], true);
D return $profil !== null;
Seule une liste blanche n'autorise que ce qui est écrit ; un profil inconnu ou absent reçoit un tableau vide, donc un refus. Les autres réponses sont des listes noires.
6. Pourquoi normaliser un libellé (forme Unicode NFC, espaces) avant de le valider ?
A pour qu'une même information n'ait qu'une écriture et que les contrôles (longueur, unicité) ne soient pas contournés
B pour le chiffrer plus vite
C pour remplacer la requête préparée
D parce que MariaDB refuse les accents
« chaudière » peut s'écrire en 10 ou 11 octets : sans forme canonique, deux valeurs identiques à l'écran seraient différentes pour le programme. La normalisation ne remplace ni la requête préparée ni l'encodage à l'affichage.
7. Une exception de base de données survient en production. La bonne réponse de l'application est :
A afficher le message de l'exception pour aider l'utilisateur
B activer display_errors le temps de comprendre
C ne rien afficher et continuer le traitement
D afficher un message générique avec une référence et écrire le détail dans le journal
Le détail technique renseigne un attaquant ; la référence permet au support de retrouver la ligne du journal. Continuer malgré l'erreur violerait l'échec sûr (A10:2025).
8. Un mot de passe a été versionné dans Git puis supprimé au commit suivant. Que faire en premier ?
A réécrire l'historique du dépôt
B rien, puisque le fichier n'existe plus
C changer le mot de passe (rotation), puis vérifier qu'il n'a pas été utilisé
D rendre le dépôt privé
Le secret reste dans l'historique et dans toutes les copies du dépôt : il est divulgué. Seule la rotation le rend inutilisable ; le nettoyage de l'historique vient après.
9. À quoi sert le fichier composer.lock versionné dans le dépôt ?
A à stocker les mots de passe des dépendances
B à empêcher toute mise à jour des composants
C à signer les livraisons
D à figer les versions exactes des composants, pour installer partout ce qui a été testé et permettre la veille
Il enregistre les versions résolues ; composer install les reproduit à l'identique, et composer audit --locked les compare aux avis de sécurité.
10. Kervanet veut faire vérifier KerResa, exposée sur Internet, point par point. Quel référentiel et quel niveau ?
A OWASP ASVS 5.0.0, niveau L2
B OWASP Top 10:2025, catégories A01 à A10
C OWASP ASVS 5.0.0, niveau L1 seulement
D la norme ISO/IEC 25010
Le Top 10 sert à sensibiliser ; l'ASVS est fait pour vérifier. L2 est le niveau visé pour une application exposée sur Internet et traitant des données de clients (charte de Vellacor).
Une question à la fois : choisis, vérifie, avance.
Vérifier
Question suivante
Voir mon score