WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Audit et definition de la politique de sécurité du réseau informatique de la first bank

( Télécharger le fichier original )
par Gustave KOUALOROH
Université de Yaoundé I - Master professionnel en réseaux & applications multimédia 2008
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

UNIVERSITE DE YAOUNDE I AFRILAND FIRST BANK

FACULTÉ DE SCIENCES AGENCE SIEGE - YAOUNDÉ

DÉPARTEMENT D'INFORMATIQUE DIRECTION DES SYSTÈMES D'INFORMATIONS

AUDIT ET DEFINITION DE LA POLITIQUE DE SECURITE DU RESEAU INFORMATIQUE DE LA FIRST BANK

Rapport de stage présenté et soutenu publiquement en vue de l'obtention du diplôme de :

MASTER 2 «RÉSEAUX ET APPLICATIONS MULTIMÉDIA»

Par :

KOUALOROH Gustave

Titulaire d'une Maîtrise en Informatique

Sous la direction de :

M. François DAGORN M. Jean Jacques MATJEI MATJEI Enseignant à l'Université de Rennes I Administrateur du réseau informatique

Encadreur académique Encadreur professionnel

Année académique 2006/2007

DEDICACES

A mes parents

A mon petit bébé KOUALOROH KEYAMPI Gustave Junior

REMERCIEMENTS

F Notre reconnaissance va tout d'abord à M. François DAGORN qui a bien voulu nous encadrer. Grâce à sa totale disponibilité et à sa volonté, nous avons pu surmonter certains obstacles.

F Nos remerciements vont également aux enseignants du département d'informatique de l'Université de Yaoundé I pour leurs précieux enseignements. Nous tenons à remercier particulièrement le chef de département M. Emmanuel KAMGNIA et le Coordonnateur du «MASTER 2 RESEAUX ET APPLICATIONS MULTIMEDIA» M. Gilbert TINDO pour leurs précieux conseils et leur dévouement pour le bon déroulement de notre formation.

F Ce travail étant le fruit d'un stage de quatre mois au sein de l'entreprise AFRILAND FIRST BANK sous la supervision de Mr. Guy Laurent FONDJO et de Mr. Jean Jacques MATJEI MATJEI, nous tenons à leur exprimer notre profonde gratitude pour leur disponibilité et leurs conseils permanents. Nous remercions également la Direction Générale de la banque qui a bien voulu nous accorder ce stage.

F Nous remercions tous les étudiants de la première promotion du « MASTER 2 RESEAUX ET APPLICATIONS » pour leur esprit de fraternité et de partage tout au long de cette formation.

F Nous adressons aussi nos remerciements à M. KENNE Mathurin, M. NDEZO Joseph, M. KUETE Jules, Mme MAGUITO Eveline, Mme TCHOUPOU Véronique, Mme KOGUIO Antoinette, M. KUETE Jules, M. DETEMBOU Moïse, M. FOPA Jean Pierre ; aux familles DOUMTSOP et TIFFA pour leur soutien financier et moral tout au long de nos études.

F Nous sommes reconnaissants envers nos camarades KENNE Sidoine, KENNE SONKOUE Darius, TATSILONG Henri, DOHOLA Beaudelaire, DOUYEM Etienne Robert, TCHOFOUO Eric, KEMBOU Jules, DOUANLA Hermann, KENNE Flore, DOUWE Vincent. Que ce travail soit pour eux source de motivation et d'encouragement.

F Nous remercions tout le personnel du Cabinet GIFEX pour son appui.

Gustave KOUALOROH

AVANT-PROPOS

Dans le cadre de la professionnalisation des enseignements, la Faculté des Sciences de l'Université de Yaoundé I à travers le département d'Informatique a introduit dans ses programmes pour le compte de l'année académique 2006/2007 un cycle de « Master 2 Réseaux et Applications Multimédia ». Cette formation professionnelle a pour objectif de mettre sur le marché de l'emploi des diplômés capables de :

§ concevoir et mettre en oeuvre des réseaux locaux et métropolitains,

§ administrer des réseaux et répondre de manière sécurisée aux exigences des utilisateurs,

§ développer des applications complexes basées sur la technologie WEB,

§ tirer partie de la convergence entre l'informatique et les télécommunications pour développer des services à forte valeur ajoutée,

§ intégrer des services qui manipulent sons, paroles et images dans le cadre d'applications multimédia.

Au terme de la formation, l'étudiant est tenu d'effectuer un stage académique d'une durée d'au moins quatre mois en entreprise sanctionné par un mémoire dont la note porte sur le travail réalisé, le rapport de stage et la présentation orale effectuée : chaque rubrique comptant pour un tiers de la note finale du module.

Le présent rapport fait suite au stage que nous avons effectué dans les locaux de l'entreprise AFRILAND FIRST BANK, agence siège à Yaoundé sis Hôtel de ville, du 07 avril au 30 juillet 2008 sous le thème « Audit et Définition de la politique de sécurité du réseau informatique de la First Bank ».

LISTE DES SIGLES ET ABREVIATIONS

AES

: Advance Encryption Standard - Algorithme de cryptographie symétrique

ANTIC

: Agence Nationale des Technologies de l'Information et de la Communication

ACID

: Analysis Console for Intrusion Databases

CERTA

: Centre d'Expertise Gouvernemental de Réponse et de Traitement des Attaques informatiques

CERT/CC

: CERT Coordination Center

CLUSIF

: Club de Sécurité de l'Information Français

CEI

: Commission Electrotechnique Internationale

CERT

: Computer Emergency Response Team

DES

: Data Encryption Standard

DMZ

: DeMillitarized Zone ou Zone démilitarisée

DECB

: Direction des Etudes et du Commercial Banking

DSIG 

: Direction des Systèmes d'Informations du Groupe

DFC

: Direction Financière et Comptable

EBIOS

: Expression des Besoins et Identification des Objectifs de Sécurité

FAI

: Fournisseur d'Accès à Internet

ISO

: International Standard Organisation

IPSec

: Internet Protocol Security

PIX

: Private Internet EXchange est un boîtier pare-feu actuellement conçu vendu par le groupe Cisco Systems

PKI

: Public Key Infrastructure ou Infrastructure à clés publiques

RSSI

: Responsable de Sécurité de Systèmes d'Informations

RSA

: Rivest Shamir Adleman - Algorithme de cryptographie à clefs publiques

SQL

: Structured Query Language

SI

: Système d'Informations

SMSI

: Système de Management de la Sécurité de l'Information

URL

: Universal Ressource Localisator

S0MMAIRE

DEDICACES I

REMERCIEMENTS II

AVANT-PROPOS III

LISTE DES SIGLES ET ABREVIATIONS IV

S0MMAIRE V

INTRODUCTION 1

PREMIERE PARTIE: AUDIT DE SECURITE DU RESEAU INFORMATIQUE DE LA FIRST BANK 4

1. ARCHITECTURE DU RESEAU INFORMATIQUE DU SIEGE DE LA FIRST BANK 4

2. LES MENACES SUR LE RESEAU INFORMATIQUE DE LA FIRST BANK 7

2.1. Menaces relevant des problèmes non spécifiques à l'informatique 7

2.2. Les pannes et erreurs (non intentionnelles) 7

2.3. Les menaces intentionnelles 8

3. SCAN DES PORTS AVEC NMAP 11

3.1. Description de Nmap 11

3.2. Différents types de scan 11

3.3. Différents états des ports 12

4. SCAN DES VULNERABILITES AVEC NESSUS 14

5. TESTS D'INTRUSIONS DIVERS ET VARIES 20

5.1. Résumé des étapes du hacker 20

5.2. Test d'intrusions sur le réseau de la First bank 20

6. DETECTION D'INTRUSIONS AVEC « SNORT » 23

6.1. Les prérequis pour l'installation de snort 24

6.2. Installation de l'outil snort 24

6.3. Test de Fonctionnement : 25

6.4. Liaison des logs de snort avec mysql : 25

6.5. Création de nouvelles règles 25

6.6. Mise en place d'ACID : 26

7. RECOMMANDATIONS 27

DEUXIEME PARTIE : DEFINITION DE LA POLITIQUE DE SECURITE DU RESEAU INFORMATIQUE DE LA FIRST BANK 32

1. OBJECTIF D'UNE POLITIQUE DE SECURITE RESEAU 32

1.1. Définir une analyse de risque 33

1.2. Principes génériques d'une politique de sécurité réseau 33

1.3. Niveaux d'une politique de sécurité réseau 37

1.4. Les différents types de politiques de sécurité 38

2. STRATEGIE DE SECURITE RESEAU 38

2.1. Méthodologie pour élaborer une stratégie de sécurité réseau 38

2.2. Propositions de stratégie de sécurité réseau 42

3. LES MODELES DE SECURITE 46

3.1. Le modèle I-BAC (Identity Based Control Access) 46

3.2. Le modèle R-BAC (Role Based Access Control) 46

3.3. Le modèle T-BAC (Task Based Access Control) 47

3.4. Le modèle V-BAC (View Based Access Control) 47

3.5. Le modèle T-MAC (Team Based Access Control) 48

3.6. Le modèle Or-BAC (Organization Based Access Control) 48

4. APPLICATION DU MODELE OR-BAC A LA DEFINITION DE LA POLITIQUE DE SECURITE RESEAU : CAS DU LAN DE PRODUCTION DU SIEGE DE LA FIRST BANK 56

4.1. Les organisations 56

4.2. Les sujets et rôles 57

4.4. Services offerts par le réseau local de l'Organisation et hiérarchisation : actions/activités 58

4.4. Définition des vues et hiérarchisation 59

4.5. Quelques Org_FB_Permissions 59

4.6. Dérivation des permissions 60

CONCLUSION 61

BIBLIOGRAPHIE I

ANNEXES : CAHIER DE CHARGES II

INTRODUCTION

L'informatique est devenue un outil incontournable de gestion, d'organisation, de production et de communication. Le réseau informatique de l'entreprise met en oeuvre des données sensibles, les stocke, les partage en interne, les communique parfois à d'autres entreprises ou personnes ou les importe à partir d'autres sites. Cette ouverture vers l'extérieur conditionne des gains de productivité et de compétitivité.

Il est donc impossible de renoncer aux bénéfices de l'informatisation, d'isoler le réseau de l'extérieur, de retirer aux données leur caractère électronique et confidentiel. Les données sensibles du système d'information de l'entreprise sont donc exposées aux actes de malveillance dont la nature et la méthode d'intrusion sont sans cesse changeantes. Les prédateurs et voleurs s'attaquent aux ordinateurs surtout par le biais d'accès aux réseaux qui relient l'entreprise à l'extérieur.

La sécurité du système d'information d'une entreprise est un requis important pour la poursuite de ses activités. Qu'il s'agisse de la dégradation de son image de marque, du vol de ses secrets de fabrication ou de la perte de ses données clients ; une catastrophe informatique a toujours des conséquences fâcheuses pouvant aller jusqu'au dépôt de bilan. On doit réfléchir à la mise en place d'une politique de sécurité avant même la création du réseau. Cependant, la sécurité des SI est souvent oubliée ou établie à postériori.

En ce qui concerne les normes de sécurité des SI, la famille de normes ISO 27000 constitue un véritable espoir pour les RSSI dans la mesure où elle apporte une aide indéniable dans la définition, la construction et la déclinaison d'un SMSI efficace à travers une série de normes dédiées à la sécurité de l'information :

§ ISO/CEI 27001  : système de Gestion de la Sécurité de l'Information (ISMS) -Exigences ;

§ ISO/CEI 27002 : code de bonnes pratiques pour la gestion de la sécurité de l'information (anciennement ISO/CEI 17799) ;

§ ISO/CEI 27003  : système de Gestion de la Sécurité de l'Information (ISMS) - Guide d'implémentation ;

§ ISO/CEI 27004 : mesure de la gestion de la sécurité de l'information ;

§ ISO/CEI 27005 : gestion du risque en sécurité de l'information ;

§ ISO/CEI 27006 : exigences pour les organismes réalisant l'audit et la certification de Systèmes de Gestion de la Sécurité de l'Information (ISMS) ;

§ ISO/CEI 27007  : guide pour l'audit de Systèmes de Gestion de la Sécurité de l'Information (ISMS).

Il existe également plusieurs méthodes d'analyse de risques selon les zones géographiques. Parmi ces dernières, nous pouvons citer :

§ EBIOS (Expression de Besoins et Identification des Objectifs de Sécurité) : méthode d'analyse des risques créée DCSSI (Direction Centrale de la Sécurité des Systèmes d'Information) du ministère français de la défense. Elle est destinée avant tout aux entreprises françaises et à l'administration ;

§ MELISA (Méthode d'évaluation de la vulnérabilité résiduelle des systèmes d'information) : méthode inventée par Albert Harari au sein de la   Direction Générale de l'Armement (DGA) en France. Elle a été abandonnée au profit de MEHARI ;

§ MARION (Méthodologie d'Analyse de Risques Informatiques Orientée par Niveaux) : elle a été développée par le CLUSIF dans les années 1980 mais a été abandonnée en 1998 au profit de la méthode MEHARI ;

§ MEHARI (MEthode Harmonisée d'Analyse de RIsques) : développée par le CLUSIF depuis 1995, suite à la fusion de deux anciennes méthodes MARION et MELISA ;

§ OCTAVE (Operationally Critical Threat, Asset, and Vulnerability Evaluation) a été créé par l'université de Carnegie Mellon (Etats-Unis) en 1999. Elle a pour but de permettre à une entreprise de réaliser par elle-même l'analyse des risques de leur SI, sans aide extérieure (consultants) ;

§ CRAMM (CCTA Risk Analysis and Management Method) a été inventée par   Siemens en Angleterre et est soutenue par l'état.

A côté de tous ces standards de sécurité et méthodes d'analyse de risques, certains pays ont développé un arsenal juridique pour réglementer le secteur de la sécurité informatique. Bien plus des entreprises ont souvent été créées pour veiller à l'application des politiques gouvernementales en la matière.

En France par exemple, la Direction Centrale de la Sécurité des Systèmes d'Information (DCSSI) a été créée et placée sous l'autorité de Secrétaire général de la défense nationale. Cette structure chargée entre autres de coordonner l'action gouvernementale en matière de la sécurité des SI, d'évaluer les menaces pesant sur les systèmes d'information, donner l'alerte, développer les capacités à les contrer et à les prévenir à travers les CERTA.

Au Cameroun, L'ANTIC, créée par Décret n° 2002/092 du 8 Avril 2002, a pour mission de promouvoir et de suivre l'action gouvernementale dans le domaine des technologies de l'information et de la communication.

Notre travail dans le cadre du présent mémoire a débuté par la rédaction d'un cahier de charges, questions de se fixer les idées sur ce qui convient de faire ou non pour répondre aux questions qui se cachent derrière le thème énoncé plus haut dans ce document. Le contenu de ce cahier de charge peut être consulté en annexe de ce document. Par la suite, nous avons suivi un plan de travail structuré en deux parties :

§ l'audit de sécurité du réseau informatique de la First Bank : ici nous commençons par faire un aperçu des menaces sur le réseau informatique de la First Bank, nous effectuons par la suite des tests de vulnérabilités et des tests d'intrusions, enfin nous faisons des recommandations pour une amélioration future de la sécurité de ce réseau informatique ;

§ la deuxième partie est consacrée à la définition d'un politique de sécurité du système d'information de la First Bank. Nous avons commencé cette partie par un état des lieux des méthodes des différents modèles de sécurité puis nous avons appliqué un de ces modèles de sécurité, Or-BAC en l'occurrence, dans le cadre de la définition de la politique de sécurité du LAN de production de la First Bank.

NB : pour des raisons de sécurité liées à la confidentialité des informations internes à la banque, les travaux effectués dans le cadre de ce travail n'ont pas été entièrement exposés dans le présent rapport. Un rapport plus complet notamment en ce qui concerne la première partie sur l'audit de sécurité est la propriété de l'entreprise Afriland First Bank.

PREMIERE PARTIE: AUDIT DE SECURITE DU RESEAU INFORMATIQUE DE LA FIRST BANK

L'audit sécurité d'un réseau informatique est un état des lieux de la sécurité du réseau informatique actuel avec des propositions permettant de résoudre les problèmes potentiels une fois l'audit sécurité effectué et les conclusions présentées par la partie effectuant cet audit.

Le présent audit a pour but d'évaluer les failles de sécurité du réseau et proposer des solutions aptes à corriger les vulnérabilités afin que le hacker ne puisse s'en servir. Nous commencerons tout d'abord par une présentation des menaces auxquelles l'entreprise fait face, ensuite nous effectuerons les tests de vulnérabilités et d'intrusions sur le réseau et nous terminerons par les recommandations portant sur d'éventuelles améliorations à apporter au réseau.

1. ARCHITECTURE DU RESEAU INFORMATIQUE DU SIEGE DE LA FIRST BANK

Afriland First Bank est une institution bancaire camerounaise à capitaux majoritairement africains dont le siège est situé à Yaoundé (quartier Hyppodrome). Elle est implantée dans plusieurs pays du continent noir ainsi qu'en France et en Chine. Au Cameroun, on dénombre quinze agences implantées dans les villes de Yaoundé (3 agences), Douala (4 agences), Bafoussam, Bamenda, Nkongsamba, Limbé, Ngaoundéré, Maroua, Garoua et Kousséri. Son réseau informatique au Cameroun est constitué de deux MAN dont un à Douala et l'autre à Yaoundé, puis d'un LAN dans chacune des autres agences ; le tout interconnecté formant ainsi une topologie en étoile étendue. Le réseau informatique du siège à Yaoundé, placé sous le contrôle de la DSIG comprend deux réseaux filaires de classe C. L'architecture actuelle a subi des modifications à la suite d'un audit du système d'informations avec à la clef des recommandations. Elle se présente comme suit :

Comme nous pouvons observer sur la figure ci-dessus, c'est un réseau modulaire qui comporte les blocs de distribution, d'administration et d'interconnexion.

Les blocs de distribution, situés à tous les niveaux de l'immeuble siège et des bâtiments annexes (DECB et DFC), sont constitués de armoires contenant :

§ des panneaux de brassage qui sont des équipements permettant de relier la source à plusieurs switchs.

§ des switchs permettant de connecter divers postes de travail aux réseaux.

Les blocks d'administration sont constitués des postes de travail permettant d'administrer les réseaux et les services réseaux contenues dans les différents serveurs (Serveur Middleware, Gacha, Delta, As Millenium, Antivirus, web/mail).

Les blocks d'interconnections contiennent des équipements de réception des signaux et d'interconnexion avec les autres agences.

Le coeur du réseau est en fibre optique avec des câbles de redondance (Câble FTP de catégorie 6) pour palier aux éventuelles pannes de la fibre optique.

2. LES MENACES SUR LE RESEAU INFORMATIQUE DE LA FIRST BANK

Une menace1(*) est un événement, d'origine accidentelle ou délibérée, capable s'il se réalise de causer un dommage au sujet étudié. Le réseau informatique de la First Bank comme tout autre réseau informatique est en proie à des menaces de toutes sortes qu'il convient de recenser.

2.1. MENACES RELEVANT DES PROBLÈMES NON SPÉCIFIQUES À L'INFORMATIQUE

Certaines menaces aux réseaux informatiques ne sont pas spécifiques à ce secteur. Parmi elles, nous pouvons citer :

§ les risques accidentels : incendie, explosion, inondation, tempête, foudre. Ici les techniques de prévention sont assez bien maîtrisées ;

§ les vols et sabotages de matériels : vols d'équipements matériels, destruction d'équipements, destruction des supports de sauvegarde ;

§ autres risques : départ du personnel stratégique, grèves, etc.

2.2. LES PANNES ET ERREURS (NON INTENTIONNELLES)

Ce sont :

§ pannes/dysfonctionnement du matériel ;

§ pannes/dysfonctionnement du logiciel de base ;

§ erreurs d'exploitation :

o oubli de sauvegardes,

o écrasement de fichiers ;

§ erreurs de manipulation des informations :

o erreurs de saisie,

o erreurs de transmission,

o erreurs d'utilisation ;

§ erreurs de conception des applications.

2.3. LES MENACES INTENTIONNELLES

C'est l'ensemble des actions malveillantes qui constituent la plus grosse partie du risque. Elles font l'objet principal des mesures de protection. Parmi elles, on compte les menaces passives et les menaces actives.

Les menaces passives sont :

§ les détournements des données (l'écoute sur le réseau à l'aide des sniffeurs2(*), les indiscrétions) : c'est le cas le cas de l'espionnage industriel, l'espionnage commercial, les violations déontologiques ;

§ les détournements de logiciels : les copies illicites par exemple.

Quant aux menaces actives, nous pouvons citer :

§ les modifications des informations : le fraude financière informatique ;

§ le sabotage des informations ;

§ les modifications des logiciels :

o le virus : c'est un programme qui se reproduit en s'insérant partiellement dans d'autres fichiers ;

o le ver : un ver (en anglais worm) est un programme qui se propage d'ordinateur à ordinateur via un réseau comme l'Internet. Ainsi, contrairement à un virus, le ver n'a pas besoin d'un programme hôte pour assurer sa reproduction. Son poids est très léger, ce qui lui permet de se propager à une vitesse impressionnante sur un réseau, et pouvant donc saturer ce dernier ;

o le spyware : ce logiciel espion est un logiciel nuisible qui transmet à des tiers des informations contenues dans votre ordinateur ;

o le hijacker : c'est un pirate de navigateur qui utilise les failles de sécurité d'Internet Explorer pour s'installer sur votre ordinateur. Ce genre de programme s'installe donc juste en surfant sur le net, souvent sur des sites de piratage, de jeux, de cracking, ou encore sites à caractère pornographique ;

o le troyen : un troyen (en anglais trojan horse) tire son nom du mythe du cheval de Troie. Ce programme a une apparence saine, souvent même attirante, mais lorsqu'il est exécuté, il effectue, discrètement ou pas, des actions supplémentaires. Ces actions peuvent être de toutes formes, comme l'installation d'une backdoor3(*) par exemple.

o la bombe logique : une bombe logique est un troyen qui, une fois exécutée, produira ses effets à un moment précis. Par exemple, la bombe logique Tchernobyl s'est activée le 26 avril 1999 (jour du 13ème anniversaire de la catastrophe nucléaire en Ukraine), mais la bombe peut également attendre une combinaison de touches bien précise de la part de l'utilisateur pour se déclencher ou attendre qu'un fichier s'exécute ;

o le hoax : un hoax (canular) est un courrier électronique contenant une fausse information. Si certains sont inoffensifs, d'autres peuvent être dangereux ;

o le spam : le spamming consiste à envoyer des messages appelés "spam" à une ou plusieurs personnes. Ces spams sont souvent d'ordre publicitaire ;

o le mailbombing : le mailbombing s'apparente un peu au spamming puisqu'il a pour but de provoquer une gêne pour la victime. Mais cette fois, le but n'est pas le même, il s'agit de saturer la boîte aux lettres électronique de la victime en envoyant plusieurs mails, des milliers par exemple ;

o le pishing : le phishing est très à la mode aujourd'hui et consiste à soutirer des informations confidentielles (comme les codes bancaires, ...) auprès des clients par usurpation d'identité ;

o le ransomware : le ransomware est un logiciel malveillant qui chiffre les données, les « prend en otage » et ne donne le mot de passe que lorsque la rançon a été versée. Des variantes plus agressives menacent d'effacer définitivement un fichier toutes les 30 minutes, jusqu'à ce que la rançon ait été versée. Le paiement d'une rançon est habituellement demandé via e-Gold ou Western Union afin de ne pas dévoiler à l'utilisateur la véritable identité du pirate. Cette technique d'abord utilisée en Russie s'est maintenant étendue au monde entier. Le ver Arhiveus et le cheval de Troie Zippo sont deux exemples de ransomware ayant sévi en 2006 ;

o le scareware : c'est un logiciel conçu pour faire croire aux utilisateurs d'Internet que leur PC est infecté ou qu'il est touché par un autre problème de sécurité et les encourager à acquérir une version « totalement opérationnelle » d'un logiciel qui désinfectera leur poste de travail.

Pour parvenir à leurs fins, les pirates ont recours à un certain nombre de stratagèmes pour maximiser le taux d'infections. Nous pouvons citer parmi les stratagèmes utilisés les suivants :

1. Accroissement de la portée des infections grâce au détournement de réputation : 83 pour cent des pages Web infectées par des malwares4(*) se trouvent sur des sites Web parfaitement légitimes5(*). Pour les auteurs de malwares, la manière la plus efficace et la moins coûteuse d'infecter des ordinateurs par l'intermédiaire du Web consiste à héberger leurs malwares à l'endroit où le plus grand nombre de personnes les verront. C'est précisément ce qu'ils font quand ils détournent la réputation de sites Web existants en attirant des utilisateurs qui se méfient d'autant moins qu'ils font confiance à la popularité et à la crédibilité de ces URL qui semblent sûres.

2. Dissimulation de l'attaque derrière un téléchargeur : au lieu de placer directement leur code malveillant sur une page Web, de nombreux cybercriminels insèrent des «téléchargeurs». Ces chevaux de Troie sont conçus pour éviter la plupart des mécanismes de défense. Ils contiennent très peu de code et ne contiennent pas par eux-mêmes de charge malveillante. Ce n'est qu'une fois installés sur un ordinateur qu'ils téléchargent cette charge à partir d'un autre site Web, souvent via un port différent.

3. Infection silencieuse par téléchargement passif : Pour que ce type d'infection se produise, il suffit qu'un utilisateur navigue sur le Web et visite une page infectée à l'aide d'un navigateur auquel aucun correctif n'a été appliqué. L'utilisateur n'a même pas besoin de cliquer sur des liens particuliers, ni d'ouvrir des fichiers précis. Son ordinateur devient infecté simplement parce qu'il a visité un site sur lequel les vulnérabilités connues du navigateur sont exploitées par l'auteur d'un malware.

4. Exploitation des noms de domaine résultant de fautes de frappe : Les pirates ont eu l'idée de créer des noms de domaine ressemblant à des sites parfaitement légitimes (par exemple, « Goggle » au lieu de « Google », ou un « .tv » à la fin au lieu de « .com »), ce qui leur permet d'utiliser des fautes de frappe courantes pour faire atterrir très simplement des utilisateurs sur leurs pages Web. Ces pages sont en quelque sorte des pièges, qui n'attendent que des proies à capturer et à infecter. Comme ces sites ressemblent généralement au site initialement souhaité, il est très facile d'obtenir du visiteur qu'il ouvre ou télécharge du contenu, d'autant que ce contenu semble sûr.

5. Utilisation d'attaques de spam à flux rapide pour envoyer des malwares : Alors qu'ils envoyaient souvent les malwares sous forme de pièces jointes aux messages électroniques, les pirates tendent aujourd'hui à envoyer des messages électroniques contenant des liens qui conduisent à des pages Web infectées. Derrière ces liens se cachent des armées d'ordinateurs infectés, appelés « botnets », qui font office d'hôtes Web. Les auteurs de malwares alternent constamment entre ces différents ordinateurs pour fournir une page d'accueil infectée toujours différente aux personnes qui suivent un lien. Cette opération consistant à modifier rapidement l'adresse IP de l'ordinateur qui héberge le malware est appelée « flux rapide ». Elle complique la tâche aux filtres en charge de détecter et de bloquer les attaques de spam correspondantes.

6. Toujours avoir une longueur d'avance sur les systèmes de défense de sécurité : Contrairement aux virus et aux vers véhiculés par messagerie, qui cessent d'être dangereux une fois qu'ils ont été éradiqués, les menaces Web modernes ne cessent d'être adaptées et modifiées afin d'esquiver les systèmes de défense. En présentant continuellement les menaces sous une forme différente, les pirates peuvent créer de nombreuses variantes mineures, dont certaines ne sont pas reconnues par les solutions de sécurité. Ce processus peut même être automatisé, ce qui permet aux criminels de générer plusieurs variantes d'un même malware le même jour.

La liste des menaces et stratagèmes que nous venons donner est loin d'être exhaustive. Nous avons surtout énuméré ici les menaces et stratagèmes les plus connues.

3. SCAN DES PORTS AVEC NMAP

Nmap est un outil d'exploration réseau et scanneur de ports/sécurité dont la syntaxe est la suivante : nmap [types de scans ...] [options] {spécifications des cibles}. Nmap existe aussi en mode graphique sous le nom « Zenmap GUI ».

Nmap permet d'éviter certaines attaques et aussi de connaître quels services tournent sur une machine. Une installation faite un peu trop vite peut laisser des services en écoute (donc des ports ouverts sans que cela ne soit nécessaire) et donc vulnérables à une attaque. Nmap est un logiciel très complet et très évolutif, et il est une référence dans le domaine du scanning.

3.1. DESCRIPTION DE NMAP

Nmap a été conçu pour rapidement scanner de grands réseaux, mais il fonctionne aussi très bien sur une cible unique. Nmap innove en utilisant des paquets IP bruts (raw packets) pour déterminer quels sont les hôtes actifs sur le réseau, quels services (y compris le nom de l'application et la version) ces hôtes offrent, quels systèmes d'exploitation (et leurs versions) ils utilisent, quels types de dispositifs de filtrage/pare-feux sont utilisés, ainsi que des douzaines d'autres caractéristiques. Nmap est généralement utilisé pour les audits de sécurité mais de nombreux gestionnaires des systèmes et de réseau l'apprécient pour des tâches de routine comme les inventaires de réseau, la gestion des mises à jour planifiées ou la surveillance des hôtes et des services actifs.

Le rapport de sortie de Nmap est une liste des cibles scannées ainsi que des informations complémentaires en fonction des options utilisées.

3.2. DIFFÉRENTS TYPES DE SCAN

Nmap permet d'effectuer des scans en utilisant différentes techniques issues de l'étude du comportement des machines respectant le RFC 7932 (TCP). Parmi la douzaine de techniques de scan connues, on peut citer les suivantes :

§ Scan TCP SYN: Le scan SYN est celui par défaut et le plus populaire pour de bonnes raisons. Il peut être exécuté rapidement et scanner des milliers de ports par seconde sur un réseau rapide lorsqu'il n'est pas entravé par des pare-feux. Le scan SYN est relativement discret et furtif, vu qu'il ne termine jamais les connexions TCP. Nmap émet un paquet sur le port ciblé et attend la réponse qui peut être :

o un paquet SYN/ACK qui indique que le port est ouvert ;

o un paquet RST qui indique que le port est fermé ;

o pas de réponse si le port est filtré.

Faire ce type de scan requiert l'option -sS.

§ Scan TCP connect : c'est le type de scan par défaut quand le SYN n'est pas utilisable. Tel est le cas lorsque l'utilisateur n'a pas les privilèges pour les paquets bruts (raw packets) ou lors d'un scan de réseaux IPv6. Son exécution est plus lente que le premier et requiert l'option -sT.

§ Scan UDP : même si les services les plus connus d'Internet son basés sur le protocole TCP, les services UDP sont aussi largement utilisés. DNS, SNMP ou DHCP (ports 53, 161/162 et 67/68) sont les trois exemples les plus courants. Comme le scan UDP est généralement plus lent et plus difficile que TCP, certains auditeurs de sécurité les ignorent. C'est une erreur, car les services UDP exploitables sont courants et les attaquants eux ne les ignoreront pas. Le scan UDP est activé avec l'option -sU. Il peut être combiné avec un scan TCP, comme le scan SYN (-sS), pour vérifier les deux protocoles lors de la même exécution de Nmap.

3.3. DIFFÉRENTS ÉTATS DES PORTS

Nmap retourne les résultats des scans sous forme d'états de ports scannés. Les six états des ports reconnus par Nmap sont :

§ ouvert : une application accepte des connexions TCP ou des paquets UDP sur ce port.

§ fermé : le port fermé est accessible (il reçoit et répond aux paquets émis par Nmap), mais il n'y a pas d'application en écoute.

§ filtré : Nmap ne peut pas toujours déterminer si un port est ouvert car les dispositifs de filtrage des paquets empêchent les paquets de tests (probes) d'atteindre leur port cible.

§ non-filtré : l'état non-filtré signifie qu'un port est accessible, mais que Nmap est incapable de déterminer s'il est ouvert ou fermé.

§ ouvert|filtré : Nmap met dans cet état les ports dont il est incapable de déterminer l'état entre ouvert et filtré.

§ fermé|filtré : cet état est utilisé quand Nmap est incapable de déterminer si un port est fermé ou filtré. Cet état est seulement utilisé par le scan Idle basé sur les identifiants de paquets IP.

Scan TCP Stealth SYN du serveur DNS

Nous avons présenté dans cette section l'outil Nmap puis nous l'avons utilisé pour scanner tour à tour les réseaux internes du siège de la First Bank, les adresses VPN des routeurs de différentes agences, les serveurs web et DNS ainsi que les adresses des PIX de quelques fournisseurs d'accès à Internet (Gonago, Saconets et Creolinks).

Le scan des ports des adresses VPN de différentes agences nous a révélé un certain nombre d'informations (les ports ouverts et les services à l'écoute sur ces ports, les ports fermés, les ports filtrés et les services à l'écoute sur ces ports, les systèmes d'exploitation, le type de matériel, ...).

Le scan des serveurs web et DNS nous a révélé entre autres informations les noms d'hôte des ces différents serveurs.

Le scan des adresses des PIX de certains fournisseurs d'accès nous a permis d'avoir un état des sorties du réseau WAN de la First Bank.

Les différentes informations révélées dans cette section à travers les scans peuvent permettre aux administrateurs et responsables de sécurité du réseau de désactiver certains services installés et non-utilisés. Elles peuvent aussi permettre aux attaquants potentiels d'avoir plus d'amples informations sur le réseau qui représente leur proie.

La suite de nos travaux sera consacrée au scan de vulnérabilités du réseau avec l'outil Nessus.

4. SCAN DES VULNERABILITES AVEC NESSUS

Nessus est un outil de test de vulnérabilité. Il fonctionne en mode client/serveur, avec une interface graphique. Une fois installé, le serveur « Nessusd », éventuellement sur une machine distante, effectue les tests et les envoie au client « Nessus » qui fonctionne sur une interface graphique.

Nessus est un produit commercial diffusé par la société TENABLE Network Security. Il peut toutefois être utilisé gratuitement avec une base des vulnérabilités dont la mise à jour est décalée d'une semaine.

Les résultats peuvent être enregistrés sous divers formats : NBE, NSR et html.

Notre but dans cette partie est surtout de présenter les résultats des scans de vulnérabilités effectués sur le réseau informatique de la First Bank. Nous avons scanné les vulnérabilités connues de Nessus sur le serveur web, le serveur DNS, les routeurs du VPN ainsi que les PIX des fournisseurs d'accès à Internet.

Scan des vulnérabilités du serveur DNS

Vulnérabilités de niveau moyen

DNS Cache Snooping


Synopsis:

Remote DNS server is vulnerable to cache snooping attacks.

Description:

The remote DNS server answers to queries for third-party domains which do not have the recursion bit set.

This may allow a remote attacker to determine which domains have recently been resolved via this name server, and therefore which hosts have been recently visited.

For instance, if an attacker was interested in whether your company utilizes the online services of a particular financial institution, they would be able to use this attack to build a statistical model regarding company usage of aforementioned financial institution. Of course, the attack can also be used to find B2B partners, web-surfing patterns, external mail servers, and more...

See also :

For a much more detailed discussion of the potential risks of allowing DNS cache information to be queried anonymously, please see:

http://www.nessus.org/u?0f22a4a4

Risk factor :

Medium / CVSS Base Score : 5.0
(CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N)

Nessus ID : 12217

Usable remote name server


Synopsis:

The remote name server allows recursive queries to be performed by the host running nessusd.

Description:

It is possible to query the remote name server for third party names.

If this is your internal nameserver, then forget this warning.

If you are probing a remote nameserver, then it allows anyone to use it to resolve third parties names (such as www.nessus.org). This allows hackers to do cache poisoning attacks against this nameserver.

If the host allows these recursive queries via UDP, then the host can be used to 'bounce' Denial of service attacks against another network or system.

See also:

http://www.cert.org/advisories/CA-1997-22.html

Solution:

Restrict recursive queries to the hosts that should use this nameserver (such as those of the LAN connected to it).

If you are using bind 8, you can do this by using the instruction 'allow-recursion' in the 'options' section of your named.conf

If you are using bind 9, you can define a grouping of internal addresses using the 'acl' command

Then, within the options block, you can explicitly state: 'allow-recursion { hosts_defined_in_acl }'

For more info on Bind 9 administration (to include recursion), see:
http://www.nominum.com/content/documents/bind9arm.pdf

If you are using another name server, consult its documentation.

Weak Supported SSL Ciphers Suites


Synopsis:

The remote service supports the use of weak SSL ciphers.

Description:

The remote host supports the use of SSL ciphers that offer either weak encryption or no encryption at all.

See also:

http://www.openssl.org/docs/apps/ciphers.html

Solution:

Reconfigure the affected application if possible to avoid use of weak ciphers.

Risk factor :

Medium / CVSS Base Score : 5.0
(CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N)

Plugin output :

Here is the list of weak SSL ciphers supported by the remote server :

Low Strength Ciphers (< 56-bit key)
SSLv2
EXP-R-CBC-MD5 Kx=RSA(512) Au=RSA Enc=R(40) Mac=MD5 export
EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
SSLv3
EXP-EDH-RSA-DES-CBC-SHA Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-DES-CBC-SHA Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-R-CBC-MD5 Kx=RSA(512) Au=RSA Enc=R(40) Mac=MD5 export
EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
TLSv1
EXP-DES-CBC-SHA Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-R-CBC-MD5 Kx=RSA(512) Au=RSA Enc=R(40) Mac=MD5 export
EXP-RC4-MD5 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export

The fields above are :

{OpenSSL ciphername}
Kx={key exchange}
Au={authentication}
Enc={symmetric encryption method}
Mac={message authentication code}
{export flag}


Nessus ID : 26928

SSL Certificate Expiry

The SSL certificate of the remote service expired Jul 18 11:58:05 2005 GMT!

Nessus ID : 15901

Deprecated SSL Protocol Usage


Synopsis:

The remote service encrypts traffic using a protocol with known weaknesses.

Description:

The remote service accepts connections encrypted using SSL 2.0, which reportedly suffers from several cryptographic flaws and has been deprecated for several years. An attacker may be able to exploit these issues to conduct man-in-the-middle attacks or decrypt communications between the affected service and clients.

See also:

http://www.schneier.com/paper-ssl.pdf

Solution:

Consult the application's documentation to disable SSL 2.0 and use SSL 3.0 or TLS 1.0 instead.

Risk factor :

Medium / CVSS Base Score : 5.0
(CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N)

Nessus ID : 20007

PHP Mail Function Header Spoofing Vulnerability


The remote host is running a version of PHP <= 4.2.2.

The mail() function does not properly sanitize user input. This allows users to forge email to make it look like it is coming from a different source other than the server.

Users can exploit this even if SAFE_MODE is enabled.

Solution: Contact your vendor for the latest PHP release.


Risk factor : Medium


CVE : CVE-2002-0985, CVE-2002-0986
BID : 5562
Other references : OSVDB:2111

Nessus ID : 11444

PHP Multiple Unspecified Vulnerabilities


The remote host is running a version of PHP which is older than 5.0.3 or 4.3.11

The remote version of this software is vulnerable to a set of vulnerabilities in the EXIF module which have been fixed by the PHP Group.

See also : http://www.php.net/ChangeLog-5.php#5.0.4
http://www.php.net/ChangeLog-4.php#4.3.11

Solution : Upgrade to PHP 5.0.3 or 4.3.11
Risk factor : Medium
BID : 13143, 13163, 13164

Nessus ID : 18033

Apache Remote Username Enumeration Vulnerability


Synopsis:

The remote Apache server can be used to guess the presence of a given user name on the remote host.

Description:

When configured with the 'UserDir' option, requests to URLs containing a tilde followed by a username will redirect the user to a given subdirectory in the user home.

For instance, by default, requesting /~root/ displays the HTML contents from /root/public_html/.

If the username requested does not exist, then Apache will reply with a different error code. Therefore, an attacker may exploit this vulnerability to guess the presence of a given user name on the remote host.

Solution:

In httpd.conf, set the 'UserDir' to 'disabled'.

Risk factor :

Medium / CVSS Base Score : 5.0
(CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N)
CVE : CVE-2001-1013
BID : 3335
Other references : OSVDB:637

Nessus ID : 10766

HTTP TRACE / TRACK Methods


Synopsis:

Debugging functions are enabled on the remote web server.

Description:

The remote webserver supports the TRACE and/or TRACK methods. TRACE and TRACK are HTTP methods which are used to debug web server connections.

In addition, it has been shown that servers supporting the TRACE method are subject to cross-site scripting attacks, dubbed XST for "Cross-Site Tracing", when used in conjunction with various eaknesses in browsers. An attacker may use this flaw to trick your legitimate web users to give him their credentials.

See also:

http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf
http://www.apacheweek.com/issues/03-01-24
http://www.kb.cert.org/vuls/id/867593

Solution:

Disable these methods.

Risk factor :

Medium / CVSS Base Score : 5.0
(CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N)
Solution :

Add the following lines for each virtual host in your configuration file :

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

Alternatively, note that Apache versions 1.3.34, 2.0.55, and 2.2 support disabling the TRACE method natively via the 'TraceEnable' directive.

Plugin output :

The server response from a TRACE request is :

TRACE /Nessus2324.html HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Charset: iso-8859-1,*,utf-8
Accept-Language: en
Connection: Close
Host: admin.cenet.cm
Pragma: no-cache
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

CVE : CVE-2004-2320
BID : 9506, 9561, 11604
Other references : OSVDB:877, OSVDB:3726

Nessus ID : 11213

Vulnérabilités de niveau élevé

BIND 9 overflow


The remote BIND 9 DNS server, according to its version number, is vulnerable to a buffer overflow which may allow an attacker to gain a shell on this host or to disable this server.

Solution: upgrade to bind 9.2.2 or downgrade to the 8.x series

See also: http://www.isc.org/products/BIND/bind9.html
http://cert.uni-stuttgart.de/archive/bugtraq/2003/03/msg00075.html
http://www.cert.org/advisories/CA-2002-19.html
Risk factor: High
CVE : CVE-2002-0684
Other references : IAVA:2003-B-0001

Nessus ID : 11318

php PHP_Variables Memory Disclosure


The remote host is running a version of PHP which is older than 5.0.2 or
4.39.

The remote version of this software is vulnerable to a memory disclosure vulnerability in PHP_Variables. An attacker may exploit this flaw to remotely read portions of the memory of the httpd process on the remote host.

See also: http://www.php.net/ChangeLog-5.php#5.0.2


Solution: Upgrade to PHP 5.0.2 or 4.3.9


Risk factor: High


BID : 11334

Nessus ID : 15436

php4/5 Vulnerabilities


The remote host is running a version of PHP which is older than 5.0.3 or 4.3.10.

The remote version of this software is vulnerable to various security issues which may, under certain circumstances, to execute arbitrary code on the remote host, provided that we can pass arbitrary data to some functions, or to bypass safe_mode.

See also : http://www.php.net/ChangeLog-5.php#5.0.3


Solution : Upgrade to PHP 5.0.3 or 4.3.10


Risk factor : High


CVE : CVE-2004-1018, CVE-2004-1019, CVE-2004-1020, CVE-2004-1063, CVE-2004-1064, CVE-2004-1065
BID : 11964, 11981, 11992, 12045
Other references : OSVDB:12410

Nessus ID : 15973

Nous avons également effectué le scan des vulnérabilités sur les VPN de Douala, Bafoussam, Bamenda, Garoua, Kousséri, Nkongsamba, Limbé, Maroua ainsi que le serveur web/mail de la banque.

Comme nous pouvons le constater à travers les tableaux précédents, Nessus présente les résultats des scans de vulnérabilités de manière très didactique : pour chaque faille, on a une présentation claire du problème et une solution simple. Cet outil peut très certainement permettre à un attaquant d'évaluer les faiblesses d'un réseau en vue d'une attaque, en indiquant quelles failles exploiter et avec quelles techniques. Par contre, tout administrateur devrait prendre une longueur d'avance sur les attaquants en se servant en premier d'un tel outil pour éviter au moins les attaques connues de Nessus.

5. TESTS D'INTRUSIONS DIVERS ET VARIES

Un test d'intrusions consiste à se mettre dans la peau d'un attaquant externe et banalisé, disposant d'un certain degré de compétences, de ressources, de temps et de motivation pour pénétrer un système cible. Nous commencerons par faire une description de la procédure utilisée par un attaquant et nous simulerons par la suite des attaques sur certaines machines qui ne représentent aucun danger pour le fonctionnement du réseau informatique de l'entreprise.

5.1. RÉSUMÉ DES ÉTAPES DU HACKER

1. Recherche d'une proie : scan de machines. L'attaquant utilise alors des outils de scan comme Nmap et Nessus.

2. Pratique de l'exploit : le hacker prend le contrôle de la machine en tant que root à l'aide d'un rootkit qui exploite une faille de sécurité connue du système. On aura alors besoin d'un rootkit connaissant plusieurs exploits.

3. Se cacher : installation de trojans et effacement des fichiers de log. Cette étape nécessite les trojans du rootkit et des outils de nettoyage.

4. Préparer ses prochaines visites : divers trojans (actifs ou passifs) installent des backdoors pour pouvoir se reconnecter en tant que root sans problèmes. Pour ce faire, le hacker utilise les autres outils et fonctionnalités du rootkit.

5. Trois possibilités :

§ premièrement, le hacker utilise le système comme plate-forme de lancement d'attaque en scannant ou en forçant d'autres systèmes,

§ autrement, il peut tenter d'étendre sa prise en cherchant des informations pour connaître les mots de passe des comptes utilisateurs,

§ la dernière possibilité est de commettre des actions destructrices (effacement de fichiers, vol de données, ...) sur la machine à laquelle il a déjà accès, au risque de ne plus pouvoir se réintroduire dans le système. Cette étape peut nécessiter des sniffeurs ou des outils de scan selon les choix d'actions à mener.

5.2. TEST D'INTRUSIONS SUR LE RÉSEAU DE LA FIRST BANK

Les tests d'intrusions existent sous plusieurs formes : les tests d'intrusions en « boîte noire » c'est-à-dire sans informations préalables de la cible et les tests d'intrusions en « boîte blanche » c'est-à-dire avec une connaissance préalable de la cible. De même ces tests d'intrusions peuvent être aussi bien internes qu'externes.

5.2.1. Tests d'intrusions externes en « boîte noire »

Nous engageons les tests d'intrusions externes sur le réseau avec la seule connaissance du site internet afrilandfirstbank.com qui est une information non réservée à priori. Les scans avec Nmap et Nessus nous ont permis d'avoir l'adresse IP du serveur web à savoir 195.24.201.50.

5.2.1.1. Les bases Whois6(*)

La base Whois de AfriNIC répertorie tous les sous-réseaux de la région Afrique et leurs propriétaires respectifs. Cela permet dans un premier temps de commencer par vérifier que les adresses IP communiquées correspondent bien à l'organisation cible.

5.2.1.2. Les bases DNS

a) L'utilitaire nslookup  

L'utilitaire nslookup est intégré à BIND qui permet de procéder à des requêtes DNS à des fins de déboguage. Nslookup fonctionne dans deux modes :

§ mode interactif (lorsqu'il est évoqué sans arguments),

§ mode non-interactif (lorsqu'il est évoqué avec les paramètres requis pour une requête précise).

Cet outil permet d'utiliser un grand nombre d'options et paramètres qui peuvent être consultés en exécutant la commande « man nslookup » sur Linux.

L'utilisation de cet outil sur le serveur DNS nous a permis d'avoir plus d'informations sur les noms d'hôtes des serveurs DNS de la banque.

b) L'utilitaire DIG

L'utilitaire D.I.G. (Domain Internet Groper) est un outil similaire à nslookup (qui est destiné à remplacer) et est aussi livré avec les récentes versions de BIND. Il permet de lancer des requêtes DNS dans une ligne de commande et affiche les réponses dans un format compatible avec les enregistrements BIND.

La syntaxe de dig est de la forme : dig [@server] domain query-type

La sortie d'une commande dig commence par une ligne avec des informations sur la commande même (version de dig) ainsi que sur le serveur utilisé. Suivent ensuite les options utilisées pour la requête, la requête envoyée et la réponse obtenue. La partie consacrée à la réponse est constituée de la réponse elle-même, d'une section sur l'autorité de la zone concernée par la requête ainsi que d'une section pour des informations complémentaires. La fin de la sortie est constituée d'informations sur le temps écoulé pour traiter la requête, la machine à partir de laquelle elle a été lancée ainsi que la taille des données envoyées et reçues.

5.2.1.2. Les moteurs de recherche

Les moteurs de recherche permettent également d'obtenir de nombreux renseignements sur la cible. Nous avons utilisé dans nos travaux différents moteurs de recherche notamment Google.com, domaintools.com et Yahoo.com. Ceci nous a permis d'avoir des informations sur les serveurs DNS de la banque, le serveur web/mail entre autres.

5.2.1.3. Détection des systèmes et des services, cartographie

Nous allons maintenant établir la cartographie de la plate-forme cible. A ce stade, nous ne sommes plus furtifs, car nous allons effectuer des requêtes directement sur les systèmes cibles.

Pour déterminer les machines situées entre les serveurs cibles et nous, nous avons étudié le routage des paquets échangés. Nous avons utilisé dans cette section les outils traceroute et la technique du « firewalking » à travers l'outil hping2.

A ce stade, nous avons suffisamment d'informations sur la société pour procéder à une véritable intrusion en suivant les étapes déjà décrites dans la section 4.1. pour pénétrer le réseau et prendre le contrôle. Nous ne pouvons cependant pas continuer ce processus car nos tests s'effectuent directement sur le réseau de production et un quelconque disfonctionnement peut être redoutable.

Les tests d'intrusions sur les réseaux informatiques sont internes pour la plupart et donc nous nous proposons dans la section suivante de procéder aux tests d'intrusions internes en « boîte blanche » question d'évaluer la résistance du réseau à ce type d'attaques.

5.2.2. Tests d'intrusions internes en « boîte blanche »

Les tests d'intrusions internes en « boîte blanche » ont essentiellement consisté à sniffer sur les réseaux LAN du siège en mode promiscus avec l'outil Wireshark. L'analyse des paquets ainsi capturés a pour but de déterminer le niveau protection de données sur le réseau.

4.2.2.1. Présentation et utilisation de Wireshark

Wireshark est un des analyseurs réseaux les plus populaires du monde. Cet outil extrêmement puissant fournit des informations sur des protocoles réseaux et applicatifs à partir de données capturées sur un réseau.

Comme un grand nombre de programmes, Wireshark utilise la librairie réseau pcap7(*) pour capturer les paquets.

La force de Wireshark vient de :

§ sa facilité d'installation,

§ sa simplicité d'utilisation de son interface graphique,

§ son très grand nombre de fonctionnalités.

Wireshark fut appelé Ethereal jusqu'en 2006 où le développeur principal décida de changer son nom en raison de problèmes de copyright avec le nom de Ethereal qui était enregistré par la société qu'il décida de quitter en 2006.

L'analyse des paquets capturés sur le réseau interne de la banque à travers le logiciel Caen & Abel n'a révélé aucune faille pouvant être exploitée en interne.

5.2.2.2. Intrusions internes divers

La plupart des tests d'intrusions internes (vol de mot de passe, usurpation d'IP, attaque de force brute) sur les réseaux informatiques utilisent l'ingénierie sociale qui consiste à manipuler les êtres humains c'est-à-dire utiliser la naïveté et la gentillesse exagérée des utilisateurs du réseau pour obtenir des informations sur ces derniers. Ces informations sont par la suite exploitées pour obtenir soit des privilèges supplémentaires soit pour accéder aux services et données qui leur sont interdits.

C'est la raison pour laquelle la politique de sécurité doit être globale et intégrer les facteurs humains (par exemple la sensibilisation des acteurs aux problèmes de sécurité).

La tâche des attaquants peut être plus compliquée si les administrateurs et responsables de sécurité du réseau détectent en temps opportun les tentatives d'intrusions. Pour cela, ils peuvent utiliser les IDS (Intrusion Detection System) pour détecter et bloquer les tentatives d'intrusions. La section suivante est consacrée à un des IDS les plus utilisés du moment à savoir « Snort ».

6. DETECTION D'INTRUSIONS AVEC « SNORT »

Snort est un projet Open Source de détection d'intrusion sur le réseau open-source  fonctionnant sur les systèmes Windows et Linux. Capable d'analyser en temps réel le trafic et de consigner le transit des paquets de données sur le réseau IP, il peut réaliser une analyse de protocole, une recherche sur le contenu et peut être utilisé pour détecter un nombre important d'attaques réseau connues et permet ainsi d'alerter quant aux tentatives d'intrusion sur votre réseau.

Nous avons utilisé dans nos travaux une version linux de Snort disponible sur la distribution Debian version 4.

Les étapes d'installation de snort sont les suivantes :

§ les prérequis pour l'installation de snort,

§ ' installation de snort,

§ test de fonctionnement,

§ liaison snort avec mysql,

§ ' mise en place d'ACID (Interface php pour visualiser les logs snort).

6.1. LES PRÉREQUIS POUR L'INSTALLATION DE SNORT

Les packages suivants sont requis pour le fonctionnement de snort sur linux debian 4 :

§ mysql-server-5.0,

§ mysql-client-50,

§ php5-mysql,

§ apache2.

Remarque : sur Debian, il suffit de taper la commande apt-get install nom_du_paquet

6.2. INSTALLATION DE L'OUTIL SNORT

Vous pouvez  télécharger snort, paquet source ou binaire, à partir du site officiel: http://www.snort.org/ .     

Dans un terminal shell exécutez les commandes suivantes :

À partir de source

À partir du binaires

# tar -xzvf snort-x.x.x

# cd snort-x.x.x

# make

# cd make install

# rpm -ivh snort-mysql-2.6.x.rpm

Sur Debian il suffit juste d'exécuter la commande apt-get install snort.

Après l'installation, nous allons actuellement installer les règles de snort. Ces règles peuvent être téléchargées à partir de l'adresse suivante : http://www.snort.org/.

La mise à jour de ces règles lorsqu'on n'utilise pas la version commerciale de snort est décalée d'un mois.

# cp snort-pr-x.x.tar.gz  /etc/snort

# cd /etc/snort

# tar  -xzvf  snort-pr-x.x.tar.gz

Les règles sont installées dans /etc/snort/rules. Maintenant, il faut éditer le fichier de configuration snort (/etc/snort/snort.conf) et spécifier le réseau sur lequel l'IDS travaille. Il faut pour cela modifier les variables suivantes:

«var HOME_NET any» à «var  HOME_NET 192.168.99.0/24» (Selon votre plage)

«var EXTERNAL_NET any» à «var EXTERNAL_NET !$HOME_NET» (On ne fait confiance à aucun réseau)

«var DNS_SERVERS $HOME_NET» à «var  HOME_NET 195.24.194.177» (Adresse de notre DNS)

«var RULE_PATH» à «var RULE_PATH /etc/snort/rules»

Il convient de choisir les règles de détection à activer selon l'environnement à surveiller, en commentant ou décommentant les lignes d'appels des règles.

6.3. TEST DE FONCTIONNEMENT :

6.3.1. Mode sniffeur:

Ce mode permet d'écouter les paquets TCP/IP circulant dans le réseau et les afficher sur l'écran. Pour cela, il suffit d'utiliser la commande snort avec les options -v et -vd.

6.3.2. Mode paquet logger :

Ce mode permet de sniffer le trafic des paquets TCP/IP et journalise les logs dans un répertoire déjà créé. Pour cela nous avons utilisé l'option -l ./log de la commande snort.

6.3.3. Mode NIDS :

Le mode NIDS permet d'analyser le trafic réseau des paquets TCP/IP en le comparant à des règles spécifiées dans le fichier « snort.conf ». Ce guide est déjà dédié pour la mise en place de snort en mode NIDS.

Vous pouvez lancer snort avec cette commande :

snort -c /etc/snort/snort.conf  -D

 L'option  «c»: permet de spécifier quelles sont les règles qui seront actives.

 L'option «D» : permet de lancer snort en mode daemon (c'est-à-dire en arrière plan).

6.4. LIAISON DES LOGS DE SNORT AVEC MYSQL :

Un fois connecté sur la base mysql en tant qu'administrateur « mysql -u root -p », il convient de suivre la procédure suivante afin de créer la base snort :

create database snort ; //création de la base snort

use mysql ; //on se place ici pour créer l'utilisateur qui gèrera la base snort

insert into user values ('localhost', 'root', password('root')); //création de l'utilisateur de la base de données snort

grant ALL PRIVILEGES on snort.* to root@localhost identified by 'root' WITH GRANT OPTION; //attribution des droits de la base snort à l'utilisateur root

Une fois ces commandes effectuées, il suffit d'exécuter le script sql fourni avec la distribution de snort.

Mysql> source /etc/snort/contrib/create_mysql

6.5. CRÉATION DE NOUVELLES RÈGLES

Bien que le site officiel de Snort propose des règles prêtes à l'emploi et régulièrement mises à jour, il peut être intéressant de créer ses propres règles afin d'adapter au mieux snort au réseau qu'il doit surveiller et protéger. Par convention, les nouvelles règles personnelles sont à placer dans le fichier local.rules.

Exemple de règle :

alert tcp any any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB- ATTACKS /bin/ls command attempt"; uricontent:"/bin/ls"; nocase; classtype:web-application-attack;

Cette règle permet de générer une alerte quand un paquet provient d'un couple (adresse:port) quelconque, est à destination des serveurs HTTP définis dans snort.conf, et contient la chaîne «/bin/ls » dans l'URI. Le message de l'alerte sera « WEB-ATTACKS /bin/ls command attempt ». Cette attaque sera classée dans la classe web-application-attack (priorité medium par défaut).

Il est bien sûr impossible d'être exhaustif ici pour décrire le format des règles Snort. Le manuel utilisateur disponible sur le site officiel indique comment utiliser au mieux le langage des signatures de Snort.

6.6. MISE EN PLACE D'ACID :

ACID est une interface PHP qui permet de visualiser les alarmes générées par snort. ACID dépend de ces deux paquets :

§ Adodb : Contient des scripts PHP génériques de gestion de bases de données. Nous avons utilisé la librairie PHP libphp-adodb de Debian.

§ PHPlot : librairie de scripts PHP utilisée par ACID pour présenter graphiquement certaines données statistiques. PHPlot peut être téléchargé sur le site.

Après avoir téléchargé ACID et PHPlot, il faut installer ces derniers dans la racine d'Apache de la manière suivante :

cd /var/www/

tar -xvzf acid*

tar -xvzf phplot*

Une fois l'installation terminée, il convient de configurer ACID dans son fichier de configuration /var/www/acid/acid_conf.php. En ce qui nous concerne, certains champs ont été modifiés comme suit :

§ $DBlib_path="/usr/share/php/adodb";

§ $Chartlin_path="/var/www/phplot-5.0.5";

§ alert_dbname="snort"

§ alert_host="localhost"

§ alert_user="root"

§ alert_password="root"

Voilà, maintenant nous pouvons vérifier qu'ACID est bien configuré en saisissant l'url http://localhost/acid dans le navigateur.

Le résultat de ce test dans notre cas est le suivant :

Nous avons par cette dernière étape, terminé l'installation et l'utilisation de snort. Nous allons dans les pages suivantes proposer un certain nombre de recommandations en vue de l'amélioration de la sécurité du réseau informatique de la First Bank.

7. RECOMMANDATIONS

Les recommandations de cette partie ne sont qu'une conséquence des scans, des tests d'intrusions effectués dans les précédentes sections ainsi que de notre expérience en audit de sécurité.

R1 : FERMETURE DES PORTS NON UITLISES

Les ports non utilisés peuvent être exploités à tout moment par les attaquants comme porte d'entrée dans le système.

C'est le cas des ports 21 (ftp) et 3306 (mysql) du serveur web/mail qui étaient ouverts au moment de notre scan mais aucun service à l'écoute.

C'est le même constat pour les ports Telnet et SSH qui sont ouverts en même temps sur les VPN des différentes agences. Il faut dire que SSH a été crée pour pallier les insuffisances de Telnet et donc, le port Telnet doit être fermé en cas d'utilisation de SSH.

De même les ports, pop3 et pop3s, imap et imaps sont ouverts au moment de notre scan. Ceux de ces ports qui ne sont pas utilisés doivent être fermés parce qu'ils présentent un risque pour la sécurité.

R2 : RENDRE LES SERVEURS FURTIFS

Les configurations par défaut doivent être évitées au niveau des serveurs. Les informations comme le type et la version du système d'exploitation utilisé, les versions des services qui écoutent sur les différents ports doivent être cachées et rendues inaccessibles lors des scans. Les sections réservées à cet effet se trouvent dans les fichiers de configuration des différents services.

Les fichiers de configuration des différents serveurs doivent être édités et modifiés pour éviter d'avoir des serveurs dits « bavards ».

Pour le serveur Apache par exemple, il faut ajouter les lignes suivantes dans le fichier http.conf :

ServerTokens Prod
ServerSignature Off

R3 : DESARMER LA METHODE TRACE DE HTTP

La méthode TRACE du serveur http est utilisée pour le débogage des connections au niveau du serveur web. Le diagnostic de Nessus propose un processus pour désarmer cette méthode.

R4 : LA MISE A JOUR DES APPLICATIONS

L'évolution des applications ne concerne pas seulement les commodités d'utilisation au niveau de l'interface et l'ajout des fonctions supplémentaires mais aussi la sécurité de ces applications. Ce dernier aspect n'est pas souvent perçu par l'utilisateur non averti qui est de ce fait insensible à la mise à jour des applications. Ainsi plusieurs versions d'une même application offrent souvent les mêmes fonctions ainsi que les mêmes commodités d'utilisation mais les dernières versions corrigent souvent certains détails de sécurité qui ne sont pas facilement perceptibles.

Le diagnostic fait à travers Nessus plus haut dans ce document a notamment indiqué que les serveurs Apache et SSL étaient exposés à certaines vulnérabilités du simple fait que ces derniers n'étaient pas à jour.

R5 : RENFORCEMENT DE LA SECURITE DES MOTS DE PASSE ET CLES CRYPTOGRAPHIQUES

SECURITE DES MOTS DE PASSE

Les mots de passe par défaut au niveau des serveurs, des routeurs ainsi que des applications réseaux doivent être supprimés et remplacés par des mots de passe plus sûrs dès la première utilisation de ces derniers. Bien plus, les mots de passe doivent être choisis de manière à échapper aux attaques de type dictionnaire (noms, prénoms, date de naissance, mots du langage courant) et aux attaques de force brute.

Pour combattre ce type d'attaques il est recommandé de :

§ ne pas utiliser des mots de votre langage courant,

§ choisir des mots de passe longs (souvent au moins 8 caractères), avec une suite de caractères totalement aléatoires et avec des caractères spéciaux,

§ alterner les majuscules et les minuscules.

CRYPTOGRAPHIE

L'algorithme de cryptographie utilisé lors de l'envoi des données sur le réseau est DES. Ce qui pose un problème de sécurité car cet algorithme a été cassé en 1998 et remplacé par AES.

Nous proposons l'utilisation d'un protocole de cryptographie basé sur AES et RSA. AES est le nouvel algorithme de cryptographie symétrique non encore cassé. RSA est le meilleur algorithme de cryptographie asymétrique recommandé en ce moment.

L'utilisation RSA nécessite pour autant la mise en place d'une infrastructure à clefs publiques (PKI) pour garantir l'authenticité des clés publiques. La banque doit pour cela choisir une autorité de certification sûre et reconnue mondialement.

Par ailleurs, le stockage des certificats nécessaires au fonctionnement de HTTPS, IMAPS, ... doit être effectué avec la plus grande prudence (le responsable devra éviter d'en conserver une copie dans un dossier mail par exemple).

R6 : DETECTION D'INTRUSIONS

Il faut installer à divers points stratégiques du réseau des IDS pour détecter les tentatives d'intrusions (scan des ports, scan des vulnérabilités). Un processus d'installation et de configuration de Snort a été proposé dans ce document. L'entreprise pourra acquérir la version commerciale de ce produit pour bénéficier des mises à jour de la base des vulnérabilités en temps réel.

Bien plus, l'installation d'une sonde Ntop au coeur du réseau est nécessaire pour visualiser facilement les machines qui utilisent le réseau. C'est juste visuel mais très pratique.

R7 : ATTAQUES SUR LES PROTOCOLES

Nous allons proposer dans cette section les parades à prendre pour éviter les attaques sur certains protocoles : ARP, DHCP.

ARP-POISONING

La solution la plus immédiate consiste à saisir manuellement sur chaque poste la table de toutes les adresses physiques présentes sur le réseau local. Si elle est immédiate, cette solution est quasiment inapplicable compte tenu du nombre d'hôtes connectés au réseau local.

Une solution correcte consiste à mettre en place un serveur DHCP avec une liste «fermée» de correspondance entre adresses physiques (MAC) et IP. Relativement à la solution précédente, la liste exhaustive des adresses physiques est centralisée sur le serveur DHCP. On peut ensuite configurer la journalisation du service pour que toute requête DHCP relative à une adresse MAC inconnue génère un courrier vers l'administrateur système ou réseau. Pour cela, l'administrateur réseau peut utiliser sous Windows l'outil DHCPCMD pour configurer le serveur dhcp à la ligne de commande.

Cette deuxième solution convient également pour pallier les attaques sur le serveur DHCP.

DNS ID SPOOFING ET DNS CACHE POISONING

Pour éviter ces diverses attaques sur le serveur DNS, il faut :

§ configurer votre serveur DNS pour qu'il ne résolve directement que les noms de machine du réseau sur lequel il a autorité.

§ autoriser seulement des machines internes à demander la résolution de noms de domaines distants.

§ mettre à jour ou changer les logiciels assurant le service DNS pour qu'ils vous protègent de ces diverses attaques.

R8 : VEILLE SECURITE

Face aux multiples failles de sécurité des systèmes d'information et des réseaux informatiques en particulier, seule la veille permet de répondre aux objectifs de continuité de service. Pour assurer cette veille, les responsables sécurité et veille doivent surveiller l'apparition de nouvelles vulnérabilités et alerter sur les menaces ciblant les systèmes et réseaux informatiques.

La veille sécurité permet aux RSSI et à leurs équipes d'anticiper les incidents de sécurité : intrusion, attaque virale, DoS, ...

La DARPA (Defense Advanced Research Projects Agency) a décidé la mise en place en 1988, à la suite d'une attaque sur Internet, des centres d'alerte et de réaction aux attaques informatiques. Ces CERT proposent une base de données sur les alertes de sécurité. Ces bases publiques sont accessibles à travers le site internet du CERT/CC www.cert.org.

En France, plusieurs CSIRT ont été crées :

§ le CERTA est le CERT dédié au secteur de l'administration française ;

§ le CERT-IST est le CERT dédié au secteur de l'Industrie, des Services et du Tertiaire (IST) ;

§ le CERT-RENATER est le CERT dédié à la communauté des membres du GIP RENATER (Réseau National de télécommunications pour la Technologie, l'Enseignement et la Recherche).

Enfin, l'entreprise peut acquérir la version commerciale du logiciel d'analyse des vulnérabilités connues Nessus dont l'installation, la configuration ainsi que l'utilisation ont été effectués dans le présent document.

R9 : AUDITS INTERNES DE SECURITE

Des audits internes de sécurité doivent être réalisés de manière permanente et les recommandations intégrées à la politique de sécurité.

La politique de sécurité doit être ainsi animée par des personnes différentes de celles qui l'appliquent.

La séparation des responsabilités est essentielle pour l'application du cadre commun de la Sécurité. En effet, une personne ne doit pas se trouver à la fois en position de donneur d'ordre, de réalisateur et de contrôleur de bon achèvement. Cela permet d'éviter à ces personnes d'être en même temps juge et partie.

DEUXIEME PARTIE : DEFINITION DE LA POLITIQUE DE SECURITE DU RESEAU INFORMATIQUE DE LA FIRST BANK

Une politique de sécurité réseau est un document générique qui définit des règles à suivre pour les accès au réseau informatique et pour les flux autorisés ou non, détermine comment les politiques sont appliquées et présente une partie de l'architecture de base de l'environnement de sécurité du réseau.

La mise en place d'une politique de sécurité adéquate est essentielle à la bonne sécurisation des réseaux et systèmes d'information. L

1. OBJECTIF D'UNE POLITIQUE DE SECURITE RESEAU

La définition d'une politique de sécurité n'est pas un exercice de style mais une démarche de toute l'entreprise visant à protéger son personnel et ses biens d'éventuels incidents de sécurité dommageables pour son activité.

La définition d'une politique de sécurité réseau fait intégralement partie de la démarche sécuritaire de l'entreprise. Elle s'étend à de nombreux domaines, dont les suivants :

§ audit des éléments physiques, techniques et logiques constituant le système d'information de l'entreprise ;

§ sensibilisation des responsables de l'entreprise et du personnel aux incidents de sécurité et aux risques associés ;

§ formation du personnel utilisant les moyens informatiques du système d'information ;

§ structuration et protection des locaux abritant les systèmes informatiques et les équipements de télécommunications, incluant le réseau et les matériels ;

§ ingénierie et maîtrise d'oeuvre des projets incluant les contraintes de sécurité dès la phase de conception ;

§ gestion du système d'information de l'entreprise lui permettant de suivre et d'appliquer les recommandations des procédures opérationnelles en matière de sécurité;

§ définition du cadre juridique et réglementaire de l'entreprise face à la politique de sécurité et aux actes de malveillance, 80 pour 100 des actes malveillants provenant de l'intérieur de l'entreprise ;

§ classification des informations de l'entreprise selon différents niveaux de confidentialité et de criticité.

Avant de définir une politique de sécurité réseau, il faut en connaître les objectifs ou finalités.

1.1. DÉFINIR UNE ANALYSE DE RISQUE

Déterminer les éléments critiques d'une entreprise est une tâche délicate, qui prête souvent à discussion, chaque service ou département se considérant comme un secteur clé.

Un bon moyen de parvenir à déterminer ces éléments critiques consiste à mener avec les responsables de l'entreprise une analyse de risque.

Une telle analyse consiste tout d'abord à identifier les ressources ou les biens vitaux à l'entreprise.

Ces derniers peuvent être de plusieurs ordres :

§ matériel,

§ données,

§ logiciels,

§ personnes.

Il convient pour chacune de ces ressources vitales, d'associer les trois éléments suivants : 

§ conséquence : il s'agit de l'impact sur l'entreprise de l'exploitation d'une faiblesse de sécurité. Estimer une conséquence d'une faiblesse de sécurité nécessite généralement une connaissance approfondie de l'entreprise et requiert l'ensemble des experts de cette dernière.

§ menace : la menace désigne l'exploitation d'une faiblesse de sécurité par un attaquant, qu'il soit interne ou externe à l'entreprise. La probabilité qu'un événement exploite une faiblesse de sécurité est généralement évaluée par des études statistiques, même si ces derniers sont difficiles à réaliser.

§ vulnérabilité : il s'agit d'une faiblesse de sécurité qui peut être de nature logique, physique, etc. Une vulnérabilité peut découler d'une erreur d'implémentation dans le développement d'une application, erreur susceptible d'être exploitée pour nuire à l'application. Elle peut également provenir d'une mauvaise configuration. Elle peut enfin avoir pour origine une insuffisance de moyens de protection des biens critiques, comme l'utilisation de flux non chiffrés, l'absence d'une protection par filtrage de paquets etc.

La connaissance de ces faiblesses de sécurité n'est possible que par des audits réguliers de sécurité effectués soit par l'équipe sécurité, soit par des consultants externes.

 

1.2. PRINCIPES GÉNÉRIQUES D'UNE POLITIQUE DE SÉCURITÉ RÉSEAU

 

Afin d'éviter un certain nombre d'écueils classiques, une politique de sécurité réseau doit respecter un ensemble de principes génériques. Ces principes permettent notamment à chacun de bien cerner les enjeux de la rédaction d'un document de politique de sécurité, qui n'est pas un document comme les autres.

Un document de politique de sécurité peut être écrit de plusieurs manières, allant d'un texte unique à une infrastructure de politique de sécurité. Le choix d'écrire un ou plusieurs documents est le plus souvent dicté par la taille de l'entreprise. Plus l'entreprise est importante, plus il est intéressant de créer des documents séparés, chaque niveau faisant référence au niveau supérieur.

Petites, moyennes et grandes entreprises s'exposent dans l'absolu aux mêmes risques si elles n'émettent pas de politique de sécurité. La politique de sécurité dicte la stratégie de sécurité de l'entreprise de manière claire et précise. Le fond et la forme sont donc primordiaux.

Quelle que soit la nature de biens produits par l'entreprise, sa politique de sécurité réseau doit satisfaire les points suivants : 

§ identification : information permettant d'indiquer qui vous prétendez être. Une identification  élémentaire est le nom d'utilisateur que l'on saisit dans un système informatique. Une identification plus évoluée peut être le relevé d'empreinte digitale, l'analyse faciale, rétinienne bref les méthodes biométriques ;

§ authentification : information permettant de valider l'identité pour vérifier que vous êtes celui que vous prétendez être. Une authentification élémentaire est le mot de passe que vous entrez. Une authentification forte combine une chose que vous possédez, une chose que vous connaissez (code personnel par exemple) et une chose que vous savez faire (par exemple une signature) ;

§ autorisation : information permettant de déterminer quelles seront les ressources de l'entreprise auxquelles l'utilisateur identifié et autorisé aura accès ainsi que les actions autorisées sur ces ressources. Cela couvre toutes les ressources de l'entreprise ;

§ confidentialité : ensemble des mécanismes permettant qu'une communication de donnée reste privée entre un émetteur et un destinataire. La cryptographie ou le chiffrement des données est la seule solution fiable pour assurer la confidentialité des données ;

§ intégrité : ensemble des mécanismes garantissant qu'une information n'a pas été indûment modifiée ;

§ disponibilité : ensemble des mécanismes garantissant que les ressources de l'entreprise sont accessibles pour qui a droit, que ces dernières concernant l'architecture réseau, la bande passante, le plan de sauvegarde ... ;

§ non répudiation : mécanisme permettant de garantir qu'un message ne peut être renié par son émetteur ;

§ traçabilité : ensemble des mécanismes permettant de retrouver les opérations réalisées sur les ressources de l'entreprise. Cela suppose que tout événement applicatif soit archivé pour investigation ultérieure.

1.2.1. Distinguer la politique de la procédure

La politique est l'extension du besoin de l'entreprise. La procédure est l'implémentation du besoin. Il est donc impératif de distinguer les deux.

L'objectif d'une politique est d'énoncer les résultats à obtenir, et non les moyens par lesquels les obtenir. C'est la raison pour laquelle il convient d'écrire :

§ l'accès à distance au réseau de l'entreprise (intranet) est autorisé à la condition exclusive d'une authentification forte de l'individu via une connexion réseau chiffrée. L'accès à Internet depuis le réseau interne de l'entreprise (intranet) est protégé contre les attaques éventuelles, incluant les virus informatiques.

et non :

§ l'accès externe au réseau interne de l'entreprise est autorisé par un certificat électronique validé auprès de la PKI de l'entreprise. De plus la connexion réseau est chiffrée par le protocole IPSec. L'accès à Internet traverse un pare-feu filtrant le protocole IP. De plus, le pare-feu est couplé à un système antivirus, qui analyse tous les e-mails et attachements transitant entre Internet et le réseau interne de l'entreprise.

Une politique de sécurité est moins touchée par l'évolution technologique, car elle décrit des besoins et non des moyens. Malgré tout, une politique de sécurité doit être revue tous les deux ans afin de tenir compte des modifications organisationnelles de l'entreprise.

1.2.2. Contraintes d'application des politiques de sécurité réseau

Quelles que soient l'entreprise concernée et la politique de sécurité réseau définie, l'application d'une politique de sécurité est confrontée aux trois contraintes suivantes :

§ technique : la technologie a ses limites. Certaines applications sont difficilement filtrables par un pare-feu ou ne tolèrent pas que l'adresse source de l'expéditeur soit modifiée au profit de celle du pare-feu par une technique de NAT. Par exemple, les outils de partage de fichiers entre clients, appelés peer-to-peer, sont très difficile à bloquer. Par ailleurs, des services réseau tels que H323 (ensemble de protocoles de communication de la voix, de l'image et de données sur IP) et le protocole IPSec n'apprécient pas le NAT ;

§ économique : pour une solution technique donnée, une contrainte d'ordre économique peut surgir, si bien qu'il faut parfois choisir une solution moins chère, même si elle ne répond pas exactement aux besoins de sécurité. Une telle situation revient à une acceptation d'un risque de sécurité, à condition que le décideur dispose d'une réelle synthèse des risques, c'est-à-dire d'une description des menaces et de leur probabilité d'occurrence, ainsi que de leurs conséquences ;

§ politique : pour une solution technique donnée, économiquement accepté, une contrainte d'ordre politique peut survenir. Sans justification logique ou technique, une telle contrainte peut engendrer de réels problèmes de sécurité. Ce type de situation requiert également l'acceptation de risque de sécurité.

Le principe de propriété:

Le principe de propriété exige qu'une politique de sécurité décrive, pour chaque ressource d'une entreprise, quels en sont les propriétaires. On doit entendre par « propriété », non pas l'aspect  légal de la propriété d'un bien, mais son aspect fonctionnel, qui consiste à assumer la pérennité et la protection.

Les propriétaires d'une ressource en ont la responsabilité et dictent les règles d'accès à cette ressource. Un schéma classique établit une distinction entre le propriétaire, l'administrateur et l'utilisateur d'une ressource.

Le propriétaire définit les règles d'utilisations de ses ressources et les donne à l'administrateur, lequel a pour rôle de les appliquer aux demandes d'un utilisateur. En cas de problème, l'administrateur demande au propriétaire une dérogation aux droits d'accès. L'utilisateur n'est jamais en contact direct avec le propriétaire. 

Par exemple, tous les équipements informatiques de la First Bank sont la propriété de la DSIG. Le DSIG définit donc les règles d'utilisation des équipements réseau et les confie à l'Administrateur réseau qui tient lieu d'administrateur des équipements et applications réseaux. Toutes les requêtes utilisateurs en ce qui concerne le matériel et les applications réseaux s'adressent à l'Administrateur réseau et jamais au DSIG : c'est une délégation de responsabilité.

Le fonctionnement est illustré sur la figure suivante :

L'autorité:

Une direction générale a autorité sur toutes les ressources de l'entreprise. Elle délègue  généralement cette autorité aux responsables de départements, qui peuvent à leur tour mandater un groupe au sein de leur département.

Dans tous les cas, l'équipe sécurité, mandatée par la direction générale, dispose de l'autorité de vérifier l'application de la politique de sécurité sur toutes les ressources de l'entreprise.

L'universalité:

Le principe d'universalité veut qu'une politique de sécurité dicte des règles qui doivent être non seulement validées, quels que soient les aspects techniques mis en jeu, mais aussi appliquées.

L'idée est que la conception initiale d'une politique de sécurité et de ses domaines d'application doit être essentielle et fondamentale, de sorte à éviter une évolution inconsciente de la politique de sécurité, de ses guides et de ses recommandations. 

L'orthogonalité:

Le principe d'orthogonalité précise qu'une politique de sécurité peut être découpée en sous parties distinctes, sous la condition que ces sous parties forment un ensemble cohérent.

La simplicité:

Une politique de sécurité est simple dans sa structure et claire dans les règles qu'elle énonce. Toute mauvaise compréhension d'une règle de la politique de sécurité conduit à ce qu'elle ne soit pas appliquée ou qu'elle le soit mal.

L'auditabilité:

Une politique de sécurité est auditable. Cela demande que les règles qu'elle énonce puissent être vérifiées dans les faits. Bien qu'il soit difficile de mesurer toute chose, la politique de sécurité est écrite dans cet objectif. C'est d'autant vrai qu'un audit de sécurité se réfère en priorité au document de politique de sécurité.

La hiérarchie:

Une politique de sécurité est structurée en une politique de sécurité de haut niveau, qui englobe les politiques de sécurité couvrant des domaines précis. Ces mêmes politiques de sécurité pointent sur des procédures qui détaillent des aspects techniques de domaine visé.

L'idée sous-jacente est qu'une politique de sécurité doit être structurée en sous politiques, dans une approche allant du plus général au plus spécifique. Il est admis que deux à trois niveaux de politique de sécurité conviennent dans la plupart des cas.

L'approbation:

Une politique de sécurité est approuvée par la direction générale, et ce, de manière officielle. De plus la direction générale et les ressources humaines s'engagent à réprimer toute violation de la politique de sécurité qui pourrait mettre en péril la survie de l'entreprise.

Les cadres juridique et réglementaire couvrant la politique de sécurité et les actes de malveillance sont connus de tout le personnel de l'entreprise.

1.3. NIVEAUX D'UNE POLITIQUE DE SÉCURITÉ RÉSEAU

La déclinaison d'une politique de sécurité en sous niveaux n'est pas chose facile. Cela demande notamment une parfaite connaissance du domaine visé. Seule l'expérience de l'entreprise et de son historique permet d'éviter les pièges et surtout de ne retenir que les éléments principaux et critiques.

La figure suivante illustre une classification en niveaux :

1.4. LES DIFFÉRENTS TYPES DE POLITIQUES DE SÉCURITÉ

Une politique de sécurité peut être trop permissive ou au contraire trop restrictive. Dans le premier cas, elle risque de présenter une faiblesse de sécurité par son coté laxiste. Dans le second, elle peut devenir inapplicable du fait de règles trop strictes.

Comme dans de nombreux domaines, seule l'expérience guide l'écriture d'une politique de sécurité ainsi que ces règles. Dans tous les cas, plus les ressources sont critiques, plus les règles doivent être strictes.

Quelle que soit la politique de sécurité définie, il faut savoir gérer les exceptions ou entorses aux règles de sécurité. Ces exceptions sont  connues, limitées, documentées et sous contrôle.

Toutes déviation de la politique de sécurité fait l'objet d'une revue spécifique afin de corriger la faiblesse de sécurité engendrée et les exceptions associées.

Une politique de sécurité réseau couvre les éléments suivants :

§ Sécurité de l'infrastructure : couvre la sécurité logique et physique des équipements et des connexions réseau, aussi bien internes que celles fournies par des fournisseurs réseau.

§ Sécurité des accès : couvre la sécurité logique des accès locaux et distants aux ressources de l'entreprise, ainsi que la gestion des utilisateurs et de leurs droits d'accès au système d'informations de l'entreprise.

§ Sécurité du réseau intranet face à Internet ou aux autres parties : couvre la sécurité logique des accès aux ressources de l'entreprise (Intranet) et l'accès aux ressources extérieures (Extranet).

Pour résumer, la définition d'une politique de sécurité réseau vise tout à la fois à définir les besoins de sécurité de l'entreprise, à élaborer des stratégies de sécurité afin de protéger les biens les plus critiques et à définir le référentiel des contrôles de sécurité.

2. STRATEGIE DE SECURITE RESEAU

L'établissement de stratégie de sécurité exige de prendre en compte l'historique de l'entreprise, l'étendue de son réseau, le nombre d'employés, la sous-traitance avec des tierces parties, le nombre de serveurs, l'organisation du réseau, etc.

D'une manière générale, une bonne stratégie de sécurité vise à définir et mettre en oeuvre des mécanismes de sécurité, des procédures de surveillance des équipements de sécurité, des procédures de réponse aux incidents de sécurité et des contrôles et audits de sécurité. Elle veille en outre à ce que les dirigeants de l'entreprise approuvent la politique de sécurité de l'entreprise.

Nous allons montrer comment élaborer une stratégie de sécurité et donnerons les règles élémentaires à considérer dans son élaboration, ainsi que quelques exemples de stratégie de sécurité.

2.1. MÉTHODOLOGIE POUR ÉLABORER UNE STRATÉGIE DE SÉCURITÉ RÉSEAU

Nous décrivons dans ce chapitre la méthodologie générique pour élaborer une stratégie de sécurité réseau.

2.1.1. Prédiction des attaques potentielles et analyse de risque

La première étape consiste à déterminer les menaces qui pèsent sur les biens de l'entreprise, ainsi que les impacts de ces menaces sur l'activité de l'entreprise si elles devaient se concrétiser.

Le rapprochement entre les ressources critiques de l'entreprise et les risques de sécurités associés, déterminés par les valeurs menaces-conséquences-vulnérabilités, permet de définir la stratégie de sécurité de l'entreprise.

Afin de protéger ses biens critiques des menaces identifiées, l'entreprise doit aussi analyser les techniques d'attaques utilisées pour enfreindre les contrôles de sécurité ou tirer parti des vulnérabilités. Ce deuxième niveau d'analyse permet de définir des stratégies de sécurité proactives, visant à diminuer les probabilités d'occurrence des menaces.

Typologie des menaces:

Les différentes catégories de menaces qui pèsent sur les systèmes d'informations peuvent être classés comme sur le schéma suivant :


Les menaces non intentionnelles ou imprévisibles, comme les catastrophes naturelles, ne mettent pas en oeuvre d'outils ou de techniques particulières et n'ont évidemment pas d'objectifs déterminés. A l'inverse, les menaces intentionnelles mettent généralement en oeuvre des outils et des techniques d'attaques très variés.

Des études ont montrés que, dans les trois quarts des cas, les menaces réelles de sécurité viennent de l'intérieur de l'entreprise. Face aux menaces identifiées lors de la première étape, des stratégies proactives ou réactives doivent être définies pour tous les cas.

Stratégie proactive:

Une stratégie proactive consiste en un ensemble d'étapes prédéfinies qui doivent être exécutées afin de se prémunir d'attaque identifiées.

Une telle stratégie doit tout d'abord évaluer les dommages causés par une stratégie donnée. Ces dommages peuvent aller d'un impact mineur jusqu'à la perte totale du bien attaqué.

La stratégie proactive évalue ensuite les degrés de vulnérabilité et les faiblesses exploitées par chaque attaque identifiée. Cette étape vise à définir  de manière précise les éléments de contre-mesure à mettre en place en tenant compte de différents types de contraintes. Les risques associés aux vulnérabilités et faiblesses détectées doivent être réduits par la mise en place de ces éléments de contre-mesure.

La dernière étape de la stratégie proactive consiste  à élaborer un plan de contingence, ou Business Continuity Plan, visant à définir les actions à mettre en oeuvre en cas d'attaque réussie. Ce plan définit chaque tâche à exécuter, ainsi que le moment de son exécution et la personne qui en a la charge. Il doit résoudre le problème de la restauration des données. Il peut inclure une contrainte de déplacement du bien vers un autre lieu, en cas d'impact physique sur les locaux.

Un tel plan doit faire l'objet d'exercices réguliers afin que le personnel soit parfaitement préparé au moment où le plan devra être réellement en oeuvre.

Stratégie réactive:

Une stratégie réactive définit les étapes à mettre en oeuvre après ou pendant un incident. Elle suppose que la stratégie proactive a échoué.

Cette stratégie consiste à analyser l'incident de sécurité afin de déterminer les dommages causés, les techniques et outils d'attaque utilisés. Il est primordial de déterminer le plus vite possible l'étendue des dommages afin de décider des actions d'urgence à entreprendre.

Non moins importante est la détermination des causes de l'incident par une analyse des traces système et réseau, sur les pare-feu, mais aussi par la détection de signatures de programmes ou de « root kits », de zone utilisées comme nid par l'intrus, sur les systèmes attaqués.

L'étape suivante commence dès la fin de l'analyse post-mortem. Elle consiste à réparer les dommages causés. Elle vient nécessairement à la fin de l'analyse de façon que la restauration des données affectées n'écrase pas les traces de l'incident de sécurité. Cette logique est à rapprocher de celle à l'oeuvre dans les autopsies consécutives à des affaires criminelles, lors desquelles les services de médecine ne sont pas autorisés à toucher au cadavre avant que les enquêteurs aient fini l'investigation.

2.1.2. Analyse des résultats et amélioration

Les différentes simulations sont l'occasion d'améliorer les contre-mesures de sécurité, voire de les remettre en question.

Il faut aussi valider l'efficacité des stratégies de sécurité mises en place face aux simulations exécutées. Enfin, dans la mesure ou la stratégie existante n'a pas apportée de résolution satisfaisante, il est nécessaire de la modifier ou d'en créer une nouvelle.

2.1.3. Règles élémentaires d'une stratégie de sécurité réseau

Lors de l'établissement d'une stratégie de sécurité, il faut toujours garder à l'esprit quelques règles ou principes élémentaires afin de se prémunir des erreurs possibles dans le choix de contre-mesures.

Simplicité:

Plus une stratégie est complexe, plus il est difficile de l'appliquer, de la maintenir dans le temps ou de la faire évoluer.

La simplicité est un critère de réussite d'une stratégie de sécurité.

Le maillon le plus faible:

Un réseau est composé d'un ensemble d'équipement, ayant ou non une fonction de sécurité implémentée. Un routeur a pour rôle d'acheminer du trafic de données tandis qu'un pare-feu filtre les flux réseau. Pour qu'une stratégie de sécurité recouvre le périmètre de l'entreprise, il faut s'assurer que toutes les méthodes d'accès fournissent un même niveau  de sécurité, faute de quoi le maillon le plus faible sera privilégié pour pénétrer le réseau de l'entreprise.

Variété de protection:

La variété des solutions mises en place pour assurer la sécurité ne doit pas se fonder sur un seul type de logiciel de pare-feu ou de détection d'intrusion.

A titre d'exemple, une architecture visant à protéger l'entreprise des accès réseau Internet pourrait reposer sur deux types de pare-feux différents, un pour protéger un sous réseau DMZ d'Internet et un autre pour protéger l'entreprise de cette DMZ. Illustration sur le schéma suivant :

Pour réussir une attaque, l'intrus devrait être capable de passer les deux types de produits pour atteindre le réseau de l'entreprise. Les deux pare-feux peuvent être de marques et de modèles différents, voire implémenter des technologies différentes, complexifiant d'autant les techniques de pénétration de l'entreprise.

2.1.4. Implémentation en profondeur des mécanismes de sécurité :

La sécurité ne doit jamais reposer sur un seul mécanisme de sécurité. Une imbrication de mécanismes offre une garantie de sécurité bien supérieure, pour peu que le premier élément de sécurité vienne à faillir.

Un premier élément de sécurité filtre l'accès aux adresses IP des équipements réseau par des ACL.

Un deuxième élément de sécurité authentifie les accès à l'équipement à l'aide d'algorithmes de chiffrement et de protocoles d'accès offrant de telles options, tels IPsec ou SSH.

L'implémentation de mécanismes de sécurité en profondeur doit être comprise et perçue comme une assurance de sécurité à plusieurs niveaux. Plus le système à protéger est critique, plus le nombre de mécanismes de sécurité doit être important.

2.2. PROPOSITIONS DE STRATÉGIE DE SÉCURITÉ RÉSEAU

Ces stratégies de sécurité doivent être considérées comme des briques, que l'on peut utiliser afin de construire une stratégie complète.

Nous prenons comme exemple une entreprise dont le réseau interne, ou Intranet, comporte un sous réseau dédié à la production comme c'est le cas pour la First Bank.

Pour mieux comprendre ces propositions de stratégie, nous nous appuyons sur l'analyse du château fort, dont le modèle est assez proche de celui du réseau.

2.2.1. Stratégie des périmètres de sécurité

Au commencement nous avons simplement une zone à protéger, il s'agit de l'emplacement où sera érigé le château, qui n'est qu'un simple champ. La première étape dans la construction consiste à définir le périmètre à protéger et à construire des remparts tout autour. Ces remparts ont pour fonction de protéger le périmètre d'un environnement extérieur considéré comme inconnu et donc à risque.

Principe:

Le réseau de d'entreprise est découpé en périmètres de sécurité logique regroupant des entités ou fonctions afin de mettre en place des niveaux de sécurité à la fois imbriqués et séparés. Dans le cas de la banque, les réseaux des différentes agences constituent les différents périmètres de sécurité.

2.2.2. Stratégie de goulet d'étranglement

Maintenant que nous avons érigé des remparts plus ou moins solides et efficaces afin de définir nos périmètres de sécurité, nous avons la possibilité de mettre en place des contrôles d'accès. Nous allons donc parler des goulets d'étranglement et installer des contrôles d'accès sur ces goulets.

Dès lors, il ne sera possible d'entrer dans le château que par un nombre défini d'entrées-sorties. De plus, ces entrées-sorties sont gardées et les personnes qui entrent ou sortent font l'objet d'un contrôle. Les goulets d'étranglement dans le cas du réseau de la banque sont les différents PIX et Routeurs situés en entrée des LAN des agences.

Principe:

Des contrôles d'accès différenciés et en nombre limité sont implémentés pour permettre l'accès à chaque périmètre de sécurité du réseau de l'entreprise.

Description:

Techniquement, les contrôles d'accès sont constitués de filtrage de paquets et de relais applicatifs. Ces solutions permettent d'autoriser un certain nombre de flux réseau sortants (http, FTP, SMTP) appliqués à l'ensemble du réseau interne ou à certaines adresses. Elles interdisent tout trafic non autorisé vers le réseau interne.

Le schéma suivant illustre les contrôles d'accès représentés par des pare-feux sur chacun des périmètres de sécurité :

2.2.3. Stratégie d'authentification en profondeur

Maintenant que nous avons défini des périmètres de sécurité et des goulets d'étranglements, nous allons authentifier les passants qui traversent chaque porte, voir chaque chemin au sein du château fort afin de prouver son identité sous peine d'être stoppé.

Principe:

Des contrôle d'authentification sont mis en place afin d'authentifier les accès aux périmètres de sécurité.

Description:

Les contrôles d'authentification des utilisateurs s'effectuent à plusieurs passages, au niveau de la sortie Internet, où chaque utilisateur doit s'authentifier pour avoir accès à Internet, mais aussi au niveau de chaque serveur pour accéder au réseau interne.

Chaque fois qu'un utilisateur s'authentifie, un ticket est crée sur un système chargé de stocker les traces afin que le parcours de l'utilisateur soit connu de manière précise.

Cette logique peut être généralisée et entraîner la création d'une trace pour chaque action de l'utilisateur sur chaque serveur. On parle dans ce cas de modèle AAA (Authentification, Authorization, Accounting), autrement dit authentification, autorisation et compatibilité des événements. La mise en place d'une telle infrastructure est toutefois lourde et coûteuse. De plus, elle ne va pas sans un grand nombre d'inconvénients, à commencer par la création d'un point unique de défaillance, pour peu que le système d'authentification vienne à être indisponible.

2.2.4. Stratégie du moindre privilège

La stratégie du moindre privilège consiste à s'assurer que chacun dispose de tous les privilèges et seulement des privilèges dont il a besoin. Pour reprendre notre analogie, le manant n'a pas le droit  d'accéder au château fort du seigneur ni aux mécanismes de protection du château.

Principe:

Un utilisateur ne dispose que des privilèges dont il a besoin.

La mise en oeuvre de ce principe simple à énoncer est assez lourde pour l'entreprise en termes de ressources et coûts.

Description:

De nos jours, un utilisateur au sein de l'entreprise est toujours relié au réseau interne, lequel héberge les stations de travail des utilisateurs mais également les serveurs locaux, de fichiers et d'impression, ou globaux, associés à l'activité de l'entreprise, offrant également un accès à Internet.

L'application stricte de cette stratégie, dans laquelle un utilisateur dispose du droit d'accès à un système spécifique et à aucun autre, est généralement difficile à réaliser de manière globale.

2.2.5. Stratégie de confidentialité des flux réseau

Tout message qui doit être émis à l'extérieur vers d'autres réseaux doit être protégé. Pour y parvenir, le message doit être chiffré au moyen d'un algorithme de cryptographie connu par l'émetteur et le récepteur.

Principe:

Toute communication intersite transitant sur des réseaux publics est chiffrée si elle contient des données confidentielles.

Description:

Cette stratégie est généralement appliquée aux réseaux d'entreprise répartis sur plusieurs sites distants communiquant entre eux par l'intermédiaire de réseaux publics tels qu'Internet, X25, liaisons spécialisées, etc.

Le chiffrement des flux peut se mettre en place à différents niveaux. Lorsqu'une entreprise crée un réseau de type WAN, elle construit un réseau central et relie ses sites à ce réseau, comme sur le schéma suivant :

Tous les flux qui sortent de chaque site sont chiffrés à la volée par le boîtier de chiffrement placé en goulet d'étranglement.

Il existe bien d'autres moyens de chiffrer les communications au sein d'un réseau. Par exemple au lieu d'utiliser la technologie http, le protocole HTTPS peut-être choisi.

2.2.6. Stratégie de séparation des pouvoirs

A ce stade, nous avons construit notre château, et nous contrôlons les points d'entrées/sorties.

Tous ces services sont assurés par une même entité. Si cette entité vient à défaillir, elle risque d'autoriser l'ennemi à rentrer dans tous les périmètres de sécurité du château, conduisant toute la sécurité du château fort à s'écrouler.

Principe:

Des entités sont crées, chacune responsable de zones de sécurité spécifiques du réseau d'entreprise.

Description:

Il n'existe souvent dans l'entreprise qu'un seul département pour prendre en charge toutes les fonctions associées aux services informatiques interne (IT). Une telle organisation convient aux petites entreprises, qui ne disposent pas de beaucoup de ressources pour satisfaire ce besoin.

Plus l'entreprise est importante, plus il est nécessaire de séparer ou de limiter les pouvoirs de chaque entité afin de limiter les conséquences ou les impacts sur l'entreprise en cas d'acte de malveillance. Un bon exemple illustrant la nécessité de la séparation des pouvoirs est celui d'un département qui doit à la fois assurer une fonction opérationnelle et en contrôler l'application. S'il n'existe pas d'entité indépendante au niveau organisationnel chargée du contrôle, il est pratiquement certain que les procédures les plus contraignantes seront ignorées, créant ainsi un maillon faible.

Le schéma suivant illustre l'organisation idéale de notre réseau d'entreprise en équipes chargées de la sécurité de chaque périmètre de sécurité.

Pour résumer, toute politique de sécurité réseau s'accompagne d'un ensemble de stratégies ayant pour objectifs d'établir un premier niveau de règles de sécurité puis de mettre en oeuvre des solutions techniques.

Les architectures réseau et les services offerts deviennent de plus en plus complexes. Cette complexité est susceptible de remettre en cause les mécanismes de sécurité préalablement définis. L'entreprise doit être à la fois adaptable et réactive dans ses choix stratégique afin de protéger ses périmètres de sécurité.

Nous avons montré tout au long de cette section que la politique de sécurité réseau est un long processus qui doit intégrer toutes les entités de l'entreprise et de manière progressive. Nous exposons au cours de la section suivante une notion importante, celle de modèle de sécurité.

3. LES MODELES DE SECURITE

A partir du début des années 70, plusieurs modèles de sécurité se sont succédés : I-BAC, R-BAC, V-BAC, T-MAC et plus récemment Or-BAC. Nous allons évoquer brièvement ces modèles de sécurité mais nous marquerons un temps d'arrêt sur le modèle Or-BAC que nous utiliserons dans la suite.

3.1. LE MODÈLE I-BAC (IDENTITY BASED CONTROL ACCESS)

Premier modèle de contrôle d'accès proposé dans la littérature, ce modèle introduit les concepts fondamentaux de sujet, d'action et d'objet :

§ le sujet est l'entité active du SI (utilisateur, ordinateur, processus, programme,...) ;

§ l'objet est l'entité passive du SI (fichier, base de donnée, ordinateur, programme,...) ;

§ l'action désigne l'effet recherché lorsqu'un sujet accède à un objet (lire, écrire, modifier,...).

L'objectif du modèle I-BAC est de contrôler tout accès direct des sujets aux objets via l'utilisation des actions. Ce contrôle est basé sur l'identité du sujet et l'identificateur de l'objet, d'où le nom du modèle I-BAC.

Le modèle I-BAC présente cependant des limites. La politique d'autorisation devient complexe à exprimer et administrer. Il est en effet nécessaire d'énumérer les autorisations pour chaque sujet, action et objet. En particulier, lorsqu'un nouveau sujet ou objet est créé, il est nécessaire de mettre à jour la politique d'autorisation pour définir les nouvelles permissions associées à ce sujet ou objet.

3.2. LE MODÈLE R-BAC (ROLE BASED ACCESS CONTROL)

Le modèle RBAC (Role Based Access Control) propose de structurer l'expression de la politique d'autorisation autour du concept de rôle. Un rôle est un concept organisationnel : des rôles sont affectés aux utilisateurs conformément à la fonction attribuée à ces utilisateurs dans l'organisation. Le principe de base du modèle R-BAC est de considérer que les autorisations sont directement associées aux rôles. Dans R-BAC, les rôles reçoivent donc des autorisations de réaliser des actions sur des objets.

Un autre concept introduit par le modèle R-BAC est celui de session. Pour pouvoir réaliser une action sur un objet, un utilisateur doit d'abord créer une session et, dans cette session, activer un rôle qui a reçu l'autorisation de réaliser cette action sur cet objet. Si un tel rôle existe et si cet utilisateur a été affecté à ce rôle, alors cet utilisateur aura la permission de réaliser cette action sur cet objet une fois ce rôle activé. Lorsqu'un nouveau sujet est créé dans le SI, il suffit d'affecter des rôles au sujet pour que ce sujet puisse accéder au SI conformément aux permissions accordées à cet ensemble de rôles.

Comparé au modèle I-BAC, la gestion de la politique d'autorisation s'en trouve simplifiée puisqu'il n'est plus nécessaire de mettre à jour cette politique chaque fois qu'un nouveau sujet est créé.

Mais comme I-BAC, le modèle R-BAC ne considère que des autorisations positives (permissions) et fait donc l'hypothèse que la politique est fermée. Bien plus, dans les modèles I-BAC et R-BAC, les actions correspondent généralement à des commandes élémentaires, comme la lecture du contenu d'un objet ou l'écriture dans un objet. Dans les applications récentes, le besoin apparaît de contrôler la réalisation d'actions composites, appelées tâches ou activités. Par exemple, dans une agence de voyage, la tâche d'achat d'un billet d'avion se décompose en plusieurs actions plus élémentaires telles que la réservation du billet, le paiement du billet et l'édition d'une facture. Le besoin de contrôle sur des activités composites est en particulier présent dans les applications de type workflow8(*) d'où la modèle T-BAC.

3.3. LE MODÈLE T-BAC (TASK BASED ACCESS CONTROL)

Le modèle T-BAC fut le premier modèle à introduire le concept de tâche. D'autres modèles ont ensuite été développés pour contrôler l'exécution des activités dans un workflow. En particulier, l'utilisateur ne doit obtenir une permission que lorsque c'est nécessaire pour poursuivre l'exécution de l'activité considérée ("just in time" permission). Ainsi, dans l'exemple d'achat d'un billet d'avion, la permission d'éditer une facture ne doit être activée qu'après la réservation et l'achat du billet. Il est parfaitement possible de combiner les concepts de rôle et de tâche pour spécifier une politique d'autorisation et obtenir ainsi un modèle que l'on peut appeler TR-BAC (Task and Role Based Access Control). Dans ce cas, les permissions affectées aux rôles portent sur la réalisation des tâches. Diverses contraintes peuvent être spécifiées pour par exemple spécifier qu'un même sujet doit intervenir dans certaines actions nécessaires à la réalisation de la tâche (éventuellement avec des rôles différents).

Les modèles R-BAC et T-BAC ont respectivement introduit les concepts de rôle et de tâche pour structurer les sujets et les actions. Pour faciliter l'expression et la gestion d'une politique d'autorisation, nous avons également besoin d'un concept pour structurer les objets. Parmi les modèles de contrôle d'accès proposant une telle structuration des objets, on peut citer le modèle de sécurité proposé par SQL pour les bases de données relationnelles.

L'expression d'une politique de sécurité en SQL repose sur le concept de vue. Ce type de modèle de contrôle d'accès basé sur les vues est appelé V-BAC.

3.4. LE MODÈLE V-BAC (VIEW BASED ACCESS CONTROL)

Intuitivement, dans une base de données relationnelle, une vue correspond au résultat d'une requête SQL auquel on a donné un nom. Ce concept de vue est ensuite utilisé pour structurer l'expression d'une politique d'autorisation à l'aide des instructions GRANT (qui permet d'accorder une nouvelle permission à un utilisateur) et REVOKE (qui permet de supprimer une permission que possédait un utilisateur). Une vue constitue donc un moyen efficace pour accorder un accès à l'ensemble des objets contenus dans la vue.

Cependant, dans les applications récentes, il est souvent nécessaire de considérer plusieurs organisations simultanément. Par exemple, dans les applications de services web, un utilisateur d'une certaine organisation peut souhaiter accéder aux données appartenant à une autre organisation. Une organisation est une entité structurée. Par exemple, un hôpital correspond à une organisation qui se décompose en plusieurs sous-organisations : les différents départements de l'hôpital, les différents services de ces départements, etc. Chaque organisation gère en général sa propre politique d'autorisation. Certaines organisations peuvent également être créées dynamiquement en fonction des activités que doit prendre en charge l'hôpital. Par exemple, une équipe de soin peut être créée pour prendre en charge un patient particulier. Cette organisation pourra ensuite être dissoute une fois les activités réalisées. Remarquons que les autorisations d'un sujet dépendent non seulement du rôle du sujet mais également de l'organisation dans laquelle ce sujet exerce son rôle. Ce problème a été identifié dans le modèle T-MAC.

3.5. LE MODÈLE T-MAC (TEAM BASED ACCESS CONTROL)

Le modèle T-MAC introduit la notion d'équipe. Dans T-MAC, des autorisations sont associées aux rôles ainsi qu'aux équipes. Les autorisations que possède un sujet résultent de la combinaison des autorisations associées aux rôles exercés par le sujet et des autorisations associées à l'équipe à laquelle est affecté le sujet. Plusieurs combinaisons (par exemple, l'union des autorisations) sont envisagées. En fait, le modèle T-MAC est incorrect car il introduit deux relations binaires : rôle-autorisation et équipe-autorisation. Si l'on introduit la notion d'équipe, il est en fait nécessaire de considérer une relation ternaire équipe-rôle-autorisation pour spécifier que les autorisations dépendent non seulement du rôle mais aussi de l'équipe dans laquelle est exercé ce rôle. A l'aide d'une telle relation ternaire, on pourra ainsi facilement spécifier que les autorisations du rôle médecin changent suivant qu'il s'agit d'un médecin dans une équipe de garde ou d'un médecin dans une équipe d'urgence.

Cette imperfection du modèle T-MAC a été corrigée dans le modèle Or-BAC, que nous allons présenter dans les sections suivantes.

3.6. LE MODÈLE OR-BAC (ORGANIZATION BASED ACCESS CONTROL)

3.6.1. Les objectifs et avantages d'Or-BAC

L'objectif d'Or-BAC est de permettre la modélisation d'une variété de politiques de sécurité basées sur le contexte de l'organisation. Pour arriver à ce but, et afin de réduire la complexité de gestion des droits d'accès, le modèle Or-BAC repose sur quatre grands principes :

§ l'organisation est l'entité centrale du modèle ;

§ il y a deux niveaux d'abstraction :

o un niveau concret : sujet, action, objet,

o un niveau abstrait : rôle, activité, vue,

§ la possibilité d'exprimer des permissions, des interdictions, et des obligations ;

§ la possibilité d'exprimer les contextes.

Ainsi, en plus d'avoir une politique de sécurité indépendante de son implémentation, Or-BAC a d'autres avantages. Il permet d'exprimer aussi bien des permissions, que des interdictions et des obligations. Il prend en compte les contextes, les hiérarchies et la délégation.

L'introduction d'un niveau permet aussi la structuration des entités comme on le voit sur le schéma suivant:


Ainsi dans Or-BAC, un rôle est un ensemble de sujets sur lesquels sont appliquées les mêmes règles de sécurité. Identiquement, une activité est un ensemble d'actions sur lesquels sont appliquées les mêmes règles de sécurité et une vue est un ensemble d'objets sur lesquels sont appliquées les mêmes règles de sécurité.

3.6.2. Les interactions d'Or-BAC

Sur le schéma suivant, on peut apercevoir les interactions existantes dans Or-BAC. Afin de ne pas surcharger celui-ci l'interaction entre le contexte et les entités concrètes n'est pas représentée.


Les prédicats d'Or-BAC liés aux interactions seront décrits dans la section du même nom.

3.6.3. La notion de contexte

On voit apparaître sur ce schéma des interactions une entité qui n'apparait pas dans les autres modèles de contrôle d'accès : le contexte. Celui-ci est défini pour une organisation, un sujet, une action, des objets donnés. Les contextes permettent d'exprimer des permissions ou des interdictions dans certaines circonstances (urgence à l'hôpital, heures de travail dans une entreprise,...). Il est facile d'imaginer que dans un contexte d'urgence, on désirera qu'un infirmier puisse accéder au dossier d'un patient sans avoir besoin d'appeler l'administrateur afin que celui-ci lui donne les droits (peut-être trop tard). Cette possibilité de nuancer les autorisations n'est pas offerte par les autres modèles, alors que dans de nombreuses organisations (hôpital, entreprise,...) il existe un réel besoin de ne donner des droits que dans des circonstances précises.

Pour le modèle Or-BAC, on a regroupés les différents contextes par type (comme sur le schéma ci-dessus) :

§ contexte temporel : ce sont des contextes régissant la durée de validité des privilèges ;

§ contexte spatial : il peut être lié à l'appartenance à un réseau, ou la position géographique, ou à toute autre situation spatiale ;

§ contexte déclaré par l'utilisateur : ce type de contexte est activé, par exemple, par le médecin en cas d'urgence, ou pour signaler que l'on effectue un audit. Dans ces cas exceptionnels, des permissions peuvent être données alors qu'elles seraient interdites dans un cas normal. L'utilisateur qui déclare le contexte est obligé en contrepartie de faire un compte-rendu des opérations effectuées et peut être des raisons qui l'ont motivé à déclarer ce contexte ;

§ contexte prérequis : leur utilisation permet de contraindre les sujets concernés par les permissions ou les interdictions dépendant de ces contextes et qui vient réduire ou étendre les droits d'accès hérités du rôle associé ;

§ contexte provisionnel : ce contexte permet de donner des privilèges en fonction de l'historique. Par exemple, le contexte "accès limités à 2 fois" regarde si le document, objet de l'action, a été accédé au moins 2 fois.

A noter que dans une modélisation Or-BAC, on définit toujours un contexte par défaut.

3.6.4. La notion de hiérarchie

Afin de gérer plus facilement des sous-organisations, en automatisant la dérivation des permissions, Or-BAC permet de définir des hiérarchies sur les rôles, les activités, les vues et les contextes. On a ainsi l'héritage des permissions et des interdictions en descendant dans la hiérarchie des rôles, des activités, des vues et des contextes. Tout comme dans R-BAC, l'héritage permet de simplifier la tâche de l'administrateur en automatisant partiellement l'attribution des privilèges. Comme dans R-BAC, il existe deux façons de définir la hiérarchie de l'héritage :

§ la première vision pour définir la hiérarchie est la hiérarchie organisationnelle. Le directeur est hiérarchiquement supérieur à un ingénieur. Dans certains cas, il peut donc hériter de toutes les permissions de ce rôle (pour vérifier le travail de celui-ci). On dit alors que R1 est senior de R2 et R2 est junior rôle de R1, si un utilisateur jouant le rôle R1 est supérieur hiérarchique de R2 ;

§ la deuxième vision est la hiérarchie obtenue par la relation de spécification/généralisation est définie telle que R1 est un senior rôle de R2 si chaque fois qu'un utilisateur joue le rôle de R1, elle joue le rôle de R2. Par exemple sur la hiérarchie présentée sur le schéma un peu plus en dessous, le chirurgien est aussi un médecin. Donc à chaque fois qu'un utilisateur est associé au rôle de chirurgien, il joue aussi le rôle de médecin. Le rôle chirurgien est un senior rôle de du rôle médecin. Un rôle R1 senior de R2 hérite donc les permissions affectées à R2.

Dans Or-BAC, ces deux hiérarchies réapparaissent mais les droits qui leur sont associés sont quelque peut modifiés. En effet, avec le modèle Or-BAC, on peut définir des permissions mais aussi des interdictions. Dans Or-BAC, on peut aussi spécialiser un rôle. On voit donc apparaître une hiérarchie liée à cette spécification. Dans cette hiérarchie si on veut qu'un rôle senior puisse avoir plus de pouvoir que son rôle junior, alors il faut que le rôle senior hérite des permissions de son rôle junior et que les interdictions liées au rôle senior soient héritées par son rôle junior. De plus, par rapport à R-BAC, Or-BAC introduit le concept d'organisation, ce qui donne une nouvelle dimension à l'héritage. En effet, il est possible qu'un rôle puisse toujours englober un certain sous-rôle quelle que soit l'organisation dans laquelle on se place. Par exemple, dans tout hôpital, le rôle de chirurgien est une spécialisation du sous-rôle médecin. Or-BAC permet donc au chirurgien d'hériter de tous les droits du médecin en ne définissant qu'une seule fois les droits. Le reste se fait grâce à la relation de spécialisation/généralisation. Identiquement, les vues et les activités possèdent des sous-vues et des sous-activités. On les hiérarchise donc afin de créer pour elles aussi cette relation de spécialisation/généralisation.


Un petit exemple de dérivation de privilèges par la hiérarchie dans Or-BAC, sur le schéma, si on a :

Permission (Org.HOP, Médecin, Opérer, patient, ctx.MéduPat.OUctx.Urg)
alors à partir de la hiérarchie définie, on dérive automatiquement :
Permission (Org.HOP, Urologue, Opérer, patient, ctx.MéduPat.OUctx.Urg) et
Permission (Org.HOP, Chirurgien, Opérer, patient, ctx.MéduPat.OUctx.Urg)

3.6.5. La notion de délégation

La délégation permet de donner à un utilisateur particulier un privilège, sans donner ce privilège à toutes les personnes ayant le même rôle que lui. La délégation, bien que très utilisée, est très peu modélisée dans les politiques de sécurité car ce concept est très complexe.

En effet, grâce à une délégation, une permission peut être donnée par le détenteur d'un droit à un tiers pour agir à sa place ou à la place d'un autre. On voit déjà ici apparaître qu'une délégation peut faire intervenir plusieurs parties :

§ le sujet qui possède le privilège,

§ le sujet a qui on délègue le privilège,

§ le sujet qui délègue le privilège (pour agir à sa place ou à la place d'un autre).

Il existe trois types de situation dans lesquelles la notion de délégation apparaît :

§ la maintenance d'un rôle,

§ la décentralisation de l'autorité,

§ le travail de collaboration.

La maintenance d'un rôle correspond au cas où un utilisateur doit déléguer une partie de ses permissions afin qu'on puisse remplir toutes ses obligations pendant son absence. La décentralisation de l'autorité est surtout utile dans le cas où on modifie une partie de l'organisation. En pratique, ce cas peut correspondre à l'ouverture d'un nouvel hôpital dans lequel on va transférer une partie des médecins exerçant dans les autres hôpitaux de la région. Le cas du travail en collaboration est évident, si on souhaite que notre partenaire puisse lire les documents que l'on possède sur un projet donné, il faut lui en donner l'autorisation.

Cependant, la délégation pose de nombreux problèmes. Entre autre, un utilisateur X ayant obtenu tous les droits d'un autre utilisateur Y peut ôter les droits à Y si X possède certains droits administratifs. Il peut aussi arriver que l'on oublie de révoquer une délégation faite à Z et qui n'a plus d'utilité d'être, ce qui peut laisser la possibilité à Z de se faire passer pour quelqu'un d'autre. C'est l'une des raisons pour lesquelles il est important de définir deux types de permission, celles qui sont délégables et celle qui ne peuvent l'être.


De plus, la délégation est liée à une multitude de notions :

§ délégation temporaire/permanente : il faut tout d'abord distinguer les délégations temporaires ou permanentes. En effet, on peut souhaiter qu'un utilisateur ait de façon permanente un droit, afin de ne pas à avoir à renouveler sans cesse ce droit ;

§ délégation monotone/non-monotone : c'est le droit de conserver son privilège quand on le délègue. Dans le cas où la délégation est monotone, la personne qui délègue le droit conserve ce droit. Tandis que si la délégation est non-monotone, la personne qui délègue un droit perd ce droit ;

§ délégation "grant-dependant"/"grant-independant" : dans le cas, où la délégation est temporaire et monotone, alors il faut alors choisir quelles sont les personnes susceptibles de révoquer les droits sous-délégués. Si on autorise uniquement la personne ayant déléguée originellement le droit à révoquer un droit délégué, alors on dit que c'est une délégation de type "grant-dependant". Si on autorise toute personne X ayant délégué un droit, avant que Y ait reçu ce droit par délégation, à révoquer ce droit à Y, alors on dit que la délégation est de type "grant-independant". Ce dernier type de délégation permet d'ôter rapidement un droit à une personne qui peut être malveillante, sans avoir à retrouver qui était à l'origine de la délégation (ce qui peut être très fastidieux si l'organisation est importante) ;

§ délégation totale/partielle : On peut choisir de déléguer partiellement ou totalement un ensemble de droits. Lorsque l'on souhaite déléguer la totalité de ses droits à quelqu'un, par exemple son remplaçant, alors on applique une délégation totale. Par contre, si on ne veut donner qu'une partie de ces droits, pour déléguer juste une tâche à quelqu'un, alors on a une délégation partielle ;

§ délégation par agent/auto-active : il y a deux façons d'administrer la délégation, si une personne X veut déléguer un droit à Y. La première solution est que c'est X qui administre la délégation. C'est la délégation auto-active. La deuxième solution est que X demande à un agent d'affecter ce droit à Y. C'est la délégation par agent. L'agent pouvant être n'importe quelle tierce personne dans l'organisation. Généralement, l'agent ne peut pas s'affecter les droits qu'il gère. Il est possible de définir le nombre de sous-délégation possible ;

§ délégation à un-pas/à pas-multiple : dans la délégation à n-pas, un même droit pourra être délégué à une chaine de n personnes. Par exemple, X délègue à Y un droit D à 2-pas et Y délègue D à 1-pas à Z.

§ délégation simple/multiple : de plus, il faut choisir si lorsqu'on autorise une personne à déléguer, elle peut elle-même déléguer son droit à une unique personne, ou à plusieurs personnes (c'est la délégation multiple).

§ délégation par accord unilatéral/bilatéral : pour déléguer un droit, il faut qu'au moins une personne donne son accord. On peut envisager deux types d'accord pour la délégation. L'accord unilatéral ne prend en compte que la décision de la personne désirant déléguer son droit. L'accord bilatéral vérifie que les deux parties, celle qui délègue et celle qui reçoit, sont d'accord.

§ révocation de la délégation simple/en cascade : si la délégation est temporaire, il faut pouvoir la révoquer. On a pu voir précédemment deux types de délégation jouant sur la révocation. Lorsque la délégation est "grant-dependant" alors seule la personne à l'origine de la délégation peut ôter ce droit. Quand la délégation est de type "grant-indépendant" seules les personnes ayant engendré la délégation d'un droit à une personne peuvent lui révoquer ce droit. Cependant, la personne, dont les droits ont été révoqués, a peut être pu déléguer ce droit auparavant. Cette situation peut poser des problèmes dans certains cas. Selon le type de délégation, la personne ayant était déchue d'un droit peut récupérer ce droit grâce à une personne à qui elle aurait délégué le droit. Pour anticiper ce problème, on peut créer deux types de révocation. Un premier type permet de ne révoquer le droit qu'à une personne désignée. Le deuxième type permet de révoquer le droit sur une personne, ainsi que sur toutes les personnes ayant reçu ce droit par délégation, c'est une révocation en cascade.

La délégation a de multiples avantages et offre de nombreuses possibilités. Cependant, il apparaît que si on l'autorise à mauvais escient, alors elle peut aller à l'encontre de la politique. En effet, la révocation d'une délégation permet à une personne d'ôter un droit D à une personne X. Mais que se passe-t-il lorsque la personne X possède ce droit avant la délégation? Des personnes mal intentionnées pourraient ainsi utiliser la délégation afin d'effectuer des révocations qu'ils n'avaient pas le droit de faire. D'où l'importance de bien administrer sa politique de contrôle d'accès, si la délégation est mise en place.

3.6.6. Les prédicats d'Or-BAC

Afin de comprendre les règles définies dans Or-BAC, on récapitule dans ces tableaux les différents prédicats liés à Or-BAC.

Les prédicats liés à l'affectation des entités abstraites aux organisations :

Nom de prédicat

Domaine

Description

Relevant_role

Org*Role

Si org est une organisation et r un rôle, alors Relevant_role signifie que le rôle r est défini dans l'organisation org

Relevant_activity

Org*Activity

Si org est une organisation et a une activité, alors Relevant_activity signifie que l'activité a est définie dans l'organisation org

Relevant_view

Org*View

Si org est une organisation et v une vue, alors Relevant_view signifie que la vue v est définie dans l'organisation org

Les prédicats liés aux relations d'abstraction :

Nom de prédicat

Domaine

Description

Empower

Org*Subject*Role

Si org est une organisation, s un sujet et r un rôle, alors Empower signifie que l'organisation org habilite le sujet s dans le rôle r

Consider

Org*Action*Activity

Si org est une organisation, A une action et a une activité, alors Consider signifie que l'organisation org considère l'action A comme faisant partie de l'activité a

Use

Org*Object*View

Si org est une organisation, o un objet et v une vue, alors Use signifie que l'organisation org utilise l'objet o dans la vue v


Les prédicats liés aux définitions des contextes :

Nom de prédicat

Domaine

Description

Hold

Org*Subject*Action *Object*Context

Si org est une organisation, s un sujet, A une action, o un objet et c un contexte, alors Hold signifie que dans l'organisation org, le contexte c est défini pour le sujet s, l'action A et l'objet o

Les prédicats liés aux permissions abstraites :

Nom de prédicat

Domaine

Description

Permission

Org*Role*Activity *View*Context

Si org est une organisation, r un rôle, a une activité, v une vue et c un contexte, alors Permission signifie que l'organisation org accorde la permission au rôle r de réaliser l'activité a sur la vue v dans le contexte c

Prohibition

Org*Role*Activity *View*Context

Si org est une organisation, r un rôle, a une activité, v une vue et c un contexte, alors Prohibition signifie que dans l'organisation org refuse la permission au rôle r de réaliser l'activité a sur la vue v dans le contexte c


Les prédicats liés aux permissions concrètes :

Nom de prédicat

Domaine

Description

Is_permitted

Subject*Action*Object

Si s est un sujet, A une action et o un objet, alors Is_permitted signifie que le sujet s a concrètement la permission de réaliser l'action A sur l'objet o

Is_prohibited

Subject*Action*Object

Si s est un sujet, A une action et o un objet, alors Is_prohibited signifie que le sujet s ne peut pas concrètement réaliser l'action A sur l'objet o

3.6.7. La gestion de conflit

Or-BAC permet d'exprimer des permissions et des interdictions. Or-BAC offre donc la possibilité de spécifier une politique mixte. Il existe dans Or-BAC une troisième catégorie de privilège : l'obligation. La notion d'obligation décrit les actions qu'un utilisateur doit faire sur un ensemble d'objets. Par exemple, dans un contexte d'urgence, un infirmier aura le droit d'accéder aux dossiers médicaux mais uniquement s'il fait ensuite un rapport, c'est une obligation.
La politique mixte pose de nombreux problèmes liés à la gestion des conflits potentiels et des règles redondantes. Afin d'éluder le problème des règles redondantes, on ajoute des prédicats. Ceux-ci, pour deux règles données R1 et R2, interdisent d'avoir la priorité de R1 moindre que celle de R2, lorsque toutes les conditions suivantes sont vérifiées :

§ R1 et R2 sont définies pour une même organisation ;

§ R1 est définie pour un rôle r1 et R2 est définie pour un rôle r2, avec r1 sous-rôle de r2 ;

§ R1 est définie pour une activité a1 et R2 est définie pour une activité a2, avec a1 sous-activité de a2 ;

§ R1 est définie pour une vue v1 et R2 est définie pour une vue v2, avec v1 sous-vue de v2 ;

§ R1 est définie pour un contexte c1 et R2 est définie pour un contexte c2, avec c1 sous-contexte de c2 ;

Il peut apparaître un conflit, par exemple si un même utilisateur possède deux rôles et que l'un de ces rôles lui permet de faire une activité et l'autre lui interdit. On est sûr que s'il n'y a aucun conflit au niveau abstrait, il n'y en aura pas au niveau concret. Ceci est dû au fait que les permissions concrètes sont déduites des permissions organisationnelles, de même pour les interdictions. Donc on résout les conflits potentiels au niveau abstrait On décide pour cela de donner des priorités aux interdictions et permissions du niveau abstrait. Cependant, si le conflit subsiste (par exemple: l'interdiction et la permission on même priorité) alors Or-BAC prévient le concepteur de la politique. Celui-ci choisit alors de modifier les règles liées aux privilèges, ou le niveau des priorités des privilèges.



Donc, Or-BAC simplifie la conception de la politique de contrôle d'accès en automatisant la dérivation des permissions, il a l'avantage d'offrir une politique mixte qui gère les problèmes conflictuels.

4. APPLICATION DU MODELE OR-BAC A LA DEFINITION DE LA POLITIQUE DE SECURITE RESEAU : CAS DU LAN DE PRODUCTION DU SIEGE DE LA FIRST BANK

4.1. LES ORGANISATIONS

Architecture du LAN de production du siège de la First Bank

L'organisation dans le cas d'une politique de sécurité réseau est une organisation au sens Or-BAC réunissant un ensemble de matériel réseau utilisé pour les contrôles d'accès à ce dernier. Sa structure est donnée par le schéma de hiérarchie d'organisation suivant :

La hiérarchie proposée est la suivante :

§ l'organisation Org_FB est l'entreprise Afriland First Bank

§ le réseau local de l'organisation Org_LAN ;

o la passerelle externe Org_fwe ,

o la passerelle interne Org_fwi ,

§ les serveurs d'applications de la banque Org_ser ;

§ l'administration des passerelles Org_admin_fw.

4.2. LES SUJETS ET RÔLES

Les entités actives qui manipulent les objets sont appelées sujets. Ces derniers possèdent des autorisations (droits d'accès) sur les objets et demandent d'y accéder. Un sujet peut être considéré comme un objet dans le cas où ce dernier est susceptible d'être manipulé par un autre sujet. Dans un environnement réseau, une machine peut être considérée comme un sujet car se chargeant de contacter d'autres machines à travers le réseau. Elle peut également être considérée comme un objet dans la mesure où elle est manipulée par un utilisateur est ici le sujet. Dans le formalisme OrBAC, les sujets sur lesquels peuvent être appliqués les mêmes règles de sécurité forment un même rôle. Voici quelques rôles envisagés dans le cas du LAN de production de la First Bank :

§ Private_host : rôle pouvant être joué par un hôte de la partie privée du réseau de l'organisation hors zones d'administration ;

§ Int_firwall : rôle pouvant être joué par les interfaces des firewalls ;

§ Adm_fw_host : rôle joué par les hôtes d'administration des passerelles ;

§ Adm_Ntwork : rôle joué par les administrateurs du réseau ;

§ Server : rôle pouvant être joué par un serveur quelconque ;

§ Ser_Mdw : rôle joué par le serveur middleware qui veut contacter celui d'une autre agence;

§ Ser_Delta : rôle joué par le serveur Delta qui veut contacter celui d'une autre agence;

§ Ser_Gacha : rôle joué par le serveur qui veut contacter celui d'une autre agence;

§ Ser_AsMillenium : rôle joué par le serveur qui veut contacter celui d'une autre agence;

§ Ser_Mozilla : rôle joué par le serveur de messagerie interne ;

§ Multi_ser : rôle joué par un serveur multiple ;

§ Chef_Division : rôle joué par les chefs de division de la banque ;

§ Chef_département : rôle joué par les chefs de départements de la banque ;

§ Chef_agence : rôle joué par un chef d'agence ;

§ Sous_directeur : rôle joué par un sous directeur ;

§ Directeur : rôle joué par un directeur ;

§ DGA : rôle joué par le Directeur Général Adjoint ;

§ DG : rôle joué par le Directeur Général ;

Hiérarchie des rôles (spécialisation /généralisation):

4.4. SERVICES OFFERTS PAR LE RÉSEAU LOCAL DE L'ORGANISATION ET HIÉRARCHISATION : ACTIONS/ACTIVITÉS

Nous présentons ci-après une hiérarchie des activités possibles correspondant aux principaux services réseaux de la banque.

4.4. DÉFINITION DES VUES ET HIÉRARCHISATION

Une vue est un ensemble des objets auxquels s'appliquent les activités.

Au niveau réseau, un objet t de la vue Target a deux attributs :

§ content : données transmises lors de l'utilisation du service,

§ dest : destinataire du service identifié par son rôle (peer-role).

On peut obtenir notion de sous-vue conformément au rôle du destinataire.

On peut également dériver les vues et sous-vues à partir des rôles et sous-rôles to_target(role) ; dans ce cas, ces vues et sous-vues constituent la cible sur laquelle les rôles et sous-rôles exercent des activités.

4.5. QUELQUES ORG_FB_PERMISSIONS

Nous avons présenté plus haut dans cette section la syntaxe suivante des permissions :

F Permission : org rôle activité vue contexte.

Nous définissons ci-après quelques permissions sur la hiérarchie d'organisations existantes :

§ Permission (Org_LAN, admin_fw_host, admin_to_gtw, to-target(firewall), default) ce qui traduit la règle de sécurité suivante : dans l'organisation Org, un hôte jouant le rôle d'administrateur des firewalls a la permission d'utiliser les services d'administration des firewalls en toutes circonstances ;

§ Permission (Org_LAN, private_host, smtp, to-target(ser_Mozilla), default);

§ Permission(Org_LAN, admin_server, all_tcp, to-target(multi_server), default);

§ Permission(Org_LAN, admin_ntwork, snmp, to-target(firewall), default);

§ Permission(Org_LAN, DGA, all_tcp all_icmp, to-target(server), default);

§ Prohibition (Org_LAN, private_host, adm_to_gtw , to-target(firewall), default);

4.6. DÉRIVATION DES PERMISSIONS

Les nouvelles permissions peuvent être dérivées à partir des permissions existantes de manière suivante :

Permission (org, role, act, view, context)

sub_organization(sub_org,org)

Relevant_role(sub_org,role)

Relevant_act(sub_org,act)

Relevant_view(sub_org,view)

Permission (sub_org, role, act, view, context)

Dérivation à partir des hiérarchies et de l'héritage

Permission (Org_LAN, admin_fw_host, admin_to_gtw, to-target(firewall), default)

Permission (Org_fwe, admin_fw_host, admin_to_gtw, to-target(ext_firewall), default).

Dérivation des permissions concrètes à partir des permissions abstraites

Permission (Org_FB, admin_ntwork, UDP, to-target(firewall), default)

Habilite (Org_FB, JJ, admin_ntwork)

Utilise (Org_FB, fwe, firewall)

Considère (Org_FB, SNMP, UDP)

Définit (Org_FB, JJ, SNMP, fwe, default) Est_permis (JJ, SNMP, fwe)

CONCLUSION

Nous nous sommes intéressés dans la première partie à l'audit de sécurité du réseau informatique de la First Bank. Ceci nous a permis, grâce aux outils libres, d'évaluer le niveau de vulnérabilités sur ce réseau. Les recommandations de notre audit, si elles sont suivies, permettront de renforcer le niveau de sécurité sur le réseau informatique de l'organisation.

Dans la deuxième partie, nous avons fait un état de l'art des modèles de sécurité avant de nous arrêter sur le modèle Or-BAC qui est l'un des plus utilisés de l'heure. La phase pratique de cette partie, consacrée à l'application du formalisme Or-BAC sur le LAN de production du siège de la banque, nous a permis de dérouler les divers aspects de ce formalisme sur un cas concret.

Toutefois, la sécurité d'un SI étant un secteur très sensible, nous n'avons travaillé que dans la limite des possibilités offertes. Nous avons la conviction qu'une approche similaire, utilisée par le personnel spécialisé de la banque, peut permettre non seulement de finaliser cette étude mais aussi de l'étendre sur d'autres agences dans le cadre d'une politique de sécurité réseau globale. Le modèle Or-BAC favorise cela à travers PolyOrbac. Une fois la définition finalisée, la mise en oeuvre de cette politique de sécurité est facilitée par l'utilisation du prototype MotOrBAC qui est un outil d'administration et de simulation des politiques de sécurité.

Enfin, l'élaboration d'une charte d'utilisation du réseau informatique et surtout une sensibilisation des utilisateurs du réseau sur le bien fondé de ces mesures de sécurité ainsi que leurs importance sur la pérennité du SI est une étape non négligeable pour l'effectivité de ces mesures.

BIBLIOGRAPHIE

[1] Frédéric JACQUENOD. Administration des réseaux. Editions CampusPress, Paris, 2002.

[2] Frédéric CUPPENS et Alexandre MIEGE. Or-BAC: Organization Based Access Control. ENST Bretagne, Campus de Rennes 2, rue de la Chataigneraie 35576, Cesson Sévigné CEDEX.

[3] François DAGORN. Sécuriser les réseaux par la connaissance des usages : cours de Master 2, Université de Yaoundé I, 2007.

[4] Site officiel du modèle Or-BAC : http://www.orbac.org, mai 2007.

[5] Documentation de référence nmap : http://insecure.org/nmap/man/fr/man-port-scanning-techniques.html, mai 2007.

[6] Abdalla ALTUNAIJI, Hugo ETIEVANT, Remy FABREGES, Benoît MAYNARD, Jean-François RODRIGUEZ, Yohan VALETTE. Mise en place d'un réseau sécurisé - R5. Université Claude Bernard - Lyon 1, Maîtrise IUP Génie Informatique Réseau, Novembre 2002.

[7] Guillaume Desgeorge. La sécurité des réseaux. Disponible sur http://www.guill.net/, mai 2008.

[8] David Burgermeister, Jonathan Krier. Les systèmes de détection d'intrusions. Disponible sur http://dbprog.developpez.com, mai 2008.

[9] http://projet.piratage.free.fr/menaces.html, mai 2007.

ANNEXES : CAHIER DE CHARGES

* 1Définition tirée du manuel de sécurité de la méthode EBIOS

* 2 Un sniffeur est un Logiciel qui observe les informations véhiculées sur le réseau. Par exemple : RealSecure, Netmon, et Readsnmb sous Windows, et Tcpdump sous Unix.

* 3Une backdoor (en français, une porte dérobée) est un moyen laissé par une personne malveillante pour revenir dans un système.

* 4 Logiciel malveillant

* 5 Rapport Sophos 2008 sur les menaces de sécurité

* 6 Whois (contraction de l' anglais who is ? signifiant littéralement qui est ?) est un service de recherche fourni par les registres Internet,

* 7 pcap est une interface de programmation (API) permettant de capturer un trafic réseau. Dans les systèmes Unix/Linux, pcap est implémenté au sein de la librairie libpcap. WinPcap est le portage sous Windows de libpcap.

* 8 On appelle « workflow » (traduisez littéralement « flux de travail ») la modélisation et la gestion informatique de l'ensemble des tâches à accomplir et des différents acteurs impliqués dans la réalisation d'un processus métier.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Piètre disciple, qui ne surpasse pas son maitre !"   Léonard de Vinci