Sie sind auf Seite 1von 100

Plan de cours

Introduction

LegondLegond -Aubry Fabrice fabrice.legondfabrice.legond -aubry@lip6.fr

Utilisation des outils

SSI
Scurit des Systmes Informatiques Concepts
Note: une partie des slides est extrait du cours de scurit de S. Naktin du CNAM

Concepts et Terminologie Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

Statistiques
Vulnerabilities
4500

Statistiques
Incidents
140000 130000 120000 110000 100000 90000 80000 70000 60000 50000 40000 30000 20000 10000 0

Numver of vulnerabilities

4000

Introduction

2500 2000 1500 1000 500 0 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004

First Three Quaters of 2004

Introduction

3000

Number of Incidents

3500

1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003

Years

Year
3

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

Statistiques
Published Security Notes
400 350

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. les effets possibles dune erreur de programmation la validation de processus critique (transport, nergie) le dtournement possible des nouvelles technologies de linformation la communication par soit des pirates / groupes tatiques / groupes industriels dinformations

Dans le pass, linformatique tait concentre sur


Number of notes

300 250 200 150 100 50 0 1998

Introduction

Introduction

Actuellement, on se concentre sur


1999

2000

2001

2002

2003

2004

Faut-il craindre avec raison les effets pervers dune informatisation trop rapide de la socit?

Year

OUI !!!!
Module SSI - 20/11/2005 6

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Ce qui peut arriver votre machine


Consquences

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 ) Introduction Etre attaquer par un pirate avec pour consquence (attaque)

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 la paralysie des serveurs Web, le vol de sommes considrables, la faillite d'une entreprise qui ne peut plus facturer 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

Mais pour une entreprise, des consquences considrables:


Introduction

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
Module SSI - 20/11/2005 7

Dans le futur ?

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

Pourquoi est-ce si important ?

La scurit : un problme critique !

Dommages potentiels importants


La scurit des machines et des rseaux

Indisponibilits des systmes Manipulation(s) des donnes/systmes Destruction des donnes/systmes Si la puce de votre carte didentit crash existerez-vous encore ?

Doit tre la premire proccupation de toute entit utilisant linformatique

Entit = gouvernement, entreprise, particulier, associations, Laisseriez-vous ouverte votre porte dappartement ?

Introduction

Cots importants de remise en marche


Introduction

Si ignor, des nombreux problmes financiers Doit dpendre dingnieurs spcialistes

Financiers (remise en marche, ventes manques) Temporels (remise en marche, configuration) Humains (juristes, informaticiens) Matriels (serveurs de sauvegarde, redondance, scurit)

Ncessite une dfinition


Des risques de scurit Dun plan et dune politique de scurisation

Cots importants de maintient en tat


Analyses des donnes de surveillance Analyses des machines


Module SSI - 20/11/2005 9

architectures, droits, organisations, acteurs

Dun plan de raction aux attaques


Module SSI - 20/11/2005 10

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Scurit : centres de proccupations

Conclusion

Scurit locale (sur une machine)


Scuris lOS Scuris les services Scuris laccs la machine (boot) Topologie et architectures des serveurs Les protocoles exploits Le contrle daccs par firewall

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

Scuris rseau (services rseaux)


Introduction

Introduction

Les utilisateurs !!!!

Il ny a aucun systme sr 100% Il faut savoir choisir son degr de protection en fonction de ses besoins

Education comportementale

Peur de lordinateur (ligne 14, rgulateurs vitesses, ) La non-comprhension des outils informatiques

ADEQUATION DES MOYENS ET DES OBJECTIFS CEST UNE OBLIGATION JURIDIQUE


Module SSI - 20/11/2005

Identifications des maillons faibles (personnes risques)

Le cadre juridique et sociale (politique ?)


Module SSI - 20/11/2005 11

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

12

Conclusion

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
Module SSI - 20/11/2005 14

Introduction

Introduction
SSI

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.
Legond-Aubry Fabrice Module SSI - 20/11/2005 13

SSI

Legond-Aubry Fabrice

Sites WEB

Plan de cours
Introduction Concepts et Terminologie Utilisation des outils Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes

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 :

Introduction

Michel Riguidel (http://perso.enst.fr/~riguidel/UESecur) Stephane Naktin au CNAM

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

15

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

16

Concepts et Terminologie

Concepts de sret
Dfaillance : Service dlivr Service spcifi Erreur : tat du systme susceptible dentrainer une dfaillance Faute : Cause de lerreur

La sret de fonctionnement dun SI correspond au degr de confiance que peut accorder les utilisateurs dans le service dlivr

Concepts et Terminologie

Concepts et Terminologie

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

Relations erreurs/fautes/dfaillances:

lintgrit des informations

Scurit (security) : prservation de la confidentialit et de

la lutte contre les fautes intentionnelles (virus, bombes logiques, chevaux de Troie, etc.)

Lerreur est la manifestation de la faute sur le systme La dfaillance est leffet dune erreur sur le service
Module SSI - 20/11/2005 18

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

17

SSI

Legond-Aubry Fabrice

Concept de sret : Faute

Concept de sret : Erreur


Temporaire par nature Latente ou dtecte

Concepts et Terminologie

Concepts et Terminologie

Une faute devient active lorsquelle produit une erreur Une faute active est :

Latente, tant quelle na pas t reconnue Dtecte, soit par les mcanismes de dtection et

soit une faute dormante active par le traitement soit une faute externe

traitement derreurs, soit par son effet sur le service (dfaillance)


1 erreur propagation dautres erreurs dans dautres parties du systme (effet papillon)

Une faute interne peut passer cycliquement de ltat dormant actif,

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

19

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

20

Concept de sret : Dfaillance

De lerreur la dfaillance
... dfaillance faute erreur dfaillance ...

Une dfaillance survient lorsquune erreur traverse linterface Systme/Utilisateur et altre le service dlivr par le systme Concepts et Terminologie Dans un systme constitu dun ensemble de composants, la consquence de la dfaillance dun composant est :

Concepts et Terminologie

Une erreur est susceptible de provoquer une dfaillance, mais ne la provoque pas ncessairement (ou pas immdiatement)

une faute interne pour le composant englobant, une faute externe pour les composants avec lesquels il interagit

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

Type de dfaillance

Fautes franches (fail stop) : arrt pur et simple Omissions : perte de messages Temporaires : dviations temporelles / spcifications Byzantin : comportement alatoire ou malveillant
Module SSI - 20/11/2005 21

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
Module SSI - 20/11/2005 22

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

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
SSI
Legond-Aubry Fabrice Module SSI - 20/11/2005 23

Proprit de scurit: lauthentification


C'est la proprit qui assure la reconnaissance sre de lidentit dune entit Concepts et Terminologie

Concepts et Terminologie

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
Module SSI - 20/11/2005 24

SSI

Legond-Aubry Fabrice

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

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)

Concepts et Terminologie

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

Concepts et Terminologie

Signature = Authentification+Non rpudiation :

Exemples :

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.

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
Module SSI - 20/11/2005 26

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,


Module SSI - 20/11/2005 25

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

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)

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. Concepts et Terminologie

Concepts et Terminologie

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
Module SSI - 20/11/2005 27

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.
Module SSI - 20/11/2005 28

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Plan de cours
Introduction Concepts et Terminologie Utilisation des outils Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes
SSI
Legond-Aubry Fabrice Module SSI - 20/11/2005 29

Attaques sur lauthentification


Dguisement (Mascarade)

d Types d attaques

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

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

30

Attaques sur lintgrit

Attaques sur lintgrit

Intgrit des donnes : Modification de messages, de donnes

Intgrit des programmes

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

Les modifications caractre

d Types d attaques

d Types d attaques

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 Infections informatiques caractre unique

Intgrit des protocoles : Rptition ("replay")

Type de modifications

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.

Bombe logique ou cheval de Troie Introduction dun comportement illicite avec un trigger Virus (reproduction rapide), Ver (reproduction lente, dormant) Vecteur dinfection : secteur amorage, infection fichier, macros virus, mutation
Module SSI - 20/11/2005 32

Infections auto reproductrices


SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

31

SSI

Legond-Aubry Fabrice

Attaques sur la confidentialit

Attaques sur la disponibilit

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) d Types d attaques Analyse de trafic : On observe le trafic de messages changs pour en dduire des informations sur les dcisions de quelqu'un.

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)

d Types d attaques

Exemples: augmentation des transactions sur une place financire Exemple: le dbut de concentration militaire entrane un accroissement de trafic important.

Attaque par saturation

Envoi de messages trop nombreux provoquant un croulement des systmes et rseaux Exemple : Distributed Denial Of Service

Infrence : On obtient des informations confidentielles partir d'un faisceau de questions autorises (et d'un raisonnement visant faire ressortir l'information).
Module SSI - 20/11/2005 33

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

34

Attaques sociales

Attaques sociales

Dans la majeure partie des cas le maillon faible est l'utilisateur luimme ! Par mconnaissance ou duperie, lutilisateur va ouvrir une brche dans le systme.

Droulement :

Une phase d'approche ( ou daccroche )

permettant de mettre l'utilisateur en confiance

d Types d attaques

d Types d attaques

Comment ?

en se faisant passer pour une personne de sa hirarchie, de l'entreprise, de son entourage ou pour un client, un fournisseur, sa banque,

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

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

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 !
Module SSI - 20/11/2005 35

http://www.securityfocus.com/infocus/1527 http://www.cert.org/incident_notes/IN-2002-03.html
Module SSI - 20/11/2005 36

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Plan de cours
Introduction Concepts et Terminologie s curit Les politiques de s curit Utilisation des outils Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes
SSI
Legond-Aubry Fabrice Module SSI - 20/11/2005 37

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

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

38

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

Cohrences des moyens


La ralisation dune politique de scurit rsulte de la mise en uvre cohrente de:

s curit Les politiques de s curit

Ex: Le cot dun vol dinformation grce un iPod 30go ? (beaucoup de base de donnes tiennent sur 30go )

s curit Les politiques de s curit

4.

valuation du cot d'une intrusion russie

Moyens physiques

5.

Choix des contre mesures


Ex: Interdiction de boot sur des supports externes Ex: Qui peut accder physiquement aux machines ?

architecture des btiments, systmes de contrle d accs, destructeurs de documents

Moyens informatiques

Contrles de services et des 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

Rgles dorganisation et moyens procduraux

rgles de fonctionnement qui doivent tre respectes

7.

Dcision
Application et mis en place des solutions

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

39

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

40

Cohrences des moyens

Principe de mise en uvre

Les moyens doivent tre complets :

dans le cadre des hypothses considres, quoi quil arrive la politique est respecte

s curit Les politiques de s curit

Ils ne doivent pas constituer un obstacle la ralisation des fonctions oprationnelles de l organisation considre Ex: les procdures trop complexes sont souvent contournes

s curit Les politiques de s curit

Les moyens doivent tre non contradictoires et raisonnablement contraignants

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

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 Elles doivent donc tre comprises et acceptes par toutes les personnes concernes.

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.
Module SSI - 20/11/2005 42

Le respect des procdures est un des points essentiels de lefficacit

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

41

SSI

Legond-Aubry Fabrice

Dans le dtail des politiques

Plan de cours
Introduction Concepts et Terminologie Utilisation des outils Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes
SSI
Legond-Aubry Fabrice Module SSI - 20/11/2005 44

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/ EBIOS (Expression des Besoins et Identification des Objectifs de Scurit), DCSSI, http://www.ssi.gouv.fr/fr/confiance/ebios.html La norme ISO 17799

s curit Les politiques de s curit

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
Module SSI - 20/11/2005 43

SSI

Legond-Aubry Fabrice

Quelques dfinitions

Ce que permet la cryptographie

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.
SSI

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

s curit Les outils de la s curit

Ne pas sous-estimer les autres mthodes de scurit sous prtexte que la cryptographie est omnipotente

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

45

Legond-Aubry Fabrice

Module SSI - 20/11/2005

46

Chiffrement
Le chiffrement est donc une transformation d'un texte pour en cacher le sens.

Dchiffrement
Le dchiffrement est lopration inverse permettant de rcuprer le texte en clair partir du texte C chiffr.

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= Ek(M) ou C = {M}Ek La fonction Ek 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.

s curit Les outils de la s curit

s curit Les outils de la s curit

Il repose sur la fonction DK de MESSAGES_CHIFFRES dans MESSAGES_A_ENVOYER telle que

M= DK(C) ou C = {M}DK

On doit avoir lidempotence !!

DK( Ek(M) )= M

K, K sont des secrets, D et E des algorithmes publics Note: il peut y avoir symtrie (D=crypter, E=dcrypter)

DK est donc une fonction inverse gauche de Ek.

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.
Module SSI - 20/11/2005 48

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

47

SSI

Legond-Aubry Fabrice

Efficacit du chiffrement

Un outil: Crypto-systmes symtriques

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

Tels que soit k=K, soit la connaissance dune des deux clefs permet den dduire facilement lautre. Consquences :

s curit Les outils de la s curit

s curit Les outils de la s curit

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

Do limportance de laccs ou non au code source

Possibilit de dchiffrement par attaque texte (partiellement) connu

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.
Module SSI - 20/11/2005

Bon systme : rsiste tous les points prcdents et noffre pas dalternative lessai de toutes les cls

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

49

SSI

Legond-Aubry Fabrice

50

CS symtriques: exemples

CS symtriques: lanctre DES


Substitution mono alphabtique


Cr en 1978 par IBM Caractristiques

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 Pour chaque lettre, on associe des groupes de lettres de substitution On crit le texte dans un tableau de n colonnes puis on crit les colonnes 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)
Module SSI - 20/11/2005 51

s curit Les outils de la s curit

s curit Les outils de la s curit

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

Substitutions de polygrammes

Par transposition

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
Module SSI - 20/11/2005 52

CS symtriques modernes :

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

CS symtriques: Caractristiques

Un outil: Crypto-systmes asymtriques

Les nouveaux

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
Module SSI - 20/11/2005 54

s curit Les outils de la s curit

s curit Les outils de la s curit


SSI

3DES : succession de 3 DES en cascade avec 2 clefs K1 et K2 de 56bits DESK1,DES-1K2,DESK1 IDEA : longueur de clef lev (128bits) Blowfish, SAFER, AES, AES256, TWOFISH, CAST5 RC2, RC3, RC4, RC5, Shipjack (secret) Dbits importants

Caractristiques :

IDEA: 880 Kb/s (logiciel sur 386 33Mhz), 55Mb/s (circuits)

Une seule clef (donc partage) Clef de petite taille


Module SSI - 20/11/2005 53

SSI

Legond-Aubry Fabrice

Legond-Aubry Fabrice

CS asymtrique : lanctre RSA

CS asymtrique RSA : Les clefs

Chiffrement

Dtermination de n

La cl publique est un couple d'entiers: K = (e, n) s curit Les outils de la s curit Le chiffrement se fait au moyen de l'lvation la puissance e modulo n: EK (M) = Me mod n 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: Dk (M) = Md mod n Il existe des algorithmes pour calculer les puissances avec modulo sur des grands nombres
Module SSI - 20/11/2005 55

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.

s curit Les outils de la s curit

Dchiffrement

Dtermination de e

Calculer z = (p-1) (q-1) Choisir un entier e premier avec z.

Dtermination de d

Utilisation intensive des grands nombres

Choisir un entier d tel que : e * d =1 mod z d inverse de e dans l'arithmtique mod z

La cl prive est (d,n). La cl publique est (e,n).


SSI
Legond-Aubry Fabrice Module SSI - 20/11/2005 56

SSI

Legond-Aubry Fabrice

CS asymtrique RSA : Exemple

CS asymtrique RSA : performances

Exemple:

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

P=7, Q=3

N = P*Q = 21 s curit Les outils de la s curit

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

s curit Les outils de la s curit

Valeurs utilises 512 bits, 640 bits, 1024 bits (considr comme sr pour plusieurs annes), 2048 bits

Clef publique (d=17,n=21) Clef prive (e=5,n=21) Cryptage, dcryptage du nombre 19 (M)

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

EK (19) = Me [n] = 195 [21] = 2 476 099 [21] = 117909 * 21 + 10 [21] = 10 [21] Dk (10) = 1017 [21] = 100 000 000 000 000 000 [21] = 4 761 904 761 904 761 * 21 + 19 [21] = 19
Module SSI - 20/11/2005 57

Remarque: Compte tenu de la complexit des traitements le DES est environ toujours 10 100 fois plus rapide que le RSA.

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

58

CS asymtrique RSA : Conseils

Fonction sens unique


C'est une fonction f(M) facile calculer mais telle qu'il est extrmement difficile de dduire M de f(M).

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.

s curit Les outils de la s curit

s curit Les outils de la s curit

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).
Module SSI - 20/11/2005 59

Exemple:

Calcul modulo n (dans un anneau fini) M2 est facile calculer modulo n (ou Me)

M est difficile calculer (log M)


CRC

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

60

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. s curit Les outils de la s curit s curit Les outils de la s curit

Fonction de hachage : univers

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.
Module SSI - 20/11/2005 62

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 Rsum, fonction de contraction, digest, empreinte digitale, Hash codes des systmes de fichiers codes dtecteurs derreurs
Module SSI - 20/11/2005 61

Terminologie

Exemple:

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Fonction de hachage : cration

Fonction de hachage scuris

On appelle Fonction de hachage : H : cls [0..m-1] avec [0..m-1] = Espace des empruntes

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

Une fonction qui dtermine la place d'une entit uniquement d'aprs sa cl

s curit Les outils de la s curit

C'est la composition de deux fonctions :

s curit Les outils de la s curit

Difficult de trouver un bloc ayant un signature K

1) Fonction de codage

f est collision forte difficile: il est calculatoirement difficile de trouver M et M tel que f(M)=f(M)

Cls

entiers

Difficult de trouver deux blocs ayant la mme signature

2) Fonction d'adressage

entiers

[0..m-1]

Elle est avec clef si son calcul dpend dune information secrte (la clef K) Les algorithmes de hachages

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.

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
Module SSI - 20/11/2005 64

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

63

SSI

Legond-Aubry Fabrice

Les outils et la politique

Plan de cours
Introduction Concepts et Terminologie Utilisation des outils Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes
65

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

s curit Les outils de la s curit

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 !!!

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

66

Notations

Notations

Pour chaque change de messages, on a:


Cryptage symtrique

sym Utilisation des CS sym triques

Type

Smantique du message (but) expditeur du message (identifi par rcepteur du message (identifi Informations ncessaires au message

Emetteur @IP) Destinataire par @IP) Contenu

sym Utilisation des CS sym triques

Type, Emetteur, Destinataire, Contenu

{M}SYMclef pour crypter et dcrypter.

Fonctions de hachage et signature

{M}Hmeth calculer le rsum avec la mthode meth

Signature dun bloc dinformations M par Alice :

Alice envoie a Bob le message M :


Alice M(={Type, Emetteur, Destinataire, Contenu}) Bob

{M}SIGalice={{M}H}SYMCLEF

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

67

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

68

Authentification par un CS symtrique (solution 1)

Authentification par un CS symtrique (solution 1)

sym Utilisation des CS sym triques

sym Utilisation des CS sym triques

Partage des clefs prives. Connaissances des participants :

Alice connait

Alice

Auth_Req, Alice, Bob, {random}SYMa

Bob

sa propre clef A Date de validit : Date dbut a / Date fin a la clef B de Bob

Auth_Resp, Bob, Alice, {random}SYMb

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


Module SSI - 20/11/2005 69

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 !
Legond-Aubry Fabrice Module SSI - 20/11/2005 70

SSI

Legond-Aubry Fabrice

SSI

Authentification par un CS symtrique (solution 2)

Authentification par un CS symtrique (solution 2)

Utilisation dun gardien des clefs

Exemple : kerberos [ie cerbere], le gardien des enfers 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) Le gardien est un point faible Il doit conserver toutes les clefs !!! Sil est compromis, tout le monde lest !!!

But de lauthentification par gardien des clefs :

sym Utilisation des CS sym triques

sym Utilisation des CS sym triques

Chaque participant connat sa clef et celle du gardien G

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)

Dans un systme clef prive:


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

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

71

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

72

Authentification par un CS symtrique (solution 2)


Alice Gnrer un random Bob

Authentification par un CS symtrique : Kerberos


Motivations :

sym Utilisation des CS sym triques

sym Utilisation des CS sym triques

Auth_Req, Alice, Bob, random [en clair] RepA Auth_Resp, Bob, Alice, RepA {Bob, random}SYMb

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

[Bob,RepA]

Decif_req, Alice, Gardien, M {Bob,random}

Gardien {RepA}SYMb

Vrification Bob de repA=Bob de M? repB Decif_resp, Gardien, Alice, N Vrifier (Bob,Random) = {RepB}SYMa {Bob,Random}SYMa N [Bob,repB]

Gestions des clefs:


Utilisation du cryptage symtrique clef diffrente pour chaque serveur clef valide pour une priode de temps finie
Module SSI - 20/11/2005 74

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

73

SSI

Legond-Aubry Fabrice

Authentification par un CS symtrique : Kerberos

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
Legond-Aubry Fabrice

Principe de fonctionnement : certificats infalsifiables Ticket : caractrise une session entre un client C et un serveur S

sym Utilisation des CS sym triques

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

sym Utilisation des CS sym triques

K 3 2 5 C 6 4

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

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

75

SSI

Module SSI - 20/11/2005

76

Authentification par un CS symtrique : Kerberos

Authentification par un CS symtrique : Kerberos

(1) Demande par C dun TGT (Ticket Granting Ticket) K


(3) Demande dun Service Ticket T linstant t1

K 1 2 3 5 6

sym Utilisation des CS sym triques

sym Utilisation des CS sym triques

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}SYMT K connat la cl T (de T)

C construit un authentifieur : Act(t1) = {C, adr, t1}SYMKCT 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}SYMS T connat la clef S du serveur S

K 1 2 3 5 6

T 4

(2) Rcupration du TGT par C


K 1 2 3 5 6

T 4

K 1 2 3 5 6

T 4

Message M2: tgt_resp, K, C, {{KCT}SYMC, TGTct} C dchiffre { KCT }SYMC l aide de sa clef C et mmorise la cl KCT C mmorise le ticket TGTct (sans pouvoir le dchiffrer)

(4) Obtention du ticket

C
STcs}SYMKCT

message M4 : st_resp, T, C, {KCS,

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

77

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

78

Authentification par un CS symtrique : Kerberos

Confidentialit avec un CS symtrique


Alice Gardien
A

(5) Requte au serveur S

Bob

sym Utilisation des CS sym triques

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}SYMKCS Message M5: serv_req, C, S, {requte, STcs, Acs} 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)

3 5 6

sym Utilisation des CS sym triques

Rappel : message M4 st_resp, T, C, {KCS, STcs}SYMKCT

T 4

N={Alice,Bob,M}SYM

Fwd_Req,Alice,Gardien, [Bob,N] Dcryptage N O {N}SYMA Vrification 0.bob=mes.bob ? P {O}SYMB Fwd_Indic, Gardien, Bob, [Alice,P] Dcryptage P Q {P}SYMB Vrification Q.Alice=Alice ? Rception message M

(6) Traitement de la requte

K 1 2 3 5 6

T 4

Le message M peut tre une clef prive (symtrique) de session On vite ensuite le gardien comme intermdiaire (maillon faible, goulot)
Legond-Aubry Fabrice Module SSI - 20/11/2005 80

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

79

SSI

Intgrit et signature

Signature

sym Utilisation des CS sym triques

sym Utilisation des CS sym triques

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.

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.

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].

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

Solution: Chiffrer une information courte caractristique du message grce une fonction de hachage sens unique.
Module SSI - 20/11/2005 81

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

82

Intgrit et signature avec un CS symtrique


Alice Gardien Sig_indic, Alice, Bob, [M, SigA] Garde M Decif_Req, Bob, Gardien, SigA SigT {SigA}SYMA {SigT}SYMB={{M}H}SYMB Decif_Resp, Gardien, Bob, SigB Sig {SigB}SYMB Vrification Sig sur message M Bob

Plan de cours
Introduction Concepts et Terminologie Utilisation des outils Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes
SSI
Legond-Aubry Fabrice Module SSI - 20/11/2005 84

sym Utilisation des CS sym triques

SigA

{{M}H}SYMA

SigB

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

83

Notations

Notations

Pour chaque change de messages, on a:


Cryptage asymtrique

asym Utilisation des CS asym triques

Type

Smantique du message (but) expditeur du message (identifi par rcepteur du message (identifi Informations ncessaires au message

asym Utilisation des CS asym triques

Type, Emetteur, Destinataire, Contenu Emetteur @IP) Destinataire par @IP) Contenu

Si on crypte avec lun, on dcrypte avec lautre clef (minuscule) est la clef publique CLEF (majuscule) est la clef prive {M}ASYMclef est le symtrique de {M}ASYMCLEF {M}Hmeth calculer le rsum avec la mthode meth {M}SIGalice={{M}H}ASYMCLEF
Module SSI - 20/11/2005 86

Fonctions de hachage et signature

Alice envoie a Bob le message M :


Alice M(={Type, Emetteur,Destinataire, Contenu}) Bob

Signature dun bloc dinformations M par Alice :

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

85

SSI

Legond-Aubry Fabrice

Authentification par un CS asymtrique

Authentification par un CS asymtrique (solution 2)


Alice Cer_Req,Alice,Annuaire,[Bob] ou [{Bob}ASYc] Cert Annuaire

Systmes clefs publiques: Annuaire de clefs

asym Utilisation des CS asym triques

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

asym Utilisation des CS asym triques

Lannuaire possde les clefs publiques des membres

(Bob, b, Dates de Validits, infos, signature) Cer_Resp, Annuaire, Alice, [Cert] ou [{Cert}ASYC] Contrle du certificat Gnrer random auth_req,Alice,bob, [random] N auth_resp,Alice,Bob, N Dcryptage de N (bob,random) {N}ASYMb Vrifier (Bob,Random) = random
Legond-Aubry Fabrice Module SSI - 20/11/2005 88

Bob

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)

{Bob,random}ASYMB

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

87

SSI

Confidentialit avec un CS asymtrique


Alice Cer_Req, Alice, Annuaire, [Bob] ou [{Bob}ASYc] Cert Cer_Resp, Annuaire, Alice, [Cert] ou [{Cert}ASYC] Annuaire

Intgrit et signature avec un CS asymtrique


Alice Annuaire Bob

asym Utilisation des CS asym triques

asym Utilisation des CS asym triques

(Bob,b,DatesValidite s, infos,signature)

SigA

{{Bob,Alice,M}H}ASYMA 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}ASYMa Calculer s={Bob,Alice,M}H comparer s sig

Contrle du certificat Message M N {M}ASYMb

Bob Data_indic, Alice, bob, N M {N}ASYMB

Rappel: trs peu utilis car trs lent !! On utilise le cryptage asymtrique pour changer une clef de session
Principe de SSH
Legond-Aubry Fabrice Module SSI - 20/11/2005 89

SSI

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

90

Intgrit de flots de messages

Considrations ad-hoc: Stockages des clefs

Un flot d'changes de longue dure doit tre caractris par une connexion.

Problme de rejeu ("replay")

asym Utilisation des CS asym triques

asym Utilisation des CS asym triques

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 Dune ancienne connexion De la connexion courante

Clef publique de lautorit, ne doit pas pouvoir tre modifie


Dans le code en dur sur un support fiable (carte puce)

Rejeu possible dun message


Clef prive de lutilisateur, ne doit pas pouvoir tre lue:

Intgrit du flot de message Utilisation dun Nonce (Used Only Once), qui distingue chaque message:

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

Numro de squence sur un modulo grand (sur 32 ou 64 bits) Estampillage par horloge (horodatage) Nombre alatoire

Certificat de lutilisateur:

Annuaire+support local ou carte ou disquette Annuaire central+version locales (cache, annuaire priv)
Module SSI - 20/11/2005 92

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

91

SSI

Legond-Aubry Fabrice

Considrations ad-hoc: Utilisation des clefs

Plan de cours
Introduction Concepts et Terminologie Autres Utilisations des CS Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes
SSI
Legond-Aubry Fabrice Module SSI - 20/11/2005 94

Plus on utilise une clef plus elle est vulnrable !

asym Utilisation des CS asym triques

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
Module SSI - 20/11/2005 93

SSI

Legond-Aubry Fabrice

Partage de secret: protocoles seuil

Partage de secret: protocoles seuil (Shamir)

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:

V valeur numrique entire


On gnre alatoirement t valeurs entires a1 , a2 , .... , at On leur associe un polynme dont le terme constant est V :

Autres Utilisations des CS

Autres Utilisations des CS

P(x) = at.xt + at-1.xt-1 + .... + a1 x + V Une part du secret est un couple (xi,P(xi)) xi non nul

Ex : Il suffit de la prsence du responsable financier pour ouvrir le coffre ou de trois chefs de service ou ... 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.

les parts sont gnres par des xi diffrents

Le problme du partage d'un secret:

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 2nd rsolution dun systme (t+1) valeurs inconnues (a1 , a2 , .... , at ,V) avec (t+1) quations [parts]

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

95

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

96

Notarisation par un CS asymtrique

Notarisation par un CS asymtrique


1.

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
Module SSI - 20/11/2005

A souhaite envoyer le message M au destinataire B de faon notarise (notarie ?)

Autres Utilisations des CS

Autres Utilisations des CS

il envoie au notaire {A,B,M}ASYMKA

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}ASYMKN, T={A,B,M,date}H Il renvoie le message M en rponse A qui va la conserver pour preuve de la notarisation effectue.

SSI

Legond-Aubry Fabrice

97

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

98

Notarisation par un CS asymtrique


4.

Notarisation par un CS asymtrique


1. Req_ticket,A,N,{A,B,M}ASYMKA N 6. ack_indic, B, N, {ACQ(A,B,M,T)}ASYMKB

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

Autres Utilisations des CS

Autres Utilisations des CS

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

5. decif_resp, N, B, {A,B,M,T}ASYMkb

Le notaire envoie B la transaction chiffre avec la cl de kb soit {A,B,M,T}ASYMkb. Seul B peut la lire confidentialit lintgrit {{A,B,M,T}ASYMkb} ASYMKC Pour lauthenticit, il faudrait


6.

4. decif_req, B, N, {A,B,M,T}ASYMkn Message encapsul intgre et confidentiel 2. Resp_ticket, N, A, {A,B,M,T}ASYMkn Message encapsul intgre et confidentiel A B

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)}ASYMKB que le notaire enregistre.

3. indic_mes, A, B, {A,B,M,T}ASYMkn Message encapsul intgre et confidentiel


Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

99

SSI

Legond-Aubry Fabrice

100

Notarisation par un CS asymtrique


1. Req_ticket,A,N,{{A,B,M}ASYMKA}ASYMkn N 6. ack_indic, B, N, {{ACQ(A,B,M,T)}ASYMKB}ASYMkn

Plan de cours
Introduction Concepts et Terminologie Types dattaques Les certificats

Autres Utilisations des CS

5. decif_resp, N, B, {{A,B,M,T}ASYMkb}ASYMKN

Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats

4. decif_req, B, N, {{A,B,M,T}ASYMkn}ASYMKB Message encapsul intgre et confidentiel 2. Resp_ticket, N, A, Message encapsul intgre et confidentiel A {{{A,B,M,T}ASYM
ASYM }ASYM kn} ka KN

3. indic_mes, A, B,{{{A,B,M,T}ASYMkn} ASYMka}ASYMKB Message encapsul intgre et confidentiel


Module SSI - 20/11/2005

Authentification des personnes


SSI
Legond-Aubry Fabrice Module SSI - 20/11/2005 102

SSI

Legond-Aubry Fabrice

101

Certificats et cryptages asymtriques

Les autorits de certifications (CA)

Rappel : Cryptage asymtrique

AC: autorit de certification


PB : Tout repose sur la confiance dans la provenance de la clef publique. Les certificats 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

Norme de reprsentation des certificats X509 Norme de protocole daccs: LDAP Elle chiffre (avec sa clef prive) une empreinte de

Les certificats

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

Solution : une autorit est charge de signer les clefs publiques

Lensemble est appel certificat X509. Les certificats X509 font lobjet dune norme : ITU-T X509 international standard V3 1996, RFC2459

Cette autorit sappelle lautorit de certification ( Certificate Authority ou CA)


Module SSI - 20/11/2005 103

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

104

Les autorits de certifications (CA)

Les autorits de certifications (CA)

Rle :

Contrle des certificats

Vrifie les demandes de certificats (Certificat Signing Request) Gnre les certificats et les publie Les certificats Gnre les listes de certificats rvoqus (Certificat Revocation List)

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

Les certificats

Vrifie (par lintermdiaire dune autorit denregistrement) :

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

lidentit des demandeurs de certificats et les lments de la demande Recueille et vrifie les demandes de rvocation
Module SSI - 20/11/2005 105

On ne fait confiance quaux clefs signes !!! Attention, il existe des certificats auto-signs (sans CA officiel)
Module SSI - 20/11/2005 106

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Utilisation des certificats

La structure des certificats


Clef publique De lentit Les certificats Infos sur lAC (Nom, KeyId)

Les certificats sont composs de deux lments :

dinformations sur lentit propritaire du certificat dinformations sur lentit mettrice du certificat (lannuaire, lautorit de certification, .) le nom, la clef publique de lentit identifier, des informations supplmentaires 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
Module SSI - 20/11/2005 107

asym Utilisation des CS asym triques

Informations sur lentit (nom,pays)

Priode de validit

Attributs du certificat (CS utiliss)

Les informations sur lentit propritaire du certificat sont


Signature du certificat par lAC

Les informations sur lentit mettrice du certificat


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, EAdministration,
Module SSI - 20/11/2005 108

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

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:

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)

Les certificats

Les certificats

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.

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

109

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

110

Cration de certificat (Annuaire publique)


Alice Annuaire Autorit de certification (AC) Obtention du certificat de lAC Gnration dune clef publique A/a Gnration dune clef prive MP Gnration dun certificat (Alice, A, Date) Stockage (sr) {(Alice, A, Date)}SYMMP C {(Alice, a, Date)}ASYMac certCreation_req, Alice, AC, C Dcryptage de C D {(Alice, a, Date)}ASYMAC Contrle EXTERNE de lid dAlice MAJ de lannuaire de certificat Cert(Alice)=(Alice,a,Date,{{Alice,a,Date}H}ASYMac certCreation_resp, AC, Alice, [Cert(Alice)] Alice

Cration de certificat (Annuaire priv)


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)}SYMMP 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}ASYMac

Les certificats

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

111

SSI

Les certificats

Legond-Aubry Fabrice

Module SSI - 20/11/2005

112

Rvocations de certificats

Plan de cours
Introduction Concepts et Terminologie Utilisation des outils Types dattaques Les politiques de scurit Les outils de la scurit Utilisation des CS symtriques Utilisation des CS asymtriques Autres Utilisations des CS Les certificats Authentification des personnes

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 certificats

Les navigateurs doivent vrifier par eux-mme les CRL

Mal implment

souvent non vrifi

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

113

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

114

Rappels & gnralits

Mthodes dauthentification des personnes

Le contrle daccs est la base des mcanismes informatiques:

L'authentification = vrification de l'identit d'une entit. L'une des mesures les plus importantes de la scurit:

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.

Authentification des personnes

Authentification des personnes

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 :

Principe du moindre privilge :

procdure de dconnexion automatique procdure d authentification priodique une substitution peut avoir lieu (surtout en rseau, ncessit de protocoles de scurit) Ce que connat lutilisateur (Mot de passe), Ce que dtient lutilisateur (carte), Ce quest lutilisateur (Mthode biomtrique)
Module SSI - 20/11/2005 116

Un objet ne doit disposer que des droits qui lui sont strictement ncessaires pour raliser les tches qui lui sont dvolues.

Une entit informatique peut tre corrompue

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.

L'authentification des personnes peut se faire par trois mthodes:


SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

115

SSI

Legond-Aubry Fabrice

Authentification par connaissance

MDP: lexemple dUnix/Linux crypt()

Le mot de passe, le code confidentiel

Technique la plus simple et la plus rpandue

Authentification des personnes

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)

Authentification des personnes

Problmes bien connus:

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

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

crypt( p, Salt)

Habituellement, 30% des mots de passe sont devinables


Module SSI - 20/11/2005 118

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

117

SSI

Legond-Aubry Fabrice

Authentification par objet

Authentification par lutilisateur lui-mme

Un secret matrialis physiquement


Les mthodes bio mtriques Une solution en rapide dveloppement


Authentification des personnes

Une carte magntique, code barre, puce Un stick USB Un porte-clefs gnrateur de clef temporaire

Authentification des personnes

La cl traditionnelle

peut-tre trs efficace souvent onreuse, peut-tre difficile accepter dans certains cas par l'utilisateur l'intrieur du groupe humain des usagers autoriss ou dans une population quelconque La variabilit intra-individuelle La variabilit inter-individuelle Le rejet tort d'un individu autoris L'acceptation tort d'une personne non autorise.

Ncessit d'tudes approfondies (analyse de la variabilit) du caractre utilis


Technique simple, rpandue. Les problmes :


Incertitudes des techniques bio mtriques


la perte, le vol du support la duplication (plus ou moins facile mais toujours possible) Ncessite souvent lintervention humaine

Conduit deux types d'erreurs possibles:


SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

119

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

120

Quelques techniques biomtriques

BIOMETRIQUE Reconnaissance de voix

L'empreinte digitale
Authentification des personnes

Reconnaissance

Authentification des personnes

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

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)

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

121

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

122

BIOMETRIQUE Empruntes digitales

BIOMETRIQUE Reconnaissance de liris

Reconnaissance gomtrique du doigt Authentification des personnes


Authentification des personnes

Trs connue et exploit Petite taille des dispositifs Faibles cots des dispositifs Analyse rapide, faible taux de rejet Assez bien implant

Reconnaissance de la gomtrie de liris


Grande quantit dinformation Reconnat les vrais jumeaux Trs peu de rejet Reconnaissance distance Problmes

police ordinateurs portables (IBM) Bientt (dj) carte didentit puce

Non diffrenciation photo/humain Non diffrenciation fausse iris/humain Cot lev

Problmes

Doigts sales ou coups Besoin de la coopration de lutilisateur


123

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

124

BIOMETRIQUE Reconnaissance rtinienne

BIOMETRIQUE Reconnaissance faciale

Reconnaissance rtinienne
Authentification des personnes

Authentification des personnes

Vaisseaux sanguins Peu de facteurs de variations (ie peu de maladies) Meilleur taux de russite Problmes:

Reconnaissance de la gomtrie faciale

Distance entre les yeux, la bouche, le nez, Facile grer Identification distance Utile pour lanalyse de foule Problme :

Trs cher Intrusif donc peu populaire Qui veut coller son oeil dans lobjectif ? Devient moins efficace avec le temps (ge de la personne)
125

Identification impossible des vrais jumeaux Sensible aux problmes du visages (maladies, accidents) Sensible aux lunettes, piercing Maquillage, masque, perruques chec
126

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

BIOMETRIQUE - Thermographie

MULTIMETRIQUES

Authentification des personnes

Authentification des personnes

Etude du spectre lectromagntique


Biomtriques seules sont insuffisantes Combinaison de diffrentes techniques

IR cartographie de la chaleur du visage Bon taux de reconnaissance Reconnat les vrais jumeaux Problmes:

Biomtriques

Reconnaissance par emprunte digitale

Mthodes traditionnelles

Mot de passe, Smart Cards avec des informations

Forte taux de russite en authentification Trs rsistant

Cot trs lev Exprimentale


127

Ncessite le cassage des n mthodes

Cot raisonnable
Module SSI - 20/11/2005 128

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Authentification One Time Passwords

Authentification One Time Passwords

Principes :

Dsavantages

Utilisation de plusieurs mots de passe

Lutilisateur doit

Authentification des personnes

Authentification des personnes

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 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 Smart Cards, PDAs, portables, Keys Holders, etc...

possder lalgorithme ou une appareil capable de le faire un liste pr-imprime de mots de passe

Dangereux en cas dutilisation de la liste !

Gnration du mot de passe


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

Peut tre implant sur des systmes embarqus

Difficile grer Outil les plus connus: S/Key (Neil Haller, The S/KEY one-time password system, 1994), OPIE, SecurID, CryptoCard
Module SSI - 20/11/2005 130

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

129

SSI

Legond-Aubry Fabrice

Authentification bi-factuelle

Comme pour lauthentification multimtriques On combine deux mthodes :

Authentification des personnes

Quelque chose que vous connaissez (secret)

ie un mot de passe

Quelque chose que vous avez (appareil)

LegondLegond -Aubry Fabrice fabrice.legond- aubry@ufabrice.legond -aubry@u -paris10.fr

SSI
Scurit des Systmes Informatiques Scurit rseau

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
Module SSI - 20/11/2005 131

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

132

Plan de cours

Vocabulaire
Attaque par eMail

Introduction Attaques de niveau 1

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 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
Module SSI - 20/11/2005 134

Attaques niveau 2: ethernet


Introduction

Attaques niveau 3: IP/ICMP IPSEC - VPN Attaques niveau 4: TCP SSL/TLS Parefeu - NAT Analyse

Introduction

Attaque Rseau TCP/IP


SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

133

SSI

Legond-Aubry Fabrice

Vocabulaire

Les problmes de scurit dans la pratique

Attaque logicielle

Internet na pas t conu avec un objectif de scurit


Buffer Overflow : Attaque par dbordement Service poisoning : Corruption dun service (dtournement de son comportement) Introduction

Internet est bas sur la confiance Chaque niveau travers par vos donnes offre des moyens dattaques

Introduction

Logiciel de contrle ou de nuisance


Internet est n avec les unix

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
Module SSI - 20/11/2005 135

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


Module SSI - 20/11/2005 136

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Les problmes de scurit dans la pratique

Rappels

Au niveau rseau (IP)

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

IP Spoofing et Smurfing

Au niveau transport (TCP)


Introduction

Au niveau applicatif (service rseau) Dni de services (Deny of Services) Buffer Overflows

Introduction

SYN Flooding

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 !!!

Attaque au niveau des services Attaque au niveau des personnes


Module SSI - 20/11/2005 137

cest dure de travailler sans compte informatique

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

138

Plan de cours
Introduction Attaques de niveau 1
Attaques de niveau 1 Attaques de niveau 1

Ecoute des supports physiques


Ethernet physique

Plug sur le cble

Introduction de bruit Ecoute du support physique

Attaques de niveau 2: ethernet Attaques de niveau 3: IP/ICMP IPSEC - VPN Attaques de niveau 4: TCP SSL/TLS Parefeu - NAT Analyse

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
Module SSI - 20/11/2005 140

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

139

SSI

Legond-Aubry Fabrice

Rseau sans fils 802.11

802.11: Moyens de lutte

Le 802.11 aka WiFi (Wa fa)


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 !

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

Attaques de niveau 1

Attaques de niveau 1

Confiner ce rseau dans un rseau spcial externe

Eviter les accs IP sur le rseau interne

Confidentialit: Le WEP une coquille vide


A JETER

Le 802.11 soulve des problmes


Faiblesse du chiffrement, pas de gestion des clefs airsnort.shmoo.com, www.cr0.net:8040/code/network/aircrack (dans beaucoup de distrib linux)

Qui existent dj !!!! Primtre de scurit

Mise en exergue des problmes filaires !

Confidentialit et authentification

la seule solution valable, ENCORE EN DEPLOIMENT !


confidentialit

802.11i WPA2 (et PAS WPA simple ou de WEP)

Portables dinconnus entre dans le primtre Equivalent une prise de la taille dune sphre de 80m de rayon

802.11x avec un serveur radius (www.freeradius.org) et des modules EAP

Audit

Sans cryptage (confidentialit) et sans authentification SUICIDAIRE !!! Ecoute et brouillage possible

Journalisation des adresses inconnues (MAC et IP) Journalisation 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 Module SSI - 20/11/2005 142

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

141

SSI

Legond-Aubry Fabrice

Exemple netstumbler
NETSTUMBLER

Les AP WiFi autour de mon bureau

Attaques de niveau 1

Exemple netstumbler Permet de connatre les PA de la zone Permet de connatre les rseaux non scuriss

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

143

SSI

Attaques de niveau 1

Legond-Aubry Fabrice

Module SSI - 20/11/2005

144

Plan de cours
Introduction
Attaques niveau 2: ethernet

Rappels : Ecoute rseau (sniffing)


But:

Attaques de niveau 1
Attaques de niveau 1

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

Attaques de niveau 2: ethernet Attaques de niveau 3: IP/ICMP IPSEC - VPN Attaques de niveau 4: TCP SSL/TLS Parefeu - NAT Analyse
Legond-Aubry Fabrice Module SSI - 20/11/2005 145

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

SSI

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

146

Ecoute ethernet: fonctionnement

Dtection locale des coutes

Ethernet cest 90% des rseaux locaux

Dtection possible des cartes en mode promiscous Vrification locale


Prix ridicules, dploiement ais, grande varit de matriel

Attaques de niveau 2: ethernet

Il faut passer la carte en mode Promiscuous

Attaques de niveau 2: ethernet

Ethernet est un support DIFFUSANT !!!!

facilit dcoute !!!!!

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

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 Librairie PCAP Raw socket: packet_socket = socket(PF_PACKET, int socket_type, int protocol); Trs facile utiliser TCPDUMP (Linux/Windows), ethereal/PCAP (Windows/Linux) Network Associates Sniffer (Windows)
Module SSI - 20/11/2005 147

Accs simple

Utilisation de logiciels dcoute


Un processus root inconnu est en cours dexcution (ps) Vrifier les comportements des programmes avec lsof et strace

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

148

Dtection distante des coutes (antisniff)

Antisniff: autres mthodes

En thorie cest impossible

Mthode du ping 2 : Variation sur la premire mthode


les nuds sont passifs

ils ne transmettent rien

Attaques de niveau 2: ethernet

Dans la pratique, cest parfois possible

Attaques de niveau 2: ethernet

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

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

Mthode ARP

On attend quelques minutes sans mettre (vider les caches) Jenvoie 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
Module SSI - 20/11/2005 150

Le mode promiscuous dsactive le filtre de l@ MAC et rpondra l@IP sans vrifier ladresse MAC
Module SSI - 20/11/2005 149

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Antisniff: autres mthodes

Antisniff: autres mthodes

Mthode du DNS
Attaques de niveau 2: ethernet

Mthode de leurre

Attaques de niveau 2: ethernet

Les machines qui coutent peuvent faire des requtes DNS Faire un ping et vrifier les demande DNS arrivant de machine non connues (@IP mauvaise) !! 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
Module SSI - 20/11/2005 151

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

Mthode de routage-source

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

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

152

Lutter contre les coutes

Attaques ARP

Eviter la capture de mot de passe Attaques de niveau 2: ethernet

ARP-RARP

lien entre @MAC et @ IP

Attaques de niveau 2: ethernet

Eviter lauthentification et les donnes en clair

ARP maintient un cache des machines qui diffusent sur le rseau But des attaques ARP:

Utiliser le cryptage sur les couches basses (SSL,IPSEC) Utiliser lencpasulation applicative tunneling SSH, stunnel

Dtourner le traffic rseau vers sa machine En particulier, remplacer le couple (@MAC/@IP) du routeur par sa propre machine Dni de service

Utiliser des mots de passe utilisation unique (OTP)

Moyen:

Recherche systmatique des machines inconnues

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

Dcouverte du rseau (HP openview, netdisco, )

Limiter la connectivit des machines aux machines connues


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)

ACL avec adresses ethernet au niveau des switchs VMPS sur les switch (correspondance @MAC/vlan)
Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

153

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

154

Attaque ARP : Poisoning par diffusion


Ha Hb

Attaque ARP : Poisoning par requte


Qui a (Who has) 10.10.0.2 Mon @IP est 10.10.0.1 Mon @MAC est 00:E0:2B:13:99:ab Ha Jai 10.10.0.2 Mon @MAC est 00:E0:2B:13:68:00 Hb

Attaques de niveau 2: ethernet

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

Attaques de niveau 2: ethernet

10.10.0.2 10.10.0.2

00-E0-2B-13-68-00 xx:xx:xx:xx:xx:xx

10.10.0.2

xx:xx:xx:xx:xx:xx

Machine Ha IP=10.10.0.1 MAC=00:E0:2B:13:99:ab

10.10.0.2 10.10.0.2

MachineHb IP=10.10.0.2 MAC=00:E0:2B:13:68:00

00-E0-2B-13-68-00 xx:xx:xx:xx:xx:xx Jai 10.10.0.2 Mon @MAC est xx:xx:xx:xx:xx:xx

Qui a (Who has) 10.10.0.1 Mon @IP est 10.10.0.2 Mon @MAC est xx:xx:xx:xx:xx:xx
Machine Hc (Hacker) IP=10.10.0.11 MAC=00:FB:5A:50:09

Hc

Machine Hc (Hacker) IP=10.10.0.11 MAC=00:FB:5A:50:09

Hc

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

155

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

156

Attaque ARP : Poisoning par diffusion de rponse

Plan de cours
Introduction
Attaques de niveau 3: IP/ICMP

Attaques de niveau 2: ethernet

Ha

Hb

Attaques de niveau 1 Attaques de niveau 2: ethernet Attaques de niveau 3: IP/ICMP IPSEC - VPN Attaques de niveau 4: TCP SSL/TLS Parefeu - NAT IDS et Analyse
Legond-Aubry Fabrice Module SSI - 20/11/2005 158

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

10.10.0.2 10.10.0.29

00-E0-2B-13-68-00 xx:xx:xx:xx:xx:xx

10.10.0.29

xx:xx:xx:xx:xx:xx

Jai (I have) 10.10.0.29 Mon @MAC est xx:xx:xx:xx:xx:xx

Machine Hc (Hacker) IP=10.10.0.11 MAC=00:FB:5A:50:09

Hc

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

157

SSI

Le protocole IP

Attaque IP : Spoofing

IP suppose que

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:

Attaques niveau 3: IP/ICMP

Attaques niveau 3: IP/ICMP

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

Usurpation didentit machine

on se fait passer pour une autre

Passer travers les filtres IPs de certaines machines peut recevoir les rponses si elle est local (sniffing) NE peut PAS recevoir de rponse si elle est distante

La (vritable) source:

Source Routing Bit DF/MF

Sauf cas exceptionnel (IP source routing)

Donnes: taille max. 64ko


159

A Coupler avec des attaques TCP (cf. prochaine section)


Module SSI - 20/11/2005 160

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Attaque IP : Spoofing

Les protocoles ICMP/IGMP

Dtection: Peu vidente

Analyser les logs du parefeu

Connexions inhabituelles, violation des ACL, paquets rejets

Le protocole ICMP (Internet Control Message Protocol)


Attaques niveau 3: IP/ICMP

Lutte contre le spoofing IP:


Ne pas se limiter des ACL bass sur les @IP Implanter des rgles strictes sur les routeurs

Attaques niveau 3: IP/ICMP

Le protocole ICMP est utilis par tous les routeurs Il est utilis pour signaler une erreur sur une machine connecte

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

Message ICMP = Type (8 bits), Code (8 bits), Checksum (16 bits), Message (taille variable) Couples Type / Message :

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

0: Echo reply, 8: Echo request 3: Destination Unreachable, 5: redirect, 6: alternate host address, ...
Module SSI - 20/11/2005 162

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)

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

161

SSI

Legond-Aubry Fabrice

Attaque ICMP: ECHO Flooding

Attaque ICMP: ECHO Flooding

But du ICMP Flooding

Rendre un ou plusieurs services inaccessible Rendre un rseau totalement inaccessible La machine cible passe tout son temps rpondre des requtes ICMP Ping Of Death sous windows !!

Attaques niveau 3: IP/ICMP

Attaques niveau 3: IP/ICMP

Moyen

rseau A

INTERNET

rseau B

ICMP_ECHO (@SRC=IP.Ha,@DST=IP.Hb) ICMP_ECHO (@SRC=IP.Ha,@DST=IP.Hb)

ping f cible.reseau.fr 5242880

Consquences

Ha

ICMP_ECHO_REPLY (@SRC=IP.Hb,@DST=IP.Ha)

Hb

Surcharge machine et du rseau DENI DE SERVICE (D.O.S.)


Module SSI - 20/11/2005 163

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

164

Attaque ICMP: ECHO Flooding

Attaque ICMP: ECHO Flooding


Moyen de dtection:

Hc

rseau C

Observer la mtrique rseau. En cas de FLOOD

Attaques niveau 3: IP/ICMP

Attaques niveau 3: IP/ICMP

ECHO_REPLY (@SRC=IP.Hb,@DST=IP.Hc)

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

rseau A

INTERNET

rseau B

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

Spoofed ICMP_ECHO (@SRC=IP.Hc,@DST=IP.Hb) ECHO_REPLY (@SRC=IP.Hb,@DST=IP.Hc)

Utiliser des contrles de dbit

Ex: 3 ICMP_ECHO / REPLY par second Liste noire dynamique (interdiction pendant x minutes)

Ha

Hb

Nautoriser les ping que sur le sous-rseau

Pb en cas dattaque interne

Couplage contrle de dbit avec contrle ip


Module SSI - 20/11/2005 166

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

165

SSI

Legond-Aubry Fabrice

Attaque ICMP: ECHO Smurfing

Attaque ICMP: ECHO Smurfing


Hc

But:

Dni de service sur le rseau ou la machine cible Attaques niveau 3: IP/ICMP

rseau C
N* ECHO_REPLY (@SRC=IP.HbXX,@DST=IP.Hc)

Hb2

Attaques niveau 3: IP/ICMP

Moyen:

ECHO_REPLY (@SRC=IP.Hb2,@DST=IP.Hc)

Utiliser un rseau comme rflecteur Faire une demande de ping avec

rseau A

INTERNET

rseau B
ICMP_ECHO (@SRC=IP.Hc,@DST=diffusionRB)

Pour adresse source ladresse du rseau (ou de lhte) attaquer Pour adresse cible ladresse de diffusion du rseau rflecteur

Spoofed ICMP_ECHO (@SRC=IP.Hc,@DST=diffusionRB)

Un seul paquet envoy, toutes les machines du rseau rflecteur rpondent (amplification) Les rponses seront envoyes la cible
Module SSI - 20/11/2005 167

Ha

ECHO_REPLY (@SRC=IP.Hb1,@DST=IP.Hc)

Hb1

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

168

Attaque ICMP: ECHO Smurfing

Le protocole IP

Consquences

IP suppose que

Identiques au flooding mais amplifies Attaques niveau 3: IP/ICMP La cible subit une charge trs importante

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

Attaques niveau 3: IP/ICMP

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.

Source Routing Bit DF/MF

Donnes: taille max. 64ko

IP: RFC 781, 791, 1349


170

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

169

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

Attaque IP : Source Routing

Attaque IP : Source Routing

But:

Comment ?

Cacher une connexion TCP dsynchronis Dissimuler dautres types dattaques Obtenir une rponse dans le cas dune attaque IPSpoofing Attaques niveau 3: IP/ICMP

Attaques niveau 3: IP/ICMP

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

Moyen:

Loption source routing permet de spcifier un chemin de retour impos pour la rponse Surpasse (over ride) la configuration par dfaut des routeurs
Module SSI - 20/11/2005 171

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

172

Attaque IP : Source Routing


Serveur
Ha Hb

Attaque IP : Source Routing

Hte de confiance
Hc

Le serveur

Accepte les connexions

Solution: cest simple !!!!

Attaques niveau 3: IP/ICMP

Attaques niveau 3: IP/ICMP

Accepte le sourcerouting sur des machines de confiance

Dsactiver la fonction de source-routing sur les paquets IP

Paquet normal

La machine de confiance

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

Fait suivre le paquet Doit accepter le source-routing ou tre corrompue.

Hp

Lattaquant

Tous les paquets vont tre dtruits par les machines Abandonner la notion de machine de confiance

Hackeur Paquet source-routing

Reoit la rponse malgr lattaque IP spoofing

Lorsquelle est uniquement base sur l@IP Abandonner les ~/.rhost, ~/.shost Il faut de lauthentification forte
Module SSI - 20/11/2005 174

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

173

SSI

Legond-Aubry Fabrice

Plan de cours

IPSEC - VPN
Permet dviter le spoofing @IP et le sniffing IP-Secure / Dvelopp par lIETF (RFC 2401, 2402, 2406, 2409, 2411)

Introduction Attaques de niveau 1 Attaques de niveau 2: ethernet


IPSEC - VPN IPSEC - VPN

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

Attaques de niveau 3: IP/ICMP IPSEC - VPN Attaques de niveau 4: TCP SSL/TLS Parefeu - NAT IDS et Analyse

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 Tunnel

seulement les donnes sont cryptes encapsulation des donnes) toute la communication est encrypte (encpasulation totale)

Mode IP-Sec: 2 protocoles


AH ESP

qui ne permet que lauthentification forte et intgrit, pas de confidentialit qui permet la confidentialit

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

175

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

176

IPSEC-VPN: Modes

IPSEC-VPN: Protocoles

Le mode Payload/Transport

Le protocole AH (Authentification Header)


Fournit lauthentification de provenance des donnes Lintgrit des donnes (sans mode connect) Un protection (optionnelle) contre le rejeu

Facile utiliser Peut tre utiliser sur tous les rseaux et routeurs IPSEC - VPN Les donnes ne peuvent tre dcryptes (Encryptions fortes)

Le protocole ESP (Encaspulating Security Payload)

IPSEC - VPN

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 mode Tunnel

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,

Plus puissant que le mode Payload Require le support de tous les routeurs sur le chemin

Problmes:

Ncessit des ressources CPU sur les routeurs Ncessit pour les routeurs de pouvoir dcrypter les enttes
Module SSI - 20/11/2005 177

Difficults avec la fragmentation IP Surcot engendr par le protocole ESP Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

178

IPSEC-VPN:

IPSEC-VPN: Performances

Trame IP simple:
Orig IP header data

LIPSEC est trs couteux mais :


De nouvelles implantations existent Les cots sont en fortes baisses

IPSEC - VPN

IPSEC - VPN

AH mode transport et mode tunnel (datagrammes authentifis sauf champs mutables)


Orig IP header New IP header AH AH data Orig IP header data

Mesures de performances IPSEC Pas dIPSEC IPSEC avec AH et ESP IPSEC avec AH IPSEC avec mode transport ESP IPSEC avec mode tunnel ESP IPSEC ESP-part AH et le mode tunnel ESP IPSEC avec le mode transport ESP et AH IPSEC avec le mode tunnel ESP et AH 315 kb/s 47 kb/s 26 kb/s 26 kb/s 26 kb/s 19 kb/s 20 kb/s 18 kb/s
180

ESP mode transport et mode tunnel (rouge = crypt, gris = authentifi)


Orig IP header ESP header data ESP trailer data ESP auth ESP auth
179

New IP header

ESP header

Orig IP header

ESP trailer

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

Plan de cours
Introduction Attaques de niveau 1
Attaques niveau 4: TCP Attaques niveau 4: TCP

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 dacquittement Connection opening (SYN) douverture de connexion (synchronisation) Connection end (FIN) logoff Connection Reset (RST) forced/brutal logoff Checksum Options Puis viennent les donnes CRC trame trame

Attaques niveau 2: ethernet Attaques niveau 3: IP/ICMP IPSEC - VPN Attaques niveau 4: TCP SSL/TLS Parefeu - NAT IDS et Analyse

graceful

TCP: RFC 1180, 768(UDP), 793 (TCP), 3168 (TCP), 792(ICMP), 950(ICMP)

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

181

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

182

Le procotole TCP Ouverture de connexion

Le protocole TCP Fermeture de connexion

Ngociation en 3 phases (3 ways handshake) Le client envoie un premier paquet au serveur

Fermeture brutale

Une des parties envoie une trame avec

Ce paquet contient le drapeau SYN mis 1

Le drapeau RST mis 1 Le numro de squence dacquittement gale au dernier numro reut +1 (souvent ignor)

Attaques niveau 4: TCP

Attaques niveau 4: TCP

Le client envoie un numro de squence de dpart La taille de sa fentre de rception 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 Le drapeau ACK (acquittement) est mis 1 Le numro dacquittement est gale au numro de squence du serveur +1
Module SSI - 20/11/2005 183

Fermeture lgante ou la dconnexion concerte ( graceful logoff )

Le serveur rpond avec une trame dacquittement douverture


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

Sur rception de cet acquittement, le client rpond par une trame dont

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 Module SSI - 20/11/2005 184

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

TCP - Example

TCP Sequence Numbers

Ouverture et Fermeture de connexion


Attaques niveau 4: TCP

SSI

Attaques niveau 4: TCP

Le numro de squence correspond aux nombres doctets envoys depuis louverture de la connexion.

Legond-Aubry Fabrice

Module SSI - 20/11/2005

185

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

186

Attaque TCP: SYN Flooding

Attaque TCP: SYN Flooding

But :

La machine A envoie une demande de connexion TCP la machine B


Attaque de dni de service Empcher la machine daccepter de nouvelles connexions

paquet SYN La trame TCP est encapsul dans un paquet IP avec une fausse adresse (par ex. C)

Attaques niveau 4: TCP

Attaques niveau 4: TCP

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) Tous les services TCP deviennent indisponibles 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
Module SSI - 20/11/2005 187

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


Consquences :

dpendent du systme trs grand devant la capacit des rseaux

Caractristiques :

La machine A recommence avec


un grand nombre de demandes fabriques de fausses adresses (sources varies)


Module SSI - 20/11/2005 188

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Attaque TCP: SYN Flooding

Attaque TCP: Connection Reset

Les solutions ne sont pas toujours la porte des admins ! Implantation dune pile TCP/IP adapte

But:

Forcer la dconnexion entre deux machines

Limitation de limpact de lattaque Attendre le ACK final avant dallouer toute ressource

Attaques niveau 4: TCP

Attaques niveau 4: TCP

Efficace contre les protocoles connexions de longues dures Sauvegarde, Transferts FTP, Border Gateway Protocol (RFC 1771)

Utiliser en premier lieu dans le noyau linux 2.x.x

Protection implante dans les routeurs


Supposition :

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
Module SSI - 20/11/2005 189

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


Module SSI - 20/11/2005 190

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Attaque TCP: Connection Reset

Attaque TCP : low-rate

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

But:

Faire baisser la capacit de trafic sur les serveurs

Attaques niveau 4: TCP

Attaques niveau 4: TCP

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

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

Si la fentre est large (satellite, grande capacit) encore moins de trames gnrer 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
Module SSI - 20/11/2005 191

Mthode 2 :

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

192

Attaque TCP : [remote] land-attack

Attaque TCP : Desynchronized Connection

But:

Dni de service 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 Date: dcembre 2005
Module SSI - 20/11/2005 193

But:

Moyen:

Perturber la connexion entre deux machines Empcher deux machines de discuter Etre capable de sinsrer entre les deux machines THE MAN IN THE MIDDLE 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 Il est possible de lire/modifier les donnes changes entre les deux htes

Attaques niveau 4: TCP

Attaques niveau 4: TCP

Principe:

Consquence:

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

Test sur des routeurs linksys WRT54GS, Cisco catalyst,

Trs utilis pour les connexions en clair (telnet/rlogin)

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

194

Attaque TCP : Desynchronized Connection

Attaque TCP : Desynchronized Connection


Client
Ferme
SYN, Clt Seq=100

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

Attaquant Lu Lu

Serveur
Ecoute SYN reu

Attaques niveau 4: TCP

Attaques niveau 4: TCP

Le vrai client accepte le paquet ACK/SYN et passe en mode connect Pendant ce temps, lattaquant annule la connexion du serveur

SYN envoy Ouverte Clt Seq=101 Svr Seq=500

cf lattaque TCP connection reset envoie un trame RST (reset)

SYN/ACK, Clt Seq=101 Svr Seq=500

RST, Clt Seq=101

Le paquet a les mme paramtres que le datagramme IP ACK/SYN

TCP/IP spoofing
ACK, Clt Seq=101 SvrSeq=501

SYN, Clt Seq=800

Fermeture SYN reu ACK jet

envoie une trame SYN (ouverture de connexion)

Le numro de squence est diffrent

viter le chevauchement de numro de sq.

Lu Lu
SYN/ACK, Clt Seq=801 Svr Seq=700

Le serveur ferme la connexion et en ouvre une nouvelle


gnre un nouveau numro de squence Envoie un paquet SYN/ACK au vrai client

ACK/SYN jet

TCP/IP spoofing

ACK, Clt Seq=801, Svr Seq=701

Lattaquant intercepte le datagramme IP SYN/ACK et envoie une trame ACK au serveur Le client et le serveur sont dsynchronis
Module SSI - 20/11/2005 195

Lattaquant doit utiliser lIP et le TCP spoofing

Ouverte Clt Seq=801 Svr Seq=701

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

196

Attaque TCP : Desynchronized Connection


Attaque TCP : Man In The Middle par dsynchronisation

Dsynchronisation par envoie de messages vides Utile seulement si le protocole accepte les trames vides

But: attaque de lhomme au milieu

Trame vide = trame sans effet sur lapplication Ex: trame IAC NOP sur telnet, trame NOP sur FTP

Attaques niveau 4: TCP

Attaques niveau 4: TCP

Connexion Dsynchronise

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 Le client sera toujours CLT_ACQ CLT_SEQ + T

Lattaquant fait la mme chose sur le client


Module SSI - 20/11/2005 197

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

198

Attaque TCP : Man In The Middle par dsynchronisation

Attaque TCP : Man In The Middle par dsynchronisation

Nous supposons les deux machines dsynchronises Du ct serveur Attaques niveau 4: TCP

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

Attaques niveau 4: TCP

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 serveur comme IP source) On utilise le bon numro de squence (celui attendu par le client)

Rsultat :

Utilisation de lIP spoofing (on insre @IP du client comme IP source) On utilise le bon numro de squence (celui attendu par le serveur)
Module SSI - 20/11/2005 199

Lattaquant change des donnes avec le client et le serveur Permet ventuellement dajouter des donnes De filtrer les commandes et leurs rsultats
Module SSI - 20/11/2005 200

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Attaque TCP : Man In The Middle par dsynchronisation


Client
Ouverte Clt Seq=101 Svr Seq=501

Attaque TCP : Tempte de dsynchronisation


Attaquant

Serveur
Ouverte Clt Seq=801 Svr Seq=701

Tempte dacquittement (The ACK Storm) Si les deux clients sont dsynchroniss Quand un client reoit une trame TCP invalide

Attaques niveau 4: TCP

Attaques niveau 4: TCP

Lu
trame jete Trame OK Clt Seq=101 Svr Seq=561 Clt Seq=141 Svr Seq=561
data1, Clt Seq=101, Svr Seq=501, Taille=60

data1, Clt Seq=701 Svr Seq=701, Taille=60

Il envoie un ACK son pair (le serveur) Le numro dacquittement est faux !

TCP/IP spoofing

Clt Seq=801 Svr Seq=761

Quand le serveur reoit la trame dacquittement invalide


- Il envoie un ACK son pair (le client)

data2, Clt Seq=101 Svr Seq=561, Taille=40

Lu
trame jete
data2, Clt Seq=801, Svr Seq=701, Taille=40

Le numro dacquittement est lui aussi faux ! En thorie cela ne sarrte pas Il faut couper la connexion au plus tt
Module SSI - 20/11/2005 202

TCP/IP spoofing

Le ping pong cest bien mais qui va perdre ?

Trame OK Clt Seq=841 Svr Seq=761

La dsynchronisation doit tre de courte dure !

Lattaquant doit utiliser lIP et le TCP spoofing

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

201

SSI

Legond-Aubry Fabrice

Attaque TCP : Tempte de dsynchronisation

Attaque TCP : Attaques par dsynchronisation

Aprs la tempte, le beau temps ! IP est un service non sr

Solutions :

Des ACK vont se perdre dans la tempte

Attaques niveau 4: TCP

Attaques niveau 4: TCP

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 ! Auto-stabilisation de leffet de tempte

Empcher les usagers inconnus de se connecter au rseau local

Elimination des portables ! Taux derreur, de perte et de retransmission levs Dtection des temptes dACK Ex: SSH Les paquets peuvent tre dsynchroniss et intercepts mais pas interprts (confidentialit) ou modifis (intgrit)
Module SSI - 20/11/2005 204

Dtection des comportement suspects

La tempte va se calmer toute seule

Gnre du trafic non sollicit

Peut rendre lattaquant dtectable !!

Dtection de la charge rseau

Comment lattaquant peut-il empcher la tempte ?


Lattaquant peut minimiser leffet tempte

Utiliser des connexions applicatives scurises


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.


Module SSI - 20/11/2005 203

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Plan de cours

Politiques de filtrages
Le filtrage est un des outils de base de la scurit. IL EST NECESSAIRE ! Filtrage optimiste : PERMIT ALL

Introduction
Parefeu NAT - SSL/TLS Parefeu NAT - SSL/TLS

Tout est permis part quelques services (ports) Facile installer et maintenir

Attaques de niveau 1 Attaques de niveau 2: ethernet Attaques de niveau 3: IP/ICMP IPSEC - VPN Attaques de niveau 4: TCP Parefeu NAT - SSL/TLS IDS et Analyse

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

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

205

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

206

Filtrage sur les routeurs

Filtrage sur les machines clientes

Installer des rgles sur les routeurs pour empcher certains trafic de passer par les routeurs Parefeu NAT - SSL/TLS

Le filtrage doit aussi tre fait aux niveaux des machines Les mme type de politiques peuvent tre appliques

Parefeu NAT - SSL/TLS

Utilisation des Access Lists (Cisco, ...) Le filtrage peut tre fait sur les critres suivants :

Optimistes ou Pessimistes Les mmes critres de filtrages peuvent tre appliqus De nouveau critres peuvent tre ajouts

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 La premire qui correspond est celle slectionne (Fist Matching, First Applied!)

Contrle des utilisateurs et des applications

Problmes :

Attention lordre des rgles

Difficults de maintenance (prvoir un dploiement automatique) Une MAJ doit tre dploye

Une politique doit tre installe


Module SSI - 20/11/2005 207

Doit tre adaptables sur les portables (migration)


Module SSI - 20/11/2005 208

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Firewalls / Routeur

Architecture avec Firewall sans routeur

Diffrence entre un routeur et un firewall

Modle avec double rseau

Un firewall ne fait pas de IP FORWARDING

Pas de routage IP Filtrage applicatif seulement

Parefeu NAT - SSL/TLS

Parefeu NAT - SSL/TLS

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

Firewall

Internet

Implantation

Un matriel spcialis (Cisco PIX, ) Une machine simple avec plusieurs cartes rseaux + logiciels

Firewall 1 (Checkpoint), Raptor, Shorewall (Linux), ...

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

209

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

210

Architecture avec Firewall sans routeur

Architecture avec Firewall et routeur

On donne des adresses IP prives aux machines du rseau

Modle avec Firewall et routage Le firewall est la seule machine visible lextrieur

Exemple : 10.1.1.1, 10.1.1.2

Parefeu NAT - SSL/TLS

Moyen: utilisation d'alias pour les cartes rseau

Parefeu NAT - SSL/TLS

Les serveurs ont aussi une adresse IP publique


ifconfig eth0 10.1.1.4 ifconfig eth0:0 132.227.64.200

Le firewall effectue le contrle daccs Le routeur effectue le routage (translation dadresse) NAT

Les clients ne peuvent pas dialoguer directement avec l'extrieur Passage par des mandataires internes

Firewall

Routeur

Ok pour certains services : smtp, nntp, web, ftp

Internet

Plus compliqu ou impossible pour d'autres (sessions telnet)


Module SSI - 20/11/2005 211

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

212

NAT

Pourquoi faire du 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

Protger ses machines clientes

Les connexions sortantes sont possibles Les connexions entrantes sont interdites

Parefeu NAT - SSL/TLS

Le serveur distant rpond au routeur Le routeur fait suivre les rponses au client

Parefeu NAT - SSL/TLS

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 !
Module SSI - 20/11/2005 213

Firewall

Routeur

Internet

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

214

Pourquoi faire du NAT ?

NAT nest pas la solution ultime !

Parfois, lentreprise na quun nombre limit dadresses IP

Le NAT protge les machines clientes

Elle veut dployer plusieurs services

Mais ils sont contournables !

Parefeu NAT - SSL/TLS

Parefeu NAT - SSL/TLS

Elle vaut faire du load-balancing Le routeur oriente les paquets en fonction dune politique prcise
10.0.76.5 - HTTP 80
Firewall Routeur

Mthodes :

Ping tunneling: Encapsulation des trames TCP dans les paquets ICMP TCP traversing Synchronous SYN TCP/UDP Hole punching

80

53

Internet
53 132.227.64.50

10.0.76.10 - DNS

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

215

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

216

Architecture avec Firewall et double routeurs

Firewall et zone dmilitarise (DMZ)

Architecture double routeur

Architecture DMZ

Un routeur pour les connexions entrantes Un routeur pour les connexions sortantes Le firewall contrle les accs entrants et sortants Parefeu NAT - SSL/TLS

Dcoupage du rseau interne en 2 zones isoles

Parefeu NAT - SSL/TLS

Serveurs accessibles de l'extrieur, situs en zone dmilitarise Postes clients inaccessibles de l'extrieur (situ en zone militarise ) Variantes principales

Routeur

Firewall

Routeur

Internet

Utilisation de deux routeurs Utilisation d'un routeur 3 pattes

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

217

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

218

Firewall et zone dmilitarise : 2 routeurs


DeMilitarized Zone (DMZ)

Firewall et zone dmilitarise : Routeur 3 pattes


Demilitarized Zone (DMZ)

Serveurs Publics

Parefeu NAT - SSL/TLS

Militarized Zone

Parefeu NAT - SSL/TLS

Militarized Zone

Routeur

Firewall

Serveurs Publics

Web

FTP

SMTP/POP3

Web

FTP

SMTP/POP3

Firewall

Internet
Routeur

Internet
Routeur

Utilisation des VLANs pour isoler les rseaux Internes.

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

219

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

220

Firewall et zone dmilitarise

Utilisation des VLANs

Avantages-Inconvnients Routeur 3 pattes


Parefeu NAT - SSL/TLS

Le VLAN permet un regroupement dun ensemble de machines


Parefeu NAT - SSL/TLS

plus conomique, 1 seule machine grer

Permet lisolement du groupe de machine Regroupement par thme (pas par unit physique)

2 routeurs

Configuration plus simple Meilleure scurit 2 tapes successives pour braquer le rseau interne

Niveau de VLAN

Niveau 1 Niveau 2 Niveau 3

port physique sur le routeur adresse MAC de la machine sous-rseau IP ou port du service

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

221

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

222

Firewall, VLAN et zone dmilitarise


VLANs segmentation interne

Format gnral et expressions des rgles


Principe : Des rgles regroupes en chanes Une chaine est

Parefeu NAT - SSL/TLS

Firewall
Access lists

Access lists

Development

Parefeu NAT - SSL/TLS

Un ensemble de rgles Dune cible en cas de concordance qui dois-je faire suivre le paquet De filtres sur ladresse source [IP/Port] paquet qui envoie le qui envoie le

Un rgle est constitue

Router
Config file

Router
Office

Relai Email 132.227 .94.200 Web/FTP

Selling Logs Analysis

De filtres sur ladresse destination [IP/Port] paquet

Remote access (SSH)

Militarized Zone

Doptions (comme ltat de la connexion, lutilisateur)

Ex: La connexion a-t-elle t tablie (ESTABLISHED) auparavant ?

Demilitarized Zone

Applicable la grande majorit des firewalls

Iptables, ipfw, cisco ACL


Module SSI - 20/11/2005 224

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

223

SSI

Legond-Aubry Fabrice

Format gnral et expressions des rgles

Iptables: Firewall + NAT !


PAQUET EXT. PRE-ROUTING ----------------- ROUTING FORWARD Conntrack -------------Mangle Mangle NAT(Dst) Filter Qdist POST PAQUET ROUTING EXT. --------Mangle NAT(src) Conntrack

Rgles de filtrage

SMTP-ENTRANT-1 : Autoriser tous les paquets TCP entrants, @IP destination 132.227.94.200 port 25

Parefeu NAT - SSL/TLS

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 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) 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
Module SSI - 20/11/2005 225

Parefeu NAT - SSL/TLS

SMTP-ENTRANT-2: Autoriser tous les paquets TCP provenant du port 25 de 132.227.94.200.

Problme sur les routeurs sans tat :

INPUT --------Conntrack Mangle Filter MACHINE LOCALE

OUTPUT --------Conntrack Mangle NAT(Dst) Filter MACHINE LOCALE

Solution : routeurs avec tat


SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

226

Iptables: les types de table & les chanes

Iptables: manipulation des chanes

Types de table :

Cration de la chane utilisateur blacklist


iptables -N blacklist

Conntrack Mangle Filter Qdist NAT dst NAT src

Permet de grer les connexions (iptable est statefull) Permet la modification des options des paquets

Suppression de la chane utilisateur blacklist


iptables -X blacklist

Parefeu NAT - SSL/TLS

pour faire de la QoS Changer ladresse [IP/Port] de destination dun paquet Changer ladresse [IP/Port] source dun paquet

Parefeu NAT - SSL/TLS

Permet le contrle des paquets (sources, destinations)

Vider une chane chain ou toutes les chanes


iptables -F [chain]

Fixer le comportement par dfaut de la chane blacklist


iptables -P blacklist DROP

Chanes cibles prexistantes pour les tables :


INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING (f de la table) ACCEPT DROP LOG REJECT Le paquet est accept /dev/null Le paquet est trac dans syslog [fabrique kernel]. Non bloquant ! Le paquet est rejet et le firewall renvoie une erreur ICMP

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

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

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]

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

227

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

228

Iptables : Un exemple de script

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

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

Parefeu NAT - SSL/TLS

#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 CONNEXIONS dj ETABLIES Iptables t filter A INPUT i lo -m state --state ESTABLISHED j ACCEPT #ACCEPTE LES NOUVELLES CONNEXIONS 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

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

229

SSI

Parefeu NAT - SSL/TLS

Legond-Aubry Fabrice

Module SSI - 20/11/2005

230

Iptables: Un exemple de script


#Ne pas faire suivre les paquets Iptable t filter P FORWARD DROP #Interdire toutes les connexions sortantes par dfaut

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)

Parefeu NAT - SSL/TLS

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
Legond-Aubry Fabrice Module SSI - 20/11/2005 231

Parefeu NAT - SSL/TLS

SSI

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

232

Iptables : shorewall

Iptables: Exemple de code Shorewall


Chain INPUT (policy DROP 0 packets, 0 bytes)
target ACCEPT DROP eth0_in Reject LOG reject prot all !icmp all all all all opt ------in lo * eth0 * * * out source destination * 0.0.0.0/0 0.0.0.0/0 * 0.0.0.0/0 0.0.0.0/0 state INVALID * 0.0.0.0/0 0.0.0.0/0 * 0.0.0.0/0 0.0.0.0/0 * 0.0.0.0/0 0.0.0.0/0 ... ... LOG flags 0 level 6 prefix `Shorewall:INPUT:REJECT:' * 0.0.0.0/0 0.0.0.0/0

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

Parefeu NAT - SSL/TLS

Parefeu NAT - SSL/TLS

Chain eth0_in (1 references)


target dynamic net2fw prot opt in all -- * all -- * out * * source 0.0.0.0/0 0.0.0.0/0 destination 0.0.0.0/0 state INVALID,NEW 0.0.0.0/0

Choix des interfaces et des options/zones associes

Chain net2fw (1 references)


target ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT net2all prot all udp tcp udp tcp tcp udp tcp tcp icmp all opt -----------in * * * * * * * * * * * out * * * * * * * * * * * source destination 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 132.227.64.37 0.0.0.0/0 132.227.64.37 0.0.0.0/0 224.0.1.1 0.0.0.0/0 udp dpt:123 132.227.64.0/24 0.0.0.0/0 tcp dpt:111 132.227.64.0/24 0.0.0.0/0 tcp dpts:6000:6010 132.227.64.0/24 0.0.0.0/0 udp dpts:6000:6010 0.0.0.0/0 0.0.0.0/0 tcp dpts:63000:64000 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0.0.0.0/0 0.0.0.0/0 ... ... icmp type 8 limit: avg 3/sec burst 10 0.0.0.0/0 0.0.0.0/0

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

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

233

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

234

Iptables: Voyage dun paquet


TCP SYN de 132.227.64.8 port 22 Chain INPUT (policy DROP 0 packets, 0 bytes)
target ACCEPT DROP eth0_in Reject LOG reject prot all !icmp all all all all opt ------in lo * eth0 * * * out source destination * 0.0.0.0/0 0.0.0.0/0 Match ? Non * 0.0.0.0/0 0.0.0.0/0 state INVALID Match ? Non Match ? oui * 0.0.0.0/0 0.0.0.0/0 * 0.0.0.0/0 0.0.0.0/0 * 0.0.0.0/0 0.0.0.0/0 ... ... LOG flags 0 level 6 prefix `Shorewall:INPUT:REJECT:' * 0.0.0.0/0 0.0.0.0/0

ipfw
IPFW est lanctre de iptables Il est encore trs prsent (FreeBSD, MacOS) Il a trs bonne rputation. Fortement intgr au noyau:

Parefeu NAT - SSL/TLS

Parefeu NAT - SSL/TLS

Le changement dune option oblige la recompilation du noyau Tout un ensemble doption sont disponibles

Chain eth0_in (1 references)


target dynamic net2fw prot opt in all -- * all -- * out * * source 0.0.0.0/0 0.0.0.0/0 destination 0.0.0.0/0 state INVALID,NEW Match ? oui 0.0.0.0/0 Match ? oui

IPFIREWALL_VERBOSE, IPDIVERT,

Chain net2fw (1 references)


target ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT ACCEPT prot all tcp tcp tcp tcp udp icmp opt -------in * * * * * * * out * * * * * * *

Dploiement du firewall: fichier /etc/rc.conf


firewall_enable="YES" firewall_script="/etc/firewall/fwrules" natd_enable="YES" natd_interface="tun0" natd_flags="-dynamic"

Match ? Non source destination 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 Match ? oui 132.227.64.37 0.0.0.0/0 132.227.64.0/24 0.0.0.0/0 tcp dpt:111 132.227.64.0/24 0.0.0.0/0 tcp dpts:6000:6010 132.227.64.0/24 0.0.0.0/0 udp dpts:6000:6010 0.0.0.0/0 0.0.0.0/0 ... ... icmp type 8 limit: avg 3/sec burst 10

Chain dynamic (1 references) vide return

Paquet ACCEPTE
235

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

236

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

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

Parefeu NAT - SSL/TLS

Parefeu NAT - SSL/TLS

# Allow all data from localhost. $fwcmd add allow ip from any 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
..

TLS = Transport Secure Layer


Technologie SSL plus connue et plus exploite que TLS

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

237

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

238

Transport (/ Secure) Socket Layer

Transport (/ Secure) Socket Layer


Ngociation SSL
Client Serveur

Parefeu NAT - SSL/TLS

Parefeu NAT - SSL/TLS

Protocole applicatif

Client Hello [temps,random sur 256bits]

Niveau Application
S S L

Handshake Layer Record Layer Niveau Transport (TCP/IP)

Protocole handshake Protocole Change Cipher Spec

Server Hello [Version,random, sessionID, algos cryptage, algos compression] Phase de Hello CERT [certificat du serveur] Server Key exchange [clef de cryptage du serveur] Optionel (en cas de Serveur non anonyme) Client cert request [certificat du client] Serveur done Phase de lidentification du serveur

Protocole dalerte

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

239

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

240

Transport (/ Secure) Socket Layer


Client
CERT [certificat du client] Optionnel (en cas de Serveur non anonyme)

Transport (/ Secure) Socket Layer

Serveur

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.)
Module SSI - 20/11/2005 242

Parefeu NAT - SSL/TLS

Client Key exchange [clef du client] Certificat verify [certificat du client] Optionnel (en cas de Serveur non anonyme) Phase de lidentification du client Change cipher spec Finished Fin de ngociation client Change cipher spec Finished Fin de ngociation serveur

Parefeu NAT - SSL/TLS


SSI

Vrification du certificat

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

241

Legond-Aubry Fabrice

Plan de cours
Introduction Attaques de niveau 1 Attaques de niveau 2: ethernet
IDS et Analyse

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

Attaques de niveau 3: IP/ICMP IPSEC - VPN Attaques de niveau 4: TCP SSL/TLS Parefeu - NAT IDS et Analyse

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


Module SSI - 20/11/2005 244

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

243

SSI

Legond-Aubry Fabrice

Analyse de log firewall

fwlogwatch : Exemple
fwlogwatch HTML

Fichier de configuration /etc/fwlogwatch.conf :


verbose = yes resolve_hosts = yes servicename resolve_services = yes parser = n src_ip = on dst_ip = on protocol = on src_port = on dst_port = on tcp_opts = on data_amount = yes start_times = yes end_times = yes duration = yes html = yes output = /var/www/fwlogwatch/index.html sender = root@src.lip6.fr recipient = root@src.lip6.f # be verbose # try to get hostname &

# set parser to iptable

Cest joli les premires fois

IDS et Analyse

# show all informations

Mais on se lasse vite

Une fois en place


il faut prendre le temps chaque jour Il faut tre persvrant

# set ouput to html

Si on ne le regarde plus, autant arrter la gnration des comptes rendus


Module SSI - 20/11/2005 246

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

245

SSI

Legond-Aubry Fabrice

Sonde IDS

Sonde IDS

IDS = Intrusion Detection System Utilit des sondes IDS ?


Type de sonde IDS


Sonde rseau

analyse des trames analyse les vnements

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 )

Sonde de machine machines

IDS et Analyse

IDS et Analyse

Sonde applicative analyse un service particulier (peut tre une combinaison de plusieurs machines) Des signatures (comportementales) La dtection danomalies

La dtection se fait par


Pour que la sonde soit efficace


Doit percevoir son environnement Doit limiter ses interactions avec son environnement

Eviter les dtections de la sonde

Certains IDS ont des capacits prprogrammes de ractions


Module SSI - 20/11/2005 248

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

247

SSI

Legond-Aubry Fabrice

Sondes IDS de type rseau

Sondes IDS de type rseau

NIDS = Network based IDS Type de sonde trs employe Caractristiques : IDS et Analyse

Avantages

Peu de sondes bien places peuvent surveiller un large rseau Le dploiement de sonde a peu dimpact sur le rseau existant

IDS et Analyse

Elle coute sur des points stratgiques du rseau

Peu deffort de configuration pour dployer une sonde

Doit recevoir tout le trafic du rseau (dorsale) Penser la brancher sur le routeur dentre et annuler lisolation (ex: VLAN)

Les sondes sont camouflables et bien protges Surcharge possible de la sonde (rseau, CPU)

Inconvnients

On peut segmenter les coutes (plusieurs sondes) Une sonde peut et doit tre fortement scurise

Certaines sondes utilisent un matriel spcifique

Contrle daccs fortement limit Hardened kernels

Certains commutateur bas de gammes noffre pas de ports de surveillance (pas de copie du trafic) Pour linstant pas danalyse de donnes cryptes

Une bonne configuration la rend difficilement dtectable


Module SSI - 20/11/2005 249

Il faudrait connatre toutes les clefs et les protocoles de son rseau


Module SSI - 20/11/2005

Difficult savoir si une attaque russi ou non


250

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Sondes IDS de type Machine

Sonde IDS de type Machine

Sonde IDS de type machine Caractristiques

HIDS (Host based IDS)

Avantages

Dtecte des attaques non dtectables sur le rseau Peut tre utilis dans des environnements crypts Peut tre utilis sur des rseaux commuts

Analyse lactivit systme de la machine sur laquelle elle est dploye

IDS et Analyse

IDS et Analyse

System Integrity Verifier Vrification des modifications apportes sur les fichiers du systme Log file monitor Vrification des traces systmes

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
Module SSI - 20/11/2005 252

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
Module SSI - 20/11/2005 251

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Sondes IDS de type applicative


Sondes IDS : analyse par signatures

Trs proches des sondes machines Souvent confondues avec les sondes machines Caractristiques

Dclenchement sur la dtection dune suite prdfinie dvnements Mthode peu coteuse et efficace Avantages

Encapsule une application

IDS et Analyse

IDS et Analyse

Surveille une application et ses vnements Spcialiser pour chaque type dapplication Trs fine granularit pour analyser des comportements anormaux Analyse les donnes aprs le dcryptage Sensibilit extrme aux attaques Facilement corruptible
Module SSI - 20/11/2005 253

Avantages

Peu de fausses alarmes

Inconvnients

Il faut mettre jour la base de signature Ne dtecte pas toujours toutes les variantes des attaques

Inconvnients

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

254

Sondes IDS : analyse par dtection danomalies

Sondes IDS : rponses automatiques

Identification de comportements anormaux Un bon complment lanalyse par signature Ncessit de dfinir une (la?) normalit IDS et Analyse Fonction dapprentissage des comportements normaux

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

IDS et Analyse

Analyse statistique des comportements

Dtection de dviance vis--vis de la normalit Avantages

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

Dtection dattaques non encore identifies

Inconvnients

Collecte automatique dinformations sur la source

rponse la plus efficace

Produits de nombreuses fausses alarmes Ncessite un apprentissage couteux et long


Module SSI - 20/11/2005 255

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

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

256

Sondes IDS : limitations ?

Sondes IDS : Localisation

Etre conscient des limitations des IDS Difficults destimer les ressources ncessaires

Localisations de dploiement

Ressources CPU/Rseau Ressources humaines pour traiter les alarmes et les MAJ des IDS

Derrire chaque firewall externe Dans le rseau DMZ Devant le firewall frontale (point dentre) Sur les dorsales internes des sous-rseaux

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

IDS et Analyse

IDS et Analyse

Temps extrmement long en informatique Attaque non dtecte possible entre la publication et la MAJ de lIDS Sont souvent ineffectives contre les hackers exprimentes Peuvent gner le trafic lgal

Latence entre la mise jour des bases et le dploiement

Ce sont des conseils !

Les rponses automatiques


Vous devez adapter votre stratgie IDS

Votre rseau Aux ressources financires

Les IDS ne sont pas forcement protgs contre les attaques Les IDS nont pas toujours de GUI et doutils danalyse efficaces
Module SSI - 20/11/2005 257

Cest un domaine encore en phase de R&D


Module SSI - 20/11/2005 258

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Sondes IDS : Localisation

NIDS payants
Network ICE, BlackICE, Win

Auto-update, TCPIP/ARP, SMNP

Network Associate, Cybercop Monitor, Win

Product update, TCPIP, pas SNMP

IDS et Analyse

IDS et Analyse

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

...
Module SSI - 20/11/2005 260

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

259

SSI

Legond-Aubry Fabrice

NIDS gratuits

IDS snort : configuration

Les applications libres


Installation

Snort, Prelude, BroIDS, hogwash Nessus, ettercapNG IDSwakup Argus Nmap, dsniff, kismet Nework logger

Sondes de type rseau

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)

dans le domaine de laudit de vulnrabilits scan rseau

permet de gnrer du trafic rseau anormal

IDS et Analyse

Elles font partie des rfrences incontestables dans leur domaine.

IDS et Analyse

performances parfois suprieures celle dapplications commerciales souvent vendues trs cher. La socit ditrice de Snort vient dtre rachete Lauteur de nessus ne veut plus publier ses sources En attendant mieux ou leurs rcuprations open source

Variable output Permet des dbits plus importants que le texte pur

Problme :

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

Ils sont quand mme dployer car incontournables !

Il faut dployer PLUSIEURS IDS SIMULTANEEMENT !!!!!


Module SSI - 20/11/2005 261

/etc/init.d/snort start
Module SSI - 20/11/2005 262

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

IDS snort : outils

IDS snort : outils

Snort ne fait que tracer les attaques


GUI pour snort

Pas demail Pas de modification des rgles de firewall

HenWen (MacOSX), IDSCenter (Win), SnortCenter (Linux/Win) Guardian, logsnorter, snortlog Getcontact, Hogwas Signature IDS Policy Manager, Snort Webmin Module oinkmaster

Pour iptables

module snortsam ou snort-inline

Maintenance des logs snort:

IDS et Analyse

IDS et Analyse

Pour emailer les alertes snorts

Swatch, IDSCenter, logsurfer

Outils

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)
Module SSI - 20/11/2005 263

Configuration snort

Mise jour des rgles snort

Pour obtenir les modules Snort : http://www.snort.org/downloads.html


Module SSI - 20/11/2005 264

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

IDS snort : Exemple snortsnarf

IDS snort : Exemple snortsnarf


Snortsnarf HTML

Comme fwlogwatch

cest joli les premires fois Une fois en place

Mais on se lasse vite

IDS et Analyse

IDS et Analyse

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
266

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

265

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

IDS snort : Exemple ACID

IDS snort : Exemple ACID

IDS et Analyse

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

267

SSI

IDS et Analyse

Legond-Aubry Fabrice

Module SSI - 20/11/2005

268

IDS: Prelude

IDS: serveur prelude-lml


Log du rseau analyse Envoie au Manager +alertes

Prelude est similaire snort Il est compos de 3 type de serveurs

Un serveur manager sondes

centralise les informations collectes par les

prelude-manager , fichiers /etc/prelude-manager/*

IDS et Analyse

Un serveur sonde NIDS point du rseau

collecte des informations rseaux en un

prelude-nids , fichiers /etc/prelude-nids/*

Un serveur sonde LML machines (les logs)

collecte des informations sur des

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

IDS et Analyse
Log locaux

Les communications entre les sondes et le manager est scuris


Module SSI - 20/11/2005 269

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

270

IDS: serveur prelude-nids


Capture par libpcap analyse Envoie au Manager +alertes

IDS: serveur prelude-manager


Envoie au Manager +alertes

IDS et Analyse

Module rseau

IDS et Analyse

Centralisation +dcision

Tracabilit +contre-mesures

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

271

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

272

IDS Prelude : ajout dune sonde

IDS Prelude : ajout dune sonde

Pour linstallation, les paquetages ncessaires sont


Du cot sonde : -u uid, -s nom sonde, -m ip manager


# sensor-adduser -s sensor-lml -m 127.0.0.1 -u 0 Now please start "manager-adduser" on the Manager host where you wish to add the new user. Please remember that you should call "sensor-adduser" for each configured Manager entry. Press enter when done. Please use the one-shot password provided by the "manager-adduser" program. Enter registration one shot password : sa17bh20 Please confirm one shot password : sa17bh20 connecting to Manager host (127.0.0.1:5553)... Succeeded. Username to use to authenticate : sensor-lml Please enter a password for this user : password Please re-enter the password (comfirm) : password Register user sensor-lml" ? [y/n] : y Plaintext account creation succeed with Prelude Manager.

prelude-manager , prelude-tools prelude-nids , prelude-lml Eventuellement une BD (mysql) et prelude-cm-agent

IDS et Analyse

Pour chaque serveur, pensez au fichier /etc/prelude-xxx/prelude-xxx.conf Pour ajouter une sonde, il faut du ct manager
# manager-adduser Generated one-shot password is "sa17bh20". This password will be requested by "sensor-adduser" in order to connect. Please remove the first and last quote from this password before using it. - Waiting for install request from Prelude sensors...

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

273

SSI

IDS et Analyse

Prelude naccepte pas les donnes de sources inconnues il faut grer un change de clefs

Legond-Aubry Fabrice

Module SSI - 20/11/2005

274

IDS Prelude : rsultats collects

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 ********************************************************************************

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

Protocole de routage multicast CISCO

IDS et Analyse

Mme type de message au dmarrage de prelude-lml

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

275

SSI

IDS et Analyse

Legond-Aubry Fabrice

Module SSI - 20/11/2005

276

IDS Prelude : rsultats collects (LML)


******************************************************************************** * Alert: ident=4042 * Classification type: unknown * Classification: SSH Remote root logging failed Tentative de login * Classification URL: unknown Ssh en root * 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 ********************************************************************************

IDS Prelude : rapport HTML (piwi)

IDS et Analyse

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

277

SSI

IDS et Analyse

Legond-Aubry Fabrice

Module SSI - 20/11/2005

278

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 mois Au moins une fois par
LegondLegond -Aubry Fabrice fabrice.legond- aubry@ufabrice.legond -aubry@u -paris10.fr

IDS et Analyse

SSI
Scurit des Systmes Informatiques Scurit des applications

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

279

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

280

Plan de cours

Des attaques varies


Quand un programme interagit avec son environnement

Introduction Attaques gnriques de services Attaques spcifiques de services


Introduction Introduction

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 !

Backdoors / Rootkits / Trojans Outils gnriques de protection Audit et check-list

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 Cross scripting Attaque Virus HTML

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

281

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

282

Des attaques varies

Une journe ordinaire de Mr ROOT

On constate des classes dattaques sur les services. Elles sont gnriques

Voici les avis publi le 10 janvier 2006 :

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


Module SSI - 20/11/2005 283

[cert-renater] [AVIS CERTR : OpenBSD: Patch fixes suid /dev/fd access check] [cert-renater] [AVIS CERTR : Mandriva Linux: Updated xpdf packages fix several [cert-renater] [AVIS CERTR : RedHat: httpd security update] [cert-renater] [AVIS CERTR : Debian: New smstools packages fix format string v [cert-renater] [AVIS CERTR : Ubuntu: sudo vulnerability] [cert-renater] [AVIS CERTR : Gentoo: VMware Workstation Vulnerability in NAT n [cert-renater] [AVIS CERTR : SCO: LibXpm Integer Overflow Vulnerability] [cert-a] [AVIS CERTA : Vulnrabilit dans ClamAV] [cert-a] [AVIS CERTA : Vulnrabilit du module mod ssl dans Apache 2] [cert-a] [AVIS CERTA : Multiples vulnrabilits dans postgreSQL] [cert-a] [AVIS CERTA : Vulnrabilit dans auth ldap pour Apache]
Legond-Aubry Fabrice Module SSI - 20/11/2005 284

Introduction

SSI

Legond-Aubry Fabrice

SSI

Introduction

Les mthodes de protections

Plan de cours
Introduction
g Attaques g nriques de services

Des protections contre ces attaques existent

Des outils de contrle dynamiques

libsafe, lids, systrace, TCPwrapper

Des outils disolation et de virtualisation

Attaques gnriques de services Attaques spcifiques de services Backdoors / Rootkits / Trojans Outils gnriques de protection Audit et check-list

vmware, vserver, uml, chroot

Des audits automatiques de code

Introduction

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


Module SSI - 20/11/2005 285

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

286

Attaques par execv

Attaques par dbordement


Attaque trs simple base sur un appel exec mal protg

Terme anglais : buffer overflow ou bof Principes

Des programmeurs imprudents : Pas de chemin absolu ! execve ( ls ,NULL,NULL)

g Attaques g nriques de services

g Attaques g nriques de services

Il suffit de faire en sorte que le programme excute son propre ls

Un exec modifi cest mieux !

Etre capable dexcuter un code arbitraire travers un autre programme


Si le programme appartient root et a le bit suid 1, le ls sera excut avec les droits root Exemple
echo xterm & ls > /tmp/ls EXPORT PATH=/tmp:$PATH ./programme_mal_ecrit

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

Solution :

Consquences

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
287

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
Module SSI - 20/11/2005 288

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Attaques par dbordement

Attaques par dbordement - Solutions

Cest un problme majeur

Une bonne programmation cest :

Il nest pas ENCORE dmod !! Mais en perte lgre de vitesse. Des nombreux (tous ?) services ont dj t affects

g Attaques g nriques de services

g Attaques g nriques de services

Eviter les manipulations sans contrle

BANNIR strcpy(), get(), strcat() ATTENTION AUX sprintf(), vsprintf(), scanf() Utilisation de strcpy() Utilisation de gets() strncpy() fgets()

HTTP (apache, iis), ftp (proftpd, ftpd) imap (TOUS) , smtp (sendmail), syslog Tous les systmes UNIX/linux/Windows Eject, rsync, rdist, cvs, mount

De nombreuses commandes ont dj t affectes


Utiliser des librairies spciales

Vrification systmatiques des bornes

Laisse peu de traces (arrt du service) De nombreux scripts CGI, pages php/asp/jsp Ils sont mal conus/penss par des personnes non spcialistes Pourrait tre facilement vit !

Utiliser des versions spciales de malloc()

Vrification des allocations et des bornes

Les serveurs Web sont particulirement exposs


Utiliser des librairies de debug pour vrifier le programme

Dbmalloc, checker, LeakTracer,

Purger lenvironnement dexcution ! Cration de nouvelles limitations sur le processus Interdiction dinvocation de fork() et/ou dexec()
Module SSI - 20/11/2005 290

Essentiellement du de mauvaises habitudes de programmation

Modification du noyau

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

289

SSI

Legond-Aubry Fabrice

Attaques par dbordement

Attaques par dbordement de Pile : principes


0x0000 Execution Stack

g Attaques g nriques de services

Excuter par des utilisateurs normaux mais devant conserver les droits root

g Attaques g nriques de services

Concerne les programmes sexcutant avec les droits root (user/group) et avec le bit suid

SP

Sous MacOS X, on peut corrompre des programmes ayant comme propritaire admin ou root Prologue
find find find find find echo

trouver ces programmes

Void foo( int a, char *s) { int x; char buffer[20]; strcpy( buffer, s); }

SP+4

Function Local Variables

/bin -user root -perm +a=s > suid.lst /sbin -user root -perm +a=s >> suid.lst /usr/bin -user root -perm +a=s >> suid.lst /etc -user root -perm +a=s >> suid.lst /var -user root -perm +a=s >> suid.lst "see in suid.lst for the list..."

Return Address Function Parameters

0xffff

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

291

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

292

Attaques par dbordement de Pile : principes


0x0000 Execution Stack

Attaques par dbordement de Pile : principes


0x0000 Execution Stack

g Attaques g nriques de services

g Attaques g nriques de services

SP

Void foo( int a, char *s) { int x; char buffer[20]; strcpy( buffer, s); }

SP SP+4 Function Local Variables

Void foo( int a, char *s) { int x; char buffer[20]; strcpy( buffer, s); }

SP+4

Function Local Variables

Return Address Function Parameters

But:
Transmettre une chaine s provoquant un dbordement au sein de lespace des variables locales Ecrasement de ladresse de retour
Legond-Aubry Fabrice

Return Address Function Parameters

0xffff

0xffff
Module SSI - 20/11/2005 294

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

293

SSI

Attaques par dbordement de Pile : droulement sur x86


Execution Stack @0x0000

Attaques par dbordement de Pile : droulement sur x86


Execution Stack @0x0000

g Attaques g nriques de services

SP = @0x1000 Function local Variables Function Foo() 4 Bytes Return Address Function Parameters SP + d

g Attaques g nriques de services

SP = @0x1000

Int i 4 bytes buffer 20 bytes

Function local Variables

Function Foo()

4 Bytes

Return Address Function Parameters

Void Foo(char * string) { char buffer[20]; int i; ... }

SP + d

Stack Direction

Stack Direction

@0xFFFF

@0xFFFF
Module SSI - 20/11/2005 295

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

296

Attaques par dbordement de Pile : droulement sur x86


Execution Stack @0x0000

Attaques par dbordement de Pile : droulement sur x86


Crer un chane string (~200 o.) telle que :

Execution Stack @0x0000 SP = @0x1000

g Attaques g nriques de services

g Attaques g nriques de services

SP = @0x1000 Function Foo()

Int i 4 bytes buffer 20 bytes

Function local Variables

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

Int i 4 bytes buffer 20 bytes

4 Bytes

Return Address overwrite

4 Bytes Function Foo() SP + d

Return Address overwrite

Void Foo(char * string) { char buffer[20]; int i; ... strcpy( buffer, string) ... }

SP + d

Stack Direction

Stack Direction

@0xFFFF

@0xFFFF
Module SSI - 20/11/2005 298

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

297

SSI

Attaques par dbordement de Pile : droulement sur x86


Execution Stack @0x0000

Attaques par dbordement de Pile : droulement sur x86


Execution Stack @0x0000

g Attaques g nriques de services

g Attaques g nriques de services

SP = @0x1000 Function Foo()


Void Foo(char * string) { char buffer[20]; int i; ... strcpy( buffer, string) ... }

Int i 4 bytes buffer 20 bytes

SP = @0x1000 Function Foo() Local vars Return Address

Int i 4 bytes buffer 20 bytes

Function local Variables

NOP (trop nombreux) 4 Bytes ShellCode

4 Bytes
Shellcode

RET @shellcode

CRASH

SP + d
Stack Direction

SP + d

Adresse de saut (nombreux)

@0xFFFF NOP (nombreux)


Legond-Aubry Fabrice

@0xFFFF

ShellCode

Adresse de saut (nombreux)


299

SSI

Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

300

Attaques par dbordement de Pile : droulement sur x86


Execution Stack @0x0000

Attaques par dbordement de Pile : droulement sur x86


Execution Stack @0x0000

g Attaques g nriques de services

SP = @0x1000 Function Foo() Local vars Return Address

g Attaques g nriques de services

Int i 4 bytes buffer 20 bytes

SP = @0x1000 Function Foo() Local vars Return Address

Int i 4 bytes buffer 20 bytes

NOP (nombreux) 4 Bytes ShellCode Adresse de saut (nombreux)

NOP (nombreux) ShellCode 4 Bytes Adresse de saut (nombreux)

CRASH

SP + d

SP + d

@0xFFFF

@0xFFFF

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

301

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

302

Attaques par dbordement de Pile : le ShellCode

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

On dsigne sous le terme de shellcode un code permettant la cration dun shell.

g Attaques g nriques de services

On crit le code C
#include <stdio.h> void main() { char *name[2]; name[0] = "/bin/sh"; name[1] = NULL; execve(name[0], name, NULL); }

g Attaques g nriques de services


SSI

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)

System Call setuid()

On obtient le code assembleur par


gcc -o shellcode -ggdb -static shellcode.c gdb shellcode

Arguments of execve()

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

System Call execve()

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


Module SSI - 20/11/2005 303

int execve(const char *filename, char *const argv [], char *const envp[]);
Legond-Aubry Fabrice Module SSI - 20/11/2005 304

SSI

Legond-Aubry Fabrice

Attaques par dbordement sur le TAS

Attaques par dbordement sur le TAS

De plus en plus de dveloppeur dOS fournissent des patches pour les bofs

Empche lexcution de code dans la pile

g Attaques g nriques de services

Cest un overflow qui sattaque aux donnes alloues dynamiquement (TAS) Le TAS sert stocker les donnes dynamiques manipules

g Attaques g nriques de services

dveloppement des Heap Overflow ( hof )

Les donnes du TAS peuvent contenir des pointeurs


Ils peuvent tre corrompus Les donnes peuvent tre corrompues

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

Exemple :

Ncessite une connaissance approfondie du systme

Comment sont allouer les blocs de mmoire ?

Corruption dune structure utilise pour un setuid Corruption dune chane de nom de fichier Corruption dun pointeur de fonction

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

Pour pointer sur une fonction libc Pour pointer sur un ShellCode contenu sur le tas, la pile
Module SSI - 20/11/2005 306

Faille GDI+, Faille WMF, Faille WMV

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

305

SSI

Legond-Aubry Fabrice

Attaques par dbordement sur le TAS : GNU C


Heap @0x0000

Attaques par dbordement sur le TAS : GNU C


Heap @0x0000

g Attaques g nriques de services

Free mem previous chunk

g Attaques g nriques de services

Free mem previous chunk prev_size size data


Void Foo(char * string) { char * buffer; ... buffer = malloc (16); ... free(buffer) }

Void Foo(char * string) { char * buffer; ... buffer = malloc (16); ... free(buffer) }

chunk Free mem next chunk

chunk real data next chunk

prev_size size data prev_size size data Free mem

Free mem

@0xFFFF

@0xFFFF
Module SSI - 20/11/2005 307

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

308

Attaques par dbordement sur le TAS : GNU C


Heap @0x0000

Attaques par dbordement sur le TAS : GNU C


Heap @0x0000

g Attaques g nriques de services

Free mem previous chunk


prev_size size data prev_size Void Foo(char * string) { char * buffer; ... buffer = malloc (16); ... free(buffer) } size fd bk garbage

g Attaques g nriques de services

But:

Free mem previous chunk


prev_size size data

Corrompre fd et bk Corrompre un autre bloc de donnes

chunk

prev_size size fd bk garbage

next chunk

Moyen

prev_size size data

Crer un buffer overflow


@0xFFFF

next chunk

prev_size size data

Free mem @0xFFFF

Free mem

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

309

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

310

Attaques par dbordement sur le TAS : GNU C


Heap @0x0000

Attaques par dbordement sur le TAS : GNU C


Heap @0x0000

g Attaques g nriques de services

g Attaques g nriques de services

Free mem previous chunk prev_size size data


Void Foo(char * string) { char * buffer; ... buffer = malloc (16); strcpy (buffer,string); ... free(buffer) }

Block libre previous chunk


Void Foo(char * string) { char * buffer; ... buffer = malloc (16); strcpy (buffer,string); ... free(buffer) } prev_size size data

chunk real data next chunk

prev_size size data prev_size X size data Free mem

chunk

prev_size size data prev_size size

X X X X

X X

next chunk

fd bk garbage

Block libre @0xFFFF

@0xFFFF

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

311

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

312

Attaques par dbordement sur un espace rduis

Attaques par corruption de chane de texte

En cas despace local trop faible pour stocker le code g Attaques g nriques de services

String Format attack Caractristiques


g Attaques g nriques de services

Il est possible de stocker le code ailleurs en mmoire

En particulier dans lenvironnement du processus Le processus hrite de lenvironnement

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

De faire pointer ladresse de retour sur ce code

Il existe de nombreuses variantes

des variantes moins dtectables par les IDS !

En particulier utilisation du format %n

Voir les codes polymorphes (auto-mutable)

Il sagit la aussi de mauvaises habitudes de programmation

Le ShellCode peut aussi servir (quelques ides en lair):


Mthode incorrecte: printf(string);


Copier /bin/sh en /tmp/monshell et faire un suid Ouvrir un shell connect une socket rseau
Module SSI - 20/11/2005

Un exemple trs simple dinstruction dangereuse Si string = %s%s%s%s%s , 99% de chance de crash

Mthode correcte: printf("%s", string);


Module SSI - 20/11/2005 314

SSI

Legond-Aubry Fabrice

313

SSI

Legond-Aubry Fabrice

Attaques par corruption de chane de texte

Attaques par fichier interpos

Il existe des exemples plus complexes

Exploitation de droits mal dfinis sur des fichiers Peut tre couple avec une attaque de type race condition Le meilleur exemple : /tmp

g Attaques g nriques de services

g Attaques g nriques de services

{ char outbuf[512]; char buffer[512]; sprintf (buffer, "ERR Wrong command: %400s", user); sprintf (outbuf, buffer); }

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 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 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
Module SSI - 20/11/2005 316

Code apparemment anodin


user="%497d\x3c\xd3\xff\xbf<nops><shellcode>" Lors du premier sprintf Lors du second sprintf


Le but

copie normale dans buffer le contenu de buffer est interprt

%497d

prend la premire valeur de la pile et gnre une chane dpassement de capacit avec le formatage de la chane

La taille : 497 caractres + longueur( ERR Wrong command : ) Cest suprieur 512

Exemple (dsuet) :

Le but ultime

reproduire un bof avec le formatage printf

Cf. exemple prcdent

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

315

SSI

Legond-Aubry Fabrice

Attaques par course de vitesse

Attaques par course de vitesse

Principe :

Systme multitches (de nombreux processus) Profiter du systme un instant o il est vulnrable

TOCTTOU = Time Of Check To Time Of Use

g Attaques g nriques de services

Exploit moins difficile raliser que lattaque par dbordement Il suffit de runir les conditions pour que cela arrive

g Attaques g nriques de services

Exploitation de la latence une mesure et son utilisation

Changer les conditions dexcutions pendant lexcution dun programme

Applicable aux fichiers (en particulier aux fichiers sur /tmp) Les scripts de par leur lenteur (langage interprt) y sont trs sensibles

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 :

Obtention des informations par logiciels simples et analyse des logs produits

Obtenir les droits root Accder aux informations manipules par le service Empcher le fonctionnement correct du service Bloquer le travail des autres utilisateurs

strace (appels systmes), ltrace (appels dynamiques), nm (liste des symboles externes)

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

317

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

318

Attaques par course de vitesse : exemple passwd

Attaques par course de vitesse : exemple passwd

Erreur sur HP/UX et SunOS, avec passwd Droulement normal des oprations
1. 2. 3. 4. 5.

g Attaques g nriques de services

g Attaques g nriques de services

Programme Suid puisque doit modifier /etc/passwd Ouverture et lecture du fichier /etc/passwd obtention de lentre utilisateur Cration et ouverture dun fichier ptmp dans le rpertoire du fichier passwd Ouvrir nouveau le fichier /etc/passwd et copier le contenu dans ptmp (en mettant jour lutilisateur). Fermer le fichier passwd , ptmp Renommer (pour remplacer) le fichier passwd par ptmp

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 ?

Le programme passwd peut travailler sur un fichier spcifi


Module SSI - 20/11/2005 319

En sinsrant entre les manipulations de passwd


Module SSI - 20/11/2005 320

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

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 :::::

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

g Attaques g nriques de services

1.

Ouverture et lecture du fichier ~attaquant/link/.rhosts obtention de lentre utilisateur


A. Lattaquant change le lien symbolique : ~attaquant/link ~cible

g Attaques g nriques de services

Course leffacement

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

tmpwatch

lstat, vrifie la date, unlink interruption possible entre lstat et unlink

Systme multitche

1re Attaque possible

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

On enlve le fichier aprs le lstat et on cre un lien avant le unlink

2me 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

4. 5.

Fermer le fichier passwd , ptmp


A. La fermeture nutilise pas le lien symbolique mais travaille sur le descripteur

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

Un exemple

logrotate stocke ses scripts post/pre-rotate dans des fichier /tmp/logrotate.XXXXXX

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

321

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

322

Attaques par course de vitesse : Solution au TOCTOU

Attaques par course de vitesse : Solutions au TOCTOU

Eviter lutilisation de fichier autant que possible (surtout dans les scripts shell)

Changer les droits du processus

g Attaques g nriques de services

Le bit s est interdit sur les scripts

TROP DANGEREUX !

g Attaques g nriques de services

Apprendre utiliser setuid/getuid/setreuid

Utiliser les fonctions fchown, fstat, fchmod


Lors de la cration dun fichier

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

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

Faites attention aux manipulations du FS pendant un parcours en rcursion Utilisation des verrous POSIX ( fcntl ) Mthode de verrouillage obligatoire

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
Module SSI - 20/11/2005 323

Pour chaque lecture/criture, on vrifie le verrou Problme en cas de crash du service


Module SSI - 20/11/2005 324

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Plan de cours
Introduction
sp Attaques sp cifiques de services sp Attaques sp cifiques de services

Attaques sur DNS cache poisoning par spoofing

Attaques gnriques de services Attaques spcifiques de services Backdoors / Rootkits / Trojans Outils de protection Audit et check-list

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
Legond-Aubry Fabrice Module SSI - 20/11/2005 326

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

325

SSI

Attaques sur DNS cache poisoning


Corruption Locale (bof) Serveur primaire DOS Corruption de trafic

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

sp Attaques sp cifiques de services

zones MAJ Serveur rcursif Client (resolveurs)

sp Attaques sp cifiques de services

ID

Options

Question

Rponse

divers

Usurpation du serveur primaire Fausses infos

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

Serveur secondaire

Pollution des cache

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

327

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

328

Attaques sur DNS cache poisoning par spoofing

Attaques sur DNS : birthday attack

Si, on ne peut pas sniffer, lattaquant peut essayer de prdire lID pour engendrer une attaque Sous Windows 95
Mthode 1

Il est difficile de deviner lID dune requte (1/216)

1 requte et X rponses spoofes en temps trs limit Attaque bas sur un paradoxe apparent :

p = X / 216

sp Attaques sp cifiques de services

LID est le nombre de req. DNS en cours ! Nombre alatoire puis incrmental

sp Attaques sp cifiques de services

Birthday paradox attack !!!

Bind ancienne version

sur une classe de 23 lves ou plus, la probabilit que 2 lves soient ns le mme jour est suprieure

Il suffit dune requte sur un DNS sniffable pour obtenir le point de dpart !

Technique applique au DNS


1.

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

Envoi de N requtes un serveur cache portant sur la mme demande (www.exemple.com) associs N IDs diffrents Transfert des N requtes vers le serveur autoritaire du domaine exemple.com DoS sur le serveur autoritaire pour le ralentir Envoi de N rponses forges associes N IDs diffrents par l'attaquant la probabilit de succs de lattaque 1-(1-1/t)N(N-1)/2 p=.4956 soit ~1/2
Module SSI - 20/11/2005 330

2.

3. 4.

Si N messages (~300) , t=le nombre de possibilits (216)


Et si cest alatoire ?
Module SSI - 20/11/2005 329

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Attaques sur DNS : protection DNSsec

Attaques sur DNS : solutions


Amliorer lalatoire de lID (espace des nombres) Split-Split DNS

sp Attaques sp cifiques de services

sp Attaques sp cifiques de services

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) Autoriser requtes rcursives sur votre domaine seulement

Un serveur cache DNS priv

Dploiement de DNSSec
Module SSI - 20/11/2005 332

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

331

SSI

Legond-Aubry Fabrice

Attaques sur DNS : solution DNSsec et TSIG

Attaques sur DNS : solution DNSsec et TSIG

Scurit des donnes et des transactions (MAJ) sp Attaques sp cifiques de services Architecture de distribution des clefs

Scurit des donnes (DNSSec, RFC 4033 4035)


sp Attaques sp cifiques de services

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

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
Module SSI - 20/11/2005 333

SIG

pour les signatures et KEY

pour les clefs prives

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

334

Attaques FTP : FTP servers bounce

Attaques FTP : FTP servers bounce

sp Attaques sp cifiques de services

sp Attaques sp cifiques de services

Le protocole FTP spare le canal de contrle (21) et le canal de tlchargement.

La commande PORT

permet de tester le rseau PORT 192,168,0,5,0,93 LIST 425 Cant build DATA

Il est possible dimposer au FTP une adresse spcifique PORT aa,bb,cc,dd,pp,qq (pp,qq) ip(aa.bb.cc.dd), port

SYN port 93 RST Cible 192.168.0.5

Source (Client) 192.168.0.8

Serveur FTP 192.168.0.7

Cette option permet de contourner les limitations de tlchargement sur les IP

Permet douvrir une connexion sur une machine PORT 192,168,0,5,0,135 LIST 226 Tranfert complete SYN port 135 ACK+SYN ACK Cible 192.168.0.5
336

Fichiers protgs par la loi sur lexportation US

Mais il permet plus !


Module SSI - 20/11/2005 335

Source (Client) 192.168.0.8


Legond-Aubry Fabrice

Serveur FTP 192.168.0.7


Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

SSI

Attaques FTP : FTP servers bounce

Attaques WEB : CGI scripts

nmap inclus mme ce type de scan


# nmap -v -b anonymous:anon@192.168.0.7 192.168.0.5

Attention aux variables reues par les scripts Cest le danger des scripts ! Exemple PERL nmap.pl :
#!/usr/bin/perl # Simple CGI script to let web users run # an nmap scan from their web browser # using a GET request $server = $ENV{'QUERY_STRING'}; DANGER @scan = `nmap $server`; foreach $line (@scan) { print "$line"; }

sp Attaques sp cifiques de services

Resolved ftp bounce attack proxy to 192.168.0.7 (192.168.0.7). Attempting connection to ftp://anonymous:anon@192.168.0.7:21 Connected:Login credentials accepted by ftp server! Initiating TCP ftp bounce scan against 192.168.0.5 at 20:37 Scanned 1663 ports in 9 seconds via the Bounce scan. Host 192.168.0.5 appears to be up ... good. Interesting ports on 192.168.0.5: (The 1659 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 6969/tcp open acmsoda MAC Address: 00:11:43:43:A8:34 (Dell (WW Pcba Test)) Nmap finished: 1 IP address (1 host up) scanned in 20.602 seconds Raw packets sent: 2 (68B) | Rcvd: 1 (46B)

sp Attaques sp cifiques de services

A partir de l, il est possible denvoyer un fichier sur un serveur


Il suffit de disposer dun fichier contenant des commandes Buffer overflow sur des services locaux non accessibles de lextrieurs

Utilisation de 127.0.0.1 sur des implantations FTP bugges

Exemple nmap.pl : %3B= ; et %6C= l


Module SSI - 20/11/2005

http://server.com/nmap.pl?w%77w.ya%68%6Fo.com%3B%6Cs
Legond-Aubry Fabrice 338

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

337

SSI

Attaques WEB : CGI scripts

Attaques WEB : CGI scripts

Exemple PERL display.pl :


sp Attaques sp cifiques de services
#!/usr/bin/perl $file = $ENV{'QUERY_STRING'}; open(myfile, "$file"); DANGER @myfile = <myfile>; foreach $line (@myfile) { print "$line"; } close(myfile);

Poison NULL byte

sp Attaques sp cifiques de services

Exemple PERL :
$pageurl= $realpath . $DATA{ 'adPath' } . ".html"; open(FILE,"$pageurl")||die "can't open $pageurl: $!\n"; @lines= <FILE>; close( FILE );

Si le nom de fichier est ls|


Excution de code arbitraire

excution de ls

Si adPath=/../../../../../etc/passwd%00, on peut faire pointer $pageurl sur le fichier /etc/passwd Exemple PHP :
if($user && $password) { $ok=check_password($user,$password); // Returns 1 if password matches that of the user }

Variables non initialises et par dfaut

Si le serveur est root, alors danger !!!


Si open(f,

/toto/$file")

alors ../bin/ls|

Exemple display.pl :
http://server.com/display.pl?%6Cs%7C
Module SSI - 20/11/2005 339

On suppose ici que ok vaut 0 par dfaut mais


http://server.com/ex.php?ok=1

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

340

Attaques WEB : CGI scripts

Attaques WEB : Cross-Site Scripting

Solution : Filtrage systmatique des donnes


CSS = Cross Site Scripting CSS renomm en XSS pour viter la confusion

sp Attaques sp cifiques de services

sp Attaques sp cifiques de services

Suppression \0 dans les variables Escaping des caractres dangereux (; devient \;) La liste des caractres est &;`'\"|*?~<>^()[]{}$\n\r espace

CSS = Cascading Style Sheet Elles interviennent lorsquun attaquant arrive a obtenir des informations sur un utilisateur

Exploitation de la dynamicit des sites pour organiser des attaques CSS

Solution : Initialiser la main toutes vos variables ! Eviter les appels systmes Certains langages ont des modules de scurit

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

Perl taint module ( perl T ) PHP stocke les variables CGI dans $_POST,
Module SSI - 20/11/2005 341

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

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

342

Attaques WEB : Cross-Site Scripting

Attaques HTTP : mauvaise configuration HTTP

Un exemple ? Script de recherche

Listing automatique des rpertoires

Lors dune recherche, on raffiche souvent le texte cherch Si on oublie dappliquer le filtrage sur la chane transmise Lors de laffichage du rsultat, une pop-up apparatra Poster un message contenant des balises <SCRIPT>, <OBJECT>, <APPLET>, <EMBED> Utiliser comme url dimage de son avatar de forum un script PHP ! Attaque par image

Obtention de codes sources abandonns Facilite lintuition de noms de fichiers Permet lextension de la visibilit sur le seveur Mieux vaut utiliser des aliases Insertion de valeurs par le serveur Danger Danger <!--#exec cgi="/cgi-bin/baratin.pl" --> les utilisateurs ne savent pas programmer !

sp Attaques sp cifiques de services

sp Attaques sp cifiques de services

http://www.example.com/search.pl?text=<script>alert(document.cookie)</script>

Suivi de lien symbolique


Un autre exemple : les forums

Server side include


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

Homepages personnelles

Voir les lments DOM affichables !

Attention en cas de MAJ par FTP !

document.cookie , document.location.replace

On ajoute des trous de scurits

Solution : cf. avant


Module SSI - 20/11/2005 343

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

344

Attaques HTTP : response splitting

Attaques WEB cache poisoning : attaques HTTP

Le but est de faire de lempoisonnement de cache WEB sp Attaques sp cifiques de services Le moyen est dessayer de sinsrer entre les enttes HTTP et le contenu du fichier HTML.

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

sp Attaques sp cifiques de services

En particulier lors des redirections.

Exemple basique en JSP (voir VOS tp mdoc !!)


<% response.sendRedirect("/by_lang.jsp?lang="+ request.getParameter("lang")); %>

Addresse forge

Si vous passez par un proxy cache


/redir_lang.jsp?lang=foobar%0d%0aContentLength:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContentType:%20text/html%0d%0aContentLength:%2019%0d%0a%0d%0a<html>Shazam</html>
Legond-Aubry Fabrice Module SSI - 20/11/2005 345

Vous pouvez corrompre le proxy cache Vous pourrez voler de linformation Dtourner le trafic des clients du proxy vers une autre @IP
Module SSI - 20/11/2005 346

SSI

SSI

Legond-Aubry Fabrice

Attaques SQL : SQL injection

Attaques SQL : SQL injection

Obtention dinformations dans la base

Injection dinformations dans la base

sp Attaques sp cifiques de services

mySQL="SELECT LastName, FirstName, Title, Notes, Extension FROM Employees WHERE (City = " & strCity & " )"

sp Attaques sp cifiques de services

Requte SQL

Requte SQL

SQLString = "INSERT INTO TableName VALUES ('" & name & "', '" & email & "', '" & phone & "')"

Valeur des variables

On remplit les champs avec

Name: ' + (SELECT TOP 1 FieldName FROM TableName) + ' Email: blah@blah.com Phone: 333-333-3333

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 ( = )
Module SSI - 20/11/2005 347

Lappel la requte SQL donne

INSERT INTO TableName VALUES ('' + (SELECT TOP 1 FieldName FROM TableName) + '', 'blah@blah.com', '333333-3333')
Module SSI - 20/11/2005 348

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Attaques : Trojan / Virus

Plan de cours
Introduction Attaques gnriques de services
Backdoors/ Backdoors /Rootkits

Les trojans et les virus sont des programmes :


sp Attaques sp cifiques de services

Malicieux et dormants Qui permettent dobtenir des droits root Qui peuvent se rpliquer Qui peuvent sajouter un programme valide Attendre que root excute le Trojan / Virus Emuler (en apparence) un logiciel dauthentification et transmettre les informations

Attaques spcifiques de services Backdoors/Rootkits Outils de protection Audit et check-list

Moyen :

Ex: login, ssh Enchane le trojan programme avec le vrai

Flouer lutilisateur par un programme par email Automatisation dune attaque sur un service
Module SSI - 20/11/2005

SSI

Legond-Aubry Fabrice

349

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

350

Portes drobes (Backdoors)

Portes drobes (Backdoors)

But

Moyens :

Pouvoir revenir sur une machine mme aprs scurisation Revenir en laissant le moins de traces possibles

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

Backdoors/ Backdoors /Rootkits

Backdoors/ Backdoors /Rootkits

Revenir rapidement (sans avoir exploiter une faille de scurit)

Eviter de le mettre dans /tmp (purge tmpwatch)

Portes drobes simples


Modifier un service xinetd ou inted


daytime stream tcp nowait /bin/sh sh i

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)

Ajouter une entre dans la crontab


0 0 * * * /usr/bin/trojancode

Activer un compte pendant une minute

Un alias sendmail (dans le fichier /etc/sendmail)


decode: " |/usr/bin/uudecode"
echo "+ +" | /usr/bin/uuencode /root/.rhosts | mail decode@target.com

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

351

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

352

Portes drobes (Backdoors)


Moyens (suites)

De lart du camouflage !!

Insertion dun hook dans un programme suid


Obtenir les parametres; si un des paramtres une valeur spciale crer un xterm root sinon faire le traitement habituel

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
Module SSI - 20/11/2005 354

Backdoors/ Backdoors /Rootkits

Utilisation de /dev/kmem pour changer uid/gid Le mail rgulier de /etc/passwd ou ypcat par crond Installation dun service (root) qui peut

Backdoors/ Backdoors /Rootkits

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, xterm par 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)

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

353

SSI

Legond-Aubry Fabrice

De lart du camouflage !!

Camouflage : Manipulation des fichiers de logs utmp

Lobjectif suivant est donc de camoufler ces traces aux utilisateurs (root inclus) !! But :
Backdoors/ Backdoors /Rootkits

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 !

Backdoors/ Backdoors /Rootkits

Camoufler au systme (et aux utilisateurs) la prsence dlments indsirables Manipuler les fichiers de logs Remplacement des fichiers sur la machine Insertion de modules noyaux modifiant le comportement du systme ! LKM = Loadable Kernel Modules
Module SSI - 20/11/2005 355

Voir le source code pour modifier utmp


http://www.phrack.org/show.php?p=25&a=6

Moyen :

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 !

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

356

Camouflage : Manipulation des programmes

Camouflage : Loadable Kernel Modules (LKM)

Modification des programmes de base unix (core utils)

Les modifications prcdentes sont assez facilement dtectables

ls, du, find crontab, killall, kill netstat, ps, ifconfig, pidof, top Backdoors/ Backdoors /Rootkits

Voir la section outils de protections Tripwire, utilisation dune copie des utilitaires

Backdoors/ Backdoors /Rootkits

Le plus efficace est dagir au niveau noyau


Modification des dmons de log

Utilisation de noyaux chargeables Permet un contrle quasiment complet du systme

syslogd (noyau), tcpd (connexions)

Les appels systmes peuvent tre intercepts /usr/include/sys/syscall.h (execve, sync, stty, )

Ajout de faux devices dans /dev pour les processus modifier et leur configuration Purge partielle des fichiers de log (/var/log)
Module SSI - 20/11/2005 357

Permet un camouflage plus efficace

Tous les programmes sont affects sans tre modifis !

Complexe et extrmement systme dpendant


Module SSI - 20/11/2005 358

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Camouflage : Loadable Kernel Modules (LKM)

Camouflage : patch des Loadable Kernel Modules

Plusieurs possibilits soffrent lattaquant


Chaque module noyau contient des fonctions standards

Insrer un nouveau module noyau Modifier un module noyau

init_module, cleanup_module

Lors du chargement, le systme excute le code sys_init_module qui


Backdoors/ Backdoors /Rootkits

Cration lavance Nombre de manipulations locales restreintes Ncessite le camouflage

Backdoors/ Backdoors /Rootkits

Caractristiques de linsertion

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.


# objdump -t monmodule.ko 00000000 g F .init.text 00000000 g F .exit.text 000000a1 init_module 00000044 cleanup_module

Caractristiques du patch

Empreinte systme plus faible Ncessite des manipulations locales Peut tre adapt au systme la vole
Module SSI - 20/11/2005 359

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 !!!!
Module SSI - 20/11/2005 360

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Camouflage : patch des Loadable Kernel Modules

Camouflage : patch des Loadable Kernel Modules

Voici un code simple (fichier codeAInjecter.c)


#define MODULE #define __KERNEL__ #include <linux/module.h> #include <linux/kernel.h> int inje_module (void) { printk ("<1> Injected\n"); return 0; }

Il suffit ensuite de faire en sorte que le module invoque le code inject

Backdoors/ Backdoors /Rootkits

Backdoors/ Backdoors /Rootkits

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 initmodule

On le compile sans faire ldition de lien :


cc -O2 -c stealth.c

Linjection se ralise par


ld -r moduleOrig.o codeAInjecter.o -o moduleInfecte.o

Il suffit dajouter la ligne init-new() dans le code de inje-module

mv moduleInfecte.o moduleOrig.o

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

361

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

362

Camouflage : patch des Loadable Kernel Modules

Rootkit :

Le code ajouter ou le module ajouter peut

Les rootkits sont un assemblage de programmes.


Intercepter la frappe clavier

Des outils dattaque (sur un service) Des outils de camouflage (LKM) Des outils de portes drobes (backdoor) Knark

Interception des appels put_queue, receive_buf, tty_read, sys_read

Backdoors/ Backdoors /Rootkits

Backdoors/ Backdoors /Rootkits

Cacher un fichier

rappel sous linux, /proc est un systme de fichier Action sur le VFS ou directement sur les FS

Quelques RootKit connus :

Cacher un PID

Installe un module sysmod.o et intercepte les appels fork, read, execve, kill, ioctl, settimeofday, clone Fournit un ensemble dattaques connus 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

Manipuler la liste des processus (double liste) Enlever le processus de la liste de processus en attente Mettre le PID du processus 0

Adore

Cacher une connexion Excuter un programme en root


Module SSI - 20/11/2005 363

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

364

Plan de cours
Introduction Attaques gnriques de services
Outils de protection Outils de protection

systrace TCPwrapper Audit de code (include php) limiter services PKI

Attaques spcifiques de services Modules de noyaux et trappe Backdoors / Rootkits Outils de protection Audit et check-list

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

365

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

366

Protection du systme : LIBSAFE

Protection du systme : LIBSAFE

Il sagit dune librairie de fonctions Elle offre une protection de base contre les buffer overflow Outils de protection Elle est compatible avec des excutable pr-compil Elle sutilise de faon transparente Loverhead reste faible Elle remplace les fonctions vulnrables au bof

Elle intercepte tous les appels ces mthodes

Elle garantie que les oprations restent dans les limites prvues

Mthode 1 (ignor par les programmes suid)

Outils de protection

Utilisation dun ld rcent


LD_PRELOAD = /lib/libsafe.so.2 export LD_PRELOAD

Excution du programme

Mthode 2 (pour les programmes suid)

Edition de /etc/ld.so.preload

Strcpy, strcat getwd, gets

overflow sur le buffer dest overflow sur le buffer overflow sur le buffer dest

En cas dattaque, les processus sont tus (SIGKILL)


Dec 29 17:18:42 eos libsafe[15704]: Detected an attempt to write across stack boundary. Dec 29 17:18:42 eos libsafe[15704]: Terminating /home/legond/bin/test/bof Dec 29 17:18:43 eos libsafe[15704]: scanf()

[v]scanf, [v]sprintf, realpath

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

367

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

368

Protection du systme : STACKGUARD

Protection du systme : STACKGUARD

Protection contre les bof


Random canary

Approche par compilation Outils de protection Ne requiert aucun changement dans le code source

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

Outils de protection

On patche le compilateur pour quil encapsule les donnes manipules

On insre des marqueurs appel canary

Random XOR canary


Terminator canary

Ce sont des marqueurs random canary Les valeurs sont un xor entre un random et une donne (signature)
Module SSI - 20/11/2005 370

Ils sont insrs en fin de donnes (Ex: les chanes) On utilise un marqueur de fin de chane mutiple
Module SSI - 20/11/2005 369

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Protection du systme : STACKGUARD

Protection du systme : STACKSHIELD

Algorithme pour chaque appel de fonction :


Protection contre les bof

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

Approche identique STACKGUARD Lors de lappel ladresse de retour est stocke dans cette nouvelle pile Lors du retour on copie ladresse de retour avant deffectuer le saut

Autre mthode : Cration dune autre pile

Outils de protection

Outils de protection

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

on trace (comme libsafe) et on stoppe

Si la valeur est correct, on revient attention aux appels rcursifs tout de mme
Module SSI - 20/11/2005 371

Impact lger sur la mmoire et les performances

http://www.phrack.org/show.php?p=56&a=5
Module SSI - 20/11/2005 372

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Protection du systme : Formatguard

Protection du systme : Formatguard

Protection contre les attaques par format string


Compatibilit

Approche identique STACKGUARD, STACKSHIELD Approche par compilation

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)

Outils de protection

Outils de protection

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

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)
Module SSI - 20/11/2005 374

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

373

SSI

Legond-Aubry Fabrice

Protection systme : Noyaux renforcs

Protection systme : Noyaux renforcs

Hardening Kernels

Protection contre les buffer overflow

Il sagit de patches noyaux Il suffit ensuite de recompiler le noyau

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)

Outils de protection

Ensemble des protections mise en place au niveau du noyau


Outils de protection

Protection contre les buffer overflow Protection du Systme de fichier (FS) Renforcement des moyens daudit Protection dexcution Protection rseau Protections diverses
Module SSI - 20/11/2005 375

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

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

376

Protection systme : Noyaux renforcs

Protection systme : Noyaux renforcs

Protection du FS

Protection de FS

Gestion des ACL

Renforcement du chroot

Signaux limits, mount/chmod/mknod/ptrace interdit Interdire les doubles chroot, restriction sur les priorits

Permet de spcifier des ACL complexes sur les FS

Outils de protection

Outils de protection

Un fichier peut tre X, R, W, append, hidden

Audit du noyau

attention la charge engendre

Restriction daccs

Journalisation des processus pour un seul groupe


Eviter le DOS, tous les services doivent tre dans le mme groupe. Journalisation des processus normaux et mis en cage

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

Journalisation des appels execve

Journalisation des appels chdir, u/mount Journalisation IPC, signaux, fork chous Journalisation du set*uid (restreinte au setuid root) Journalisation de la MAJ de lhorloge
Module SSI - 20/11/2005 378

Tout programme doit avoir les descripteurs 0,1,2


Module SSI - 20/11/2005 377

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Protection systme : Noyaux renforcs

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

Protection rseau

Rendre alatoire les numros IP Altrer les rponses PING

Outils de protection

Outils de protection

viter la dtection des empruntes de la pile IP

Interdire laccs root sur les consoles physiques, sries, pseudo-console Nombre total et cration par seconde. Anti-fork bomb

Rendre alatoire le TTL entre un min et un max Limiter louverture de certains type de socket Interdire louverture de socket certains groupes

Limitation du nombre de processus pour un GID

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

Toutes les sockets, les clientes, les serveurs

Protection glibc (ignorer le LD_PRELOAD) et programme ld Limiter les appels de ptrace root (et peuvent tre journaliser)
Module SSI - 20/11/2005 379

Rendre alatoire les ID des appels RPC

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

380

Protection systme : Noyaux renforcs

Protection du systme : LIDS / LSM

Protection rseau

Rendre alatoire les numros IP Altrer les rponses PING

LIDS = Linux Intrusion Detection System


http://www.lids.org

viter la dtection des empruntes de la pile IP

Outils de protection

Limiter louverture de certains type de socket Interdire louverture de socket certains groupes

Outils de protection

Rendre alatoire le TTL entre un min et un max

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

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

Mmoire, Accs E/S, accs aux devices , fichiers, rseau

Utilise le framework LSM pour le noyau


http://lsm.immunix.org/

Ex: coredump-nomprocessus.PID

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

381

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

382

Protection du systme : patch OpenWall

Protection du systme : patch grSecurity / PAX

Nomm owl ( OpenWall Linux )


http://www.openwall.com/

grSecurity

http://www.grsecurity.net/ A lorigine un portage de OpenWall pour linux

Outils de protection

Outils de protection

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

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/


Module SSI - 20/11/2005 384

purge des blocs de mmoire partags non utiliss

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

383

SSI

Legond-Aubry Fabrice

Protection du systme : la virtualisation

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

Pourquoi ? Usage moyen de serveurs !!

Mmoire

45% de la RAM non utilise 99.9% du temps 25% de la RAM jamais utilis

Outils de protection

Une autre solution de protection est la virtualisation


Outils de protection

Cration de machines virtuels encapsules sur une machine physique But : isolation des diffrents services

CPU

85% des ressources CPU non utilise 99.9% du temps 81% des resources CPU jamais exploit en concurrence

Prison virtuelle: Si on parvient a corrompre un service, on reste enferm 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 multicore
Module SSI - 20/11/2005 385

En renaissance actuellement

Disque

68% de lespace disque jamais occup

On peut se permettre de virtualiser


Module SSI - 20/11/2005 386

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Protection du systme : la prison chroot

Protection du systme : la prison chroot

La premire tape vers la virtualisation est chroot


Ex: Installation dun service BIND Il faut prparer lenvironnement

On lappel la prison chroot ( chroot jail ) Il sagit de limiter la vision FS de lapplication Outils de protection Il faut alors reconstituer un environnement minimaliste pour lapplication Il faut aussi penser a abandonner les privilges utilisateurs Ex: BIND, FTP publics http://olivier.sessink.nl/jailkit/
Module SSI - 20/11/2005 387

Cration de la racine de la prison (ex: /chrootjail) Cration des rpertoires utiles (base) : /chrootjail/xxx

Outils de protection

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

Trs utile pour des services fortement exposs

named.conf (pour BIND), localtime,

Utilisation pour un shell limit

Cration des devices ncessaires (mknod)

/chrootjail/dev/zero, /chrootjail/dev/null

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

388

Protection du systme : la prison chroot

Protection du systme : la prison chroot

Problme du log

Utiliser strace, onjdump nom de service pour dterminer les fichiers (devices) utiliss
# strace /usr/sbin/named execve("/usr/sbin/named", ["/usr/sbin/named", "-h"], [/* 69 vars */]) = 0 uname({sys="Linux", node="scylla.lip6.fr", ...}) = 0 brk(0) = 0x81a7000 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=69439, ...}) = 0 old_mmap(NULL, 69439, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40016000 close(3) = 0 open("/usr/share/locale/fr/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/fr/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/fr/LC_MESSAGES/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/fr/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/fr/LC_MESSAGES/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory)

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

Outils de protection

Il faut ensuite dterminer les ressources ncessaires


# ldd /usr/sbin/named linux-gate.so.1 => (0xffffe000) libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0x40027000) libldap.so.2 => /usr/lib/libldap.so.2 (0x40126000) liblber.so.2 => /usr/lib/liblber.so.2 (0x40158000) libresolv.so.2 => /lib/libresolv.so.2 (0x40164000) libnsl.so.1 => /lib/libnsl.so.1 (0x40175000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40188000) libc.so.6 => /lib/tls/libc.so.6 (0x40199000) libdl.so.2 => /lib/libdl.so.2 (0x402b8000) libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x402bb000) libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0x402d1000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Outils de protection

Pour laccs au rpertoire, utilisation de mount bind

En particulier pour /usr/share/local/fr Ne pas oublier le chown et chmod sur les fichiers!

Copier les librairies utilises


Module SSI - 20/11/2005 389

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

390

Protection du systme : virtualisation

Protection du systme : virtualisation

Il reste possible de schapper dune prison chroot Il existe des solutions plus pousses disolation

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

UML

User Mode Linux, noyau en espace utilisateur

Outils de protection

Outils de protection

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

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
Module SSI - 20/11/2005 392

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


Module SSI - 20/11/2005 391

SSI

Legond-Aubry Fabrice

SSI

Legond-Aubry Fabrice

Protection du systme : virtualisation

Plan de cours
Introduction Attaques gnriques de services
checkAudit et check -list

Xen

Cest un manageur de systmes virtuels Il se place entre le matriel et le systme

Outils de protection

Offre une couche dabstraction et disolement

Les systmes virtualiss ont conscience de la sous-couche Xen

Attaques spcifiques de services Backdoors / Rootkits Outils de protection Audit et check-list

Il ncessite une adaptation

Xen est un hyperviseur, contrlable Chaque systme tourne dans un domaine configurable
Espace utilisateur FreeBSD Pilotes Xen Espace utilisateur NetBSD Pilotes Xen Xen Matriel : processeur, mmoire, stockage, rseau, etc. Espace utilisateur Linux Pilotes Xen Logiciels de contrle Xen Xeno-Linux Pilotes Xen

Espace utilisateur Plan 9 Pilotes Xen

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

393

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

394

Audit : processus accounting

Audit : Contrle dintgrit

Le premier outil psacct


Tripwire

Cest un rpm qui permet dactiver les traces du systme dans le noyaux linux Pour activer la trace, il suffit dexcuter

Permet de contrle lintgrit Fichier de configuration simple Les md5 sont a stocker sur des supports surs Elle peut tre corrompue mais cest un bon dbut Affiche de 9 bits de status

accton fichier_de_log

Les fichiers sont binaires comme wtmp et utmp Il faut des outils pour parser les logs

checkAudit et check -list

checkAudit et check -list

Ils grossissent trs vite si lactivit est importante

rpm V a vrifie les fichiers par rapport la base rpm


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

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)

Un exemple
uid/gid root/root mail/mail maild/maild mbp/mbp pdb/pdb cpu 0.02u 0.01u 0.00u 0.02u 0.01u start time [09:46:34 Thu [09:47:16 Thu [09:47:16 Thu [09:47:59 Thu [09:49:44 Thu flags 1997-04-10] ttydev:3/3 SU 1997-04-10] NOTTY 1997-04-10] SU, NOTTY 1997-04-10] NOTTY 1997-04-10] ttydev:3/4

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

# ./acct_watch program ls mail-queue mail-smtpd rcs id

0.00s 0.01s 0.02s 0.01s 0.01s

Root kit detection Sleuthkit


Module SSI - 20/11/2005 396

SSI

Legond-Aubry Fabrice

Module SSI - 20/11/2005

395

SSI

Legond-Aubry Fabrice

Audit : processus accounting


Forensics Analysis Pot de miel Honeyd Cgiscan / phpscan

SSI

checkAudit et check -list

Legond-Aubry Fabrice

Module SSI - 20/11/2005

397

Das könnte Ihnen auch gefallen