Vous êtes sur la page 1sur 100

Legond-Aubry Fabrice

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 ) ;

spr i nt f ( out buf , buf f er ) ;


}
Code apparemment anodin
user="%497d\x3c\xd3\xff\xbf<nops><shellcode>"
Lors du premier sprintf copie normale dans buffer
Lors du second sprintf le contenu de buffer est interprt
%497d prend la premire valeur de la pile et gnre une chane
La taille : 497 caractres + longueur( ERR Wrong command : )
Cest suprieur 512 dpassement de capacit avec le formatage de la chane
Le but ultime reproduire un bof avec le formatage printf
Cf. exemple prcdent
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 316
Attaques par fichier interpos
Exploitation de droits mal dfinis sur des fichiers
Peut tre couple avec une attaque de type race condition
Le meilleur exemple : /tmp
Un grand nombre de programme suid y stocke des donnes temporaires
Nimporte qui peut y crire
On peut crer des liens vers des fichiers root
Le but
utiliser une application ayant les droits root pour modifier les fichiers root via
des liens fabriqus
Si lapplication ne vrifie pas correctement la nature du fichier
problme
Exemple (dsuet) :
mktemp cre des fichiers temporaires unique mais pas imprdictibles
Faire un lien de /tmp/fichier_temporaire vers /.rhosts
Si lapplication ajoute une ligne + + au fichier, cest gagn
Aprs il ne reste plus qu faire rsh localhost l root
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 317
Attaques par course de vitesse
Principe :
Systme multitches (de nombreux processus)
Profiter du systme un instant o il est vulnrable
Exploit moins difficile raliser que lattaque par dbordement
Il suffit de runir les conditions pour que cela arrive
Changer les conditions dexcutions pendant lexcution dun programme
Manipuler les flux de donnes, insrer des donnes dans le programme
Mauvaises suppositions sur des liens de causalit
Ex sur les fichiers vrification des droits, ouverture, lecture
Comme dhabitude les programmes suid sont les cibles !
But :
Obtenir les droits root
Accder aux informations manipules par le service
Empcher le fonctionnement correct du service
Bloquer le travail des autres utilisateurs
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 318
Attaques par course de vitesse
TOCTTOU = Time Of Check To Time Of Use
Exploitation de la latence une mesure et son
utilisation
Applicable aux fichiers (en particulier aux fichiers sur /tmp)
Les scripts de par leur lenteur (langage interprt) y sont trs
sensibles
Obtention des informations par logiciels simples et
analyse des logs produits
strace (appels systmes), ltrace (appels dynamiques), nm (liste des
symboles externes)
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 319
Attaques par course de vitesse : exemple passwd
Erreur sur HP/UX et SunOS, avec passwd
Programme Suid puisque doit modifier /etc/passwd
Droulement normal des oprations
1. Ouverture et lecture du fichier /etc/passwd
obtention de lentre utilisateur
2. Cration et ouverture dun fichier ptmp dans le
rpertoire du fichier passwd
3. Ouvrir nouveau le fichier /etc/passwd et copier le
contenu dans ptmp (en mettant jour lutilisateur).
4. Fermer le fichier passwd , ptmp
5. Renommer (pour remplacer) le fichier passwd par
ptmp
Le programme passwd peut travailler sur un fichier
spcifi
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 320
Attaques par course de vitesse : exemple passwd
Crer un fichier ayant un format comprhensible
par plusieurs services ( passwd et rlogin )
localhost account :::::
Cette ligne est valide pour les fichiers rhost et
passwd
Excution de passwd (programme suid) dont on va
contourner le fonctionnement normal
Comment ?
En sinsrant entre les manipulations de
passwd
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 321
Attaques par course de vitesse : exemple passwd
A. On utilise un rpertoire point par un lien symbolique.
Lien ~attaquant/link ~attaquant/tmprep
Cration du fichier ~attaquant/link/.rhosts avec localhost acount :::::
1. Ouverture et lecture du fichier ~attaquant/link/.rhosts
obtention de lentre utilisateur
A. Lattaquant change le lien symbolique : ~attaquant/link ~cible
2. Cration et ouverture dun fichier ~attaquant/link/ptmp dans
le rpertoire du fichier pass en paramtre ~attaquant/link
A. passwd est root, il crer le fichier ptmp chez la cible
MAJ du lien symbolique : ~attaquant/link ~attaquant/tmprep
3. Ouvrir nouveau le fichier ~attaquant/link/.rhosts et copier le
contenu dans ptmp (en mettant jour lutilisateur).
A. La ligne localhost account ::::: est copie
MAJ du lien symbolique : ~attaquant/link ~cible
4. Fermer le fichier passwd , ptmp
A. La fermeture nutilise pas le lien symbolique mais travaille sur le descripteur
5. Renommer (pour remplacer) le fichier
~attaquant/link/.rhosts par le fichier ptmp
A. La copie replace le fichier .rhost du rpertoire cible par le ptmp
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 322
Attaques par course de vitesse : exemple tmpwatch
tmpwatch
Utilis dans beaucoup de distribution linux
Purge rgulirement les /tmp des fichiers
Souffre du bugs de courses de vitesse
Sur les anciennes versions
Course leffacement
tmpwatch lstat, vrifie la date, unlink
Systme multitche interruption possible entre lstat et unlink
1
re
Attaque possible
On enlve le fichier aprs le lstat et on cre un lien avant le unlink
2
me
Attaque possible
Les fichiers mktemp sont uniques mais pas imprdictibles
tmpwatch peut tre maintenu en tat dexcution (remplissage de tmp)
On se dbrouille pour crer un fichier tmp qui sera utilis par un programme cible
Les cibles privilgies sont : browser web, mailer,
On utilise tmpwatch pour effacer le fichier cre et le remplacer par un autre
Un exemple
logrotate stocke ses scripts post/pre-rotate dans des fichier /tmp/logrotate.XXXXXX
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 323
Attaques par course de vitesse : Solution au TOCTOU
Eviter lutilisation de fichier autant que possible (surtout
dans les scripts shell)
Le bit s est interdit sur les scripts TROP DANGEREUX !
Lors de la cration dun fichier
utiliser O_EXCL|O_CREAT ( O_EXCL ne fonctionne pas sur
NFS v1 et v2 )
Appliquer des droits MINIMA avec open (pas aprs la
cration)
Ils ne doivent pas tre mis dans un endroit manipulable par
un attaquant
Eviter autant que possible les rpertoires partags (/tmp)
Pour les fichiers temporaires utiliser mkstemp()
mktemp ne fixe pas les droits
tempnam utilise la variable denvironnement TMP
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 324
Attaques par course de vitesse : Solutions au TOCTOU
Changer les droits du processus
Apprendre utiliser setuid/getuid/setreuid
Utiliser les fonctions fchown, fstat, fchmod
Elles travaillent sur les handles que VOUS avez ouverts
Eviter chown, lstat, qui travaillent sur des noms
Ne pas utiliser access pour vrifier les droits
Faites attention aux manipulations du FS pendant un
parcours en rcursion
Utilisation des verrous POSIX ( fcntl )
Mthode de verrouillage obligatoire
Pour chaque lecture/criture, on vrifie le verrou
Problme en cas de crash du service
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 325
Plan de cours
I nt r oduct i on
At t aques gnr i ques de ser vi ces
Attaques spcifiques de services
Backdoor s / Root ki t s / Tr oj ans
Out i l s de pr ot ect i on
Audi t et check- l i st
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 326
Attaques sur DNS cache poisoning par spoofing
DNS est un service de dsignation !
Le serveur DNS supporte tout les autres
services.
Une attaque du DNS permet de dtourner une
machine de sa cible !
Mise en place de faux sites WEB
Dtournement dinformations
Attaques Man In the Middle
Le DNS est vulnrable (RFC 3833)
Il ne repose quasiment que sur IP et UDP pour
lauthentification de lhte pair
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 327
Attaques sur DNS cache poisoning
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
zones
MAJ
Serveur
primaire
Serveur
secondaire
Serveur
rcursif
Client
(resolveurs)
Corruption de trafic
DOS
Pollution des cache
Usurpation du
serveur primaire
Fausses infos
Corruption
Locale (bof)
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 328
Attaques sur DNS cache poisoning par spoofing
Le dialogue entre les serveurs DNS se passent de
port 53 port 53
Le serveur traitent de nombreuses requtes en UDP
pour des raisons de performances
Il faut les distinguer
Pour cela, on utilise un identifiant de requte ID sur 16bits
Il est possible de sinsrer entre un client et son
serveur DNS local
On sniffe la requte
On gnre une fausse rponse avec lID sniffe
On lenvoie au client avant le serveur
La rponse du serveur sera ignore
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
divers Rponse Question Options ID
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 329
Attaques sur DNS cache poisoning par spoofing
Si, on ne peut pas sniffer, lattaquant peut essayer de prdire lID pour
engendrer une attaque
Sous Windows 95 LID est le nombre de req. DNS en cours !
Bind ancienne version Nombre alatoire puis incrmental
Mthode 1
Il suffit dune requte sur un DNS sniffable pour obtenir le point de dpart !
Mthode 2
Lattaquant demande une IP inexistante (ex: inconnu.domaine.com)
Le DNS cible fait une requte ns1.domain.com
Lattaquant gnre une dizaine de rponses spoofes venant (soi-disant) de
ns1.domaine.com
ID allant de 200 210
Si on obtient une rponse cest quon a devin lID
Et si cest alatoire ?
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 330
Attaques sur DNS : birthday attack
Il est difficile de deviner lID dune requte (1/2
16
)
1 requte et X rponses spoofes en temps trs limit p = X / 2
16
Birthday paradox attack !!!
Attaque bas sur un paradoxe apparent :
sur une classe de 23 lves ou plus, la probabilit que
2 lves soient ns le mme jour est suprieure
Technique applique au DNS
1. Envoi de N requtes un serveur cache portant sur la mme demande
(www.exemple.com) associs N IDs diffrents
2. Transfert des N requtes vers le serveur autoritaire du domaine
exemple.com
3. DoS sur le serveur autoritaire pour le ralentir
4. Envoi de N rponses forges associes N IDs diffrents par l'attaquant
Si N messages (~300) , t=le nombre de possibilits (2
16
)
la probabilit de succs de lattaque 1-(1-1/t)
N(N-1)/2
p=.4956 soit ~1/2
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 331
Attaques sur DNS : protection DNSsec
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 332
Attaques sur DNS : solutions
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
Amliorer lalatoire de lID (espace des nombres)
Split-Split DNS
FIREWALL : Interdire les IPs de votre domaine
comme source sur votre point daccs internet
(paquets provenant de lextrieur!)
Un serveur responsable du domaine
dclar et accessible de lextrieur
Nautoris aucune requte rcursive (hors domaine)
Un serveur cache DNS priv
Autoriser requtes rcursives sur votre domaine seulement
Dploiement de DNSSec
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 333
Attaques sur DNS : solution DNSsec et TSIG
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
Scurit des donnes et des transactions (MAJ)
Architecture de distribution des clefs
Clefs utilises par DNSsec
Clefs stockes dans le DNS scuris utilises pour d'autres
applications (IPsec, SSH)
Scurit des transactions (TSIG, RFC 2845)
Le transfert de zones
Les MAJ dynamiques (DNS Dynamic Updates)
Le canal entre serveur rcursif et client
Authenticit forte, intgrit, protection rejeu
Pas de confidentialit
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 334
Attaques sur DNS : solution DNSsec et TSIG
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
Scurit des donnes (DNSSec, RFC 4033 4035)
DNSSec assure une chane de confiance
Chaque serveur a une clef
Chaque serveur peut identifier de manire forte les
serveurs des sous-domaines de confiance
Inclus un protocole de MAJ des clefs
Ajoute deux types dentres
SIG pour les signatures et KEY pour les clefs prives
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 335
Attaques FTP : FTP servers bounce
Le protocole FTP spare le canal de contrle (21)
et le canal de tlchargement.
Il est possible dimposer au FTP une adresse
spcifique
PORT aa,bb,cc,dd,pp,qq ip(aa.bb.cc.dd), port
(pp,qq)
Cette option permet de contourner les limitations
de tlchargement sur les IP
Fichiers protgs par la loi sur lexportation US
Mais il permet plus !
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 336
Attaques FTP : FTP servers bounce
La commande PORT
permet de tester le rseau
Permet douvrir une connexion sur une machine
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
Source (Client)
192.168.0.8
Serveur FTP
192.168.0.7
Cible
192.168.0.5
PORT 192,168,0,5,0,93
LIST SYN port 93
RST 425 Cant build DATA
Source (Client)
192.168.0.8
Serveur FTP
192.168.0.7
Cible
192.168.0.5
PORT 192,168,0,5,0,135
LIST
SYN port 135
ACK+SYN
226 Tranfert complete
ACK
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 337
Attaques FTP : FTP servers bounce
nmap inclus mme ce type de scan
# nmap -v -b anonymous:anon@192.168.0.7 192.168.0.5
Resol ved f t p bounce at t ack pr oxy t o 192. 168. 0. 7 ( 192. 168. 0. 7) .
At t empt i ng connect i on t o f t p: / / anonymous: anon@192. 168. 0. 7: 21
Connect ed: Logi n cr edent i al s accept ed by f t p ser ver !
I ni t i at i ng TCP f t p bounce scan agai nst 192. 168. 0. 5 at 20: 37

Scanned 1663 por t s i n 9 seconds vi a t he Bounce scan.


Host 192. 168. 0. 5 appear s t o be up . . . good.
I nt er est i ng por t s on 192. 168. 0. 5:
( The 1659 por t s scanned but not shown bel ow ar e i n st at e: cl osed)
PORT STATE SERVI CE
135/ t cp open msr pc
139/ t cp open net bi os- ssn
445/ t cp open mi cr osof t - ds
6969/ t cp open acmsoda
MAC Addr ess: 00: 11: 43: 43: A8: 34 ( Del l ( WWPcba Test ) )
Nmap f i ni shed: 1 I P addr ess ( 1 host up) scanned i n 20. 602 seconds Raw
packet s sent : 2 ( 68B) | Rcvd: 1 ( 46B)
A partir de l, il est possible denvoyer un fichier sur un serveur
Il suffit de disposer dun fichier contenant des commandes
Buffer overflowsur des services locaux non accessibles de lextrieurs
Utilisation de 127.0.0.1 sur des implantations FTP bugges
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 338
Attaques WEB : CGI scripts
Attention aux variables reues par les scripts
Cest le danger des scripts !
Exemple PERL nmap.pl :
#! / usr / bi n/ per l
# Si mpl e CGI scr i pt t o l et web user s r un
# an nmap scan f r omt hei r web br owser
# usi ng a GET r equest
$ser ver = $ENV{' QUERY_STRI NG' };
@scan = `nmap $ser ver `;
f or each $l i ne ( @scan) { pr i nt " $l i ne" ; }
Exemple nmap.pl : %3B= ; et %6C= l
http://server.com/nmap.pl?w%77w.ya%68%6Fo.com%3B%6Cs
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
DANGER
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 339
Attaques WEB : CGI scripts
Exemple PERL display.pl :
#! / usr / bi n/ per l
$f i l e = $ENV{' QUERY_STRI NG' };
open( myf i l e, "$f i l e") ;
@myf i l e = <myf i l e>;
f or each $l i ne ( @myf i l e) { pr i nt "$l i ne"; }
cl ose( myf i l e) ;
Si le nom de fichier est ls| excution de ls
Excution de code arbitraire
Si le serveur est root, alors danger !!!
Si open( f , / t ot o/ $f i l e" ) alors ../bin/ls|
Exemple display.pl :
http://server.com/display.pl?%6Cs%7C
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
DANGER
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 340
Attaques WEB : CGI scripts
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
Poison NULL byte
Exemple PERL :
$pageur l = $r eal pat h . $DATA{ ' adPat h' } . " . ht ml " ;
open( FI LE, " $pageur l " ) | | di e " can' t open $pageur l : $! \ n" ;
@l i nes= <FI LE>;
cl ose( FI LE ) ;
Si adPath=/../../../../../etc/passwd%00, on peut faire
pointer $pageurl sur le fichier /etc/passwd
Variables non initialises et par dfaut
Exemple PHP :
i f ( $user && $passwor d)
{
$ok=check_passwor d( $user , $passwor d) ;
/ / Ret ur ns 1 i f passwor d mat ches t hat of t he user
}
On suppose ici que ok vaut 0 par dfaut mais
http://server.com/ex.php?ok=1
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 341
Attaques WEB : CGI scripts
Solution : Filtrage systmatique des donnes
Suppression \0 dans les variables
Escaping des caractres dangereux ( ; devi ent \;)
La liste des caractres est &;`'\"|*?~<>^()[]{}$\n\r espace
Solution : Initialiser la main toutes vos
variables !
Eviter les appels systmes
Certains langages ont des modules de scurit
Perl taint module ( perl T )
PHP stocke les variables CGI dans $_POST,
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 342
Attaques WEB : Cross-Site Scripting
CSS = Cross Site Scripting
CSS renomm en XSS pour viter la confusion
CSS = Cascading Style Sheet
Exploitation de la dynamicit des sites pour organiser des attaques CSS
Elles interviennent lorsquun attaquant arrive a obtenir des informations sur
un utilisateur
Vol de comptes, modifier des donnes utilisateurs,
Elles sont bases sur la cration de liens malicieux
Qui collecte les informations
Renvoi sur un lien officiel pour camoufler lattaque
Les liens malforms contiennent
Des renvois vers du HTML, JavaScript, VBScript, ActiveX, Flash
Quelques exemples:
http://archives.neohapsis.com/archives/vuln-dev/2002-q1/0311.html
http://www.cgisecurity.com/archive/php/phpNuke_cross_site_scripting.txt
http://www.cgisecurity.com/archive/php/phpNuke_CSS_5_holes.txt
http://www.cgisecurity.com/archive/php/phpNuke_2_more_CSS_holes.txt
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 343
Attaques WEB : Cross-Site Scripting
Un exemple ? Script de recherche
Lors dune recherche, on raffiche souvent le texte cherch
Si on oublie dappliquer le filtrage sur la chane transmise
http://www.example.com/search.pl?text=<script>alert(document.cookie)</ script>
Lors de laffichage du rsultat, une pop-up apparatra
Un autre exemple : les forums
Poster un message contenant des balises <SCRIPT>, <OBJ ECT>,
<APPLET>, <EMBED>
Utiliser comme url dimage de son avatar de forum un script PHP !
Attaque par image
Configurer son propre serveur WEB, pour que lextension PHP ne soit plus .php mais
.jpg
Rfrencer cette image comme Avatar, et rcuprer les informations URL referer
Voir les lments DOM affichables !
document.cookie , document.location.replace
Solution : cf. avant
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 344
Attaques HTTP : mauvaise configuration HTTP
Listing automatique des rpertoires
Obtention de codes sources abandonns
Facilite lintuition de noms de fichiers
Suivi de lien symbolique
Permet lextension de la visibilit sur le seveur
Mieux vaut utiliser des aliases
Server side include
Insertion de valeurs par le serveur
Danger <!--#exec cgi="/cgi-bin/baratin.pl" -->
Homepages personnelles
Danger les utilisateurs ne savent pas programmer !
Attention en cas de MAJ par FTP !
On ajoute des trous de scurits
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 345
Attaques HTTP : response splitting
Le but est de faire de lempoisonnement de cache WEB
Le moyen est dessayer de sinsrer entre les enttes HTTP
et le contenu du fichier HTML.
En particulier lors des redirections.
Exemple basique en JSP (voir VOS tp mdoc !!)
<%
r esponse. sendRedi r ect ( " / by_l ang. j sp?l ang=" +
r equest . get Par amet er ( " l ang" ) ) ;
%>
Addresse forge
/ r edi r _l ang. j sp?l ang=f oobar %0d%0aCont ent -
Lengt h: %200%0d%0a%0d%0aHTTP/ 1. 1%20200%20OK%0d%0aCont ent -
Type: %20t ext / ht ml %0d%0aCont ent -
Lengt h: %2019%0d%0a%0d%0a<ht ml >Shazam</ ht ml >
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 346
Attaques WEB cache poisoning : attaques HTTP
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
Rsultat :
HTTP/1.1 302 Moved Temporarily
Date: Wed, 24 Dec 2003 15:26:41 GMT
Location: http://10.1.1.1/by_lang.jsp?lang=foobar
Content-Length: 0
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 19
<html>Shazam</html>
Server: WebLogic XMLX Module 8.1 SP1 Fri Jun 20 23:06:40 PDT
2003 271009 with Content-Type: text/html
Si vous passez par un proxy cache
Vous pouvez corrompre le proxy cache
Vous pourrez voler de linformation
Dtourner le trafic des clients du proxy vers une autre @IP
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 347
Attaques SQL : SQL injection
Obtention dinformations dans la base
Requte SQL
mySQL="SELECT LastName, FirstName, Title, Notes,
Extension FROM Employees WHERE (City = " & strCity &
" )"
Valeur des variables
strCity='') UNION SELECT OtherField FROM OtherTable
WHERE (=''
On obtient la requte
SELECT LastName, FirstName, Title, Notes, Extension FROM
Employees WHERE (City = ) UNION SELECT OtherField
From OtherTable WHERE ( = )
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 348
Attaques SQL : SQL injection
Injection dinformations dans la base
Requte SQL
SQLString = "INSERT INTO TableName VALUES ('" & name
& "', '" & email & "', '" & phone & "')"
On remplit les champs avec
Name: ' + (SELECT TOP 1 FieldName FROM TableName) + '
Email: blah@blah.com
Phone: 333-333-3333
Lappel la requte SQL donne
INSERT INTO TableName VALUES ('' + (SELECT TOP 1
FieldName FROM TableName) + '', 'blah@blah.com', '333-
333-3333')
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 349
Attaques : Trojan / Virus
Les trojans et les virus sont des programmes :
Malicieux et dormants
Qui permettent dobtenir des droits root
Qui peuvent se rpliquer
Qui peuvent sajouter un programme valide
Moyen :
Attendre que root excute le Trojan / Virus
Emuler (en apparence) un logiciel dauthentification et
transmettre les informations
Ex: login, ssh
Enchane le trojan programme avec le vrai
Flouer lutilisateur par un programme par email
Automatisation dune attaque sur un service
A
t
t
a
q
u
e
s

s
p
A
t
t
a
q
u
e
s

s
p

c
i
f
i
q
u
e
s

d
e

s
e
r
v
i
c
e
s
c
i
f
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 350
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
Backdoors/Rootkits
Out i l s de pr ot ect i on
Audi t et check- l i st
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 351
Portes drobes (Backdoors)
But
Pouvoir revenir sur une machine mme aprs scurisation
Revenir en laissant le moins de traces possibles
Revenir rapidement (sans avoir exploiter une faille de
scurit)
Portes drobes simples
Vol de mot de passe faible (password cracklib)
Rhosts (++), shosts, clefs ssh
Dmons login, telnetd, sshd, rlogind modifis
Portes drobes ponctuelles (active via crond)
Portes drobes via des librairies systmes (ex: crypt.c)
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 352
Portes drobes (Backdoors)
Moyens :
Ajouter un compte root de prfrence au milieu du fichier
Ne pas modifier le compte root local
Activer un compte avec un UID/GID 0 (sync)
SUID une copie de votre shell favori
Eviter de le mettre dans /tmp (purge tmpwatch)
Modifier un service xinetd ou inted
dayt i me st r eamt cp nowai t / bi n/ sh sh i
Ajouter une entre dans la crontab
0 0 * * * / usr / bi n/ t r oj ancode
Activer un compte pendant une minute
Un alias sendmail (dans le fichier /etc/sendmail)
decode: " |/usr/bin/uudecode"
echo " + +" | / usr / bi n/ uuencode / r oot / . r host s | mai l
decode@t ar get . com
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 353
Portes drobes (Backdoors)
Moyens (suites)
Insertion dun hook dans un programme suid
Obt eni r l es par amet r es;
si un des par amt r es une val eur spci al e
cr er un xt er mr oot
si non
f ai r e l e t r ai t ement habi t uel
Utilisation de /dev/kmem pour changer uid/gid
Le mail rgulier de /etc/passwd ou ypcat par crond
Installation dun service (root) qui peut
utiliser un canal encrypt (pour viter le sniffing) un second SSH !!
couter sur un port TCP >1024 ou sur un port ouvert sur le firewall (ex: 25, 110, )
Service FTP/WEB, xtermpar tcp
couter sur un port UDP
Ne laisse pas de trace de connexion !
Souvent, on laisse le port UDP 53 (DNS) ouvert
capturer les paquets ICMP
Les firewalls laissent souvent passer les paquets ICMP echo request
Lecho request permet le transport dinformations (voir la partie scurit rseau et le
p2p)
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 354
De lart du camouflage !!
Ces modifications laissent des traces visibles !!
Dans tous les cas, si on modifie le systme :
last affiche les dernires connexions
ls , ps affiche les fichiers et les processus
netstat , lsof affiche les connexions
ouvertes
ifconfig affiche si la carte est en mode
promiscuous
La lecture des droits sur les /dev/tty* ayant les
droits root
Les logs contiennent plein dinfos
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 355
De lart du camouflage !!
Lobjectif suivant est donc de camoufler ces traces
aux utilisateurs (root inclus) !!
But :
Camoufler au systme (et aux utilisateurs) la
prsence dlments indsirables
Moyen :
Manipuler les fichiers de logs
Remplacement des fichiers sur la machine
Insertion de modules noyaux modifiant le
comportement du systme !
LKM = Loadable Kernel Modules
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 356
Camouflage : Manipulation des fichiers de logs utmp
Pour vrifier la prsence dun utilisateur sur un machine
Utilisation des commandes who , w , finger
Ces fichiers utilisent le log /var/run/utmp
Il est possible de modifier le fichier pour effacer lutilisateur !
Voir le source code pour modifier utmp
http://www.phrack.org/show.php?p=25&a=6
Utilisation de la structure utmp dfinie dans utmp.h
Si on a un accs root, on peut lire les enregistrements et
liminer les logs dangereux !
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 357
Camouflage : Manipulation des programmes
Modification des programmes de base unix (core
utils)
ls, du, find
crontab, killall, kill
netstat, ps, ifconfig, pidof, top
Modification des dmons de log
syslogd (noyau), tcpd (connexions)
Ajout de faux devices dans /dev pour les
processus modifier et leur configuration
Purge partielle des fichiers de log (/var/log)
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 358
Camouflage : Loadable Kernel Modules (LKM)
Les modifications prcdentes sont assez facilement
dtectables
Voir la section outils de protections
Tripwire, utilisation dune copie des utilitaires
Le plus efficace est dagir au niveau noyau
Utilisation de noyaux chargeables
Permet un contrle quasiment complet du systme
Les appels systmes peuvent tre intercepts
/usr/include/sys/syscall.h (execve, sync, stty, )
Permet un camouflage plus efficace
Tous les programmes sont affects sans tre modifis !
Complexe et extrmement systme dpendant
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 359
Camouflage : Loadable Kernel Modules (LKM)
Plusieurs possibilits soffrent lattaquant
Insrer un nouveau module noyau
Modifier un module noyau
Caractristiques de linsertion
Cration lavance
Nombre de manipulations locales restreintes
Ncessite le camouflage
Caractristiques du patch
Empreinte systme plus faible
Ncessite des manipulations locales
Peut tre adapt au systme la vole
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 360
Camouflage : patch des Loadable Kernel Modules
Chaque module noyau contient des fonctions standards
init_module, cleanup_module
Lors du chargement, le systme excute le code sys_init_module
qui
Copie le code de lespace utilisateur vers le noyau le code du
module
Excute la fonction init_module
Le nom des fonctions internes est stock dans un entte ELF.
# obj dump - t monmodul e. ko

00000000 g F . i ni t . t ext 000000a1 i ni t _modul e


00000000 g F . exi t . t ext 00000044 cl eanup_modul e

Il faut alors injecter le code supplmentaire


Possible car le code ELF est rerlocatable dplacable
Par dfaut ce type de code permet le partage de code entre les
modules Voir les modules iptables !!!!
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 361
Camouflage : patch des Loadable Kernel Modules
Voici un code simple (fichier codeAInjecter.c)
#def i ne MODULE
#def i ne __KERNEL__
#i ncl ude <l i nux/ modul e. h>
#i ncl ude <l i nux/ ker nel . h>
i nt i nj e_modul e ( voi d) {
pr i nt k ( " <1> I nj ect ed\ n" ) ; r et ur n 0;
}
On le compile sans faire ldition de lien :
cc - O2 - c st eal t h. c
Linjection se ralise par
l d - r modul eOr i g. o codeAI nj ect er . o - o modul eI nf ect e. o
mv modul eI nf ect e. o modul eOr i g. o
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 362
Camouflage : patch des Loadable Kernel Modules
Il suffit ensuite de faire en sorte que le module
invoque le code inject
On renomme les symboles dans la table de
symboles
init-module devient init-new
inje-module devient init-module
Le code injecter doit invoquer lancien init-
module
Il suffit dajouter la ligne init-new() dans le code de
inje-module
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 363
Camouflage : patch des Loadable Kernel Modules
Le code ajouter ou le module ajouter peut
Intercepter la frappe clavier
Interception des appels put_queue, receive_buf, tty_read, sys_read
Cacher un fichier
rappel sous linux, /proc est un systme de fichier
Action sur le VFS ou directement sur les FS
Cacher un PID
Manipuler la liste des processus (double liste)
Enlever le processus de la liste de processus en attente
Mettre le PID du processus 0
Cacher une connexion
Excuter un programme en root
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 364
Rootkit :
Les rootkits sont un assemblage de programmes.
Des outils dattaque (sur un service)
Des outils de camouflage (LKM)
Des outils de portes drobes (backdoor)
Quelques RootKit connus :
Knark
Installe un module sysmod.o et intercepte les appels fork, read, execve,
kill, ioctl, settimeofday, clone
Fournit un ensemble dattaques connus
Adore
Installe un module et intercepte les appels fork, write, close, clone, kill,
mkdir, clone, getdents
Il fournit un utilitaire ava pour cacher un fichier, une tche ou une
connexion
B
a
c
k
d
o
o
r
s
B
a
c
k
d
o
o
r
s
/ /
R
o
o
t
k
i
t
s
R
o
o
t
k
i
t
s
Legond-Aubry Fabrice
S SS SI I
Module SSI - 20/11/2005 365
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
Modul es de noyaux et t r appe
Backdoor s / Root ki t s
Outils de protection
Audi t et check- l i st
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 366
systrace
TCPwrapper
Audit de code (include php)
limiter services
PKI
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 367
Protection du systme : LIBSAFE
Il sagit dune librairie de fonctions
Elle offre une protection de base contre les buffer
overflow
Elle est compatible avec des excutable pr-compil
Elle sutilise de faon transparente
Loverhead reste faible
Elle remplace les fonctions vulnrables au bof
Strcpy, strcat overflowsur le buffer dest
getwd, gets overflowsur le buffer
[v]scanf, [v]sprintf, realpath overflowsur le buffer dest
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 368
Protection du systme : LIBSAFE
Elle intercepte tous les appels ces mthodes
Elle garantie que les oprations restent dans les limites prvues
Mthode 1 (ignor par les programmes suid)
Utilisation dun ld rcent
LD_PRELOAD = / l i b/ l i bsaf e. so. 2
expor t LD_PRELOAD
Excution du programme
Mthode 2 (pour les programmes suid)
Edition de /etc/ld.so.preload
En cas dattaque, les processus sont tus (SIGKILL)
Dec 29 17: 18: 42 eos l i bsaf e[ 15704] : Det ect ed an at t empt t o
wr i t e acr oss st ack boundar y.
Dec 29 17: 18: 42 eos l i bsaf e[ 15704] : Ter mi nat i ng
/ home/ l egond/ bi n/ t est / bof
Dec 29 17: 18: 43 eos l i bsaf e[ 15704] : scanf ( )
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 369
Protection du systme : STACKGUARD
Protection contre les bof
Approche par compilation
Ne requiert aucun changement dans le code
source
On patche le compilateur pour quil encapsule les
donnes manipules
On insre des marqueurs appel canary
Terminator canary
Ils sont insrs en fin de donnes (Ex: les chanes)
On utilise un marqueur de fin de chane mutiple
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 370
Protection du systme : STACKGUARD
Random canary
On insre des marqueurs des endroits
stratgiques (ex: avant ladresse de retour)
La valeur des marqueurs est gnre par random
chaque excution
On les vrifie les valeurs rgulirement
Random XOR canary
Ce sont des marqueurs randomcanary
Les valeurs sont un xor entre un randomet une
donne (signature)
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 371
Protection du systme : STACKGUARD
Algorithme pour chaque appel de fonction :
On dtermine lemplacement du canary sur la pile
On alloue lespace sur la pile
On initialise le canary
On vrifie la valeur avant le retour lappelant
On dsalloue le canary
Si la valeur est incorrecte
on trace (comme libsafe) et on stoppe
Si la valeur est correct, on revient
Impact lger sur la mmoire et les performances
attention aux appels rcursifs tout de mme
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 372
Protection du systme : STACKSHIELD
Protection contre les bof
Approche identique STACKGUARD
Autre mthode : Cration dune autre pile
Lors de lappel ladresse de retour est stocke dans cette
nouvelle pile
Lors du retour on copie ladresse de retour avant deffectuer
le saut
StackShield inclus une protection contre la corruption des
pointeurs de fonctions
StackShield ne dtecte pas les bof , il revient toujours
lappelant !
STACKSHIELD et STACKGUARD ne sont pas
incontournables
http://www.phrack.org/show.php?p=56&a=5
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 373
Protection du systme : Formatguard
Protection contre les attaques par format string
Approche identique STACKGUARD, STACKSHIELD
Approche par compilation
Ne requiert aucun changement dans le code source
Principes
Interdire le code de formatage %n
Interdire le printf dynamique
Compter le nombre darguments (pas de varargs infini)
Filtrer les chanes (en particulier le signe %) 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 374
Protection du systme : Formatguard
Compatibilit
La version scuritaire de varargs nest pas compatible avec
lexistant
Linterdiction de %n peut bloquer certains programmes
Linterdiction de printf dynamique peut aussi bloquer des
programmes (GNU Intl library)
Scurit
Attaque par nombre darguments < ceux attendu
Il existe des fonctions std qui utilisent cette technique (mme dans le
glibc)
Lutilisateur de pointeur de fonction sur printf et autres
interdit la protection FormatGuard
Les appels directs a vsprintf et consurs avec une liste
dynamique (varargs)
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 375
Protection systme : Noyaux renforcs
Hardening Kernels
Il sagit de patches noyaux
Il suffit ensuite de recompiler le noyau
Ensemble des protections mise en place au niveau du noyau
Protection contre les buffer overflow
Protection du Systme de fichier (FS)
Renforcement des moyens daudit
Protection dexcution
Protection rseau
Protections diverses
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 376
Protection systme : Noyaux renforcs
Protection contre les buffer overflow
Rendre la pile non excutable
Ne protge pas contre le dbordement de tas
Ne protge pas contre les appels systmes (libc)
Autoriser lexcution officielle de code dans la pile (sauts par
trampolines)
Empcher le changement de droit sur les pages
NoX X et R RW
Rendre alatoire les adresses de programmes mmap
Adresse ELF dynamique, la pile dexcution
Interdire les adresses fixes et les droits en excution
Mmoire noyau en lecture seule et dsactivation des modules
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 377
Protection systme : Noyaux renforcs
Protection du FS
Gestion des ACL
Permet de spcifier des ACL complexes sur les FS
Un fichier peut tre X, R, W, append, hidden
Restriction daccs
Consultation seulement les processus que lon possde
Ne pas accder dmesg, aux symboles et modules noyaux
/proc seulement pour root ou un groupe particulier
Liens symboliques interdit sur un rpertoire +t / un autre uid
Empche un processus de suivre un lien interdit
Tout programme doit avoir les descripteurs 0,1,2
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 378
Protection systme : Noyaux renforcs
Protection de FS
Renforcement du chroot
Signaux limits, mount/chmod/mknod/ptrace interdit
Interdire les doubles chroot, restriction sur les priorits
Audit du noyau attention la charge engendre
J ournalisation des processus pour un seul groupe
Eviter le DOS, tous les services doivent tre dans le mme groupe.
J ournalisation des appels execve
Journalisation des processus normaux et mis en cage
J ournalisation des appels chdir, u/mount
J ournalisation IPC, signaux, fork chous
J ournalisation du set*uid (restreinte au setuid root)
J ournalisation de la MAJ de lhorloge
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 379
Protection systme : Noyaux renforcs
Protection dexcution
Les limitations en ressources sont aussi vrifies lors dun execve
PID au hasard
Restrictions daccs sur les pages mmoires (umask). Par dfaut,
cest 777 sous linux.
Limitation daccs de root aux consoles
Interdire laccs root sur les consoles physiques, sries, pseudo-console
Limitation du nombre de processus pour un GID
Nombre total et cration par seconde. Anti-fork bomb
Interdire lexcution dun programme hors de rpertoires de
confiance
Inutile sur les interprteurs de script (ex: Perl)
On peut en limiter les effets de linterdiction
Protection glibc (ignorer le LD_PRELOAD) et programme ld
Limiter les appels de ptrace root (et peuvent tre journaliser)
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 380
Protection systme : Noyaux renforcs
Protection rseau
Rendre alatoire les numros IP
Altrer les rponses PING
viter la dtection des empruntes de la pile IP
Rendre alatoire le TTL entre un min et un max
Limiter louverture de certains type de socket
Interdire louverture de socket certains groupes
Toutes les sockets, les clientes, les serveurs
Rendre alatoire les ID des appels RPC
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 381
Protection systme : Noyaux renforcs
Protection rseau
Rendre alatoire les numros IP
Altrer les rponses PING
viter la dtection des empruntes de la pile IP
Rendre alatoire le TTL entre un min et un max
Limiter louverture de certains type de socket
Interdire louverture de socket certains groupes
Toutes, clientes, serveurs
Divers
Limite le changement des touches root
Activer/dsactiver la configuration dynamique des options de
scurit
Changer le noms des fichiers core-dump
Ex: coredump-nomprocessus.PID
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 382
Protection du systme : LIDS / LSM
LIDS = Linux Intrusion Detection System
http://www.lids.org
Patch noyaux permet un contrle daccs aux
ressources
Nom: Mandatory Access Control (MAC)
Dfinition des droits daccs aux ressources
Une ressource peut tre interdit mme root
Mmoire, Accs E/S, accs aux devices , fichiers, rseau
Utilise le framework LSM pour le noyau
http://lsm.immunix.org/
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 383
Protection du systme : patch OpenWall
Nomm owl ( OpenWall Linux )
http://www.openwall.com/
Collection de quelques patch pour le noyau linux incluant
les options de scurit
Non excution sur la pile
Pipes et Liens limits sur /tmp
Accs limit sur /proc
Fd 0,1,2 toujours ouverts
Protection contre les Fork bomb
Protection IPC
purge des blocs de mmoire partags non utiliss
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 384
Protection du systme : patch grSecurity / PAX
grSecurity
http://www.grsecurity.net/
A lorigine un portage de OpenWall pour linux
Collection de quelques patch pour le noyau linux
incluant les options de scurit
Intgre les patches OpenWall
Intgre ses propres patches
Patch PAX (protection mmoire)
sparation entre les zones excutables et les zones en criture
http://pax.grsecurity.net/
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 385
Protection du systme : la virtualisation
Machine virtuelle
Cest une couche dinterception et dindirection entre une application
et un OS
Dcouple la machine physique et la vision de la machine par
lapplication
Une autre solution de protection est la virtualisation
Cration de machines virtuels encapsules sur une machine
physique
But : isolation des diffrents services
Prison virtuelle: Si on parvient a corrompre un service, on reste enferm
En renaissance actuellement
Exploit dans les annes 1960 par les mainframes
Devenu obsolte par la dmocratisation de linformatique
Devenu dactualit dans les annes 1990 pour exploiter les mutli-processeurs
Devenu dactualit dans les annes 2000 pour exploiter lisolation et le multi-
core
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 386
Protection du systme : la virtualisation
Pourquoi ? Usage moyen de serveurs !!
Mmoire
45% de la RAM non utilise 99.9% du temps
25% de la RAM jamais utilis
CPU
85% des ressources CPU non utilise 99.9% du temps
81% des resources CPU jamais exploit en concurrence
Disque
68% de lespace disque jamais occup
On peut se permettre de virtualiser
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 387
Protection du systme : la prison chroot
La premire tape vers la virtualisation est chroot
On lappel la prison chroot ( chroot jail )
Il sagit de limiter la vision FS de lapplication
Il faut alors reconstituer un environnement
minimaliste pour lapplication
Il faut aussi penser a abandonner les privilges
utilisateurs
Trs utile pour des services fortement exposs
Ex: BIND, FTP publics
Utilisation pour un shell limit
http://olivier.sessink.nl/jailkit/
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 388
Protection du systme : la prison chroot
Ex: Installation dun service BIND
Il faut prparer lenvironnement
Cration de la racine de la prison (ex: /chrootjail)
Cration des rpertoires utiles (base) : /chrootjail/xxx
xxx etc, var, dev et bin, lib, usr
Cration dun /chrootjail/etc/passwd SANS compte root
Cration des rpertoires ncessaires au service
Copie des fichiers de configuration dans notre /chrootjail/etc
named.conf (pour BIND), localtime,
Cration des devices ncessaires (mknod)
/chrootjail/dev/zero, /chrootjail/dev/null
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 389
Protection du systme : la prison chroot
Problme du log
On log en gnral par syslogd grce /dev/log
Il est possible de crer une socket /chrootjail/dev/log
Et de relancer syslogd avec loption a /chrootjail/dev/log
Pour laccs au rpertoire, utilisation de mount bind
Il faut ensuite dterminer les ressources ncessaires
# l dd / usr / sbi n/ named
l i nux- gat e. so. 1 => ( 0xf f f f e000)
l i bcr ypt o. so. 0. 9. 7 => / usr / l i b/ l i bcr ypt o. so. 0. 9. 7
( 0x40027000)
l i bl dap. so. 2 => / usr / l i b/ l i bl dap. so. 2 ( 0x40126000)
l i bl ber . so. 2 => / usr / l i b/ l i bl ber . so. 2 ( 0x40158000)
l i br esol v. so. 2 => / l i b/ l i br esol v. so. 2 ( 0x40164000)
l i bnsl . so. 1 => / l i b/ l i bnsl . so. 1 ( 0x40175000)
l i bpt hr ead. so. 0 => / l i b/ t l s/ l i bpt hr ead. so. 0 ( 0x40188000)
l i bc. so. 6 => / l i b/ t l s/ l i bc. so. 6 ( 0x40199000)
l i bdl . so. 2 => / l i b/ l i bdl . so. 2 ( 0x402b8000)
l i bsasl 2. so. 2 => / usr / l i b/ l i bsasl 2. so. 2 ( 0x402bb000)
l i bssl . so. 0. 9. 7 => / usr / l i b/ l i bssl . so. 0. 9. 7 ( 0x402d1000)
/ l i b/ l d- l i nux. so. 2 => / l i b/ l d- l i nux. so. 2 ( 0x40000000)
Copier les librairies utilises
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 390
Protection du systme : la prison chroot
Utiliser strace, onjdump nom de service pour dterminer les fichiers (devices) utiliss
# st r ace / usr / sbi n/ named
execve( " / usr / sbi n/ named" , [ " / usr / sbi n/ named" , " - h" ] , [ / * 69 var s */ ] ) = 0
uname( {sys=" Li nux" , node=" scyl l a. l i p6. f r " , . . . }) = 0
br k( 0) = 0x81a7000
ol d_mmap( NULL, 4096, PROT_READ| PROT_WRI TE, MAP_PRI VATE| MAP_ANONYMOUS, - 1,
0) = 0x40015000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open( " / et c/ l d. so. cache" , O_RDONLY) = 3
f st at 64( 3, {st _mode=S_I FREG| 0644, st _si ze=69439, . . . }) = 0
ol d_mmap( NULL, 69439, PROT_READ, MAP_PRI VATE, 3, 0) = 0x40016000
cl ose( 3) = 0

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

Vous aimerez peut-être aussi