Exercice 3 - Systèmes d'exploitation · Bac Numérique et Sciences Informatiques Polynésie 2025 (jour 1)

Thème : Architectures matérielles et systèmes d'exploitation · Tiré du sujet Jour 1 (2025)

Énoncé

Partie C

Dans cette partie, on s'intéresse à la sécurité du gestionnaire de mots de passe d'Alice. Alice utilise un système d'exploitation multi-utilisateurs basé sur Linux et elle a les droits de lecture, d'écriture et d'exécution dans son répertoire personnel /home.

La base de données est stockée dans un fichier gestionnaire.db. Alice décide de chiffrer ce fichier. Elle crée un fichier chiffrement.py dans lequel elle écrit le code d'une fonction Python chiffrement dont la documentation est donnée ci-après.

def chiffrement(f_source, f_dest, f_cle):

'''Crée un fichier f_dest contenant les données

du fichier f_source chiffrées selon la clé

contenue dans le fichier f_cle.

f_source (str): chemin vers le fichier à chiffrer

f_dest (str): chemin vers le fichier chiffré

f_cle (str): chemin vers le fichier contenant la clé

''' On donne l'arborescence de fichiers utilisée par Alice sur la Figure 2.

Alice ouvre un interpréteur Python dans le répertoire Documents, qui est ainsi le répertoire courant (ou répertoire de travail) et exécute le contenu du fichier chiffrement.py.

L'algorithme de chiffrement consiste à appliquer l'opération OU-exclusif bit à bit entre le fichier source et le fichier contenant la clé de chiffrement.

Le premier bit du fichier chiffré est le résultat du OU-exclusif entre le premier bit du fichier source et le premier bit du fichier clé. De même, le deuxième bit est obtenu par le OU-exclusif entre les deuxièmes bits de ces deux fichiers et ainsi de suite.

On suppose, pour simplifier, que le fichier contenant la clé est de la même taille que le fichier source, qui est donc aussi la taille du fichier chiffré.

On rappelle ci-après la table de vérité du OU-exclusif, noté XOR.

Table de vérité du XOR a · b · a XOR b

0 · 0 · 0

0 · 1 · 1

1 · 0 · 1

1 · 1 · 0

On rappelle que l'hexadécimal correspond à l'écriture des entiers dans la base 16. Les chiffres de cette base sont notés 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Partie D

On donne ci-dessous quatre bonnes pratiques proposées par le gouvernement en matière de gestion des mots de passe.

P1: Utilisez un mot de passe différent pour chaque accès (messagerie, banque en ligne, comptes de réseaux sociaux, etc.): en cas de compromission de l'un de vos comptes, cela évitera l'effet boule de neige.

P2: Créez un mot de passe suffisamment long, complexe et inattendu, de 8 caractères minimum, contenant des minuscules, des majuscules, des chiffres et des caractères spéciaux.

P3: Ne communiquez jamais votre mot de passe à un tiers: aucune organisation ou personne de confiance ne vous demandera de lui communiquer votre mot de passe.

P4: Utilisez un gestionnaire de mots de passe: pas simple de retenir tous ses codes de connexion ! Heureusement des outils de type « coffres forts de mots de passe » existent. Ces derniers mémorisent tous vos mots de passe et vous permettent d'en générer de manière aléatoire.

Source: d'après https://cyber.gouv.fr/bonnes-pratiques-protegez-vous

13.

Alice ouvre un interpréteur Python dans le répertoire Documents, qui est ainsi le répertoire courant (ou répertoire de travail) et exécute le contenu du fichier chiffrement.py.

Écrire l'appel à la fonction chiffrement permettant, à l'aide de la clé contenue dans le fichier cle, de chiffrer le fichier gestionnaire.db en créant le fichier chiffré secret.db dans le répertoire Perso.

17.

Alice exécute la commande ls -l secret.db et obtient la réponse donnée ci-dessous:

-rw-r--r-- 1 alice eleves 42480 mars 25 11:57 secret.db Justifier le fait qu'un attaquant a le champ libre pour tenter un déchiffrement du fichier secret.db et expliquer ce que devrait faire Alice pour corriger ce problème.

Énoncé: Exercice 3 - Systèmes d'exploitation · Bac Numérique et Sciences Informatiques Polynésie 2025 (jour 1)

Corrigé

Corrigé proposé par AprenAI (non officiel)

13. Écrire l'appel à la fonction chiffrement permettant, à l'aide de la clé contenue dans le fichier cle, de chiffrer le fichier gestionnaire.db en créant le fichier chiffré secret.db dans le répertoire Perso.

Réponse : ```python chiffrement("gestionnaire.db", "../Perso/secret.db", "../Perso/cle") ```

La réponse de la question restante et l’explication pas à pas sont réservées aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

Exercice 2 - Question 1 · Polynésie 2023 (jour 1) ›

Plus d’exercices d’Architectures matérielles et systèmes d'exploitation