Académique Documents
Professionnel Documents
Culture Documents
S SS SI I
Module SSI - 20/11/2005 1
Scurit des Systmes Informatiques
Concept s
Note: une partie des slides est extrait du cours de scurit de S. Naktin du CNAM
S
S
S
S
I
I
L
e
g
o
n
d
L
e
g
o
n
d
- -
A
u
b
r
y
A
u
b
r
y
F
a
b
r
i
c
e
F
a
b
r
i
c
e
f
a
b
r
i
c
e
.
l
e
g
o
n
d
f
a
b
r
i
c
e
.
l
e
g
o
n
d
- -
a
u
b
r
y
@
l
i
p
6
.
f
r
a
u
b
r
y
@
l
i
p
6
.
f
r
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 2
Plan de cours
Introduction
Concept s et Ter mi nol ogi e
Types d at t aques
Les pol i t i ques de scur i t
Les out i l s de l a scur i t
Ut i l i sat i on des CS symt r i ques
Ut i l i sat i on des CS asymt r i ques
Aut r es Ut i l i sat i ons des CS
Les cer t i f i cat s
Aut hent i f i cat i on des per sonnes
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 3
Statistiques
1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
0
500
1000
1500
2000
2500
3000
3500
4000
4500
Vulnerabilities
Years
N
u
m
v
e
r
o
f
v
u
l
n
e
r
a
b
i
l
i
t
i
e
s
First Three
Quaters of 2004
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 4
Statistiques
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
100000
110000
120000
130000
140000
Incidents
Year
N
u
m
b
e
r
o
f
I
n
c
i
d
e
n
t
s
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 5
Statistiques
1998 1999 2000 2001 2002 2003 2004
0
50
100
150
200
250
300
350
400
Published Security Notes
Year
N
u
m
b
e
r
o
f
n
o
t
e
s
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 6
Lhomme et lordinateur
Importance croissante du rle de lordinateur
Dans la diffusion de linformation
via des systmes techniques de plus en plus complexes, dans des
domaines de plus en plus varis.
Dans le pass, linformatique tait concentre sur
les effets possibles dune erreur de programmation
la validation de processus critique (transport, nergie)
Actuellement, on se concentre sur
le dtournement possible des nouvelles technologies de
linformation
la communication par soit des pirates / groupes tatiques / groupes
industriels dinformations
Faut-il craindre avec raison les effets pervers dune informatisation trop
rapide de la socit?
OUI !!!!
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 7
Ce qui peut arriver votre machine
Refuser de faire quoi que ce soit (plantage)
Faire trop tt ou trop tard ce qu'il devait faire (mauvaise
ractivit)
Accomplir des actions diffrentes de celles attendues
( bug )
Etre attaquer par un pirate avec pour consquence (attaque)
La destruction de vos donnes
La transformation de votre cran en une uvre dart
minimaliste
Linondation de la plante de messages pornographiques
Lespionnage de votre comportement et la vente de ces
informations
Lutilisation de votre machine comme relai dattaque
Limplantation dun module de surveillance tatique
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 8
Consquences
Dans la majorit des cas, des consquences assez bnignes:
"retaper" deux ou trois fois la mme chose, suite la perte d'un fichier
Perdre des emails, des photos, des textes
Subir de la publicit
Rinstallation dune machine chez le particulier
Mais pour une entreprise, des consquences considrables:
la paralysie des serveurs Web,
le vol de sommes considrables,
la faillite d'une entreprise qui ne peut plus facturer
Dans le futur ?
l'chec dun tir de fuse
la cration d'embouteillages monstrueux,
une panne de courant paralysant une mtropole
une panne paralysant les transports ferroviaires dun grande capitale
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 9
Pourquoi est-ce si important ?
Dommages potentiels importants
Indisponibilits des systmes
Manipulation(s) des donnes/systmes
Destruction des donnes/systmes
Si la puce de votre carte didentit crash existerez-vous encore ?
Cots importants de remise en marche
Financiers (remise en marche, ventes manques)
Temporels (remise en marche, configuration)
Humains (juristes, informaticiens)
Matriels (serveurs de sauvegarde, redondance, scurit)
Cots importants de maintient en tat
Analyses des donnes de surveillance
Analyses des machines
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 10
La scurit : un problme critique !
La scurit des machines et des rseaux
Doit tre la premire proccupation de toute entit utilisant
linformatique
Entit = gouvernement, entreprise, particulier, associations,
Laisseriez-vous ouverte votre porte dappartement ?
Si ignor, des nombreux problmes financiers
Doit dpendre dingnieurs spcialistes
Ncessite une dfinition
Des risques de scurit
Dun plan et dune politique de scurisation
architectures, droits, organisations, acteurs
Dun plan de raction aux attaques
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 11
Scurit : centres de proccupations
Scurit locale (sur une machine)
Scuris lOS
Scuris les services
Scuris laccs la machine (boot)
Scuris rseau (services rseaux)
Topologie et architectures des serveurs
Les protocoles exploits
Le contrle daccs par firewall
Les utilisateurs !!!!
Education comportementale
Peur de lordinateur (ligne 14, rgulateurs vitesses, )
La non-comprhension des outils informatiques
Identifications des maillons faibles (personnes risques)
Le cadre juridique et sociale (politique ?)
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 12
Conclusion
Besoin en spcialistes en scurit pour dfinir :
Quels types dattaques lentreprise peut subir
Quels moyens de protections sont mettre en place
Quels mesures (contre-mesures) utiliser en cas dattaque
Quels sont les contrles sont effectuer et quelle
frquence
Il ny a aucun systme sr 100%
Il faut savoir choisir son degr de protection en fonction de
ses besoins
ADEQUATION DES MOYENS ET DES OBJ ECTIFS
CEST UNE OBLIGATION J URIDIQUE
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 13
Conclusion
Il existe donc une probabilit raisonnable de
pouvoir cohabiter et mme collaborer avec les
ordinateurs.
Il suffit de prendre le temps de savoir ce que
nous voulons en faire et comment.
Lorsque le problme est bien pos, les solutions
techniques existent dj souvent et, dans le cas
contraire, seront inventes.
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 14
Bibliographie
S. Natkin, Protocoles de Scurit de l'Internet , Dunod, 2002
B. Schneier, Cryptologie applique , Thomson publishing, 2001
J. Stern , La science du secret , Odile Jacob Ed, 1998
D. Stinson, Cryptologie: thorie et pratique , Thomson publishing,
2003
D. B. Chapman & E. D. Zwicky, La scurit sur Internet
Firewalls , OReilly , 1996
Microsoft Security Team, Scurit Windows , Microsoft Press, 2005
Les livres de poches dIsaac Asimov ( les robots )
S. Garfinkel & G. Spafford , Practical UNIX & Internet Security ,
seconde dition, 1996
B. Schneier, Secrets and Lies, Digital Security in a Networked
World , J. Wiley and sons ed, 2000
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 15
Sites WEB
Commentcamarche : introduction
Le site du cnam (G. Florin, S. Natkin) pour le module scurit
(de nombreuses informations sont extraites de ce cours)
http://www.ssi.gouv.fr/ Serveur thmatique sur la scurit des systmes dinformation du
Secrtariat Gnral de la Dfense Nationale
http://fr.wikipedia.org/ section scurit
http://www.cru.fr/ Comit Rseau des Universits
http://www.urec.fr/ Unit Rseau du CNRS
http://www.hsc.fr/ Herv Schauer Consultants
https://www.clusif.asso.fr/index.asp Club de la Scurit des Systmes dInformation
Franais
www.renater.fr, www.cert.org, www.securite.org, www.ouah.org,
www.securityfocus.org
Cours sur le web :
Michel Riguidel (http://perso.enst.fr/~riguidel/UESecur)
Stephane Naktin au CNAM
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 16
Plan de cours
I nt r oduct i on
Concepts et Terminologie
Types d at t aques
Les pol i t i ques de scur i t
Les out i l s de l a scur i t
Ut i l i sat i on des CS symt r i ques
Ut i l i sat i on des CS asymt r i ques
Aut r es Ut i l i sat i ons des CS
Les cer t i f i cat s
Aut hent i f i cat i on des per sonnes
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 17
Concepts et Terminologie
La sret de fonctionnement dun SI correspond au degr
de confiance que peut accorder les utilisateurs dans le
service dlivr
Disponibilit (avaibility) : capacit tre prt dlivrer le
service (dans les meilleures conditions)
Fiabilit (reliability) : continuit de service (pas darrt)
La scurit de fonctionnement dun SI se dcompose en
deux thmes
Scurit (safety) : vitement des situations catastrophiques
Celles qui sont considres comme inacceptables pour les utilisateurs
Scurit (security) : prservation de la confidentialit et de
lintgrit des informations
la lutte contre les fautes intentionnelles (virus, bombes logiques,
chevaux de Troie, etc.)
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 18
Concepts de sret
Dfaillance: Service dlivr Service spcifi
Erreur : tat du systme susceptible dentrainer
une dfaillance
Faute: Cause de lerreur
Relations erreurs/fautes/dfaillances:
Lerreur est la manifestation de la faute sur le
systme
La dfaillance est leffet dune erreur sur le service
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 19
Concept de sret : Faute
Une faute devient active lorsquelle produit une
erreur
Une faute active est :
soit une faute dormante active par le traitement
soit une faute externe
Une faute interne peut passer cycliquement de
ltat dormant actif,
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 20
Concept de sret : Erreur
Temporaire par nature
Latente ou dtecte
Latente, tant quelle na pas t reconnue
Dtecte, soit par les mcanismes de dtection et
traitement derreurs, soit par son effet sur le
service (dfaillance)
1 erreur propagation dautres erreurs dans
dautres parties du systme (effet papillon)
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 21
Concept de sret : Dfaillance
Une dfaillance survient lorsquune erreur traverse linterface
Systme/Utilisateur et altre le service dlivr par le systme
Dans un systme constitu dun ensemble de composants, la
consquence de la dfaillance dun composant est :
une faute interne pour le composant englobant,
une faute externe pour les composants avec lesquels il interagit
Type de dfaillance
Fautes franches (fail stop) : arrt pur et simple
Omissions : perte de messages
Temporaires : dviations temporelles / spcifications
Byzantin : comportement alatoire ou malveillant
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 22
De lerreur la dfaillance
... dfaillance faute erreur dfaillance ...
Une erreur est susceptible de provoquer une dfaillance,
mais ne la provoque pas ncessairement (ou pas
immdiatement)
Parce quil y a une redondance interne suffisante pour que le
systme continue de fournir le service
Parce que la partie errone de ltat nest pas utilise pour
telle ou telle fonction
Une erreur est latente tant quelle na pas provoqu de
dfaillance
Le temps entre lapparition de ltat derreur et la
dfaillance est le dlai de latence
plus le dlai de latence est long, plus la recherche des causes
dune dfaillance est difficile
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 23
Proprits de scurit
Avant de pouvoir effectivement dvelopper des
applications scurises, vous devez comprendre les
concepts fondamentaux de la scurit.
Les 5 piliers de la scurit sont
Authentification
Non rpudiation
Intgrit
Confidentialit
Auditabilit
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 24
Proprit de scurit: lauthentification
C'est la proprit qui assure la reconnaissance sre de
lidentit dune entit
L'authentification protge de l'usurpation d'identit
Signature = Authentification
Authentification: Premire ide contenue dans la notion
habituelle de signature
le signataire est le seul pouvoir raliser le graphisme
(caractrisation psychomotrice)
Entits authentifier:
une personne
un programme qui s excute (processus)
une machine dans un rseau
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 25
Proprit de scurit: la non rpudiation
C'est la proprit qui assure que l'auteur d'un acte ne peut ensuite
dnier l'avoir effectu
Signature = Authentification+Non rpudiation :
Seconde ide contenue dans la notion habituelle de signature
le signataire s'engage honorer sa signature
engagement contractuel/juridique, on ne peut pas revenir en arrire
Deux aspects spcifiques de la non rpudiation dans les transactions
lectroniques:
a) La preuve d'origine : Un message (une transaction) ne peut
tre ni par son metteur.
b) La preuve de rception : Un rcepteur ne peut ultrieurement
nier avoir reu un ordre s'il ne lui a pas plu de l'excuter alors qu'il
le devait juridiquement.
Exemple: Excution d'ordre boursier, de commande,
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 26
Proprit de scurit: lintgrit
C'est la proprit qui assure qu'une information
n'est modifie que par des entits habilites
(selon des contraintes prcises)
Exemples :
Une modification intempestive (mme trs
temporaire) est interdire sur une criture
comptable valide
Le code binaire des programmes ne doit pas
pouvoir tre altr
Les messages de lingnieur systme doivent
pouvoir tre lus et non modifis
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 27
Proprit de scurit: la confidentialit
C'est la proprit qui assure qu'une information
ne peut tre lue que par des entits habilites
(selon des contraintes prcises)
Exemples :
Un mot de passe ne doit jamais pouvoir tre lu par
une autre personne que son possesseur
Un dossier mdical ne doit pouvoir tre consult
que par les malades et le personnel mdical
habilit
On ne doit pas pouvoir intercepter le contenu dun
courrier
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 28
Proprit de scurit: lauditabilit
C'est la proprit qui assure la capacit dtecter et
enregistrer de faon infalsifiable les tentatives de
violation de la politique de scurit.
Audit : Examen mthodique d'une situation relative un
produit, un processus, une organisation, ralis en
coopration avec les intresss en vue de vrifier la
conformit de cette situation aux dispositions prtablies, et
l'adquation de ces dernires l'objectif recherch
[dfinition ISO, d'aprs la norme AFNOR Z61-102]
Auditabilit : Garantir une matrise complte et
permanente sur le systme et en particulier pouvoir retracer
tous les vnements au cours d'une certaine priode.
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
C
o
n
c
e
p
t
s
e
t
T
e
r
m
i
n
o
l
o
g
i
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 29
Plan de cours
I nt r oduct i on
Concept s et Ter mi nol ogi e
Types dattaques
Les pol i t i ques de scur i t
Les out i l s de l a scur i t
Ut i l i sat i on des CS symt r i ques
Ut i l i sat i on des CS asymt r i ques
Aut r es Ut i l i sat i ons des CS
Les cer t i f i cat s
Aut hent i f i cat i on des per sonnes
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 30
Attaques sur lauthentification
Dguisement (Mascarade)
Pour rentrer dans un systme, on essaye de piger
des usagers et de se faire passer pour quelqu'un
d'autre (usurpation didentit)
Exemple:
simulation d'interface systme sur cran,
simulation de terminal carte bancaire
T
y
p
e
s
d
T
y
p
e
s
d
a
t
t
a
q
u
e
s
a
t
t
a
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 31
Attaques sur lintgrit
Intgrit des donnes : Modification de messages, de donnes
Attribution par une personne non autorise (usager , agent
autoris) davantages illicites
Comment ? En modifiant un fichier, un message,
Le plus souvent cette modification est ralise par un programme et
devient aussi une attaque sur lintgrit des programmes
Ex : modification des donnes sur un serveur Web
Intgrit des protocoles : Rptition ("replay")
Espionnage d'une interface, d'une voie de communication
(tlphonique, rseau local) pour capter des oprations (mme
cryptes elles peuvent tre utilisables)
Rptition de l'opration pour obtenir une fraude.
Exemple: Plusieurs fois la mme opration de crdit d'un compte
bancaire.
T
y
p
e
s
d
T
y
p
e
s
d
a
t
t
a
q
u
e
s
a
t
t
a
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 32
Attaques sur lintgrit
Intgrit des programmes
Les modifications caractre
Frauduleux : Pour s'attribuer par programme des avantages
(virement des centimes sur un compte)
De sabotage : Pour dtruire avec plus ou moins de motivations
des systmes ou des donnes
Type de modifications
Infections informatiques caractre unique
Bombe logique ou cheval de Troie
Introduction dun comportement illicite avec un trigger
Infections auto reproductrices
Virus (reproduction rapide), Ver (reproduction lente, dormant)
Vecteur dinfection : secteur amorage, infection fichier, macros
virus, mutation
T
y
p
e
s
d
T
y
p
e
s
d
a
t
t
a
q
u
e
s
a
t
t
a
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 33
Attaques sur la confidentialit
Les attaques ayant pour but le vol d'informations via un
rseau par espionnage des transmissions de donnes
(espion de ligne, accs aux donnes dans des routeurs et
des serveurs Internet)
Analyse de trafic : On observe le trafic de messages
changs pour en dduire des informations sur les dcisions
de quelqu'un.
Exemples: augmentation des transactions sur une place
financire
Exemple: le dbut de concentration militaire entrane un
accroissement de trafic important.
Infrence : On obtient des informations confidentielles
partir d'un faisceau de questions autorises (et d'un
raisonnement visant faire ressortir l'information).
T
y
p
e
s
d
T
y
p
e
s
d
a
t
t
a
q
u
e
s
a
t
t
a
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 34
Attaques sur la disponibilit
Attaque par violation de protocole
Erreur trs rare en fonctionnement normal et non
supportes par le protocole
Envoie de donnes non prvues (trames
malformes, squence non prvues)
Attaque par saturation
Envoi de messages trop nombreux provoquant un
croulement des systmes et rseaux
Exemple : Distributed Denial Of Service
T
y
p
e
s
d
T
y
p
e
s
d
a
t
t
a
q
u
e
s
a
t
t
a
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 35
Attaques sociales
Dans la majeure partie des cas le maillon faible est l'utilisateur lui-
mme !
Par mconnaissance ou duperie, lutilisateur va ouvrir une brche dans
le systme.
Comment ?
En donnant des informations (mot de passe par exemple) au pirate
informatique
En excutant une pice jointe
En discutant sur du chat
En ramassant une disquette/CD et en linsrant dans un lecteur
Aucun dispositif de protection ne peut protger l'utilisateur contre les
arnaques
seuls bon sens, raison et un peu d'information sur les diffrentes
pratiques peuvent lui viter de tomber dans le pige !
T
y
p
e
s
d
T
y
p
e
s
d
a
t
t
a
q
u
e
s
a
t
t
a
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 36
Attaques sociales
Droulement :
Une phase d'approche ( ou daccroche )
permettant de mettre l'utilisateur en confiance
en se faisant passer pour une personne de sa hirarchie, de l'entreprise, de
son entourage ou pour un client, un fournisseur, sa banque,
Une mise en alerte
afin de le dstabiliser et de s'assurer de la rapidit de sa raction
prtexte de scurit, d'une situation d'urgence
Une diversion (une situation permettant de rassurer
l'utilisateur et d'viter qu'il se focalise sur l'alerte)
Phase optionnelle
Ex: un remerciement, un courrier lectronique, un site web, une
redirection vers le site web de l'entreprise
http://www.securityfocus.com/infocus/1527
http://www.cert.org/incident_notes/IN-2002-03.html
T
y
p
e
s
d
T
y
p
e
s
d
a
t
t
a
q
u
e
s
a
t
t
a
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 37
Plan de cours
I nt r oduct i on
Concept s et Ter mi nol ogi e
Types d at t aques
Les politiques de scurit
Les out i l s de l a scur i t
Ut i l i sat i on des CS symt r i ques
Ut i l i sat i on des CS asymt r i ques
Aut r es Ut i l i sat i ons des CS
Les cer t i f i cat s
Aut hent i f i cat i on des per sonnes
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 38
Etapes pour une politique de scurit
1. Dfinition de la politique
Rgles concernant les ressources informatiques
Ressources immatriels / donnes
Rgles concernant les ressources physiques
Documents papiers, accs aux btiments
2. Identification des vulnrabilits
En mode fonctionnement normal (dfinir tous les points faibles)
Ex: Arriv/Dpart de personnel, sortie de documents, entre dappareils
lectroniques, les passes des TECHNICIENS DE SURFACES !
En cas d'apparition de dfaillances un systme fragilis est en
gnral vulnrable
Ex: Lecteur de carte HS, Contrle biomtrique inoprant, Serveur Kerberos HS
C'est dans un de ces moments intermdiaires qu'une intrusion peut
le plus facilement russir
Ex: arrt dun firewall pour effectuer un transfert de donnes
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 39
Etapes pour une politique de scurit
3. valuation des probabilits associes chacune des menaces
Ex: Danger des CDs de musique, des clefs USB
Ex: Autoriser les accs aux sites de cracks
4. valuation du cot d'une intrusion russie
Ex: Le cot dun vol dinformation grce un iPod 30go ?
(beaucoup de base de donnes tiennent sur 30go )
5. Choix des contre mesures
Ex: Interdiction de boot sur des supports externes
Ex: Qui peut accder physiquement aux machines ?
6. valuation des cots et de ladquation des contres mesures
Ex: Mettre des contrles rtiniens en dehors dentit confidentiel dfense est
hors la loi.
Ex: Pntrer une machine lorigine de lattaque est interdit
7. Dcision
Application et mis en place des solutions
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 40
Cohrences des moyens
La ralisation dune politique de scurit rsulte de
la mise en uvre cohrente de:
Moyens physiques
architecture des btiments, systmes de contrle d accs,
destructeurs de documents
Moyens informatiques
Contrles de services et des machines
Rgles dorganisation et moyens procduraux
rgles de fonctionnement qui doivent tre respectes
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 41
Cohrences des moyens
Les moyens doivent tre complets :
dans le cadre des hypothses considres, quoi quil arrive la
politique est respecte
Les moyens doivent tre non contradictoires et raisonnablement
contraignants
Ils ne doivent pas constituer un obstacle la ralisation des
fonctions oprationnelles de l organisation considre
Ex: les procdures trop complexes sont souvent contournes
Les moyens doivent tre homognes par rapport aux risques et aux
attaques considrs
Ex: il est inutile de chiffrer tous les documents informatiques sils
partent en clair dans les poubelles
Le respect des procdures est un des points essentiels de lefficacit
Elles doivent donc tre comprises et acceptes par toutes les
personnes concernes.
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 42
Principe de mise en uvre
Assurer la mise en uvre dune politique de scurit
consiste garantir que, chaque instant, toutes les
oprations sur les objets (ressources) ne sont ralisables et
ralises que par les entits (physique ou informatique)
habilites.
La base de la ralisation de la scurit sont
le confinement: Lensemble des objets sont maintenus
dans des domaines tanches, laccs ce fait via un guichet
protg.
le principe du moindre privilge: Pour qu'un systme
fonctionne en scurit il faut donner ses utilisateurs
exactement les droits dont il ont besoin pour s'excuter, ni
plus ni moins.
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 43
Dans le dtail des politiques
Il existe diffrentes mthodes pour crer des politiques de scurits
MEHARI (MEthode Harmonise d'Analyse de RIsques), CLUSIF,
https://www.clusif.asso.fr/fr/production/mehari/
EBI OS (Expression des Besoins et Identification des Objectifs de
Scurit), DCSSI, http://www.ssi.gouv.fr/fr/confiance/ebios.html
La norme ISO 17799
Il existe diffrents standards de scurit
Dfini par le ministre de la dfense US
http://www.dia.mil, http://www.radium.ncsc.mil/ (orange book)
Dfini par la NSA (Compartemented Mode Workstation)
http://www.nsa.gov/
Il existe diffrents standards de validation de politiques
CC-EAL-5 (Common Criteria Evaluation Assurance Level 5), ISO
15408
http://niap.nist.gov/cc-scheme/index.html
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
L
e
s
p
o
l
i
t
i
q
u
e
s
d
e
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 44
Plan de cours
I nt r oduct i on
Concept s et Ter mi nol ogi e
Types d at t aques
Les pol i t i ques de scur i t
Les outils de la scurit
Ut i l i sat i on des CS symt r i ques
Ut i l i sat i on des CS asymt r i ques
Aut r es Ut i l i sat i ons des CS
Les cer t i f i cat s
Aut hent i f i cat i on des per sonnes
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 45
Quelques dfinitions
Dcrypter ou casser un code c'est parvenir au texte en
clair sans possder au dpart ces informations secrtes.
Cest lopration que doit raliser Estelle pour retrouver M.
L'art de dfinir des codes (de chiffrement) est la
cryptographie. Un spcialiste en cryptographie est appel
cryptographe.
L'art de casser des codes est appel cryptanalyse ou
cryptologie. Un spcialiste en cryptanalyse est appel
cryptanalyste.
Un crypto-systme est l'ensemble des deux mthodes de
chiffrement et de dchiffrement utilisable en scurit.
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 46
Ce que permet la cryptographie
Ce que ne peut pas faire la cryptographie
Empcher leffacement des donnes par un pirate
Protger le programme de chiffrement et son excution
(traage, debug,...)
Empcher un dcodage par hasard
Empcher une attaque par force brute
Empcher lutilisation mthode indite de dcodage
Empcher la lecture avant codage ou aprs dcodage
Ne pas sous-estimer les autres mthodes de scurit sous
prtexte que la cryptographie est omnipotente
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 47
Chiffrement
Le chiffrement est donc une transformation d'un texte pour en cacher
le sens.
Les acteurs : A(lice) et B(ob) les gentils, Estelle (lEspionne)
Bob, doit transmettre Alice, un message
M MESSAGES_A_ENVOYER.
M est un message dit en clair (non chiffr).
Estelle coute la voie de communication pour connatre M.
Bob, construit un texte chiffr C MESSAGES_CHIFFRES.
C= E
k
(M) ou C = {M}
E
k
La fonction E
k
dpend dun paramtre k appel clef de chiffrement.
La possibilit de chiffrer repose donc sur la connaissance de
lalgorithme de chiffrement E et de la clef k de chiffrement.
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 48
Dchiffrement
Le dchiffrement est lopration inverse permettant de
rcuprer le texte en clair partir du texte C chiffr.
Il repose sur la fonction D
K
de MESSAGES_CHIFFRES
dans MESSAGES_A_ENVOYER telle que
M= D
K
(C) ou C = {M}
D
K
On doit avoir lidempotence !! D
K
( E
k
(M) )= M
K, K sont des secrets, D et E des algorithmes publics
D
K
est donc une fonction inverse gauche de E
k
.
Note: il peut y avoir symtrie (D=crypter, E=dcrypter)
Pour que ces oprations assurent la confidentialit du
transfert entre Alice et Bob, il est ncessaire quau moins
une partie des informations E, D, k, K soit ignore du reste
du monde.
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 49
Efficacit du chiffrement
Lefficacit dpend
Du Secret de la cl
De la difficult deviner la cl ou a les essayer toutes : li la taille
de la cl
De la difficult de linversion de lalgorithme de chiffrement sans
connatre la cl (cassage)
De la longueur de la cl
De lexistence de portes par derrire (pour les gouvernements...) ou
dautres moyens plus faciles de dchiffrement
Do limportance de laccs ou non au code source
Possibilit de dchiffrement par attaque texte (partiellement)
connu
Bon systme : rsiste tous les points prcdents et noffre pas
dalternative lessai de toutes les cls
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 50
Un outil: Crypto-systmes symtriques
Tels que soit k=K, soit la connaissance dune des deux
clefs permet den dduire facilement lautre.
Consquences :
Dichotomie du monde : les bons et les mauvais
Multiplication des clefs (un secret nest partag que par 2
interlocuteurs), donc pour N interlocuteurs N*(N-1)/2 couples
La qualit dun crypto systme symtrique sanalyse par
rapport des proprits statistiques des textes chiffrs et la
rsistance aux classes dattaques connues.
En pratique tant quun crypto systme symtrique na pas
t cass, il est bon, aprs il est mauvais.
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 51
CS symtriques: exemples
Substitution mono alphabtique
Pour chaque lettre, on associe une lettre de substitution
Attaquable par la connaissance du % dutilisation des lettres
Attaquable par la connaissance de la structure du message
Substitutions de polygrammes
Pour chaque lettre, on associe des groupes de lettres de
substitution
Par transposition
On crit le texte dans un tableau de n colonnes puis on crit les
colonnes
CS symtriques modernes :
Combinaison complexe doprations de transposition et de
substitution sur des chaines de bits (oprateurs arithmtiques)
prenant comme paramtre tout ou partie de la clef.
Fonctionne par blocs (ECB) ou en chane (CBC)
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 52
CS symtriques: lanctre DES
Cr en 1978 par IBM
Caractristiques
Cryptage par bloc de 64 bits (0/1)
Utilise une clef de 56 bits (0/1)
19 tages (tapes) doprations de logique combinatoire
Chaque tape est son propre inverse
Performances excellentes (car bas sur des oprations
logiques simples).
Peu scuris car il existe des algorithmes de cassage
efficace.
Il existe des faiblesses dans le DES connu depuis
longtemps par la NSA : il ne rsiste pas la cryptanalise
diffrentielle
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 53
CS symtriques: Caractristiques
Les nouveaux
3DES : succession de 3 DES en cascade avec 2
clefs K1 et K2 de 56bits DES
K1
,DES
-1
K2
,DES
K1
IDEA : longueur de clef lev (128bits)
Blowfish, SAFER, AES, AES256, TWOFISH, CAST5
RC2, RC3, RC4, RC5, Shipjack (secret)
Caractristiques :
Dbits importants
IDEA: 880 Kb/s (logiciel sur 386 33Mhz), 55Mb/s (circuits)
Une seule clef (donc partage)
Clef de petite taille
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 54
Un outil: Crypto-systmes asymtriques
Tels que la connaissance de k (la clef de chiffrement) ne permet pas
den dduire celle de K(la clef de dchiffrement). [ K k ]
Un tel crypto-systme est dit asymtrique, la clef k est appele la clef
publique, la clef K est appele la clef prive.
Fondement thorique : montrer que la recherche de K partir de k
revient rsoudre un problme mathmatique notoirement trs
compliqu, cest dire demandant un grand nombre doprations et
beaucoup de mmoire pour effectuer les calculs.
RSA (lalgorithme le plus utilis lheure actuel) la dduction de K
partir de k revient rsoudre le problme de factorisation dun grand
nombre. Un problme sur lequel travaille les mathmaticiens depuis
plus de 2000 ans,
On estime que le plus rapide ordinateur que lon puisse construire
utilisant la meilleure mthode connue met plus de 1000 ans pour
retrouver la clef prive dun systme RSA utilisant un modulo de 1024
bits (ordre de grandeur de la taille des clefs).
Il existe RSA, DSA, ElGammal (ancien DSA), ELG
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 55
CS asymtrique : lanctre RSA
Chiffrement
La cl publique est un couple d'entiers: K = (e, n)
Le chiffrement se fait au moyen de l'lvation la
puissance e modulo n: E
K
(M) = M
e
modn
Dchiffrement
La cl secrte est un couple d'entiers: k = (d, n)
Le dchiffrement se fait au moyen de l'lvation
la puissance d modulo n: D
k
(M) = M
d
modn
Utilisation intensive des grands nombres
Il existe des algorithmes pour calculer les
puissances avec modulo sur des grands nombres
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 56
CS asymtrique RSA : Les clefs
Dtermination de n
Trouver deux entiers premiers p et q trs grands
Calculer n = p q
p et q doivent rester secrets: La scurit du systme repose sur la difficult de
factoriser un grand entier n en deux entiers premiers p et q.
n doit avoir une longueur suprieure 512 bits.
Dtermination de e
Calculer z = (p-1) (q-1)
Choisir un entier e premier avec z.
Dtermination de d
Choisir un entier d tel que : e * d =1 modz
d inverse de e dans l'arithmtique mod z
La cl prive est (d,n). La cl publique est (e,n).
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 57
CS asymtrique RSA : Exemple
Exemple:
P=7, Q=3 N = P*Q = 21
Z= (P 1 ) * (Q 1 ) = 6 * 2 = 12
Choisir e premier avec z: e=5
Choisir d tel que d*e=1 [z]
d*5=1 mod 12 d=17
Clef publique (d=17,n=21)
Clef prive (e=5,n=21)
Cryptage, dcryptage du nombre 19 (M)
E
K
(19) = M
e
[n] = 19
5
[21] = 2 476 099 [21]
= 117909 * 21 + 10 [21] = 10 [21]
D
k
(10) = 10
17
[21] = 100 000 000 000 000 000 [21]
= 4 761 904 761 904 761 * 21 + 19 [21] = 19
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 58
CS asymtrique RSA : performances
Lalgorithme prcdent est en O(3t) multiplications
Multiplications sur 512 Bits= 64 multiplication en moyenne sur 32 bits.
192 multiplications pour llvation la puissance.
Utiliser des longueurs de cls de plus en plus importantes
Valeurs utilises 512 bits, 640 bits, 1024 bits (considr comme sr
pour plusieurs annes), 2048 bits
Utiliser des circuits intgrs de cryptage de plus en plus
performants
Actuellement une dizaine de circuits disponibles.
Vitesse de cryptage de base pour 512 bits: de 10 100 Kb/s
volution en cours de l'ordre de 1 Mb/s
Remarque: Compte tenu de la complexit des traitements le DES est
environ toujours 10 100 fois plus rapide que le RSA.
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 59
CS asymtrique RSA : Conseils
Ne jamais utiliser une valeur de n trop petite.
Actuellement un calcul en parallle utilisant quelques milliers d'ordinateurs
pendant quelques mois permet de factoriser des nombres d'une centaine de
chiffres (400 bits)
Utiliser des n=1024 ou 2048 bits selon que la protection recherche est de
plus ou moins de cinq ans.
Ne pas utiliser une clef secrte trop courte.
N'utiliser que des clefs fortes, c'est dire telles que p-1 et q-1 ont un grand
facteur premier.
Ne pas chiffrer des blocs trop courts (les complter toujours a n-1 bits), de
faon dtruire toute structure syntaxique [padding]
Ne pas utiliser un n commun plusieurs clefs si ces clefs peuvent tre utilises
pour chiffrer un mme message.
Si une clef secrte (d,n) est compromise, ne plus utiliser les autres clefs
utilisant n comme modulo.
Ne jamais chiffrer ou authentifier un message provenant d'un tiers sans le
modifier (ajouter quelques octets alatoires par exemple).
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 60
Fonction sens unique
C'est une fonction f(M) facile calculer mais telle
qu'il est extrmement difficile de dduire M de
f(M).
Exemple:
Calcul modulo n (dans un anneau fini)
M
2
est facile calculer modulo n (ou M
e
)
M est difficile calculer (log M)
CRC
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 61
Fonction de hachage
Une fonction de hachage h est une fonction qui un message
M de longueur quelconque fait correspondre un message
H(M) (note aussi {M}
H
) de longueur constante.
Lintrt dune fonction de hachage est que M peut tre arbitrairement
grand alors que {M}
H
a une longueur donne.
Fonction NON BIJECTIVE
elle est destructrice si taille M > longueur de {M}
H
Elle caractrise le bloc de donnes
Fonction a sens unique : difficult pour retrouver M partir de {M}
H
Terminologie
Rsum, fonction de contraction, digest, empreinte digitale,
Exemple:
Hash codes des systmes de fichiers
codes dtecteurs derreurs
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 62
Les entits sont distinguables les une des autres par
lemprunte (le rsultat de la fonction)
Parmi les champs du schma on peut trouver un sous
ensemble caractrisant chaque entit. Cet identifiant est
appel : cl
On appelle univers des cls (U) : l'ensemble des valeurs
possibles des cls.
En gnral, toutes les cls ne sont pas utilises. On notera
K l'ensemble des cls utilises.
ATTENTION : Les cls ne sont pas le rsultat d'une
fonction de hachage. Elles rsultent d'un choix du
programmeur.
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Fonction de hachage : univers
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 63
Fonction de hachage : cration
On appelle Fonction de hachage :
Une fonction qui dtermine la place d'une entit uniquement d'aprs sa cl
H : cls [0..m-1] avec [0..m-1] = Espace des empruntes
C'est la composition de deux fonctions :
1) Fonction de codage
Cls entiers
2) Fonction d'adressage
entiers [0..m-1]
Caractristiques :
Une bonne fonction de hachage doit faire intervenir tous les bits de
la cl.
Une bonne fonction de hachage doit briser en sous chanes des bits
de la cl.
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 64
Fonction de hachage scuris
f(M) telle que f est une fonction de hachage par rapport M
f est collision faible difficile: il est calculatoirement difficile de
trouver M significatif tel que f(M)=K
Difficult de trouver un bloc ayant un signature K
f est collision forte difficile: il est calculatoirement difficile de trouver
M et M tel que f(M)=f(M)
Difficult de trouver deux blocs ayant la mme signature
Elle est avec clef si son calcul dpend dune information secrte (la clef
K)
Les algorithmes de hachages
Scuris : MD5 (emprunte 128bits), SHA1, SHA2 (256/384/512),
TIGER
Ne plus utiliser MD5 et SHA1. Des pairs de fichiers a empruntes
identiques ont t cres. Ils ne sont plus scuriss.
Non scuris : MD2, MD4, CRC32
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 65
Les outils et la politique
Pour des raisons dtat, besoin de dcoder certaines donnes/messages
Limitation par exemple de la taille des cls pour permettre une attaque
force brute avec de gros moyens de calcul (officiellement ils font de
lalgbre )
Mouvements sur Internet de dmonstrations de craquages massivement
parallles pour pousser lautorisation de cls suffisamment grandes
USA : limitation 40 bits des cls des systmes symtriques
lexportation
En France autorisation personnelle sans dclaration de cls sur 128 bits
max (cryptage symtrique). Dcret n99-199 du 17 mars 1999
www.scssi.gouv.fr
Pacte Ukusa datant de 1948 sous contrle de la NSA : USA + GB +
Canada + Australie + Nouvelle-Zlande associs pour espionner les
communications mondiales.
RENSEIGNEZ VOUS !!!
L
e
s
o
u
t
i
l
s
d
e
l
a
s
L
e
s
o
u
t
i
l
s
d
e
l
a
s
c
u
r
i
t
c
u
r
i
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 66
Plan de cours
I nt r oduct i on
Concept s et Ter mi nol ogi e
Types d at t aques
Les pol i t i ques de scur i t
Les out i l s de l a scur i t
Utilisation des CS symtriques
Ut i l i sat i on des CS asymt r i ques
Aut r es Ut i l i sat i ons des CS
Les cer t i f i cat s
Aut hent i f i cat i on des per sonnes
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 67
Notations
Pour chaque change de messages, on a:
Type, Emetteur, Destinataire, Contenu
Type Smantique du message (but)
Emetteur expditeur du message (identifi par
@IP)
Destinataire rcepteur du message (identifi
par @IP)
Contenu Informations ncessaires au message
Alice envoie a Bob le message M :
Alice
Bob
M(={Type, Emetteur, Destinataire, Contenu})
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 68
Notations
Cryptage symtrique
{M}
SYM
clef
pour crypter et dcrypter.
Fonctions de hachage et signature
{M}
H
meth
calculer le rsum avec la mthode
meth
Signature dun bloc dinformations M par Alice :
{M}
SIG
alice
={{M}
H
}
SYM
CLEF
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 69
Authentification par un CS symtrique (solution 1)
Partage des clefs prives. Connaissances des
participants :
Alice connait
sa propre clef A
Date de validit : Date dbut a / Date fin a
la clef B de Bob
Bob connait
sa propre clef B
Date de validit : Date dbut b / Date fin b
la clef A de Alice
Protocole permettant Alice dauthentifier Bob
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 70
Authentification par un CS symtrique (solution 1)
Assure aussi la confidentialit et lintgrit
Possibilit dutiliser une clef unique pour identifier
le couple Alice/Bob
Peu extensible trop de clefs changer entre les
acteurs !
Alice
Bob Auth_Req, Alice, Bob, {random}
SYM
a
Auth_Resp, Bob, Alice, {random}
SYM
b
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 71
Authentification par un CS symtrique (solution 2)
Utilisation dun gardien des clefs
Exemple : kerberos [ie cerbere], le gardien des enfers
Chaque participant connat sa clef et celle du gardien G
La gardien connait toutes les clefs (a,b,c)
Les informations (clefs) sont protges en intgrit et confidentialit
Protection par une clef connue du gardien seulement (en gnral)
Dans un systme clef prive:
Le gardien est un point faible
Il doit conserver toutes les clefs !!!
Sil est compromis, tout le monde lest !!!
Alice connait sa clef A, date de validit : date dbut a / Date fin a
Bob connait sa clef B, date de validit : date dbut b / Date fin b
Rappel: Le gardien connait toutes les clefs U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 72
Authentification par un CS symtrique (solution 2)
But de lauthentification par gardien des clefs :
Protocole permettant Bob de prouver Alice quil
est Bob
Bob dtient un secret sur lequel repose
lauthentification
Bob ne doit pas rvler le secret Alice
Il existe un tiers fiable qui a authentifi Bob
(gardien des clefs ou annuaire de certificats)
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 73
Authentification par un CS symtrique (solution 2)
Alice
Gnrer
un random
Bob
Auth_Req, Alice, Bob, random [en clair]
Auth_Resp, Bob, Alice, RepA
RepA{Bob, random}
SYM
b
Gardien M[Bob,RepA]
Decif_req, Alice, Gardien, M
{Bob,random} {RepA}
SYM
b
Vrification
Bob de repA=Bob de M?
repB{Bob,Random}
SYM
a
N[Bob,repB]
Decif_resp, Gardien, Alice, N
Vrifier (Bob,Random) = {RepB}
SYM
a
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 74
Authentification par un CS symtrique : Kerberos
Motivations :
dvelopp au MIT pour le projet Athena
protger les serveurs partags des accs non autoriss depuis les
stations de travail (plusieurs milliers)
Principes directeurs
mode dexcution client-serveur
vrification de lidentit dun client (utilisateur sur une station)
contrle du droit daccs un serveur pour le client
fournit au client une cl daccs (ticket) pour le serveur
Gestions des clefs:
Utilisation du cryptage symtrique
clef diffrente pour chaque serveur
clef valide pour une priode de temps finie
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 75
Authentification par un CS symtrique : Kerberos
Principe de fonctionnement : certificats infalsifiables
Ticket : caractrise une session entre un client C et un serveur S
Tcs = {S, C, adr, Td, life, Kcs}
Ks
adr : adresse IP du client
Td : heure de dbut de session
life : dure maximale de vie la de session
Kcs : cl de session partage par C et S
Ks : cl permanente du serveur S
Authentifieur : caractrise une autorisation pour le client un instant t
Acs(t) = {C, adr, t}
Kcs
gnr par le client
permet une authentification permanente par le serveur
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 76
Authentification par un CS symtrique : Kerberos
Architecture
1. accs au serveur Kerberos
K : authentification du
client
2. Retour dun ticket pour
accder au serveur de
ticket
3. Accs au serveur de ticket
T : contrle d accs au
serveur S
4. retour d un ticket pour
accder au serveur S
5. accs au serveur S
K T
C
S
1
2
3
4
5
6
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 77
Authentification par un CS symtrique : Kerberos
(1) Demande par C dun TGT (Ticket Granting
Ticket) K
D/Chiffr avec le mot de passe utilisateur
Message M1: tgt_req, C, K, {C, T}
K gnre une cl de session KCT pour chiffrer le
dialogue entre C et T
K gnre un ticket TGTct pour autoriser laccs du
client C au serveur T
TGTct = {T, C, adr, td, life, KCT}
SYM
T
K connat la cl T (de T)
(2) Rcupration du TGT par C
Message M2: tgt_resp, K, C, {{KCT}
SYM
C
, TGTct}
C dchiffre { KCT }
SYM
C
l aide de sa clef C et
mmorise la cl KCT
C mmorise le ticket TGTct (sans pouvoir le
dchiffrer)
K T
C
S
1
2
3
4
5
6
K T
C
S
1
2
3
4
5
6
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 78
Authentification par un CS symtrique : Kerberos
(3) Demande dun Service Ticket T linstant t1
C construit un authentifieur : Act(t1) = {C, adr,
t1}
SYM
KCT
message M3 : st_req, C, T, { Act(t1) ; TGTct ; S }
T dchiffre le ticket TGTct laide de sa cl T,
vrifie sa validit, et rcupre ainsi la cl de session
KCT
T dchiffre lauthentifieur Act l aide de la cl de
session KCT (obtenue dans TGTct) et rcupre
lidentification du client
T contrle le droit d accs du client C au serveur S
T gnre une cl de session KCS pour chiffrer le
dialogue entre C et S et gnre un ticket STcs pour
autoriser laccs du client C au serveur S
STcs = {S, C, adr, td, life, KCS}
SYM
S
T connat la clef S du serveur S
(4) Obtention du ticket
message M4 : st_resp, T, C, {KCS, STcs}
SYM
KCT
K T
C
S
1
2
3
4
5
6
K T
C
S
1
2
3
4
5
6
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 79
Authentification par un CS symtrique : Kerberos
(5) Requte au serveur S
Rappel : message M4
st_resp, T, C, {KCS, STcs}
SYM
KCT
C dchiffre le message M4 l aide de la cl KCT
C mmorise le ticket STcs (sans pouvoir le
dchiffrer) et KCS
C construit un authentifieur :
Acs(t2) = {C, adr, t2}
SYM
KCS
Message M5: serv_req, C, S, {requte, STcs, Acs}
(6) Traitement de la requte
S dchiffre le ticket STcs l aide de sa clef S,
vrifie sa validit (temporelle, authentification,)
S rcupre la cl de session KCS
S dchiffre lauthentifieur Acs(t2) l aide de la cl
de session KCS et vrifie sa validit (temporelle)
K T
C
S
1
2
3
4
5
6
K T
C
S
1
2
3
4
5
6
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 80
Confidentialit avec un CS symtrique
Le message M peut tre une clef prive (symtrique) de session
On vite ensuite le gardien comme intermdiaire (maillon faible, goulot)
Alice Gardien Bob
N={Alice,Bob,M}
SYM
A
Fwd_Req,Alice,Gardien, [Bob,N]
Dcryptage N
O{N}
SYM
A
Vrification 0.bob=mes.bob ?
P{O}
SYM
B
Fwd_Indic, Gardien, Bob, [Alice,P]
Dcryptage P
Q{P}
SYM
B
Vrification Q.Alice=Alice ?
Rception message M
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 81
Intgrit et signature
Alice doit envoyer Bob un message, tel que Bob puisse
contrler que le message na pas t modifi et a bien t
cr par Alice.
On pourrait utiliser le principe de confidentialit bas sur la
possibilit de gnrer des donnes correctes par les
usagers autoriss dtenteurs du secret.
L'intgrit ne peut tre mise en cause que par les dtenteurs
du secret.
Problme: La vrification de lintgrit est alors coteuse
si les donnes sont longues [cryptage ncessaire].
Solution: Chiffrer une information courte caractristique
du message grce une fonction de hachage sens
unique.
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 82
Signature
Signature
Une signature manuscrite idale est rpute possder les proprits suivantes:
La signature ne peut-tre imite et authentifie le signataire.
Elle prouve que le signataire a dlibrment sign le document.
La signature appartient un seul document (elle n'est pas rutilisable).
Le document sign ne peut tre partiellement ou totalement modifi
La signature peut tre contrle et ne peut-tre renie.
Base de la signature numrique: une fonctions de hachage
H scuritaire et d une fonction sens unique f avec brche.
La signature est compose de f
-1
({M}
H
)
Seul le signataire sait calculer f
-1
Tout le monde peut calculer H et f et donc pour M donn vrifier la signature
Si H est a collision faible, on ne pourra pas coller une fausse signature sur un document
crer
Si H est collision forte difficile Estelle ne pourra pas fabriquer 2 documents, un que
Bob peut signer, lautre pas, ayant le mme rsum donc la mme signature U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 83
Intgrit et signature avec un CS symtrique
Alice Gardien Bob
SigA{{M}
H
}
SYM
A
Sig_indic, Alice, Bob, [M, SigA]
Decif_Req, Bob, Gardien, SigA
SigT{SigA}
SYM
A
SigB{SigT}
SYM
B
={{M}
H
}
SYM
B
Decif_Resp, Gardien, Bob, SigB
Sig{SigB}
SYM
B
Vrification Sig sur message M
Garde M
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 84
Plan de cours
I nt r oduct i on
Concept s et Ter mi nol ogi e
Types d at t aques
Les pol i t i ques de scur i t
Les out i l s de l a scur i t
Ut i l i sat i on des CS symt r i ques
Utilisation des CS asymtriques
Aut r es Ut i l i sat i ons des CS
Les cer t i f i cat s
Aut hent i f i cat i on des per sonnes
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 85
Notations
Pour chaque change de messages, on a:
Type, Emetteur, Destinataire, Contenu
Type Smantique du message (but)
Emetteur expditeur du message (identifi par
@IP)
Destinataire rcepteur du message (identifi
par @IP)
Contenu Informations ncessaires au message
Alice envoie a Bob le message M :
Alice
Bob
M(={Type, Emetteur,Destinataire, Contenu})
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 86
Notations
Cryptage asymtrique
Si on crypte avec lun, on dcrypte avec lautre
clef (minuscule) est la clef publique
CLEF (majuscule) est la clef prive
{M}
ASYM
clef
est le symtrique de {M}
ASYM
CLEF
Fonctions de hachage et signature
{M}
H
meth
calculer le rsum avec la mthode
meth
Signature dun bloc dinformations M par Alice :
{M}
SIG
alice
={{M}
H
}
ASYM
CLEF
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 87
Authentification par un CS asymtrique
Systmes clefs publiques: Annuaire de clefs
Lannuaire possde les clefs publiques des membres
Lannuaire a sa clef (partie publique c et prive C )
Les informations de lannuaire sont protges en intgrit
Chaque participant connat sa clef prive, sa clef publique
et la clef publique de lannuaire
Alice connat sa clef prive A / publique a, et c
Bob connat sa clef prive B / publique b, et c
Lannuaire connat C / c, le certificat de a (donc clef a) et de
b (donc la clef b)
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 88
Authentification par un CS asymtrique (solution 2)
Alice
Cer_Req,Alice,Annuaire,[Bob] ou [{Bob}
ASY
c
]
Cer_Resp, Annuaire, Alice, [Cert] ou [{Cert}
ASY
C
]
Cert(Bob, b, Dates de Validits,
infos, signature)
Annuaire
Contrle du certificat
Gnrer random
auth_req,Alice,bob, [random]
N{Bob,random}
ASYM
B
auth_resp,Alice,Bob, N
Dcryptage de N
(bob,random){N}
ASYM
b
Vrifier (Bob,Random) = random
Bob
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 89
Confidentialit avec un CS asymtrique
Rappel: trs peu utilis car trs lent !!
On utilise le cryptage asymtrique pour changer
une clef de session
Principe de SSH
Alice
Cer_Req, Alice, Annuaire, [Bob] ou [{Bob}
ASY
c
]
Cer_Resp, Annuaire, Alice, [Cert] ou [{Cert}
ASY
C
]
Cert(Bob,b,DatesValidite
s, infos,signature)
Annuaire
Data_indic, Alice, bob, N
M{N}
ASYM
B
Bob
Contrle du certificat
Message M
N{M}
ASYM
b
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 90
Intgrit et signature avec un CS asymtrique
Alice Annuaire Bob
SigA{{Bob,Alice,M}
H
}
ASYM
A
Sig_indic,Alice,Bob, [M,SigA]
Garde M
cert_Req, Bob, Annuaire, Alice
Cert(Alice, a, Dates de
Validit, infos, signature)
cert_Resp,Annuaire, Bob,Cert
Contrle des certificats
sig{SigA}
ASYM
a
Calculer s={Bob,Alice,M}
H
comparer s sig
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 91
Intgrit de flots de messages
Un flot d'changes de longue dure doit tre caractris par une connexion.
Problme de rejeu ("replay")
Un message dupliqu peut tre insr dans un flot par un usager
malveillant
Il peut tre correct du point de vue de la connexion, squence et signature
mais menacer l'intgrit de l'application
Rejeu possible dun message
Dune ancienne connexion
De la connexion courante
Intgrit du flot de message
Utilisation dun Nonce (Used Only Once), qui distingue chaque message:
Numro de squence sur un modulo grand (sur 32 ou 64 bits)
Estampillage par horloge (horodatage)
Nombre alatoire
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 92
Considrations ad-hoc: Stockages des clefs
Clef publique de lautorit, ne doit pas pouvoir tre
modifie
Dans le code en dur
sur un support fiable (carte puce)
Clef prive de lutilisateur, ne doit pas pouvoir tre lue:
sur un support confidentiel (carte puce) ou un fichier
chiffr avec un mot de passe (local au poste ou sur
disquette)
SSH clef prive droit 700, clef sur stick USB
Certificat de lutilisateur:
Annuaire+support local ou carte ou disquette
Annuaire central+version locales (cache, annuaire priv)
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 93
Considrations ad-hoc: Utilisation des clefs
Plus on utilise une clef plus elle est vulnrable !
Clef utilise pour chiffrer une suite de transfert de
fichier
Clef utilise pour chiffrer un numro de carte bleue
Plus elle sert a protger des donnes prennes, plus
elle doit tre fiable
Signature lectronique dun article de presse
Signature lectronique dun testament
On peut utiliser des canaux trs lents mais trs
fiables pour vhiculer des clefs qui seront utilises
sur des voies plus rapides et moins fiables
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 94
Plan de cours
I nt r oduct i on
Concept s et Ter mi nol ogi e
Types d at t aques
Les pol i t i ques de scur i t
Les out i l s de l a scur i t
Ut i l i sat i on des CS symt r i ques
Ut i l i sat i on des CS asymt r i ques
Autres Utilisations des CS
Les cer t i f i cat s
Aut hent i f i cat i on des per sonnes
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 95
Partage de secret: protocoles seuil
Certaines oprations sont suffisamment sensibles pour devoir engager la
responsabilit de plusieurs personnes.
On peut faire vrifier l'identit de plusieurs usagers simultanment
possesseurs d'un mot de passe pour engager une action. [ex: attaque nuclaire ]
Mais cette approche peut ensuite tre encore raffine en souhaitant donner une
part de responsabilit plus importante selon un grade:
Ex : Il suffit de la prsence du responsable financier pour ouvrir le coffre ou
de trois chefs de service ou ...
Le problme du partage d'un secret:
Comment diviser une cl d'accs reprsente par une valeur numrique V
en k parts
De telle faon qu'un groupe de porteurs de t+1 parts peuvent reconstituer la
cl alors qu'un groupe de porteurs de t parts ne le peuvent pas.
Les porteurs de parts doivent pouvoir reconstituer V dans un systme
informatique d'autorisation sans jamais connatre V.
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 96
Partage de secret: protocoles seuil (Shamir)
V valeur numrique entire
On gnre alatoirement t valeurs entires a
1
, a
2
, .... , a
t
On leur associe un polynme dont le terme constant est V :
P(x) = a
t
.x
t
+ a
t-1
.x
t-1
+ .... + a
1
x + V
Une part du secret est un couple (x
i
,P(x
i
)) x
i
non nul
les parts sont gnres par des x
i
diffrents
Pour viter une possible attaque force brute par un groupe de porteurs
agissant par essais et erreurs pour complter leur connaissance
on choisit un entier premier N grand
les calculs sont faits en arithmtique modulo N
Pour retrouver le secret, niveau 2
nd
rsolution dun systme (t+1)
valeurs inconnues (a
1
, a
2
, .... , a
t
,V) avec (t+1) quations [parts]
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 97
Notarisation par un CS asymtrique
But: non rpudiation dune action (commande)
entre A et B
Moyen: Utilisation dun tiers de confiance (N)
A connait la clef publique de N (kn), la clef
publique de B (kb), sa clef KA/ka
B connait la clef publique de N (kn), la clef
publique de A (ka), sa clef KB/kb
N connait la clef publique de A (ka), la clef
publique de B (kb), sa clef KN/kn
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 98
Notarisation par un CS asymtrique
1. A souhaite envoyer le message M au destinataire B de
faon notarise (notarie ?)
il envoie au notaire {A,B,M}
ASYM
KA
2. Le notaire qui reoit la transaction peut la dcoder
puisqu'il connat ka.
Il date la transaction T et la journalise
Enregistrement de A , B , M , T
La transaction ne pourra pas ensuite tre renie par A.
3. Le notaire possde une cl secrte personnelle KN qu'il
utilise pour signer la transaction
M= {A,B,M,T}
ASYM
KN
, T={A,B,M,date}
H
Il renvoie le message M en rponse A qui va la conserver
pour preuve de la notarisation effectue.
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 99
Notarisation par un CS asymtrique
4. L'metteur A envoie alors la transaction son destinataire B sous
la forme M signe par le notaire (il ne peut avoir modifi celle ci entre
temps).
B ne peut encore interprter les informations mais il enregistre M
pour preuve de la requte de A.
5. Pour connatre M, B demande au notaire le dchiffrement de M
Le notaire envoie B la transaction chiffre avec la cl de kb soit
{A,B,M,T}
ASYM
kb
.
Seul B peut la lire confidentialit lintgrit
Pour lauthenticit, il faudrait {{A,B,M,T}
ASYM
kb
}
ASYM
KC
6. Pour terminer compltement le protocole il faut que le notaire
dispose d'une preuve de remise B soit une rponse
{ACQ(A,B,M,T)}
ASYM
KB
que le notaire enregistre.
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 100
Notarisation par un CS asymtrique
N
A B
1. Req_ticket,A,N,{A,B,M}
ASYM
KA
2. Resp_ticket, N, A, {A,B,M,T}
ASYM
kn
Message encapsul intgre et confidentiel
3. indic_mes, A, B, {A,B,M,T}
ASYM
kn
Message encapsul intgre et confidentiel
4. decif_req, B, N, {A,B,M,T}
ASYM
kn
Message encapsul intgre et confidentiel
5. decif_resp, N, B,
{A,B,M,T}
ASYM
kb
6. ack_indic, B, N,
{ACQ(A,B,M,T)}
ASYM
KB
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 101
Notarisation par un CS asymtrique
N
A B
1. Req_ticket,A,N,{{A,B,M}
ASYM
KA
}
ASYM
kn
2. Resp_ticket, N, A, {{{A,B,M,T}
ASYM
kn
}
ASYM
ka
}
ASYM
KN
Message encapsul intgre et confidentiel
3. indic_mes, A, B,{{{A,B,M,T}
ASYM
kn
}
ASYM
ka
}
ASYM
KB
Message encapsul intgre et confidentiel
4. decif_req, B, N, {{A,B,M,T}
ASYM
kn
}
ASYM
KB
Message encapsul intgre et confidentiel
5. decif_resp, N, B,
{{A,B,M,T}
ASYM
kb
}
ASYM
KN
6. ack_indic, B, N,
{{ACQ(A,B,M,T)}
ASYM
KB
}
ASYM
kn
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
A
u
t
r
e
s
U
t
i
l
i
s
a
t
i
o
n
s
d
e
s
C
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 102
Plan de cours
I nt r oduct i on
Concept s et Ter mi nol ogi e
Types d at t aques
Les pol i t i ques de scur i t
Les out i l s de l a scur i t
Ut i l i sat i on des CS symt r i ques
Ut i l i sat i on des CS asymt r i ques
Aut r es Ut i l i sat i ons des CS
Les certificats
Aut hent i f i cat i on des per sonnes
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 103
Certificats et cryptages asymtriques
Rappel : Cryptage asymtrique
PB : Tout repose sur la confiance dans la
provenance de la clef publique.
Attaque du type Man-In-The-Middle :
Celui qui souhaite couter les messages de votre
correspondant vous remet une fausse clef publique
pour cette personne.
Exemple SSH ne gre pas les certificats
Solution : une autorit est charge de signer les
clefs publiques
Cette autorit sappelle lautorit de certification
( Certificate Authority ou CA)
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 104
Les autorits de certifications (CA)
AC: autorit de certification
Norme de reprsentation des certificats X509
Norme de protocole daccs: LDAP
Elle chiffre (avec sa clef prive) une empreinte de
Lidentit de son titulaire, personne, serveur ou application
(Distinguished Name of Subject)
Sa (celle du titulaire) clef publique
Les informations relatives lusage de cette clef : priode de validit,
type des oprations possibles, etc
Lensemble est appel certificat X509.
Les certificats X509 font lobjet dune norme : ITU-T X509
international standard V3 1996, RFC2459
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 105
Les autorits de certifications (CA)
Rle :
Vrifie les demandes de certificats (Certificat
Signing Request)
Gnre les certificats et les publie
Gnre les listes de certificats rvoqus (Certificat
Revocation List)
Vrifie (par lintermdiaire dune autorit
denregistrement) :
lidentit des demandeurs de certificats et les
lments de la demande
Recueille et vrifie les demandes de rvocation
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 106
Les autorits de certifications (CA)
Contrle des certificats
Toutes entits impliques dans un schma clef publique doit
dtenir la clef publique de lautorit de certification.
Tout accs un certificat doit tre contrl:
Vrifier que la signature est valide
Vrifier que la date courante est dans la priode de validit
Vrifier la clef publique du certificat en vrifiant la signature qui y a t
appose laide de la clef publique de lautorit de certification (CA).
Pour viter les rejeux de certificats invalids le serveur dannuaire
doit :
Soit sauthentifier
Soit dater et signer sa rponse
Soit transmettre priodiquement des listes de rvocation date et signes
On ne fait confiance quaux clefs signes !!!
Attention, il existe des certificats auto-signs (sans CA officiel)
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 107
Utilisation des certificats
Les certificats sont composs de deux lments :
dinformations sur lentit propritaire du certificat
dinformations sur lentit mettrice du certificat (lannuaire,
lautorit de certification, .)
Les informations sur lentit propritaire du certificat sont
le nom,
la clef publique de lentit identifier,
des informations supplmentaires
Les informations sur lentit mettrice du certificat
Date de validit du certificat,
Le but de la clef
Lemprunte du certificat (faite par lannuaire)
Le nom de lentit mettrice (annuaire)
Des informations concernant les algorithmes utiliss
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
U
t
i
l
i
s
a
t
i
o
n
d
e
s
C
S
a
s
y
m
t
r
i
q
u
e
s
t
r
i
q
u
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 108
La structure des certificats
Le certificat tablit un lien fort entre le nom (DN) de son
titulaire et sa cl publique
AUTHENTIFICATION FORTE
Protocoles : TLS/SSL, S/MIME, VPN, Java,
Usages : Horodatage, Signature, E-commerce, E-vote, E-
Administration,
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Infos sur lAC
(Nom, KeyId)
Signature du
certificat par lAC
Clef publique
De lentit
Informations
sur lentit
(nom,pays)
Priode
de
validit
Attributs
du certificat
(CS utiliss)
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 109
Exemple de certificat
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 13805 (0x35ed)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=FR, O=CNRS, CN=CNRS-Standard
Validity
Not Before: Apr 24 14:09:48 2006 GMT
Not After : Apr 24 14:09:48 2008 GMT
Subject: C=FR, O=CNRS, OU=UMR7606,
CN=src.lip6.fr/emailAddress=postmaster@lip6.fr
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:ec:29:c5:24:d6:4d:e4:b5:31:71:46:2f:15:64:
a6:ee:85:31:22:de:74:d8:d1:5f:8a:32:e0:b3:d7:
84:e4:8f:ab:66:92:ad:f8:eb
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
Netscape Cert Type:
SSL Client, SSL Server
X509v3 Key Usage: critical
Digital Signature, Non Repudiation, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
Netscape Comment:
Certificat serveur CNRS-Standard
X509v3 Subject Key Identifier:
79:F7:B4:D3:D8:E9:B8:ED:3C:A1:85:A6:DD:FA:68:CC:74:8C:82:1F
X509v3 Authority Key Identifier:
keyid:67:59:A5:E5:07:74:49:03:EF:05:CF:CC:2E:A4:18:D5:10:C8:9E:3C
DirName:/C=FR/O=CNRS/CN=CNRS
serial:02
X509v3 Subject Alternative Name:
DNS:src.lip6.fr
X509v3 CRL Distribution Points:
URI:http://crls.services.cnrs.fr/CNRS-Standard/getder.crl
Signature Algorithm: sha1WithRSAEncryption
54:a4:1c:c2:21:fd:06:9b:df:bd:50:4b:d2:ae:e0:3f:46:64:
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 110
Les certificats: Aspects Juridiques
Usages : Horodatage, Signature, E-commerce, E-vote,
Validit de lcrit lectronique
Reconnaissance juridique de la signature lectronique
Obligation de dmatrialisation des procdures
E-Administration (dclaration dimpts)
Le cadre est dfini par
La loi du 13 mars 2000
Le dcret du 30 mars 2001
Le dcret du 18 avril 2002
Larrt du 31 mai 2002.
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 111
Cration de certificat (Annuaire publique)
Alice
Annuaire
Autorit de certification (AC)
Gnration dune clef publique A/a
Gnration dune clef prive MP
Gnration dun certificat (Alice, A, Date)
Stockage (sr) {(Alice, A, Date)}
SYM
MP
C{(Alice, a, Date)}
ASYM
ac
Obtention du certificat de lAC
certCreation_req, Alice, AC, C
Dcryptage de C
D{(Alice, a, Date)}
ASYM
AC
Contrle EXTERNE de lid dAlice
MAJ de lannuaire de certificat
Cert(Alice)=(Alice,a,Date,{{Alice,a,Date}
H
}
ASYM
ac
certCreation_resp, AC, Alice, [Cert(Alice)]
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 112
Cration de certificat (Annuaire priv)
Alice Annuaire
Autorit de certification (AC)
certCreation_req, Alice, AC,
Contrle EXTERNE de lid dAlice
Gnration dune clef publique A/a
Gnration dune clef prive MP
Gnration dun certificat (Alice, A, Date)
Gnration C{(Alice, A, Date)}
SYM
MP
certCreation_resp, AC, C
Par fichier, disquette, carte puce
MP par voie confidentielle
Par fichier, disquette, carte puce
MAJ de lannuaire de certificat
Cert(Alice)=(Alice,a,Date,{{Alice,a,Date}
H
}
ASYM
ac
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 113
Rvocations de certificats
CRL = certificat revocation list
Les CRL : la liste des certificats rvoqus, liste signe par
la CA
Similaire lopposition des CB/chque en cas de vol
Pas encore de CRL incrmentale (le certificat contient une url
du fichier de crl)
La rvocation est une limite thorique au modle des PKIs.
Les navigateurs doivent vrifier par eux-mme les CRL
Mal implment souvent non vrifi
L
e
s
c
e
r
t
i
f
i
c
a
t
s
L
e
s
c
e
r
t
i
f
i
c
a
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 114
Plan de cours
I nt r oduct i on
Concept s et Ter mi nol ogi e
Types d at t aques
Les pol i t i ques de scur i t
Les out i l s de l a scur i t
Ut i l i sat i on des CS symt r i ques
Ut i l i sat i on des CS asymt r i ques
Aut r es Ut i l i sat i ons des CS
Les cer t i f i cat s
Authentification des personnes
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
U
t
i
l
i
s
a
t
i
o
n
d
e
s
o
u
t
i
l
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 115
Rappels & gnralits
Le contrle daccs est la base des mcanismes informatiques:
Il permet de spcifier la politique dans le domaine de linformatique.
Il dfinit la faon dont le systme contrle ces droits.
Il devrait, en thorie, encapsuler toutes les autres techniques
informatiques
Pour linstant ce nest pas le cas.
Principe du moindre privilge :
Un objet ne doit disposer que des droits qui lui sont strictement
ncessaires pour raliser les tches qui lui sont dvolues.
Utilisation de politique obligatoire :
La politique doit le moins possible dpendre des utilisateurs en tant
que personne, mais reposer sur les rles de la politique de scurit
du systme dinformation.
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 116
Mthodes dauthentification des personnes
L'authentification = vrification de l'identit d'une entit.
L'une des mesures les plus importantes de la scurit:
Impossible d'assurer la confidentialit, l'intgrit, la non rpudiation sans la
garantie de l'identit de l'entit soumettant une requte.
L'authentification devrait tre assure en continue (pas une fois pour toute
l'ouverture d'un objet ou en dbut de session)
Un personne peut quitter son poste en le laissant ouvert :
procdure de dconnexion automatique
procdure d authentification priodique
Une entit informatique peut tre corrompue
une substitution peut avoir lieu (surtout en rseau, ncessit de protocoles
de scurit)
L'authentification des personnes peut se faire par trois mthodes:
Ce que connat lutilisateur (Mot de passe),
Ce que dtient lutilisateur (carte),
Ce quest lutilisateur (Mthode biomtrique)
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 117
Authentification par connaissance
Le mot de passe, le code confidentiel
Technique la plus simple et la plus rpandue
Problmes bien connus:
Si le mot de passe est simple il peut tre trouv par une attaque par dictionnaire
Si le mot de passe est compliqu lutilisateur le note pour sen souvenir !
La frappe du mot de passe peut tre publique
Les mots de passe doivent tre stocks (point sensible)
Quelques parades:
Ne jamais utiliser son login, son nom, le nom de son chien, son nde tl., un mot
dun dictionnaire
Utiliser chiffres et lettres avec des caractres spciaux au moins 6 7 caractres, mais
trouver un moyen mmotechnique
Obliger l'usager changer rgulirement de mot de passe.
Surveiller les tentatives d'accs illicite par comptage (les afficher).
Prvenir l'usager des connexions prcdentes sur son compte en affichant la date
et l'heure (par exemple du dernier accs).
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 118
MDP: lexemple dUnix/Linux crypt()
On ne stocke pas les MDP dans /etc/passwd ou
/etc/shadow
Utilisation dune fonction sens unique crypt()
Linverse nexiste pas.
Proprit : Si p=p alors crypt(p)=crypt(p)
Proprit : Si crypt(p)=crypt(p) alors p=p
Combinatoire importante: attaque par force brute difficile
Alteration pat un paramtre (SALT) pour introduire des
diffrences entre les entits
crypt( p, Salt)
Habituellement, 30% des mots de passe sont
devinables
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 119
Authentification par objet
Un secret matrialis physiquement
La cl traditionnelle
Une carte magntique, code barre, puce
Un stick USB
Un porte-clefs gnrateur de clef temporaire
Technique simple, rpandue.
Les problmes :
la perte, le vol du support
la duplication (plus ou moins facile mais toujours possible)
Ncessite souvent lintervention humaine
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 120
Authentification par lutilisateur lui-mme
Les mthodes bio mtriques
Une solution en rapide dveloppement
peut-tre trs efficace
souvent onreuse,
peut-tre difficile accepter dans certains cas par l'utilisateur
Ncessit d'tudes approfondies (analyse de la variabilit) du caractre utilis
l'intrieur du groupe humain des usagers autoriss
ou dans une population quelconque
Incertitudes des techniques bio mtriques
La variabilit intra-individuelle
La variabilit inter-individuelle
Conduit deux types d'erreurs possibles:
Le rejet tort d'un individu autoris
L'acceptation tort d'une personne non autorise.
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 121
Quelques techniques biomtriques
L'empreinte digitale
la vascularisation de la rtine, de liris
la voix
la gomtrie de la main, du visage
dynamique de la signature
dynamique de la frappe clavier
empreinte gntique
Thermographie faciale
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 122
BIOMETRIQUE Reconnaissance de voix
Reconnaissance
The speaker
Par un code (dpendance au
texte)
Par le timbre (indpendance
au texte)
Facile grer
Enregistrement possible
Sensibilit aux bruits parasites
Importance des erreurs (toux)
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 123
BIOMETRIQUE Empruntes digitales
Reconnaissance gomtrique du doigt
Trs connue et exploit
Petite taille des dispositifs
Faibles cots des dispositifs
Analyse rapide, faible taux de rejet
Assez bien implant
police
ordinateurs portables (IBM)
Bientt (dj) carte didentit puce
Problmes
Doigts sales ou coups
Besoin de la coopration de lutilisateur
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 124
BIOMETRIQUE Reconnaissance de liris
Reconnaissance de la
gomtrie de liris
Grande quantit dinformation
Reconnat les vrais jumeaux
Trs peu de rejet
Reconnaissance distance
Problmes
Non diffrenciation
photo/humain
Non diffrenciation fausse
iris/humain
Cot lev
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 125
BIOMETRIQUE Reconnaissance rtinienne
Reconnaissance rtinienne
Vaisseaux sanguins
Peu de facteurs de variations
(ie peu de maladies)
Meilleur taux de russite
Problmes:
Trs cher
Intrusif donc peu populaire
Qui veut coller son oeil dans
lobjectif ?
Devient moins efficace avec le temps
(ge de la personne)
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 126
BIOMETRIQUE Reconnaissance faciale
Reconnaissance de la gomtrie
faciale
Distance entre les yeux, la bouche, le
nez,
Facile grer
Identification distance
Utile pour lanalyse de foule
Problme :
Identification impossible des vrais
jumeaux
Sensible aux problmes du visages
(maladies, accidents)
Sensible aux lunettes, piercing
Maquillage, masque, perruques chec
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 127
BIOMETRIQUE - Thermographie
Etude du spectre
lectromagntique
IR
cartographie de la chaleur
du visage
Bon taux de
reconnaissance
Reconnat les vrais
jumeaux
Problmes:
Cot trs lev
Exprimentale
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 128
MULTIMETRIQUES
Biomtriques seules sont insuffisantes
Combinaison de diffrentes techniques
Biomtriques
Reconnaissance par emprunte digitale
Mthodes traditionnelles
Mot de passe, Smart Cards avec des informations
Forte taux de russite en authentification
Trs rsistant
Ncessite le cassage des n mthodes
Cot raisonnable
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 129
Authentification One Time Passwords
Principes :
Utilisation de plusieurs mots de passe
Une fois utilis, le mot de passe nest plus utilisable
(Utilisable une et une seule fois)
Lutilisateur a une clef prive (le secret) connue par le serveur qui permet
de gnrer le mot de passe
Lutilisateur et le serveur on un calculateur logiciel ou matriel
Gnration du mot de passe
Le serveur gnre un dfi et une solution (le mot de passe)
Le serveur transmet le dfi lutilisateur
Lutilisateur gnre la propre solution partir du dfi
Lutilisateur la donne au serveur
Si les solutions correspondent, lutilisateur est authentifi
Peut tre implant sur des systmes embarqus
Smart Cards, PDAs, portables, Keys Holders, etc...
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 130
Authentification One Time Passwords
Dsavantages
Lutilisateur doit
possder lalgorithme ou une appareil capable de le faire
un liste pr-imprime de mots de passe
Dangereux en cas dutilisation de la liste !
Exemple
Challenge: 5241
Rechercher du MDP 5241 dans la liste
Rappel : La liste est gnre partir de la clef secrte
Rponse: CLAD ROY TOP BAD CAKE MATH
Quand la liste est expire, on change de clef et on rgnre une liste
Difficile grer
Outil les plus connus: S/Key (Neil Haller, The S/KEY one-time
password system, 1994), OPIE, SecurID, CryptoCard
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 131
Authentification bi-factuelle
Comme pour lauthentification multimtriques
On combine deux mthodes :
Quelque chose que vous connaissez (secret)
ie un mot de passe
Quelque chose que vous avez (appareil)
Lappareil stocke ou fait tourner un algorithme de
gnration de clefs uniques configurer pour
lutilisateur
La plus part des systmes OPT utilise la double
identification
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
A
u
t
h
e
n
t
i
f
i
c
a
t
i
o
n
d
e
s
p
e
r
s
o
n
n
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 132
Scurit des Systmes Informatiques
Scur i t r seau
S
S
S
S
I
I
L
e
g
o
n
d
L
e
g
o
n
d
- -
A
u
b
r
y
A
u
b
r
y
F
a
b
r
i
c
e
F
a
b
r
i
c
e
f
a
b
r
i
c
e
.
l
e
g
o
n
d
f
a
b
r
i
c
e
.
l
e
g
o
n
d
- -
a
u
b
r
y
@
u
a
u
b
r
y
@
u
- -
p
a
r
i
s
1
0
.
f
r
p
a
r
i
s
1
0
.
f
r
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 133
Plan de cours
Introduction
At t aques de ni veau 1
At t aques ni veau 2: et her net
At t aques ni veau 3: I P/ I CMP
I PSEC - VPN
At t aques ni veau 4: TCP
SSL/ TLS Par ef eu - NAT
Anal yse
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 134
Vocabulaire
Attaque par eMail
Hoax : fausse information, rumeur destin saturer la messagerie
Mail bombing : Attaque consistant gnrer beaucoup de mail pour
saturer un serveur de mail
Spamming : Envoie de courriers non sollicits but commercial
Phishing : Envoie de courriers permettant le dtournement
dinformations
Attaque Rseau TCP/IP
Spoofing : Forger un message rseau faux et/ou malform
Flooding : Inondation en vu de saturer une machine
Smurfing : Equivalent du flooding mais sur tout un rseau
Hijacking : Dtournement dun connexion
Sniffing : Ecoute des communications en vu dobtenir des
informations
Replay : Le rejeu
Denial Of Service : Dni de service
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 135
Vocabulaire
Attaque logicielle
Buffer Overflow: Attaque par dbordement
Service poisoning : Corruption dun service
(dtournement de son comportement)
Logiciel de contrle ou de nuisance
Backdoor : Logiciel de prise de contrle distance
Keystroke Monitoring : Logiciel de surveillance de
la machine
Trapdoor : Logiciel permettant dobtenir des droits
privilgis suite une action particulire
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 136
Les problmes de scurit dans la pratique
Internet na pas t conu avec un objectif de scurit
Internet est bas sur la confiance
Chaque niveau travers par vos donnes offre des moyens
dattaques
Internet est n avec les unix
il n'y a pas un UNIX mais une multitude d'implmentations
diffrentes qui prsentent toutes des caractristiques
propres
Il existe de nombreux problmes de scurit dans la plus
part des systmes informatiques actuels.
Au niveau physique et liaison (ethernet)
Sniffers qui coute le rseau
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 137
Les problmes de scurit dans la pratique
Au niveau rseau (IP)
IP Spoofing et Smurfing
Au niveau transport (TCP)
SYN Flooding
Au niveau applicatif (service rseau)
Dni de services (Deny of Services)
Buffer Overflows
Attaque au niveau des services
Attaque au niveau des personnes
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 138
Rappels
Un intrusion peut durer moins de quelques seconde ou stendre sur plusieurs
semaines
Elle est faciliter par lexistence doutils pr-programmer (script-kiddies)
Une bonne protection passe par le triumvirat : Parefeu, Antivirus, Antiespion
Permet laccs aux informations ou servir de base dattaque
Une srie dintermdiaire complexifie de faon exponentielle la localisation
de la source
Une attaque extrieure peut tre impossible dposer devant les tribunaux
Un trs bon site: www.ouah.org
On rentre dans les dtails gores ( gory-details )
Ne faites pas ces expriences sur le rseau de votre FAC !!!
Cest dtectable, dangereux et juridiquement PUNISSABLE !!!
Mme si ladministration est gentille, plus de compte !!!
cest dure de travailler sans compte informatique
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 139
Plan de cours
I nt r oduct i on
Attaques de niveau 1
At t aques de ni veau 2: et her net
At t aques de ni veau 3: I P/ I CMP
I PSEC - VPN
At t aques de ni veau 4: TCP
SSL/ TLS Par ef eu - NAT
Anal yse
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 140
Ecoute des supports physiques
Ethernet physique
Plug sur le cble
Introduction de bruit
Ecoute du support physique
Emissions lectromagntiques des cbles
Moyens de lutte
Blindage des cbles, cage de faraday
Filtrage lectrique
Ne pas connecter les machines vers lextrieur
Contrle des cbles par du matriel spcifique
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 141
Rseau sans fils 802.11
Le 802.11 aka WiFi (Wa fa)
Cest un standard de rseau sans fil
Il existe une plthore de protocoles
On parle de lalphabet 802.11 (802.11a, 802.11b, )
Les seuls a retenir sont 802.11g, 802.11i, 802.11x
Le 802.11 soulve des problmes
Qui existent dj !!!! Mise en exergue des problmes filaires !
Primtre de scurit
Portables dinconnus entre dans le primtre
Equivalent une prise de la taille dune sphre de 80m de rayon
Sans cryptage (confidentialit) et sans authentification
SUICIDAIRE !!!
Ecoute et brouillage possible
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 142
802.11: Moyens de lutte
Contrle daccs (efficacit limite)
Spatial: mesures et calibrage des puissances du signal des bornes
Par adresse: Contrle daccs des adresses MAC
Pas de diffusion du SSID !
Confiner ce rseau dans un rseau spcial externe
Eviter les accs IP sur le rseau interne
Confidentialit: Le WEP une coquille vide A JETER
Faiblesse du chiffrement, pas de gestion des clefs
airsnort.shmoo.com, www.cr0.net:8040/code/network/aircrack (dans beaucoup de distrib linux)
Confidentialit et authentification la seule solution valable, ENCORE EN DEPLOIMENT !
802.11i WPA2 (et PAS WPA simple ou de WEP) confidentialit
802.11x avec un serveur radius (www.freeradius.org) et des modules EAP
Audit
J ournalisation des adresses inconnues (MAC et IP)
J ournalisation des scan
Dtection des rseaux pirates internes et externes
Recherche de signal en bordure (istumbler.net et autres) et triangularisation
Saturation hertzienne de la zone couverte
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 143
Exemple netstumbler
Exemple netstumbler
Permet de connatre les PA de la zone
Permet de connatre les rseaux non scuriss
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
NETSTUMBLER
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 144
Les AP WiFi autour de mon bureau
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 145
Plan de cours
I nt r oduct i on
At t aques de ni veau 1
Attaques de niveau 2: ethernet
At t aques de ni veau 3: I P/ I CMP
I PSEC - VPN
At t aques de ni veau 4: TCP
SSL/ TLS Par ef eu - NAT
Anal yse
A
t
t
a
q
u
e
s
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 146
Rappels : Ecoute rseau (sniffing)
But:
Collecte dinformations sur les donnes circulant sur le
rseau
Analyse posteriori des trames
Attaque de dcryptage sur les donnes (analyse
diffrentielle)
Captures des mots de passe en clair
(POP3, TELNET, IMAP, )
Fonctionne avec tous les protocoles de niveau suprieur
La capture seffectue au niveau 2 avec du matriel classique
La capture seffectue au niveau 1 avec du matriel spcialis
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
1
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 147
Ecoute ethernet: fonctionnement
Ethernet cest 90% des rseaux locaux
Prix ridicules, dploiement ais, grande varit de matriel
Ethernet est un support DIFFUSANT !!!! facilit dcoute !!!!!
Il faut passer la carte en mode Promiscuous
Permet la carte de capturer tout ou partie des paquets qui transitent sur
le rseau local
Mme si les paquets sont non destin ladresse IP de la machine qui coute
Ne permet pas la capture hors du rseau local
Peut tre filtrer par les routeurs
Accs simple
Librairie PCAP
Rawsocket: packet_socket = socket(PF_PACKET, int socket_type, int protocol);
Utilisation de logiciels dcoute
Trs facile utiliser
TCPDUMP (Linux/Windows), ethereal/PCAP (Windows/Linux)
Network Associates Sniffer (Windows)
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 148
Dtection locale des coutes
Dtection possible des cartes en mode promiscous
Vrification locale
Un rootkit peut cacher des informations
Un rootkit peut en cacher un autre
Ne pas utiliser les programmes de la machine !
Tlcharger ses propres programmes compils !!!
Ifconfig:
pollux 14:46 >ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:C0:4F:24:27:E7
inet addr:132.227.64.49 Bcast:132.227.64.255
Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:9566866 errors:44 dropped:0 overruns:0 frame:4
TX packets:7763589 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:14 Base address:0xcc00
Un processus root inconnu est en cours dexcution (ps)
Vrifier les comportements des programmes avec lsof et strace
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 149
Dtection distante des coutes (antisniff)
En thorie cest impossible
les nuds sont passifs ils ne transmettent rien
Dans la pratique, cest parfois possible
Difficile dtecter !!
Mthode de ping 1
Si la machine qui a pour @IP 132.227.64.234 et pour @MAC
aa:bb:cc:dd:ee:ff est suspecte dcouter le rseau.
On met une demande ICMP echo request en modifiant
ladresse MAC (ie: aa:bb:cc:dd:ee:f0)
Si la machine rpond, elle tait en mode dcoute
Le mode promiscuous dsactive le filtre de l@ MAC et rpondra
l@IP sans vrifier ladresse MAC
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 150
Antisniff: autres mthodes
Mthode du ping 2 : Variation sur la premire mthode
On ne gnre plus un paquet ICMP encapsul dans ethernet
On utilise une ouverture de connexion TCP
On utilise le service echo (non ICMP)
On gnre un paquet IP provoquant un message ICMP
Mthode ARP
On attend quelques minutes sans mettre (vider les caches)
J envoie une requte arp unicast (non broadcast) une
autre machine en fournissant mon @IP et mon @MAC
Ensuite je demande un echo request la machine suspecte
Si elle rpond sans mettre de requte ARP, la machine
coutait le rseau
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 151
Antisniff: autres mthodes
Mthode du DNS
Les machines qui coutent peuvent faire des
requtes DNS
Faire un ping et vrifier les demande DNS arrivant
de machine non connues (@IP mauvaise) !!
Mthode de routage-source
Envoyer un paquet une machine intermdiaire en
demandant son acheminement la machine
suspecte
Si la machine intermdiaire ne fait pas suivre le
paquet et si la machine suspecte rpond, elle
coute le rseau
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 152
Antisniff: autres mthodes
Mthode de leurre
On gnre du traffic POP, TELNET, FTP avec des comptes
fictifs (sans rel droits)
On vrifie si des login sont effectus sur ces comptes
Mthode de la latence
On gnre un traffic ethernet important
Il sera filtr par les machines normales
Il sera captur par les machines en coute
On ping les machines et on mesure leur temps de rponse
Outils: antisniff, CPM (check promiscusous method),
neped
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 153
Lutter contre les coutes
Eviter la capture de mot de passe
Eviter lauthentification et les donnes en clair
Utiliser le cryptage sur les couches basses (SSL,IPSEC)
Utiliser lencpasulation applicative tunneling SSH, stunnel
Utiliser des mots de passe utilisation unique (OTP)
Recherche systmatique des machines inconnues
Dcouverte du rseau (HP openview, netdisco, )
Limiter la connectivit des machines aux machines
connues
ACL avec adresses ethernet au niveau des switchs
VMPS sur les switch (correspondance @MAC/vlan)
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 154
Attaques ARP
ARP-RARP lien entre @MAC et @ IP
ARP maintient un cache des machines qui diffusent sur le rseau
But des attaques ARP:
Dtourner le traffic rseau vers sa machine
En particulier, remplacer le couple (@MAC/@IP) du routeur par sa propre machine
Dni de service
Moyen:
Poisoning : crer de fausses entres dans les caches ARP
Flooding: Saturer les tables ARP
Cloning: imiter ladresse MAC dune autre machine
Spoofing: Forger de fausses rponses ARP
Utilitaires:
http://web.syr.edu/~sabuer/arpoison/
http://ettercap.sourceforge.net/
(logiciel dattaque ARP, SSH, tueur de connexion)
http://www.thehackerschoice.com/releases.php (gnre des fausses rponses ARP)
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 155
Attaque ARP : Poisoning par diffusion
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Machine Ha
IP=10.10.0.1
MAC=00:E0:2B:13:99:ab
MachineHb
IP=10.10.0.2
MAC=00:E0:2B:13:68:00
Machine Hc (Hacker)
IP=10.10.0.11
MAC=00:FB:5A:50:09
00-E0-2B-13-68-00 10.10.0.2
Qui a (Who has) 10.10.0.1
Mon @IP est 10.10.0.2
Mon @MAC est xx:xx:xx:xx:xx:xx
xx:xx:xx:xx:xx:xx 10.10.0.2
Ha Hb
Hc
xx:xx:xx:xx:xx:xx 10.10.0.2
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 156
Attaque ARP : Poisoning par requte
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Machine Ha
IP=10.10.0.1
MAC=00:E0:2B:13:99:ab
MachineHb
IP=10.10.0.2
MAC=00:E0:2B:13:68:00
Machine Hc (Hacker)
IP=10.10.0.11
MAC=00:FB:5A:50:09
Ha Hb
Hc
Qui a (Who has) 10.10.0.2
Mon @IP est 10.10.0.1
Mon @MAC est 00:E0:2B:13:99:ab
Jai 10.10.0.2
Mon @MAC est 00:E0:2B:13:68:00
Jai 10.10.0.2
Mon @MAC est xx:xx:xx:xx:xx:xx
00-E0-2B-13-68-00 10.10.0.2
xx:xx:xx:xx:xx:xx 10.10.0.2
?
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 157
Attaque ARP : Poisoning par diffusion de rponse
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
2
:
e
t
h
e
r
n
e
t
e
t
h
e
r
n
e
t
Machine Ha
IP=10.10.0.1
MAC=00:E0:2B:13:99:ab
MachineHb
IP=10.10.0.2
MAC=00:E0:2B:13:68:00
Machine Hc (Hacker)
IP=10.10.0.11
MAC=00:FB:5A:50:09
00-E0-2B-13-68-00 10.10.0.2
Jai (I have) 10.10.0.29
Mon @MAC est xx:xx:xx:xx:xx:xx
xx:xx:xx:xx:xx:xx 10.10.0.29
Ha Hb
Hc
xx:xx:xx:xx:xx:xx 10.10.0.29
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 158
Plan de cours
I nt r oduct i on
At t aques de ni veau 1
At t aques de ni veau 2: et her net
Attaques de niveau 3: IP/ICMP
I PSEC - VPN
At t aques de ni veau 4: TCP
SSL/ TLS Par ef eu - NAT
I DS et Anal yse
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
d
e
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 159
Le protocole IP
IP suppose que
Les @ IP source et
destination sont fiables
Le TTL est utilis pour
viter que des paquets
circulent indfiniment dans
le rseau (ghost packet)
Protocoles: ICMP=1,
IGMP=2, TCP=6, UDP=17,
RAW=255
Checksum contrle CRC
Permet des options qui
peuvent poser problme
Source Routing
Bit DF/MF
Donnes: taille max. 64ko
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 160
Attaque IP : Spoofing
En gnrale, il sagit dune attaque aveugle !
Rappel: Internet est bas sur la confiance.
Modification du champ de l@IP source et de certaines
options
But:
Usurpation didentit on se fait passer pour une autre
machine
Passer travers les filtres IPs de certaines machines
La (vritable) source:
peut recevoir les rponses si elle est local (sniffing)
NE peut PAS recevoir de rponse si elle est distante
Sauf cas exceptionnel (IP source routing)
A Coupler avec des attaques TCP (cf. prochaine section)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 161
Attaque IP : Spoofing
Dtection: Peu vidente
Analyser les logs du parefeu
Connexions inhabituelles, violation des ACL, paquets rejets
Lutte contre le spoofing IP:
Ne pas se limiter des ACL bass sur les @IP
Implanter des rgles strictes sur les routeurs
Tout paquet provenant de lextrieure ne peut avoir une @IP source interne
Tout paquet provenant de lextrieure ne peut avoir une @IP source non attribu ou non
routable
Constitution dune liste noire des @IP non attribue partir des liste de lIANA
Tout paquet allant lextrieur ne peut avoir @IP source nappartenant pas votre rseau
Associer les @MAC avec les @IP pour les machines critiques
ie: LES SERVEURS (en particulier ceux dauthentifications) !!
PB: les entres ARP statiques sont parfois mal supportes
Sonde de monitoring des couples (@MAC,@IP)
Dtection des cas de divergences avec la conformit et des trames ARP anormales
Alerte + Engagement des contres mesures (dtection, analyse, blocage)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 162
Les protocoles ICMP/IGMP
Le protocole ICMP (Internet Control Message
Protocol)
Le protocole ICMP est utilis par tous les routeurs
Il est utilis pour signaler une erreur sur une
machine connecte
Message ICMP = Type (8 bits), Code (8 bits),
Checksum (16 bits), Message (taille variable)
Couples Type / Message :
0: Echo reply, 8: Echo request
3: Destination Unreachable,
5: redirect, 6: alternate host address, ...
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 163
Attaque ICMP: ECHO Flooding
But du ICMP Flooding
Rendre un ou plusieurs services inaccessible
Rendre un rseau totalement inaccessible
Moyen
La machine cible passe tout son temps rpondre
des requtes ICMP
Ping Of Death sous windows !!
ping f cible.reseau.fr 5242880
Consquences
Surcharge machine et du rseau
DENI DE SERVICE (D.O.S.)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 164
Attaque ICMP: ECHO Flooding
rseau
A
rseau
B
ICMP_ECHO
(@SRC=IP.Ha,@DST=IP.Hb)
ICMP_ECHO_REPLY
(@SRC=IP.Hb,@DST=IP.Ha)
INTERNET
Ha Hb
ICMP_ECHO
(@SRC=IP.Ha,@DST=IP.Hb)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 165
Attaque ICMP: ECHO Flooding
rseau
A
rseau
B
Spoofed ICMP_ECHO
(@SRC=IP.Hc,@DST=IP.Hb)
INTERNET
Ha Hb
rseau
C
Hc
ECHO_REPLY
(@SRC=IP.Hb,@DST=IP.Hc)
ECHO_REPLY
(@SRC=IP.Hb,@DST=IP.Hc)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 166
Attaque ICMP: ECHO Flooding
Moyen de dtection:
Observer la mtrique rseau. En cas de FLOOD
Rseau lent sans raison interne la machine
Temps de rponse important voir expiration de dlais
Les services internes peuvent devenir inaccessibles
Examiner les logs des firewalls
Haut taux de ICMP_ECHO/REPLY
Lutte anti FLOOD:
Dsactiver le forward ICMP_ECHO sur les routeurs
Pb: plus de ping du tout.
Incompatibilit avec les certains logiciels
Utiliser des contrles de dbit
Ex: 3 ICMP_ECHO / REPLY par second
Liste noire dynamique (interdiction pendant x minutes)
Nautoriser les ping que sur le sous-rseau
Pb en cas dattaque interne
Couplage contrle de dbit avec contrle ip
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 167
Attaque ICMP: ECHO Smurfing
But:
Dni de service sur le rseau ou la machine cible
Moyen:
Utiliser un rseau comme rflecteur
Faire une demande de ping avec
Pour adresse source ladresse du rseau (ou de lhte)
attaquer
Pour adresse cible ladresse de diffusion du rseau rflecteur
Un seul paquet envoy, toutes les machines du
rseau rflecteur rpondent (amplification)
Les rponses seront envoyes la cible
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 168
Attaque ICMP: ECHO Smurfing
rseau
A
rseau
B
Spoofed ICMP_ECHO
(@SRC=IP.Hc,@DST=diffusionRB)
INTERNET
Ha Hb1
ICMP_ECHO
(@SRC=IP.Hc,@DST=diffusionRB)
rseau
C
Hc
N* ECHO_REPLY
(@SRC=IP.HbXX,@DST=IP.Hc)
ECHO_REPLY
(@SRC=IP.Hb1,@DST=IP.Hc)
Hb2
ECHO_REPLY
(@SRC=IP.Hb2,@DST=IP.Hc)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 169
Attaque ICMP: ECHO Smurfing
Consquences
Identiques au flooding mais amplifies
La cible subit une charge trs importante
Si votre rseau une grosse bande passante, il
devient idal comme rflecteur.
Le rflecteur peut avoir un rseau lent.
Les deux rseaux peuvent tre la cible.
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 170
Le protocole IP
IP suppose que
Les @ IP source et destination
sont fiables
Le TTL est utilis pour viter
que des paquets circulent
indfiniment dans le rseau
(ghost packet)
Protocoles: ICMP=1, IGMP=2,
TCP=6, UDP=17, RAW=255
Checksum contrle CRC
Permet des options qui
peuvent poser problme
Source Routing
Bit DF/MF
Donnes: taille max. 64ko
IP: RFC 781, 791, 1349
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 171
Attaque IP : Source Routing
But:
Cacher une connexion TCP dsynchronis
Dissimuler dautres types dattaques
Obtenir une rponse dans le cas dune attaque IP-
Spoofing
Moyen:
Loption source routing permet de spcifier un
chemin de retour impos pour la rponse
Surpasse (over ride) la configuration par dfaut
des routeurs
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 172
Attaque IP : Source Routing
Comment ?
Lattaquant fixe loption de source routing dans
la paquet IP
Lattaquant impose la route de retour la rponse
de la cible. Il sagit donc dune suite d@IP par
lequel doit transiter le paquet.
La dernire @IP de la route doit tre sur le mme
sous rseau que ladresse @IP destination
La premire machine hte de retour doit tre de
confiance par rapport la machine cible
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 173
Attaque IP : Source Routing
Le serveur
Accepte les connexions
Accepte le source-
routing sur des
machines de confiance
La machine de confiance
Fait suivre le paquet
Doit accepter le
source-routing ou tre
corrompue.
Lattaquant
Reoit la rponse
malgr lattaque IP
spoofing
Ha Hb Hc
Hp
Serveur
Hte de confiance
Paquet normal
Hackeur
Paquet source-routing
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 174
Attaque IP : Source Routing
Solution: cest simple !!!!
Dsactiver la fonction de source-routing sur les
paquets IP
Sur les toutes les machines, sur tous les routeurs
Option devenue quasi-inutile, dsute et dangereuse
Malheureusement, ce nest pas toujours le rglage par dfaut
Tous les paquets vont tre dtruits par les
machines
Abandonner la notion de machine de confiance
Lorsquelle est uniquement base sur l@IP
Abandonner les ~/.rhost, ~/.shost
Il faut de lauthentification forte
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
3
:
I
P
/
I
C
M
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 175
Plan de cours
I nt r oduct i on
At t aques de ni veau 1
At t aques de ni veau 2: et her net
At t aques de ni veau 3: I P/ I CMP
IPSEC - VPN
At t aques de ni veau 4: TCP
SSL/ TLS Par ef eu - NAT
I DS et Anal yse
I
P
S
E
C
I
P
S
E
C
- -
V
P
N
V
P
N
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 176
IPSEC - VPN
Permet dviter le spoofing @IP et le sniffing
IP-Secure / Dvelopp par lIETF (RFC 2401, 2402, 2406, 2409, 2411)
Utilis pour implanter les VPN (Virtual Private Network)
Solution niveau 3 (rseau) IP
Pas une solution de niveau applicatif comme SSH
IPSEC fournit :
La communication est crypt de bout en bout
Lauthentification forte, confidentialit et intgrit
Indpendant de TCP/UDP, repose sur IP
Il est support :
en natif par beaucoup de systme et par la grande majorit des routeurs
par des drivers/applications sur beaucoup dautres systmes
Mode IP-Sec: 2 mode de transport
Payload seulement les donnes sont cryptes encapsulation des donnes)
Tunnel toute la communication est encrypte (encpasulation totale)
Mode IP-Sec: 2 protocoles
AH qui ne permet que lauthentification forte et intgrit, pas de confidentialit
ESP qui permet la confidentialit
I
P
S
E
C
I
P
S
E
C
- -
V
P
N
V
P
N
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 177
IPSEC-VPN: Modes
Le mode Payload/Transport
Facile utiliser
Peut tre utiliser sur tous les rseaux et routeurs
Les donnes ne peuvent tre dcryptes
(Encryptions fortes)
Le mode Tunnel
Plus puissant que le mode Payload
Require le support de tous les routeurs sur le
chemin
Ncessit des ressources CPU sur les routeurs
Ncessit pour les routeurs de pouvoir dcrypter les enttes
I
P
S
E
C
I
P
S
E
C
- -
V
P
N
V
P
N
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 178
IPSEC-VPN: Protocoles
Le protocole AH (Authentification Header)
Fournit lauthentification de provenance des donnes
Lintgrit des donnes (sans mode connect)
Un protection (optionnelle) contre le rejeu
Le protocole ESP (Encaspulating Security Payload)
Fournit la confidentialit du trafic
AH et ESP peuvent servir de support pour faire de lauthentification
Mieux vaut utiliser le mode tunnel en ESP avec authentification externe
Le protocole SA (Security Association)
Dcrit les associations de scurits possible (entre AH et ESP)
Le mode utilis (tunnel ou payload)
Les algorithmes de cryptage
Les SA ne fonctionnent que sur un canal unidirectionnel 2 SA pour TCP,
Problmes:
Difficults avec la fragmentation IP
Surcot engendr par le protocole ESP
I
P
S
E
C
I
P
S
E
C
- -
V
P
N
V
P
N
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 179
IPSEC-VPN:
Trame IP simple:
AH mode transport et mode tunnel
(datagrammes authentifis sauf champs mutables)
ESP mode transport et mode tunnel
(rouge = crypt, gris = authentifi)
data Orig IP header
AH data Orig IP header
AH New IP header data Orig IP header
ESP trailer data ESP header ESP auth Orig IP header
ESP header New IP header ESP trailer data ESP auth Orig IP header
I
P
S
E
C
I
P
S
E
C
- -
V
P
N
V
P
N
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 180
IPSEC-VPN: Performances
18 kb/s IPSEC avec le mode tunnel ESP et AH
20 kb/s IPSEC avec le mode transport ESP et AH
19 kb/s IPSEC ESP-part AH et le mode tunnel ESP
26 kb/s IPSEC avec mode tunnel ESP
26 kb/s IPSEC avec mode transport ESP
26 kb/s IPSEC avec AH
47 kb/s IPSEC avec AH et ESP
315 kb/s Pas dIPSEC
Mesures de performances IPSEC
LIPSEC est trs couteux mais :
De nouvelles implantations existent
Les cots sont en fortes baisses
I
P
S
E
C
I
P
S
E
C
- -
V
P
N
V
P
N
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 181
Plan de cours
I nt r oduct i on
At t aques de ni veau 1
At t aques ni veau 2: et her net
At t aques ni veau 3: I P/ I CMP
I PSEC - VPN
Attaques niveau 4: TCP
SSL/ TLS Par ef eu - NAT
I DS et Anal yse
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 182
Le protocole TCP
Le protocole TCP est un mode connect
best effort
Un paquet TCP
Port Source/Destination (@service)
Sequence number et Ack.
Number gestion de lordre des
paquets
Acknowledgment field ACK trame
dacquittement
Connection opening (SYN) trame
douverture de connexion
(synchronisation)
Connection end (FIN) graceful
logoff
Connection Reset (RST)
forced/brutal logoff
Checksum CRC
Options
Puis viennent les donnes
TCP: RFC 1180, 768(UDP), 793 (TCP),
3168 (TCP), 792(ICMP), 950(ICMP)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 183
Le procotole TCP Ouverture de connexion
Ngociation en 3 phases (3 ways handshake)
Le client envoie un premier paquet au serveur
Ce paquet contient le drapeau SYN mis 1
Le client envoie un numro de squence de dpart
La taille de sa fentre de rception
Le serveur rpond avec une trame dacquittement douverture
Le drapeau ACK (acquittement) est mis 1
Le drapeau SYN (synchronisation) est mis 1
Le serveur met un numro dacquittement gale au numro du client +1
Le serveur met un numro de squence
La taille de sa fentre de rception
Sur rception de cet acquittement, le client rpond par une trame dont
Le drapeau ACK (acquittement) est mis 1
Le numro dacquittement est gale au numro de squence du serveur
+1
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 184
Le protocole TCP Fermeture de connexion
Fermeture brutale
Une des parties envoie une trame avec
Le drapeau RST mis 1
Le numro de squence dacquittement gale au dernier numro reut +1
(souvent ignor)
Fermeture lgante ou la dconnexion concerte ( graceful logoff )
La partie qui souhaite se dconnect envoie une trame avec:
Le drapeau FIN mis 1
Le numro dacquittement inchang
Le numro de squence incrment de 1
Attente de la rponse
La partie qui reoit la demande de dconnexion, renvoie une trame de confirmation
Le drapeau ACK et FIN sont mis 1
Le numro dacquittement est incrment de 1
Attente de la confirmation ou de timeout
La partie qui souhaite se dconnect envoie une trame avec:
Le drapeau ACK mis 1
Fermeture de la connexion par linitiateur de la dconnexion
Fermeture de la connexion par le receveur de la demande
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 185
TCP - Example
Ouverture et Fermeture de connexion
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 186
TCP Sequence Numbers
Le numro de squence correspond aux nombres
doctets envoys depuis louverture de la
connexion.
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 187
Attaque TCP: SYN Flooding
But :
Attaque de dni de service
Empcher la machine daccepter de nouvelles connexions
Principe :
Crer des connexions semi-ouvertes
La machine cible doit attendre la fin du processus de connexion
Elle maintient ses ressources disposition (non libration)
On sature la liste dattente (waiting-list)
Consquences :
Tous les services TCP deviennent indisponibles
Caractristiques :
Les paquets TCP SYN ne sont pas forcement tracs
Le rseau nest pas satur de trames ICMP facilement identifiables
comme dans les attaques ECHO flooding ou ECHO smurfing
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 188
Attaque TCP: SYN Flooding
La machine A envoie une demande de connexion TCP la machine B
paquet SYN
La trame TCP est encapsul dans un paquet IP avec une fausse
adresse (par ex. C)
La machine B rpond la demande
Paquet SYN/ACK
Attend une confirmation douverture qui narrivera jamais
La connexion reste semi-ouverte pour un temps limit
dpendent du systme
trs grand devant la capacit des rseaux
La machine A recommence avec
un grand nombre de demandes fabriques
de fausses adresses (sources varies)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 189
Attaque TCP: SYN Flooding
Les solutions ne sont pas toujours la porte des admins !
Implantation dune pile TCP/IP adapte
Limitation de limpact de lattaque
Attendre le ACK final avant dallouer toute ressource
Utiliser en premier lieu dans le noyau linux 2.x.x
Protection implante dans les routeurs
Le routeur ne transmet pas la trame SYN la machine B
Il attend lui-mme la rponse (SYN/ACK) de A
ouvre ensuite la connexion avec B et lui fait suivre le paquet
SYN/ACK
La table dattente des connexions est gre par le routeur
Il utilise un algorithme LRU (Least Recent Used) pour vider les
connexions en attente douverture
Mode dgrad
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 190
Attaque TCP: Connection Reset
But:
Forcer la dconnexion entre deux machines
Efficace contre les protocoles connexions de longues dures
Sauvegarde, Transferts FTP, Border Gateway Protocol (RFC 1771)
Supposition :
La connexion est dj ouverte
Moyen:
Utilisation du TCP spoofing et lIP spoofing
Forger une fausse trame TCP avec le flag RST et une bonne
valeur de numro de squence
Le numro de squence de la trame RST doit tre dans la fentre de
rception
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 191
Attaque TCP: Connection Reset
Mthode 1
La fentre de rception fait environ 16Ko
Le nombre de numro de squence est sur 32 bits
Pour trouver une valeur valide, il faut essayer
2^32/16384 ~ 260000 possibilits
En cas de sniffing, il suffit danticiper la valeur !!!
En aveugle sur une ligne de 100ko/s, paquets de 53 octets
~1800 essais / secondes
Si la fentre est large (satellite, grande capacit)
encore moins de trames gnrer
Mthode 2 :
Certaines piles TCP/IP interprtent larriv dune deuxime trame
SYN (ouverture de connexion TCP) comme une demande de
rouverture suite un crash.
fermeture de la connexion
On applique la mme mthode que prcdemment
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 192
Attaque TCP : low-rate
But:
Faire baisser la capacit de trafic sur les serveurs
Moyen:
Engendrer des pertes de trames sur les routeurs
Engendrer des pertes de trames sur les serveurs
Faire baisser la taille des fentres
dmission/rception
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 193
Attaque TCP : [remote] land-attack
But:
Dni de service
Moyen:
Envoyer une trame ICMP echo request malforme
ou envoyer une trame TCP SYN malforme
Peut tre effectu en interne ou en externe
Les adresses IP sources et destinations appartenant la mme
machine
Les ports sources et destinations identiques
Exemple crer avec le programme HPing2
@IP externe de la victime: 63.24.122.59
@IP interne du routeur cible: 192.168.1.1
hping2 -A -S -P -U 63.24.122.59 -s 80 -p 80 -a 192.168.1.1
Test sur des routeurs linksys WRT54GS, Cisco catalyst,
Date: dcembre 2005
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 194
Attaque TCP : Desynchronized Connection
But:
Perturber la connexion entre deux machines
Empcher deux machines de discuter
Etre capable de sinsrer entre les deux machines
THE MAN IN THE MIDDLE
Principe:
Crer une situation o les deux machines sont incapables de communiquer
Faire en sorte que les machines ne soient plus daccord sur les numros de
squence
Consquence:
Il est possible de lire/modifier les donnes changes entre les deux htes
Lattaquant (man in the middle) pourra recevoir les paquets, les modifier et les faire
suivre
Trs dangereux pour les applications E-Business et pour le vol de numro de cartes
Trs utilis pour les connexions en clair (telnet/rlogin)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 195
Attaque TCP : Desynchronized Connection
Dsynchronisation la ngociation de la connexion (early desynchronization)
Lattaquant surveille le rseau et attend un paquet SYN/ACK de la part du
serveur durant louverture de la connexion
Le vrai client accepte le paquet ACK/SYN et passe en mode connect
Pendant ce temps, lattaquant annule la connexion du serveur
cf lattaque TCP connection reset
envoie un trame RST (reset)
Le paquet a les mme paramtres que le datagramme IP ACK/SYN
envoie une trame SYN (ouverture de connexion)
Le numro de squence est diffrent viter le chevauchement de numro de sq.
Le serveur ferme la connexion et en ouvre une nouvelle
gnre un nouveau numro de squence
Envoie un paquet SYN/ACK au vrai client
Lattaquant intercepte le datagramme IP SYN/ACK et envoie une trame ACK
au serveur
Le client et le serveur sont dsynchronis
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 196
Attaque TCP : Desynchronized Connection
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Client Attaquant
Serveur
Ferme
SYN, Clt Seq=100 Lu
Ecoute
SYN envoy
SYN/ACK, Clt Seq=101
Svr Seq=500
SYN reu
Lu
Ouverte
Clt Seq=101
Svr Seq=500
RST, Clt Seq=101
Fermeture
SYN, Clt Seq=800
SYN reu
SYN/ACK, Clt Seq=801
Svr Seq=700
Lu
ACK/SYN jet
ACK, Clt Seq=801, Svr Seq=701
Ouverte
Clt Seq=801
Svr Seq=701
Lattaquant doit utiliser lIP et le TCP spoofing
ACK, Clt Seq=101
SvrSeq=501
Lu
ACK jet
TCP/IP spoofing
TCP/IP spoofing
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 197
Attaque TCP : Desynchronized Connection
Dsynchronisation par envoie de messages vides
Utile seulement si le protocole accepte les trames vides
Trame vide = trame sans effet sur lapplication
Ex: trame IAC NOP sur telnet, trame NOP sur FTP
Lattaquant surveille lchange sans interfrer
Au moment opportun, lattaquant envoie un grand nombre
de trame vide
Le but est de changer le numro de squence du client en
injectant le cot des trames vides
Si la trame vide fait T octets
Le serveur aura sa valeur incrment : SVR_ACK CLT_SEQ + T
Le client sera toujours CLT_ACQ
Lattaquant fait la mme chose sur le client
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 198
Attaque TCP : Man In The Middle par dsynchronisation
But: attaque de lhomme au milieu
Connexion Dsynchronise
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 199
Attaque TCP : Man In The Middle par dsynchronisation
Nous supposons les deux machines dsynchronises
Du ct serveur
Le serveur naccepte plus les donnes du client
Les trames du client sont jetes (mauvais numro de
squence)
Lattaquant garde une copie des trames du client (Sniffing)
Lattaquant attend la demande de retransmission du paquet
envoy par le serveur au client
Lattaquant copie le contenu des paquets du client et les fait
suivre au serveur
Utilisation de lIP spoofing (on insre @IP du client comme IP
source)
On utilise le bon numro de squence (celui attendu par le serveur)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 200
Attaque TCP : Man In The Middle par dsynchronisation
Nous supposons les deux machines dsynchronises
Du ct client
Le client naccepte plus les donnes du serveur
Les trames du serveur sont jetes (mauvais numro de squence)
Le client rejettent toutes les rponses du serveur
Lattaquant intercepte les donnes envoyes par le serveur et
destine au client
Lattaquant copie le contenu des paquets du serveur et les fait
suivre au client
Utilisation de lIP spoofing (on insre @IP du serveur comme IP source)
On utilise le bon numro de squence (celui attendu par le client)
Rsultat :
Lattaquant change des donnes avec le client et le serveur
Permet ventuellement dajouter des donnes
De filtrer les commandes et leurs rsultats
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 201
Attaque TCP : Man In The Middle par dsynchronisation
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Client Attaquant
Serveur
data1, Clt Seq=701
Svr Seq=701, Taille=60
Lu
Ouverte
Clt Seq=101
Svr Seq=501
Lu
trame jete
data1, Clt Seq=101,
Svr Seq=501, Taille=60
Ouverte
Clt Seq=801
Svr Seq=701
data2, Clt Seq=101
Svr Seq=561, Taille=40
trame jete
data2, Clt Seq=801,
Svr Seq=701, Taille=40
Trame OK
Clt Seq=101
Svr Seq=561
Trame OK
Clt Seq=841
Svr Seq=761
Clt Seq=801
Svr Seq=761
Clt Seq=141
Svr Seq=561
TCP/IP spoofing
TCP/IP spoofing
Lattaquant doit utiliser lIP et le TCP spoofing
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 202
Attaque TCP : Tempte de dsynchronisation
Tempte dacquittement (The ACK Storm)
Si les deux clients sont dsynchroniss
Quand un client reoit une trame TCP invalide
Il envoie un ACK son pair (le serveur)
Le numro dacquittement est faux !
Quand le serveur reoit la trame dacquittement invalide
- Il envoie un ACK son pair (le client)
Le numro dacquittement est lui aussi faux !
Le ping pong cest bien mais qui va perdre ?
En thorie cela ne sarrte pas
La dsynchronisation doit tre de courte dure !
Il faut couper la connexion au plus tt
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 203
Attaque TCP : Tempte de dsynchronisation
Aprs la tempte, le beau temps !
IP est un service non sr
Des ACK vont se perdre dans la tempte
Certains paquets ne vont pas tre retransmis car il ne contiennent
aucune donnes (ACK pur)
Plus le rseau est satur, plus il y a de pertes !
La tempte va se calmer toute seule
Auto-stabilisation de leffet de tempte
Gnre du trafic non sollicit Peut rendre lattaquant dtectable !!
Comment lattaquant peut-il empcher la tempte ?
Lattaquant peut minimiser leffet tempte
Gnration dun ACK correct juste aprs le rejet dun paquet par le pair
Dans la pratique problme de synchronisation
Cest compliqu. Cela demande aussi un peu de chance.
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 204
Attaque TCP : Attaques par dsynchronisation
Solutions :
Empcher les usagers inconnus de se connecter
au rseau local
Elimination des portables !
Dtection des comportement suspects
Taux derreur, de perte et de retransmission levs
Dtection de la charge rseau
Dtection des temptes dACK
Utiliser des connexions applicatives scurises
Ex: SSH
Les paquets peuvent tre dsynchroniss et intercepts mais
pas interprts (confidentialit) ou modifis (intgrit)
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
A
t
t
a
q
u
e
s
n
i
v
e
a
u
4
:
T
C
P
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 205
Plan de cours
I nt r oduct i on
At t aques de ni veau 1
At t aques de ni veau 2: et her net
At t aques de ni veau 3: I P/ I CMP
I PSEC - VPN
At t aques de ni veau 4: TCP
Parefeu NAT - SSL/TLS
I DS et Anal yse
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 206
Politiques de filtrages
Le filtrage est un des outils de base de la scurit. IL EST NECESSAIRE !
Filtrage optimiste : PERMIT ALL
Tout est permis part quelques services (ports)
Facile installer et maintenir
Seulement quelques rgles grer
Scurit faible
Ne tient pas compte des nouveaux services pouvant tre ouvert
Ex: un utilisateur ouvre un serveur ftp personnel,
Filtrage pessimiste : DENY ALL
Rejet systmatique
Exception : services spcifiques sur machines spcifiques
Ex: Autorisations explicites pour les services HTTP, SMTP, POP3,
Plus difficile installer et maintenir
En particulier pour certains services (ex: FTP)
Scurit forte
Les nouveaux services doivent tre dclars
Prendre en compte les connexions entrantes et les connexions sortantes
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 207
Filtrage sur les routeurs
Installer des rgles sur les routeurs pour empcher certains
trafic de passer par les routeurs
Utilisation des Access Lists (Cisco, ...)
Le filtrage peut tre fait sur les critres suivants :
Par protocoles ([ethernet], IP, ICMP, TCP, UDP, ...)
Par adresses (suivant le protocole)
Par les numros de port TCP/UDP ( HTTP, SMTP, POP3, ...)
Par masque dadresse
Par les interfaces daccs
Structure et/ou contenu des paquets
Attention lordre des rgles
La premire qui correspond est celle slectionne
(Fist Matching, First Applied!)
Une politique doit tre installe
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 208
Filtrage sur les machines clientes
Le filtrage doit aussi tre fait aux niveaux des machines
Les mme type de politiques peuvent tre appliques
Optimistes ou Pessimistes
Les mmes critres de filtrages peuvent tre appliqus
De nouveau critres peuvent tre ajouts
Contrle des utilisateurs et des applications
Problmes :
Difficults de maintenance (prvoir un dploiement
automatique)
Une MAJ doit tre dploye
Doit tre adaptables sur les portables (migration)
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 209
Firewalls / Routeur
Diffrence entre un routeur et un firewall
Un firewall ne fait pas de IP FORWARDING
Un firewall peut faire du routage au niveau applicatif
Existence de mandataires HTTP, POP3, etc
Les mandataires peuvent tre intelligent
Filtrage par le contenu (informations)
La forme des paquets
Implantation
Un matriel spcialis (Cisco PIX, )
Une machine simple avec plusieurs cartes rseaux + logiciels
Firewall 1 (Checkpoint), Raptor, Shorewall (Linux), ...
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 210
Architecture avec Firewall sans routeur
Modle avec double rseau
Pas de routage IP
Filtrage applicatif seulement
Internet
Firewall
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 211
Architecture avec Firewall sans routeur
On donne des adresses IP prives aux machines du rseau
Exemple : 10.1.1.1, 10.1.1.2
Les serveurs ont aussi une adresse IP publique
Moyen: utilisation d'alias pour les cartes rseau
ifconfig eth0 10.1.1.4
ifconfig eth0:0 132.227.64.200
Les clients ne peuvent pas dialoguer directement avec
l'extrieur
Passage par des mandataires internes
Ok pour certains services : smtp, nntp, web, ftp
Plus compliqu ou impossible pour d'autres (sessions
telnet)
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 212
Architecture avec Firewall et routeur
Modle avec Firewall et routage
Le firewall est la seule machine visible
lextrieur
Le firewall effectue le contrle daccs
Le routeur effectue le routage (translation dadresse) NAT
Routeur
Internet
Firewall
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 213
NAT
Ide : le client fait passer ses communications par le routeur
Le routeur dguise les paquets pour faire croire qu'il en est
l'metteur
Le serveur distant rpond au routeur
Le routeur fait suivre les rponses au client
C'est un exemple de NAT (Network Address Translation)
Exemple :
Le poste 10.1.2.3 dmarre une session telnet (TCP, port 23) en
direction de 220.6.7.8
Le routeur remplace l'adresse d'origine (10.1.2.3) par sa propre
adresse, et fait suivre l'extrieur
Le site extrieur rpond au routeur
Le routeur remplace l'adresse de destination (la sienne) par celle du
demandeur 10.1.2.3
Le demandeur a obtenu sa rponse !
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 214
Pourquoi faire du NAT ?
Protger ses machines clientes
Les connexions sortantes sont possibles
Les connexions entrantes sont interdites
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Routeur
Internet
Firewall
?
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 215
Pourquoi faire du NAT ?
Parfois, lentreprise na quun nombre limit dadresses IP
Elle veut dployer plusieurs services
Elle vaut faire du load-balancing
Le routeur oriente les paquets en fonction dune politique
prcise
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Routeur
Internet
Firewall
10.0.76.5 - HTTP
10.0.76.10 - DNS
132.227.64.50
80
53
53
80
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 216
NAT nest pas la solution ultime !
Le NAT protge les machines clientes
Mais ils sont contournables !
Mthodes :
Ping tunneling: Encapsulation des trames TCP dans
les paquets ICMP
TCP traversing
Synchronous SYN
TCP/UDP Hole punching
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 217
Architecture avec Firewall et double routeurs
Architecture double routeur
Un routeur pour les connexions entrantes
Un routeur pour les connexions sortantes
Le firewall contrle les accs entrants et sortants
Routeur
Internet
Firewall
Routeur
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 218
Firewall et zone dmilitarise (DMZ)
Architecture DMZ
Dcoupage du rseau interne en 2 zones isoles
Serveurs accessibles de l'extrieur, situs en zone
dmilitarise
Postes clients inaccessibles de l'extrieur (situ en
zone militarise )
Variantes principales
Utilisation de deux routeurs
Utilisation d'un routeur 3 pattes
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 219
Militarized Zone
Firewall et zone dmilitarise : 2 routeurs
Routeur
Internet
Firewall
Routeur
Web FTP SMTP/POP3
DeMilitarized Zone (DMZ)
S
e
r
v
e
u
r
s
P
u
b
l
i
c
s
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 220
Firewall et zone dmilitarise : Routeur 3 pattes
Internet
Firewall
Routeur
Web FTP SMTP/POP3
Demilitarized Zone (DMZ)
S
e
r
v
e
u
r
s
P
u
b
l
i
c
s
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Militarized Zone
Utilisation des VLANs pour isoler les rseaux
Internes.
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 221
Firewall et zone dmilitarise
Avantages-Inconvnients
Routeur 3 pattes
plus conomique, 1 seule machine grer
2 routeurs
Configuration plus simple
Meilleure scurit
2 tapes successives pour braquer le rseau
interne
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 222
Utilisation des VLANs
Le VLAN permet un regroupement dun ensemble
de machines
Permet lisolement du groupe de machine
Regroupement par thme (pas par unit physique)
Niveau de VLAN
Niveau 1 port physique sur le routeur
Niveau 2 adresse MAC de la machine
Niveau 3 sous-rseau IP ou port du service
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 223
Firewall, VLAN et zone dmilitarise
Development
Office
Selling
Router
Access
lists
Config
file
Firewall
Router
Logs Analysis
Relai
Email
132.227
.94.200
Remote
access
(SSH)
Access
lists
Web/FTP
Demilitarized Zone
Militarized Zone
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
VLANssegmentation interne
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 224
Format gnral et expressions des rgles
Principe : Des rgles regroupes en chanes
Une chaine est
Un ensemble de rgles
Un rgle est constitue
Dune cible en cas de concordance qui dois-je faire
suivre le paquet
De filtres sur ladresse source [IP/Port] qui envoie le
paquet
De filtres sur ladresse destination [IP/Port] qui envoie le
paquet
Doptions (comme ltat de la connexion, lutilisateur)
Ex: La connexion a-t-elle t tablie (ESTABLISHED) auparavant ?
Applicable la grande majorit des firewalls
Iptables, ipfw, cisco ACL
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 225
Format gnral et expressions des rgles
Rgles de filtrage
SMTP-ENTRANT-1 : Autoriser tous les paquets TCP entrants, @IP destination
132.227.94.200 port 25
SMTP-ENTRANT-2: Autoriser tous les paquets TCP provenant du port 25 de
132.227.94.200.
SMTP-SORTANT-1: Autoriser les paquets mis depuis 132.227.94.200 vers
port 25 autre machine
SMTP-SORTANT-2: Autoriser les paquets mis depuis le port 25 d'une
machine vers 132.227.94.200 et ayant le bit ACK 1
Problme sur les routeurs sans tat :
La dernire rgle n'empche pas le passage de paquets bidouills en
direction du serveur de courrier
Laisse passer les tentatives d'attaques par saturation (DOS, dni de service)
Solution : routeurs avec tat
Le routeur mmorise les connexions TCP tablies
Refuse les paquets qui n'en font pas partie, ou ne sont pas le dbut d'une
nouvelle connexion autorise
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 226
Iptables: Firewall + NAT !
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
PRE-ROUTING
-----------------
Conntrack
Mangle
NAT(Dst)
Qdist
FORWARD
--------------
Mangle
Filter
ROUTING
POST
ROUTING
---------
Mangle
NAT(src)
Conntrack
PAQUET
EXT.
PAQUET
EXT.
INPUT
---------
Conntrack
Mangle
Filter
MACHINE
LOCALE
OUTPUT
---------
Conntrack
Mangle
NAT(Dst)
Filter
MACHINE
LOCALE
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 227
Iptables: les types de table & les chanes
Types de table :
Conntrack Permet de grer les connexions (iptable est statefull)
Mangle Permet la modification des options des paquets
Filter Permet le contrle des paquets (sources, destinations)
Qdist pour faire de la QoS
NAT dst Changer ladresse [IP/Port] de destination dun paquet
NAT src Changer ladresse [IP/Port] source dun paquet
Chanes cibles prexistantes pour les tables :
INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING (f de la table)
ACCEPT Le paquet est accept
DROP /dev/null
LOG Le paquet est trac dans syslog [fabrique kernel]. Non bloquant !
REJ ECT Le paquet est rejet et le firewall renvoie une erreur ICMP
RETURN Renvoie le paquet dans la chane prcdente juste aprs lendroit du
branchement. Comportement par dfaut la fin dune chane.
QUEUE Place le paquet dans lenvironnement utilisateur
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 228
Iptables: manipulation des chanes
Cration de la chane utilisateur blacklist
iptables -N blacklist
Suppression de la chane utilisateur blacklist
iptables -X blacklist
Vider une chane chain ou toutes les chanes
iptables -F [chain]
Fixer le comportement par dfaut de la chane blacklist
iptables -P blacklist DROP
Ajouter une rgle rule la chane chain
iptables -A chain rule
Insrer une rgle rule la chane chain aprs la position num
iptables -I chain [num] rule
Effacer une rgle rule de la chane chain en position num
iptables -D chain [num] [rule]
Remplacer une rgle rule en position num de la chane chain
iptables -R chain [num] [rule]
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 229
Iptables : Un exemple de script
Un firewall basique pour une machine cliente simple
#Tout interdire en entre par dfaut
Iptable t filter P INPUT DROP
#Autoriser les connexions entrantes en loopback
Iptables t filter A INPUT i lo s 127.0.0.0/8 d 127.0.0.0/8 j
ACCEPT
#ACCEPTE LES CONNEXI ONS dj ETABLI ES
Iptables t filter A INPUT i lo -m state --state ESTABLISHED j
ACCEPT
#ACCEPTE LES NOUVELLES CONNEXI ONS ENTRANTES SUR LE
PORT 80
Iptables t filter A INPUT i eth0 m state --state NEW p TCP --
dport www m limit --limit 1/s j ACCEPT
#ACCEPTE LE PING AVEC ANTIFLOOD
Iptables t filter A INPUT p icmp icmp-type echo-request m limit -
-limit 1/s j ACCEPT
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 230
Iptables: Un exemple de script
Ajout dune black liste en entre
# crer une nouvelle chane
Iptable N blacklist
# fixer le comportement par dfaut
Iptable t filter P blacklist RETURN
#On ajoute les adresses interdites
Iptables t filter A blacklist i eth0 s 10.0.0.0/8 j DROP
Iptables t filter A blacklist i eth0 s 192.168.0.0/16 j DROP
# On ajoute un saut vers cette rgle dans la
rgle INPUT du firewall
Iptables t filter I INPUT 3 j blacklist
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 231
Iptables: Un exemple de script
#Ne pas faire suivre les paquets
Iptable t filter P FORWARD DROP
#Interdire toutes les connexions sortantes par dfaut
Iptable t filter P OUTPUT DROP
#Autoriser les connexions sortantes en loopback
Iptables t filter A OUTPUT o lo s 127.0.0.0/8 d
127.0.0.0/8 j accept
#ACCEPTE LES CONNEXIONS dj ETABLIES
Iptables t filter A OUTPUT i lo -m state --state
ESTABLISHED j ACCEPT
#ACCEPTE LES NOUVELLES CONNEXIONS SORTANTES
SUR LE PORT 22
Iptables t filter A OUPUT m state --state NEW p TCP
dport ssh -j ACCEPT
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 232
Iptables: les extensions
Il existe de nombreux modules
state pour examiner ltat de la connexion
string pour examiner le contenu du paquet
recent pour grer les derniers paquets reus
condition pour dclencher un rgle en fonction
dune variable dans /proc/net/ipt_condition/variable
iplimit pour limiter le nombre de connexions
par @IP
length pour limiter le taille de certains paquets
(ex: icmp)
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 233
Iptables : shorewall
Il existe des scripts prfabriqus pour faire des firewalls facilement
Beaucoup doptions prdfinies !
Voir les fichiers de configurations dans /etc/shorewall et leurs
commentaires.
Efficace en terme de temps de dploiement et de scurit !
Fichier /etc/shorewall/interfaces
Choix des interfaces et des options/zones associes
Fichier /etc/shorewall/rules
ACCEPT net fw icmp 8 - - 3/sec:10
ACCEPT net fw tcp 22 -
Lancement : /etc/init.d/shorewall restart
Gnration automatique des rgles iptables. Pour les voir:
/ etc/ init.d/ shorewall status
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 234
Iptables: Exemple de code Shorewall
Chain INPUT (policy DROP 0 packets, 0 bytes)
t ar get pr ot opt i n out sour ce dest i nat i on
ACCEPT al l - - l o * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0
DROP ! i cmp - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 st at e I NVALI D
eth0_in all -- eth0 * 0.0.0.0/0 0.0.0.0/0
Rej ect al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0
LOG al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 . . .
. . . LOG f l ags 0 l evel 6 pr ef i x `Shor ewal l : I NPUT: REJ ECT: '
r ej ect al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0
Chain eth0_in (1 references)
t ar get pr ot opt i n out sour ce dest i nat i on
dynami c al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 st at e I NVALI D, NEW
net2fw all -- * * 0.0.0.0/0 0.0.0.0/0
Chain net2fw (1 references)
t ar get pr ot opt i n out sour ce dest i nat i on
ACCEPT al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 st at e RELATED, ESTABLI SHED
ACCEPT udp - - * * 132. 227. 64. 37 0. 0. 0. 0/ 0
ACCEPT t cp - - * * 132. 227. 64. 37 0. 0. 0. 0/ 0
ACCEPT udp - - * * 224. 0. 1. 1 0. 0. 0. 0/ 0 udp dpt : 123
ACCEPT t cp - - * * 132. 227. 64. 0/ 24 0. 0. 0. 0/ 0 t cp dpt : 111
ACCEPT t cp - - * * 132. 227. 64. 0/ 24 0. 0. 0. 0/ 0 t cp dpt s: 6000: 6010
ACCEPT udp - - * * 132. 227. 64. 0/ 24 0. 0. 0. 0/ 0 udp dpt s: 6000: 6010
ACCEPT t cp - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 t cp dpt s: 63000: 64000
ACCEPT t cp - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 t cp dpt : 22
ACCEPT i cmp - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 . . .
. . . i cmp t ype 8 l i mi t : avg 3/ sec bur st 10
net 2al l al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 235
Iptables: Voyage dun paquet
Chain INPUT (policy DROP 0 packets, 0 bytes)
t ar get pr ot opt i n out sour ce dest i nat i on
ACCEPT al l - - l o * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0
DROP ! i cmp - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 st at e I NVALI D
eth0_in all -- eth0 * 0.0.0.0/0 0.0.0.0/0
Rej ect al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0
LOG al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 . . .
. . . LOG f l ags 0 l evel 6 pr ef i x `Shor ewal l : I NPUT: REJ ECT: '
r ej ect al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0
Chain eth0_in (1 references)
t ar get pr ot opt i n out sour ce dest i nat i on
dynami c al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 st at e I NVALI D, NEW
net2fw all -- * * 0.0.0.0/0 0.0.0.0/0
Chain net2fw (1 references)
t ar get pr ot opt i n out sour ce dest i nat i on
ACCEPT al l - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 st at e RELATED, ESTABLI SHED
ACCEPT t cp - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 t cp dpt : 22
ACCEPT t cp - - * * 132. 227. 64. 37 0. 0. 0. 0/ 0
ACCEPT t cp - - * * 132. 227. 64. 0/ 24 0. 0. 0. 0/ 0 t cp dpt : 111
ACCEPT t cp - - * * 132. 227. 64. 0/ 24 0. 0. 0. 0/ 0 t cp dpt s: 6000: 6010
ACCEPT udp - - * * 132. 227. 64. 0/ 24 0. 0. 0. 0/ 0 udp dpt s: 6000: 6010
ACCEPT i cmp - - * * 0. 0. 0. 0/ 0 0. 0. 0. 0/ 0 . . .
. . . i cmp t ype 8 l i mi t : avg 3/ sec bur st 10
Chain dynamic (1 references)
vi de r et ur n
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
TCP SYN de 132.227.64.8
port 22
Match ? Non
Match ? Non
Match ? oui
Match ? oui
Match ? Non
Match ? oui
Match ? oui
Paquet ACCEPTE
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 236
ipfw
IPFW est lanctre de iptables
Il est encore trs prsent (FreeBSD, MacOS)
Il a trs bonne rputation.
Fortement intgr au noyau:
Le changement dune option oblige la recompilation du noyau
Tout un ensemble doption sont disponibles
IPFIREWALL_VERBOSE, IPDIVERT,
Dploiement du firewall: fichier /etc/rc.conf
firewall_enable="YES"
firewall_script="/ etc/ firewall/ fwrules"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic"
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 237
Ipfw : fichier de rgles
# Define the firewall command (as in /etc/rc.firewall) for easy reference. fwcmd="/sbin/ipfw"
# Force a flushing of the current rules before we reload.
$fwcmd -f flush
# Allow all data from localhost.
$fwcmd add allow ip fromany to any via lo0
# Basically give user root "GOD" privileges. $pif network card
$fwcmd add allow tcp from me to any out via $pif setup keep-state uid root
# Allow out ping
$fwcmd add allow icmp from any to any out via $pif keep-state
#Allow out Time
$fwcmd add allow tcp from any to any 37 out via $pif setup keep-state
# This rule enforces the block all by default logic.
$fwcmd add deny log all from any to any out via $pif
# Deny all inbound traffic from non-routable reserved address spaces
$fwcmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP
$fwcmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP
$fwcmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP
$fwcmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback
$fwcmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback
$fwcmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config
$fwcmd 00306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs
$fwcmd 00308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast
..
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 238
SSL et TLS
SSL = Secure Socket Layer
Surcouche logicielle TCP/IP
Utilise un protocole particulier et doit donc tre sur un port particulier
Sinsre entre la couche TCP et la couche applicatif
Ncessite une adaptation de lapplication
Permet lidentification des clients (Par exemple pour un intranet)
TLS = Transport Secure Layer
Reprend tous les concepts SSL. Plus gnrique et plus clair que SSL.
TLS nimpose pas de mthode de chiffrement spcifique
Utilise les mmes couches (une couche de ngociation et une couche de
cration de paquets)
Utilise les mmes protocoles (handshake, alert, cipher change)
RFCis : 2246/3546 (TLS), 2487 (SMTPs), 2595 (POPs, IMAPs), 2817/2818
(HTTPs)
Technologie SSL plus connue et plus exploite que TLS
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 239
Transport (/ Secure) Socket Layer
Niveau Application
Handshake Layer
Record Layer
Niveau Transport (TCP/IP)
S
S
L
Protocole
applicatif
Protocole
handshake
Protocole
Change Cipher
Spec
Protocole dalerte
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 240
Transport (/ Secure) Socket Layer
Ngociation SSL
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Client
Serveur
Client Hello [temps,random sur 256bits]
Server Hello [Version,random,
sessionID, algos cryptage, algos compression]
Phase de Hello
CERT
[certificat du serveur]
Server Key exchange
[clef de cryptage du serveur]
Phase de lidentification du serveur
Client cert request
[certificat du client]
Serveur done
Optionel (en cas de
Serveur non anonyme)
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 241
Transport (/ Secure) Socket Layer
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Client
Serveur
CERT
[certificat du client]
Phase de lidentification du client
Change cipher spec
Optionnel (en cas de
Serveur non anonyme)
Vrification
du certificat
Client Key exchange [clef du client]
Certificat verify
[certificat du client]
Optionnel (en cas de
Serveur non anonyme)
Finished
Fin de ngociation serveur
Fin de ngociation client
Change cipher spec
Finished
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 242
Transport (/ Secure) Socket Layer
DES, Triple-DES, MD5, RSA, SHA-1.
DSA. Digital Signature Algorithm
KEA. Key Exchange Algorithm. Un algorithme utilis
pour lchange de cl par le gouvernement US.
RC2 and RC4. Un algorithme de cryptage Rivest dvelop
pour le RSA Data Security.
RSA key exchange. Un algorithme dchange de clefs
pour SSL bas sur lalgorithme RSA.
SKIPJACK. Un algorithme de cryptage clef symtrique
implant par la socit FORTEZZA et utilis par le
gouvernement US (voir FORTEZZA Cipher Suites.)
P
a
r
e
f
e
u
P
a
r
e
f
e
u
N
A
T
N
A
T
- -
S
S
L
/
T
L
S
S
S
L
/
T
L
S
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 243
Plan de cours
I nt r oduct i on
At t aques de ni veau 1
At t aques de ni veau 2: et her net
At t aques de ni veau 3: I P/ I CMP
I PSEC - VPN
At t aques de ni veau 4: TCP
SSL/ TLS Par ef eu - NAT
IDS et Analyse
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 244
fwlogwatch : Analyse de log firewall
Nanalyse que les paquets tracs
Ncessiter de bien dfinir les paquets tracer
Les paquets jets (drop/reject) sont tracer
Certains paquets accepts doivent tre tracs
Ouverture de connexion (TCP SYN)
Ne capte pas toute lactiver rseau de la machine !
fwlogwatch :
Il gnre des rapports
Il peut surveiller lvolution des logs
Gnrer des alertes via des scripts (EMAIL !)
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 245
Analyse de log firewall
Fichier de configuration /etc/fwlogwatch.conf :
ver bose = yes # be ver bose
r esol ve_host s = yes # t r y t o get host name &
ser vi cename
r esol ve_ser vi ces = yes
par ser = n # set par ser t o i pt abl e
sr c_i p = on # show al l i nf or mat i ons
dst _i p = on
pr ot ocol = on
sr c_por t = on
dst _por t = on
t cp_opt s = on
dat a_amount = yes
st ar t _t i mes = yes
end_t i mes = yes
dur at i on = yes
ht ml = yes # set ouput t o ht ml
out put = / var / www/ f wl ogwat ch/ i ndex. ht ml
sender = r oot @sr c. l i p6. f r
r eci pi ent = r oot @sr c. l i p6. f
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 246
fwlogwatch : Exemple
Cest joli les premires fois
Mais on se lasse vite
Une fois en place
il faut prendre le temps chaque jour
Il faut tre persvrant
Si on ne le regarde plus, autant arrter la
gnration des comptes rendus
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
fwlogwatch HTML
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 247
Sonde IDS
IDS = Intrusion Detection System
Utilit des sondes IDS ?
Il est impossible de se protger contre toutes les attaques
Dtecter les attaques non bloques
Empcher lespionnage de son rseau en le dtectant
prcocement
Collecter le maximum dinformation sur un attaque et sur les
attaque ( know your ennemy )
Pour que la sonde soit efficace
Doit percevoir son environnement
Doit limiter ses interactions avec son environnement
Eviter les dtections de la sonde
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 248
Sonde IDS
Type de sonde IDS
Sonde rseau analyse des trames
Sonde de machine analyse les vnements
machines
Sonde applicative analyse un service particulier
(peut tre une combinaison de plusieurs machines)
La dtection se fait par
Des signatures (comportementales)
La dtection danomalies
Certains IDS ont des capacits prprogrammes de
ractions
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 249
Sondes IDS de type rseau
NIDS = Network based IDS
Type de sonde trs employe
Caractristiques :
Elle coute sur des points stratgiques du rseau
Doit recevoir tout le trafic du rseau (dorsale)
Penser la brancher sur le routeur dentre et annuler lisolation (ex:
VLAN)
On peut segmenter les coutes (plusieurs sondes)
Une sonde peut et doit tre fortement scurise
Contrle daccs fortement limit
Hardened kernels
Une bonne configuration la rend difficilement dtectable
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 250
Sondes IDS de type rseau
Avantages
Peu de sondes bien places peuvent surveiller un large
rseau
Le dploiement de sonde a peu dimpact sur le rseau
existant
Peu deffort de configuration pour dployer une sonde
Les sondes sont camouflables et bien protges
Inconvnients
Surcharge possible de la sonde (rseau, CPU)
Certaines sondes utilisent un matriel spcifique
Certains commutateur bas de gammes noffre pas de ports
de surveillance (pas de copie du trafic)
Pour linstant pas danalyse de donnes cryptes
Il faudrait connatre toutes les clefs et les protocoles de son rseau
Difficult savoir si une attaque russi ou non
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 251
Sondes IDS de type Machine
Sonde IDS de type machine HIDS (Host based IDS)
Caractristiques
Analyse lactivit systme de la machine sur laquelle elle est
dploye
System Integrity Verifier Vrification des modifications
apportes sur les fichiers du systme
Log file monitor Vrification des traces systmes
Permet de dterminer les activits suspectes de certains
processus
Certains sondes peuvent transmettre les informations un
concentrateur
Certains sondes peuvent gnrer des messages rseaux
(SNMP) ou des emails
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 252
Sonde IDS de type Machine
Avantages
Dtecte des attaques non dtectables sur le rseau
Peut tre utilis dans des environnements crypts
Peut tre utilis sur des rseaux commuts
Inconvnients
Les bases doivent tre mise jour sur les machines
Les sondes peuvent tre corrompues/dsactives par
lattaquant
Pas de vision globale (scans rseaux) car elle est dploye
sur une machine cliente
La sonde machine consomme du CPU et de la mmoire sur la
machine cliente
Difficult dtecter les dnis de services
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 253
Sondes IDS de type applicative
Trs proches des sondes machines
Souvent confondues avec les sondes machines
Caractristiques
Encapsule une application
Surveille une application et ses vnements
Spcialiser pour chaque type dapplication
Avantages
Trs fine granularit pour analyser des comportements
anormaux
Analyse les donnes aprs le dcryptage
Inconvnients
Sensibilit extrme aux attaques
Facilement corruptible
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 254
Sondes IDS : analyse par signatures
Dclenchement sur la dtection dune suite
prdfinie dvnements
Mthode peu coteuse et efficace
Avantages
Peu de fausses alarmes
Inconvnients
Il faut mettre jour la base de signature
Ne dtecte pas toujours toutes les variantes des
attaques
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 255
Sondes IDS : analyse par dtection danomalies
Identification de comportements anormaux
Un bon complment lanalyse par signature
Ncessit de dfinir une (la?) normalit
Fonction dapprentissage des comportements normaux
Analyse statistique des comportements
Dtection de dviance vis--vis de la normalit
Avantages
Dtection dattaques non encore identifies
Inconvnients
Produits de nombreuses fausses alarmes
Ncessite un apprentissage couteux et long
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 256
Sondes IDS : rponses automatiques
Ladministrateur nest pas toujours prsent
Les rponses passives automatiques peuvent tre :
Envoie de notifications et dclenchement dalarmes NECESSAIRE !
Email, sms, ... aux responsables
Envoie de trames SNMP
Utilisation de plug-in
Archivage automatique sur un support sr
Les rponses actives peuvent tre
Changer lenvironnement interne PEUT ETRE DANGEREUX ET ETRE EXPLOITE !
Injection de trames RST pour couper lattaque
Reconfiguration des routeurs et firewall pour bloquer @IP
Reconfiguration des routeurs et firewall pour bloquer les protocoles
Bloquer totalement le rseau dans les cas extrmes
Collecte automatique dinformations sur la source rponse la plus efficace
Whois, nmap, traceroute
Changer le niveau de logging de lIDS, activer dautres type de sonde
Attaquer lattaquant ! rponse la plus dangereuse (lgalement et techniquement)
Interdit par la loi et peut attaquer quelquun dinnocent
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 257
Sondes IDS : limitations ?
Etre conscient des limitations des IDS
Difficults destimer les ressources ncessaires
Ressources CPU/Rseau
Ressources humaines pour traiter les alarmes et les MAJ des IDS
Gnration de faux positifs coteux pour les administrateurs systmes
Les IDS mmes considrs comme temps-rels mettent parfois plusieurs
minutes ragir d la charge de la machine
Temps extrmement long en informatique
Latence entre la mise jour des bases et le dploiement
Attaque non dtecte possible entre la publication et la MAJ de lIDS
Les rponses automatiques
Sont souvent ineffectives contre les hackers exprimentes
Peuvent gner le trafic lgal
Les IDS ne sont pas forcement protgs contre les attaques
Les IDS nont pas toujours de GUI et doutils danalyse efficaces
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 258
Sondes IDS : Localisation
Localisations de dploiement
Derrire chaque firewall externe
Dans le rseau DMZ
Devant le firewall frontale (point dentre)
Sur les dorsales internes des sous-rseaux
Ce sont des conseils !
Vous devez adapter votre stratgie IDS
Votre rseau
Aux ressources financires
Cest un domaine encore en phase de R&D
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 259
Sondes IDS : Localisation
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 260
NIDS payants
Network ICE, BlackICE, Win
Auto-update, TCPIP/ARP, SMNP
Network Associate, Cybercop Monitor, Win
Product update, TCPIP, pas SNMP
Cisco, Netranger, Solaris
MAJ par CD, TCPIP, SNMP
ISS, RealSecure, Win/Unix/Linux
MAJ par HTTPs, TCPIP, SNMP
AXENT, Omniguard, Win/AIX/Unix/HP/Solaris
MAJ par HTTPs, pas SNMP
. . .
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 261
NIDS gratuits
Les applications libres
Snort, Prelude, BroIDS, hogwash Sondes de type rseau
Nessus, ettercapNGdans le domaine de laudit de vulnrabilits
IDSwakup permet de gnrer du trafic rseau anormal
Nmap, dsniff, kismet scan rseau
Argus Nework logger
Elles font partie des rfrences incontestables dans leur domaine.
performances parfois suprieures celle dapplications commerciales
souvent vendues trs cher.
Problme :
La socit ditrice de Snort vient dtre rachete
Lauteur de nessus ne veut plus publier ses sources
Ils sont quand mme dployer car incontournables !
En attendant mieux ou leurs rcuprations open source
Il faut dployer PLUSIEURS IDS SIMULTANEEMENT !!!!!
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 262
IDS snort : configuration
Installation
Edition du fichier /etc/snort/snort.conf
Modifier la variable HOME_NET pour dfinir le primtre de
confiance (ex: votre rseau)
Lextrieur est dfinit comme ! HOME_NET
Activation possible du log dans une DB ou un fichier binaire
(bainard)
Variable output
Permet des dbits plus importants que le texte pur
Activer tous les plugins (preprocessors) et les rgles (include) qui
vous intressent
Prprocesseurs: sfPortscan, stream4, httpinspect, rpcdecode
En cas de rseau expos, activer les rgles BleedindEdge
Les rgles de bases sont MAJ sur Arachnids
Fixer les options
/etc/init.d/snort start
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 263
IDS snort : outils
Snort ne fait que tracer les attaques
Pas demail
Pas de modification des rgles de firewall
Pour iptables module snortsam ou snort-inline
Pour emailer les alertes snorts
Swatch, IDSCenter, logsurfer
Analyse et gestion des logs pour snort
Snortsnarf produit un rapport HTML partir des logs snort
ACID produit un rapport HTML partir dune BD snort
Cerebus pour analyser les logs
Autres: 5n0r7, SnortReport, SnortBot, SnortPHP, snort_stat.pl
(livr avec snort)
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 264
IDS snort : outils
GUI pour snort
HenWen (MacOSX), IDSCenter (Win), SnortCenter
(Linux/Win)
Maintenance des logs snort:
Guardian, logsnorter, snortlog
Outils
Getcontact, Hogwas Signature
Configuration snort
IDS Policy Manager, Snort Webmin Module
Mise jour des rgles snort
oinkmaster
Pour obtenir les modules Snort :
http://www.snort.org/downloads.html
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 265
IDS snort : Exemple snortsnarf
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 266
IDS snort : Exemple snortsnarf
Comme fwlogwatch
cest joli les premires fois Mais on se lasse vite
Une fois en place il faut prendre le temps chaque jour
Si on ne le regarde plus, autant arrter la machine
Exemples :
Summary : connexion BO
Summary : trafic hors norme (UDP 53 vers 139 !!)
Top 20 source IP (211.137.96.156) : Host zombie typique
1 type dattaque, rpter rgulirement
Top 20 source IP (216.136.86.44) : Scan de proxy web/socks
Top 20 destination IP machines les plus cibles
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Snortsnarf HTML
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 267
IDS snort : Exemple ACID
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 268
IDS snort : Exemple ACID
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 269
IDS: Prelude
Prelude est similaire snort
Il est compos de 3 type de serveurs
Un serveur manager centralise les informations collectes par les
sondes
prelude-manager , fichiers /etc/prelude-manager/*
Un serveur sonde NIDS collecte des informations rseaux en un
point du rseau
prelude-nids , fichiers /etc/prelude-nids/*
Un serveur sonde LML collecte des informations sur des
machines (les logs)
prelude-lml , fichiers /etc/prelude-lml/*
Un serveur de contre-mesure gre les actions de contre-mesures
en fonction de donnes collects par les managers
prelude-cm-agent
Les communications entre les sondes et le manager est scuris
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 270
IDS: serveur prelude-lml
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Log locaux
Log du rseau
analyse
Envoie au
Manager
+alertes
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 271
IDS: serveur prelude-nids
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
M
o
d
u
l
e
r
s
e
a
u
Capture par
libpcap
analyse
Envoie au
Manager
+alertes
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 272
IDS: serveur prelude-manager
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Envoie au
Manager
+alertes
Centralisation
+dcision
Tracabilit
+contre-mesures
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 273
IDS Prelude : ajout dune sonde
Pour linstallation, les paquetages ncessaires sont
prelude-manager , prelude-tools
prelude-nids , prelude-lml
Eventuellement une BD (mysql) et prelude-cm-agent
Prelude naccepte pas les donnes de sources inconnues
il faut grer un change de clefs
Pour chaque serveur, pensez au fichier
/etc/prelude-xxx/prelude-xxx.conf
Pour ajouter une sonde, il faut du ct manager
# manager - adduser
Gener at ed one- shot passwor d i s " sa17bh20" .
Thi s passwor d wi l l be r equest ed by " sensor - adduser " i n or der t o connect .
Pl ease r emove t he f i r st and l ast quot e f r omt hi s passwor d bef or e usi ng i t .
- Wai t i ng f or i nst al l r equest f r omPr el ude sensor s. . .
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 274
IDS Prelude : ajout dune sonde
Du cot sonde : -u uid, -s nom sonde, -m ip manager
# sensor - adduser - s sensor - l ml - m127. 0. 0. 1 - u 0
Now pl ease st ar t " manager - adduser " on t he Manager host
wher e you wi sh t o add t he new user .
Pl ease r emember t hat you shoul d cal l " sensor - adduser "
f or each conf i gur ed Manager ent r y.
Pr ess ent er when done.
Pl ease use t he one- shot passwor d pr ovi ded by t he
" manager - adduser " pr ogr am.
Ent er r egi st r at i on one shot passwor d : sa17bh20
Pl ease conf i r mone shot passwor d : sa17bh20
connect i ng t o Manager host ( 127. 0. 0. 1: 5553) . . .
Succeeded.
User name t o use t o aut hent i cat e : sensor-lml
Pl ease ent er a passwor d f or t hi s user : password
Pl ease r e- ent er t he passwor d ( comf i r m) : password
Regi st er user sensor - l ml " ? [ y/ n] : y
Pl ai nt ext account cr eat i on succeed wi t h Pr el ude Manager .
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 275
IDS Prelude : rsultats collects
Lancer le manager ( prelude-manager ) et les sondes (NIDS et LML)
Le fichier de log est /var/log/prelude-manager/prelude.log
Il existe, comme pour snort, des gnrateurs de rapport
Au dmarrage de prelude-nids
**************************************************************
* Heartbeat: ident=1
* Analyzer ID: 1041315032505060971
* Analyzer model: Prelude NIDS
* Analyzer version: 0.8.6
* Analyzer class: NIDS
* Analyzer manufacturer: The Prelude Team http://www.prelude-ids.org
* Analyzer OS type: Linux
* Analyzer OS version: 2.6.12-12mdk-i686-up-4GB
* Node[unknown]:
* Process: pid=26218 name=prelude-nids
* Creation time: 0xc76582cb.0x94c4300 (2006-01-04 00:10:03.581+0100)
*
**************************************************************
Mme type de message au dmarrage de prelude-lml
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 276
IDS Prelude : rsultats collects (NIDS)
********************************************************************************
* Alert: ident=3923
* Classification type: bugtraqid
* Classification: BAD-TRAFFIC IP Proto 103 (PIM)
* Classification URL: http://www.securityfocus.com/bid/8211
* Creation time: 0xc7658fe6.0xc659400 (2006-01-04 01:05:58.774+0100)
* Detection time: 0xc7658fe6.0xc656a00 (2006-01-04 01:05:58.774+0100)
* Process: pid=26372 name=prelude-nids path=/usr/bin
* Impact severity: medium
* Impact completion: NULL
* Impact type: other
* Impact description: Detection of a non-standard protocol or event
*** Source information ********************************************************
* Source spoofed: unknown
* Node[unknown]:
* Addr[ipv4-addr]: 132.227.64.15
*** Target information ********************************************************
* Target decoy: unknown
* Node[unknown]:
* Addr[ipv4-addr]: 224.0.0.13
*** Additional data within the alert ******************************************
* Ethernet header: 0:10:d:3d:c4:0 -> 1:0:5e:0:0:d [ether_type=ip (2048)]
* Ip header: 132.227.64.15 -> 224.0.0.13 [hl=20,version=4,tos=192,len=38,id=26960,ttl=1,prot=103]
* Payload header: size=18 bytes
* Payload Hexadecimal Dump: 20 00 c9 b0 00 01 00 02 00 69 00 14 00 04 00 00 15 cb
* Detection Plugin Name: SnortRules
* Detection Plugin Author: The Prelude Team
* Detection Plugin Contact: prelude-devel@prelude-ids.org
* Detection Plugin Description: Snort signature parser.
* Snort rule ID: 2189
* Snort rule revision: 1
********************************************************************************
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Protocole de routage
multicast CISCO
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 277
IDS Prelude : rsultats collects (LML)
********************************************************************************
* Alert: ident=4042
* Classification type: unknown
* Classification: SSH Remote root logging failed
* Classification URL: unknown
* Creation time: 0xc7659e1c.0x8b7a000 (2006-01-04 02:06:36.544+0100)
* Detection time: 0xc7659e1c.0x0000000 (2006-01-04 02:06:36.000+0100)
* Analyzer ID: 630008679108729663
* Analyzer model: Prelude LML
* Analyzer version: 0.8.6
* Analyzer class: HIDS
* Impact severity: medium
* Impact completion: failed
* Impact type: admin
* Impact description: Someone tried to login as root from 132.227.64.30:34689 using the password method
*** Source information ********************************************************
* Source spoofed: unknown
* Node[unknown]:
* Addr[ipv4-addr]: 132.227.64.30
* Service: port=34689 protocol=tcp
*** Target information ********************************************************
* Target decoy: unknown
* Service: port=22 protocol=tcp
* Target decoy: unknown
* Node[unknown]: name:eos.lip6.fr
* Addr[ipv4-addr]: 132.227.64.45
* Process: pid=0 name=sshd
*** Additional data within the alert ******************************************
* Log received from: /var/log/messages
* Original Log: Jan 4 02:06:36 eos sshd[27082]: Failed password for root from 132.227.64.30 port 34689 ssh2
********************************************************************************
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Tentative de login
Ssh en root
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 278
IDS Prelude : rapport HTML (piwi)
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 279
Dtection de vulnrabilit
nessus , ettercap permettent de faire de la
dtection de vulnrabilit (des attaques)
nmap est un bon complment
IDSwakeup gnre du trafic anormal pour
dclencher une raction des IDS
A faire rgulirement Au moins une fois par
mois
I
D
S
e
t
A
n
a
l
y
s
e
I
D
S
e
t
A
n
a
l
y
s
e
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 280
Scurit des Systmes Informatiques
Scur i t des appl i cat i ons
S
S
S
S
I
I
L
e
g
o
n
d
L
e
g
o
n
d
- -
A
u
b
r
y
A
u
b
r
y
F
a
b
r
i
c
e
F
a
b
r
i
c
e
f
a
b
r
i
c
e
.
l
e
g
o
n
d
f
a
b
r
i
c
e
.
l
e
g
o
n
d
- -
a
u
b
r
y
@
u
a
u
b
r
y
@
u
- -
p
a
r
i
s
1
0
.
f
r
p
a
r
i
s
1
0
.
f
r
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 281
Plan de cours
Introduction
At t aques gnr i ques de ser vi ces
At t aques spci f i ques de ser vi ces
Backdoor s / Root ki t s / Tr oj ans
Out i l s gnr i ques de pr ot ect i on
Audi t et check- l i st
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 282
Des attaques varies
Quand un programme interagit avec son environnement
Il est menac
Une attaque peut avoir lieu sur chaque point dinteraction
Les accs disques, les paramtres dexcution, les sockets, la
mmoire sont des points dinteractions
Selon les points dinteractions des attaques distantes et/ou locales
sont possibles
Les programmes suid sont des cibles de choix !
Les services externes/publiques sont trs exposs !
Rappel: http://www.ouah.org, http://www.phrack.org
Les sites WEB dynamiques sont les plus exposs
Attaques par des scripts php, CGI
Attaques par injection Attaque Virus HTML
Cross scripting
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 283
Des attaques varies
On constate des classes dattaques sur les services. Elles sont
gnriques
Le buffer overflow est la plus connue
Lattaque par chane de format
Valeurs hors normes sur les services [local et distant]
Par virus, cheval troie,
Les attaques gnriques sont une premire tape vers le compromission
de la machine. Elles permettent
laccs la machine
linstallation des modules noyaux, de backdoor, de rootkit
lutilisation de la machine des fins malveillantes
Dautres services peuvent subir des compromissions spcifiques pour
dtourner leur utilisation
DNS cache poisoning
Bounce FTP server attack
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 284
Une journe ordinaire de M
r
ROOT
Voici les avis publi le 10 janvier 2006 :
[cert-renater] [ AVI S CERTR : OpenBSD: Pat ch f i xes sui d / dev/ f d
access check]
[cert-renater] [ AVI S CERTR : Mandr i va Li nux: Updat ed xpdf
packages f i x sever al
[cert-renater] [ AVI S CERTR : RedHat : ht t pd secur i t y updat e]
[cert-renater] [ AVI S CERTR : Debi an: New smst ool s packages f i x
f or mat st r i ng v
[cert-renater] [ AVI S CERTR : Ubunt u: sudo vul ner abi l i t y]
[cert-renater] [ AVI S CERTR : Gent oo: VMwar e Wor kst at i on
Vul ner abi l i t y i n NAT n
[cert-renater] [ AVI S CERTR : SCO: Li bXpmI nt eger Over f l ow
Vul ner abi l i t y]
[cert-a] [ AVI S CERTA : Vul nr abi l i t dans Cl amAV]
[cert-a] [ AVI S CERTA : Vul nr abi l i t du modul e mod ssl dans
Apache 2]
[cert-a] [ AVI S CERTA : Mul t i pl es vul nr abi l i t s dans
post gr eSQL]
[cert-a] [ AVI S CERTA : Vul nr abi l i t dans aut h l dap pour
Apache]
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 285
Les mthodes de protections
Des protections contre ces attaques existent
Des outils de contrle dynamiques
libsafe, lids, systrace, TCPwrapper
Des outils disolation et de virtualisation
vmware, vserver, uml, chroot
Des audits automatiques de code
Algorithmes danalyse du code source
Vrification des include dans les scripts, chappement des chanes de caractres
Limiter services et contrler les services
Eliminer les mots de passes en clair, PKI
Un systme 100% sr nexistant pas, il faut prvoir
Des outils daudit
Forensics Analysis (log, disque dur, )
Dtection des Root kit
Vrification de lintgrit des fichiers
Des check-lists de scurit vrifier rgulirement
Des pots de miels
I
n
t
r
o
d
u
c
t
i
o
n
I
n
t
r
o
d
u
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 286
Plan de cours
I nt r oduct i on
Attaques gnriques de services
At t aques spci f i ques de ser vi ces
Backdoor s / Root ki t s / Tr oj ans
Out i l s gnr i ques de pr ot ect i on
Audi t et check- l i st
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 287
Attaques par execv
Attaque trs simple base sur un appel exec mal protg
Des programmeurs imprudents : Pas de chemin absolu !
execve ( l s , NULL, NULL)
Il suffit de faire en sorte que le programme excute son propre ls
Un exec modifi cest mieux !
Si le programme appartient root et a le bit suid 1, le ls sera excut
avec les droits root
Exemple
echo xt er m& l s > / t mp/ l s
EXPORT PATH=/ t mp: $PATH
. / pr ogr amme_mal _ecr i t
Solution :
Faire un setuid, setgid lors dappel comme system, exec,
Fixer des chemins absolus
Purger lenvironnement (PATH !!!)
Eviter les programmes externes il y a toujours un autre moyen
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 288
Attaques par dbordement
Terme anglais : buffer overflow ou bof
Principes
Etre capable dexcuter un code arbitraire travers un autre
programme
Le code arbitraire est souvent un code SHELL
Le programme doit tre suid pour tre intressant
But
Obtenir un accs maximum sur un systme
Root sur linux/unix; Administrator sur XP
Consquences
Le code shell peut tre utilis pour modifier nimporte
quoi sur la machine
Installer des traps, ouvrir un terminal root
Tlcharger des rootkits et les excuter
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 289
Attaques par dbordement
Cest un problme majeur
Il nest pas ENCORE dmod !! Mais en perte lgre de vitesse.
Des nombreux (tous ?) services ont dj t affects
HTTP (apache, iis), ftp (proftpd, ftpd)
imap (TOUS) , smtp (sendmail), syslog
De nombreuses commandes ont dj t affectes
Tous les systmes UNIX/linux/Windows
Eject, rsync, rdist, cvs, mount
Laisse peu de traces (arrt du service)
Les serveurs Web sont particulirement exposs
De nombreux scripts CGI, pages php/asp/jsp
Ils sont mal conus/penss par des personnes non spcialistes
Essentiellement du de mauvaises habitudes de programmation
Pourrait tre facilement vit !
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 290
Attaques par dbordement - Solutions
Une bonne programmation cest :
Eviter les manipulations sans contrle
BANNIR strcpy(), get(), strcat()
ATTENTION AUX sprintf(), vsprintf(), scanf()
Utilisation de strcpy() strncpy()
Utilisation de gets() fgets()
Utiliser des librairies spciales
Vrification systmatiques des bornes
Utiliser des versions spciales de malloc()
Vrification des allocations et des bornes
Utiliser des librairies de debug pour vrifier le programme
Dbmalloc, checker, LeakTracer,
Purger lenvironnement dexcution !
Modification du noyau
Cration de nouvelles limitations sur le processus
Interdiction dinvocation de fork() et/ou dexec()
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 291
Attaques par dbordement
Concerne les programmes sexcutant avec les droits
root (user/group) et avec le bit suid
Excuter par des utilisateurs normaux mais devant conserver
les droits root
Sous MacOS X, on peut corrompre des programmes ayant
comme propritaire admin ou root
Prologue trouver ces programmes
f i nd / bi n - user r oot - per m+a=s > sui d. l st
f i nd / sbi n - user r oot - per m+a=s >> sui d. l st
f i nd / usr / bi n - user r oot - per m+a=s >> sui d. l st
f i nd / et c - user r oot - per m+a=s >> sui d. l st
f i nd / var - user r oot - per m+a=s >> sui d. l st
echo "see i n sui d. l st f or t he l i st . . . "
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 292
Attaques par dbordement de Pile : principes
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Void foo( int a, char *s)
{
int x;
char buffer[20];
strcpy( buffer, s);
}
Function
Parameters
Return Address
Function
Local Variables
Execution Stack 0x0000
0xffff
SP
SP+4
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 293
Attaques par dbordement de Pile : principes
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Void foo( int a, char *s)
{
int x;
char buffer[20];
strcpy( buffer, s);
}
Function
Parameters
Return Address
Function
Local Variables
Execution Stack 0x0000
0xffff
SP
SP+4
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 294
Attaques par dbordement de Pile : principes
Function
Parameters
Return Address
Function
Local Variables
Void foo( int a, char *s)
{
int x;
char buffer[20];
strcpy( buffer, s);
}
But:
Transmettre une chaine s
provoquant un
dbordement au sein de
lespace des variables
locales
Ecrasement de ladresse de
retour
Execution Stack 0x0000
0xffff
SP
SP+4
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 295
Attaques par dbordement de Pile : droulement sur x86
Execution Stack
4 Bytes
Function local Variables
Function Foo()
Return Address
Function Parameters
Stack Direction
@0x0000
@0xFFFF
SP = @0x1000
SP + d
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 296
Attaques par dbordement de Pile : droulement sur x86
Execution Stack
4 Bytes
Function local Variables
Function Foo()
Return Address
Function Parameters
Stack Direction
@0x0000
@0xFFFF
SP = @0x1000
SP + d
Void Foo(char * string)
{
char buffer[20];
int i;
...
}
Int i
4 bytes
buffer
20 bytes
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 297
Attaques par dbordement de Pile : droulement sur x86
Execution Stack
4 Bytes
Function local Variables
Function Foo()
Return Address
overwrite
Stack Direction
@0x0000
@0xFFFF
SP = @0x1000
SP + d
Void Foo(char * string)
{
char buffer[20];
int i;
...
strcpy( buffer, string)
...
}
Int i
4 bytes
buffer
20 bytes
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 298
Attaques par dbordement de Pile : droulement sur x86
Execution Stack
4 Bytes
Function Foo()
Return Address
overwrite
Stack Direction
@0x0000
@0xFFFF
SP = @0x1000
SP + d
Int i
4 bytes
buffer
20 bytes
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Crer un chane string
(~200 o.) telle que :
a) Ladresse de retour
pointe sur un code forg
par nous
b) Contienne un code
excuter
La premire difficult est de
dtermin o est stocke
ladresse de retour.
Cest beaucoup plus facile
si on a accs au code
source.
La deuxime difficult est
de dterminer ladresse o
sera stock le code inject.
On peut se donner de la
marge en remplissant
dinstructions sans effet
(NOP).
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 299
Attaques par dbordement de Pile : droulement sur x86
Execution Stack
4 Bytes
Function local Variables
Function Foo()
Stack Direction
@0x0000
@0xFFFF
SP = @0x1000
SP + d
Void Foo(char * string)
{
char buffer[20];
int i;
...
strcpy( buffer, string)
...
}
Int i
4 bytes
buffer
20 bytes
RET @shellcode
Shellcode
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Adresse de saut
(nombreux)
ShellCode NOP
(nombreux)
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 300
Attaques par dbordement de Pile : droulement sur x86
Execution Stack
4 Bytes
Function Foo()
Local vars
@0x0000
@0xFFFF
SP = @0x1000
SP + d
Int i
4 bytes
buffer
20 bytes
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Return Address
Adresse de saut
(nombreux)
ShellCode
NOP
(trop nombreux)
CRASH
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 301
Attaques par dbordement de Pile : droulement sur x86
Execution Stack
4 Bytes
Function Foo()
Local vars
@0x0000
@0xFFFF
SP = @0x1000
SP + d
Int i
4 bytes
buffer
20 bytes
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Return Address
Adresse de saut
(nombreux)
ShellCode
NOP
(nombreux)
CRASH
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 302
Attaques par dbordement de Pile : droulement sur x86
Execution Stack
4 Bytes
Function Foo()
Local vars
@0x0000
@0xFFFF
SP = @0x1000
SP + d
Int i
4 bytes
buffer
20 bytes
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Return Address Adresse de saut
(nombreux)
ShellCode
NOP (nombreux)
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 303
Attaques par dbordement de Pile : le ShellCode
On dsigne sous le terme de shellcode un code permettant la cration dun
shell.
En unix/linux, il sagit de rcuprer le code assembleur gnr par lappel
une commande exec sur un shell (sh/bash/csh) et exit (en cas dchec)
On crit le code C
#i ncl ude <st di o. h>
voi d mai n( ) {
char *name[ 2] ; name[ 0] = " / bi n/ sh" ; name[ 1] = NULL;
execve( name[ 0] , name, NULL) ;
}
On obtient le code assembleur par
gcc -o shellcode -ggdb -static shellcode.c
gdb shellcode
Ou gcc -S -o example1.s example1.c
Le code ne doit contenir aucune adresse absolue (JUMP absolu)
Le shellcode sera charg dans lapplication par une chane spcialement forge
On doit liminer les caractres 0x00 (NULL) dans le code assembleur !!!
Il existe des shellcodes qui rsistent au toupper() et tolower()
Cela fonctionne car la pile (stack) est en lecture/criture
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 304
Attaques par dbordement de Pile : exemple de ShellCode
xor %eax,%eax # remplace mov %eax, $00
xor %ebx, %ebx
xor %ecx,%ecx
mov $0x17, %eax # interruption setuid(0, 0)
int $0x80
xor %eax,%eax
xor %edx,%edx
push %ebx #sauver ebx
push $0x68732f6e
push $0x69622f2f
mov %esp, %ebx
lea (%esp, 1), %edx # LoadEffAdr. /bin/sh
push %eax # sauver eax, ebx
push %ebx
lea (%esp, 1), %ecx
mov $0xb, %eax #interruption syst execve
int $0x80
xor %eax, %eax # en cas dchec
mov $0x1, %eax # interruption syst exit()
int $0x80
System Call
setuid()
int execve(const char *filename, char *const argv [], char *const envp[]);
Arguments of
execve()
System Call
execve()
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 305
Attaques par dbordement sur le TAS
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
De plus en plus de dveloppeur dOS fournissent des patches pour les bofs
Empche lexcution de code dans la pile
dveloppement des Heap Overflow ( hof )
Cest un overflow qui sattaque aux donnes alloues dynamiquement (TAS)
Le TAS sert stocker les donnes dynamiques manipules
Bloc de donnes malloc
Les images dun viewer, les fichiers MP3 dun lecteur de musique
Un Hof est plus complexe mettre en place quun bof
Ncessite une connaissance approfondie du systme
Comment sont allouer les blocs de mmoire ?
Ce type dattaque est essentiellement base sur la fabrication de fichiers de donnes
malforms
Lattaquant doit provoquer le traitement du fichier
Lattaquant doit attendre le traitement du fichier
Exemple
Faille GDI+, Faille WMF, Faille WMV
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 306
Attaques par dbordement sur le TAS
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Les donnes du TAS peuvent contenir des
pointeurs
Ils peuvent tre corrompus
Les donnes peuvent tre corrompues
Exemple :
Corruption dune structure utilise pour un setuid
Corruption dune chane de nom de fichier
Corruption dun pointeur de fonction
Pour pointer sur une fonction libc
Pour pointer sur un ShellCode contenu sur le tas, la pile
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 307
Attaques par dbordement sur le TAS : GNU C
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Heap
@0x0000
@0xFFFF
Void Foo(char * string)
{
char * buffer;
...
buffer = malloc (16);
...
free(buffer)
}
Free mem
chunk
next chunk
previous chunk
Free mem
Free mem
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 308
Attaques par dbordement sur le TAS : GNU C
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Heap
@0x0000
@0xFFFF
Void Foo(char * string)
{
char * buffer;
...
buffer = malloc (16);
...
free(buffer)
}
data
size
prev_size
data
size
prev_size
chunk
next chunk
real data
data
size
prev_size
previous chunk
Free mem
Free mem
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 309
Attaques par dbordement sur le TAS : GNU C
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Heap
@0x0000
@0xFFFF
Void Foo(char * string)
{
char * buffer;
...
buffer = malloc (16);
...
free(buffer)
}
bk
fd
garbage
size
prev_size
data
size
prev_size
next chunk
data
size
prev_size
previous chunk
Free mem
Free mem
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 310
Attaques par dbordement sur le TAS : GNU C
But:
Corrompre
fd et
bk
Corrompre un
autre bloc de
donnes
Moyen
Crer un
buffer
overflow
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Heap
@0x0000
@0xFFFF
bk
fd
garbage
size
prev_size
data
size
prev_size
chunk
next chunk
data
size
prev_size
previous chunk
Free mem
Free mem
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 311
Attaques par dbordement sur le TAS : GNU C
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Heap
@0x0000
@0xFFFF
Void Foo(char * string)
{
char * buffer;
...
buffer = malloc (16);
strcpy (buffer,string);
...
free(buffer)
}
data
size
prev_size
data
size
prev_size
chunk
next chunk
real data
data
size
prev_size
previous chunk
Free mem
Free mem
X
X
X
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 312
Attaques par dbordement sur le TAS : GNU C
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Heap
@0x0000
@0xFFFF
bk
fd
garbage
size
prev_size
data
size
prev_size
chunk
next chunk
data
size
prev_size
previous chunk
Block libre
Block libre
Void Foo(char * string)
{
char * buffer;
...
buffer = malloc (16);
strcpy (buffer,string);
...
free(buffer)
}
X
X
X
X
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 313
Attaques par dbordement sur un espace rduis
A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
En cas despace local trop faible pour stocker le code
Il est possible de stocker le code ailleurs en mmoire
En particulier dans lenvironnement du processus
Le processus hrite de lenvironnement
De faire pointer ladresse de retour sur ce code
Il existe de nombreuses variantes
des variantes moins dtectables par les IDS !
Voir les codes polymorphes (auto-mutable)
Le ShellCode peut aussi servir (quelques ides en lair):
Copier /bin/sh en /tmp/monshell et faire un suid
Ouvrir un shell connect une socket rseau
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 314
Attaques par corruption de chane de texte
String Format attack
Caractristiques
Type dattaque dcouverte en 2000 (rcent)
Utilise la pile ou le tas qui sont R/W
Reproduire leffet des bof (dpassement)
Exploitation des formats de sprintf, printf, et consorts
En particulier utilisation du format %n
Il sagit la aussi de mauvaises habitudes de programmation
Mthode incorrecte: printf(string);
Un exemple trs simple dinstruction dangereuse
Si string = %s%s%s%s%s , 99% de chance de crash
Mthode correcte: printf("%s", string); A
t
t
a
q
u
e
s
g
A
t
t
a
q
u
e
s
g
n n
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
r
i
q
u
e
s
d
e
s
e
r
v
i
c
e
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 315
Attaques par corruption de chane de texte
Il existe des exemples plus complexes
{
char out buf [ 512] ;
char buf f er [ 512] ;
spr i nt f ( buf f er , " ERR Wr ong command: %400s" , user ) ;
open( " / usr / shar e/ l ocal e/ f r / l i bdns. cat " , O_RDONLY) = - 1 ENOENT ( No such f i l e
or di r ect or y)
open( " / usr / shar e/ l ocal e/ f r / l i bdns. cat " , O_RDONLY) = - 1 ENOENT ( No such f i l e
or di r ect or y)
open( " / usr / shar e/ l ocal e/ f r / LC_MESSAGES/ l i bdns. cat " , O_RDONLY) = - 1 ENOENT
( No such f i l e or di r ect or y)
open( " / usr / shar e/ l ocal e/ f r / l i bdns. cat " , O_RDONLY) = - 1 ENOENT ( No such f i l e
or di r ect or y)
open( " / usr / shar e/ l ocal e/ f r / LC_MESSAGES/ l i bdns. cat " , O_RDONLY) = - 1 ENOENT
( No such f i l e or di r ect or y)
En particulier pour /usr/share/local/fr
Ne pas oublier le chown et chmod sur les fichiers!
O
u
t
i
l
s
d
e
p
r
o
t
e
c
t
i
o
n
O
u
t
i
l
s
d
e
p
r
o
t
e
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 391
Protection du systme : virtualisation
Il reste possible de schapper dune prison chroot
Il existe des solutions plus pousses disolation
UML User Mode Linux, noyau en espace utilisateur
Cest un patch noyau Complexe mettre en place
http://user-mode-linux.sourceforge.net/
Utilis au dpart pour la formation et le test
Contrle important sur laccs aux ressources physiques
Il permet de charger une image de systme
Faire une image disque du systme (utilitaire dd)
Monter limage pour (mount loop)
Ou excuter le noyaux UML avec les bon paramtre
Solution peu performante en terme de performance
O
u
t
i
l
s
d
e
p
r
o
t
e
c
t
i
o
n
O
u
t
i
l
s
d
e
p
r
o
t
e
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 392
Protection du systme : virtualisation
Vmware
Cest un mulateur complet de machine avec BIOS
Le systme na pas du tout conscient que le systme est virtualis
Encore moins performant que UML
Ncessite des ressources importantes
Isolation trs forte, mais les ressources sont bloques
Vserver
Cest une volution du principe de chroot (prison)
On tente de pousser plus loin lisolation sans machine virtuelle
On crer des contextes (proche des noyaux renforcs)
Cest beaucoup plus lg que lmulation pure
Il offre moins disolement mais une meilleur gestion des ressources
Avantages et Inconvnients : partage interne de ressources
O
u
t
i
l
s
d
e
p
r
o
t
e
c
t
i
o
n
O
u
t
i
l
s
d
e
p
r
o
t
e
c
t
i
o
n
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 393
Protection du systme : virtualisation
Xen
Cest un manageur de systmes virtuels
Il se place entre le matriel et le systme
Offre une couche dabstraction et disolement
Les systmes virtualiss ont conscience de la sous-couche
Xen
Il ncessite une adaptation
Xen est un hyperviseur, contrlable
Chaque systme tourne dans un domaine configurable
O
u
t
i
l
s
d
e
p
r
o
t
e
c
t
i
o
n
O
u
t
i
l
s
d
e
p
r
o
t
e
c
t
i
o
n
Matriel : processeur, mmoire, stockage, rseau, etc.
Xen
Pilotes Xen Pilotes Xen Pilotes Xen Pilotes Xen Pilotes Xen
Xeno-Linux Linux NetBSD FreeBSD Plan 9
Logiciels de
contrle Xen
Espace utilisateur Espace utilisateur Espace utilisateur Espace utilisateur
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 394
Plan de cours
I nt r oduct i on
At t aques gnr i ques de ser vi ces
At t aques spci f i ques de ser vi ces
Backdoor s / Root ki t s
Out i l s de pr ot ect i on
Audit et check-list
A
u
d
i
t
e
t
c
h
e
c
k
A
u
d
i
t
e
t
c
h
e
c
k
- -
l
i
s
t
l
i
s
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 395
Audit : processus accounting
Le premier outil psacct
Cest un rpmqui permet dactiver les traces du systme dans le noyaux linux
Pour activer la trace, il suffit dexcuter
accton fichier_de_log
Les fichiers sont binaires comme wtmp et utmp
Ils grossissent trs vite si lactivit est importante
Il faut des outils pour parser les logs
Les logs ne sont pas facilement transmissible par le rseau
Il doit possible de faire un tunnel (scuris) vers une autre machine
Le tunnel lira ses donnes partir du fichier
Cest une solution mettre en place
Un exemple
# . / acct _wat ch
program uid/gid cpu start time flags
l s r oot / r oot 0. 02u 0. 00s [ 09: 46: 34 Thu 1997- 04- 10] t t ydev: 3/ 3 SU
mai l - queue mai l / mai l 0. 01u 0. 01s [ 09: 47: 16 Thu 1997- 04- 10] NOTTY
mai l - smt pd mai l d/ mai l d 0. 00u 0. 02s [ 09: 47: 16 Thu 1997- 04- 10] SU, NOTTY
r cs mbp/ mbp 0. 02u 0. 01s [ 09: 47: 59 Thu 1997- 04- 10] NOTTY
i d pdb/ pdb 0. 01u 0. 01s [ 09: 49: 44 Thu 1997- 04- 10] t t ydev: 3/ 4
A
u
d
i
t
e
t
c
h
e
c
k
A
u
d
i
t
e
t
c
h
e
c
k
- -
l
i
s
t
l
i
s
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 396
Audit : Contrle dintgrit
Tripwire
Permet de contrle lintgrit
Fichier de configuration simple
Les md5 sont a stocker sur des supports surs
rpm V a vrifie les fichiers par rapport la base rpm
Elle peut tre corrompue mais cest un bon dbut
Affiche de 9 bits de status
. cest ok
5 (somme md5 hs), S (taille du fichier hs)
l (pb de lien symbolique), t (erreur horodatage)
m (pb de mode/droit), u/g (pb de prorit)
Plus sur, avoir une rfrence externe
# rpm-Vvp ftp://mirror.site/dir/RedHat/RPMS/fileutils-3.16-10.i386.rpm
S.5....T /bin/ls
Root kit detection
Sleuthkit
A
u
d
i
t
e
t
c
h
e
c
k
A
u
d
i
t
e
t
c
h
e
c
k
- -
l
i
s
t
l
i
s
t
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 397
Audit : processus accounting
Forensics Analysis
Pot de miel Honeyd
Cgiscan / phpscan
A
u
d
i
t
e
t
c
h
e
c
k
A
u
d
i
t
e
t
c
h
e
c
k
- -
l
i
s
t
l
i
s
t