• Aucun résultat trouvé

Une nouvelle approche de détection d'intrusions et étude des problèmes liés au déploiement de politiques de sécurité dans les réseaux informatiques

N/A
N/A
Protected

Academic year: 2021

Partager "Une nouvelle approche de détection d'intrusions et étude des problèmes liés au déploiement de politiques de sécurité dans les réseaux informatiques"

Copied!
131
0
0

Texte intégral

(1)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

FACULTÉ DES SCIENCES

Rabat

N°d’ordre : 2553

THÈSE DE DOCTORAT

Présentée par :

Ali KARTIT

Discipline: Sciences de l’ingénieur

Spécialité : Informatique et Télécommunications

Une nouvelle approche de détection d’intrusions et étude des

problèmes liés au déploiement de politiques de sécurité dans les

réseaux informatiques

Soutenue le : 05/11/2011

Devant le jury composé de:

Président :

M. Driss ABOUTAJDINE, PES (FS, Rabat, Maroc)

Examinateurs:

M. Mohamed EL MARRAKI, PES (FS, Rabat, Maroc) M. Mohamed RZIZA, PH (FS, Rabat, Maroc)

Mme. Salma MOULINE, PH (FS, Rabat, Maroc)

(2)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

Les travaux présentés dans ce mémoire ont été effectués au sein de laboratoire LRIT " Laboratoire de Recherche en Informatique et Télécommunications " à la faculté des sciences de Rabat (FSR). Il n'aurait pas pu voir le jour sans le soutien de nombreuses personnes que je tiens à remercier.

Je tiens tout d'abord à remercier mon directeur de thèse Mohamed El MARRAKI, professeur de l’enseignement supérieur à la faculté des sciences de Rabat, qui grâce à sa disponibilité et rigoureux conseils, j'ai pu entamer, développer et mener à terme ce travail. Qu'il trouve ici l'expression de toute ma gratitude.

Je remercie également Driss ABOUTAJDINE, professeur de l’enseignement supérieur à la faculté des sciences de Rabat et directeur du LRIT, qui m'a fait l'honneur de présider le jury et qui m'a permis d'intégrer ce laboratoire. Je le remercie pour ses commentaires et ses nombreuses questions.

Je remercie sincèrement tous ceux qui ont bien voulu prendre part à ce jury :

 À Salma MOULINE, Professeur Habilité à la faculté des sciences de Rabat qui a accepté d'examiner cette thèse. Je la remercie pour tout l'intérêt qu'elle a manifesté pour ce travail.  À Mohamed RZIZA, Professeur Habilité à la faculté des sciences de Rabat et Ahmed

HAMMOUCH, professeur de l’enseignement supérieur à l’ENSET de Rabat qui ont accepté d'être les rapporteurs de ma thèse. Je les remercie pour le temps consacré à ce travail ainsi qu'à leurs remarques et suggestions qui ont contribuées à améliorer le rapport.

Je remercie tous mes collègues doctorants /docteurs pour tous les échanges intéressants que nous avons eus durant la période de la thèse.

Je dédie cette thèse à ma femme Naciri Hasnaâ et à ma petite fille Yasmine. Merci de m'avoir supporté (dans tous les sens du terme) pendant ces années. Sans oublier de dédier ce travail à tous mes frères et mes sœurs.

Enfin, mes remerciements les plus chaleureux vont vers tous ceux qui m’ont toujours encouragé et soutenu depuis le début de cette thèse.

(3)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

Table des matières

Introduction générale

a Introduction…………….12

b Problématique ……….13

c Contribution ………13

d Organisation de la thèse ………..14

Partie N°1 : Généralités sur la sécurité des réseaux informatiques

Chapitre 1 : Historique et quelques définitions de base

1.1 Historique………

17

1.2 Définitions de base…………..18

Chapitre 2 : Systèmes contribuant à la sécurité des réseaux informatiques

2.1 Systèmes de détection d'intrusions……….23

2.1.1 Définition ………

23

2.1.2 Vulnérabilité des systèmes………

..

23

2.1.3 Audit de sécurité ……….23

2.1.4 Classification des systèmes de détection d'intrusions……….24

2.1.4.1 Approche par scénarios……….24

2.1.4.2 Approche comportementale………...25

2.1.5 Utilisation des agents mobiles dans les systèmes de détection d'intrusions………26

2.1.5.1 Agent mobile

……….27

2.1.5.2 Architecture du système avec les agents mobiles………...28

2.1.6 Outils de détection d'intrusions………

...

28

2.2 Pare-feux (Firewalls)…………...29

2.2.1 Définition………

29

2.2.2 Principe de fonctionnement………

30

2.2.2.1 Filtrage statique (stateless packet filtering)………

…..

30

2.2.2.2 Filtrage dynamique (Stateful Inspection)………

….

31

2.2.2.3 Filtrage applicatif………..31

2.3 Systèmes Cryptographiques...…………....31

2.3.1 Définition………31

2.3.2 La cryptographie forte ………....31

2.3.3 Principe de fonctionnement de la cryptographie……….32

2.3.4 Cryptographie conventionnelle………...32

2.3.4.1 Le chiffre de César ………....32

2.3.4.2 Gestion de clé et chiffrement conventionnel………

.

33

2.3.5 La cryptographie à clé publique ……….33

(4)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

2.3.7 Gestion des clés ………

………

..

36 2.3.8 Signatures numériques………36 2.3.9 Fonctions de hachage ……….37 2.3.10 Certificats numériques………..

.

38 2.3.11 Validité et confiance……….

.

39 2.3.12 Contrôle de la validité ………..

.

40

2.3.13 Méta-avals et avals de confiance ……….

.

40

2.3.14 Modèles de confiance ………

..

.

40

2.3.14.1 Confiance directe ………

.

41

2.3.14.2 Confiance hiérarchisée………

….

41

2.3.14.3 Réseau de confiance………

….

41

2.3.15 Niveaux de confiance dans PGP……...

....

42

2.4 Conclusion.…………...43

Partie N°2 : Politiques de sécurité et Problèmes liés au déploiement

Chapitre 3 : Politiques de sécurité

3.1 Définition des propriétés d’une politique de sécurité ………..46

3.1.1 Confidentialité ………46

3.1.2 Intégrité ………

..

46

3.1.3 Disponibilité ………

...

47

3.1.4 Principe et Propriétés dérivées ………

...

47

3.2 Politique de sécurité ……………...49

3.2.1 Définition générale ……….50

3.2.2 Garantie d’une politique de sécurité ………...50

3.3 Contrôle d’accès ………..51

3.3.1 Contrôle d’accès discrétionnaire ………52

3.3.1.1 Modèle de Lampson ………

...52

3.3.1.2 Modèle HRU ………...52

3.3.1.3 Modèle TAM ………..53

3.3.1.4 Discussion ………...54

3.3.2 Contrôle d’accès mandataire ………..54

3.3.2.1 Modèle Bell et LaPadula ………55

3.3.2.2 Modèle Biba ………...56

3.3.2.3 Modèle DTE ………...57

3.3.2.4 Discussion ………

…..

59

Chapitre 4 : Formalisation et évaluation des politiques

4.1 Présentation des langages d’évaluation……….61

4.2 Concepts introduits et formalismes utilisés………...61

4.2.1 Présentation de P3P……….61

4.2.2 Présentation d’APPEL……….62

(5)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

4.3 Formalisation des règles en ELAN……………65

4.3.1 Définitions des types………...65

4.3.2 Définitions des signatures………66

4.3.3 Les règles de réécriture………66

4.3.4 Exemple de réécriture………..68

4.4 Réalisation du prototype d’évaluation………………...69

4.4.1 Les balises gérées par l’évaluateur………

..

69

4.4.2 Intégration dans un navigateur………

69

4.4.3 Choix faits pour l’évaluation………...69

4.5 Conclusion…………….70

Chapitre 5 : Optimisation des politiques de sécurité

5.1 Positionnement de problème………..72

5.2 Concept d’optimisation d’une ACL et algorithme utilisé…………….72

5.2.1 Structure de données utilisée………...72

5.2.2 Algorithme d'analyse d’ACL………...73

5.2.2.1 Définitions………

..

73

5.2.2.2 L’algorithme d’optimisation utilisé « optimise»………75

5.3 Conclusion…………………….77

Chapitre 6 : Déploiement des Politiques de sécurité au sein de Pare-feu

6.1 Préambule………79

6.2 Pare-feu et politique de sécurité………

79

6.3 Déploiement des politiques de sécurité………

….

80

6.3.1 Déploiement de type I………

….

80

6.3.2 Déploiement de type II………

81

6.4 Conclusion………81

Partie N°3 : Systèmes de détection d’intrusions et nouveaux modèles

Chapitre 7 : vue générale sur les systèmes de détection d’intrusions

7.1 Les systèmes de détections d'intrusions………......84

7.1.1 Classification des systèmes de détection d'intrusions ……….84

7.1.2 Qualités requises des systèmes de détection d'intrusions ………...86

7.2 Méthodes de détection d'intrusions………......

.

86

7.2.1 Détection d'intrusions comportementale ………86

7.2.1.1 Approche statistique ………..86

7.2.1.2 Apprentissage automatique ………

...

87

7.2.1.3 Approche immunologique ……….87

7.2.1.4 Spécification des programmes ………

..

88

7.2.1.5 Fouilles de données et théorie d'information ………88

7.2.2 Détection d'intrusions basée sur la connaissance ………...89

(6)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

7.2.2.2 Automate et logique temporelle ………90

7.2.2.2.1 Machines à états finis ……….90

7.2.2.2.2 Réseau de Pétri ………...90

7.2.2.2.3 Logique temporelle ………

90

7.2.3 Algorithmes génétiques ………..90

7.2.4 Fouille de données ………..91

7.2.5 Filtrage de motifs ……….

..

91

7.2.6 Avantages et inconvénients des méthodes de détection ………

92

7.3 Limites de la détection d'intrusions basée réseau avec filtrage de motifs …………

.

93

7.3.1 Problèmes du filtrage de motifs ………

.93

7.3.1.1 Attaques d'évasion ………

…………..

94

7.3.1.1.1 Techniques d'évasion ………

94

7.3.1.1.2 Solutions contre les attaques d'évasion ……….95

7.3.1.2 Génération de faux positifs ………96

7.3.2 Problèmes de la détection basée réseau ………

….

97

7.3.2.1 Haut débit ……….

.

97

7.3.2.2 Commutation et routage asymétrique ………97

7.3.2.3 Chiffrement des données ………98

7.3.2.4 Suivie des attaques ……….98

7.3.2.5 Attaques d'évasion………..98

7.4 Stratégie pour une détection d'intrusions basée réseau …………….98

7.4.1 Phase de la division du trafic ………...98

7.4.2 Phase de la détection d'intrusions………

..

99

7.5 Conclusion………

………

….100

Chapitre 8 : Les langages de description d'attaques

8.1 Classification des langages………...102

8.2 Les langages d'exploit………...102

8.3 Les langages d'événements………

…..

102

8.4 Les langages de détection…………….103

8.5 Les langages de corrélation d'alertes………..103

8.6 Les langages de description d'alertes…………

.

104

8.7 Les langages de réaction………...104

8.8 Récapitulatif des langages ………...…………..104

8.9 Conclusion……….

....

106

Chapitre 9 : Une nouvelle méthode de détection d'intrusions

9.1 Problématique………....108

9.2 Catégories d’attaques de sécurité………

.

108

9.3 Système à trois niveaux de sécurité………..109

9.3.1 Niveau 1 : Stratégies de protection externe.………

….

109

9.3.2 Niveau 2 : Politiques de sécurité fonctionnelle.………

109

9.3.3 Niveau 3 : Politiques de sécurité opérationnelle.………

..

110

9.4 Architecture générale du système proposé………..110

9.5 Diagramme du système proposé………...111

(7)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

Conclusion générale et perspectives

a Conclusion générale.……….114

b Perspectives.………..114

Bibliographie………

...116

(8)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

Table des figures

Fig1 : Modèle de détection pour l'approche par scénarios………..24

Fig2 : Modèle de détection pour l'approche comportementale………25

Fig3 : Couche physique d'un système de détection d'intrusions par des agents mobiles………27

Fig4 : L'emplacement du pare-feu………...30

Fig5 : Chiffrement conventionnel………32

Fig6 : Chiffrement à clé publique………34

Fig7 : Fonctionnement de chiffrement de PGP ……….35

Fig8 : Fonctionnement de déchiffrement de PGP………..35

Fig9 : Signature numérique simple………..37

Fig10 : Signature numérique sécurisée………..38

Fig11 : Anatomie d’un certificat………...39

Fig12 : Confiance hiérarchisée………..41

Fig13 : Exemple d’automate à états finis représentant les états d’un système………..50

Fig14 : Configuration DTE pour apache………...58

Fig15 : Interaction agent utilisateur / Serveur web………62

Fig16 : Extrait d’un fichier APPEL………...63

Fig17 : Exemple de formalisation des règles en ELAN………65

Fig18 : Comparaison d’ensembles de balises………66

Fig19 : Module d’évaluation……….69

Fig20 : Relations des règles………...74

Fig21 : Vérification de la redondance………...74

Fig22 : Vérification de fusion………...75

Fig23 : Classification des systèmes de détection d'intrusions………...85

Fig24 : Détection d'intrusions avec filtrage de motifs………...91

Fig25 : Techniques d'évasion………94

Fig26 : Stratégie d'analyse du trafic réseau……….100

Fig27 : Langages de détection par corrélation d'événements/alertes………..106

Fig28 : Catégories d’attaque de sécurité………..108

Fig29 : Architecture générale du système de sécurité à trois niveaux……….111

(9)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

Liste des tableaux

Tab1 : Règles de configuration d'un pare-feu………29

Tab2 : Exemple de règles de firewall………....63

Tab3 : Exemple de mappage entre les attributs d’une ACE et le nœud d’arbre à intervalle……….72

Tab4 : Deux politiques de pare-feu………...79

Tab5 : Réponses aux attaques des systèmes de détection d'intrusions………..85

Tab6 : Comparaison des deux principes de détection d'intrusions………93

Tab7 : Techniques d'évasion………..95

(10)

Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 37 77 18 34/35/38, Fax: +212 (0) 37 77 42 61, http://www.fsr.ac.ma

(11)
(12)

12 a. Introduction

Les réseaux informatiques sont devenus des ressources vitales et déterminantes pour le bon fonctionnement des entreprises. Mais l'ouverture facile au monde extérieur via des réseaux connectés à Internet rend l'entreprise plus vulnérable aux attaques. Ces attaques peuvent avoir de graves conséquences comme en témoignent ces dernières années.

Par exemple en février 2000 un événement marquant est l'attaque par déni de services répartie (DDos) qui a paralysé plusieurs sites web populaires dont CNN, Amazon.com, Yahoo et eBay.

Par ailleurs, les possibilités d'accéder aux systèmes informatiques s'accroissent avec l'impulsion de nouvelles technologies telles que les réseaux privés virtuels (VPN) et les réseaux Ad-hoc.

Ces techniques offrent à des utilisateurs détachés physiquement l'opportunité de se connecter au réseau de l'entreprise. Cependant les attaquants peuvent en profiter pour accéder au réseau local et perturber les communications internes. Ils disposent de plusieurs outils à emploie facile pour réussir leurs exploits. D'après une étude faite à l'Université de Carnegie Mellon, les programmes d'attaques deviennent de plus en plus dangereux et nécessitent moins d'expertise ce qui expose les entreprises à des menaces d'intrusions supplémentaires.

En outre, les attaquants profitent des logiciels point-à-point en pleine expansion tels que Kazaa, eMule et Napster [173]. Ces utilitaires ouvrent des chemins directs pour accéder à des machines distantes appartenant au réseau cible. De plus elles contribuent à la propagation rapide des virus et des vers sur les réseaux d'entreprises. Enfin elles constituent des moyens faciles d'échange de connaissances et d'outils d'attaques entre les intrus.

Par conséquent sécuriser les accès réseaux, les données confidentielles et les serveurs devient un des premiers soucis de l'entreprise. Les dirigeants investissent de plus en plus afin de mieux protéger les réseaux informatiques. Ils acquièrent les nouvelles technologies de routeurs et de pare-feux aux coûts élevés. Ils s'intéressent également à la détection d'intrusions pour déceler les attaques à l'entrée du réseau et saisir les intrusions à l'intérieur du réseau local ou celles passées inaperçues à travers d'autres outils de sécurité. En effet, les systèmes de détection d'intrusions analysent en permanence les données disponibles sur le système informatique. Ils découvrent les scénarios d'attaques et les exploitations non conformes du système informatique. Cette surveillance contribue à éviter le renouvellement des attaques en bloquant les sources d'attaque et en corrigeant les vulnérabilités du système. De plus une détection précoce d'un scénario d'attaque permet de stopper rapidement son développement et par suite éviter des dégâts plus graves.

Suite à leur grand intérêt, les systèmes de détection d'intrusions (IDS) [125] connaissent de nos jours un essor important et constituent un investissement des entreprises. Ils sont déployés dans des zones précises du réseau ou sur des machines particulières pour compléter le travail des pare-feux et détecter les attaques passées inaperçues. Considérés comme une dernière barrière de sécurité, les IDS sont capables de comprendre la nature et les caractéristiques du trafic réseau afin de mieux détecter les intrusions. Les administrateurs adaptent les IDS aux services déployés sur leurs réseaux. Ils les configurent pour détecter par exemple les attaques sur les services Web et découvrir la présence des portes dérobées et les balayages de ports. Par conséquent, ils réduisent les risques d'intrusions et accentuent la sécurité du réseau. Cette protection exige néanmoins la bonne configuration de l'IDS et la définition et le respect d'une politique de sécurité réseau [174] qui inclut entre autres la gestion des incidents informatiques.

En parallèle à cette recherche académique, des outils de gestion des pare-feux tels que Cisco ASA, Cisco FWSM, Juniper Networks NetScreen Series Security Systems et Check Point 3D Securityont gagné en popularité avec les administrateurs réseau. Les outils de gestion intuitive fournissent des interfaces utilisateur graphiques (GUI) pour faciliter la spécification des politiques, donner des services publics pratique pour la détection des erreurs et l'optimisation de la règle. Quand un

(13)

13

administrateur réseau est satisfait de la politique configurée par le biais de l'interface graphique, il indique à l'outil de gestion de la déployer. L'outil de gestion se traduit alors par les changements nécessaires des politiques dans un format reconnu par le pare-feu, généralement sous la forme de lignes de commandes dans le texte, et les envoie au pare-feu afin que la nouvelle politique devienne la politique en cours d'exécution. En effet, un outil de gestion vise à atteindre quatre buts fondamentaux lors du déploiement de politiques de sécurité: l'exactitude, la confidentialité, la sécurité et la vitesse. b. Problématique

Un pare-feu est un dispositif de protection se trouvant sur la frontière des réseaux, contrôle la circulation des informations entre les différentes zones de confiance et sert de première ligne de défense contre les accès non autorisés ou malveillants.

Le processus de configuration de règles de pare-feu est difficile et génératrice d’erreurs. Des études ont montré qu'il est probable que la majorité de véritables politiques de pare-feu du monde présentent des erreurs de configuration. La taille et la complexité des topologies de réseau sont toujours en augmentation, c’est le cas donc pour la taille et la complexité des politiques de pare-feu. La configuration manuelle de ces politiques est clairement devenue une mission impossible, même pour les administrateurs réseau chevronnés. Une fois qu’une politique de sécurité a été bien conçue, le problème qui est posé c’est comment déployer cette politique nouvellement conçue afin qu’elle remplace l’ancienne politique en cours d’exécution au sein de pare feu. Cette mise à jours de politiques des pare- feux doit se faire d’une façon correcte et sécurisée.

Les méthodes de détection d’intrusions traditionnelles s’intéressent aux intrusions provenant de l’extérieur de système informatique à sécuriser. En effet, des études ont montré que plus de 70% des attaques proviennent de l’intérieur de réseau de l’entreprise, ce qui fait que les systèmes de détection d’intrusions classiques sont incapables d’analyser tout le trafic interne et externe, vue le grand nombre d’informations qu’il contient, afin de trouver un comportement anormal. Donc, il faut proposer un nouveau modèle qui sera capable de détecter les intrusions provenant de l’intérieur et de l’extérieur de système informatique en question.

c. Contribution

Beaucoup de travaux de recherche ont traité de la spécification des politiques, la détection des conflits et le problème d’optimisation, mais très peu de travaux se sont intéressés au déploiement de politiques. Dans le chapitre 6, nous fournissons un algorithme correct et sûr qui va nous permettre de déployer une politique de sécurité cible afin qu’elle remplace celle en cours d’exécution. Ce travail a fait l’objet d’une publication dans un journal international [52], de trois communications internationales avec comité de lecture {[164], [165], [166]} et de deux communications nationales sans comité de lecture {[170], [171]}. Nous adoptons et implémentons la solution VPN/SSH pour garantir la sécurité lors de déploiement de la politique cible, ce travail a fait également l’objet de deux publications dans deux journaux internationaux cités dans {[162], [168]} et d’une communication internationale avec comité de lecture [167]. Nos résultats expérimentaux montrent que cet algorithme est très correct et peut être utilisé en toute sûreté, même pour le déploiement de politiques dont la taille est très importante.

Les techniques de détection d’intrusions tentent de faire la différence entre une utilisation normale du système et une tentative d’intrusion et donnent l’alerte. Typiquement, les données d’audit du système sont parcourues à la recherche de signatures connues d’intrusion, de comportements anormaux ou d’autres choses intéressantes. La détection peut être faite en temps réel ou en tant qu’analyse

(14)

post-14

mortem. Si la détection est en temps réel, le programme peut donner l’alerte, auquel cas le personnel qualifié pourra tenter de remédier à l’intrusion, en coupant le réseau ou en remontant la piste. Mais il peut probablement arriver après la fin de l’intrusion. Le programme peut également être couplé à un dispositif de contre-mesures pour pallier la lenteur humaine du personnel. Dans tous les cas, les techniques de détection d’intrusions seules n’empêcheront pas l’intrusion.

Les techniques de prévention d’intrusion (IPS) consistent à concevoir, implémenter et configurer le système assez correctement pour que les intrusions ne puissent avoir lieu, ou au moins soient sévèrement gênées.

Lors d’une attaque ou d’une tentative d’intrusion sur un système, le ou les attaquants engendrent un ensemble d’actions (i.e. d’interactions) violant une des propriétés de sécurité. Cette violation se traduit par l’exécution d’une seule interaction ou d’un ensemble d’interactions. Notre étude des propriétés de sécurité fait clairement apparaître la nécessité de considérer les séquences d’interactions ou leurs corrélations.

Dans le chapitre 9, nous proposons une nouvelle approche pour les systèmes informatiques complexes, basée sur une politique de sécurité à trois niveaux. Chaque niveau se charge de protéger le système informatique des attaques venant de l’intérieur et de l'extérieur à la fois. Cette politique globale de sécurité permettra à l'administrateur des systèmes de sécurité non seulement de détecter les attaques, mais aussi pour l'avertir à propos de cette intrusion et en interdire l'accès à l'ensemble des réseaux. Ce travail a fait l’objet de deux publications internationales citées dans {[161], [163]} et de deux communications internationales avec comité de lecture citées dans {[169], [172]}. En effet, c’est un modèle général et complet qui garantit plus de propriétés de sécurité et qui a été expérimenté sur des systèmes virtuels et des réseaux de petites tailles afin de détecter des attaques qui ne sont pas traitées par les autres solutions. En plus, notre solution combine les avantages offert par l’utilisation des politiques de sécurité au sein des pare-feux qui constituent la première barrière pour les attaquants et la robustesse et l’efficacité de notre approche de détection d’intrusions à trois niveaux qui est considérée comme une dernière barrière de sécurité.

d. Organisation de la thèse

Ma thèse s’articule autour de trois grandes parties :

Dans la première partie, nous faisons un rappel sur les généralités sur la sécurité des réseaux informatiques. Ensuite, nous décrivons les systèmes qui contribuent dans la sécurité des réseaux informatiques à savoir les pare-feux, les systèmes de détection d’intrusion et les systèmes cryptographiques.

La deuxième partie explique en détail la notion de la politique de sécurité, aborde les problèmes de formalisation et d’évaluation de politiques, décrit les techniques d’optimisation d’une telle politique et en fin, présente les problèmes liés au déploiement de ces politiques au sein d’un pare-feu.

La troisième partie fait un rappel sur les systèmes de détection d’intrusion classiques qui s’articulaient sur deux approches principales dites approche comportementale et approche par scénarios, elle présente une nouvelle approche dite « Three Levels Security Policy » ou bien « politique de sécurité à trois niveaux » pour la détection et la prévention d’intrusions dans un système informatique complexe.

(15)

15

Partie N°1 : Généralités sur la sécurité

(16)

16

Chapitre 1 : Historique et quelques

définitions de base

(17)

17 1.1 Historique

De plus en plus d'entreprises ouvrent leur système d'information à leurs partenaires ou leurs fournisseurs grâce au développement de l'utilisation d'internet, il est donc essentiel de connaître les ressources de l'entreprise à protéger et de maîtriser le contrôle d'accès et les droits des utilisateurs du système d'information. Il en va de même lors de l'ouverture de l'accès de l'entreprise sur internet. Par ailleurs, avec le nomadisme, consistant à permettre aux personnels de se connecter au système d'information à partir de n'importe quel endroit, les personnels sont amenés à « transporter » une partie du système d'information hors de l'infrastructure sécurisée de l'entreprise.

À la fin des années 1950, la sécurité informatique ne concernait que les ordinateurs : les salles machines étaient protégées et gardées, les bacs à carte étaient enfermés dans des locaux sécurisés, le chiffrement utilisait des techniques électromécaniques simples.

La sécurité telle qu’on l’entend aujourd’hui naît avec le temps partagé au début des années 60 : quand un ordinateur exécute plusieurs tâches à la fois il faut s’assurer que le processus d’un utilisateur ne puisse pas espionner le processus d’un autre.

La mise en réseau des ordinateurs a commencé au début des années 70. Elle a nécessité des progrès dans le chiffrement, apportés notamment par les systèmes à clé publique. Ces progrès sont à la base du développement du commerce sur l’Internet dans les années 90.

Si les progrès du chiffrement ont été substantiels, la sécurité de l’Internet et des programmes informatiques reste insuffisante. Il est difficile de repérer sur l’Internet les interlocuteurs auxquels on ne doit pas faire confiance : un quart des ordinateurs sont parasités par des vers et la moitié des messages sont du spam.

Par ailleurs la lutte contre le terrorisme s’oppose à la protection des réseaux et des ordinateurs, que les services de renseignement veulent pouvoir pénétrer. La NSA mène sur l’Internet un programme d’écoute universel.

Certaines histoires d'intrusions sont bien connues, elles ont été relayées par les médias, et font aujourd'hui partie de la légende du piratage informatique. Voici quelques faits :

En 1994, un ingénieur de MCI communication a été inculpé pour avoir intercepté plus de 60.000 numéros de cartes depuis un central téléphonique.

En 1995, à l’âge de 31 ans, Kevin Mitnick, a été arrêté pour avoir volé plus de 20.000 numéros de cartes de crédits, en pénétrant des ordinateurs de Pacific Bell, Digital Equipment Corporation et en détournant pour environ 1 million de dollars d'informations volées.

En 2007, la chaîne de magasins américaine a enduré un coup dur après qu'il ait été découvert que des pirates avaient exfiltré des données bancaires pendant une période de près de 18 mois. L'ampleur de l'attaque s'est révélée au fur et à mesure des mois. Ainsi alors qu'il était initialement question du vol de 45 millions de numéros bancaires, le bilan s'est alourdi pour passer à 94 millions.

Cependant, aussi inquiétantes que puissent être ces histoires, elles ne représentent qu'une infime partie du problème. Accompagnant la croissance du nombre de machines interconnectées dans Internet et la

(18)

18

conscience dans le grand public du développement des "Autoroutes de l'Information", le nombre d'intrusions explose littéralement. La nécessité d’une protection efficace s’est donc naturellement imposée.

1.2 Définitions de base

Dans cette section, nous allons donner un ensemble de définitions de base qui sont très utilisées dans le domaine des réseaux et la sécurité des systèmes informatiques.

Réseau informatique : ensemble d’ordinateurs et de terminaux interconnectés pour échanger des informations numériques.

LAN (Local Area Network) : réseau local, intra entreprise permettant l’échange de données et le partage de ressources.

MAN (Metropolitan Area Network) : réseau métropolitain qui permet la connexion de plusieurs sites à l’échelle d’une ville.

WAN (Wide Area Network) : réseau à l’échelle d’un pays, généralement celui des opérateurs. Le plus connu des WAN est Internet.

SAN (Storage Area Network) : est un réseau de stockage à part entière. Le SAN est un réseau dédié au stockage attaché aux réseaux de communication de l'entreprise. Les ordinateurs ayant accès au SAN possèdent donc une interface réseau spécifique reliée au SAN, en plus de leur interface réseau traditionnelle.

VPN (Virtual Private Network) : est vu comme une extension des réseaux locaux et préserve la sécurité logique que l'on peut avoir à l'intérieur d'un réseau local. Il correspond en fait à une interconnexion de réseaux locaux via une technique de « tunnel ». On parle de VPN lorsqu'un organisme interconnecte ses sites via une infrastructure partagée (publique ou dédiée) avec d'autres organismes.

IPSec (Internet Protocol Security, RFC 2401) : est un protocole de la couche 3 du modèle OSI. C’est un protocole destiné à fournir différents services de sécurité. Il propose ainsi plusieurs choix et options qui lui permettent de répondre de façon adaptée aux besoins des entreprises, nomades, extranets, particuliers, etc... Néanmoins, son intérêt principal reste sans conteste son mode dit de tunneling, c'est-à-dire d'encapsulation d'IP qui lui permet entre autres choses de créer des réseaux privés virtuels (ou VPN en anglais). Cette technologie à pour but d'établir une communication sécurisée (le tunnel) entre des entités éloignées, séparées par un réseau non sécurisé voir public comme Internet, et ce de manière quasi-transparente si on le désire.

SSL (Secure Sockets Layer) : est un procédé de sécurisation des transactions effectuées via Internet. Le standard SSL a été mis au point par Netscape, en collaboration avec Mastercard, Bank of America, MCI et Silicon Graphics. Il repose sur un procédé de cryptographie par clef publique afin de garantir la sécurité de la transmission de données sur internet. Son principe consiste à établir un canal de communication sécurisé (chiffré) entre deux machines (un client et un serveur) après une étape d'authentification.

(19)

19

SSH (Secure SHell) : est à la fois la définition d'un protocole et un ensemble de programmes utilisant ce protocole, destinés à permettre aux utilisateurs d'ouvrir, depuis une machine cliente, des sessions interactives à distance sur des serveurs et de transférer des fichiers entre les deux. La connexion entre le client et le serveur est encryptée. Les pirates, même s'ils contrôlent cette connexion, ne peuvent pas lire les données confidentielles (telles que des mots de passe) qui y transitent. La cryptographie à clefs publiques permet à SSH de garantir l'authentification mutuelle du client (utilisateur) et du serveur. Des pirates ne peuvent pas dévier une connexion vers un serveur sous leur contrôle. Le protocole SSH a été conçu avec l'objectif de remplacer les différents programmes : rlogin, Telnet et rsh.

TLS (Transport Layer Security) : anciennement nommé Secure Sockets Layer (SSL), est un protocole de sécurisation des échanges sur Internet, développé à l'origine par Netscape (SSL version 2 et SSL version 3). Il a été renommé en Transport Layer Security (TLS) par l'IETF suite au rachat du brevet de Netscape par l'IETF en 2001. Le groupe de travail correspondant à l'IETF a permis la création des RFC 2246 pour le TLS et RFC 4347 pour son équivalent en mode datagramme, le DTLS. Depuis son rapatriement par l'IETF, le protocole TLS a vécu deux révisions subséquentes : TLSv1.1 décrite dans la RFC 4346 et publiée en 2006 et TLSv1.2, décrite par la RFC 5246 et publiée en 2008.

Authentification : est la procédure qui consiste, pour un système informatique, à vérifier l'identité d'une entité (personne, ordinateur…), afin d'autoriser l'accès de cette entité à des ressources (systèmes, réseaux, applications…). L'authentification permet donc de valider l'authenticité de l'entité en question.

Confidentialité : a été définie par l'Organisation internationale de normalisation (ISO) comme « le fait de s'assurer que l'information n'est seulement accessible qu'à ceux dont l'accès est autorisé », et est une des pierres angulaires de la sécurité de l'information. La confidentialité est l'une des raisons d'être des cryptosystèmes, rendus possibles dans la pratique par les techniques de la cryptographie moderne. Intégrité : désigne l'état de données qui, lors de leur traitement, de leur conservation ou de leur transmission, ne subissent aucune altération ou destruction volontaire ou accidentelle, et conservent un format permettant leur utilisation. L'intégrité des données comprend quatre éléments : l'intégralité, la précision, l'exactitude/authenticité et la validité.

Non-répudiation : c’est le fait de ne pas pouvoir revenir sur le contenu d'un document électronique ou d'une transaction. Elle concerne la signature, c'est-à-dire: Comment prouver qu’un client a bel et bien passé une telle commande.

Virus : est un petit programme informatique situé dans le corps d'un autre, qui, lorsqu'on l'exécute, se charge en mémoire et exécute les instructions que son auteur a programmé. La définition d'un virus pourrait être la suivante : « Tout programme d'ordinateur capable d'infecter un autre programme d’ordinateur en le modifiant de façon à ce qu'il puisse à son tour se reproduire. »

Ver informatique (en anglais Worm) : est un programme qui peut s'auto-reproduire et se déplacer à travers un réseau en utilisant les mécanismes réseau, sans avoir réellement besoin d'un support physique ou logique (disque dur, programme hôte, fichier, etc.) pour se propager; un ver est donc un virus réseau.

(20)

20

Antivirus : est un programme capable de détecter la présence de virus sur un ordinateur et, dans la mesure du possible, de désinfecter ce dernier. On parle ainsi d'éradication de virus pour désigner la procédure de nettoyage de l'ordinateur.

Spyware (en français espiogiciel) : est un programme chargé de recueillir des informations sur l'utilisateur de l'ordinateur sur lequel il est installé (on l'appelle donc parfois mouchard) afin de les envoyer à la société qui le diffuse pour lui permettre de dresser le profil des internautes (on parle de profilage).

Chiffrement asymétrique (ou chiffrement à clé publique) : est une méthode de chiffrement qui s'oppose au chiffrement symétrique. Elle repose sur l'utilisation d'une clé publique (qui est diffusée) et d'une clé privée (gardée secrète), l'une permettant de coder le message et l'autre de le décoder. Ainsi, l'expéditeur peut utiliser la clé publique du destinataire pour coder un message que seul le destinataire (en possession de la clé privée) peut décoder, garantissant la confidentialité du contenu. Inversement, l'expéditeur peut utiliser sa propre clé privée pour coder un message que le destinataire peut décoder avec la clé publique ; c'est le mécanisme utilisé par la signature numérique pour authentifier l'auteur d'un message.

Chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement à clé secrète) : consiste à utiliser la même clé pour le chiffrement et le déchiffrement. Le chiffrement consiste à appliquer une opération (algorithme) sur les données à chiffrer à l'aide de la clé privée, afin de les rendre inintelligibles. Ainsi, le moindre algorithme (tel qu'un OU exclusif) peut rendre le système quasiment inviolable (la sécurité absolue n'existant pas).

Certificat électronique : est une carte d'identité numérique dont l'objet est d'identifier une entité physique ou non-physique. Le certificat numérique ou électronique est un lien entre l'entité physique et l'entité numérique (Virtuel). L'autorité de certification fait foi de tiers de confiance et atteste du lien entre l'identité physique et l'entité numérique. Le standard le plus utilisé pour la création des certificats numériques est le X.509.

RADIUS (Remote Authentication Dial In User Service) : est un réseau de protocole qui fournit des services centralisés d'authentification, d'autorisation et de comptabilité ( AAA ) de gestion pour les ordinateurs de se connecter et utiliser un service réseau. RADIUS est un protocole client / serveur qui s'exécute dans le couche d'application , en utilisant UDP comme le transport. Le serveur d'accès distant , le serveur de réseau privé virtuel , le commutateur de réseau avec l'authentification basée sur le port, et le Network Access Server (NAS) , sont toutes les passerelles qui contrôlent l'accès au réseau, et tous ont un composant client RADIUS qui communique avec le serveur RADIUS.

TACACS (Terminal Access Controller Access-Control System) : est un protocole d'authentification distante utilisé pour communiquer avec un serveur d'authentification, généralement utilisé dans des réseaux UNIX. TACACS permet à un serveur d'accès distant de communiquer avec un serveur d'authentification dans l'objectif de déterminer si l'utilisateur a le droit d'accéder au réseau.

ACL (Access control List) : les listes de contrôle d’accès sont des listes de conditions qui sont appliquées au trafic circulant via une interface de pare-feu. Ces listes indiquent au pare-feu les types de paquets à accepter ou à rejeter. L’acceptation et le refus peuvent être basés sur des conditions précises. Les ACL permettent de gérer le trafic et de sécuriser l’accès d’un réseau en entrée comme en sortie.

(21)

21

Système informatique : nous appellerons système informatique une ou plusieurs machines mises à la disposition de zéro, un ou plusieurs utilisateurs légitimes pour toutes sortes de tâches.

Intrusion : nous appellerons intrusion toute utilisation d’un système informatique à des fins autres que celles prévues, généralement dues à l’acquisition de privilèges de façon illégitime. L’intrus est généralement vu comme une personne étrangère au système informatique qui a réussi à en prendre le contrôle, mais les statistiques montrent que les utilisations abusives (du détournement de ressources à l’espionnage industriel) proviennent le plus fréquemment de personnes internes ayant déjà un accès au système.

Mécanisme d’audit : nous appellerons mécanisme d’audit toute partie de code du système informatique dont le but est de reporter des informations sur les opérations qu’il lui est demandé d’accomplir.

Journal d’audit : nous appellerons journal d’audit l’ensemble des informations générées par les mécanismes d’audit.

Événement : étant donné un niveau de granularité, nous appellerons événement toute opération élémentaire. Par extension, nous appellerons également événement le report de celui-ci par un mécanisme d’audit.

Flux d’audit élémentaire : nous appellerons flux d’audit élémentaire une suite temporelle reportant les événements se produisant sur une même partie du système et traduisant son comportement.

Flux d’audit : nous appellerons flux d’audit une suite temporelle d’événements, pouvant être l’entremêlement de plusieurs flux élémentaires.

Détection d’intrusions : la détection d’intrusions consiste à analyser les informations collectées par les mécanismes d’audit de sécurité, à la recherche d’éventuelles attaques. Bien qu’il soit possible d’étendre le principe, nous nous concentrerons sur les systèmes informatiques. Les méthodes de détection d’intrusions diffèrent sur la manière d’analyser le journal d’audits.

(22)

22

Chapitre 2 : Systèmes contribuant à la

sécurité des réseaux informatiques

(23)

23 2.1 Systèmes de détection d'intrusions

2.1.1 Définition

Un système de détection d'intrusions (IDS) est un mécanisme destiné à repérer des activités anormales ou suspectes sur une cible donnée afin de remédier aux problèmes dans les plus brefs délais. Vu leur utilité pratique, les IDS ont été étudiés massivement durant les 20 dernières années dans le but d'améliorer leur efficacité. Les fruits de ces études sont des différentes classes d'IDSs qui se basent sur différentes techniques de détection dont chacune est mieux appropriée pour un contexte bien particulier. Entre autres, nous trouvons les systèmes de détection d'intrusions qui basent leurs décisions sur des informations trouvées dans des machines hôtes et appelés HIDS et les systèmes de détections d'intrusions qui fondent leurs décisions uniquement sur des informations qui circulent dans un réseau et qui sont appelés NIDS. Plus de détails sur les différentes classes des IDS ainsi que leur évolution sont disponibles dans [1].

Dans ce qui suit, nous donnons, en premier lieu, un bref aperçu sur les vulnérabilités des systèmes informatiques ainsi que la notion d'audit de sécurité. Ensuite nous introduisons les deux grandes approches d'IDS les plus utilisées : l'approche comportementale et l'approche par scénarios. Nous continuons avec une méthode récente basée sur l'utilisation des agents mobiles pour la détection d'intrusions. Nous terminons cette section par présenter quelques outils de détection d'intrusions. 2.1.2 Vulnérabilité des systèmes

Une attaque est une exploitation d'une vulnérabilité présente dans un système. De ce fait, réduire les attaques ne peut se faire qu'avec une bonne compréhension du système et des possibles sources de vulnérabilité afin de trouver les remèdes convenables. Le mot vulnérabilité exprime toutes les faiblesses des ressources informatiques qui peuvent être exploitées par des personnes malintentionnées. Dans [2], D. Denning explique la présence de vulnérabilités dans des systèmes d'informations par, entre autres, les raisons suivantes :

 Une bonne sécurité coûte généralement très chère et la plupart des organismes n'ont pas le budget suffisant pour s'offrir ce besoin.

 Les outils de sécurité utilisés ne peuvent pas être sûrs à 100%, voir qu'ils sont souvent inefficaces.

 Les politiques de sécurité sont couramment complexes, incomplètes et parfois inconsistantes.  Les bugs dans les programmes qui sont courants et qui sont toujours exploitables par les

attaquants.

 Les faiblesses dues à la gestion et à la configuration des systèmes. 2.1.3 Audit de sécurité

L'audit de sécurité permet d'enregistrer tout ou une partie des actions effectuées sur le système. L'analyse de ces informations permet de détecter d'éventuelles intrusions. Les systèmes d'exploitation disposent généralement d'un système d'audit intégré. Les différents événements du système sont enregistrés dans un journal d'audit qui devra être analysé fréquemment, voire en permanence. Dans les réseaux, il est indispensable de se disposer d'une base d'audit permettant d'estampiller et d'enregistrer certains événements.

Selon les travaux de Mé et Alanou indiqué dans [1], il s'agit de collecter des informations concernant les différentes composantes (processus, mémoire, fichiers, entrées/sorties, etc.) du système afin de comprendre le "qui a fait à quoi, quand et comment?" et d'empêcher les intrusions dans la mesure du possible. L'audit permet également d'obtenir des informations relatives à chaque application (le

(24)

24

lancement ou l'arrêt des différents modules, les variables d'entrée et de sortie et les différentes commandes exécutées). D'autres informations sur les violations éventuelles de la sécurité (exemple : tentatives de commandes non autorisées) ainsi que des statistiques sur l'utilisation de certaines composantes (cpu, réseau, etc.) du système peuvent également être collectées.

2.1.4 Classification des systèmes de détection d'intrusions

2.1.4.1 Approche par scénarios

Cette approche consiste à chercher dans les activités de l'entité surveillée les empreintes ou les signatures d'attaques connues. Chacune de ces signatures décrit une attaque bien précise et chaque attaque peut être détectée par un seul ou une séquence d'événements obtenus à partir d'une ou plusieurs sondes (collecteur d'informations). Ces derniers permettent de classifier tous les événements d'attaques qui peuvent provenir, soit d'un hôte (exemple : fichiers audit, trace d'exécution des commandes, etc.), soit d'un réseau. La figure 1 représente un modèle générique de système de détection d'intrusions adapté pour l'approche par scénarios. Cette démarche est très similaire à celle des outils antivirus et présente les mêmes inconvénients que ceux-ci. Il est aisé de comprendre que ce type d'IDSs ne peut détecter que les attaques dont ils possèdent les signatures. Ils nécessitent également des mises à jour régulières de leur base de signatures et leur efficacité dépend du contenu de cette base. Si les signatures sont erronées ou incorrectement conçues, l'ensemble du système est par conséquent inefficace. Ce modèle est par contre très simple à implémenter et à optimiser.

Fig. 1 : Modèle de détection pour l'approche par scénarios.

Plusieurs mécanismes ont été proposés afin de localiser les signatures d'attaques dans les traces d'audit. Parmi ces mécanismes, on peut citer :

 Analyse des transitions d'états : Les signatures d'attaques sont vues comme des systèmes de transitions étiquetées. En partant d'un état initial et en analysant les séquences d'actions effectuées sur le système, nous pouvons détecter des états indésirables qui reflètent des tentatives d'intrusions.

 Réseaux de neurones : Les réseaux de neurones sont souvent utilisés pour répartir en différentes classes une population (un ensemble d'individus). Pour la détection d'intrusions, la

(25)

25

population est l'ensemble d'actions effectuées sur le système et on cherche à les répartir en au moins deux classes : les actions malicieuses ou douteuses et les actions non malicieuses. Grâce à leur flexibilité et leur rapidité, les réseaux de neurones permettent de faire une analyse efficace du flux d'audit en temps réel. Il est cependant difficile de comprendre dans tous les cas les raisons qui ont amené à placer une action dans une classe ou dans une autre.

 Reconnaissance de forme (Pattern Matching) : Il s'agit de représenter les signatures d'attaques par des séquences abstraites (avec possibilité d'inclure des variables) d'événements, de modéliser le trafic par une séquence concrète d'actions et de voir s'il est possible de les unifier. 2.1.4.2 Approche comportementale

Cette approche à été proposée par J. Anderson dans [3] en 1980, puis révisée et étendue dans [4] par D. Denning en 1987. Elle consiste à détecter si un utilisateur a fait un comportement anormal par rapport à ses habitudes. Elle utilise pour cela un modèle statistique développé par Denning dans [4] et elle se base sur un profil du comportement normal de l'utilisateur, au vu de plusieurs variables aléatoires. Lors de l'analyse, on calcule un taux de déviation entre le comportement courant et le comportement passé.

Fig. 2 : Modèle de détection pour l'approche comportementale.

Si ce taux dépasse un certain seuil, le système déclare qu'il est attaqué. Par exemple, un employé qui travaille dans une compagnie et qui se connecte la nuit à certaines heures, en plus de la journée pourrait amener l'IDS à signaler un comportement inhabituel.

Le principal avantage des IDS comportementaux est la détection de nouveaux types d'attaques. En effet, ces IDS ne sont pas programmés pour reconnaître des attaques spécifiques mais plutôt pour signaler toute activité anormale. La figure 2 montre un exemple de modèle de détection utilisant l'approche par profil. Cette dernière utilise le profil construit à partir des événements passés pour le comparer aux événements actuels du collecteur [5]. Cependant, cette approche peut entraîner beaucoup de fausses alertes comme il est possible de ne pas détecter certaines attaques. L'approche comportementale est basée sur plusieurs techniques, on citera dans ce qui suit quelques-unes :

 Observation de seuils : Il s'agit de l'utilisation de la méthode de classification de BAYE (observation du seuil). Cette méthode permet de fixer le comportement normal d'un utilisateur par la donnée de seuils à certaines mesures (par exemple le nombre maximum de mots de passe erronés). Si le comportement d'un utilisateur dévie sur la valeur du seuil, le model de détection génère une alarme.

(26)

26

 Profilage des utilisateurs [6] : L'idée est d'établir des profils individuels de chacun des usagers du système. Au fur et à mesure que l'utilisateur change ses activités, son profil de travail attendu se met à jour. Il reste cependant difficile de déterminer un profil pour un utilisateur irrégulier ou très dynamique.

 Profilage des groupes : Pour réduire le nombre de profil à gérer, on classe les utilisateurs par groupes. Le profil d'un groupe est par la suite calculé en fonction de l'historique de ses activités. On vérifie que les individus du groupe travaillent d'une manière uniforme et ne dévient pas par rapport à ce qui a été défini comme profil du groupe. Cependant, il n'est pas évident de trouver le groupe le plus approprié à une personne. D'ailleurs, il est parfois nécessaire de créer un groupe à un seul individu.

 Profilage d'utilisation de ressources : Il s'agit d'observer l'utilisation de certaines ressources (comme les CPU, les ports de communication, les comptes, les applications, la mémoire) sur de longues périodes et de comparer les activités courantes par rapport à ce qui a été observé dans le passé. On peut aussi observer les changements dans l'utilisation des protocoles réseau et rechercher les ports qui voient leur trafic augmenter anormalement. Les expériences ont montré, cependant, qu'il est difficile d'interpréter les écarts par rapport au profil normal.  Profilage de programmes exécutables : Certains virus, chevaux de Troie et d'autres

programmes malveillants peuvent être détectés en profilant la façon dont les objets du système comme les fichiers ou les imprimantes sont utilisées par les programmes de confiance. En d'autres termes, le profilage de programmes exécutables consiste à observer l'utilisation des ressources du système par certains programmes exécutables dans le but de détecter des déviations par rapport à ces comportements. On peut par exemple détecter le fait qu'un serveur se met à écouter sur des ports autres que ceux qu'il utilise d'habitude.

 Profilage statistique : Denning a défini dans [4] une approche statistique permettant de modéliser les comportements des utilisateurs d'un système. Ce modèle statistique permet de déterminer, au vu de n observations : r1,..., rn faites sur une variable x, si la valeur xn+1 de l'observation (n+1) est acceptable ou non. Explicitement, un profil est constitué d'un ensemble de mesures représentant certaines statistiques sur des événements (exemple : nombre de fois qu'une commande système particulière a été exécutée par un utilisateur, nombre de quantums du temps CPU occupés par un programme, etc.) pendant une certaine période de temps.  Approche immunologique : L'approche immunologique tente de reproduire le comportement

des systèmes immunologiques réels pour faire la différence entre ce qui est normal et ce qui ne l'est pas. En fait, l'approche comportementale se base sur la connaissance de ce qui est bien et vérifiée en permanence que l'activité du système est normale. L'approche immunologique propose de rechercher ce qui est mal en connaissant ce qui est bien. En clair, l'approche immunologique consiste à construire un modèle de comportement normal des services à travers des courtes séquences d'appels système. En phase d'apprentissage, on construit une base de séquences d'appels normaux à partir de l'observation d'un service pendant un certain temps. Toute séquence étrangère à cet ensemble est considérée comme une potentielle intrusion.

2.1.5 Utilisation des agents mobiles dans les systèmes de détection d'intrusions

Le domaine de recherche sur les agents mobiles est relativement récent (voir [7]). Le concept d'agents mobiles dans le réseau est apparu en 1994 avec Telescript de General Magic [8] qui ont proposé un système fermé pour le commerce électronique. Les agents sont des entités capables de migrer leur exécution d'une place à une autre via l'instruction go, de rencontrer d'autres agents sur la même place via l'instruction meet et de communiquer avec d'autres agents sur d'autres places par des connections

(27)

27

permettant l'envoi de messages. Beaucoup de travaux de recherche ont été effectués dans le but d'affiner les environnements de développement des systèmes d'agents mobiles, d'approfondir cette nouvelle forme d'architecture des réseaux et de faire valoir son impact sur l'existant en matière de communication et de services. Le but de cette section est de présenter, une vue globale sur l'utilisation des agents mobiles dans les systèmes de détection d'intrusions.

2.1.5.1 Agent mobile

Un agent mobile est défini dans [9] comme étant un programme autonome qui peut se déplacer de son propre chef, de machine en machine sur un réseau hétérogène dans le but de détecter et de combattre les intrusions. Cet agent mobile doit être capable de s'adapter à son environnement, de communiquer avec d'autres agents, de se déplacer et de se protéger. Pour ce dernier point, une des fonctions de l'agent doit être l'identification et l'authentification pour donner l'emplacement et l'identité de celui qui l'a lancé.

Il est également défini dans [10] comme étant «une entité logicielle qui fonctionne de manière

continue et autonome dans un environnement particulier...capable d'effectuer des activités de manière flexible et intelligente qui réagit bien aux changements d'environnement... Idéalement, un agent fonctionnant continuellement… serait capable de s'enrichir de ses expériences. De plus, nous attendons d'un agent qu’il puisse cohabiter avec d'autres dans un même environnement et accomplir ses tâches en communicant et en coopérant avec eux, voir même effectuer cela en se déplaçant sur différents postes».

Le principal avantage de l'utilisation des agents mobiles est la mobilité des ces derniers sous forme des entités indépendantes. Ils peuvent être ajoutés ou retirés d'un système sans altérer les autres composants et ils peuvent être aussi testés seuls avant d'être introduits dans des environnements plus complexes. En outre, ils peuvent faire parti d'un groupe et fournir alors des fonctions simples mais qui peuvent être échangées de façon à donner des résultats plus complexes qu'ils ne pourraient pas obtenir seuls. Le fait qu'il n'y ait pas de programme principal qui se sert des autres modules comme esclaves mais plutôt la présence de plusieurs entités intelligentes qui collaborent, fait que si une des entités s'arrête, le système continue son fonctionnement.

(28)

28 2.1.5.2 Architecture du système avec les agents mobiles

Cet exemple est donné dans [10] pour mettre en place des systèmes de détection d'intrusions utilisant des agents mobiles pour la collecte des données et leur analyse en employant une structure hiérarchique. Celle-ci permet une grande souplesse par sa faculté à s'adapter à la dimension du réseau. La figure 3 montre un exemple simple d'IDS qui adhère à l'architecture des agents mobiles pour les systèmes de détection d'intrusions. Cette figure montre les trois composantes essentielles de l'architecture : agents, transmetteurs et moniteurs (ou contrôleurs).

Un système de détection d'intrusions basé sur des agents mobiles peut être distribué sur un nombre quelconque de stations au sein d'un réseau. Tous les agents d'une station rapportent les résultats de leurs recherches à un ou plusieurs transmetteurs. Ces transmetteurs surveillent les opérations effectuées par tous les agents. Ils ont la capacité de lancer, d'arrêter et d'envoyer des commandes de configuration à ces agents. Ils peuvent également réaliser de la compression de données à partir des informations reçues par les agents. Finalement, ils rapportent leurs résultats à un ou plusieurs moniteurs. Ces derniers surveillent les opérations de plusieurs transmetteurs à la fois. Ils ont accès aux données du réseau de manière étendue et de là ils sont capables d'effectuer des corrélations de haut niveau et de détecter des intrusions impliquant plusieurs machines. Ils peuvent être organisés hiérarchiquement de telle sorte qu'ils réfèrent eux-mêmes leurs activités à un contrôleur supérieur. Aussi, un transmetteur peut reporter ses activités à plus d'un contrôleur pour fournir des informations redondantes permettant de résister à une panne provenant de l'un d'entre eux. Pour finir, un contrôleur est responsable de fournir des informations et d'obtenir des commandes de contrôle à partir d'une interface utilisateur.

Pour conclure cette section, si les agents mobiles possèdent des avantages importants, les inconvénients qu'ils engendrent ne sont pas négligeables. Cependant, l'approche par agents mobiles semble pouvoir donner des résultats meilleurs que les autres technologies et la recherche est entrain de développer une nouvelle architecture pour cette technologie.

2.1.6 Outils de détection d'intrusions

Depuis les années 80, divers outils des systèmes de détection d'intrusions ont été développés. On cite dans ce qui suit les plus importants :

a. NIDS (Network Based Intrusion Detection Systems)

Ce sont les systèmes les plus connus en pratique [11] et ils peuvent être assimilés à un sniffer permettant de capturer et de décoder toutes les trames qui transitent par les segments sur lesquels ils sont connectés. Toutefois, contrairement à un sniffer, cette sonde analyse les paquets IP dans leur intégralité afin de repérer des signatures d'attaques déjà connues ou des anomalies dans les entêtes des paquets. Un exemple de ce système est l'outil Snort [12].

b. HIDS (Host Based Intrusion Detection Systems)

Ils représentent le complément naturel des NIDS. Les HIDS [13] utilisent des informations d'audit provenant essentiellement de la machine à protéger à partir de diverses sources (traces d'audit système, historique des commandes exécutées, etc.) pour la détection des comportements malicieux. Plus précisément, ils peuvent offrir les services suivants :

 Contrer les attaques provenant des applications installées sur le système protégé.  Vérifier l'intégrité des fichiers sensibles.

(29)

29

 Corréler les fichiers journaux en provenance d'applications ou d'équipements tiers tels que les routeurs, les pare-feux et les commutateurs.

Un exemple de ce système est l'outil Tripwire [14].

c. IDES (Intrusion Detection Expert System)

Les IDES [15] stipulent que le comportement d'un utilisateur reste presque inchangeable au cours d'une courte période de temps et que la manière dont il se comporte peut être résumée en calculant diverses statistiques sur son comportement. Les IDES construisent les profils des groupes (des utilisateurs censés avoir des comportements proches les unes des autres) et tentent de corréler le comportement actuel d'un utilisateur avec son comportement passé et le comportement passé de son groupe. Un exemple de ce système est l'outil P-BEST [16].

d. NIDES (Next Generation Intrusion Detection Expert System)

Les NIDES [17] qui sont la continuation des IDES, fonctionnent sur une machine dédiée et indépendante du système surveillé. Le système cible chiffre son audit et il le transmet à la machine de surveillance via le réseau. Le NIDES apprend les habitudes du système cible en étudiant les événements d'accès aux fichiers et aux répertoires, la consommation de ressources, l'activité réseau, les activités des programmes, etc. Il s'appuie sur une approche statistique (modèle de Denning) et une approche qui repose sur les systèmes experts pour tirer ses conclusions. Un exemple de ce système est l'outil LAMBDA [18].

2.2 Pare-feux (Firewalls)

Le but de cette section est de présenter une autre technique très efficace et plus utilisée avec les systèmes de détection d'intrusions dans le but de renforcer la sécurité des réseaux : il s'agit des pare-feux. Ces derniers sont utilisés pour contrôler, analyser, sécuriser et gérer le trafic dans les réseaux. Cela permet d'utiliser le réseau de la façon pour laquelle il a été prévu et d'empêcher les accès non-autorisés. Un pare-feu contient généralement un ensemble de règles prédéfinies permettant de rejeter ou d'autoriser des connexions et/ou des paquets. De ce fait, la protection d'un réseau local qui utilise des pare-feux (matériels ou logiciels) des accès non autorisés revient à configurer ces derniers d'une manière correcte par rapport aux contraintes de sécurité spécifiées. Plus de détails sur cette technique de sécurisation sont disponibles dans [19].

Règle Action IP Source IP Destination Protocole Port Source

Port Destination 1 Accept 196.168.10.20 200.154.192.3 tcp any 23 2 Accept any 196.168.10.3 tcp any 80 3 Accept 196.168.10.0/24 any tcp any 80 4 Accept any any any any any

Tab. 1 : Règles de configuration d'un pare-feu 2.2.1 Définition

Les pare-feux (firewalls) sont des dispositifs physiques (matériels) ou logiques (logiciels) conçus pour contrôler le trafic entre le réseau interne et le réseau externe en autorisant uniquement la circulation du trafic qui ne viole pas la politique de sécurité mise en place (voir Fig. 4 ). Ils sont configurés via des règles de filtrages spécifiées par des experts en sécurité des réseaux. Quand un pare-feu reçoit un

Figure

Fig. 1 : Modèle de détection pour l'approche par scénarios.
Fig. 2 : Modèle de détection pour l'approche comportementale.
Fig. 3 : Couche physique d'un système de détection d'intrusions par des agents mobiles
Fig. 5 : Chiffrement conventionnel  2.3.4.1 Le chiffre de César
+7

Références

Documents relatifs

— images avec des vibrations sur les bordures + textures à l’intérieur des différentes zones de l’image (ondulations avec orientations et espacements différents).

J'ai raconté un épisode, mais ce qui a été le plus important pour moi c'est d'avoir connu le monde de la coopération, le travail de groupe, qui m'a aidé dans mes rapports avec

Revenons au système linguistique, qui est lui-même un système spécifique, vu sa nature complexe par rapport aux autres systèmes. Les données linguistiques sont traitées

Identifier le rôle de chaque instrument (batterie, clavier, guitares, basse, voix) Apprendre à utiliser le programme « garage band » et les possibilités. Se répartir les rôles :

La première étape d’un audit informatique et de faire une découverte des échanges effectués à travers le réseau ainsi que d’effectuer un scan des

Le Zone Labs Integrity est une solution client/serveur distribuée qui protège tous les réseaux d’ordinateur personnel (PC). La protection des points finals de multicouche

"visible", mais elle peut être captée par un microphone. Le signal électrique produit par celui être visualisé et étudié, il possède la même période que le

Dans un système de production d'énergie électrique: nucléaire- thermique classique et hydraulique comme celui exploité par Elec- tricité de France, les centrales hydroélectriques