Vous êtes sur la page 1sur 6

Fiche Analyse de vulnérabilités logicielles

QCM :

1. Qu'est-ce qu'une vulnérabilité logicielle ?


• a) Une caractéristique positive d'un logiciel.
• b) Une faille permettant des actions non autorisées.
• c) Un programme antivirus.

2. Combien de vulnérabilités ont été publiées en 2020 ?


• a) Moins de 1,000.
• b) Environ 10,000.
• c) Plus de 18,000.

3. Quelle est l'approche recommandée pour découvrir les vulnérabilités, avec des
récompenses offertes par les entreprises ?
• a) Test unitaire.
• b) Bug Bounty.
• c) Audit de performance.

4. Quelle est la méthode la plus courante pour éviter les attaques XSS basées sur
DOM ?
• a) Encodage des entités HTML dans le texte.
• b) Utilisation de jetons CSRF.
• c) Validation des entrées.

5. Quelle est la principale contre-mesure contre l'injection SQL ?


• a) Encodage des entités HTML.
• b) Utilisation de requêtes préparées.
• c) Bug Bounty.
Questions ouvertes :

1. Expliquez en quoi consiste une vulnérabilité logicielle et donnez un exemple


concret.
• Réponse : Une vulnérabilité logicielle est une faiblesse dans un programme
qui peut être exploitée par une personne malveillante. Par exemple, une faille
dans un site web permettant à un attaquant d'accéder à des informations
confidentielles non autorisées.

2. Décrivez les étapes que le navigateur effectue lors de la visite d'un site web.
• Réponse : Le navigateur détermine le nom de domaine, trouve l'adresse IP
associée, établit une connexion TCP, envoie une requête HTTP, puis reçoit
une réponse HTTP du serveur.

3. Quelles sont les principales méthodes de protection contre les attaques XSS basées
sur DOM ?
• Réponse : L'encodage des entités HTML dans le texte est une méthode
efficace pour prévenir les attaques XSS basées sur DOM. Il est essentiel de
comprendre et d'appliquer des pratiques sécurisées de codage.

4. En quoi consiste l'injection SQL et comment peut-on la prévenir dans le


développement logiciel ?
• Réponse : L'injection SQL est une technique où des commandes SQL
malveillantes sont introduites dans une application web. Pour prévenir cela,
on peut valider les entrées, utiliser des requêtes préparées et suivre le
principe de moindre privilège.

QCM :

1. Qu'est-ce que l'Union SQL Injection ?


• a) Une technique pour supprimer des tables SQL.
• b) Une méthode pour ajouter de nouveaux enregistrements.
• c) Une approche consistant à joindre une requête forgée à la requête
originale.

2. Qu'est-ce que la Blind SQL Injection ?


• a) Une attaque où la base de données devient aveugle et cesse de
fonctionner.
• b) Une injection SQL qui ne génère pas de résultats visibles, mais permet à
l'attaquant de déterminer la vérité en fonction des réponses.
• c) Une méthode pour supprimer des enregistrements SQL.
Questions ouvertes :

1. Expliquez en détail ce qu'est l'Union SQL Injection et donnez un exemple de son


utilisation dans une attaque.
Réponse : L'Union SQL Injection est une technique d'injection SQL où
l'attaquant combine le résultat d'une requête forgée avec celui de la requête
originale en utilisant l'opérateur SQL UNION. Cela permet à l'attaquant
d'obtenir des valeurs de champs d'autres tables. Par exemple, en ajoutant
"UNION SELECT username, password FROM users" à une requête SQL
existante, un attaquant pourrait récupérer les noms d'utilisateur et les mots
de passe de la table des utilisateurs.

2. Qu'est-ce que la Blind SQL Injection et comment fonctionne-t-elle ?


Réponse : La Blind SQL Injection est une technique d'injection SQL où
l'attaquant ne voit pas directement les résultats de ses actions, mais peut
déterminer la vérité en fonction des réponses du système. Cela se fait
généralement en exploitant des conditions logiques dans la requête SQL. Par
exemple, en utilisant des affirmations vraies ou fausses, l'attaquant peut
déduire des informations sur la base de données sans voir les résultats
concrets.

3. Quels sont les principaux risques associés aux attaques par injection SQL, en
particulier lorsqu'il s'agit de la mise à jour de tables et de l'ajout de nouveaux
enregistrements ?
Réponse : Les risques associés aux attaques par injection SQL incluent la
possibilité de manipuler, mettre à jour ou supprimer des données dans la
base de données. Dans le cas de la mise à jour de tables, un attaquant
pourrait modifier des informations sensibles. L'ajout de nouveaux
enregistrements peut conduire à une compromission de l'intégrité des
données, avec des enregistrements malveillants ajoutés à la base de données.
Ces attaques peuvent entraîner des fuites d'informations, des pertes
financières et d'autres conséquences graves.
QCM :

1. Quelle instruction en assembleur permet de décrémenter une valeur ?


• a) sub
• b) dec
• c) decr

2. Quelle instruction réalise une multiplication en assembleur et sauvegarde le


résultat dans les registres eax et edx ?
• a) add
• b) mul
• c) div

3. Que fait l'instruction "cmp eax, ebx" en assembleur ?


• a) Compare les valeurs de eax et ebx et stocke le résultat dans eax.
• b) Compare les valeurs de eax et ebx sans modifier les opérandes et active le
drapeau Zéro (ZF) si elles sont égales.
• c) Ajoute les valeurs de eax et ebx et stocke le résultat dans eax.
Questions ouvertes :

1. Expliquez le fonctionnement des instructions "shl" et "shr" en assembleur. Donnez


un exemple d'utilisation.
Réponse : Les instructions "shl" (shift left) et "shr" (shift right) sont
utilisées pour décaler les bits d'une valeur vers la gauche ou la droite,
respectivement. Le décalage se fait de manière arithmétique, et les bits
décalés sont placés dans le drapeau de retenue (CF). Ces instructions sont
souvent utilisées pour des opérations telles que la multiplication ou la
division par des puissances de 2. Par exemple, "shl eax, 1" décalera les bits
de la valeur dans le registre eax d'une position vers la gauche.

2. Quelle est la différence entre les conventions d'appel de fonction "cdecl" et


"stdcall" ?
Réponse : La convention d'appel de fonction "cdecl" (calling convention)
implique que les paramètres sont placés dans la pile de droite à gauche, et
c'est à la fonction appelante de nettoyer la pile après l'appel. La valeur de
retour est généralement sauvegardée dans le registre EAX. En revanche, la
convention "stdcall" est similaire, mais la fonction appelée est responsable du
nettoyage de la pile après son exécution. "stdcall" est souvent utilisé par l'API
Windows.

3. Comment les boucles "for" et "while" sont-elles généralement construites en


assembleur ?
Réponse : Les boucles "for" en assembleur impliquent généralement une
initialisation, une comparaison, une incrémentation et un saut conditionnel.
Les boucles "while" sont similaires, mais elles n'incluent pas explicitement
une incrémentation. Leur structure est identifiée en analysant les étapes
d'initialisation, de comparaison et de saut inconditionnel.

4. Qu'est-ce qu'une jump table et dans quel contexte est-elle utilisée en


programmation en assembleur ?
Réponse : Une jump table est une structure de données contenant des
adresses de code associées à différentes branches d'une instruction de saut.
Elle est souvent utilisée pour optimiser les constructions de type "switch" en
assembleur. Plutôt que d'utiliser une série d'instructions conditionnelles, une
jump table permet de sauter directement à l'adresse associée à la valeur du
switch, améliorant ainsi l'efficacité de l'exécution.
QCM :

1. Quelle est la principale conséquence d'une vulnérabilité de Buffer Overflow ?


• A) Augmentation des performances du programme
• B) Risque d'exécution de code malveillant
• C) Amélioration de la stabilité du système
• D) Optimisation de la consommation de mémoire

2. Quel est le rôle du registre EIP dans une exploitation de Buffer Overflow ?
• A) Stocker les données utilisateur
• B) Contrôler l'exécution du programme
• C) Gérer les interruptions matérielles
• D) Optimiser la gestion de la pile

3. Qu'est-ce qu'un NOP Sled dans un exploit ?


• A) Une instruction qui arrête l'exécution du programme
• B) Une séquence d'instructions No Operation utilisée comme espace glissant
• C) Un moyen de contourner les protections mémoire
• D) Une technique de chiffrement des données

Question ouverte : Expliquez brièvement le concept de l'Address Space Layout


Randomization (ASLR) et comment il contribue à renforcer la sécurité en matière d'exploits.

Réponse ouverte : ASLR est une technique de sécurité qui implémente une randomisation
des adresses mémoires utilisées par les processus. Elle vise à rendre plus difficile la
prédiction des emplacements de la mémoire, rendant ainsi les attaques par débordement de
tampon plus complexes. En cas de faible entropie, il est possible de prédire certaines
adresses, mais ASLR introduit une couche supplémentaire de protection en rendant aléatoire
l'emplacement de la pile, des bibliothèques partagées et d'autres segments mémoire. Cela
contribue à renforcer la sécurité en rendant plus difficile pour les attaquants de cibler
spécifiquement des zones de mémoire connues.

Vous aimerez peut-être aussi