• Aucun résultat trouvé

Malicious and Accidental Fault Tolerance for Internet Applications (MAFTIA)

Chapitre 2 La tolérance aux intrusions

2.3 Tolérance aux intrusions et survivabilité

2.3.2 Mise en œuvre de la tolérance aux intrusions!: exemples d'architectures tolérant les intrusion

2.3.2.2 Malicious and Accidental Fault Tolerance for Internet Applications (MAFTIA)

L’objectif du projet MAFTIA [MAFTIA 03, MAFTIA 03b] était d’étudier le concept de la tolérance dans le cadre de la sécurité d’applications réparties sur des réseaux à grande échelle tel que Internet et de proposer une architecture pour différents domaines d’application. L’originalité de cette proposition vient du fait que chaque fonctionnalité du système est assurée par un sous-système tolérant les intrusions lui-même. En fait, le concept de la tolérance est appliqué à chaque partie du système.

L’architecture MAFTIA peut être décrite suivant 3 axes (figure 2.6) :

- les plateformes matérielles : cela inclus les machines et les infrastructures réseaux ; cette dimension représente physiquement le système distribué ;

- le support local : cette partie existe sur chaque nœud du système. Il est assuré par le système d’exploitation et l’environnement d’exécution (runtime). Les mécanismes mettant en œuvre le support local peuvent varier d’un nœud à un autre et certaines fonctionnalités ne sont pas disponibles en local mais accessible via le réseau en utilisant des protocoles fiables. Cependant, certaines fonctionnalités doivent impérativement être fournies en local, il s’agit, typiquement, d’exécuter des processus, d’envoyer des messages sur le réseau, etc. De plus, les intergiciels qui interviennent pendant l’exécution des applications distribuées supportent les protocoles de communication fournis sur chaque machine MAFTIA ;

- les applications distribuées : les services de base de MAFTIA sont le service d’autorisation (AS), la détection d’intrusion (IDS) et des tierces parties de confiance (TTP). Les applications conçues pour tourner sur la plateforme MAFTIA utilisent les abstractions fournies par l’intergiciel et les services de base, pour s’exécuter en toute sécurité sur chaque machine MAFTIA et être accessibles par des utilisateurs distants.

La plateforme MAFTIA fournit cinq fonctionnalités pour construire des systèmes tolérant les intrusions qui soient capables de fournir le service pendant les attaques: 1) la détection d’intrusion, 2) les protocoles de communication de groupes, 3) les techniques cryptographiques, 4) la fragmentation-dissémination des données, 5) le contrôle

La tolérance aux intrusions 54 d’accès. La coopération de toutes ces techniques permet d’assurer une immunité face aux intrusions meilleure que lorsqu’on utilise chaque méthode séparément.

Figure 2.6 Architecture MAFTIA

1) Détection d’intrusion

Les méthodes utilisées sont basées sur la surveillance des activités du système en temps réel et l’analyse les données d’audit hors-ligne. Elles sont conçues dans le but de détecter les anomalies dans le comportement du système au plutôt afin d’empêcher l’attaquant de provoquer des dommages significatifs au système. Bien qu’ils ne réussissent pas à détecter toutes les attaques, les IDS fournissent aussi des informations utiles pour analyser a posteriori le comportement du système dans le but d’aider les administrateurs à identifier de nouvelles attaques non détectées par les mécanismes de détection en temps réel et à trouver les possibles contre-mesures.

MAFTIA définit aussi une méthodologie pour combiner différents systèmes de détection afin de mieux assurer la protection du système contre les attaques. De cette manière, la corrélation des résultats des différents IDS distribués dans le système cible permet d’identifier les attaques possibles contre le système cible et de tolérer les intrusions potentielles dans le système de détection d’intrusion lui-même.

2) Protocoles de communications par groupe

L’utilisation d’un ou plusieurs groupes de répliques fonctionnellement équivalentes est une méthode classique de développement de systèmes tolérants aux fautes [Chérèque et al. 92]. Cette méthode assure une certaine protection contre les fautes accidentelles (indépendantes). Ce modèle est fondé sur l’hypothèse que les défaillances se produisent indépendamment les unes des autres. Pour les fautes aléatoires et non corrélées ainsi que pour celles introduites de l’extérieur sans malveillance, cette hypothèse est acceptable. En revanche, elle ne l’est pas en ce qui concerne les fautes introduites par les actes malveillants d’un attaquant.

La tolérance aux intrusions 55 Pour résoudre ce problème, deux propositions ont été faites pour construire des protocoles de communication de groupes tolérant les intrusions : la première approche [Cachin 00] consiste à utiliser un modèle de fautes plus réaliste en se basant sur une structure d’adversité généralisée (generelised adversary structure). Dans ce modèle, les répliques sont classées selon un ou plusieurs attributs (par exemple : la localisation, le type du système d’exploitation,…) qui déterminent les caractéristiques de leur corruption. En utilisant un modèle approprié il est possible de tolérer la perte des machines appartenant à une même classe. La deuxième approche [MAFTIA 02] s’intéresse à la construction de protocoles de communication de groupes tolérant les intrusions. Cette approche est basée sur un composant de confiance TTCB (Trusted Timely Computing Base) qui permet de fournir les propriétés de synchronisation (timeliness) et de silence sur défaillance.

3) Techniques cryptographiques

Le chiffrement joue un rôle crucial pour assurer la confidentialité et l’intégrité des données stockées ou émises, pour prouver l’identité de la source, l’origine d’une communication,etc. MAFTIA utilise ces techniques dans trois cas : 1) l’intergiciel MAFTIA fournit des protocoles de communication chiffrée et fiable pour des communications multipoints avec des propriétés d’atomicité ; 2) les techniques à seuil combinées avec du chiffrement sont utilisées pour le partage de clés pour les signatures numériques ou pour décrypter les messages ; 3) le serveur d’autorisation MAFTIA (cf 1.4.5) fournit des preuves d’autorisation pour accéder aux ressources.

4) Fragmentation et dissémination des données

Il s’agit de la technique présentée précédemment dans 2.3.2.2.

5) Contrôle d’accès

Il s’agit du serveur d’autorisation présenté dans le premier chapitre (cf 1.4.5).

2.3.2.3 PASIS (Perpetually Available and Secure Information