Volume 1 : Fondations Informatiques & Laboratoire Isolé/Module 1 : Découvrir la Cybersécurité, Éthique & Légalité
Comprendre la Cybersécurité : Triade CIA, Risques & Gouvernance
Comprendre la Cybersécurité : La Triade CIA & Gouvernance
La cybersécurité ne se résume pas à l'utilisation d'outils d'attaque ou de scripts automatisés. Elle constitue une discipline d'ingénierie rigoureuse visant à garantir la résilience, la conformité et la pérennité des systèmes d'information face aux menaces numériques.
---
1. La Triade C.I.A. (Fondement de la Sécurité des Systèmes d'Information)
Toute politique de sécurité des systèmes d'information (PSSI), toute norme internationale (ISO/IEC 27001, NIST SP 800-53) et tout mécanisme cryptographique reposent sur trois objectifs primordiaux :
``
[ CONFIDENTIALITÉ ]
/ \
/ SÉCURITÉ DE \
/ L'INFORMATION \
/ \
[ INTÉGRITÉ ] ----------------- [ DISPONIBILITÉ ]
`
A. La Confidentialité (Confidentiality)
La confidentialité garantit que les informations sensibles ne sont accessibles qu'aux entités (utilisateurs, processus, machines) dûment autorisées.
* Menaces types : Écoute clandestine (Eavesdropping, Man-in-the-Middle), fuites de données (Data Exfiltration), injection SQL avec extraction de table, vol d'identifiants.
* Mécanismes de protection : Chiffrement fort des données en transit (TLS 1.3) et au repos (AES-256-GCM), contrôle d'accès basé sur les rôles (RBAC), principe du moindre privilège, masquage et anonymisation.
B. L'Intégrité (Integrity)
L'intégrité assure que les données et les systèmes n'ont pas été altérés, modifiés ou corrompus de manière accidentelle ou malveillante entre leur création et leur consultation.
* Menaces types : Modification non autorisée de fichiers système (/etc/passwd, /etc/shadow), corruption de base de données, falsification de paquets réseau (ARP/DNS Spoofing), injection de logiciels malveillants.
* Mécanismes de protection : Fonctions de hachage cryptographique (SHA-256, BLAKE3), signatures numériques (RSA, Ed25519), moniteurs d'intégrité de fichiers (File Integrity Monitoring - FIM), contrôle de versions immuable.
C. La Disponibilité (Availability)
La disponibilité garantit que les services informatiques, les réseaux et les données restent opérationnels et accessibles aux utilisateurs légitimes chaque fois qu'ils en ont besoin.
* Menaces types : Attaques par déni de service distribué (DDoS volumétrique, SYN Flood), ransomwares bloquant l'accès au stockage, pannes matérielles, défaillances électriques.
* Mécanismes de protection : Redondance matérielle (RAID, alimentations doubles), équilibrage de charge (Load Balancing), clustering haute disponibilité (Kubernetes, AWS Auto-Scaling), sauvegardes hors-ligne (stratégie 3-2-1) et plans de reprise d'activité (PRA/PCA).
---
2. Authentification, Autorisation & Traçabilité (Le Modèle AAA)
Pour opérationnaliser la triade CIA, les architectures de sécurité mettent en œuvre le cadre AAA :
1. Identification : L'affirmation d'une identité (ex: transmettre son nom d'utilisateur admin).
2. Authentification (Authentication) : La preuve de cette identité (ex: mot de passe salé + jeton TOTP d'authentification multifacteur MFA).
3. Autorisation (Authorization) : La vérification des droits alloués à l'identité validée (ex: l'utilisateur a-t-il le droit de lire /var/log/audit.log ?).
4. Traçabilité / Imputabilité (Accounting / Non-repudiation) : L'enregistrement horodaté et infalsifiable de toutes les actions réalisées dans des journaux d'audit (Syslog, SIEM).
---
3. Exemple Pratique en Python : Calcul de l'Empreinte d'Intégrité
Voici comment un auditeur technique vérifie l'intégrité d'un fichier sensible en Python moderne à l'aide de la bibliothèque standard hashlib :
`python
import hashlib
from pathlib import Path
def verifier_integrite_fichier(chemin_fichier: Path, empreinte_attendue: str) -> bool:
"""
Calcule le hachage SHA-256 par blocs de 64 Ko pour éviter d'engorger la mémoire vive
sur de gros fichiers, puis compare en temps constant.
"""
if not chemin_fichier.is_file():
raise FileNotFoundError(f"Fichier introuvable : {chemin_fichier}")
hasher = hashlib.sha256()
with open(chemin_fichier, "rb") as f:
while chunk := f.read(65536):
hasher.update(chunk)
empreinte_calculee = hasher.hexdigest()
# Utilisation de secrets.compare_digest pour contrer les Timing Attacks
import secrets
est_valide = secrets.compare_digest(empreinte_calculee.lower(), empreinte_attendue.lower())
print(f"[*] Fichier : {chemin_fichier.name}")
print(f" Empreinte calculée : {empreinte_calculee}")
print(f" Statut d'intégrité : {'CONFORME' if est_valide else 'COMPROMIS / ALTÉRÉ'}")
return est_valide
``⚠️ IMPORTANT : > Un compromis sur l'une des branches de la triade CIA peut entraîner l'effondrement de l'ensemble du système. Par exemple, si l'intégrité d'un système d'exploitation est violée par l'injection d'un rootkit noyau, la confidentialité des données qui y transitent et la disponibilité des processus ne peuvent plus être garanties.
Informations
Formatarticle
Durée35 min
StatutEn cours
Laboratoire Virtuel Pratique
Pratiquez cette le?on dans le Terminal Linux et l'ex?cuteur WebAssembly Python en direct.
Ouvrir dans le Labo >_