SYSTÈME ET PROCEDES DE SÉCURISATION DE POSTES INFORMATIQUES ET/OU DE RÉSEAUX DE COMMUNICATIONS
La présente invention se rapporte au domaine des systèmes d'information et de communication.
La présente invention se rapporte plus particulièrement au domaine de la sécurité des systèmes d'information et de communication.
On connaît dans l'état de la technique, de nombreux systèmes et procédés dont le but est d'améliorer la sécurité des réseaux ou des systèmes informatiques.
Il est proposé, dans la demande de brevet' PCT WO 03/092242 (IBM), un procédé et système de reconfiguration dynamique de chiffrement suite à la détection d'une intrusion. Si un écouteur clandestin d'écoute adjacente à un LAN sans fil est susceptible de se déplacer en agissant sur un court cycle de temps, il est susceptible de transmettre sans fil son message test. Par conséquent, l'invention fournit l'association de l'appareil d'écoute clandestine dans une couche à zone adjacente et entourant la périphérie de la zone LAN pour les éventuelles transmissions sans fil d'un intrus ayant une basse fréquence inférieure à la fréquence LAN et adressé à la localisation réseau d'un terminal d'ordinateur quelconque du LAN, et d'une application en réaction à ce moyen d'écoute clandestine pour changer le code de chiffrement de cette transmission sans fil codée suite à la détection d'une écoute clandestine d'une transmission sans fil de cette basse fréquence adressée à une localisation de réseau d'un terminal quelconque de ce LAN. Plusieurs facteurs contribuent au succès du processus de l'invention. Il est probable que 1 ' intrus doive envoyer son message à une fréquence inférieure à la fréquence 2,4 GHz des transmissions de la zone LAN puisqu'il doit probablement atteindre une tour
l'
station de base sur une distance étendue plus grande que celle de la fonction LAN sans fil cible adjacente. Cela garantit que l'écoute clandestine de la présente invention se fera à une basse fréquence et donc ne sera pas parasitée par les transmissions internes au LAN.
L'art antérieur connaît également, par la demande de brevet PCT WO 01/39379 (TGB Internet), un procédé automatique de détection et de déviation des intrusions dans un réseau. L'invention de cette demande de brevet PCT concerne un procédé et un système permettant de sécuriser un réseau. Ledit procédé consiste au moins à identifier l'utilisateur non autorisé qui tente d'accéder à un noeud du réseau, puis, de préférence, à bloquer activement toute autre activité de la part de cet utilisateur non autorisé. La procédure de détection est facilitée du fait que l'utilisateur non autorisé fournit une marque distinctive, ou des données fausses conçues à cet effet, que l'utilisateur non autorisé rassemble lors de la phase de collecte des informations préalablement à une attaque. La marque distinctive est conçue de manière que toute tentative d'utilisation de ces données fausses par l'utilisateur non autorisé entraîne identification immédiate de l'utilisateur non autorisé comme utilisateur hostile, et indique qu'il y a eu tentative d'intrusion dans le réseau. De préférence, tout nouvel accès au réseau est alors bloqué, le trafic arrivant de l'utilisateur non autorisé étant dévié vers une zone sécurisée, où les activités de l'utilisateur non autorisé peuvent être contenues sans que cela n'affecte le réseau. On connaît également, dans l'état de la technique, le brevet américain US 6 578 147 (CISCO) qui porte sur des capteurs pour la détection d'intrusions en parallèle avec un équilibre de charge (ou « load balancing ») dans des réseaux hauts débits. Un procédé et un système pour détecter des signatures non autorisées vers ou à partir d'un réseau local
l'
sont décrits dans ce brevet américain. De multiples capteurs sont connectés à un dispositif d'interconnexion, qui peut être un routeur ou un commutateur. Les capteurs fonctionnent en parallèle et chacun reçoit une partie du trafic à travers le dispositif d'interconnexion, à un niveau basé sur la session ou à un niveau plus bas (basé sur le paquet). En fonction du type de dispositif d'interconnexion (routeur ou commutateur), le mécanisme d'équilibrage de charge (load balancing) qui distribue les paquets peut être interne ou externe au dispositif d'interconnexion. De plus, en fonction du niveau de distribution de paquets (basé sur la session ou basé sur le paquet), les capteurs partagent un analyseur de réseau (dans le cas « basé sur la session ») ou à la fois un analyseur de réseau et un analyseur de session (dans le cas « basé sur le paquet»).
Il est également proposé, dans la demande de brevet PCT WO 03/21851 (Newbury Networks), un procédé et système de détection de position et de localisation dans un réseau sans fil. L'invention de cette demande de brevet PCT concerne un système et un procédé permettant de réaliser une détection de position et un repérage de mouvement en temps réel de dispositifs de communications mobiles se déplaçant dans un espace défini comportant plusieurs paramètres de lieux. Plusieurs points d'accès sont disposés dans ledit espace de manière à fournir une interface entre les dispositifs mobiles et un réseau ayant une fonctionnalité et des données disponibles ou accessibles à partir de ces dispositifs. La connaissance de la contiguïté des paramètres des lieux peut être utilisée pour mieux déterminer emplacement du dispositif mobile lorsqu'il transite entre de tels paramètres, un retour de l'information pouvant être fourni afin de surveiller l'état et la configuration des points d' accès.
L'art antérieur connaît également, par la demande de
brevet PCT WO 03/023555 (Wavelink), un système sans fil à déploiement Internet. L' invention décrite dans cette demande de brevet PCT concerne un système sans fil à déploiement Internet comprenant un programme serveur d'application configuré de manière à être téléchargé et exécuté sur un ou plusieurs ordinateurs de serveur d'application sans fil à distance. Le programme serveur d'application est également configuré de manière à faire en sorte qu'un ou plusieurs ordinateurs de serveur d'application à distance téléchargent et installent un ou plusieurs composants logiciels d'application sans fil. Le programme serveur d'application est en outre configuré de manière à transmettre à un ou plusieurs dispositifs portables une ou plusieurs applications clients et à faire en sorte qu'un ou plusieurs des dispositifs portables installent une ou plusieurs des applications clients. Les applications clients sont configurées de manière à communiquer avec un ordinateur de serveur d'application sans fil local via un réseau sans fil.
L'art antérieur connaît également, par la demande de brevet PCT WO 04/04235 (Wavelink), un système et procédé de détection de points d'accès sans-fil non autorisés. Selon 1' invention décrite et revendiquée dans cette demande internationale, des points d'accès sans-fil non autorisés sont détectés par configuration de points d'accès et d'unités mobiles autorisés permettant d'écouter la totalité du trafic sans fil dans sa cellule et de signaler tous les dispositifs sans fil détectés à un moniteur. Ce moniteur vérifie les dispositifs signalés sur une liste de dispositifs réseau autorisés. Si le dispositif sans fil signalé n'est pas un dispositif autorisé, le moniteur détermine si celui-ci est connecté au réseau. Si ledit dispositif signalé est connecté au réseau sans être un dispositif autorisé, le moniteur alerte l'opérateur réseau ou gestionnaire réseau de la présence d'un dispositif indésirable connecté au réseau et tente de localiser et
d'isoler celui-ci.
On connaît également dans l'état de la technique, par la demande de brevet PCT WO 04/15930 (Wavelink), un procédé et système de gestion de configuration d'unités mobiles dans des réseaux locaux sans-fil. L'invention, objet de cette demande internationale, concerne un système permettant d' appliquer les exigences de configuration de matériel et de logiciel sur des unités mobiles fonctionnant dans des réseaux locaux sans fil (WLAN) . Ce système permet à la politique de configuration de varier de façon dynamique en fonction de l'association avec le point d'accès ou le sous- réseau. Chaque fois qu'une unité mobile se connecte à un nouveau sous-réseau ou point d'accès, le système appelle puis vérifie le profil de configuration approprié pour le sous-réseau ou le point d'accès en question. Le système veille ainsi à ce que la configuration de l'unité mobile satisfasse aux exigences du sous-réseau utilisé.
On connaît également, dans l'état de la technique, par la demande de brevet européen EP 1 311 921 (Internet Security Systems), un procédé et un appareil d'évaluation et d' authentification de réseau. L'invention décrite et revendiquée dans cette demande de brevet européen concerne l'assurance à donner à l'utilisateur qu'un ordinateur en réseau est sécurisé, d'ordinaire avant l'ouverture d'une session, ce que l'on peut réaliser en étendant le processus local de cette ouverture de façon à effectuer une évaluation d'hôte du poste de travail avant de demander les références de l'utilisateur. Si l'évaluation révèle une vulnérabilité, le processus d'ouverture de session peut informer l'utilisateur que l'intégrité de la machine est, ou peut être, compromise, ou réparer ladite vulnérabilité, avant l'exécution de l'ouverture de la session. En procédant à 1'évaluation de la vulnérabilité au niveau du poste de travail, un serveur de réseau peut déterminer si ledit poste de travail constitue une plate-forme "fiable" qui permet
l'
d'accepter des demandes d'authentification. Si l'évaluation de la vulnérabilité révèle que l'intégrité du poste de travail est compromise, ou si la probabilité de compromission a distance est élevée, le serveur de réseau peut décider de faire échec à authentification compte tenu du fait que le poste de travail ne peut être fiable. Eventuellement, la vulnérabilité du poste de travail peut être réparée à l'aide d'un outil d'évaluation de la vulnérabilité, ce qui permet de poursuivre 1' authentification
On connaît également, dans l'art antérieur, par la demande de brevet américain US 2002/0184532 (Internet Security Systems) , un procédé et un système pour implémenter des dispositifs de sécurité dans un réseau informatique distribué. Une interface de sécurité fournit une plate-forme universelle pour coupler des modules de sécurité au réseau. Les différents modules de sécurité sont liés à l'interface de sécurité et fournissent une information identifiante à ladite interface. L'interface de sécurité reçoit également des requêtes utilisées pour la coordination dans la communication des modules de sécurité. Lorsqu'un événement de sécurité se produit, un message peut être généré par le module de sécurité qui est pertinent. L'interface de sécurité partage le message avec ces modules de sécurité. Le partage des informations de sécurité permet de meilleures performances de tout le système de sécurité du réseau.
On connaît également, dans l'art antérieur, par la demande de brevet WO 03/58451 (Internet Security Systems), un système et procédé pour contrôler, de manière dirigée, la sécurité de processus dans un système informatique. L'invention, objet de cette demande internationale, concerne un système et un procédé pour gérer et contrôler l'exécution de programmes logiciels dans un dispositif informatique, dans le but de protéger ledit dispositif informatique contre des activités malveillantes. Selon l'invention, un système
protecteur fait appel à un procédé comprenant deux étapes et permettant d'éviter que des programmes logiciels accomplissent des activités malveillantes risquant d'endommager le dispositif informatique ou d'autres ressources informatiques auxquelles le dispositif est couplé. Au cours de la première phase, le système protecteur détermine si un programme logiciel a été autorisé ou non auparavant et atteste que ledit programme logiciel n'a pas été modifié. Si le logiciel est validé lors de la première phase, les opérations de contrôle de sécurité seront réduites ou supprimées lors de l'exécution du programme logiciel au cours de la deuxième phase. Si le programme logiciel ne peut être validé, le système protecteur entre dans la deuxième phase et détecte et observe les activités d'exécution au niveau du noyau du système d'exploitation de façon à permettre d'anticiper des actions suspectes et de lutter contre ces dernières avant qu'elles puissent endommager le dispositif informatique.
L'art antérieur connaît également, par la demande de brevet PCT WO 02/103498 (Okena) , un moniteur de référence avec état. L' invention de cette demande PCT concerne un moniteur de référence avec état, pouvant être chargé dans un système d'exploitation commercial existant, et pouvant ensuite réguler l'accès à plusieurs types différents de ressources. Ce moniteur de référence permet de maintenir une zone de stockage pouvant être mise à jour, dont le contenu peut être utilisé pour modifier des décisions d'accès, et des décisions d'accès peuvent être fondées sur des propriétés arbitraires de la demande.
Enfin, on connaît également, dans l'art antérieur, la demande de brevet PCT WO 02/103960 (Okena) qui se rapporte au traitement d'événements repartis avec état et sécurité adaptative. L'invention de cette demande internationale concerne un procédé et un appareil permettant de
maintenir/préserver la sécurité d'un système informatique en réseau comprenant des premier et deuxième noeuds et un serveur de traitement des événements, le procédé se déroulant de la manière suivante : les premier et deuxième noeuds détectent des changements d'état, le serveur de traitement des événements reçoit une notification des changements d'état, envoyée par les premier et deuxième noeuds, le serveur de traitement d'événements corrèle les changements d'état détectés dans les premier et deuxième noeuds et le serveur de traitement d'événements exécute une décision de maintenance qui affecte les premier et deuxième noeuds. La détection, la transmission, la corrélation et l'exécution se produisent sans aucune intervention humaine.
La présente invention entend remédier aux inconvénients de l'art antérieur en proposant une solution de sécurisation réellement innovante et originale en s'appuyant sur le concept suivant : les pré-traitements sont réalisés au niveau des équipements clients, alors que dans les solutions connues de l'état de la technique, tous les traitements sont effectués au niveau du serveur.
La présente invention vise à atteindre, au moyen d'une solution très efficace, une sécurité optimale au sein des réseaux ainsi que pour les postes informatiques clients, tout en conservant des coûts raisonnables et des performances très élevées.
À cet effet, la présente invention concerne, dans son acception la plus générale, un procédé de sécurisation d'équipements informatiques (dits postes clients) reliés par un réseau informatique ou un réseau de communication et formant au moins un système d'informations, ledit système comportant au moins un serveur informatique, caractérisé en ce qu'il comporte deux étapes de corrélation de données
numériques relatives à la sécurité du réseau et du ou bien des système(s), la première étape étant mise en œuvre au niveau du (ou des) poste(s) client(s), en combinant d'une part des données système (du système d'exploitation et des applications en local) et d'autre part, des données issues du réseau (entrées/sorties du poste client) en balayant l'étendue des couches connues sous la dénomination de modèle OSI (Open System Interconnection) de la couche dite transport à la couche dite applicative ; la seconde étape étant mise en œuvre au niveau du serveur en combinant d'une part des données dites « historiques» issues de bases de données numériques, d'autres données « historiques » stockées en mémoire, par exemple mais non nécessairement des données statistiques, des signatures ou des règles de type policy rules et d'autre part des données de corrélation issues de ladite première étape.
De préférence, le procédé comporte en outre une étape de corrélation au niveau du poste client sur des événements utilisateurs (ou user events) , ces derniers étant considérés au sens de l'exécutable.
Avantageusement, ledit procédé met en œuvre la technologie XML (eXtended Markup Language) .
La présente invention se rapporte également à un procédé de gestion d'attaques informatiques mettant en œuvre le procédé de sécurisation caractérisé en ce qu'il comporte une étape consistant à envoyer au moins une commande de blocage. Selon une première variante, la commande de blocage est destinée à un routeur.
Selon une seconde variante, la commande de blocage est destinée à une borne ou un point d'accès.
Selon une autre variante, la commande de blocage est destinée à un pare-feu (firewall) .
Selon d'autres variantes particulièrement avantageuses, la commande de blocage est destinée à un ou plusieurs desdits postes clients ou bien à une ou plusieurs applications informatiques. Avantageusement, la (au moins une) commande de blocage est bornée dans le domaine temporel, au moyen d'une console d'administration ou bien de façon prédéterminée.
Selon un mode de mise en œuvre particulier, la (au moins une) commande de blocage est envoyée lorsqu'un événement répondant à un critère spécifique survient, ledit critère spécifique étant par exemple mais non nécessairement un port, une application, des services, des trames ou des paquets.
De préférence, une partie au moins desdites données système de ladite première étape est définie suite à une étape d'apprentissage du comportement moyen du système.
Avantageusement, ledit procédé comporte, en outre, une étape de qualification, par l'administrateur, des décisions prises par le système, et une partie au moins desdites données « historiques » de ladite seconde étape est définie suite à une étape d'apprentissage desdites qualifications de 1'administrateur.
La présente invention se rapporte également à un système de sécurisation de réseaux de communications numériques, comportant : au moins un serveur informatique ; au moins une base de données numériques ; - au moins une console d'administration mise en œuvre sur un poste informatique client ; au moins un poste informatique utilisateur sur lequel est installé un applicatif spécifique, qui possède notamment des fonctionnalités du type « sonde » ;
ledit (au moins un) serveur étant connecté à ladite (au moins une) base de données numériques, et à ladite (au moins une) console d'administration par un premier réseau de communications câblé (filaire) comportant une partie privée et une partie semi-publique de type DMZ ( . • ) ; ledit premier réseau étant relié à un réseau (celui que l'invention se propose de sécuriser) ou à une pluralité de réseaux au moyen d'un équipement de type « passerelle réseau » ; ledit poste informatique utilisateur étant connecté audit réseau ; caractérisé en ce que
• ledit applicatif spécifique émet, de façon périodique et/ou en fonction de la réalisation d'un événement particulier, des données numériques relatives au poste client comportant des indicateurs sur au moins un des paramètres suivants : i. attaques / sécurité; ii. qualité de réception du réseau ; iii. dysfonctionnements de l'applicatif spécifique ;
• le serveur comporte des moyens pour corréler d'une part lesdites données numériques relatives au poste client et d'autre part des données issues de ladite base de données et/ou des données relatives à un ou plusieurs autre(s) poste(s) client(s), ces moyens fournissant en sortie des indices de corrélations ; des moyens d'identifier et de catégoriser d'éventuelles attaques sur le réseau ; des moyens d'évaluation et de notation de la pertinence d'éventuels risques liés aux données reçues en se basant sur une pluralité de critères : historiques (dont les longueurs sont ajustables), commentaires de l'administrateur, ...
De préférence, ledit réseau est un réseau sans-fil.
l'l'
Selon une première variante, ledit réseau est un réseau de type personnel (Personal Area Network - PAN) comme par exemple mais non nécessairement Bluetooth.
Selon une seconde variante, ledit réseau sans-fil est un réseau de type réseau local sans-fil (Wireless Local Area
Network — W-LAN) comme par exemple mais non nécessairement un réseau de type IEEE 802.11 (également connu sous la dénomination de Wi-Fi).
Selon une troisième variante, ledit réseau sans-fil est un réseau de type réseau métropolitain sans-fil (Wireless Metropolitan Area Network — W-MAN) comme par exemple mais non nécessairement un réseau de type WiMax.
Selon une quatrième variante, ledit réseau sans-fil est un réseau de type réseau de télécommunications mobiles numériques comme par exemple mais non nécessairement un réseau de type GSM, CDMA, W-CDMA, CDMA-2000, UMTS ou 4G.
Avantageusement, ladite base de données numériques est un SGBD (Système de Gestion de Bases de Données) relationnel.
De préférence, ladite console d'administration est capable de gérer des équipements hétérogènes.
On comprendra mieux invention à aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence aux figures annexées où : la figure 1 illustre quelques fonctionnalités du procédé et du système selon l'invention; - la figure 2 illustre l'architecture physique du système selon l'invention ; la figure 3 illustre l'architecture logique du système selon l'invention ; la figure 4 représente la structure de l'agent intelligent selon la présente invention ;
la figure 5 présente un ordinogramme de fonctionnement de la présente invention ; la figure 6 illustre le principe de fonctionnement de la présente invention ; - la figure 7 illustre la configuration de surveillance système mise en œuvre selon la présente invention ; la figure 8 illustre le fonctionnement global d'adaptation à une modification du système ; - la figure 9 illustre la configuration de surveillance réseau mise en œuvre selon la présente invention ; la figure 10 illustre un apprentissage statique ; la figure 11 illustre un apprentissage dynamique ; et la figure 12 illustre la façon dont un cycle d'attaque est géré par le système selon la présente invention ;
La présente invention permet de réaliser une solution aux multiples spécificités et avantages.
Comme illustré par la figure 1, la sécurisation et la gestion des réseaux, de préférence sans fil, peuvent être intégrées dans une unique solution. La réalisation de l'invention sous forme logicielle réduit ainsi considérablement le TCO ( Total Cost of
Ownership) pour les acquéreurs.
La solution selon l'invention présente un système d'apprentissage qui la rend intelligente, c'est-à-dire autonome et capable de prendre des décisions. Ainsi les attaques sont détectées et conservées en mémoire selon un apprentissage automatique et/ou guidé. Ceci induit une réduction du nombre de fausses alertes ainsi qu'un accroissement du taux de détection des attaques.
Une analyse de bas niveau du trafic réseau (par exemple, au niveau des protocoles sans-fil radio) et un traitement des attaques spécifiques rendent la solution dédiée à la technologie wireless (sans-fil). Bien que spécifique, cette solution reste distribuée, en ce qu'elle assure une surveillance de tous les points du réseau, aussi bien des postes clients, du ou des serveurs, que des points d'accès sur réseau wireless.
La solution logicielle évoquée précédemment offre une modularité qui optimise les performances, autorise une forte évolutivité de la solution et permet l'intégration de briques ou aux briques d'infrastructures existantes. Pour ce faire, l'architecture utilisée peut être CORBA (Coπanon Object Reguest Broker Architecture) . Cependant, des architectures simplifiées qui permettent des performances relativement supérieures peuvent être implémentées.
La présente invention permet ainsi de proposer une défense active et une gestion permanente du réseau par : - la prévention et la détection d'intrusion 24X7,
- la surveillance et la gestion permanentes des performances, fautes, configurations du réseau et équipements,
- la distribution automatique des processus de surveillance dans tous les points du réseau (agents et sondes) .
Pour cela l'invention met en œuvre une capacité de repérage autonome des variantes d'attaques, une analyse et des systèmes d'alertes capables de filtrer les informations non pertinentes, une adaptation évolutive des politiques de sécurités par apprentissage ou non, une analyse prédictive des comportements malveillants et une adaptation de la disponibilité de charge, aussi bien sur le réseau que sur chaque poste client.
En référence à la figure 2, le système mettant en œuvre le procédé selon la présente invention comprend un serveur auquel sont associées, par le biais d'un réseau, une base de données d'historisation et une console d'administration, cette console disposant d'outils d'administration et de supervision. Selon un mode de réalisation, cette partie du réseau est un réseau câblé. La base de données d'historisation est une base d'archivage des événements, des actions, des alertes, ... qui ont eu lieu.
Le système comprend en outre un ou des postes clients (sondes client) connecté(s) à un ou plusieurs réseau(x), indifféremment sans-fil ou filaires. Ces réseaux sont interconnectés au réseau câblé d'administration à l'aide de routeurs. Tout type de réseau sans-fil peut être implémenté, les réseaux sans-fil pouvant être de nature identique ou de nature hétérogène. On compte, dans les technologies actuelles, une multitude de nature de réseau sans-fil : Bluetooth, Wi-fi (IEEE 802.11), WiMax, SM, CDMA, UMTS, ... De même, la présente invention ne se limite pas à un seul type de réseau.
Dans un mode de réalisation, un code constituant un « noyau dur » est installé sur chacune des machines et réalise au moins une partie des fonctionnalités de la présente invention. Le « noyau dur » est le noyau actif intelligent dans l'architecture illustrée par la figure 3. Dans un mode de réalisation illustré par la figure 4, ce noyau est un pilote (driver) de bas niveau (dans la partie noyau de la machine : kerneland) auquel est associé un processus exécuté dans la partie « utilisateur » (userland) du système de la machine cliente.
Le noyau actif intelligent, présent sur le serveur et sur chacun des postes clients, assure, de façon active, la
sécurité du système et l'optimisation des performances. Pour cela, le noyau interagit avec quatre modules : un module de configuration, un de protection (du réseau et du système), un de surveillance (du réseau et du système) et un dernier pour le rapport ou la récupération des informations.
En référence à la figure 5, ce noyau suit un cycle pendant lequel il surveille le système et le réseau, détecte une quelconque anomalie ou attaque extérieure, prend une décision et réagit, par exemple en prévention de futures attaques. Une phase d'apprentissage permet d'enrichir ses connaissances.
La figure 6 illustre le principe général de la présente invention. Une première phase de détection met en œuvre l'analyse des informations système ou réseau collectées. Plusieurs types d'analyse sont possibles : l'analyse comportementale des processus (système) définit un profil type et tout débordement de ce profil entraîne la détection d'une anomalie, l'analyse du réseau par plusieurs méthodes (ARP, fingerprinting) et l'analyse par des signatures statiques présentes sur le serveur. La corrélation de toutes ces informations permet, en fonction des politiques de sécurité définies par l'administrateur, de requérir une action. Ces politiques de sécurité peuvent, par exemple, être une sécurité autonome assurant une faible sécurité réseau, une forte sécurité système et des règles statiques spécifiant que Outlook ne peut ouvrir un fichier .exe (règle statique système) et que le firewall bloque le trafic Peer-to-Peer (règle statique réseau). L'action peut concerner la défense du système client (ne pas ouvrir le fichier), l'activation du firewall client (modification des ports interdits) ou le pilotage de composants tiers (modification d'autres machines à titre préventif). Un
ensemble de données est remonté à l'administrateur et consigné dans la base de données d'« historisation ».
En référence à la figure 7, le noyau réalise la surveillance du système du poste client. Pour cela il se base sur des règles ACL (Liste de contrôle d'accès), sur des règles statiques et sur des profils (règles comportementales susceptibles d'être modifiées de façon dynamiques par le système) à partir desquels il prend des décisions d'actions sur le système (alerte, réaction, prévention, ne rien faire, ...). Un exemple de profil peut être : à un utilisateur qui n'installe jamais de programme le système créera un profil dans lequel les accès à la base des registres sont interdits. Selon un mode de réalisation, la présente invention met en œuvre un système d'apprentissage. Ce système a pour but de prévenir et de protéger toute forme d'attaques applicatives. La protection est un système de liste de contrôle d'accès (ACL) simple défini par l'administrateur qui va réguler, bloquer et protéger différentes ressources. Les fichiers sont protégés en ouverture, avec parfois une restriction à un accès en lecture seule. Tous les fichiers sont concernés. Par exemple, l'administrateur interdit l'ouverture d'un fichier .exe dans Outlook afin d'éviter l'installation d'un virus. Les sockets sont quant à elles bloquées lorsqu'un accès « BIND », « CONNECT », « ACCEPT » ou « LISTEN » est demandé. La protection des processus consiste, par exemple, à empêcher toute tentative de rattachement à un processus tiers sauf par l'intermédiaire de processus de confiance comme explorer.exe.
Dans un premier temps, une collecte des informations systèmes critiques (accès aux fichiers, accès au réseau, chargement de dll, ...) est réalisée pour constituer des profils applicatifs qui détermineront le « bon » fonctionnement de l'application. Ces profils sont stockés en
local. Le système d'apprentissage réalise alors une analyse comportementale des processus. Cela consiste à apprendre l'utilisation et le fonctionnement d'un processus. A la suite de cette période d'apprentissage, un profil pour chaque application va être créé. Ce profil va permettre de définir le fonctionnement normal de l'application. Si l'application sort de ce profil de fonctionnement, on suspecte alors une anomalie plus ou moins grave. Si l'anomalie est sérieuse, on va alors bloquer l'action du programme car on va suspecter que cette application est probablement corrompue. Cette analyse est totalement automatique et complètement autonome, aucune supervision n'est nécessaire.
En référence à la figure 8, une modification du système nécessite l'analyse du nouvel état du système, l'apprentissage de ces nouvelles informations afin de constituer un nouveau profil.
De façon similaire, en référence à la figure 9, le noyau réalise une surveillance de la composante réseau du poste client. Pour cela est mis en place un système de détection d'intrusion (IDS) qui se base sur des signatures statiques et une analyse environnementale du réseau par analyse de fingerprinting, de cache ARP et des aspects wireless (sans-fil) (par exemple, l'environnement des listes de points d'accès_i-ccess Points AP_, les adresses MAC des AP). Les moyens d'action se concentrent alors sur le pare- feu (firewall) qui réalise la protection et/ou la prévention en fonction des décisions.
Le contrôle de l'environnement « réseau » permet de reconnaître les serveurs et/ou les clients environnants, grâce à des signatures (ou fingerprinting) . Ceci permet notamment de procéder à la détection du type système d'exploitation et éventuellement de la version du système
d'exploitation, en examinant les paquets échangés au moyen de protocoles réseaux (TCP, ICMP, ARP, ...) . Ce contrôle peut mettre en œuvre un fingerprinting actif, c'est-à-dire lors de la connexion d'une nouvelle entité au réseau et/ou un fingerprinting passif, par exemple lorsqu'un équipement du réseau établit une connexion (une demande) à un autre équipement.
On peut distinguer trois types de règles qui conditionnent les réactions du système aux attaques.
En premier lieu, on trouve des règles d'actions autorisées. Par exemple, l'application de traitement de texte Word de la société américaine Microsoft (Marque Déposée) ouvre uniquement des fichiers numériques comportant une extension .doc et c'est la seule application qui ouvre les .doc. Cette fonctionnalité innovante s'applique aux connexions réseaux, aux listes d'applications pour une extension donnée ainsi qu'aux listes d'extensions que peut ouvrir une application. Ensuite, des règles sont définies selon des actions définies au préalable comme par exemple l'injection de fichiers .dll, le re-boot, etc..
Enfin les règles d'apprentissage illustrent le caractère « intelligent » du système. Certains processus techniques du type apprentissage, analyse comportementale ou profiling des sous-processus sont également mis en œuvre dans le but essentiellement d'optimiser l'efficacité en termes de ressources nécessaires ou, de ratio « performances / ressources ». Ceci permet d'obtenir une protection sur des attaques nouvelles, c'est-à-dire non anticipées. En référence aux figures 10 et 11, suite à la détection d'une attaque et à l'action en réponse, l'administrateur évalue cette réponse qui peut soit consister à réévaluer la règle d'analyse dans le cas de règles statiques (figure 10) soit à
fournir des informations utiles à l'apprentissage intelligent dans le cas d'une réévaluation dynamique (figure 11).
Le procédé selon la présente invention réalise la sécurisation et l'optimisation des performances du système à l'aide de cinq processus traitant les alertes émises par les modules périphériques.
En ce qui concerne la sécurisation active du système un premier processus d'évaluation et de corrélation des alertes confronte les événements issus du système d'analyse de bas niveau afin de déterminer si une alerte doit être émise. Les déductions tirées du rapprochement événements- signatures sont généralisées afin de détecter des variantes des causes d'alertes déjà identifiées. Il s'agit d'un raisonnement basé sur les cas connus (Case-based reasoning) . L'évaluation peut être menée en autonome sur le poste client où se trouvent des signatures téléchargées avec le logiciel (mises à jour éventuellement disponibles sur le serveur), ou à un deuxième niveau sur le serveur afin de corréler des événements issus de plusieurs clients. Le serveur corrèle des informations telles que le nombre de poste ayant la même attaque, le type d'attaque, le délai entre plusieurs attaques et en déduit, par rapport aux signatures/profils dont il dispose dans une base de données, dite base de données « historiques », s'il s'agit d'une attaque distribuée sur plusieurs clients ou non.
L'utilisation d'un moteur de corrélation permet d'améliorer la détection des attaques. Ce moteur est présent physiquement au niveau du poste client du réseau et au niveau du serveur. Au niveau du client, l'analyse consiste à corréler les actions portant sur des prédicats identiques dans une séquence temporelle donnée, afin d'y détecter un possible scénario d'attaque. Au niveau du serveur, la corrélation est étendue de façon à confronter des
informations provenant de différents points du réseau, afin de détecter plus rapidement des attaques de type ver ou déni de service.
Au cœur du système de sécurité active, le processus d'ordonnancement des actions collecte les alertes émises par le traitement précédent, les adresse au système de pondération afin de mieux les qualifier, puis le confronte aux règles de la politique de sécurité afin d'activer les mesures appropriées par le processus d'exécution des contre- mesures. Ce processus notifie également les administrateurs du réseau des alertes émises et des actions entreprises.
Les alertes émises par le système d'évaluation et de corrélation ne sont pas tout le temps des alertes pertinentes au regard des spécificités d'une entreprise. Une étape de pondération, sur le serveur, permet alors de réagir à ces alertes en fonction des pratiques et des contraintes d'administration du réseau et de la sécurité de l'entreprise. Dans ce dessein, un système expert peut traiter ces informations en fonction de l'historique des réactions de l'administrateur à l'alerte ou la famille d'alertes à laquelle elle appartient, et de leur fréquence d'apparition. La remontée d'informations au serveur est toujours présente même si le poste client a pu traiter la détection d'événement. Dans le cas contraire, le serveur prend ses dispositions vis-à-vis du poste client par cette étape.
S'en suit l'exécution des mesures prises par le cœur du système (le traitement des contre-mesures) consistant à mettre en œuvre les contre-mesures en communiquant avec les systèmes tiers pertinents (pare-feu d'entreprise, pare-feu client, points d'accès, routeur, ...). Ces actions ou mesures peuvent être prises à titre préventif sur des équipements tiers. Le processus s'assure également de vérifier le résultat des actions entreprises et de le consigner.
Enfin la notification d'une alerte est effectuée auprès de l'administrateur et/ou de l'utilisateur du poste client, dans le cas où la connexion avec le réseau est rompue temporairement. Sur ses consoles de supervision/administration, l'administrateur est alors invité à qualifier l'alerte pour enrichir les données (apprentissage) et améliorer la pertinence des réactions futures du système à des événements similaires, via le traitement de pondération. La qualification est une opération manuelle par laquelle l'administrateur donne son retour (feedback) sur un événement s'étant produit sur le réseau et ayant donné lieu à une réponse automatique du système décrit ci-dessus. Pour de nombreuses raisons, l'administrateur peut préférer négliger la détection et la prévention automatisée d'une alerte donnée, ou de la famille à laquelle elle appartient : utilisation d'autres outils, habilitation de certaines applications a l'origine de l'événement, configuration spécifique du réseau, ...
En ce qui concerne l'optimisation active des performances du système, les processus mis en jeu sont quasiment identiques bien qu'adaptés à la qualité de service plutôt qu'orientés à la gestion d'attaques.
Ainsi le système d'évaluation s'attelle à la gestion d'événements relatifs à la qualité de service : disponibilité des points d'accès, la saturation des fréquences, l'état du réseau, ...
Les processus d'ordonnancement des actions, de pondération et de notification/qualification sont identiques à ceux de la sécurité active.
La reconfiguration dynamique de l'équipement réseau est réalisée par l'exécution des mesures prises par le cœur du système, mesures qui visent à améliorer et optimiser le fonctionnement du réseau, en premier lieu les points d'accès.
La présente invention met en œuvre des scénarii complexes d'intrusions basés sur les connaissances en intelligence artificielle, ce qui la dissocie de l'état de l'art, friand de bases statiques de signatures d'attaques. La solution retenue permet ainsi de détecter des variantes d'attaques qui n'ont jamais été repérées et de restituer le contexte permettant de juger le caractère véritablement malicieux ou innocent d'un événement suspect. En outre, est ajouté un dispositif de rétroaction (système d'apprentissage) permettant à l'administrateur du réseau d'adapter progressivement les réponses automatisés du système aux spécificités de la politique de sécurité et d'administration de l'entreprise.
En référence à la figure 12, les rectangles « scénario selector » et « supervised learning » représentent les processus clés implémentant les techniques d'intelligence artificielle requises. Une attaque peut être détectée à parti des scénarii connus (et des signatures contenues dans la base) et une action peut être alors engagée (cadre 1). Lorsque l'événement n'a pu être résolu (cadre 2), l'événement est envoyé au serveur et celui-ci prend une décision et agit (cadre 4). De ces décisions et actions, l'administrateur fera une qualification (cadre 3) qui sera apprise et intégrée par le système à l'aide du processus intelligent « supervised learning »
Dans un mode de réalisation particulier, le procédé possède également des fonctionnalités annexes : le logiciel est protégé lui-même contre des attaques éventuelles. Comme décrit précédemment, le noyau actif intelligent peut se composer en une partie « bas niveau » et une partie
« userland » : les modules. C'est cette deuxième partie qui est protégée car facilement accessible. Le noyau actif « bas
niveau » lui offre la protection nécessaire contre les attaques et empêche ainsi la désactivation, la corruption, les modifications de configuration.
Dans un autre mode de réalisation de la présente invention, nous pourrons remarquer qu'un poste client n'est pas nécessairement relié à un réseau informatique et en particulier n'est pas nécessairement relié en permanence à un serveur. En outre, le client peut se connecter à des instants discrets (et non en continu) au serveur qui contient des données (nouvelles règles). Par exemple, on pourra imaginer le cas dans lequel l'utilisateur revient au bureau une fois par semaine et se connecte pour les mises à jour. Dans une utilisation à domicile, la présente invention permet la protection active tant au niveau système qu'au niveau réseau du poste client. Le poste n'étant pas relié à un réseau d'entreprise, il n'y a pas de serveur. Les étapes de corrélation et pondération par le serveur ne sont donc pas réalisées mais les profils système, les règles statiques peuvent toujours être implémentés en local (sur le poste client) .
L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet.