Beruflich Dokumente
Kultur Dokumente
Introduction
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
SSI
Legond-Aubry Fabrice
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
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
SSI
Legond-Aubry Fabrice
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
Number of notes
Introduction
Introduction
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
SSI
Legond-Aubry Fabrice
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)
"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
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
Indisponibilits des systmes Manipulation(s) des donnes/systmes Destruction des donnes/systmes Si la puce de votre carte didentit crash existerez-vous encore ?
Entit = gouvernement, entreprise, particulier, associations, Laisseriez-vous ouverte votre porte dappartement ?
Introduction
Introduction
Financiers (remise en marche, ventes manques) Temporels (remise en marche, configuration) Humains (juristes, informaticiens) Matriels (serveurs de sauvegarde, redondance, scurit)
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Conclusion
Scuris lOS Scuris les services Scuris laccs la machine (boot) Topologie et architectures des serveurs Les protocoles exploits Le contrle daccs par firewall
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
Introduction
Introduction
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
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
SSI
Legond-Aubry Fabrice
15
SSI
Legond-Aubry Fabrice
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)
Relations erreurs/fautes/dfaillances:
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
17
SSI
Legond-Aubry Fabrice
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
SSI
Legond-Aubry Fabrice
19
SSI
Legond-Aubry Fabrice
20
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
Concepts et Terminologie
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
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
Exemples :
Une modification intempestive (mme trs temporaire) est interdire sur une criture comptable valide Le code binaire des programmes ne doit pas pouvoir tre altr Les messages de lingnieur systme doivent pouvoir tre lus et non modifis
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.
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
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
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:
SSI
Legond-Aubry Fabrice
30
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
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
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
SSI
Legond-Aubry Fabrice
31
SSI
Legond-Aubry Fabrice
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.
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.
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
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 :
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 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
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
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
38
Ex: Le cot dun vol dinformation grce un iPod 30go ? (beaucoup de base de donnes tiennent sur 30go )
4.
Moyens physiques
5.
Moyens informatiques
6.
7.
Dcision
Application et mis en place des solutions
SSI
Legond-Aubry Fabrice
39
SSI
Legond-Aubry Fabrice
40
dans le cadre des hypothses considres, quoi quil arrive la politique est respecte
Ils ne doivent pas constituer un obstacle la ralisation des fonctions oprationnelles de l organisation considre Ex: les procdures trop complexes sont souvent contournes
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
SSI
Legond-Aubry Fabrice
41
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 44
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
http://www.nsa.gov/
http://niap.nist.gov/cc-scheme/index.html
Module SSI - 20/11/2005 43
SSI
Legond-Aubry Fabrice
Quelques dfinitions
Dcrypter ou casser un code c'est parvenir au texte en clair sans possder au dpart ces informations secrtes. Cest lopration que doit raliser Estelle pour retrouver M. L'art de dfinir des codes (de chiffrement) est la cryptographie. Un spcialiste en cryptographie est appel cryptographe. L'art de casser des codes est appel cryptanalyse ou cryptologie. Un spcialiste en cryptanalyse est appel cryptanalyste. Un crypto-systme est l'ensemble des deux mthodes de chiffrement et de dchiffrement utilisable en scurit.
SSI
Empcher leffacement des donnes par un pirate Protger le programme de chiffrement et son excution (traage, debug,...) Empcher un dcodage par hasard Empcher une attaque par force brute Empcher lutilisation mthode indite de dcodage Empcher la lecture avant codage ou aprs dcodage
Ne pas sous-estimer les autres mthodes de scurit sous prtexte que la cryptographie est omnipotente
SSI
Legond-Aubry Fabrice
45
Legond-Aubry Fabrice
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.
M= DK(C) ou C = {M}DK
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)
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
47
SSI
Legond-Aubry Fabrice
Efficacit du chiffrement
Lefficacit dpend
Du Secret de la cl De la difficult deviner la cl ou a les essayer toutes : li la taille de la cl De la difficult de linversion de lalgorithme de chiffrement sans connatre la cl (cassage) De la longueur de la cl De lexistence de portes par derrire (pour les gouvernements...) ou dautres moyens plus faciles de dchiffrement
Tels que soit k=K, soit la connaissance dune des deux clefs permet den dduire facilement lautre. Consquences :
Dichotomie du monde : les bons et les mauvais Multiplication des clefs (un secret nest partag que par 2 interlocuteurs), donc pour N interlocuteurs N*(N-1)/2 couples
La qualit dun crypto systme symtrique sanalyse par rapport des proprits statistiques des textes chiffrs et la rsistance aux classes dattaques connues. En pratique tant quun crypto systme symtrique na pas t cass, il est bon, aprs il est mauvais.
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
49
SSI
Legond-Aubry Fabrice
50
CS symtriques: exemples
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
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
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
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 :
SSI
Legond-Aubry Fabrice
Legond-Aubry Fabrice
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.
Dchiffrement
Dtermination de e
Dtermination de d
SSI
Legond-Aubry Fabrice
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
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)
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
58
Actuellement un calcul en parallle utilisant quelques milliers d'ordinateurs pendant quelques mois permet de factoriser des nombres d'une centaine de chiffres (400 bits) Utiliser des n=1024 ou 2048 bits selon que la protection recherche est de plus ou moins de cinq ans.
Ne pas utiliser une clef secrte trop courte. N'utiliser que des clefs fortes, c'est dire telles que p-1 et q-1 ont un grand facteur premier. Ne pas chiffrer des blocs trop courts (les complter toujours a n-1 bits), de faon dtruire toute structure syntaxique [padding] Ne pas utiliser un n commun plusieurs clefs si ces clefs peuvent tre utilises pour chiffrer un mme message. Si une clef secrte (d,n) est compromise, ne plus utiliser les autres clefs utilisant n comme modulo. Ne jamais chiffrer ou authentifier un message provenant d'un tiers sans le modifier (ajouter quelques octets alatoires par exemple).
Module SSI - 20/11/2005 59
Exemple:
Calcul modulo n (dans un anneau fini) M2 est facile calculer modulo n (ou Me)
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
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
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
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
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
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
63
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
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
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
SSI
Legond-Aubry Fabrice
66
Notations
Notations
Cryptage symtrique
Type
Smantique du message (but) expditeur du message (identifi par rcepteur du message (identifi Informations ncessaires au message
{M}SIGalice={{M}H}SYMCLEF
SSI
Legond-Aubry Fabrice
67
SSI
Legond-Aubry Fabrice
68
Alice connait
Alice
Bob
sa propre clef A Date de validit : Date dbut a / Date fin a la clef B de Bob
Bob connait
sa propre clef B Date de validit : Date dbut b / Date fin b la clef A de Alice
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
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 !!!
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)
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
71
SSI
Legond-Aubry Fabrice
72
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]
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]
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
73
SSI
Legond-Aubry Fabrice
Principe de fonctionnement : certificats infalsifiables Ticket : caractrise une session entre un client C et un serveur S
Tcs = {S, C, adr, Td, life, Kcs}Ks adr : adresse IP du client Td : heure de dbut de session life : dure maximale de vie la de session Kcs : cl de session partage par C et S Ks : cl permanente du serveur S
K 3 2 5 C 6 4
Acs(t) = {C, adr, t}Kcs gnr par le client permet une authentification permanente par le serveur
SSI
Legond-Aubry Fabrice
75
SSI
76
K 1 2 3 5 6
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
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)
C
STcs}SYMKCT
SSI
Legond-Aubry Fabrice
77
SSI
Legond-Aubry Fabrice
78
Bob
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
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
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
79
SSI
Intgrit et signature
Signature
Alice doit envoyer Bob un message, tel que Bob puisse contrler que le message na pas t modifi et a bien t cr par Alice. On pourrait utiliser le principe de confidentialit bas sur la possibilit de gnrer des donnes correctes par les usagers autoriss dtenteurs du secret.
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].
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
82
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
SigA
{{M}H}SYMA
SigB
SSI
Legond-Aubry Fabrice
83
Notations
Notations
Cryptage asymtrique
Type
Smantique du message (but) expditeur du message (identifi par rcepteur du message (identifi Informations ncessaires au message
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
SSI
Legond-Aubry Fabrice
85
SSI
Legond-Aubry Fabrice
Les informations de lannuaire sont protges en intgrit Chaque participant connat sa clef prive, sa clef publique et la clef publique de lannuaire
(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
87
SSI
(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
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
90
Un flot d'changes de longue dure doit tre caractris par une connexion.
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
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
91
SSI
Legond-Aubry Fabrice
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
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
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
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:
On gnre alatoirement t valeurs entires a1 , a2 , .... , at On leur associe un polynme dont le terme constant est V :
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.
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
95
SSI
Legond-Aubry Fabrice
96
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
2.
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
98
L'metteur A envoie alors la transaction son destinataire B sous la forme M signe par le notaire (il ne peut avoir modifi celle ci entre temps).
B ne peut encore interprter les informations mais il enregistre M pour preuve de la requte de A.
5.
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.
SSI
Legond-Aubry Fabrice
99
SSI
Legond-Aubry Fabrice
100
Plan de cours
Introduction Concepts et Terminologie Types dattaques Les certificats
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
SSI
Legond-Aubry Fabrice
101
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
Lensemble est appel certificat X509. Les certificats X509 font lobjet dune norme : ITU-T X509 international standard V3 1996, RFC2459
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
104
Rle :
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
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
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
Priode de validit
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:
Reconnaissance juridique de la signature lectronique Obligation de dmatrialisation des procdures E-Administration (dclaration dimpts)
Les certificats
Les certificats
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
109
SSI
Legond-Aubry Fabrice
110
Les certificats
SSI
Legond-Aubry Fabrice
111
SSI
Les certificats
Legond-Aubry Fabrice
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
Mal implment
SSI
Legond-Aubry Fabrice
113
SSI
Legond-Aubry Fabrice
114
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.
Impossible d'assurer la confidentialit, l'intgrit, la non rpudiation sans la garantie de l'identit de l'entit soumettant une requte.
L'authentification devrait tre assure en continue (pas une fois pour toute l'ouverture d'un objet ou en dbut de session) Un personne peut quitter son poste en le laissant ouvert :
procdure de dconnexion automatique procdure d authentification priodique une 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.
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.
SSI
Legond-Aubry Fabrice
115
SSI
Legond-Aubry Fabrice
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)
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)
SSI
Legond-Aubry Fabrice
117
SSI
Legond-Aubry Fabrice
Une carte magntique, code barre, puce Un stick USB Un porte-clefs gnrateur de clef temporaire
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.
la perte, le vol du support la duplication (plus ou moins facile mais toujours possible) Ncessite souvent lintervention humaine
SSI
Legond-Aubry Fabrice
119
SSI
Legond-Aubry Fabrice
120
L'empreinte digitale
Authentification des personnes
Reconnaissance
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
121
SSI
Legond-Aubry Fabrice
122
Trs connue et exploit Petite taille des dispositifs Faibles cots des dispositifs Analyse rapide, faible taux de rejet Assez bien implant
Grande quantit dinformation Reconnat les vrais jumeaux Trs peu de rejet Reconnaissance distance Problmes
Problmes
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
124
Reconnaissance rtinienne
Authentification des personnes
Vaisseaux sanguins Peu de facteurs de variations (ie peu de maladies) Meilleur taux de russite Problmes:
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
SSI
Legond-Aubry Fabrice
BIOMETRIQUE - Thermographie
MULTIMETRIQUES
IR cartographie de la chaleur du visage Bon taux de reconnaissance Reconnat les vrais jumeaux Problmes:
Biomtriques
Mthodes traditionnelles
Cot raisonnable
Module SSI - 20/11/2005 128
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Principes :
Dsavantages
Lutilisateur doit
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
Exemple
Challenge: 5241
Rechercher du MDP 5241 dans la liste Rappel : La liste est gnre partir de la clef secrte
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
129
SSI
Legond-Aubry Fabrice
Authentification bi-factuelle
ie un mot de passe
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
132
Plan de cours
Vocabulaire
Attaque par eMail
Hoax : fausse information, rumeur destin saturer la messagerie Mail bombing : Attaque consistant gnrer beaucoup de mail pour saturer un serveur de mail Spamming : Envoie de courriers non sollicits but commercial Phishing : Envoie de courriers permettant le dtournement dinformations 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 3: IP/ICMP IPSEC - VPN Attaques niveau 4: TCP SSL/TLS Parefeu - NAT Analyse
Introduction
SSI
Legond-Aubry Fabrice
133
SSI
Legond-Aubry Fabrice
Vocabulaire
Attaque logicielle
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
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)
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Rappels
Un intrusion peut durer moins de quelques seconde ou stendre sur plusieurs semaines Elle est faciliter par lexistence doutils pr-programmer (script-kiddies) Une bonne protection passe par le triumvirat : Parefeu, Antivirus, Antiespion Permet laccs aux informations ou servir de base dattaque
IP Spoofing et Smurfing
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 !!!
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
138
Plan de cours
Introduction Attaques de niveau 1
Attaques de niveau 1 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 Analyse
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
139
SSI
Legond-Aubry Fabrice
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
A JETER
Faiblesse du chiffrement, pas de gestion des clefs airsnort.shmoo.com, www.cr0.net:8040/code/network/aircrack (dans beaucoup de distrib linux)
Confidentialit et authentification
Portables dinconnus entre dans le primtre Equivalent une prise de la taille dune sphre de 80m de rayon
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
SSI
Legond-Aubry Fabrice
141
SSI
Legond-Aubry Fabrice
Exemple netstumbler
NETSTUMBLER
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
143
SSI
Attaques de niveau 1
Legond-Aubry Fabrice
144
Plan de cours
Introduction
Attaques niveau 2: ethernet
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
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
146
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
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
148
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
Mthode du DNS
Attaques de niveau 2: ethernet
Mthode de leurre
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
Il sera filtr par les machines normales Il sera captur par les machines en coute
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
152
Attaques ARP
ARP-RARP
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
Moyen:
Poisoning : crer de fausses entres dans les caches ARP Flooding: Saturer les tables ARP Cloning: imiter ladresse MAC dune autre machine Spoofing: Forger de fausses rponses ARP
Utilitaires:
http://web.syr.edu/~sabuer/arpoison/ http://ettercap.sourceforge.net/ (logiciel dattaque ARP, SSH, tueur de connexion) http://www.thehackerschoice.com/releases.php (gnre des fausses rponses ARP)
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
154
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
10.10.0.2 10.10.0.2
Qui a (Who has) 10.10.0.1 Mon @IP est 10.10.0.2 Mon @MAC est xx:xx:xx:xx:xx:xx
Machine Hc (Hacker) IP=10.10.0.11 MAC=00:FB:5A:50:09
Hc
Hc
SSI
Legond-Aubry Fabrice
155
SSI
Legond-Aubry Fabrice
156
Plan de cours
Introduction
Attaques de niveau 3: IP/ICMP
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
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
Hc
SSI
Legond-Aubry Fabrice
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:
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
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:
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Attaque IP : Spoofing
Ne pas se limiter des ACL bass sur les @IP Implanter des rgles strictes sur les routeurs
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
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
161
SSI
Legond-Aubry Fabrice
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 !!
Moyen
rseau A
INTERNET
rseau B
Consquences
Ha
ICMP_ECHO_REPLY (@SRC=IP.Hb,@DST=IP.Ha)
Hb
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
164
Hc
rseau C
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
rseau A
INTERNET
rseau B
Ex: 3 ICMP_ECHO / REPLY par second Liste noire dynamique (interdiction pendant x minutes)
Ha
Hb
SSI
Legond-Aubry Fabrice
165
SSI
Legond-Aubry Fabrice
But:
rseau C
N* ECHO_REPLY (@SRC=IP.HbXX,@DST=IP.Hc)
Hb2
Moyen:
ECHO_REPLY (@SRC=IP.Hb2,@DST=IP.Hc)
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
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
168
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
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.
SSI
Legond-Aubry Fabrice
169
SSI
Legond-Aubry Fabrice
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
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
172
Hte de confiance
Hc
Le serveur
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
Hp
Lattaquant
Tous les paquets vont tre dtruits par les machines Abandonner la notion de machine de confiance
Lorsquelle est uniquement base sur l@IP Abandonner les ~/.rhost, ~/.shost Il faut de lauthentification forte
Module SSI - 20/11/2005 174
SSI
Legond-Aubry Fabrice
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)
Utilis pour implanter les VPN (Virtual Private Network) Solution niveau 3 (rseau) IP
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
Payload Tunnel
seulement les donnes sont cryptes encapsulation des donnes) toute la communication est encrypte (encpasulation totale)
AH ESP
qui ne permet que lauthentification forte et intgrit, pas de confidentialit qui permet la confidentialit
SSI
Legond-Aubry Fabrice
175
SSI
Legond-Aubry Fabrice
176
IPSEC-VPN: Modes
IPSEC-VPN: Protocoles
Le mode Payload/Transport
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)
IPSEC - VPN
Le mode Tunnel
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
IPSEC - VPN
IPSEC - VPN
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
New IP header
ESP header
Orig IP header
ESP trailer
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Plan de cours
Introduction Attaques de niveau 1
Attaques niveau 4: TCP Attaques niveau 4: TCP
Le protocole 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
181
SSI
Legond-Aubry Fabrice
182
Fermeture brutale
Le drapeau RST mis 1 Le numro de squence dacquittement gale au dernier numro reut +1 (souvent ignor)
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
Le drapeau FIN mis 1 Le numro dacquittement inchang Le numro de squence incrment de 1 Attente de la rponse
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
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
SSI
Le numro de squence correspond aux nombres doctets envoys depuis louverture de la connexion.
Legond-Aubry Fabrice
185
SSI
Legond-Aubry Fabrice
186
But :
paquet SYN La trame TCP est encapsul dans un paquet IP avec une fausse adresse (par ex. C)
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
Consquences :
Caractristiques :
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Les solutions ne sont pas toujours la porte des admins ! Implantation dune pile TCP/IP adapte
But:
Limitation de limpact de lattaque Attendre le ACK final avant dallouer toute ressource
Efficace contre les protocoles connexions de longues dures Sauvegarde, Transferts FTP, Border Gateway Protocol (RFC 1771)
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
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
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:
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
192
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
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
194
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
Le vrai client accepte le paquet ACK/SYN et passe en mode connect Pendant ce temps, lattaquant annule la connexion du serveur
TCP/IP spoofing
ACK, Clt Seq=101 SvrSeq=501
Lu Lu
SYN/ACK, Clt Seq=801 Svr Seq=700
ACK/SYN jet
TCP/IP spoofing
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
196
Dsynchronisation par envoie de messages vides Utile seulement si le protocole accepte les trames vides
Trame vide = trame sans effet sur lapplication Ex: trame IAC NOP sur telnet, trame NOP sur FTP
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
198
Nous supposons les deux machines dsynchronises Du ct serveur Attaques niveau 4: TCP
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
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
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
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
Il envoie un ACK son pair (le serveur) Le numro dacquittement est faux !
TCP/IP spoofing
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
SSI
Legond-Aubry Fabrice
201
SSI
Legond-Aubry Fabrice
Solutions :
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
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
Gnration dun ACK correct juste aprs le rejet dun paquet par le pair
Dans la pratique
problme de synchronisation
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
Scurit faible
Ne tient pas compte des nouveaux services pouvant tre ouvert Ex: un utilisateur ouvre un serveur ftp personnel,
Rejet systmatique
Exception : services spcifiques sur machines spcifiques Ex: Autorisations explicites pour les services HTTP, SMTP, POP3,
Scurit forte
SSI
Legond-Aubry Fabrice
205
SSI
Legond-Aubry Fabrice
206
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
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!)
Problmes :
Difficults de maintenance (prvoir un dploiement automatique) Une MAJ doit tre dploye
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Firewalls / Routeur
Firewall
Internet
Implantation
Un matriel spcialis (Cisco PIX, ) Une machine simple avec plusieurs cartes rseaux + logiciels
SSI
Legond-Aubry Fabrice
209
SSI
Legond-Aubry Fabrice
210
Modle avec Firewall et routage Le firewall est la seule machine visible lextrieur
Le firewall effectue le contrle daccs Le routeur effectue le routage (translation dadresse) NAT
Les clients ne peuvent pas dialoguer directement avec l'extrieur Passage par des mandataires internes
Firewall
Routeur
Internet
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
212
NAT
Le routeur dguise les paquets pour faire croire qu'il en est l'metteur
Les connexions sortantes sont possibles Les connexions entrantes sont interdites
Le serveur distant rpond au routeur Le routeur fait suivre les rponses au client
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
214
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
215
SSI
Legond-Aubry Fabrice
216
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
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
SSI
Legond-Aubry Fabrice
217
SSI
Legond-Aubry Fabrice
218
Serveurs Publics
Militarized Zone
Militarized Zone
Routeur
Firewall
Serveurs Publics
Web
FTP
SMTP/POP3
Web
FTP
SMTP/POP3
Firewall
Internet
Routeur
Internet
Routeur
SSI
Legond-Aubry Fabrice
219
SSI
Legond-Aubry Fabrice
220
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
port physique sur le routeur adresse MAC de la machine sous-rseau IP ou port du service
SSI
Legond-Aubry Fabrice
221
SSI
Legond-Aubry Fabrice
222
Firewall
Access lists
Access lists
Development
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
Router
Config file
Router
Office
Militarized Zone
Demilitarized Zone
SSI
Legond-Aubry Fabrice
223
SSI
Legond-Aubry Fabrice
Rgles de filtrage
SMTP-ENTRANT-1 : Autoriser tous les paquets TCP entrants, @IP destination 132.227.94.200 port 25
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
226
Types de table :
Permet de grer les connexions (iptable est statefull) Permet la modification des options des paquets
pour faire de la QoS Changer ladresse [IP/Port] de destination dun paquet Changer ladresse [IP/Port] source dun paquet
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
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
SSI
Legond-Aubry Fabrice
227
SSI
Legond-Aubry Fabrice
228
#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
229
SSI
Legond-Aubry Fabrice
230
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)
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
SSI
SSI
Legond-Aubry Fabrice
232
Iptables : shorewall
Il existe des scripts prfabriqus pour faire des firewalls facilement Beaucoup doptions prdfinies ! Voir les fichiers de configurations dans /etc/shorewall et leurs commentaires. Efficace en terme de temps de dploiement et de scurit ! Fichier /etc/shorewall/interfaces
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
233
SSI
Legond-Aubry Fabrice
234
ipfw
IPFW est lanctre de iptables Il est encore trs prsent (FreeBSD, MacOS) Il a trs bonne rputation. Fortement intgr au noyau:
Le changement dune option oblige la recompilation du noyau Tout un ensemble doption sont disponibles
IPFIREWALL_VERBOSE, IPDIVERT,
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
Paquet ACCEPTE
235
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
236
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)
# 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
..
SSI
Legond-Aubry Fabrice
237
SSI
Legond-Aubry Fabrice
238
Protocole applicatif
Niveau Application
S S L
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
239
SSI
Legond-Aubry Fabrice
240
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
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
Vrification du certificat
SSI
Legond-Aubry Fabrice
241
Legond-Aubry Fabrice
Plan de cours
Introduction Attaques de niveau 1 Attaques de niveau 2: ethernet
IDS et Analyse
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
fwlogwatch :
SSI
Legond-Aubry Fabrice
243
SSI
Legond-Aubry Fabrice
fwlogwatch : Exemple
fwlogwatch HTML
IDS et Analyse
SSI
Legond-Aubry Fabrice
245
SSI
Legond-Aubry Fabrice
Sonde IDS
Sonde IDS
Sonde rseau
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 )
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
Doit percevoir son environnement Doit limiter ses interactions avec son environnement
SSI
Legond-Aubry Fabrice
247
SSI
Legond-Aubry Fabrice
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
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
Certains commutateur bas de gammes noffre pas de ports de surveillance (pas de copie du trafic) Pour linstant pas danalyse de donnes cryptes
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Avantages
Dtecte des attaques non dtectables sur le rseau Peut tre utilis dans des environnements crypts Peut tre utilis sur des rseaux commuts
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
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
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
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
254
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 :
NECESSAIRE !
IDS et Analyse
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
Inconvnients
Whois, nmap, traceroute Changer le niveau de logging de lIDS, activer dautres type de sonde
Attaquer lattaquant !
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
256
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
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
NIDS payants
Network ICE, BlackICE, Win
IDS et Analyse
IDS et Analyse
...
Module SSI - 20/11/2005 260
SSI
Legond-Aubry Fabrice
259
SSI
Legond-Aubry Fabrice
NIDS gratuits
Installation
Snort, Prelude, BroIDS, hogwash Nessus, ettercapNG IDSwakup Argus Nmap, dsniff, kismet Nework logger
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)
IDS et Analyse
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
/etc/init.d/snort start
Module SSI - 20/11/2005 262
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
HenWen (MacOSX), IDSCenter (Win), SnortCenter (Linux/Win) Guardian, logsnorter, snortlog Getcontact, Hogwas Signature IDS Policy Manager, Snort Webmin Module oinkmaster
Pour iptables
IDS et Analyse
IDS et Analyse
Outils
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Comme fwlogwatch
IDS et Analyse
IDS et Analyse
Summary : connexion BO Summary : trafic hors norme (UDP 53 vers 139 !!) Top 20 source IP (211.137.96.156) : Host zombie typique
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
265
SSI
Legond-Aubry Fabrice
IDS et Analyse
SSI
Legond-Aubry Fabrice
267
SSI
IDS et Analyse
Legond-Aubry Fabrice
268
IDS: Prelude
IDS et Analyse
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
270
IDS et Analyse
Module rseau
IDS et Analyse
Centralisation +dcision
Tracabilit +contre-mesures
SSI
Legond-Aubry Fabrice
271
SSI
Legond-Aubry Fabrice
272
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
273
SSI
IDS et Analyse
Prelude naccepte pas les donnes de sources inconnues il faut grer un change de clefs
Legond-Aubry Fabrice
274
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) * **************************************************************
IDS et Analyse
SSI
Legond-Aubry Fabrice
275
SSI
IDS et Analyse
Legond-Aubry Fabrice
276
IDS et Analyse
SSI
Legond-Aubry Fabrice
277
SSI
IDS et Analyse
Legond-Aubry Fabrice
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
279
SSI
Legond-Aubry Fabrice
280
Plan de cours
Il est menac Une attaque peut avoir lieu sur chaque point dinteraction Les accs disques, les paramtres dexcution, les sockets, la mmoire sont des points dinteractions Selon les points dinteractions des attaques distantes et/ou locales sont possibles Les programmes suid sont des cibles de choix !
Les services externes/publiques sont trs exposs ! Rappel: http://www.ouah.org, http://www.phrack.org Les sites WEB dynamiques sont les plus exposs
Attaques par des scripts php, CGI Attaques par injection Cross scripting Attaque Virus HTML
SSI
Legond-Aubry Fabrice
281
SSI
Legond-Aubry Fabrice
282
On constate des classes dattaques sur les services. Elles sont gnriques
Le buffer overflow est la plus connue Lattaque par chane de format Valeurs hors normes sur les services [local et distant] Par virus, cheval troie,
Les attaques gnriques sont une premire tape vers le compromission de la machine. Elles permettent
laccs la machine linstallation des modules noyaux, de backdoor, de rootkit lutilisation de la machine des fins malveillantes
Dautres services peuvent subir des compromissions spcifiques pour dtourner leur utilisation
[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
Plan de cours
Introduction
g Attaques g nriques de services
Attaques gnriques de services Attaques spcifiques de services Backdoors / Rootkits / Trojans Outils gnriques de protection Audit et check-list
Introduction
Algorithmes danalyse du code source Vrification des include dans les scripts, chappement des chanes de caractres
Forensics Analysis (log, disque dur, ) Dtection des Root kit Vrification de lintgrit des fichiers
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
286
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
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
SSI
Legond-Aubry Fabrice
Il nest pas ENCORE dmod !! Mais en perte lgre de vitesse. Des nombreux (tous ?) services ont dj t affects
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
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 !
Purger lenvironnement dexcution ! Cration de nouvelles limitations sur le processus Interdiction dinvocation de fork() et/ou dexec()
Module SSI - 20/11/2005 290
Modification du noyau
SSI
Legond-Aubry Fabrice
289
SSI
Legond-Aubry Fabrice
Excuter par des utilisateurs normaux mais devant conserver les droits root
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
Void foo( int a, char *s) { int x; char buffer[20]; strcpy( buffer, s); }
SP+4
/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..."
0xffff
SSI
Legond-Aubry Fabrice
291
SSI
Legond-Aubry Fabrice
292
SP
Void foo( int a, char *s) { int x; char buffer[20]; strcpy( buffer, s); }
Void foo( int a, char *s) { int x; char buffer[20]; strcpy( buffer, s); }
SP+4
But:
Transmettre une chaine s provoquant un dbordement au sein de lespace des variables locales Ecrasement de ladresse de retour
Legond-Aubry Fabrice
0xffff
0xffff
Module SSI - 20/11/2005 294
SSI
Legond-Aubry Fabrice
293
SSI
SP = @0x1000 Function local Variables Function Foo() 4 Bytes Return Address Function Parameters SP + d
SP = @0x1000
Function Foo()
4 Bytes
SP + d
Stack Direction
Stack Direction
@0xFFFF
@0xFFFF
Module SSI - 20/11/2005 295
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
296
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
4 Bytes
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
297
SSI
4 Bytes
Shellcode
RET @shellcode
CRASH
SP + d
Stack Direction
SP + d
@0xFFFF
ShellCode
SSI
SSI
Legond-Aubry Fabrice
300
CRASH
SP + d
SP + d
@0xFFFF
@0xFFFF
SSI
Legond-Aubry Fabrice
301
SSI
Legond-Aubry Fabrice
302
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); }
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)
Arguments of execve()
Le code ne doit contenir aucune adresse absolue (JUMP absolu) Le shellcode sera charg dans lapplication par une chane spcialement forge
On doit liminer les caractres 0x00 (NULL) dans le code assembleur !!! Il existe des shellcodes qui rsistent au toupper() et tolower()
int execve(const char *filename, char *const argv [], char *const envp[]);
Legond-Aubry Fabrice Module SSI - 20/11/2005 304
SSI
Legond-Aubry Fabrice
De plus en plus de dveloppeur dOS fournissent des patches pour les bofs
Cest un overflow qui sattaque aux donnes alloues dynamiquement (TAS) Le TAS sert stocker les donnes dynamiques manipules
Bloc de donnes malloc Les images dun viewer, les fichiers MP3 dun lecteur de musique
Exemple :
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
SSI
Legond-Aubry Fabrice
305
SSI
Legond-Aubry Fabrice
Void Foo(char * string) { char * buffer; ... buffer = malloc (16); ... free(buffer) }
Free mem
@0xFFFF
@0xFFFF
Module SSI - 20/11/2005 307
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
308
But:
chunk
next chunk
Moyen
next chunk
Free mem
SSI
Legond-Aubry Fabrice
309
SSI
Legond-Aubry Fabrice
310
chunk
X X X X
X X
next chunk
fd bk garbage
@0xFFFF
SSI
Legond-Aubry Fabrice
311
SSI
Legond-Aubry Fabrice
312
En cas despace local trop faible pour stocker le code g Attaques g nriques de services
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
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
SSI
Legond-Aubry Fabrice
313
SSI
Legond-Aubry Fabrice
Exploitation de droits mal dfinis sur des fichiers Peut tre couple avec une attaque de type race condition Le meilleur exemple : /tmp
{ 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
Le but
%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
SSI
Legond-Aubry Fabrice
315
SSI
Legond-Aubry Fabrice
Principe :
Systme multitches (de nombreux processus) Profiter du systme un instant o il est vulnrable
Exploit moins difficile raliser que lattaque par dbordement Il suffit de runir les conditions pour que cela arrive
Applicable aux fichiers (en particulier aux fichiers sur /tmp) Les scripts de par leur lenteur (langage interprt) y sont trs sensibles
Comme dhabitude
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
317
SSI
Legond-Aubry Fabrice
318
Erreur sur HP/UX et SunOS, avec passwd Droulement normal des oprations
1. 2. 3. 4. 5.
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 ?
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Utilis dans beaucoup de distribution linux Purge rgulirement les /tmp des fichiers Souffre du bugs de courses de vitesse Sur les anciennes versions
1.
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
Systme multitche
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
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.
Un exemple
SSI
Legond-Aubry Fabrice
321
SSI
Legond-Aubry Fabrice
322
Eviter lutilisation de fichier autant que possible (surtout dans les scripts shell)
TROP DANGEREUX !
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
utiliser mkstemp()
mktemp ne fixe pas les droits tempnam utilise la variable denvironnement TMP
Module SSI - 20/11/2005 323
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 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
SSI
Legond-Aubry Fabrice
325
SSI
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
ID
Options
Question
Rponse
divers
Serveur secondaire
SSI
Legond-Aubry Fabrice
327
SSI
Legond-Aubry Fabrice
328
Si, on ne peut pas sniffer, lattaquant peut essayer de prdire lID pour engendrer une attaque Sous Windows 95
Mthode 1
1 requte et X rponses spoofes en temps trs limit Attaque bas sur un paradoxe apparent :
p = X / 216
LID est le nombre de req. DNS en cours ! Nombre alatoire puis incrmental
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 !
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.
Et si cest alatoire ?
Module SSI - 20/11/2005 329
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
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
Dploiement de DNSSec
Module SSI - 20/11/2005 332
SSI
Legond-Aubry Fabrice
331
SSI
Legond-Aubry Fabrice
Scurit des donnes et des transactions (MAJ) sp Attaques sp cifiques de services Architecture de distribution des clefs
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)
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
334
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
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
SSI
Legond-Aubry Fabrice
SSI
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"; }
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)
Il suffit de disposer dun fichier contenant des commandes Buffer overflow sur des services locaux non accessibles de lextrieurs
http://server.com/nmap.pl?w%77w.ya%68%6Fo.com%3B%6Cs
Legond-Aubry Fabrice 338
SSI
Legond-Aubry Fabrice
337
SSI
Exemple PERL :
$pageurl= $realpath . $DATA{ 'adPath' } . ".html"; open(FILE,"$pageurl")||die "can't open $pageurl: $!\n"; @lines= <FILE>; close( FILE );
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 }
Si open(f,
/toto/$file")
alors ../bin/ls|
Exemple display.pl :
http://server.com/display.pl?%6Cs%7C
Module SSI - 20/11/2005 339
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
340
CSS = Cross Site Scripting CSS renomm en XSS pour viter la confusion
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
Solution : Initialiser la main toutes vos variables ! Eviter les appels systmes Certains langages ont des modules de scurit
Qui collecte les informations Renvoi sur un lien officiel pour camoufler lattaque
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
342
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 !
http://www.example.com/search.pl?text=<script>alert(document.cookie)</script>
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
document.cookie , document.location.replace
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
344
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
Addresse forge
/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
mySQL="SELECT LastName, FirstName, Title, Notes, Extension FROM Employees WHERE (City = " & strCity & " )"
Requte SQL
Requte SQL
SQLString = "INSERT INTO TableName VALUES ('" & name & "', '" & email & "', '" & phone & "')"
Name: ' + (SELECT TOP 1 FieldName FROM TableName) + ' Email: blah@blah.com Phone: 333-333-3333
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
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
Plan de cours
Introduction Attaques gnriques de services
Backdoors/ Backdoors /Rootkits
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
Moyen :
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
350
But
Moyens :
Pouvoir revenir sur une machine mme aprs scurisation Revenir en laissant le moins de traces possibles
Activer un compte avec un UID/GID 0 (sync) SUID une copie de votre shell favori
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)
SSI
Legond-Aubry Fabrice
351
SSI
Legond-Aubry Fabrice
352
De lart du camouflage !!
Ces modifications laissent des traces visibles !! Dans tous les cas, si on modifie le systme :
last affiche les dernires connexions ls , ps affiche les fichiers et les processus netstat , lsof affiche les connexions ouvertes ifconfig affiche si la carte est en mode promiscuous La lecture des droits sur les /dev/tty* ayant les droits root Les logs contiennent plein dinfos
Module SSI - 20/11/2005 354
Utilisation de /dev/kmem pour changer uid/gid Le mail rgulier de /etc/passwd ou ypcat par crond Installation dun service (root) qui peut
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
353
SSI
Legond-Aubry Fabrice
De lart du camouflage !!
Lobjectif suivant est donc de camoufler ces traces aux utilisateurs (root inclus) !! But :
Backdoors/ Backdoors /Rootkits
Utilisation des commandes who , w , finger Ces fichiers utilisent le log /var/run/utmp Il est possible de modifier le fichier pour effacer lutilisateur !
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
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
356
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
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
init_module, cleanup_module
Caractristiques de linsertion
Copie le code de lespace utilisateur vers le noyau le code du module Excute la fonction init_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
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
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
mv moduleInfecte.o moduleOrig.o
SSI
Legond-Aubry Fabrice
361
SSI
Legond-Aubry Fabrice
362
Rootkit :
Des outils dattaque (sur un service) Des outils de camouflage (LKM) Des outils de portes drobes (backdoor) Knark
Cacher un fichier
rappel sous linux, /proc est un systme de fichier Action sur le VFS ou directement sur les FS
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
364
Plan de cours
Introduction Attaques gnriques de services
Outils de protection Outils de protection
Attaques spcifiques de services Modules de noyaux et trappe Backdoors / Rootkits Outils de protection Audit et check-list
SSI
Legond-Aubry Fabrice
365
SSI
Legond-Aubry Fabrice
366
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 garantie que les oprations restent dans les limites prvues
Outils de protection
Excution du programme
Edition de /etc/ld.so.preload
overflow sur le buffer dest overflow sur le buffer overflow sur le buffer dest
SSI
Legond-Aubry Fabrice
367
SSI
Legond-Aubry Fabrice
368
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
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
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
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
Si la valeur est correct, on revient attention aux appels rcursifs tout de mme
Module SSI - 20/11/2005 371
http://www.phrack.org/show.php?p=56&a=5
Module SSI - 20/11/2005 372
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Compatibilit
La version scuritaire de varargs nest pas compatible avec lexistant Linterdiction de %n peut bloquer certains programmes Linterdiction de printf dynamique peut aussi bloquer des programmes (GNU Intl library)
Outils de protection
Outils de protection
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
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
373
SSI
Legond-Aubry Fabrice
Hardening Kernels
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
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
NoX
X et R
RW
Adresse ELF dynamique, la pile dexcution Interdire les adresses fixes et les droits en excution
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
376
Protection du FS
Protection de FS
Renforcement du chroot
Signaux limits, mount/chmod/mknod/ptrace interdit Interdire les doubles chroot, restriction sur les priorits
Outils de protection
Outils de protection
Audit du noyau
Restriction daccs
Consultation seulement les processus que lon possde Ne pas accder dmesg, aux symboles et modules noyaux /proc seulement pour root ou un groupe particulier Liens symboliques interdit sur un rpertoire +t / un autre uid Empche un processus de suivre un lien interdit
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
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
Outils de protection
Outils de protection
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
Inutile sur les interprteurs de script (ex: Perl) On peut en limiter les effets de linterdiction
Protection glibc (ignorer le LD_PRELOAD) et programme ld Limiter les appels de ptrace root (et peuvent tre journaliser)
Module SSI - 20/11/2005 379
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
380
Protection rseau
Outils de protection
Limiter louverture de certains type de socket Interdire louverture de socket certains groupes
Outils de protection
Nom: Mandatory Access Control (MAC) Dfinition des droits daccs aux ressources Une ressource peut tre interdit mme root
Divers
Limite le changement des touches root Activer/dsactiver la configuration dynamique des options de scurit Changer le noms des fichiers core-dump
Ex: coredump-nomprocessus.PID
SSI
Legond-Aubry Fabrice
381
SSI
Legond-Aubry Fabrice
382
grSecurity
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)
SSI
Legond-Aubry Fabrice
383
SSI
Legond-Aubry Fabrice
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
Mmoire
45% de la RAM non utilise 99.9% du temps 25% de la RAM jamais utilis
Outils de protection
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
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
Cration dun /chrootjail/etc/passwd SANS compte root Cration des rpertoires ncessaires au service Copie des fichiers de configuration dans notre /chrootjail/etc
/chrootjail/dev/zero, /chrootjail/dev/null
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
388
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
Outils de protection
En particulier pour /usr/share/local/fr Ne pas oublier le chown et chmod sur les fichiers!
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
390
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
Outils de protection
Outils de protection
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
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
Plan de cours
Introduction Attaques gnriques de services
checkAudit et check -list
Xen
Outils de protection
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
SSI
Legond-Aubry Fabrice
393
SSI
Legond-Aubry Fabrice
394
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
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
SSI
Legond-Aubry Fabrice
395
SSI
Legond-Aubry Fabrice
SSI
Legond-Aubry Fabrice
397