Title: Cours d
1Cours d initiation à la sécurité informatique,
systèmes et réseaux
- Cyril Voisin
- cyril.voisin supinfo.com
2Prérequis
- Connaissances générales en informatique
- Connaissances réseau (couches OSI, TCP/IP)
- Notions sur larchitecture matérielle des PC et
sur le fonctionnement des systèmes dexploitation
multitâches - Du bon sens, de la logique, du sens critique
3Sommaire
- Introduction
- Module 1 rappels
- 1A - Rappels sur les notions fondamentales de
sécurité - Les bases (analyse et gestion de risques,
politique de sécurité, méthode, loi) - Les grands concepts
- Classiques
- Confidentialité
- Intégrité
- Disponibilité
- Autres
- Authentification (vs Identification)
- Non répudiation
- Anti-rejeu
- Concept émergent respect de la vie privée
- Les principes
- Absence de confiance
- Défense en profondeur
- Moindre privilège
- Réduction de la surface dattaque
- Besoin de savoir (interdiction par défaut)
- Bonne gestion
- Multiculture
- Notions de développement sécurisé
- Buffer overflows
- Cross site scripting
- Injection SQL
4Sommaire
- 1B - Rappels sur la cryptologie
- Définitions
- Cryptographie
- Cryptanalyse
- Notions fondamentales
- Histoire
- Principe de Kerckhoffs (XIXème siècle)
- Vocabulaire
- Cryptographie symétrique (clé secrète)
- Cryptographie parfaite
- Cryptographie asymétrique (clé publique / clé
privée) - Condensé (hachage)
- Notion de signature numérique
- Confiance en une clé publique
- Module 2 sécurité des systèmes
- 2A - Contrôle daccès
- De lauthentification à lautorisation
- Mots de passe
- Kerberos
- Annuaire
- Différents types de contrôles daccès (Mandatory
Access Control vs Discretionary Access Control,
Role Based Access Control) - Audit
- RADIUS
- Authentification forte (carte à puce, token
SecurID, Audiosmartcard)
5Sommaire
- 2B - Systèmes dexploitation
- Notion de TCB, de Reference Monitor et de
Security Kernel - Modèles de sécurité (Bell-Lapadula, Biba,
Clark-Wilson, Brewer-Nash) - Critères communs (CC)
- Canaux cachés
- Stéganographie
- Backdoors
- Quelques exemples
- Trusted Solaris
- Security Enhanced Linux
- Windows
- 2C - Aperçu darchitectures matérielles
- La sécurité physique
- Les signaux compromettants (Tempest)
- Cartes à puce
- Cartes crypto accélératrices
- Innovations dans les CPU (NX)
- NGSCB
6Sommaire
- 2D - Applications
- Bases de données
- Applications Web
- Portails
- Gestion de droits numériques
- Applications bureautiques
- Systèmes embarqués fixes et mobiles (téléphones,
PDA) - Web Services (standards WS-Security et au dessus)
- 2E - Codes malveillants
- Virus
- Ver
- Cheval de Troie
- Espiogiciel
- Menaces combinées
- Canulars
- Phishing
- Moyens de prévention
- 2F Outils de sécurité
- Antivirus
- Anti-spyware
- Scanners de vulnérabilités
- Gestion de la sécurité
- Patch management, ex WSUS
- EFS
7Sommaire
- Module 3 sécurité des réseaux
- 3A - Rappels
- Couches OSI
- Menaces couches basses
- Menaces sur les équipements réseau
- IP
- Protocoles courants (TCP, UDP, ICMP)
- PABX
- Bonnes pratiques
- 3B - Pare-feu
- Pare-feu
- Filtrage de paquets
- SPI (Stateful Packet Inspection)
- Pare-feu applicatifs
- Réflexions
- Architectures type de pare-feu dentreprise (DMZ,
NAT) - Pare-feu personnels
- 3C- Détection et prévention dintrusion
- IDS
- IPS
- NIDS / HIDS / modules noyaux
- Problèmes courants
- Techniques de détection et dévasion
- Exemples de produits
- Règles de signatures
- Normalisation
- Les pots de miel
8Sommaire
- 3D Protocoles
- IPsec
- AH
- ESP
- VPN
- PPTP
- L2TP/IPsec
- SSL/TLS
- SSH
- 3E - Quarantaine
- Quarantaines des accès distants
- Quarantaine LAN (NAP/NAC)
- 3F - Wi-Fi
- Options de sécurité possibles (dont faiblesses de
WEP,VPN) - Historique
- 802.1x
- RADIUS
- EAP-TLS
- PEAP-EAP-TLS
- WPA (dont TKIP, PSK)
- 802.11i (WPA2)
- Exemple de mise en œuvre Windows
9Évaluation
- Un test en fin de cours
- 2 heures, sans document
- Forme non définitive
- Formule mixte
- Une partie de QCM / questions à réponses courtes
(15 points environ) - Questions du support de cours (ou peu éloignées
du contenu du cours) - 2 à 4 points sur des points évoqués durant les
heures de cours - Une partie rédigée (de -5 à 5 points environ) de
manière concise et argumentée - Sur un ou des problèmes de synthèse (analyse /
réflexion) - Peut donner lieu à une note négative
- Formule QCM
10Introduction
11Introduction
- Les systèmes dinformation remplissent des
fonctions critiques dans les organisations et
états modernes - Ordinateurs
- Réseaux dentreprise
- Systèmes de communication (PABX, réseaux telecom,
satellites) - Infrastructures critiques (énergie, défense)
- Systèmes embarqués
-
- Convergence numérique (Internet, téléphonie,
domotique, dématérialisation de procédures) - Risques liés à une dépendance grandissante
12Pourquoi pour quoi ?
- Les organisations doivent protéger leurs biens
pour prospérer, voire survivre - La sécurité informatique nest quun pan de la
sécurité de linformation, elle-même incluse dans
la notion de sécurité - Quelques biens à protéger
- Matériel
- Documentation
- Logiciels
- Données
- Réputation, image
13Sécurité - définitions
- Sécurité
- Situation dans laquelle quelquun, quelque chose
n'est exposé à aucun danger, à aucun risque
d'agression physique, d'accident, de vol, de
détérioration - Situation de quelquun qui se sent à l'abri du
danger, qui est rassuré - Sécurisé
- Quest-ce qui a été sécurisé ? Par rapport à quoi
? A qui ? Contre quoi ? Pour combien de temps ?
Jusquà quel niveau dattaque ? - ? La sécurité est une notion relative à un
contexte
14De la relativité de la sécurité
- The only truly secure system is one that is
powered off, cast in a block of concrete and
sealed in a lead-lined room with armed guards -
and even then I have my doubts. - Eugene H. Spafford (http//www.cerias.purdue.edu/h
omes/spaf/quotes.html)
15Lavantage de lattaquant et le dilemme du
défenseur
- Principe n1 Le défenseur doit défendre tous les
points lattaquant peut choisir le point le plus
faible - Principe n2 Le défenseur ne peut défendre que ce
quil connaît lattaquant peut rechercher des
points vulnérables - Principe n3 Le défenseur se doit dêtre vigilant
en permanence lattaquant peut attaquer quand il
le veut - Principe n4 Le défenseur doit respecter les
règles lattaquant peut faire ce quil veut
16Les 3 facettes de la sécurité
Architecturesécurisée
17Une activité continue
- La sécurité ne se met pas en œuvre en une seule
fois. - Elle fait partie intégrante du cycle de vie du
système. - Il sagit dun processus itératif qui nest
jamais fini et doit être corrigé et testé
régulièrement. - La sécurité absolue est inatteignable, cest un
voyage, pas une destination (cf An 2000 sans date
butoir)
18Module 1Rappels
- 1A - Rappels sur les notions fondamentales de
sécurité
19Rappels
- Ce que nous ne verrons pas
- Analyse et gestion de risque
- Politique de sécurité
- Normes, standards, méthodes
- Norme ISO 17799
- MARION, MEHARI, MELISA, EBIOS
- ITIL
- Modélisation des menaces
- La veille le rôle des CERT
- Aspects juridiques (loi Godefrain, loi sur la
sécurité financière, LCEN, jurisprudence en
matière de cybersurveillance)
20Concepts
- Les 3 grands classiques
- Confidentialité
- Intégrité
- Disponibilité
- Les autres
- Authentification (vs Identification)
- Non répudiation
- Anti-rejeu
- Concept émergent respect de la vie privée
21Confidentialité
- Disponibilité et divulgation limitées aux seules
entités autorisées - Ex
- Empêcher la lecture de données pendant la
transmission ou le stockage pour des personnes
non autorisées - Seuls lexpéditeur et le destinataire dun
message connaissent linformation - Ma recette du mi-cuit au chocolat nest connue
que de moi et de ma sœur
22Intégrité
- Absence daltération ou de destruction
- Ex
- Protection contre une modification non autorisée
- Vérification quun message na pas été modifié
- Ma recette du mi-cuit au chocolat na pas été
modifiée sans que je men rende compte
23Disponibilité
- Capacité à répondre à un instant précis, à être
accessible dans des conditions définies de
performance, dhoraires - Ex
- les données sont accessibles au moment où on en a
besoin (pas de déni de service pour une personne
autorisée) - Lorsque je veux faire un mi-cuit au chocolat,
je peux accéder à ma recette
24Authentification
- Vérification / validation dune identité dune
entité - Ex
- Vérifier lidentité dun utilisateur, dune
machine ou dun programme - Connaître de manière sure celui qui a envoyé le
message - Remarque lidentification est laction de
fournir son identité proclamée (ex nom
dutilisateur)
25Non répudiation
- Impossibilité de nier avoir participé
- Ex
- Lexpéditeur dun message ne peut pas prétendre
ne pas lavoir envoyé - Le destinataire dun message ne peut pas
prétendre ne pas lavoir reçu
26Anti-rejeu
- Impossibilité de rejouer une séquence
dévénements ou dactions enregistrés - Ex
- Les données interceptées ne peuvent pas être
utilisées pour se faire passer pour lémetteur
original - On ne peut pas enregistrer les transmissions
effectuées lors dune transaction entre deux
entités et les rejouer pour provoquer une
nouvelle transaction valide
27Concept émergent
- Notion de protection de la vie privée
- protection contre la découverte et la mauvaise
utilisation de son identité - Ex
- Anonymat
- Pseudonymat
- Absence de possibilité détablir des liens
- Impossibilité dêtre observé
- Maturité et sensibilité plus importante en Europe
- Respect de la vie privée souvent menacé par des
impératifs damélioration de sécurité (cf USA et
les attentats du 11 septembre 2001)
28Quelques grands principes
- Absence de confiance / méfiance par défaut
- Défense en profondeur
- Moindre privilège
- Réduction de la surface dattaque
- Besoin de savoir
- Bonne gestion
- Multiculture
29Défiance et méfiance par défaut
- Absence de confiance sans fait ni preuve
- Quoi quil en soit, la complexité des SI est
telle quil arrive toujours un moment où il faut
accorder un minimum de confiance (lapproche
paranoïaque a donc ses limites) - Qui plus est, les faits produits sont en général
insuffisants pour fournir une certitude absolue
(si ce nest celle de ne pas pouvoir avoir de
certitude absolue)
30Défense en profondeur
- Idée mettre en place plusieurs barrières pour
protéger ce qui doit lêtre de façon à ce que si
une des barrières venait à être franchie - Mise en place de différentes couches de
protection (au moins 2) à différents niveaux - on raisonne toujours comme si les autres éléments
de protection nallaient pas fonctionner - Couches
- Physique
- Réseau
- Machine
- Application
- Données
31Moindre privilège
- Ne jamais utiliser plus de privilèges que ce qui
est le minimum nécessaire pour réaliser une tâche
quon a le droit daccomplir - Exemples
- Pour lire un fichier, on ne demande pas les accès
en lecture / écriture - Pour exécuter un programme de lecture de-mails
on nutilise pas un compte administrateur / root
32Réduction de la surface dattaque
- La surface dattaque est lensemble de ce qui
peut être utilisé par un attaquant pour réussir
son attaque (ports réseau ouverts, services en
cours dexécution, privilèges des comptes sous
lesquels ces services sexécutent, permissions
sur les fichiers, ) - Il faut avoir la surface dattaque la plus petite
possible (moins de points de vulnérabilité
possibles) - Exemple
- Éviter les installations par défaut (comptes par
défaut, composants par défauts, exemples
pré-installés) - Ne pas installer de composants dont on ne se sert
pas / désinstaller ceux qui sont inutilisés - Installer les services avec des comptes aux
privilèges réduits (ne pas sombrer dans la
facilité de tout mettre administrateur ou root)
33Besoin de savoir
- Pendant du principe du moindre privilège pour le
contrôle daccès - Interdiction par défaut TOUT est interdit
implicitement SAUF ce qui est autorisé
explicitement - Nest autorisé que ce qui est nécessaire pour
réaliser les tâches attribuées
34Bonne gestion
- Le système dinformation pour être sécurisé se
doit dêtre bien géré - Ceci suppose
- Une politique de sécurité bien définie avec ses
procédures associées - Des personnes formées
- Des technologies qui peuvent être administrées
efficacement - Exemples
- Un pare-feu bien géré est avant tout un pare-feu
maîtrisé
35Multiculture
- Quand on est en mesure de bien gérer les produits
que lon utilise, on peut les panacher et les
installer en cascade / redondance - Exemple
- 2 pare-feu de technologies et de constructeurs
différents en cascade à lentrée du réseau - 2 antivirus (un sur les passerelles et/ou les
serveurs, un sur les postes de travail) - Attention multiplier les technologies sans les
maîtriser est plus risqué que de navoir quune
seule technologie bien gérée
36Notions élémentaires de développement sécurisé
- Quelques attaques
- Buffer overrun (stack overflow, integer overflow)
- Cross site scripting
- Injection SQL
-
- Ou pourquoi il ne faut jamais faire confiance aux
paramètres transmis par lutilisateur ( NEVER
TRUST USER INPUT )
37Buffer overflow
- Le premier connu le ver de Morris
- Article dans Phrack Magazine Smashing the stack
for fun and profit - http//www.phrack.org/show.php?p49a14
- En gros
- Passage dun shellcode dans un tampon mal
contrôlé - Remplissage avec instructions sans effet (NOP par
exemple) - Éventuellement, camouflage par encodage avec XOR
- Écrasement dune structure intéressante
- Saut vers le début du shellcode
38Buffer overrun
Piraté!
39Solutions
- Former les développeurs
- Utiliser des outils danalyse du code source
- Microsoft Prefast
- RATS (Rough Auditing Tool for Security)
- Pour les problèmes de débordement de pile
- Rendre la pile non exécutable de manière
logicielle - Linux openwall
- Solaris
- ajout dans /etc/system
- set noexec_user_stack1
- set noexec_user_stack_log1
- Utiliser des compilateurs faisant appel à des
canaries - StackGuard (dérivé de gcc)
- Option /GS de Visual Studio
- Rendre les pages de données non exécutables (cf
fonctions DEP NX/EPB des nouveaux processeurs)
40Cross Site Scripting (XSS)
- Vulnérabilité très courante
- Une faille côté serveur sert à compromettre le
client - Lerreur consiste simplement à reproduire les
entrées utilisateur sans les valider !
41XSS en Action (Scénario)
Les acteurs
42XSS en Action
bienvenue.asp Bonjour lt request.querystring(na
me)gt
43XSS en Action
44Injection SQL
- if (isPasswordOK(Request.form("name"),Request.form
("pwd"))) Response.write("Authenticated!")
// Do stuff else Response.write("Access
Denied")
45Injection SQL
function isPasswordOK(strName, strPwd)
var fAllowLogon false var oConn new
ActiveXObject("ADODB.Connection") var
strConnection"Data Sourcec\\auth\\auth.mdb"
oConn.Open(strConnection) var strSQL
"SELECT count() FROM client WHERE "
"name'" strName "' " " and pwd'"
strPwd "'" var oRS new ActiveXObject("ADOD
B.RecordSet") oRS.Open(strSQL,oConn)
fAllowLogon (oRS(0).Value gt 0) ? true false
oRS.Close() delete oRS oConn.Close()
delete oConn return fAllowLogon
46Où est le problème ?
Gentil Username cyril Password
y-)4HiQw8 SELECT count() FROM client WHERE
namecyril' and pwd'y-)4HiQw8'
Méchant Username b' or '1' '1 Password b' or
'1' '1 SELECT count() FROM client WHERE
name'b' or '1''1' and pwd'b' or '1''1'
47Module 1Rappels
- 1B - Rappels sur la cryptologie
48Cryptologie
- La science du secret
- Définitions
- Cryptographie
- Littéralement art des écritures cachées
- Chiffrement et déchiffrement
- Cryptanalyse
- Décryptage sans connaissance de la clé
- Objectif déjouer les mécanismes mis en place
dans le cadre de la cryptographie
49Histoire
- A été un enjeu de pouvoir
- Usage contrôlé réservé à létat (militaires,
services de renseignements, diplomates) - La cryptographie a été libérée en France en 1999
(choix de protection des activités commerciales
et de la vie privée et reconnaissance que les
activités malveillantes en tiraient déjà parti) - Quelques exemples
- Scytale spartiate (http//www.apprendre-en-ligne.n
et/crypto/transpo/scytale.html) - Chiffre de César
- Enigma
50Les 6 principes de Kerckhoffs
- Le 2ème est le plus connu Il faut quil
nexige pas le secret, et quil puisse sans
inconvénient tomber entre les mains de
lennemi - Journal des sciences militaires (janvier/février
1883) - Toute méthode de chiffrement est considérée comme
publique et la sécurité du système ne dépend que
du choix des clés - Bien sûr la méthode na pas à être publique mais
doit être considérée comme telle quand on
lévalue - Signifie que la sécurité NE sobtient PAS que par
lobscurité - http//www.petitcolas.net/fabien/kerckhoffs/index.
html
51Sondage
- Quest-ce qui est le plus fort (difficile à
casser) ? - AES 256
- RSA 512
52Vocabulaire
- Chiffrement transformation dun message
intelligible ( message en clair) en message
incompréhensible (cryptogramme) à laide dun
algorithme approprié et dune clé de chiffrement - La transmission du message chiffré peut alors se
faire par un support qui peut être non sécurisé - Déchiffrement opération inverse au chiffrement
à laide de la clé de déchiffrement et de
lalgorithme inverse à lalgorithme de
chiffrement (nécessite que ce dernier soit
réversible)
53Chiffrement symétrique
Clé secrète partagée
Même clé pour le chiffrement et le déchiffrement
Algorithme chiffrement
Chiffrement par l'Utilisateur1
Clé secrète partagée
Algorithme de déchiffrement
Déchiffrement par l'Utilisateur2
54Cryptographie symétrique
- Aussi dite à clé secrète (partagée)
- On chiffre et déchiffre avec la même clé
- En principe le moteur est aussi symétrique
- Le chiffrement peut se faire par flux ou par bloc
(CBC, ECB, CFB, OFB)
55Cryptographie symétrique
- Avantages
- Vitesse élevée de chiffrement / déchiffrement
- Longueur de clé variable pour plusieurs
algorithmes - Inconvénients
- Léchange de manière sécurisée de la clé partagée
peut être difficile - La gestion des clés peut être difficile
56Cryptographie parfaite
- Inventée par Vernam en 1926
- Chiffre à usage unique - One time pad (OTP)
- La clé a la même longueur que le message
- Message chiffré Message XOR CléCM ? K
- Utilisé par les espions et les téléphones rouges
- Problème réutilisation de la clé
57Chiffrement asymétrique
Clé publique de l'Utilisateur2
Clé privée de l'Utilisateur2
Utilisateur1
Utilisateur2
Texte en clair
Texte chiffré
Texte en clair
58Cryptographie asymétrique
- Aussi dite à clé publique / clé privée
- Beaucoup plus récente que la cryptographie
symétrique (années 70). Les plus connus - 1976 Diffie Hellman
- 1977 RSA par Rivest, Shamir et Adleman
- Les 2 clés de la paire sont liées entre elles
mathématiquement - Ce qui est chiffré avec lune ne peut être
déchiffrée quavec lautre - Une des clés est révélée à tout le monde et est
dite publique , lautre est secrète, dite
privée , et doit le rester pour authentifier
son possesseur - Propriété connaissant la clé de chiffrement, il
est impossible de trouver dans un temps
raisonnable la clé de déchiffrement (et
réciproquement) - 1000 fois plus lent que la chiffrement symétrique
59Condensé (hash)
Fonction de résumé
Texte en clair
Condensé (sceau)
60Condensé (fonction de hachage)
- Associe à toute suite de bits, un nombre de bits
prédéterminé via une fonction publique non
inversible presque injective - Caractéristiques
- Facilité de calcul étant donné une suite de
bits, il est facile de calculer le condensé - Irréversible étant donné le condensé, il est
difficile de calculer la suite de bits - Sans collisions étant donné un suite de bits
donnée, il est difficile de trouver une autre
suite de bits différente ayant le même condensé
(donc la fonction nest pas injective mais sen
approche) - Utilisé pour assurer lintégrité de messages, de
fichiers, de données transmises, de programmes
61Algorithmes de hachage courants
- MD4 (Message Digest 4)
- 128 bits (16 octets), très rapide, approprié pour
des usages de sécurité moyens - RFC 1320
- MD5 (Message Digest 5)
- 128 bits (16 octets), rapide, plus sécurisé que
MD4, très utilisé - RFC 1321
- Attention collisions détectées en 2004
- SHA-1 (Secure Hash Algorithm, standard du NIST)
- 160 bits (20 octets), plus lent que MD5
- FIPS 180-1
62Condensé
- Problème comment assurer lauthenticité dun
condensé ? - Le stocker dans un endroit protégé
- Le signer
63Signature numérique
- Pour signer un document, on chiffre seulement son
hash (il nest pas nécessaire de chiffrer tout le
document !), avec sa clé privée - Attention à la résistance aux collisions de la
fonction de condensé pour garantir avec un niveau
de confiance élevé que cest bien ce document qui
a été signé
64Signatures numériques
3
Fonction de résumé
Condensé chiffré
5
Clé privée de l'Utilisateur1
Clé publique de l'Utilisateur1
2
Condensé
4
Fonction de résumé
1
Texte brut
Comparaison
6
Utilisateur1 (émetteur)
Utilisateur2 (destinataire)
65Confiance en la clé publique
- Web of trust (PGP)
- PKI
- Notion de certificat numérique X509v3
- Autorités de certification racines
66Module 2Sécurité des systèmes
67Contrôle daccès
- Le contrôle daccès est le modèle de mise en
place dautorisations (ex Cyril a besoin de
permissions pour accéder à cette ressource) - Il est nécessaire pour permettre
- Aux utilisateurs autorisés daccéder aux
ressources dont ils ont besoin - Dempêcher les autres utilisateurs (non
autorisés) daccéder aux ressources
68Contrôle daccès
- Il recouvre
- Lidentification lentité indique qui elle est
( son identité, ex je suis Cyril) - Lauthentification vérification / validation de
lidentité dune entité (ex lutilisateur est
bien Cyril) - Lautorisation vérification / validation quune
entité a la permission daccéder à une ressource
(ex Cyril a la permission daccéder à cette
ressource)
69De lauthentification à lautorisation
- Avant daccorder des permissions ou des
privilèges, il est important de savoir à qui ou à
quoi on compte les accorder. Lauthentification
précède donc lautorisation - Lauthentification la plus courante est celle des
utilisateurs (on peut aussi authentifier un
service, une machine) - Il existe plusieurs méthodes pour authentifier
- Le savoir (ex mot de passe)
- La possession (ex jeton)
- Lêtre (ex biométrie)
- Le savoir faire (ex signature manuscrite)
70De lauthentification à lautorisation
- Pour des questions pratiques et de sécurité on
utilise des systèmes dauthentification
centralisée (OS, contrôleur de domaine, serveur
dauthentification)
71Autorisation
- Basée sur des critères daccès
- Rôle
- Groupe
- Emplacement physique ou logique
- Heure
- Type de transaction
- Par défaut, dans un système sécurisé, laccès
devrait être refusé (si rien nautorise
explicitement laccès alors il doit être
implicitement refusé) - Ex pare-feu
- Principe du besoin de savoir
72Mots de passe
- Moyen le plus courant et aussi le plus faible
- Les mots de passe ne sont JAMAIS stockés en
clairs - Ils sont stockés sous forme de hash (la fonction
de hash est censée fournir si possible un hash
unique et irréversible) - Ensuite, lors de la saisie du mot de passe on
calcule le hash et on compare à celui que lon a
stocké
73Mots de passe
- Sous Unix
- Le hash est obtenu en chiffrant avec DES56 une
chaîne vide (64 bits) avec comme clé le mot de
passe puis en recommençant (25 fois en tout) - Attention 8 caractères pris en compte maxi
- Un salt de 12 bits est utilisé pour que 2 mots de
passe identiques ne génèrent pas le même hash - Autrefois stocké dans /etc/passwd (accès en
lecture !) - Maintenant dans /etc/shadow accessible uniquement
par root (peut toujours être récupéré par accès
physique au disque, comme dans tout système
dexploitation)
74Mots de passe
- Sous Windows 9X
- LMHash
- Le mot de passe ne peut pas excéder 14 caractères
- Il est découpé en 2 blocs de 7 caractères, mis en
majuscules (la casse ne compte pas!!) - Un demi-hash séparé est créé pour chaque bloc (en
utilisant les 7 caractères comme clé DES pour
chiffrer une chaîne constante) - Attention il ny a pas de salt !
- Il existe des tables pour casser les LMHashes en
quelques secondes (cf RainbowCrack de Philippe
Oechslin)
75Mots de passe
- Sous NT
- NTHash
- MD4 (128 bits)
- Pas de salt !!
- NTLM (challenge/response) lors dune ouverture
de session en domaine - Le contrôleur envoie un message aléatoire au
client (challenge), - Le client chiffre le challenge avec le hash du
mot de passe comme clé et envoie la réponse au
contrôleur - Le contrôleur fait le même calcul et compare le
résultat - Attention
- La réponse par défaut sur les anciens systèmes
comporte une double réponse (NTHash et LMHash) - Une attaque Man-in-the-middle est possible
76Mots de passe
- Stockage des hashes sous Windows
- Soit dans la base locale (SAM), soit dans Active
Directory (ntds.dit) - Fichier chiffré (depuis W2K) avec SYSKEY (clé
potentiellement exportable en mode 2 et 3) - Déchiffrable par administrateur (cf pwdump3)
- Si non chiffré, peut être volé par accès direct
au disque dur avec OS éteint - On peut désactiver les LMHashes NoLMHash
77Cassage de mots de passe
- Évidence il faut disposer des hashes ou de
quelque chose dérivé des mots de passe ou de
leurs hashes (hash de hash par ex.) sauf si on
arrive à faire révéler le mot de passe
directement par un utilisateur (ingénierie
sociale) - Ensuite, comme les hashes sont irréversibles, il
existe des outils pour recalculer les hashes et
vérifier quon a trouvé le bon mot de passe - Dictionnaire
- Force brute
- Ici intervient limportance de la force du hash
mais aussi et surtout la force du mot de passe
choisi par lutilisateur - Politique de longueur et de complexité de mots de
passe, différence avec les mots de passe
précédents, durée de vie, nombre de tentatives
erronées
78Choix dun bon mot de passe
- Eviter les attaques de dictionnaires et hybrides
- Ne contient aucun nom ou mot
- Symboles/chiffres/accents aussi au début
- 15 caractères (si on na pas désactivé le LMHash,
sinon 10 caractères) - Position sur le clavier (attention aux espions)
- ex àço09O_èu87U-(t
- Initiales dune phrase, plus df0rm_at_tions non
triviales - ex Tc1j,jràNYat!
79Kerberos
- Dans la mythologie grecques, nom du chien à 3
têtes gardant lentrée des enfers - Conçu dans les années 80 par le MIT
- Moyen dauthentification dans des systèmes
répartis (permet le single sign on entre
différents environnements) - Introduit initialement sur Unix, apparu dans
Windows depuis Windows 2000 Server (remarque
par rapport à NTLM, plus dattaque
Man-in-the-middle)
80Kerberos
- Les principaux composants
- KDC (Key Distribution Center)
- Possède toutes les clés secrètes
- Il propose le service dauthentification
- Les clients et les services partent du principe
que le KDC est intègre - Principals (entités tels que des utilisateurs,
des applications, des services) - Partage avec le KDC une clé secrète (symétrique)
- Ticket
- Généré par le KDC quand un principal a besoin de
sauthentifier auprès dun autre principal - Realm (royaume / domaine)
- Ensemble logique de principals
81Kerberos
- Services fondamentaux
- Authentication Service (AS)
- Authentifie un principal
- Fournit les TGT (Ticket Granting Tickets)
- Ticket Granting Service (TGS)
- Fabrique les tickets de service et les fournit
aux principals - UDP, port 88 (Microsoft TCP 88 également pour
les paquets de taille supérieur à 2000 octets)
82Kerberos
- Tickets
- Pour pouvoir accéder à un service kerberisé, il
faut présenter un ticket spécifique au service,
appelé ticket de service (qui contient la
confirmation du KDC que lutilisateur a accès au
service) - Un ticket contient une date dexpiration et peut
être utilisé autant de fois que lon veut tant
quelle nest pas atteinte ( la durée est
réglable, par ex. 8 heures) - Lutilisateur peut se procurer ce ticket de
service auprès du TGS du KDC - Pour obtenir des tickets auprès du TGS, il faut
dabord avoir un ticket TGT (Ticket Granting
Ticket) !Ce ticket permet laccès au TGS et
évite ainsi davoir à saisir de nouveau son mot
de passeIl est obtenu auprès de lAuthentication
Service (AS) du KDC
83Utilisation de l'authentification Kerberos
version 5 (authentification réciproque)
Connexion initiale
Demande de service
KDC
KDC
2
1
2
TGT
TGT
ST
1
3
3
ST
TGT mis en cache localement
Session établie
4
Serveur cible
Client
Client
84Processus dauthentification Kerberos
- Situation hypothétique Jean Kevin (JK) doit
imprimer son rapport de stage à rendre demain - Le client Kerberos demande un identifiant à JK
(IDJK) et contacte lAS - LAS contacte sa base de comptes (LDAP) et
authentifie JK (dans Windows, à cette étape le
SID de lutilisateur et de ses groupes ainsi que
ses privilèges sont récupérés)
85Processus dauthentification Kerberos
- LAS fabrique le TGT et détermine une clé de
session S1 à utiliser avec le TGS - Le client Kerberos envoie le TGT, un
authenticator (A) et le nom du service
dimpression (PR) au TGS - Le TGS vérifie dabord que le TGT et
lauthenticator sont acceptables et ensuite quil
connaît PR
86Processus dauthentification Kerberos
- Si oui, il crée une clé de session (symétrique)
S2 à utiliser entre JK et PR. Il chiffre la clé
une fois avec la clé secrète de JK, et une fois
avec la clé secrète de PR (il sagit de clés
secrètes que le KDC partage avec chaque
principal) Remarque le TGS ne sait absolument
pas si JK aura accès à PR, il se contente
dauthentifier pas dautoriser - Lidentité de JK est recopiée du TGT vers le
ticket de service (ST) qui contient les 2
chiffrés de la clé de session S2 et le renvoie au
client Kerberos de la machine de JK - Le client Kerberos récupère alors la clé secrète
de JK (au besoin il demande son mot de passe à
JK) et extrait la clé de session S2 depuis ST
87Processus dauthentification Kerberos
- Il envoie ensuite le ticket ST et un autre
authenticator vers le service dimpression PR qui
lui-même extrait la clé de session S2 (grâce à sa
clé partagée avec le KDC) - Si lauthenticator est valide et que JK est en
mesure denvoyer des informations chiffrées
déchiffrables avec la clé de session récupérée
par PR alors il est bien authentifié et peut donc
imprimer (dans Windows PR crée un jeton de
sécurité contenant les SID présentés dans ST dans
la partie PAC, Privilege Attribute Certificate) - Ouf !
88Champ Authorization Data
- Contient des informations dautorisation
- Dans le Kerberos MIT il est utilisé pour indiquer
des restrictions daccès - Par exemple, en cas dimpression par un service
dun fichier pour le compte de lutilisateur, ce
champ contiendrait le nom du fichier afin que le
serveur dimpression nait accès quà ce fichier - Implémentation Microsoft ce champ est
particulièrement important car il contient le SID
de lutilisateur, de ses groupes et ses
privilèges. Cest le matériau utilisé pour créer
le jeton de sécurité.
89Kerberos
- Permet des relations dapprobation transitives
- Windows découverte par interrogation du DNS
(enregistrement SRV) - Ne sert que si les services accédés le supportent
- Monte bien en charge (ce nest pas au service
deffectuer lauthentification mais au client de
venir proposer la preuve de son authentification) - Bonne disponibilité (pendant la durée de validité
des tickets, le serveur dauthentification nest
plus accédé et les services pour lesquels on a
toujours un ticket valide sont accessibles) - Problème révocation dun client qui a déjà
obtenu un ticket impossible
90Annuaire
- Contient des informations à propos des ressources
réseau (imprimantes, serveurs de fichiers,
contrôleurs de domaine, périphériques,
utilisateurs) et fournit un schéma de nommage et
de description - Base de données hiérarchique contenant des infos
essentiellement en lecture (peu de modifications)
comme des utilisateurs, des machines, des
imprimantes, des ressources et les attributs de
chacun dentre eux - Permet une certaine forme de Single Sign On
- Exemples LDAP, NDS, Active Directory
91Différents types de contrôles daccès
- Un modèle de contrôle daccès décrit la façon
dont une entité (ou sujet) peut accéder à une
ressource (ou objet) - Discretionary Access Control (DAC)
- Le contrôle daccès est à la discrétion du
propriétaire de la ressource - Par défaut, le propriétaire est le créateur de
lobjet - La propriété peut être transférée ou attribuée
différemment - Mis en œuvre sous forme de permissions (ACL)
- Le système compare le jeton de sécurité de
lutilisateur (permissions et droits) avec lACL
de la ressource
92Différents types de contrôles daccès
- Mandatory Access Control (MAC)
- Basé sur un système de labels (plus strict car
lOS prend la décision finale qui peut être
contraire au souhait du propriétaire) - Les utilisateurs se voient attribuer un niveau
daccréditation (ex secret, confidentiel) - Les données sont classées selon les mêmes niveaux
(et cette classification accompagne les données) - En complément des niveau daccréditation des
catégories peuvent être mentionnées pour
respecter le principe du besoin de savoir (ce
nest pas parce que jai laccréditation
Confidentiel que je dois avoir accès à tous les
projets confidentiels) - Le système compare le niveau daccréditation et
les catégories de lutilisateur avec le label de
sécurité
93Différents types de contrôles daccès
- Role Based Access Control (RBAC)
- Aussi appelé nondiscretionary access control
- Utilise un référentiel centralisé
- Différence entre rôle et groupe
- Les deux peuvent contenir des utilisateurs
- Quand on appartient à un groupe, on a les droits
du groupe plus les siens - Les rôles permettent un contrôle resserré quand
on a les droits dun rôle, on na rien de plus - Pratique quand il y a de nombreux mouvements dans
lentreprise
94Audit
- Suivi des actions dun réseau, dune machine,
dun logiciel - Imputabilité (effet dissuasif détection
éléments de correction) - Permet de comprendre les accès qui ont eu lieu,
didentifier une brèche de sécurité ou une attaque
95Audit
- Important séparation des rôles
- On ne peut pas empêcher un administrateur (ou
quelquun qui vient dobtenir ces privilèges lors
dune attaque) de faire ce quil veut (dont
effacer les logs) - Il convient de séparer le rôle dauditeur du rôle
dadministrateur en expédiant les audits loin des
composants audités - syslog
- Audit Collection System
96Audit
- Problèmes
- Tout ne doit pas être audité (conso CPU, espace
disque) - La quantité daudits générés est grande et
souvent leur signification individuelle est
faible sils ne sont pas corrélés (doù les IDS,
systèmes de détection dintrusion) - Exemples
- Tentatives douverture de session
- Réussites et échecs
- Identifiant utilisé
- Date et heure
- Utilisation de privilèges
- Modification de fichiers sensibles
97RADIUS
- Remote Authentication Dial-In User Service
- AAA Authentification, Autorisations, Accounting
- RADIUS est utilisé à lorigine par les
fournisseurs daccès à Internet pour des
questions de gestion de lauthentification, des
autorisations et du paiement des accès - Il supporte des modules enfichables
dauthentification (par défaut utilise des mots
de passe partagés) - PAP - Password Authentication Protocol
- CHAP, MS-CHAP et MS-CHAPv2 - Challenge Handshake
Authentication Protocol - EAP - Extensible Authentication Protocol
- EAP/MD5 méthode dauthentification EAP
obligatoire - EAP/TLS authentification mutuelle (nécessite
des certificats sur le client) - EAP/TTLS authentification mutuelle (sans
nécessité de certificat client) - EAP/PEAP similaire à EAP/TTLS
98Authentification forte
- Il sagit de combiner 2 des 4 catégories
- Savoir (ce que je sais, mot de passe, code secret
de type PIN) - Possession (ce que je possède, jeton, carte)
- Être (ce que je suis, biométrie)
- Savoir-faire (ce que je sais faire, mouvement)
- Carte à puce
- Stockage dune clé privée associée à une clé
publique associée à un certificat X509v3 code
PIN permettant laccès à cette clé - La clé privée ne quitte JAMAIS la carte à puce
99Authentification forte
- Token SecurID
- Passcode mot de passe (PIN) 6 chiffres
générés par le token - Le token enferme une graine secrète (connue du
serveur dauthentification) et la hash avec le
temps par un algorithme prédéterminé. Cela génère
le code à 6 chiffres. Le serveur
dauthentification en fait autant et peut
vérifier le passcode. - Le passcode est à usage unique(one time
password) - Audiosmartcard
- Code PIN son joué par la carte
- Conceptuellement, même principe que le token
SecurID
100Module 2Sécurité des systèmes
- 2B - Systèmes dexploitation
101Modèles de sécurité
- Un modèle de sécurité décrit la façon dont un
système dexploitation doit être développé de
façon à respecter une politique de sécurité
donnée - Nous allons en voir plusieurs
102Moyens élémentaires de cloisonnement
- Mappage de la mémoire
- Anneaux de protection
- Sur x86 de 0 (plus privilégié, mode noyau du
système) à 3 (mode utilisateur, applications) - Sur x86 un programme de virtualisation comme
Virtual PC sexécute en partie en anneau 0 et
loge le système dexploitation invité en anneau
1 les applications restent en anneau 3 - Gestion des états de threads / processes
103Composants de base
- TCB (Trusted Computing Base)
- Vient de lOrange Book du ministère de la défense
des USA - Combinaison intégrale de tous les mécanismes de
protection dune machine visant à faire respecter
une politique de sécurité système - Contient du matériel, du logiciel, des firmwares
- Le système part du principe que tout ce qui est
dans la TCB assurera la sécurité et nessaiera
pas de commettre des violations
104Composants de base
- TCB
- Doit être protégée contre des modifications
volontaires ou accidentelles non autorisées - Si elle devient corrompue, la sécurité sécroule
- Cest le périmètre de sécurité minimal entre ce
en quoi on a confiance et le reste
105Composants de base
- Reference Monitor
- Assure que les entités qui accèdent à des
ressources ont les permissions nécessaires - Concerne tous les accès aux ressources (objets)
par les entités (sujets)
106Composants de base
- Security Kernel
- Mécanismes appartenant à la TCB qui implémentent
et assurent les fonctions du Reference Monitor - Sinterpose entre tous les accès et les fonctions
entre des entités et des ressources - Prérequis
- Isolation et résistance aux modifications
- Impossibilité de le contourner
- Juste (décisions auditables)
- Petit afin dêtre vérifié
107Modèle Bell-Lapadula
- Date des années 70, modèle de sécurité sur la
confidentialité des flux de données - Pour système multiniveau (top secret, secret,
confidentiel, non classifié) utilise des labels - Objectif principal empêcher que des infos
secrètes puissent être accédées de manière non
autorisée - Modèle pour lequel il est prouvé mathématiquement
quil empêche les données dun niveau de sécurité
supérieur de fuir vers un niveau de sécurité
inférieur
108Modèle Bell-Lapadula
- Principe
- Un sujet dun niveau donné ne peut pas lire des
données dun niveau supérieur - Un sujet dun niveau donné ne peut pas écrire des
données dans un niveau inférieur - Un sujet qui a le droit décrire et de lire ne
peut le faire quà son niveau (rien au dessus,
rien en dessous) - Inconvénients
- Traite uniquement de confidentialité, pas
dintégrité - Ne prend pas en compte la gestion des droits
daccès (pas de mécanisme de modification des
droits) - Nempêche pas les canaux cachés
- Ne prend pas en compte le partage de fichiers
- Lêtre humain est-il multiniveau ?
109Modèle Biba
- Traite du problème dintégrité (empêche les
utilisateurs non autorisés de faire des
modifications) - Utilise des niveaux dintégrité
- Principe
- Un sujet ne peut pas écrire des données dans un
objet dun niveau dintégrité supérieur - Un sujet ne peut pas lire des données dun niveau
dintégrité inférieur
110Modèle Clark-Wilson
- Traite du problème dintégrité
- Empêche les utilisateurs non autorisés de faire
des modifications - Empêche les utilisateurs autorisés de faire des
modifications impropres - Maintient la cohérence interne et externe
- Principe
- Les sujets ne peuvent pas manipuler directement
les objets ils doivent utiliser une application
(permet, entre autres, la séparation des rôles)
111Modèle Brewer-Nash
- Muraille de Chine
- Contrôle daccès qui change dynamiquement en
fonction des actions précédentes (évite le
conflit dintérêts) - Ex banque qui audite les comptes dune
entreprise ou plusieurs entreprises concurrentes
et propose des conseils en investissement
112Niveau de confiance
- Indique à lutilisateur ce quil peut attendre de
son système - Le niveau de sécurité fourni
- Lassurance que le système se comportera
correctement et de manière prédictible en toute
situation - Lévaluation du niveau de confiance prend en
compte - Le test des mécanismes de sécurité du TCB
- Linspection de leur conception
- La revue de la documentation associée
- Bref, revue de la façon dont le système est
développé, maintenu et fourni
113Évaluation de sécurité
- Les Critères Communs (ISO 15408, juin 1999) sont
le fruit dune collaboration internationale - Déterminent le niveau de fonctionnalité
- Le niveau dassurance
- Une évaluation donne lieu à un Evaluation
Assurance Level (EAL) de 1 à 7 - Le niveau dassurance obtenu est reconnu dans
tous les pays participants (18) jusquà EAL4
114Évaluation de sécurité
- Plus le niveau dassurance (du niveau de
confiance) est élevé, plus linspection a été
poussée (les mécanismes de protection sous
jacents peuvent être les mêmes) - Profil de protection (description de la solution
de sécurité souhaitée) - Exigences de sécurité, leurs significations et
leurs raisons dêtre, le type et la précision de
l évaluation - Permet de comparer des produits sur leur capacité
à répondre à une problématique donnée - Target of Evaluation (TOE) cible de
lévaluation ( le produit testé)
115Évaluation de sécurité
- Security Target document expliquant les
fonctionnalités et les mécanismes dassurance
correspondant à la solution de sécurité souhaitée
(faite par le créateur du produit) - Packages evaluation assurance levels (EALs)
paquets dexigences fonctionnelles et dassurance
pour réutilisation (précisent les prérequis pour
atteindre un EAL)
116Évaluation de sécurité
- En France, cest le DCSSI qui est habilité à
fournir des certificats dévaluation les
évaluations sont réalisées dans des CESTI - Attention, si un produit est certifié
- La version suivante ne lest pas nécessairement
- Il faut le configurer selon la documentation CC
- Il nest pas invulnérable, on a simplement
vérifié quon a fabriqué ce quon a dit
117Canaux cachés
- Moyen pour une entité de recevoir des infos de
manière non autorisée - Exemples
- Loki2 qui envoie du contenu dans le champ
données des paquets ICMP (qui est censé être non
utilisé) - Processus qui aurait un comportement temporel
révélant des informations à un autre processus
(sorte de langage Morse) - Options IP ou TCP
- Variations du champ TTL
- Variations du champ n de séquence TCP
- Outil stegtunnel
118Correspondance de George Sand avec Alfred de
Musset
- Je suis très émue de vous dire que j'aibien
compris, l'autre jour, que vous aveztoujours une
envie folle de me fairedanser. Je garde un
souvenir de votrebaiser et je voudrais que ce
soitlà une preuve que je puisse être aiméepar
vous. Je suis prête à vous montrer monAffection
toute désintéressée et sans cal-cul. Si vous
voulez me voir ainsidévoiler, sans aucun
artifice mon âmetoute nue, daignez donc me faire
une visiteEt nous causerons en amis et en
chemin.Je vous prouverai que je suis la
femmesincère capable de vous offrir
l'affectionla plus profonde et la plus
étroiteAmitié, en un mot, la meilleure amieque
vous puissiez rêver. Puisque votreâme est libre,
alors que l'abandon où jevis est bien long, bien
dur et bien souventpénible, ami très cher, j'ai
le coeurgros, accourez vite et venez me lefait
oublier. À l'amour, je veux me sou-mettre. - Quand je vous jure, hélas, un éternel
hommageVoulez-vous qu'un instant je change de
langageQue ne puis-je, avec vous, goûter le vrai
bonheurJe vous aime, ô ma belle, et ma plume en
délireCouche sur le papier ce que je n'ose
direAvec soin, de mes vers, lisez le premier
motVous saurez quel remède apporter à mes maux. - Cette grande faveur que votre ardeur réclameNuit
peut-être à l'honneur mais répond à ma flamme.
119Stéganographie
- Lart de dissimuler des données dans dautres
données - Par exemple ci-contre, la photo du bas est
contenue dans celle du haut - http//www.petitcolas.net/fabien/steganography/ima
ge5Fdowngrading/
120Backdoors
- Portes dérobées destinées à fournir un accès
facile au système ou à une applic