Étude de load balancing par un réseau de neurones de types HME (Hierarchical Mixture of s). Druais Cédric École Polytechnique de Montréal Résumé Cet article tente d introduire le principe de load balancing dans un processus de sécurité informatique (firewall) en utilisant un réseau de neurone de type mixture hiérarchique d experts (HME). Mots clés : load balancing, mixture d experts, HME Introduction L'architecture HME est un arbre composé de réseaux de neurones dits aiguilleurs (gating network) et de réseaux de neurones dits experts, les experts étant les feuilles de l'arbre. Le rôle des experts est d'approximer la fonction à apprendre sur une région de leur espace d'entrée. Le rôle des aiguilleurs est de choisir l'expert qui fait autorité pour un exemple donné, c'est-à-dire de décider quel expert approxime le mieux en fonction de la région de l'espace d'entrée où se situe l'exemple. L aiguilleur situé à la racine donne la réponse globale. L objectif de cette architecture n est donc pas de combiner les performances des experts mais plutôt de décomposer la complexité d un problème parmi plusieurs experts. Pour un HME simple de profondeur 1 et comportant branches (figure1). g correspond à la pondération donnée à chaque branche de l arbre par le gating network et chacun peuvent être assimilés à des probabilités a priori de choisir un expert k étant donnée une entrée x. g = exp( u) exp( uj) j= 1 u représente le produit du vecteur d entrée x et du vecteur de poids synaptiques T l expert k : u = ak x a de Il faut aussi noter que : gk = 1 k=1
Et que le vecteur de sorties y vaut donc : y g k yk k=1 = 1 g1 y1 Input vector x 2 g2 y2 Σ Input vector y k g y Gating network Fig 1 : architecture d un HME y = w x T k k=1,2..., Cette architecture pourrait être une solution pour effectuer le load balancing. Le load Balancing Le load balancing est ce que l on appelle aussi la répartition de tâches. Par exemple, concernant la figure ci-dessous, il faut décider si le paquet arrivant de l interface externe pour arriver à l interface interne doit passer par le processeur de cryptographie. External Interface Security Processor Crypto Processor Security Manager Local Storage Internal Interface
Pour notre cas, les différentes tâches, se répartissent de la manière suivante : Interface réseau Police (filtrage) NAT Layer3/4/5 VPN SSL Layer7 Cryptographie 1 2 3 4 5 6 7 8 Interface utilisateur Figure 2 : représentation du processus de sécurité Numéro de chemins Notez que les termes tels que VPN et SSL sont décrits brièvement en annexe. Nous voyons qu il existe donc 8 manières (chemins) de passer de l interface réseau à l interface utilisateur (et inversement car il faut bien que les paquets IP entrent et sortent de la station pour communiquer). Solution Nous pourrions utiliser une architecture à 2 ou 3 niveaux de hiérarchie [1]. C est une architecture simple à comprendre mais elle est difficile à implémenter pour répondre à nos besoins. En effet nous aurions pu essayer d effectuer un HME suivant exactement l arbre, un HME à 3 niveaux de hiérarchie ou bien encore 3 HME à 1 niveau en parallèle: - un choisissant soit le VPN soit le Layer3/4/5 ou encore rien - un deuxième choisissant le VPN ou le SSL ou le Layer 7 ou rien - un dernier déterminant si l on doit passer par la crypto. La réalisation du premier niveau ne pose pas de problème, avec une fonction d activation appropriée on peut obtenir les 3 niveaux (-1 ; 0 ; 1). Il en est de même pour le dernier niveau où un simple perceptron suffit. Le problème se pose au deuxième niveau pour lequel on a besoin de 4 états de sortie. On ne peut les obtenir avec une fonction d activation conventionnelle.
Pour répondre le plus à nos attentes, la manière de procéder serait la suivante. Nous aurions en sortie un vecteur Y avec 4 données : Y 1 nous informera si l on va effectuer du NATting (sortie=1) ou bien du Layer3/4/5 (=0) ou bien encore rien du tout (-1). Cette donnée peut être fournie par un HME de profondeur 1 composé de 2 experts. Y 2 nous dira si l on effectue un VPN (sortie=1) ou non (=-1). Un simple perceptron peut répondre à nos besoins. Y 3 nous informera si l on va effectuer du SSL (sortie=1) ou bien une application Layer7 (=0) ou bien encore rien (-1). Comme pour Y 1, cette donnée peut être fournie par un HME de profondeur 1 composé de 2 experts. Enfin Y 4 nous dira si l on effectue de la cryptographie (=1) ou non (=-1). Comme poury 2, un perceptron suffit. Selon Frédéric Morin [2], on obtient de meilleurs résultats pour un HME avec des perceptrons aussi bien pour les experts que les gating network. On peut cependant utiliser des MLP pour les gating network. NAT Layer3/4/5 Σ Y1 =1 NAT =0 L Gating network Perceptron VPN Y2 =1 VPN Entrées SSL Layer7 Σ Y3 =1 SSL =0 L7 Gating network Perceptron Crypto Fig 3 composition du réseau Y4 =1 VPN
Récapitulatif des sorties possibles : Rappel: l état -1 signifie que l on ne fait rien. Chemin Y1 Y2 Y3 Y4 correspondant à la figure 1 1-1 -1-1 -1 2 1-1 -1-1 3 1 1-1 -1 4 1 1-1 1 5 0-1 1 1 6 0-1 1-1 7 0-1 -1-1 8 0-1 0-1 Conclusion Nous sommes donc parvenu à concevoir un réseau comportant des HME pour effectuer le load Balancing. Ce réseau devrait permettre d augmenter la vitesse d un système de sécurité informatique. Cependant nous n avons pas fait un HME global ce qui était notre but. Les inconvénients que cela entraîne sont les suivants : les portions utilisant les HME introduisent les probabilité a posteriori (qui dépendent à la foi du vecteur d entrées et des réponses des experts) pour s approcher de d (le vecteur «désiré»). Ce que ne font pas les autres parties. Annexe NAT : Le traducteur NAT (Network Adress Translator) masque les adresses privées du LAN par une adresse publique.il nécessite une machine possédant 2 interfaces réseau, l'une connectée à Internet et l'autre au réseau interne. VPN : les VPN s (Virtual Private Networks) sont des connexions sécurisées reliant deux réseaux privés (ou deux end-users) via un réseau public (typiquement Internet). Ils permettent donc d utiliser ces réseaux publics pour étendre le concept d Intranet au delà du réseau privé d une organisation et ce en préservant la sécurité de la communication. Le concept de base sur lequel repose les VPN s est le TUNNELING ou ENCAPSULATION de paquets de la couche IP ou de la couche réseau (Suivant le protocole utilisé) préalablement chiffrés, dans un nouveau paquet pour leur transmission sur un réseau public. SSL : Secure Socket Layer. Il Permet une transmission sécurisée en utilisant des ports réservés. Par exemple le protocole HTTPS utilise le port numéro 443. Les autres termes sont des termes de bases en réseautique que je ne développerais pas. Références
[1] Simon Haykin, second edition, Neural Networks a comprehensive foundation, Prentice hall, figure 7.11 p 372, [2] Frédéric Morin, Réseaux mixture hiérarchique d experts.