WO2006134269A1 - Procede et dispositif de protection de donnees et de systeme informatique - Google Patents

Procede et dispositif de protection de donnees et de systeme informatique Download PDF

Info

Publication number
WO2006134269A1
WO2006134269A1 PCT/FR2006/001348 FR2006001348W WO2006134269A1 WO 2006134269 A1 WO2006134269 A1 WO 2006134269A1 FR 2006001348 W FR2006001348 W FR 2006001348W WO 2006134269 A1 WO2006134269 A1 WO 2006134269A1
Authority
WO
WIPO (PCT)
Prior art keywords
resources
user station
user
agent
access
Prior art date
Application number
PCT/FR2006/001348
Other languages
English (en)
Inventor
Patrice Guichard
Original Assignee
Patrice Guichard
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Patrice Guichard filed Critical Patrice Guichard
Priority to US11/917,583 priority Critical patent/US20090222907A1/en
Priority to EP06764789A priority patent/EP2176767A1/fr
Publication of WO2006134269A1 publication Critical patent/WO2006134269A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Le procédé de protection de données et de système informatique comporte : une étape d'installation d'au moins un agent logiciel sur au moins un poste utilisateur ; une étape de capture, par ledit agent, d'informations représentatives d'utilisations effectives de ressources sur ledit poste utilisateur ; une étape de transmission, à distance, par ledit agent, d'information représentative desdites utilisations effectives de ressources sur ledit poste utilisateur ; une étape de sélection, à distance du poste utilisateur, de ressources autorisées et/ou de ressources interdites sur au moins un poste utilisateur (724, 730, 736, 742, 748) et ; une étape de transmission audit poste utilisateur, d'information représentative desdites ressources autorisées et/ou desdites ressources interdites et ; sur ledit poste, une étape d'inhibition (754), par ledit agent, d'utilisation de ressources interdites ou non autorisées.

Description

PROCEDE ET DISPOSITIF DE PROTECTION DE DONNEES ET DE SYSTEME INFORMATIQUE
La présente invention vise un procédé de protection de données et de système informatique. Elle s'applique, en particulier, à la protection des données sur les ordinateurs personnels et sur les systèmes informatiques en réseau.
Les pare-feu (connus sous leur nom anglais de « Firewalls ») classiques, c'est-à-dire inter réseaux, sont placés aux points d'entrée des réseaux à protéger et ne contrôlent que les flux les traversant. Ainsi, ils sont complètement aveugles, concernant les attaques internes issues du réseau protégé. Il suffit qu'un utilisateur non averti réalise une connexion modem ou WIFI depuis son poste ou portable, pour qu'un attaquant externe puisse profiter de cette brèche pour perpétrer une attaque, rendant ainsi obsolète le système de Firewalling classique mis en œuvre, aussi performant soit-t-il. Cette éventualité est aussi possible, pour ce qui concerne les connexions distantes VPN (acronyme de « virtual private network » pour réseau virtuel privé) « end-to-end » (pour d'une extrémité à l'autre), qui traversent le Firewall de manière incontrôlée, car cryptée. De plus, les Firewalls classiques constituent un point de faiblesse dans les réseaux informatiques : en effet, la panne du Firewall, mène automatiquement à la coupure de la liaison et les solutions actuelles de fonctionnement redondant sont coûteuses et n'annulent pas de manière absolue ce risque. De plus, l'administrateur est parfois obligé, étant donné les situations d'urgence, de se passer du Firewall, avec tous les risques que cela comporte lorsque les accès gérés par les Firewalls bloquent l'ensemble des flux réseaux. Les Firewalls classiques constituent également un goulot d'étranglement au niveau des communications inter réseau, aussi performant soit-ils et quelles que soient les solutions de stratification et d'attribution de priorités aux flux proposées. Une application «gourmande» en débit suffit pour pénaliser toutes les autres applications classiques. On observe que ce défaut est aussi à imputer à la solution classique de Firewalling dans laquelle il n'y a pas, non plus, équité entre les flux. Les réponses actuelles aux problèmes soulevés ci-dessus, sont majoritairement basées sur la combinaison des deux solutions suivantes : d'une part, la segmentation des réseaux informatiques internes, en installant des Firewalls entre des réseaux internes : cette solution, coûteuse et impactant la fiabilité et la vitesse des flux, impose des contraintes topologiques et d'administration qui limitent notablement sa mise en œuvre et son efficacité ; d'autre part, l'utilisation de plusieurs sondes de détection d'intrusion pour la protection contre les attaques internes : cette solution se confronte, outre son coût, au problème d'utilisation de plus en plus généralisée des VLAN (acronyme de « virtual local area network » pour réseau local virtuel) et à la baisse d'efficacité des IDS (acronyme de « intrusion détection System » pour système de détection d'intrusion) dans les situations de flux réseaux élevés, chose qui a tendance à s'accentuer avec la généralisation des applications multimédias et l'émergence des nouvelles technologies réseau (connues sous les noms de Giga Ethernet ou ATM, par exemple).
Bien que plus de 75% des attaques dangereuses aient pour origine le réseau interne, beaucoup d'entreprises n'ont pas de moyens efficaces de contrôle et de protection de leur réseau. D'autres procédés connus de protection de données et de systèmes informatiques sont basés sur la recherche de signature de virus, de vers (en anglais « worms »), de chevaux de Troie (en anglais « trojan »), de générateurs de publicités clandestines ou d'espiogiciels (en anglais « spyware »), qui présente comme principal inconvénient de n'être efficace qu'après que le logiciel malicieux ou malveillant (en anglais « malware ») se soit implanté sur l'ordinateur et que la signature de ce logiciel soit dans sa base de signature, ce qui lui laisse parfois le temps de désactiver les systèmes de protection ou de télécharger d'autres logiciels malveillants. Par exemple, 80 % des entreprises ayant été infectées par le vers appelé « Sasser », mettaient pourtant en œuvre une protection antivirale.
La présente invention vise à remédier à ces inconvénients. A cet effet, d'une manière générale, la présente invention est basée sur le concept de la décentralisation, sur chaque poste utilisateur, d'un ensemble de sécurités administrées à distance, par exemple depuis une console centralisée.
Ainsi, la présente invention vise, selon un premier aspect, un procédé de protection de données et de système informatique, caractérisé en ce qu'il comporte : - une étape d'installation d'au moins un agent logiciel sur au moins un poste utilisateur, une étape de capture, par ledit agent, d'informations représentatives d'utilisations effectives de ressources sur ledit poste utilisateur, une étape de transmission, à distance, par ledit agent, d'information représentative desdites utilisations effectives de ressources sur ledit poste utilisateur, - une étape de sélection, à distance du poste utilisateur, de ressources autorisées et/ou de ressources interdites sur au moins un poste utilisateur et une étape de transmission audit poste utilisateur, d'information représentative desdites ressources autorisées et/ou desdites ressources interdites et sur ledit poste, une étape d'inhibition, par ledit agent, d'utilisation de ressources interdites ou non autorisées.
Grâce à ces caractéristiques, la sécurité étant décentralisée au niveau de chaque poste utilisateur, la présente invention permet au responsable du système d'information de mettre en place une politique de sécurité adaptée, sur l'ensemble de son système d'information, en tenant compte des besoins spécifiques de chaque utilisateur ou groupe d'utilisateur et d'avoir une plus grande souplesse de travail qu'avec les procédés et dispositifs de l'art antérieur, sans pour autant modifier la topologie de son réseau informatique par des découpages en réseaux locaux virtuels.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre : une étape de traitement, à distance, de dites informations représentatives d'utilisations effectives de ressources provenant d'au moins un dit agent, pour fournir des données d'utilisation agrégées, l'étape de sélection mettant en œuvre lesdites données d'utilisation agrégées. Grâce à ces dispositions, le responsable du système d'information peut analyser les données agrégées, plus synthétiques, pour décider des autorisations ou des interdictions à mettre en place ou à faire évoluer. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre : une étape de transmission, depuis au moins un poste utilisateur sur lequel un agent logiciel a été installé, vers une console distante dudit poste utilisateur, desdites informations représentatives d'utilisations effectives de ressources sur ledit poste utilisateur et une étape de transmission, depuis ladite console vers un serveur, d'information représentative desdites ressources autorisées et/ou desdites ressources interdites, l'étape de sélection de ressources autorisées et/ou de ressources interdites sur au moins un poste utilisateur étant effectuée sur ladite console. Grâce à ces dispositions, la console d'administration peut être nomade ou multiple, le serveur permettant aux agents d'être mis à jour en fonction de la politique de sécurité. Un responsable de la sécurité d'un réseau informatique, peut ainsi, à distance, superviser et commander les agents logiciels installés sur les postes utilisateurs pour interdire l'utilisation de ressources qu'il juge inappropriées ou dangereuses sur les postes correspondants, ces ressources pouvant être spécifiques à chaque poste, communes à un sous-ensemble des postes ou à tous les postes du réseau. Du fait de l 'utilisation du serveur intermédiaire entre la console et les agents, le fonctionnement du procédé peut posséder une sécurité accrue.
Selon des caractéristiques particulières, lesdites ressources comportent l'accès à des sites distants sur un réseau informatique mondial, l'étape d'inhibition comportant une étape de filtrage de l'adresse électronique de chaque page à laquelle le poste utilisateur tente d'accéder, par reconnaissance d'une partie prédéterminée de cette adresse, de filtrage des liens hypertextes présents dans chaque page à laquelle ledit poste utilisateur accède et/ou de filtrage de chaque page à laquelle le poste utilisateur tente d'accéder par reconnaissance d'une séquence de symboles prédéterminés dans une description de ladite page. Selon des caractéristiques particulières, lesdites ressources comportent l'accès à des applications informatiques, l'étape d'inhibition comportant une étape de reconnaissance d'applications informatiques à laquelle le poste utilisateur tente d'accéder.
Selon des caractéristiques particulières, lesdites ressources comportent l'accès à des ressources informatiques par des applications informatiques locales, l'étape d'inhibition comportant une étape de reconnaissance d'une ressource informatique à laquelle une application dudit poste utilisateur tente d'accéder.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de détermination de profil d'au moins un poste utilisateur sur lequel est installé un agent logiciel, l'étape de sélection mettant en oeuvre ledit profil de telle manière que deux profils de postes identiques soient affectés de mêmes interdictions d'utilisation de ressources.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de détermination de profil d'au moins un utilisateur d'un poste utilisateur sur lequel est installé un agent logiciel, l'étape de sélection mettant en œuvre ledit profil de telle manière que deux profils d'utilisateurs identiques soient affectés de mêmes interdictions d'utilisation de ressources, l'étape d'inhibition mettant en œuvre une identification de l'utilisateur du poste utilisateur concerné. Selon des caractéristiques particulières, lesdites ressources comportent la modification d'un logiciel exécutable, l'étape d'inhibition comportant une étape de vérification d'intégrité d'exécutable.
Ces dispositions permettent de garantir, la non-infection d'un exécutable par un virus, vers ou autre programme malveillant. Selon des caractéristiques particulières, lesdites ressources comportent la modification de paramètres systèmes du poste utilisateur, l'étape d'inhibition comportant une étape de reconnaissance de tentative d'accès aux paramètres systèmes dudit poste utilisateur.
Par exemple, ces paramètres systèmes comportent la base de registre, le gestionnaire de tâches, l'utilisation de session de système d'exploitation DOS (marque déposée), l'accès au multiboot, l'installation d'applications autres que celles référencées par le responsable de la sécurité.
Selon des caractéristiques particulières, lesdites ressources comportent l'utilisation de ressources matérielles de mémorisation sur des supports amovibles ou d'impression de données, l'étape d'inhibition comportant une étape de reconnaissance du matériel destinataire d'une transmission d'information. Grâce à ces dispositions, on peut empêcher la fuite d'informations ou l'ouverture de brèches dans le système d'information d'une l'entreprise en interdisant l'utilisation de périphériques amovibles potentiellement dangereux, tels que des clés USB (acronyme de « universal sériai bus » pour bus série universel), des disques durs externe et/ou des impressions sur papier.
La présente invention vise, selon un deuxième aspect, un dispositif de protection de données et de système informatique, caractérisé en ce qu'il comporte : au moins un poste utilisateur sur lequel est installé un agent logiciel, ledit agent étant adapté à capturer des informations représentatives d'utilisations effectives de ressources sur ledit poste utilisateur et à inhiber l'utilisation de ressources interdites, un moyen de traitement de dites informations représentatives d'utilisations effectives de ressources provenant d'au moins un dit agent, pour fournir des données d'utilisation agrégées, un moyen d'affichage desdites données d'utilisation agrégées, un moyen de sélection de ressources interdites sur au moins un poste utilisateur. Les avantages, buts et caractéristiques particulières de ce dispositif étant similaires à ceux du procédé tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici.
Selon un troisième aspect, la présente invention vise un procédé de protection de système informatique, caractérisé en ce qu'il comporte, pour au moins une communication entre un premier poste utilisateur émettant une requête à un deuxième poste utilisateur, une étape d'ajout, par le premier poste utilisateur, d'une séquence de symboles dans ladite requête, une étape de détermination d'autorisation d'ouverture de port, par le deuxième poste utilisateur, au cours de laquelle le deuxième poste utilisateur détermine, en fonction de ladite séquence de symboles, si un port de communication doit être ouvert pour communiquer avec le premier poste utilisateur et, en cas d'autorisation d'ouverture de port, une étape d'ouverture, par le deuxième poste utilisateur, du port autorisé.
Grâce à ces dispositions, le deuxième poste utilisateur n'ouvre le port de communication que s'il identifie le premier poste utilisateur comme autorisé à communiquer avec lui. Selon des caractéristiques particulières, au cours de l'étape d'ajout, ladite séquence de symboles est placée en en-tête d'un paquet de données transmis au deuxième poste utilisateur.
Selon des caractéristiques particulières, au cours de l'étape d'ajout, ladite séquence de symboles est placée en en-tête du premier paquet de données transmis au deuxième poste utilisateur. Selon des caractéristiques particulières, au cours de l'étape de détermination d'autorisation d'ouverture de port, le deuxième poste utilisateur n'effectue que la lecture du paquet de données comportant ladite séquence de symboles et ne lit pas les autres paquets de données transmis par le premier poste utilisateur.
Selon des caractéristiques particulières, au cours de l'étape de détermination d'autorisation d'ouverture de port, le deuxième poste utilisateur n'effectue que la lecture de ladite séquence de symboles et ne lit pas les autres données transmises par le premier poste utilisateur.
Grâce à chacune de ces dispositions, l'autorisation d'ouverture de port peut être rapide et sûre puisque le deuxième poste utilisateur n'a pas à traiter ou à stocker une grande quantité d'information avant d'accéder à la séquence de symboles nécessaire à l'étape d'autorisation. Selon des caractéristiques particulières, au cours de l'étape de détermination d'autorisation d'ouverture de port, le deuxième poste utilisateur compare ladite séquence de symboles avec au moins une séquence de symboles qu'il conserve en mémoire.
Grâce à ces dispositions, l'autorisation est rapide et simple.
Selon des caractéristiques particulières, au cours de l'étape de détermination d'autorisation d'ouverture de port, le deuxième poste utilisateur effectue un déchiffrement de ladite séquence de symboles.
Grâce à ces dispositions, un tiers malveillant qui ne dispose pas de la clé de chiffrement ne peut générer une séquence de symboles lui permettant d'obtenir une ouverture de port sur le deuxième poste utilisateur. Selon des caractéristiques particulières, lesdites étapes d'ajout et d'autorisation d'ouverture de port sont effectuées à chaque début de communication entre lesdits premier et deuxième postes utilisateurs.
Selon des caractéristiques particulières, lesdites étapes d'ajout et d'autorisation d'ouverture de port sont effectuées par tous les postes utilisateurs du système informatique. Selon des caractéristiques particulières, au cours de l'étape d'ajout, le port dont on demande l'ouverture est représenté par ladite séquence de symboles.
Selon des caractéristiques particulières, ladite étape d'ajout et ladite étape d'autorisation d'ouverture de port sont effectuées au moins pour les requêtes, effectuées par le premier poste utilisateur, d'accès à une ressource du deuxième poste utilisateur. Selon un quatrième aspect, la présente invention vise un procédé de protection, caractérisé en ce qu'il comporte une étape de modification automatique de nom de poste utilisateur d'un réseau informatique et/ou d'adresse de poste utilisateur d'un réseau informatique, la mise en correspondance du nom ou de l'adresse modifié avec le nom et/ou l'adresse réelle du poste utilisateur n'étant connue que d'un poste administrateur relié audit réseau. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte au moins une étape de mise en œuvre d'une table de correspondance entre les noms et adresses modifiées et les noms et adresses réels.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte au moins une étape de cryptage des noms et adresses réels.
Selon un cinquième aspect, la présente invention vise un procédé de protection, caractérisé en ce qu'il comporte une étape de détermination ou de sélection, pour chaque exécutable ou application présent sur le poste utilisateur, de ressources auxquelles ledit exécutable ou application peut accéder, dites « ressources autorisées » et, au cas où l'exécutable ou application tente d'accéder à une ressource en dehors des ressources autorisées, un étape de blocage de ladite tentative.
Selon un sixième aspect, la présente invention vise un procédé de protection, caractérisé en ce qu'il comporte, au moins pendant les périodes de veille, une étape d'interdiction d'utilisation des ports d'un poste utilisateur à l'exception d'un port réservé à un agent logiciel prédéterminé, ledit agent logiciel effectuant une étape de tri des communications lui parvenant et autorisant, ou non, les ouvertures de port pour une communication directe ne passant pas par ledit agent logiciel ou la communication audit port par l'intermédiaire dudit agent logiciel.
Selon un septième aspect, la présente invention vise un procédé de protection de système informatique, caractérisé en ce qu'il comporte une étape de sélection d'au moins un poste utilisateur et une étape d'incorporation, par des moyens logiciels, dudit poste utilisateur dans un groupe de postes utilisateurs possédant, entre eux, des droits d'accès plus étendus que les droits d'accès attribués à des postes utilisateurs extérieurs audit groupe.
Grâce à ces dispositions, il n'est plus nécessaire de modifier des interrupteurs (en anglais « switch ») matériels pour créer et modifier des groupes de postes constituant un réseau de confiance.
Selon des caractéristiques particulières, l'étape de sélection et la commande de l'étape d'incorporation sont effectués sur une console distant desdits postes utilisateurs. Grâce à ces dispositions, la sécurité est renforcée.
Selon des caractéristiques particulières, au cours de l'étape d'incorporation d'un poste utilisateur dans un dit groupe de postes utilisateur, on intervient sur la deuxième couche des couches OSI. Grâce à ces caractéristiques, on agit à un niveau inférieur ou égal à celui d'un pare-feu et inférieur aux couches mises en oeuvre par le protocole de contrôle de transmission TCP (acronyme de « transmission control protocol »), qui sont les couches 3 et 4.
Selon des caractéristiques particulières, au cours de l'étape d'incorporation, on transmet une adresse de contrôle d'accès au média MAC (acronyme de « média access control ») du poste utilisateur incorporé au groupe à chaque autre poste utilisateur dudit groupe.
Selon des caractéristiques particulières, à partir de l'étape d'incorporation, un agent situé sur chaque poste utilisateur dudit groupe, autorise ou interdit l'accès à au moins une partie de ses ressources, en fonction de ladite adresse de contrôle d'accès au média MAC transmise par un poste utilisateur pour accéder audites ressources. Grâce à chacune de ces dispositions, on isole des ressources disponibles sur des postes, ces ressources restant accessibles aux membres du groupe de confiance ainsi créé et indisponible pour les postes utilisateurs qui ne sont pas dans ce groupe de confiance.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre, une étape de sélection supplémentaire de postes utilisateurs d'un dit groupe de postes utilisateurs et une étape d'autorisation d'accès à chaque dit poste utilisateur à des ressources des autres postes utilisateurs ayant fait l'objet de ladite sélection supplémentaire, lesdites ressources n'étant pas accessibles à des postes dudit groupe de postes utilisateurs n'ayant pas fait l'objet de la sélection supplémentaire. Selon des caractéristiques particulières, un agent logiciel sur chaque poste utilisateur ayant fait l'objet de la sélection supplémentaire détermine, sur une couche supérieure à la deuxième couche OSI, si un poste utilisateur qui tente d'accéder à une ressource y est autorisé.
Grâce à chacune de ces dispositions, on crée une arborescence de groupes de postes utilisateurs dotés de droits d'accès à des ressources d'autres postes utilisateurs situés sur la même branche de l'arborescence, hiérarchiquement étendus, par rapports aux postes utilisateurs se situant sur d'autres branches.
Grâce à chacune de ces dispositions, le responsable d'un système informatique peut créer un réseau local virtuel hiérarchisé avec les postes utilisateurs.
Selon un huitième aspect, la présente invention vise un procédé de protection d'un système informatique, caractérisé en ce qu'il comporte une étape d'installation d'un agent logiciel sur au moins une partie des postes utilisateurs dudit système informatique et une étape d'exploitation au cours de laquelle ledit agent effectue des traitements aux niveaux 2, 3 et 7 de la classification en couches OSI.
Grâce à ces dispositions, chaque agent logiciel intervient, à la fois, sur une couche très proche du matériel, sur une couche où intervient un protocole de contrôle de transmission et sur une couche mise en oeuvre par des applications informatiques.
Selon des caractéristiques particulières, au cours de l'étape d'exploitation, ledit agent effectue des traitements au niveau 4 de la classification en couches OSI.
Grâce à ces dispositions, chaque agent logiciel intervient sur chaque couche où intervient un protocole de contrôle de transmission. Selon un neuvième aspect, la présente invention vise un procédé de protection d'un poste utilisateur, caractérisé en ce qu'il comporte : une étape de sélection de ressources à protéger parmi les ressources disponibles sur ledit poste utilisateur, une étape de détection d'accès à une ressource protégée et dans ce cas, une étape de fermeture de chaque port de communication externe dudit poste utilisateur.
Grâce à ces dispositions, on peut mettre en place, sur chaque poste utilisateur, un périmètre de confiance variable ou commutable qui contient les ressources à protéger. Par exemple, on définit une liste d'applications de confiance associées à chaque ressource.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, en outre, une étape de détection d'ouverture d'un port de communication externe dudit poste utilisateur et, dans ce cas, une étape de fermeture de chaque ressource protégée. Selon des caractéristiques particulières, au cours de l'étape de fermeture de chaque ressource protégée, on sauvegarde le contenu de ladite ressource protégée.
Selon des caractéristiques particulières, au cours de l'étape de fermeture de chaque ressource protégée, on associe un certificat d'intégrité au contenu de ladite ressource protégée et, lors d'un nouvel accès à ladite ressource protégée, on effectue une étape de vérification de l'intégrité de ladite ressource.
Grâce à chacune de ces dispositions, les ressources à protéger ne peuvent être modifiées pendant une ouverture des ports externes du poste utilisateur.
Selon des caractéristiques particulières, au cours de l'étape de sélection de ressources à protéger, on sélectionne au moins un dossier et, au cours de l'étape de détection d'accès à un tel dossier, on détecte l'ouverture dudit dossier.
Selon des caractéristiques particulières, au cours de l'étape de sélection de ressources à protéger, on sélectionne au moins un fichier et, au cours de l'étape de détection d'accès à un tel fichier, on détecte l'ouverture dudit fichier. Selon des caractéristiques particulières, au cours de l'étape de sélection de ressources à protéger, on sélectionne des dossiers ou des fichiers et, au cours de l'étape de détection d'accès à un tel dossier ou à un tel fichier, on détecte une tentative de copie dudit fichier ou dudit dossier.
Selon des caractéristiques particulières, au cours de l'étape de fermeture de chaque port de communication externe, on interdit la communication sur des connecteurs de supports d'information amovibles.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de sélection d'applications autorisées à accéder à chaque ressource à protéger, une étape de certification d'intégrité de chaque dite application et, en cas de tentative d'accès à une ressource par une application, une étape de vérification de l'autorisation de ladite application à accéder à ladite ressource et une étape de vérification d'intégrité de ladite application.
Ainsi, par exemple, on définit une liste d'applications de confiance associées à chaque ressource de la machine et on signe ces applications pour éviter l'effet d'une vulnérabilité ou d'une modification de ladite application.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de copie ou de transfert d'une ressource protégée dans une zone mémoire tampon, les ports externes du poste utilisateur étant alors fermés et la ressource dans ladite zone mémoire n'étant alors pas protégée et une étape de transmission, à distance, de ladite ressource non protégée, depuis ladite zone tampon, par l'intermédiaire d'un dit port externe.
Grâce à ces dispositions, on met en place un « sas » constitué par la zone mémoire tampon de sortie (en anglais « sandbox ») de ressources protégées.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de réception d'une ressource, par l'intermédiaire d'un port externe, dans une zone mémoire tampon, et au cas où, pendant une étape de sélection, ladite ressource est sélectionnée pour être protégée, une étape de traitement de ladite ressource pour déterminer si elle contient un logiciel malveillant, les ports externes du poste utilisateur étant alors fermés. Grâce à ces dispositions, on met en place un « sas » constitué par la zone mémoire tampon d'entrée (en anglais « sandbox ») de ressources protégées, dans lequel on scanne lesdites ressources.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de vérification d'identification d'utilisateur et, au cas où l'utilisateur n'est pas identifié, il ne peut accéder aux ressources protégées.
Les différentes caractéristiques essentielles et particulières des différents aspects de la présente invention constituent des caractéristiques particulières de tous les aspects de la présente invention. En effet, dans un but de clarté, toutes ces caractéristiques n'ont pas été recopiées pour tous les procédés objets des différents aspects de la présente invention mais sont destinées à se combiner pour former un procédé de protection de système information complexe et capable de parer à un grand nombre de types d'attaque.
D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite dans un but explicatif et nullement limitatif en regard des dessins annexés dans lesquels : - la figure 1 représente, schématiquement, l'architecture du dispositif objet de la présente invention, dans un réseau informatique simple ;
- la figure 2 représente, schématiquement, les composants d'un agent de protection logiciel installé sur des postes utilisateurs ;
- la figure 3 représente, schématiquement, les communications entre des éléments matériels et logiciels d'un dispositif objet de la présente invention ;
- la figure 4 représente, schématiquement, l'architecture interne d'un module de filtrage mis en œuvre par un agent de protection adapté aux systèmes d'exploitation Windows XP, 2000 et 2003 (marques déposées);
- la figure 5 représente, schématiquement, l'architecture interne d'un module de filtrage mis en œuvre par un agent de protection adapté aux systèmes d'exploitation Windows 95 ;
- la figure 6 représente, schématiquement, l'architecture interne d'un module de filtrage mis en œuvre par un agent de protection adapté à tout système d'exploitation ;
- la figure 7 représente, sous forme d'un logigramme, des étapes mises en œuvre dans un mode particulier de réalisation du procédé objet de la présente invention, - la figure 8 représente, sous forme d'un logigramme, des étapes mises en œuvre dans un mode particulier de réalisation du procédé objet de la présente invention,
- la figure 9 représente, sous forme d'un logigramme, des étapes mises en œuvre dans un mode particulier de réalisation du procédé objet de la présente invention et
- la figure 10 représente, sous forme d'un logigramme, des étapes mises en œuvre dans un mode particulier de réalisation du procédé objet de la présente invention.
Dans toute la description, les termes « sécurité » et « protection » sont utilisés avec la même acceptation.
Dans toute la description, le terme de « poste utilisateur » désigne préférentiellement un terminal relié à un réseau et comportant un ordinateur à usage général. Il équivaut au terne de « machine » utilisé parfois par les informaticiens et peut comprendre différents serveurs d'un système informatique. On observe, en figure 1, une console d'administration 100 qui communique avec deux serveurs de configuration 105 et 110, eux-mêmes en communication avec quatre agents de protection 115 installés sur quatre postes utilisateurs 120.
La console d'administration permet au responsable de la sécurité du réseau informatique comportant la console, les serveurs et les postes utilisateurs, de définir la stratégie de sécurité pour l'ensemble des postes utilisateurs, pour une partie des postes utilisateurs et/ou pour chaque poste utilisateur pris individuellement. Une fois cette stratégie de sécurité définie, la console d'administration la transmet aux serveurs de configuration pour que les agents de protection se configurent en fonction de la stratégie de sécurité qui les concernent. Les fonctions décentralisées au niveau des postes utilisateurs 120, c'est-à-dire, en fait, au niveau des agents de protection logiciels 115 qui y sont installés, peuvent comporter, en particulier : l'autorisation ou non d'accéder à certain site Internet, Extranet ou Intranet, en utilisant un filtrage d'adresses électronique URL (acronyme de « uniform resource locator » pour localiseur de ressource uniforme) par traitement des URL ou de mots clés susceptibles d'être présent dans les URL ou dans les pages auxquelles elles donnent accès ; l'autorisation d'accès et de lancement des applications disponibles sur le poste utilisateur ; le Firewalling (Pare-Feu) applicatif qui consiste à autoriser ou non une application à accéder à une ressource informatique interne ou externe au réseau de l'entreprise ; de cloisonner chaque profil utilisateur à un ensemble de ressources informatiques, c'est-à- dire de ne pas lui donner accès à d'autres ressources que celles qui lui sont attribuées ; de contrôler l'intégrité de l'ensemble des exécutables permettant de garantir, la non- infectionn d'un exécutable par un virus, vers ou autre programme malveillant ; de contrôler et de superviser les postes de travail en interdisant les utilisateurs de modifier les paramètres systèmes de leur poste de travail (base de registre, gestionnaire de tâches, l'utilisation des sessions DOS (acronyme de « dise operating system » pour système de fonctionnement de disque), d'accéder au multiboot, c'est-à-dire au lancement de plusieurs systèmes d'exploitation, d'installer des applications autres que celles référencées par l'administrateur) ; de détecter les actes malveillants de façon proactive et - d'empêcher la fuite d'informations ou l'ouverture de brèches dans le système d'information de l'entreprise en interdisant l'utilisation de périphériques amovibles potentiellement dangereux (clé USB, disque dur externe, par exemple).
Pour administrer et mettre en œuvre les stratégies de sécurité et superviser le réseau d'entreprise, le dispositif de protection est composé de trois composants de base (communément appelé « architecture 3 tiers ») : la console d'administration 100, à partir de laquelle sont définies les politiques de sécurité ; au moins un serveur de configuration 105, 110 qui permet à la console de déployer et stocker les stratégies de sécurité définies et mises en œuvre par l'administrateur du système informatique ; - un agent implanté sur chaque poste utilisateur (local ou nomade), sur chaque serveur du réseau local de l'entreprise ou serveur frontal vis-à-vis d'Internet (Serveur mail, Web) classiquement installé dans la DMZ (acronyme de « DeMilitarized Zone » pour zone démilitarisée) de l'entreprise.
Il est à noter que les serveurs de configuration ne sont pas obligatoirement des serveurs mettant en œuvre un système d'exploitation « Windows » (marque déposée), le système de protection s'installe aussi bien sur des serveurs mettant en œuvre, par exemple, un système d'exploitation « Windows » que « Unix » (marque déposée), dans le sens le plus large du terme, « Linux », « Freebsd », « OpenBsd », « Macintosh », « Solaris » (marques déposées). De plus, pour des raisons de redondance, il est possible de mixer différents types de serveurs de configuration mettant en oeuvre différents systèmes d'exploitation, permettant à l'administrateur de déployer le système de protection quel que soient les systèmes d'exploitations des serveurs d'infrastructure du système d'information. Ainsi, de manière schématique :
- la console 100 fabrique la politique de sécurité,
- le(s) serveur(s) de configuration 105, 110, se charge(nt) de la diffusion et du stockage de la ou des stratégies de protection et - chaque agent 115 exécute la politique de sécurité et alerte en cas de malveillance.
Concernant le fonctionnement de l'agent 115 vis-à-vis des serveurs de configuration 105, 110, on observe que, selon les modes de réalisation, soit le serveur pousse la politique de sécurité vers l'agent, c'est-à-dire que le serveur 105, 110 transmet, à chaque agent 115, une requête de configuration pour que l'agent 115 aille chercher sa configuration sur un serveur de configuration, soit l'agent 115 fait appel au serveur de configuration 105, 110, pour mettre à jour sa configuration en fonction d'une planification définie par l'administrateur.
Les agents 115 sont programmés pour fonctionner sur des systèmes d'exploitation différents (par exemple l'ensemble des systèmes d'exploitation Microsoft Windows 95, 98, ME, NT4, 2000, XP, 2003 (marques déposées), Unix (marque déposée), Mac (marque déposée) et autres. Les agents 115 n'autorisent le fonctionnement d'une application, sur le terminal utilisateur correspondant, que si cette application a été autorisée par le serveur de configuration 105, 110, pour le terminal utilisateur en question, pour un sous-ensemble de terminaux auquel appartient ce terminal utilisateur ou pour tous les terminaux utilisateurs.
Comme on le voit, la présente invention est adaptée, dans les modes de réalisation décrits ici, à fonctionner sur un réseau ayant un parc d'ordinateurs hétérogènes où sont mis en œuvre différents systèmes d'exploitation ou différentes versions d'un même système d'exploitation.
Cette hétérogénéité s'étend à différents modules listés ci-dessous et ayant chacun une fonction précise, que nous détaillerons de façon plus précise dans la suite de ce document : le module de contrôle web (terme habituellement utilisé pour désigner la toile), - le module de contrôle d'exécution ; le module de contrôle réseau ; le module de contrôle système, y compris . contrôle de ressources et . contrôle OS ; - le module de contrôle d'intrusion, y compris
. le module de contrôle des services locaux ; le module de filtrage IP (acronyme αe « internet protocol » pour protocol internet), y compris
. le module de contrôle des adresses distantes et . le module de contrôle des services distants ; et - le module politique de logs, ou traçabilité.
Ces différents modules permettent le contrôle de l'environnement utilisateur, incluant le paramétrage système du poste utilisateur, l'utilisation des commandes systèmes, des logiciels ou progiciels, de l'accès aux services réseaux locaux et distants, tout en tenant compte du ou des profils spécifique(s) de chaque utilisateur ayant accès à ces stations de travail ou serveur et même à des postes nomades dont la protection est assurée contre différents types d'attaques (virus réseau, vers, Backdoor, Spyware ou espiogiciels, phishing etc ...) même lorsque la machine n'est pas connectée au réseau de l'entreprise, par exemple, pour les ordinateurs portables nomades à l'extérieur de l'entreprise.
En ce qui concerne la création des stratégies ou politiques de sécurité, avant de commencer à définir la configuration des politiques de sécurité, il faut : déclarer les utilisateurs et les groupes auxquels ils appartiennent :
. soit manuellement, c'est-à-dire en saisissant chaque « profil » de connexion, . soit en faisant une importation de la liste des utilisateurs à partir d'un annuaire LDAP (acronyme de « lightweight directory access protocol » pour protocole d'accès aux répertoires léger) ou Active Directory (pour répertoire actif),
. soit en collectant, c'est-à-dire en attendant que les agents 115 installés sur les postes utilisateurs 120 transmettent, à destination de la console d'administration 100, les différents « login » (noms d'utilisateurs) utilisés par les utilisateurs ; associer à chaque « politique de sécurité », un ensemble d'utilisateurs ou un utilisateur particulier : par exemple, à la politique de sécurité qui concerne un groupe d'utilisateur nommé « les secrétaires », l'administrateur associe l'ensemble des secrétaires de l'entreprise et à la politique de sécurité qui concerne un groupe d'utilisateur nommé « le service comptabilité » l'administrateur associé l'ensemble des personnes de ce service, les profils faisant partie des deux sous-ensembles, bénéficiant des autorisations de chaque sous-ensemble ; préparer des listes d'applications et d'adresses électroniques URL (acronyme de « uniform resource locator » ou localiseur de ressources uniforme) autorisées (fonctionnement en « liste blanche ») ou interdites (fonctionnement en « liste noire ») pour paramétrer les politiques de sécurité . soit manuellement, en saisissant des adresses électroniques de liens hypertextes autorisés ou interdits, ou des séquences de symboles interdits dans ces adresses électroniques, ou en faisant usage de listes d'adresses ou de séquences de symboles interdits fournies par des tiers,
. soit dynamiquement, en collectant, grâce aux agents de protection déployés sur les postes de travail, les différents adresses électroniques URL saisies ou mises en œuvre
(par exemple par le biais de liens hypertextes) par des programmes exécutables utilisés par les utilisateurs et en affectant certaines de ces adresses d'une autorisation et d'autres d'une interdiction d'accès.
Les différentes politiques de sécurités définies pour la mise en œuvre de la présente invention se présentent sous une forme ergonomique et facile à appréhender pour un utilisateur novice en sécurité, et sont basées sur les concepts de liste blanche (liste des ressources explicitement autorisées), liste noire (liste des ressources explicitement interdites), autoriser tout (affectation aux ressources absentes de la liste noire d'une autorisation d'accès), - fermer tout (affectation aux ressources absentes de la liste blanche d'une interdiction d'accès), propre à chaque module.
Ces politiques de sécurité définies par l'administrateur de sécurité peuvent être implémentées à différents niveaux : soit au niveau global, c'est-à-dire pour l'ensemble des utilisateurs de l'entreprise, - soit pour un service ou groupe d'individu (par exemple, pour le service comptabilité), soit pour une catégorie d'individus (par exemple, une catégorie ou un profil regroupant les secrétaires, une autre les directeurs, une autre les stagiaires, ...), soit pour un utilisateur unique.
On note que la logique sécuritaire (c'est-à-dire la définition des catégories ou profils) de l'administrateur peut être différente de la logique organisationnelle de l'entreprise. On observe qu'à cet effet, le système de protection objet de la présente invention se base sur l'adresse Lan (acronyme de
« local area network » pour réseau local) IP (acronyme de « Internet Protocol » pour protocole internet) pour identifier un poste utilisateur accessible sur le réseau de l'entreprise. Dans le cas ou l'agent de protection 115 n'est pas installé sur un poste utilisateur, celui-ci apparaît avec un statut particulier dans l'écran de cartographie du réseau affiché sur la console 100, et peut être considéré immédiatement comme poste « suspect » par l'administrateur sécurité.
Pour établir la liste des utilisateurs contrôlés par le système de protection, le logiciel utilise différents mécanismes : le premier mécanisme pour définir un profil utilisateur consiste à saisir manuellement dans la console d'administration le nom de l'utilisateur, plus communément appelé « login », utilisé par l'utilisateur pour s'identifier sur le poste utilisateur ou sur le système d'information de l'entreprise, le deuxième mécanisme pour définir un profil utilisateur consiste, si l'entreprise en dispose, d'interconnecter le système de protection à l'annuaire d'entreprise (par exemple Active Directory, annuaire des systèmes d'exploitation Windows 2000 & 2003) ou LDAP, base de donnée spécialisée, dont la fonction première est d'être un annuaire capable de retourner un ou plusieurs attributs d'un objet grâce à des fonctions de recherche multicritères - par exemple une personne peut avoir, dans son profil, une information indiquant qu'il est au niveau directorial et qu'il appartient au service comptable, - le troisième mécanisme est mis en œuvre dés lors que l'agent de protection est installé sur le poste de l'utilisateur : si le « login » n'existe pas dans la console, celui-ci est automatiquement intégré dans l'annuaire interne du système de protection, permettant de prendre en compte les postes de travail qui ne sont pas référencés dans un annuaire d'entreprise (LDAP ou Active Directory) ou lorsque l'authentification de l'utilisateur se fait localement sur le poste utilisateur et non pas auprès d'un serveur d'authentification communément appelé « Contrôleur de domaine » dans le monde Microsoft.
On observe que chaque agent de protection 115 applique, par défaut, une politique de sécurité dites « de base » empêchant les vers, chevaux de Troie, spyware ou virus réseau de fonctionner ou de se répliquer. L'agent 115 utilise, pour ce faire, un contrôle de l'intégrité de chaque exécutable, c'est-à- dire que chaque exécutable est associé à un certificat d'intégrité et celui-ci est vérifié à chaque lancement de l'exécutable.
Chaque agent de protection 115 se décompose en plusieurs modules comme le montre la figure 2, ce qui lui permet de contrôler et d'intervenir à plusieurs niveaux sur le système d'exploitation qu'il doit protéger.
Dans un mode de réalisation particulier, ces modules comportent : - un module de contrôle applicatif et antiviral 205, mis en œuvre au niveau applicatif, un module de contrôle de réseau 210, mis en œuvre au niveau Winsock, un module de détection de scan (pour balayage) 215, mis en œuvre au niveau Winsock et sur la troisième couche de la classification par couches OSI (acronyme de « open System interconnexion » pour interconnexion de systèmes ouverts), - un module de contrôle des ressources du système d'exploitation 220, mis en œuvre au niveau applicatif, un module de contrôle d'adresses électroniques URL 225, fonctionnant par filtrage de contenu, mis en œuvre au niveau Winsock, un module de contrôle binaire, flux http (acronyme de « hypertext transfer protocol » pour protocole de transfert hypertexte Internet), ActiveX, Applet (pour appliquette) et script 230, mis en œuvre au niveau Winsock, un module de contrôle de modem et d'imprimante 235, mis en œuvre au niveau applicatif, un module de contrôle de mémoires amovibles 240 (disquettes, disques durs externes, cartes mémoires, clés dites « USB » du nom du port auquel on les connecte, par exemple), mis en œuvre au niveau driver Kernel ou pilote noyau, un module de détection de scan 245, c'est-à-dire de tentative de cartographie du réseau informatique, en particulier furtif, c'est-à-dire ne fournissant pas d'accusé de réception des réponses reçues de la part des postes utilisateurs 115, mis en œuvre au niveau driver Kernel, et sur la deuxième couche de la classification par couches OSI, - un pilote de contrôle de réseau firewall stateful 250, mis en œuvre au niveau driver Kernel et sur les deuxième et troisième couches de la classification par couche OSI, un module de gestion des ressources mises en quarantaine en application de la politique de sécurité 255, un module de pilote de contrôle de réseau virtuel 260 qui met en œuvre les étapes illustrées en figure 9 pour réaliser des réseaux, ou groupes, et sous-réseaux, ou sous- groupes, de confiance et un module de contrôle de touches systèmes 265, qui inhibe certaines touches ou combinaisons de touches ayant une signification pour le système d'exploitation, par exemple Ctrl+Alt+Del/Suppr, la touche « Windows » (fonction connue sous le nom de « hooking de clavier »). On rappelle que la classification OSI comporte sept couches qui concernent, en partant de la couche 1 et dans l'ordre, les éléments physiques, les liaisons, le réseau, le transport, les sessions, la présentation et les applications.
On décrit, ci-dessous, en regard de la figure 3, les contrôles opérés à chaque niveau ou sur chaque couche OSI, dans un mode de réalisation particulier de la présente invention. Dans cette figure 3, on observe le serveur de configuration 105, qui a fourni, sur un canal sécurisé ou en transfert https
(acronyme de « hypertext transfer protocol secure » pour protocole sécurisé de transfert hypertexte), les paramètres de la politique de sécurité (c'est-à-dire une information représentative des autorisations et/ou des interdictions et le mode de fonctionnement de l'agent) à un exécutable 305 « agentexe » faisant partie de l'agent de protection 115 installé sur une machine, ou poste utilisateur 120. Un programme communicant, par exemple Outlook (marque déposée) dont l'utilisation est autorisé ou interdite en application de la politique de sécurité, tente de communiquer avec un serveur externe (non représenté). Il interroge l'exécutable 305 pour déterminer s'il est autorisé à fonctionner.
Par un fonctionnement sur la couche OSI de niveau 7, l'exécutable détermine, en fonction des paramètres de la politique de sécurité, si le programme 330 est autorisé à fonctionner. Si non, son fonctionnement est inhibé, par une action sur la septième couche OSI, et, préférentiellement, un message avertit l'utilisateur de cette inhibition. Si oui, comme on l'admet ici pour la suite de la description, l'exécutable 305 affecte un port de communication externe au programme 330, en fonction des droits d'accès réseau de l'utilisateur, définis par la politique de sécurité, c'est-à-dire, en particulier, si cet utilisateur a le droit de communiquer sur le réseau et intervient sur les troisième et quatrième couche OSI, couches de fonctionnement du protocole TCP/IP.
L'exécutable 305 génère alors une règle cryptée pour l'utilisation de la deuxième couche OSI et éventuellement, pour les troisièmes et quatrième couches OSI, et une règle cryptée pour la quatrième couche OSI. Une DLL (acronyme de « dynamic link library » pour librairie à lien dynamique) 310 vérifient le respect de la règle concernant exclusivement la quatrième couche OSI. Un pilote NDIS (acronyme de « network driver interface spécification » pour spécification d'interface de pilote réseau) stateful de niveau 2, vérifie le respect de la règle concernant la deuxième couche OSI et, éventuellement les troisième et quatrième couche OSI.
Ainsi, les règles de sécurité s'appliquent au dessus et en dessous de la troisième couche OSI, qui correspond à la couche TCP/IP, particulièrement vulnérable. On rappelle que « stateful » signifie la capacité de garder en mémoire, dans une table d'états, les connexions en cours. Cette capacité permet de savoir que tel client (identifié par une adresse IP cliente) vers tel serveur (identifié par une adresse IP serveur) est en train de faire telle chose (connexion du port source « x » au port destination « y »).
L'agent 115 comporte l'exécutable 305 (couche 7), la dll 310 (couches 3 et 4) et le pilote NDIS 340 (couches 2 à 4). Préférentiellement, chaque poste utilisateur est doté de deux agents 115 qui s'autocontrôlent et se régénèrent mutuellement en cas d'altération, celle-ci étant détectée, comme indiqué ci-dessus en ce qui concerne les autres exécutables ou applications, par la mise en œuvre et la vérification de certificats d'intégrité (par exemple sous forme de condensâts ou hash du contenu ou fichier à certifier).
La communication entre l'exécutable 305, d'une part, et le pilote NDIS 340, la dll 310 et l'application réseau 335, d'autre part, s'effectue par l'intermédiaire de mailslots 315 et 320. On rappelle aussi qu'un mailslot est, en quelque sorte, une boîte au lettres dont seul le destinataire des messages a la clé. La communication par l'intermédiaire d'un mailslot ne s'effectue donc que dans un seul sens et de manière asynchrone.
Dans la règle générée par l'exécutable 305, la communication n'est autorisée que pour une seule adresse MAC (acronyme de « média access control » pour contrôle d'accès aux médias) distante et/ou locale (il y a une adresse MAC par carte réseau). Le pilote NDIS 340, agissant sur la deuxième couche OSI, décrypte la règle et applique cette règle de sécurité aux couches 2 et 3 et, préférentiellement, 4. De même, le retour de données est filtré en fonction des adresses MAC.
Dans la description, on désigne par « niveau applicatif », tous les contrôles basés sur l'API (acronyme de « advanced program interface » pour interface de programmes avancée) Windows et sur la base de registre des différents systèmes d'exploitation sur lequel l'agent est installé. Ce niveau de contrôle est utilisé par le système de protection de l'application implémentant la présente invention pour : contrôler l'exécution des programmes autorisés ou interdits par l'administrateur, - signer les exécutables du poste de travail pour garantir leur intégrité vis-à-vis des vers, virus, chevaux de Troie, Spyware, Backdoor, Malware ...et contrôler les ressources systèmes et empêcher les modifications des paramètres systèmes de la machine par les utilisateurs (par exemple en masquant le panneau de configuration, la commande « exécuter », le gestionnaire de tâches, le voisinage réseau, le nom d'hôte de la machine, la barre de tâche, en interdisant le partage de fichiers, les « démarrages» alternatifs du système d'exploitation, l'utilisation de MS/DOS, marques déposées, ...).
On désigne par « niveau Winsock », tous les contrôles basés sur la couche WinSock
(compression de Windows Sockets) 325 (figure 3) bien connue de l'homme du métier. En installant l'agent de protection 115 sur un poste utilisateur, on installe également, un LSP (acronyme de « layered service provider » pour fournisseur de service stratifiés) appelé "LSP.dll" qui se charge avec la DLL winsock32.dll en charge des processus réseau, cette dernière étant apportée par le système d'exploitation Microsoft. Pour intercepter tous les flux réseau des applications et leur appliquer la politique de sécurité dictée par le logiciel appelé « agentexe » 305 implémentant l'agent de protection, logiciel qui, lui-même, télécharge la politique de sécurité à appliquer depuis le ou les serveurs de configuration, notre LSP utilise un « hook » de l'API winsock32.
La communication entre l'exécutable « Agent.exe» 305 et la DLL "LSP.dll" 310 se fait à travers les "mailslots" 315 et 320, comme illustré en figure 3. Les « mailslots » sont comme des boîtes aux lettres dont seul le propriétaire a la clé. Toutes les personnes connaissant l'adresse de la boîte peuvent y déposer des messages, mais seul le propriétaire peut les lire. Ce niveau de contrôle est utilisé par l'agent de protection 115 pour : - contrôler les liens URLs autorisés ou interdits d'accès pour l'utilisateur, analyser le contenu des pages de la toile, dites « pages Web » par filtrage de contenu (connu sous le nom de « Content Filtering ») et savoir si elles comportent des contenus, par exemples des mots clés, interdits ne correspondant pas à la politique de sécurité de l'entreprise, - contrôler les services réseaux locaux du poste utilisateur accessibles ou interdits depuis le réseau LAN ou interne, par contrôle de port et contrôle d'adresse IP, contrôler les services réseaux distants auxquels l'utilisateur à droit ou n'a pas droit d'accéder,
- détecter les balayages de ports (« scan ») permettant à une personne malveillante d'identifier quels sont les services offerts, et potentiellement vulnérables, par le poste utilisateur ciblé - c'est généralement la première étape de reconnaissance effectuée par une personne malveillante pour s'introduire dans une machine et autoriser ou interdire le téléchargement et l'installation, par l'intermédiaire du logiciel de navigation ou browser Web, de script Java, Active X ou applets potentiellement dangereux. Ce niveau de contrôle est utilisé par l'agent de protection 115 pour contrôler l'accès aux mémoires amovibles et, plus précisément, au moteur de filtrage des IRP (I/O request packet, pour paquet de requête d'entrée - sortie).
On désigne par niveau « Kernel Driver », un « pilote », plus communément appelé « driver », qui fonctionne avec le noyau du système d'exploitation et qui, dans le mode de réalisation détaillé ici, intercepte chaque accès à un disque et l'autorise ou l'interdit, selon la configuration qu'il reçoit de l'exécutable « agent.exe ». Ce mécanisme est effectué par l'intermédiaire des IRP, moyen de communication entre l'application et le pilote (driver). Ce niveau de contrôle est utilisé par l'agent de protection pour contrôler l'usage des périphériques amovibles, par exemple clés « USB », disques externes « USB », cartes mémoires, disquettes, Firewire, A cet effet, l'agent de protection 115 utilise deux méthodes différentes en fonction du système d'exploitation sur lequel le contrôle est effectué.
Architecture interne de moteur de filtrage des IRPs (Driver Filtrage I/O des disques Amovibles), module de protection de données supporté sur les plate-formes Windows NT, 2000, XP, 2003.
L'architecture interne du module de filtrage des IRPs effectués sur les disques amovibles (lecture et/ou écriture depuis et/ou vers le disque dur) est présentée en figure 4 qui précise le positionnement du moteur dans la partie interne du système.
On observe, en figure 4, en dessous d'une ligne interrompue, le mode kernel ou noyau et, au dessus de cette ligne, le mode utilisateur. L'application Win32 405, l'API de contrôle de disque
« BioDiskCtrl » 410, l'API « NT File Request » 420, le « File System Device Object » 440 et le pilote de système de fichiers « File System Driver » 445 sont bien connus de l'homme du métier mettant en œuvre les systèmes d'exploitation Windows XP, 2000 et 2003.
Le pilote des disques amovibles reçoit sa politique de filtrage des accès disque de l'agent 115, à partir d'une interface interne « API-low-level » 425 développée avec des commandes spécifiques (IOCTRL : IRP spécifiques). Les IOCTRL 415 et 425 représentent l'interface unique entre l'agent 115 et le pilote du périphérique. L'application 405, communique avec I1API 420 qui, elle-même, communique avec l'objet 440 qui applique la politique de filtrage envoyée par l'agent 115 à base d' « IOCTRLs » 450 pour contrôler un pilote de contrôle de fichiers 445.
La dll « kernel 32.dll fournit des appels API NT natifs entre l'application 405 et l'API 420. Le pilote BioDisICtrl 430 fournit des ordres de fermeture de communication avec des lecteurs de supports d'information amovibles, par l'intermédiaire de BiolOCtrl.
Les fonctions du service « NT file service » construisent une requête d'entrée/sortie (IRP) et l'initialisent avec toutes les informations pour décrire la requête. Puis, il appelle le gestionnaire d'entrées/sorties (« I/O Manager ») pour envoyer I1IRP au système de fichier (« file System ») du lecteur de supports amovibles.
Les requêtes IRP sont transférées au pilote BioDiskCtrl par l'intermédiaire de l'objet
« BioDiskCtrl device object » 435. Le pilote décide de passer, ou non, la requête au système de fichier
(« file System ») associé en réponse à la consigne envoyée par l'API de niveau utilisateur. La requête
IRP est transférée au pilote de système de fichier (« file System driver ») par l'intermédiaire de l'objet « file System device object » quand le pilote 430 « BioDiskCtrl » le permet.
La figure 6 représente l'architecture interne de moteur de filtrage des IRPs (Driver Filtre d' I/O des disques Amovibles), module de protection de données supporté sur les plate-formes Windows 95, 98 et ME.
L'application window 505, Les appels systèmes L/E 510, le gestionnaire d'IFS (« IFS manager ») 515, les pilotes de système de fichier (« file System drives ») 525 et les moyens de stockage des données 530 sont bien connus de l'homme du métier mettant en œuvre Windows 95, 98 ou Me. Le moteur de protection des données pour l'environnement Win 9X est basé sur une couche interne « BioDiskCtrl » 520 qui s'interpose entre les éléments 515 et 525 et qui intercepte des requêtes et opérations d'entrées/sorties effectuées par les mémoires amovibles. La communication entre l'agent 115 et la couche « BioDiskCtrl » s'effectue de la même manière qu'exposé en regard de la figure 4, par l'intermédiaire des lOCtrl.
On donne ci-dessous, une explication détaillée des différents modules mis en oeuvre par les agents 115, configurés par les serveurs de configuration selon la stratégie de sécurité définie sur la console d'administration. Le module de contrôle Web 225 ou agent de contrôle des adresses électroniques URL : pour configurer le contrôle de l'utilisation de la toile (en anglais « web »), des serveurs Intranet ou Extranet, l'agent de protection 115 met en œuvre un système de liste blanche et/ou de liste noire / autoriser tout / bloquer tout, détaillé plus haut. Chacune des listes blanches / listes noires mises en œuvre peut être constituée par différents mécanismes et complétés, ou pas, par l'utilisation d'un système de mots clés définis par l'administrateur : (exemple la saisie du mot « sexe », interdira l'affichage de pages web comportant le mot sexe).
La saisie manuelle d'un lien ou adresse électronique URL présent dans l'une de ces deux listes est contrôlée pour autoriser, ou non, l'accès à la ressource identifiée par ce lien. Ces listes peuvent également être complétées par l'analyse comportementale de l'utilisation des sites de la toile effectuée par chacun des utilisateurs et remontés par les agents 115 déployés sur les postes des utilisateurs. Un des problèmes auxquels répond la présente invention, est celui de la difficulté de connaître l'utilisation de la toile par les membres d'une communauté qui, par attribution de fonctions dans l'organisation, n'ont pas les mêmes besoins mais risquent aussi d'abuser des moyens mis à leur disposition par l'organisation. L'agent de protection 115 présent sur un poste utilisateur capture chaque utilisation de la toile faite par chacun des utilisateurs, y compris : le nom ou un identifiant de l'utilisateur, le nom ou un identifiant (adresse sur le réseau) du poste utilisateur, les adresses électroniques URL visités, les horaires de début et de fin de visite, y compris date, heure, minute et seconde, pour chaque adresse électronique, l'adresse de provenance et l'adresse de destination, y compris lorsque l'accès à une adresse électronique a été refusé.
Ces données sont transmises à la console d'administration 100 et présentées sur la console d'administration 100 de manière agrégée, par personne, par poste utilisateur, par groupe de personnes (par exemple par niveau hiérarchique) ou de postes (par exemple par service). Le nombre de connexions (ou de tentatives de connexion) est indiqué en regard de chaque adresse électronique URL afin que l'administrateur puisse rechercher les adresses qui l'intéressent en fonction de ce nombre.
A partir de ces données, l'administrateur du système de protection peut définir une liste noire sur la console d'administration 100. Comme indiqué plus haut, cette liste noire peut être commune à l'ensemble des personnes de l'entreprise ou des postes utilisateur ou ne concerner qu'un sous- ensemble de cet ensemble. Par exemple, le service comptable peut avoir le droit d'accéder à des adresses électroniques ou services réseaux (exemple : FTP, Mail etc.) qui sont interdites au service recherche et développement et réciproquement.
L'administrateur du système de protection peut aussi interdire certains types de fonctionnement du navigateur. Par exemple, il peut interdire, pour une personne, pour un poste utilisateur ou pour un groupe de personnes ou de postes, que les appliquettes (en anglais « applet ») Java (marque déposée) fonctionnent ou que des fenêtres surgissantes (en anglais « Popup Window ») apparaissent, que des
« poison applets », des scripts malveillants ou des ActiveX soient téléchargées, soient autorisées à se lancer, ou non, que des fichiers photos ou vidéo intégrés à des pages accessibles sur le réseau soient téléchargés ou lus.
De plus, si l'entreprise a souscris à des services de fourniture de listes noires, ces listes sont proposées à l'administrateur du système de protection, ledit administrateur pouvant les appliquer et pouvant autoriser leur mise à jour automatique.
En variante, les listes noires et/ou listes blanches sont transmises par le système à un serveur de mutualisation de connaissance (non représenté) et chaque entreprise peut recevoir les résultats du traitement de ces listes noires, sous forme de recommandations communes à différentes entreprises d'un même secteur d'activités ou à toutes les entreprises. Cette mutualisation de ressources autorisées ou interdites permet de lutter efficacement contre une technique de fraude appelée « Phishing » qui consiste à envoyer à un grand nombre de destinataires, en se faisant passer pour un tiers, une demande de connexion et de mise à jour d'informations, sous un prétexte plausible pour certains des destinataires, par exemple pour réparer une perte de données bancaires ou d'abonnement. Le module de contrôle réseau 210 : ce firewall applicatif autorise, ou non, les applications à accéder à une ressource réseau, en entrée ou en sortie. Ce module capture, en plus des liens URL visités sur le web ou sur les réseaux Intranet et Extranet, comme mentionné dans les paragraphes ci- dessus, toutes les applications du réseau qui effectuent des connexions réseau. Le module de contrôle réseau 210 transmet ces informations de traçabilité, dites « logs d'accès », à la console d'administration 100 où ces données, agrégées ou non, sont consultables par l'administrateur et lui permettent ainsi de décider d'autoriser, ou pas, l'utilisation de ces applications. La remontée des logs d'accès peut se faire au niveau d'un groupe, c'est-à-dire agrégées pour les membres d'un groupe d'utilisateurs, ou d'un utilisateur. Une fois l'agent 115 configuré en ce qui concerne ce type d'autorisation, en sortie, l'agent 115 autorise, ou non, les accès externes demandés par une personne. En entrée, l'agent 115 autorise, ou non, par filtrage des adresses IP (voir plus loin), un poste tiers ou un exécutable à accéder à une ressource disponible sur le poste utilisateur où l'agent 115 est installé.
Le module de contrôle d'exécution 205. Comme mentionné préalablement, chaque agent 115 déployé sur un poste de travail commence par signer numériquement l'ensemble des programmes exécutables disponibles sur ce poste utilisateur. Cet ensemble devient, par principe, le socle de base applicatif du poste de travail. Si un nouveau programme est installé sur le poste de l'utilisateur, plusieurs mécanismes sont disponibles pour l'administrateur. Le mécanisme de signature numérique permet : - soit de signer automatiquement un nouvel exécutable - typiquement lors de mise à jour système ou application de patch de sécurité, - soit de bloquer l'exécution de ce programme, soit de bloquer l'exécution et de le mettre en quarantaine, le temps que l'administrateur signe ou rejette ce nouveau programme, permettant ainsi de bloquer tout exécutable suspect.
En variante, on archive, pour chaque exécutable, sa version antérieure afin de pouvoir le restaurer.
Le module de contrôle d'exécution 205 de chaque agent 115 capture chaque mise en œuvre de chaque exécutable et fournit, à la console d'administration 100, les données d'horaire, de configuration du poste, des autres exécutables en fonctionnement sur le poste utilisateur de manière simultanée avec l'exécutable considéré et de la personne utilisant le poste.
Toutes ces utilisations d'exécutables peuvent ensuite être examinées par l'administrateur, par poste, par personne, ou par groupe, pour que l'administrateur décide si la mise en œuvre de l'exécutable est autorisée ou non, pour chaque poste, personne ou groupe de postes ou de personnes. Le module de contrôle système 220 concerne l'environnement système du poste, son système d'exploitation et les périphériques contrôlés par le système d'exploitation. Par exemple, pour un individu, un groupe d'utilisateur ou l'ensemble des utilisateurs, l'administrateur peut contrôler les accès à tel ou tel périphérique en autorisant, ou non, l'installation (de modems, d'imprimantes) ou l'enregistrement sur des mémoires amovibles (clés à mémoire dites « clés USB », disquettes, disques externes, disques gravés CDROM, DVD). En variante, ce module 220 effectue la création d'un driver permettant le filtrage des connexions USB & Firewire et l'interdiction de fonctionnement de périphériques USB / Firewire non autorisés. Cette fonction est principalement réalisée par un driver filtre interceptant toutes les requêtes envoyées au driver de périphérique et interdisant le démarrage d'un périphérique non autorisé ou non référencé par l'administrateur en charge de la sécurité du système d'information.
Ce driver de contrôle des périphériques USB ou Firewire permet d'autoriser l'accès à certains périphériques, soit unitairement (à partir du couple VID_PID), soit par classe de périphérique. Par exemple, il interdit d'installer des clés USB WIFI sur l'ensemble des machines du réseau informatique.
Pour ce faire , le processus de connexion est le suivant : - connexion physique du périphérique, par l'utilisateur, énumération du périphérique par la pile USB ou Firewire, par le système d'exploitation, chargement d'un driver associé, par le système d'exploitation, création d'une instance de périphérique par le driver associé, par le système d'exploitation, appel intercepté par le filtre, - récupération des descripteurs du périphérique « Device Descriptor » et « Configuration
Descriptor », par le driver filtre, comparaison des identifiants de périphérique USB avec une liste dans un fichier centralisé et visible avec la console d'administration 100 et envoyée par les serveurs de configuration sur les agents 115, - comparaison des identifiants de classe de périphérique USB / Firewire avec une liste dans un fichier centralisé et visible avec la console d'administration 100 et envoyée par la console aux serveurs de configuration 105 et 110 sur les agents 115, si le périphérique n'est dans aucune liste, le périphérique est rejeté et est marqué comme non démarré dans le gestionnaire de périphérique et une alerte est remontée à la console d'administration 100, si le périphérique est autorisé dans une des listes, la requête est passée au driver de périphérique qui fonctionne alors normalement.
Dans le cas d'un périphérique de stockage (Clé, Disque Dur Externe, ...) USB ou Firewire, l'administrateur garde le contrôle d'écriture par le biais de trois commandes possibles, aux noms explicites : « Autoriser tout », « Importation de donnée interdite » ou « exportation vers le périphérique interdite ».
Le mécanisme de contrôle de périphérique USB / Firewire intervient à chaque insertion de périphérique. A cet effet, ce mécanisme est constituée d'un driver filtre enregistré pour la classe USB ou Firewire en tant que « Lower Filter Driver ». Il est donc appelé par le système d'exploitation avant tout appel de la pile USB ou Firewire, comme illustré en figure 6.
Le driver filtre toutes les IRPs envoyées par le driver de périphérique 605 à la pile USB ou Firewire 620.
Lorsqu'un IRP de type PNP_START_DEVICE est reçu par le filtre celui-ci effectue les actions suivantes, données selon une organisation connue de l'homme du métier : PNP START DEVICE (IRP)
Récupération du Device Descriptor Sauvegarde du couple V1D/P1D
Si CLASS, SUBCLASS, PROTOCOL sont différentes de « 0 » ou « FF » alors sauvegarde
Récupération du Configuration Descriptor
Extraction des champs CLASS, SUBCLASS, PROTOCOL de la première interface trouvée Recherche dans le fichier des autorisations général du couple VID/PID
Si autorisé
Requête accepté et montage du périphérique accepté
Return
Recherche dans le fichier des autorisations général du couple CLASS , SUBCLASS, PROTOCOL de l'Interface Descriptor SI Autorisé
Requête complétée avec succès et montage du périphérique
Return SINON Requête refusée avec Erreur et périphérique désactivé.
Return
Les listes de périphériques autorisés sont cryptées localement et sur les serveurs de configuration par le même algorithme que celui utilisé par le système de sécurisation.
L'interface utilisateur de la gestion des périphériques : en cas d'échec du montage d'un périphérique USB ou Firewire, l'agent 115 sur le poste de travail signale à l'utilisateur que son périphérique USB ou Firewire à été rejeté par la politique sécurité de l'entreprise, le message d'alerte est affiché pendant un laps de temps paramétrable depuis la console d'administration 100.
On observe, en figure 7, des étapes mises en œuvre dans un mode de réalisation particulier du procédé objet de la présente invention, au cours de la création d'une politique de sécurité. Au cours d'une étape 700, on détermine si les utilisateurs sont référencés dans la console d'administration. Si oui, on passe à l'étape 708. Sinon, au cours d'une étape 702, on détermine si l'administrateur crée manuellement, par saisie, les références des utilisateurs. Si oui, on passe à l'étape 708. Sinon, au cours d'une étape 704, on détermine si l'administrateur effectue une importation des utilisateurs à partir d'un annuaire d'utilisateurs. Si oui, on passe à l'étape 708. Sinon, au cours d'une étape 706, on détermine si l'administrateur tire les références des utilisateurs des informations fournies par les agents déployés sur les postes du réseau et on passe à l'étape 708.
Au cours de l'étape 708, on commande une remontée, de la part des agents de protection 115, même non activés, des utilisations de ressources sur le poste utilisateur auquel ils sont associé et, pour les agents activés, des accès refusés à des ressources. Au cours de cette étape 708, on agrège ces données, par poste, par utilisateur, par groupe d'utilisateurs et pour l'ensemble des postes utilisateurs et par module d'agent concerné.
Au cours d'une étape 710, on détermine si une politique de sécurité a été crée et va être éditée par l'administrateur. Si oui, on passe à l'étape 714. Sinon, au cours d'une étape 712, l'administrateur crée une politique de sécurité, c'est-à-dire un fichier qui va identifier la politique et comporter ses paramètres d'application. Lorsque l'administrateur a validé la création de la politique de sécurité, on passe à l'étape 714. Au cours de l'étape 714, on détermine si la politique de sécurité doit être associée à des utilisateurs. Si oui, on passe à l'étape 716 au cours de laquelle, on associe la politique de sécurité à des utilisateurs, soit pour l'ensemble des postes utilisateurs, pour des sous-ensembles de postes utilisateurs, pour des profils d'utilisateurs, pour des postes utilisateurs particuliers, pour des utilisateurs identifiés par leur login (ou nom d'utilisateur) et/ou mots de passe ou par tout autre moyen d'identification (biométrie, carte à mémoire, par exemple) mis en œuvre dans l'entreprise, par exemple par le biais d'un serveur d'authentification.
Si le résultat de l'étape 714 est négatif ou à la suite de l'étape 716, au cours d'une étape 718, l'administrateur effectue un choix de module de protection de l'agent de protection. Si, au cours de l'étape 718, l'administrateur choisit le module contrôle web, on lui affiche les différents modes de contrôle possibles, étape 720. Puis, il sélectionne le mode de contrôle, étape 722, et il paramètre la politique de sécurité web, étape 724, éventuellement sur la base de l'affichage des utilisations de ressources remontées des agents des utilisateurs ou postes utilisateurs concernés puis on passe à l'étape 750. Si, au cours de l'étape 718, l'administrateur choisit le module contrôle exécution, on lui affiche les différents modes de contrôle possibles, étape 726. Puis, il sélectionne le mode de contrôle, étape 728, et il paramètre la politique de contrôle d'exécution, étape 730, éventuellement sur la base de l'affichage des utilisations de ressources remontées des agents des utilisateurs ou postes utilisateurs concernés puis on passe à l'étape 750. Si, au cours de l'étape 718, l'administrateur choisit le module contrôle réseau, on lui affiche les différents modes de contrôle possibles, étape 732. Puis, il sélectionne le mode de contrôle, étape 734, et il paramètre la politique de contrôle réseau, étape 736, éventuellement sur la base de l'affichage des utilisations de ressources remontées des agents des utilisateurs ou postes utilisateurs concernés puis on passe à l'étape 750. Si, au cours de l'étape 718, l'administrateur choisit le module contrôle système, on lui affiche les différents modes de contrôle possibles, étape 738. Puis, il sélectionne le mode de contrôle, étape 740, et il paramètre la politique de contrôle système, étape 742, éventuellement sur la base de l'affichage des utilisations de ressources remontées des agents des utilisateurs ou postes utilisateurs concernés puis on passe à l'étape 750. Si, au cours de l'étape 718, l'administrateur choisit le module de filtrage des adresses IP, on lui affiche les différents modes de contrôle possibles, étape 744. Puis, il sélectionne le mode de contrôle, étape 746, et il paramètre la politique de filtrage des adresses IP, étape 748, éventuellement sur la base de l'affichage des utilisations de ressources remontées des agents des utilisateurs ou postes utilisateurs concernés puis on passe à l'étape 750. Au cours de l'étape 750, on détermine si l'administrateur valide définitivement la politique de sécurité paramétrée au cours des étapes 720 à 748. Si non, on retourne à l'étape 718. Si oui, au cours d'une étape 752, on envoie la politique de sécurité au(x) serveur(s) de configuration et, au cours d'une étape 754, chaque agent se configure pour respecter la politique de sécurité configurée par le(s) serveur(s) de configuration. Ainsi, la mise en œuvre de la présente invention offre de riches fonctionnalités d'administration centralisée, permettant de déployer automatiquement, à partir d'une station ou console d'administration centrale, la configuration de centaines d'agents logiciels 115 installés sur les postes utilisateur 120 du réseau interne de l'entreprise. Ces agents Firewalls distribués offrent une réponse économique et efficace aux déficiences natives des Firewalls classiques. Cette solution offre une protection inviolable, car installée au niveau même des postes 120 du réseau. Elle permet ainsi de parer à toutes les attaques ayant pu traverser les Firewalls classiques ou ayant pu s'en dérober (connexions modems directe depuis un poste...) et bien sûr celles issues de l'intérieur du réseau. Elle ne souffre donc pas des limitations de l'art antérieur énoncées ci-dessus.
A chaque fois qu'un utilisateur d'un poste 120 s'identifie, par exemple par nom d'utilisateur
(« login ») et mot de passe, l'agent de protection 115 dudit poste transmet cette identité au serveur de configuration qui lui retourne la configuration applicable à la fois au poste utilisateur concerné et à l'utilisateur concerné. Ainsi, la configuration de chaque agent de protection peut dépendre de l'identité de l'utilisateur du poste utilisateur.
On observe que le fonctionnement des agents 115 s'effectue en tâche de fond sur les postes utilisateurs et est invisible des utilisateurs, sauf par le biais des interfaces visuelles signalant l'interdiction d'accès à une ressource. De plus, chaque agent de protection 115 possède une protection contre sa désactivation.
La console d'administration centrale 100 met en œuvre une interface graphique, par exemple orientée objet (écrite en Java et construite autour d'une base de données), permettant l'administration aisée de grands réseaux. Cette console d'administration 100 offre des outils puissants de regroupements (groupe d'utilisateurs, groupes de configuration...), d'importation de définitions d'utilisateurs à partir de LDAP et d'inspection automatique des activités des postes.
On observe qu'une solution comportant plusieurs serveurs de configuration 105, 110, permet de pallier les problèmes de pannes de serveurs et offre la possibilité d'une riche distribution des serveurs de téléchargement, permettant de gérer, de manière souple, un grand nombre de sous réseaux (par exemple avec un serveur de configuration par sous réseau), locaux ou distants.
On observe que, dans d'autres modes de réalisation de la présente invention, la console d'administration 100 et le serveur de configuration 105 ou 110 peuvent être confondus. De plus, lorsque la présente invention est mise en œuvre sur un poste utilisateur personnel, en dehors d'un réseau local, la console d'administration et le poste utilisateur peuvent être confondus, le serveur de configuration pouvant resté distant ou bien, la console d'administration et le serveur de configuration pouvant se trouver intégrés dans les systèmes informatiques du fournisseur d'accès à Internet et être gérés par lui à la demande des utilisateurs.
Le module de filtrage par service et adresse IP offre une politique d'accès efficace au réseau interne, en permettant de définir, pour chaque utilisateur, la liste des adresses IP et des services réseau non autorisés.
On spécifie la liste exhaustive des adresses (serveurs, routeurs, ..) auxquels un utilisateur n'est pas autorisé à accéder, ainsi que les services interdits (ports TCP/UDP à bloquer : mail, ftp, ...).
Un tel filtrage permet de limiter les accès indésirables et de bien contrôler les flux internes de communication. L'implémentation de la présente invention offre aussi un moyen original permettant de masquer l'identité d'un poste. Ainsi il permet d'éviter son repérage par les hackers. Afin d'éviter l'invalidation du contrôle des agents 115 par des utilisateurs (avertis), toutes les mesures sont offertes pour interdire qu'un utilisateur puisse l'arrêter ou annuler son lancement lors du redémarrage du poste (accès à la touche F8), dans les systèmes Windows 9X, qui n'offrent aucune protection à ce niveau. De plus, l'agent 115 permet de bloquer l'ajout de nouvelles imprimantes. Ceci afin, par exemple, d'obliger les utilisateurs à imprimer sur une seule imprimante (par exemple l'imprimante réseau) et, de ce fait, de contrôler tout document imprimé. Ainsi, Pour bloquer toute impression, il suffit, sur certains systèmes d'exploitation, de désinstaller les imprimantes existantes avant d'activer cette option. Le logiciel installé sur la console d'administration 100 offre quatre moniteurs centralisés :
- un moniteur d'audit,
- un moniteur des alertes,
- un moniteur des zones de quarantaine et
- un moniteur d'inspection automatique du réseau. Le moniteur d'audit permet de visualiser toutes les activités des utilisateurs sur tous les postes du réseau. Ces activités concernent les applications exécutées, les applications qui ont accédé au réseau, ainsi que les adresses URLs des sites visités. Ce moniteur est doté de mécanismes de tri et de filtrage permettant à l'administrateur un examen facile et ciblé des informations fournies (suivi des activités d'un utilisateur, examen des tentatives refusées...). Le moniteur d'alertes permet d'examiner, depuis la console d'administration, tous les essais d'intrusions réalisées sur les postes du réseau, ainsi que les troyens détectés au sein de ces postes. D'autres fonctionnalités d'alerte temps réel via courriel et minimessages sont offertes. Le moniteur de gestion de zones de quarantaine permet de gérer à distance les mises en quarantaine opérées au niveau de tous les postes du réseau. Il offre un gestionnaire de quarantaine, qui permet d'affiner l'examen à distance des troyens ou virus découverts et isolés par les agents. Il offre à l'administrateur, après examen et décision sur leurs sorts définitifs, la possibilité d'agir à distance soit par suppression des programmes suspects (fichiers contenant un virus ou troyens), ou bien éventuellement par leur restauration, si elle est jugée opportune (serveurs légitimes non déclarés, mise à jour de version ...). Le moniteur d'inspection du réseau permet de réaliser une scrutation automatique du réseau et de le présenter sous forme graphique à l'administrateur, afin de détecter l'existence de stations frauduleuses (sondes..).
L'inspection automatique du réseau peut être activée à tout moment afin d'alimenter instantanément les différents moniteurs d'audit, d'alertes et de quarantaine et offre aussi la possibilité de récolter automatiquement les objets nécessités pour la configuration de la console, à savoir la listes des utilisateurs réseau, les listes d'applications et d'adresses URLs relatives aux activités des utilisateurs sur les postes 120 du réseau, ce qui facilite la définition et la mise à jour des configurations.
De plus, ce balayage peut être effectué simultanément sur plusieurs intervalles disjoints d'adresses IP (sous réseaux).
Pour réaliser la détection automatique des agents 115, puis leur activation, au sein de la console d'administration 100 se trouve un outil graphique (moniteur d'inspection du réseau) accessible depuis un panneau logiciel appelé « Moniteur réseau », sur l'écran de la console. Ce moniteur d'inspection réseau permet de détecter automatiquement tous les postes installés sur le réseau, de les visualiser sous forme graphique, en indiquant ceux où l'agent a été installé et ceux où il ne l'est pas. Afin de permettre l'inspection de plusieurs réseaux, on peut spécifier la liste de plusieurs plages d'adresses réseau à scanner. Pour lancer manuellement un scan, il suffit d'appuyer sur un bouton "Rafraîchir" de l'interface graphique de la console. Ce moniteur permet aussi de spécifier :
- la durée (« time-out ») tolérée lors du scan d'un poste et
- la périodicité d'auto inspection du réseau, permettant une inspection en temps réel des postes connectés et la détection d'éventuelles sondes.
Une fois les agents 115 détectés par auto-inspection, il suffit de les activer pour déclencher leur supervision de l'hôte ou poste utilisateur 120 sur lequel ils ont été installés. Un agent 115 non activé est neutre et n'effectue aucun contrôle. Le moniteur d'inspection réseau permet de repérer automatiquement et de visualiser graphiquement : - les postes 120 sur lesquels l'agent 115 n'est pas encore installé (repérés par une croix),
- les agents 115 activés, à droite et
- les agents 115 qui ne sont activés (point d'exclamation sur l'icône du poste), à gauche.
Pour activer un ou plusieurs agents de protection 115, on peut ouvrir un logiciel « gestionnaire d'activation », en appuyant sur le bouton "activation des agents" depuis le moniteur réseau et, dans la liste des agents 115 détectés, il suffit de déplacer l'agent 115 vers la partie droite par le biais du bouton de déplacement (»). Puis « OK »
L'importation depuis des serveurs LDAP existants est possible et le logiciel de la console d'administration 100 permet de vérifier les doubles définitions d'utilisateurs. Dans de tels cas, la console d'administration 100 le notifie et demande dans quel groupe unique inclure l'utilisateur. Pour déclarer des types de serveurs locaux autorisés dans le LAN, un service étant défini par le port de service utilisé (bouton "Base de serveurs"), lorsqu'un service est autorisé dans la configuration d'un utilisateur, toute tentative de connexion distante à ce port ne sera pas considérée comme un essai d'intrusion et sera permise (définition des listes de serveurs locaux légitimes, par exemple DNS (acronyme de « domain name System » ou système de nommage de domaine), dhcp, http, ftp, Idap, proxy...).Par exemple, pour déclarer un serveur web mettant en œuvre le protocole hhtp, le service suivant peut être déclaré : Port = 80, protocole = TCP, Nom≈ http.
L'administrateur peut ajouter un service, caractérisé par le port, le protocole ainsi le(s) nom(s) de ce service, supprimer un service et modifier un service.
Le système de protection mettant en œuvre le procédé objet de la présente invention possède une technologie générique permettant de détecter tout type de troyen. Quand un agent détecte une attaque sur un port non légitime, cette base (onglet "base de troyens") est consultée pour informer l'administrateur sur les identités des troyens connus qui utilisent ce port. Cette base, initialement remplie par la liste de tous les troyens connus, peut être enrichie à volonté par l'administrateur.
L'administrateur peut ajouter une nouvelle définition de troyen, caractérisé par le port, le protocole et le(s) nom(s) de ce troyen ; supprimer un troyen ; modifier la définition d'un troyen. Par exemple: pour déclarer le fameux troyen bo2k, le service suivant peut être déclarer : Port = 12345, protocole = TCP, Nom= bo2k.
Par ailleurs, l'administrateur peut fixer la taille limite des Logs, ou traces, afin d'éviter la saturation de l'espace disque. Il est ainsi possible de spécifier, au niveau du panneau "administration", le nombre maximal de lignes de Log par utilisateur et par type log. Cette taille maximale atteinte, chaque nouvelle ligne de log remplacera la ligne la plus ancienne.
Par exemple, « 1000 » veut dire jusqu'à 1000 lignes de log applicatif, 1000 lignes de log URL, 1000 lignes d'alertes de troyens ... et cela pour chaque utilisateur.
Pour configurer le système de protection, il est conseillé de procéder comme suit.
Préparer, en premier, les objets nécessaires pour la définition de ces configurations : listes des utilisateurs, définition des groupes et construction des listes noires/blanches des applications et des
URLs. Tous ces objets peuvent être construits de manière quasi-automatisée via les fonctionnalités de récolte automatique des activités réseau. Pour cela et après activation des agents, il est conseillé de laisser aux agents BLR le temps nécessaire (un à quelques jours) pour construire automatiquement toutes les listes des utilisateurs détectés sur le réseau, ainsi que les listes d'applications et d'URLs relatives à leurs activités et les construire classées par utilisateur.
Une fois l'étape préparatoire finalisée, on peut définir/mettre à jour des groupes et des politiques pour des utilisateurs, avec l'interface graphique du système de protection, sur la console.
Pour faciliter la configuration d'un grand nombre de stations ou postes utilisateurs 115, on peut définir des modèles de configuration (« configuration template »), à partir desquelles seront définies celle des utilisateurs, grâce à une notion d'héritage offerte par le système de protection. Lors de la définition de la configuration d'un utilisateur (ou groupe d'utilisateurs), on peut démarrer avec ce modèle existant.
L'implémentation de la présente invention permet de définir une configuration par défaut concernant les utilisateurs « invités » (Guest). Cette dernière sert de configuration pour tout utilisateur non défini au sein de la base des utilisateurs ou auquel n'a pas été assignée une configuration spécifique. Cette configuration contient généralement le minimum possible de droits et de permissions.
Tous les éléments des agents de contrôle 115 (applicatif, réseau et URLs) adoptent un même simple principe de configuration par niveaux. Quatre niveaux de configuration sont proposés :
- niveau de contrôle « Fort » (Liste Blanche) : seules les applications (ou URLs) contenues dans la liste blanche de ce module seront autorisées, toutes les autres seront refusées (contrôle rigoureux et fort ne permettant qu'un ensemble prédéfini d'applications, ou URLs).
- niveau de contrôle « Moyen » (Liste noire) : seules les applications (ou URLs) contenues dans la liste noire de ce module seront bloquées, toutes les autres seront autorisées ;
- désactivation du contrôle (Mode « Autoriser tout ») : désactive complètement un module de contrôle et
- mode « Bloquer Tout » : l'accès est bloqué complètement pour toutes les applications qui vont être lancées (ou URLs).
Les paramètres de configuration suivants sont aussi proposés :
Masquer l'identification des postes 115 : cette fonction permet de modifier l'identification (Netbios) du poste, en générant un nom aléatoire pour l'ordinateur à chaque démarrage, afin de rendre difficile le repérage d'un poste sur le réseau. Alliée à une gestion dynamique des adresses (Dhcp), cela rend le repérage d'un poste quasi-impossible.
A cet effet, le procédé objet de la présente invention met en œuvre une étape de modification automatique de nom de poste utilisateur d'un réseau informatique et/ou d'adresse de poste utilisateur d'un réseau informatique, la mise en correspondance du nom ou de l'adresse modifié avec le nom et/ou l'adresse réelle du poste utilisateur n'étant connue que d'un poste administrateur relié audit réseau, par exemple la console 100 ou le serveur 105 ou 110.
Bloquer l'accès au réseau lorsque le poste 115 est inactif : lorsque la machine est inactive
(écran de veille) il est probable que des troyens se lancent automatiquement pour accéder au réseau.
L'implémentation de la présente invention permet de bloquer les nouveaux accès réseau lorsque la machine 115 est inactive. De plus il ne bloque pas les machines ayant déjà accédé au réseau lors de l'activité de l'utilisateur (lancement d'un FTP, ...), sauf si contrairement spécifié.
Concernant la protection contre la réplication de virus non connus : le procédé objet de la présente invention offre un mécanisme générique, qui consolide les anti-virus classiques, en permettant de se protéger contre la réplication de codes malicieux (virus, Worms...), spécialement ceux non répertoriés et donc indétectables par les anti-virus classiques (absence de mise à jour de l'anti-virus ou tout nouveau virus). Il permet ainsi de détecter la moindre modification des exécutables répertoriée dans sa base d'exécution et de les détruire et de les mettre en quarantaine. L'implémentation de la présente invention permet aussi de désactiver ce contrôle temporairement (mise à jour de versions ... ). Le moniteur de quarantaine 255 gère la zone de quarantaine, qui contient la liste des applications mise en quarantaine (isolées) par les agents de protection 115 suite à une détection de virus ou de troyens. Ce moniteur 255 regroupe les applications mises en quarantaine par poste et les affiche dans un tableau supportant le tri et le filtrage. Chaque ligne du tableau représente une application isolée et l'utilisateur lors de la session duquel a été réalisée la détection. La collecte de la liste des applications mises en quarantaine est effectuée sous demande de l'administrateur, comme suit : - appuyer sur le bouton "RAFRAICHIR TOUT" du moniteur de quarantaine, une boite de dialogue pour le choix des agents apparaîtra. - Sélectionner les postes à inspecter ou appuyer sur "CHOISIR TOUT" pour inclure tous les postes du réseau. - appuyer sur "Items" et cocher la case « quarantaine ». - Activer la collecte (rafraîchissement), en actionnant le bouton "RAFRAICHIR".
L'administrateur dispose de trois actions possibles sur les applications mises en quarantaine, ces actions étant commandables à distance sur toute application mise en quarantaine par les agents de protection 115. Via un clic droit de la souris sur la ligne du programme mis en quarantaine, un menu contextuel s'affiche, donnant le choix entre : - restaurer : il s'agit de restaurer l'application de la zone de quarantaine vers son emplacement original. Ce cas concerne un mauvais paramétrage de l'implémentation de la présente invention :
Non-déclaration d'un serveur local, dont le comportement de base a été suspecté par l'agent comme celui d'un troyen ou mise à jour de versions d'exécutables, sans avoir configuré l'agent pour permettre la mise à jour des signatures.
- détruire : il s'agit de détruire complètement l'application du disque de la station où a été réalisée la mise en quarantaine.
- détruire répertoire : il s'agit de détruire complètement l'application ainsi que le répertoire dans lequel cette application a été illicitement installée, afin de barrer la route aux éventuels autres sous- programmes infectés. Cette option est à manipuler avec prudence, afin de ne pas détruire des répertoires légitimes.
Grâce aux boutons contextuels, l'administrateur peut : rafraîchir la liste des mises en quarantaine à partir des agents, effacer le contenu du moniteur de quarantaine et imprimer le contenu de la zone. Le « Moniteur réseau » de la console d'administration 100 permet de balayer les réseaux et de les dessiner graphiquement, pour découvrir facilement les stations illicites (sondes, portables...).
L'administrateur peut spécifier plusieurs plages d'adresses réseau à inspecter. Il lui suffit, à cet effet, de déclarer ces plages au niveau du module « moniteur réseau », sous le bouton « Liste des plages». Une plage d'adresses est définie par les adresses de début et de fin de la plage et on peut en déclarer plusieurs, dans le cas où on veut scanner plusieurs réseaux ou des parcelles de réseau. Initialement, on ajoute automatiquement la plage du réseau où la console est installée. On peut déclarer d'autres plages, en procédant comme suit :
- ajout d'une plage : le bouton « ajouter » permet d'ajouter une nouvelle plage d'adresse. En appuyant sur ce bouton, la fenêtre suivante permet de saisir l'adresse de début et fin de l'inspection réseau ;
- modification d'une plage existante : le bouton « modifier » permet de modifier une plage d'adresse existante. En appuyant sur ce bouton la fenêtre précédente s'ouvre en permettant de modifier les adresses de début et de fin et
- suppression d'une plage : si on veut exclure une plage existante de l'opération d'inspection, on peut tout simplement la supprimer via le bouton « supprimer ».
Une fois déclarées vos plages d'adresses, on peut lancer manuellement une auto inspection en appuyant sur le bouton « rafraîchir ». Une barre de progression apparaît et indique l'avancement de l'opération qui se termine en affichant tous les postes détectés et en indiquant la présence ou non de la protection par les agents de protection. Le bouton « annuler » permet d'interrompre l'inspection en cours, avant sa fin.
Si le réseau est composé de plusieurs plages d'adresses, l'administrateur peut restreindre l'inspection à une seule plage réseau, en sélectionnant uniquement la plage voulue et en lançant l'auto inspection. On rappelle que le nœud racine « toutes les plages » permet de lancer une inspection pour toutes les plages. Le graphe permet de visualiser les postes détectés dans la plage d'adresses sélectionnée. Dans ce graphe, chaque noeud est représenté par une Icône de poste. On distingue trois types d'icônes :
- icône de poste barré: il s'agit d'une station sur laquelle l'agent de protection n'est pas installé et ainsi il pourra s'agir d'un poste espion (sonde, portable ..), comme il peut s'agir d'un périphérique réseau ou d'un poste 120 bootant, c'est-à-dire démarrant, sur un système autre que Windows. - icône normale : il 's'agit d'un poste protégé par un agent de protection activé.
- icône poste avec point d'exclamation: il s'agit d'un poste contenant un agent non encore activé. Le « moniteur réseau » de la console permei de visualiser l'état des connections et les ports ouverts sur les postes du réseau. Il suffit de sélectionner l'icône du poste désiré et de cliquer (bouton droit) pour voir apparaître un sous-menu, permettant la sélection du choix « Ports ouverts ». Le résultat s'affiche dans une sous-fenêtre indépendante, selon le format standard de la commande réseau Netstat.
Pour que les différentes informations fournies par la console d'administration 100 soient exploitées et examinées avec le maximum d'aisance pour l'administrateur, Pimplémentation de la présente invention offre, au niveau de tous les tableaux, des moniteurs des possibilités de filtrage et de tri, ainsi que des filtrages et des tris imbriqués. On observe que, pour les postes utilisateurs nomades 120, qui se connectent et de déconnecte du réseau d'entreprise, l'agent 115 maintient, en permanence, le respect de la politique de sécurité de l'entreprise. Dès que le poste utilisateur nomade 120 se connecte à Internet, l'agent 115 se connecte au serveur 105 ou 110. Dans des variantes, l'agent 115 tient compte du contexte, c'est-à-dire de l'absence du poste nomade 115 du réseau de l'entreprise, pour modifier son fonctionnement, par exemple en durcissant les règles de sécurité appliquées, par exemple pour interdire la copie de ressources protégées sur des supports d'informations amovibles ou l'accès aux ressources de l'entreprise ou passage d'un fonctionnement en liste noire à un fonctionnement en liste blanche, par exemple.
La figure 8 représente, sous forme d'un logigramme, un mode de réalisation particulier d'un aspect de la présente invention.
Au cours d'une étape 805, on définit des ressources à protéger, par exemple des fichiers, des dossiers ou des répertoires.
Au cours d'une étape 810, on définit les applications qui sont autorisées à interagir avec les données à protéger. Par exemple, pour des ressources à protéger qui sont des données au format texte ou document, on n'autorise qu'un logiciel de traitement de texte à ouvrir et à éditer ces données.
Au cours d'une étape 815, on associe un certificat d'intégrité à chaque exécutable des applications sélectionnées au cours de l'étape 810 et à chaque ressource protégée. Par exemple, un certificat d'intégrité est constitué par le résultat d'une fonction de hachage (« hash » en anglais), éventuellement tronqué, appelé « hash » ou condensât de l'exécutable. Au cours d'une étape 820, on constitue une table de correspondance entre chaque ressource et chaque application ou exécutable autorisé à accéder à ladite ressource, une table de correspondance entre les ressources protégées et leurs certificats d'intégrité et une table de correspondance entre les applications ou exécutables et leurs certificats d'intégrité, étant entendu qu'une ressource, une application ou un exécutable peuvent être associés à plusieurs certificats d'intégrité, en fonction du nombre de composants indépendants qu'ils contiennent ou mettent en oeuvre.
L'ensemble des étapes 805 à 820 peut être effectué par la console 100 et/ou par un agent 115 présent sur le poste utilisateur 120 concerné. En particulier, les étapes 815 et 820 sont préférentiellement, réalisées par un agent 115 présent sur le poste utilisateur 120. Au cours d'une étape 825, on détermine si un accès à une ressource est demandé. Par exemple, un accès à une ressource est demandé lorsque l'on sélectionne, avec un dispositif de pointage, par exemple une souris, une icône ou un nom de ressource associé à une ressource à protéger, pour ouvrir la ressource ou pour agir sur elle (par exemple la copier, la couper, en changer le nom) ou lorsqu'une application tente d'accéder à la ressource, par exemple à ouvrir le fichier. En variante, on attend qu'une action soit demandée sur une ressource, par exemple, une tentative de copie, de coupure (en anglais « eut ») ou une tentative d'ouverture, pour déterminer qu'une demande d'accès est effectuée.
Si le résultat de l'étape 825 est négatif, on retourne à l'étape 825 et le poste utilisateur fonctionne, sous le contrôle de l'agent 115, conformément à la politique de sécurité qui le concerne.
Si le résultat de l'étape 825 est positif, au cours d'une étape 830, on ferme des ports externes du poste utilisateur, en particulier les ports de communication sur un réseau informatique et, préférentiellement, les ports de communication avec des supports d'information amovibles. Préférentiellement, au cours de l'étape 830, on ferme tous les ports externes du poste utilisateur, éventuellement à l'exception du port utilisé par l'agent 115 pour communiquer avec le serveur de sécurité 105 ou 110. Puis, au cours d'une étape 835, on détermine si l'accès à la ressource, par l'entité informatique qui en fait la demande, est autorisé, en mettant en œuvre la table de correspondance associant à la ressource concernée, les applications et exécutables autorisés à y accéder.
Si le résultat de l'étape 835 est négatif, au cours d'une étape 840, on affiche un message sur le poste utilisateur, on met en mémoire une trace de l'incident, dans un « log » destiné à la traçabilité et on effectue, éventuellement, en temps différé, la communication de cet incident au serveur de sécurité 105 ou 110. Puis, on retourne à l'étape 825.
Si le résultat de l'étape 835 est positif, au cours d'une étape 845, on vérifie les certificats d'intégrité de la ressource et de l'entité informatique qui tente d'y accéder. Si la vérification est négative, on effectue l'étape 840. Si le résultat de la vérification est positif, au cours d'une étape 850, on autorise l'accès à la ressource par l'entité informatique qui en a fait la demande.
Puis, au cours d'une étape 855, on détermine si l'utilisation d'un port de communication externe est demandée. Si non, on retourne à l'étape 855. Si oui, au cours d'une étape 860, on sauvegarde toutes les ressources protégées, éventuellement en demandant à l'utilisateur s'il souhaite conserver les modifications de la ressource effectuées depuis la dernière sauvegarde, on ferme chaque ressource protégée et on leur affecte un certificat d'intégrité à chaque ressource protégée. Puis, au cours d'une étape 865, on détermine, conformément à la politique de sécurité, si l'ouverture du port demandé est autorisée et, selon l'autorisation, ou non, on ouvre, ou non, le port considéré. Puis on retourne à l'étape 825. Par la mise en oeuvre du procédé détaillé en regard de la figure 8, on met en place un périmètre de confiance variable ou commutable entre au moins deux états, un premier état dans lequel les ressources protégées sont inaccessibles mais les ports de communication externe peuvent l'être et un deuxième état dans lequel les ressources protégées sont accessibles aux applications et exécutables autorisés mais tous les ports de communication externes sont fermés en cas d'accès à l'une de ces ressources protégées. Pour que l'utilisateur puisse transmettre des données constituant des ressources protégées, on met en place un « sas » servant de mémoire tampon d'entrée ou de sortie (« sandbox ») et on scanne les fichiers dans cette mémoire tampon, c'est-à-dire que l'on les analyse pour déterminer s'ils contiennent des logiciels malveillants, selon des techniques connues.
A cet effet, pour transmettre une ressource protégée, on prévoit une étape de copie ou de transfert d'une ressource protégée dans une zone mémoire tampon, les ports externes du poste utilisateur étant alors fermés et la ressource dans ladite zone mémoire n'étant alors pas protégée et une étape de transmission, à distance, de ladite ressource non protégée, depuis ladite zone tampon, par l'intermédiaire d'un dit port externe.
En cas de réception d'une ressource, par l'intermédiaire d'un port externe, cette ressource est placée dans une zone mémoire tampon d'entrée, et au cas où, pendant une étape de sélection 805, ladite ressource est sélectionnée pour être protégée, l'agent 115 effectue une étape de traitement de ladite ressource pour déterminer si elle contient un logiciel malveillant, les ports externes du poste utilisateur étant alors fermés.
En variante, en cas de demande d'accès à une ressource protégée, on effectue une étape de vérification d'identification d'utilisateur et, au cas où l'utilisateur n'est pas identifié, aucune application ne peut accéder aux ressources protégées.
En variante, à la place des étapes 805 et 810, on prévoit une étape de détermination ou de sélection, pour chaque exécutable ou application présent sur le poste utilisateur, des ressources auxquelles ledit exécutable ou application peut accéder, dites « ressources autorisées » et, au cas où l'exécutable tente d'accéder à une ressource en dehors des ressources autorisées, une étape de blocage de ladite tentative.
La figure 9 illustre, sous forme d'un logigramme, des étapes mises en œuvre pour implémenter un mode de réalisation particulier d'un aspect du procédé de protection de système informatique objet de la présente invention. Ces étapes sont préférentiellement mises en œuvre par la console 100.
Au cours d'une étape 905, on sélectionne au moins un poste utilisateur 120. Au cours d'une étape 910, on commande l'incorporation, par des moyens logiciels, de chaque poste utilisateur 120 sélectionné dans un groupe de postes utilisateurs. Dans ce groupe de postes utilisateurs, les postes utilisateurs possèdent, entre eux, des droits d'accès plus étendus que les droits d'accès attribués à des postes utilisateurs extérieurs audit groupe. Ainsi, il n'est plus nécessaire de modifier des interrupteurs
(en anglais « switch ») matériels pour créer et modifier des groupes de postes constituant un réseau de confiance. Pour effectuer cette incorporation, au cours de l'étape 910, on intervient sur la deuxième couche de la représentation en couches OSI. On agit, ainsi, à un niveau inférieur ou égal à celui d'un pare-feu et inférieur aux couches mises en œuvre par le protocol de contrôle de transmission TCP
(acronyme de « transmission control protocol »), qui sont les couches 3 et 4.
Au cours de l'étape 910, on transmet une adresse de contrôle d'accès au média MAC (acronyme de « média access control ») du poste utilisateur incorporé au groupe à chaque autre poste utilisateur dudit groupe.
A partir de l'étape 910, l'agent 115 situé sur chaque poste utilisateur 120 du groupe de postes utilisateur 120, autorise ou interdit l'accès à, au moins, une partie de ses ressources, en fonction de l'adresse de contrôle d'accès au média MAC transmise par un poste utilisateur qui tente d'accéder à l'une desdites ressources, étape 915, en vérifiant que son adresse MAC correspond à une adresse
MAC transmise au cours de l'étape 910 , étape 920. Ainsi, on isole des ressources disponibles sur le poste utilisateur 120, ces ressources restant accessibles aux membres du groupe de confiance ainsi créé et indisponible pour les postes utilisateurs 120 qui ne sont pas dans ce groupe de confiance.
Au cours d'une étape 925, on effectue une sélection supplémentaire de postes utilisateurs, parmi les postes utilisateurs 120 d'un dit groupe de postes utilisateurs 120. A partir de l'étape 925, on constitue un sous-groupe du groupe de postes utilisateurs, étape 930, et on commande, à chaque agent 115 d'un poste utilisateur sélectionné 120, d'effectuer un tri supplémentaire des tiers tentant d'accéder à au moins une partie de ses ressources en fonction de sa présence dans ledit sous-groupe. Dans un mode de réalisation particulier, l'agent logiciel 115 de chaque poste utilisateur 120 sélectionné au cours de l'étape 925 détermine, sur une couche supérieure à la deuxième couche OSI1 si un poste utilisateur qui tente d'accéder à une ressource y est autorisé, étape 935.
A partir de l'étape 925, l'agent 115 d'un poste utilisateur sélectionné au cours de l'étape 925 autorise l'accès à une partie de ses ressources, par un poste sélectionné au cours de l'étape 925, lesdites ressources n'étant pas accessibles à des postes utilisateurs 120 dudit groupe de postes utilisateurs 120 qui n'ont pas été sélectionnés au cours de l'étape 925. Par itération, on crée une arborescence de groupes de postes utilisateurs dotés de droits d'accès à des ressources d'autres postes utilisateurs situés sur la même branche de l'arborescence, hiérarchiquement étendus, par rapports aux postes utilisateurs se situant sur d'autres branches.
Le responsable d'un système informatique peut ainsi créer un réseau local virtuel hiérarchisé avec les postes utilisateurs. La figure 10 représente, sous forme d'un logigramme, des étapes implémentant un mode de réalisation particulier d'un aspect du procédé de protection de système informatique objet de la présente invention.
Au cours d'une étape 1005, on attribue et on distribue, à partir de la console 100, à chaque agent 115 d'un poste utilisateur 120 sur le réseau de l'entreprise, un certificat contenant une clé privée d'un bi-clés de signature conforme à l'infrastructure à clés publiques PKI (acronyme de « public key infrastructure »).
Au cours d'une étape 1010, on transmet à chaque agent 115 d'un poste utilisateur 120, à partir du serveur de sécurité 105 ou 110, une liste des adresses MAC des postes utilisateurs autorisés à communiquer avec lui ainsi que les clés publiques de ces postes utilisateurs qui correspondent aux clés privées distribuées au cours de l'étape 1005.
Au cours d'une étape 1015, l'agent 115 d'un premier poste utilisateur qui souhaite entrer en communication avec un deuxième poste utilisateur effectue la signature et/ou le chiffrement, avec sa clé privée ou avec la clé publique du deuxième poste utilisateur, respectivement, d'au moins l'adresse MAC du premier poste utilisateur et, éventuellement, de l'adresse MAC du deuxième poste utilisateur. Au cours d'une étape 1020, le premier poste utilisateur envoie une requête d'ouverture de communication au deuxième poste utilisateur en ajoutant, en en-tête (en anglais « header ») du premier paquet de données représentant ladite requête une séquence de symboles représentant le résultat du traitement effectué au cours de l'étape 1015.
Au cours d'une étape 1025, les paquets de données transmis par le premier poste utilisateur sont remis dans le mailslot 320 du deuxième poste utilisateur. Au cours d'une étape 1030, l'exécutable « agentexe » du deuxième poste utilisateur lit uniquement l'en-tête du premier paquet de données transmis par le premier poste utilisateur, en-tête qui contient la séquence de symboles.
Au cours d'une étape 1035, l'exécutable du deuxième poste utilisateur effectue le traitement inverse de celui réalisé au cours de l'étape 1015, pour obtenir, au moins, l'adresse MAC du premier poste utilisateur.
Au cours d'une étape 1040, l'exécutable « agentexe » du deuxième poste utilisateur détermine si l'adresse MAC transmise par le premier poste utilisateur fait partie des adresses MAC de postes utilisateurs autorisés à communiquer avec le deuxième poste utilisateur. Si non, le deuxième poste utilisateur détruit les données reçues du premier poste utilisateur, étape 1045. Si oui, le deuxième poste utilisateur ouvre une communication avec le premier poste utilisateur, c'est-à-dire ouvre un port de communication externe dédié à cette communication, étape 1050. A la suite de l'une des étapes 1045 ou 1050, on retourne à l'étape 1020.
Ainsi, le deuxième poste utilisateur n'ouvre le port de communication que s'il identifie le premier poste utilisateur comme autorisé à communiquer avec lui. De plus, un tiers malveillant qui ne dispose pas de la clé de chiffrement ou de celle de signature ou des données à signer et/ou à chiffrer, ne peut générer une séquence de symboles lui permettant d'obtenir une ouverture de port sur le deuxième poste utilisateur.
On observe que la séquence de symboles transmise au cours de l'étape 1020 peut aussi représenter un simple mot de passe transmis, en amont, par la console 100 à chaque poste utilisateur, ce mot de passe pouvant être différent pour tous les couples de premier et deuxième postes utilisateurs. La séquence de symbole peut aussi ne pas être signée ou ne pas être chiffrée.
On observe que la séquence de symboles peut aussi ne pas se trouver en en-tête d'un paquet de données ou ne pas être dans le premier paquet de données transmises par le premier poste utilisateur.
Préférentiellement, l'étape d'ajout de la séquence de symboles 1020 et l'étape d'autorisation d'ouverture de port 1040 sont effectuées au moins pour les requêtes, effectuées par le premier poste utilisateur, d'accès à une ressource du deuxième poste utilisateur.
Préférentiellement, les étapes d'ajout de la séquence de symboles 1020 et l'étape d'autorisation d'ouverture de port 1040 sont effectuées à chaque début de communication entre lesdits premier et deuxième postes utilisateurs et, même, par tous les postes utilisateurs du système informatique, pour toutes leurs communications.
Dans des variantes, le port dont le premier poste utilisateur demande l'ouverture est représenté par la séquence de symboles. En variante et préférentiellement, dès que le poste utilisateur se met en veille, l'agent 115 provoque la fermeture de tous les ports de communication externe, à l'exception de celui qui lui est réservé. En cas de tentative de communication sur ce port réservé, l'agent 115 traite, comme exposé en regard de la figure 10, les requêtes de communication entrantes, pour déterminer si une ouverture de port est autorisée pour mettre en place une communication directe ne passant pas par l'agent logiciel 115 ou par la communication sur ledit port par l'intermédiaire dudit agent logiciel.

Claims

REVENDICATIONS
1 - Procédé de protection de données et de système informatique, caractérisé en ce qu'il comporte : une étape d'installation d'au moins un agent logiciel sur au moins un poste utilisateur, - une étape de capture, par ledit agent, d'informations représentatives d'utilisations effectives de ressources sur ledit poste utilisateur, une étape de transmission, à distance, par ledit agent, d'information représentative desdites utilisations effectives de ressources sur ledit poste utilisateur, une étape de sélection, à distance du poste utilisateur, de ressources autorisées et/ou de ressources interdites sur au moins un poste utilisateur (724, 730, 736, 742, 748) et une étape de transmission audit poste utilisateur, d'information représentative desdites ressources autorisées et/ou desdites ressources interdites et sur ledit poste, une étape d'inhibition (754), par ledit agent, d'utilisation de ressources interdites ou non autorisées. 2 - Procédé selon la revendication 1 , caractérisé en ce qu'il comporte, en outre : une étape de traitement, à distance, de dites informations représentatives d'utilisations effectives de ressources provenant d'au moins un dit agent, pour fournir des données d'utilisation agrégées (708), l'étape de sélection mettant en oeuvre lesdites données d'utilisation agrégées (724, 730, 736, 742, 748).
3 - Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il comporte, en outre : une étape de transmission, depuis au moins un poste utilisateur sur lequel un agent logiciel a été installé, vers une console distante dudit poste utilisateur, desdites informations représentatives d'utilisations effectives de ressources sur ledit poste utilisateur et une étape de transmission, depuis ladite console vers un serveur, d'information représentative desdites ressources autorisées et/ou desdites ressources interdites, l'étape de sélection de ressources autorisées et/ou de ressources interdites sur au moins un poste utilisateur (724, 730, 736, 742, 748) étant effectuée sur ladite console. 4 - Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que lesdites ressources comportent l'accès à des sites distants sur un réseau informatique mondial, l'étape d'inhibition comportant une étape de filtrage de l'adresse électronique de chaque page à laquelle le poste utilisateur tente d'accéder, par reconnaissance d'une partie prédéterminée de cette adresse, de filtrage des liens hypertextes présents dans chaque page à laquelle ledit poste utilisateur accède et/ou de filtrage de chaque page à laquelle le poste utilisateur tente d'accéder par reconnaissance d'une séquence de symboles prédéterminés dans une description de ladite page.
5 - Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que lesdites ressources comportent l'accès à des applications informatiques, l'étape d'inhibition comportant une étape de reconnaissance d'applications informatiques à laquelle le poste utilisateur tente d'accéder. 6 - Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que lesdites ressources comportent l'accès à des ressources informatiques par des applications informatiques locales, l'étape d'inhibition comportant une étape de reconnaissance d'une ressource informatique à laquelle une application dudit poste utilisateur tente d'accéder.
7 - Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comporte une étape de détermination de profil d'au moins un poste utilisateur sur lequel est installé un agent logiciel, l'étape de sélection mettant en œuvre ledit profil de telle manière que deux profils de postes identiques soient affectés de mêmes interdictions d'utilisation de ressources.
8 - Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comporte une étape de détermination de profil d'au moins un utilisateur d'un poste utilisateur sur lequel est installé un agent logiciel, l'étape de sélection mettant en œuvre ledit profil de telle manière que deux profils d'utilisateurs identiques soient affectés de mêmes interdictions d'utilisation de ressources, l'étape d'inhibition mettant en œuvre une identification de l'utilisateur du poste utilisateur concerné.
9 - Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que lesdites ressources comportent la modification d'un logiciel exécutable, l'étape d'inhibition comportant une étape de vérification d'intégrité d'exécutable. 10 - Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que lesdites ressources comportent la modification de paramètres systèmes du poste utilisateur, l'étape d'inhibition comportant une étape de reconnaissance de tentative d'accès aux paramètres systèmes dudit poste utilisateur.
11 - Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que lesdites ressources comportent l'utilisation de ressources matérielles de mémorisation sur des supports amovibles ou d'impression de données, l'étape d'inhibition comportant une étape de reconnaissance du matériel destinataire d'une transmission d'information.
12 - Dispositif de protection de données et de système informatique, caractérisé en ce qu'il comporte : au moins un poste utilisateur sur lequel est installé un agent logiciel, ledit agent étant adapté à capturer des informations représentatives d'utilisations effectives de ressources sur ledit poste utilisateur et à inhiber l'utilisation de ressources interdites, un moyen de traitement de dites informations représentatives d'utilisations effectives de ressources provenant d'au moins un dit agent, pour fournir des données d'utilisation agrégées, - un moyen d'affichage desdites données d'utilisation agrégées, un moyen de sélection de ressources interdites sur au moins un poste utilisateur.
PCT/FR2006/001348 2005-06-14 2006-06-14 Procede et dispositif de protection de donnees et de systeme informatique WO2006134269A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/917,583 US20090222907A1 (en) 2005-06-14 2006-06-14 Data and a computer system protecting method and device
EP06764789A EP2176767A1 (fr) 2005-06-14 2006-06-14 Procede et dispositif de protection de donnees et de systeme informatique

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0505986 2005-06-14
FR0505986 2005-06-14

Publications (1)

Publication Number Publication Date
WO2006134269A1 true WO2006134269A1 (fr) 2006-12-21

Family

ID=36065894

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2006/001348 WO2006134269A1 (fr) 2005-06-14 2006-06-14 Procede et dispositif de protection de donnees et de systeme informatique

Country Status (3)

Country Link
US (1) US20090222907A1 (fr)
EP (1) EP2176767A1 (fr)
WO (1) WO2006134269A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721472A (zh) * 2016-02-23 2016-06-29 北京皮尔布莱尼软件有限公司 一种端口安全检查方法、装置和系统
FR3139965A1 (fr) * 2022-09-18 2024-03-22 Isie Dispositif d’analyse de la conformite informatique d’un ensemble de systemes d’information distincts

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739381B2 (en) 1998-03-11 2010-06-15 Commvault Systems, Inc. System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services
GB2409553B (en) 2002-09-16 2007-04-04 Commvault Systems Inc System and method for optimizing storage operations
US8775823B2 (en) 2006-12-29 2014-07-08 Commvault Systems, Inc. System and method for encrypting secondary copies of data
US7756893B2 (en) * 2005-11-09 2010-07-13 Microsoft Corporation Independent computation environment and data protection
US7987512B2 (en) * 2006-05-19 2011-07-26 Microsoft Corporation BIOS based secure execution environment
EP2036247B1 (fr) * 2006-06-19 2013-02-27 Nokia Siemens Networks GmbH & Co. KG Détection automatique d'agents
US20080005560A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Independent Computation Environment and Provisioning of Computing Device Functionality
US9684901B2 (en) * 2006-08-22 2017-06-20 Ebay Inc. Selective presentation of real-time contact options based on user and system parameters
US8655914B2 (en) 2006-10-17 2014-02-18 Commvault Systems, Inc. System and method for storage operation access security
US8752181B2 (en) * 2006-11-09 2014-06-10 Touchnet Information Systems, Inc. System and method for providing identity theft security
US8312075B1 (en) * 2006-11-29 2012-11-13 Mcafee, Inc. System, method and computer program product for reconstructing data received by a computer in a manner that is independent of the computer
US8255466B2 (en) * 2006-12-29 2012-08-28 Aol Inc. Intelligent management of application connectivity
US8127412B2 (en) * 2007-03-30 2012-03-06 Cisco Technology, Inc. Network context triggers for activating virtualized computer applications
US8230484B1 (en) * 2007-05-01 2012-07-24 Emc Corporation Control of resource access privileges via agent authentication
KR101185371B1 (ko) * 2007-09-13 2012-09-25 브로드콤 코포레이션 메쉬 그리드 보호 시스템 및 방법
KR101083445B1 (ko) * 2007-12-06 2011-11-14 브로드콤 코포레이션 임베디드 패키지 보안 템퍼 메쉬
US8307084B1 (en) * 2008-02-14 2012-11-06 Imera Systems, Inc. Method and system for providing lock-down communities comprising a plurality of resources
US20100031365A1 (en) * 2008-07-31 2010-02-04 Balachander Krishnamurthy Method and apparatus for providing network access privacy
US8316020B1 (en) * 2008-12-09 2012-11-20 Amdocs Software Systems Limited System, method, and computer program for creating a group profile based on user profile attributes and a rule
US8713209B2 (en) * 2009-01-13 2014-04-29 Qualcomm Incorporated System, apparatus, and method for fast startup of USB devices
US9218037B2 (en) * 2009-01-31 2015-12-22 Hewlett-Packard Development Company, L.P. Computation of system energy
US8434131B2 (en) 2009-03-20 2013-04-30 Commvault Systems, Inc. Managing connections in a data storage system
US9348977B1 (en) 2009-05-26 2016-05-24 Amazon Technologies, Inc. Detecting malware in content items
US8752142B2 (en) 2009-07-17 2014-06-10 American Express Travel Related Services Company, Inc. Systems, methods, and computer program products for adapting the security measures of a communication network based on feedback
US8418227B2 (en) * 2009-08-21 2013-04-09 Verizon Patent And Licensing, Inc. Keystroke logger for Unix-based systems
US9141513B2 (en) * 2009-10-01 2015-09-22 Kryterion, Inc. Maintaining a secure computing device in a test taking environment
US9280907B2 (en) * 2009-10-01 2016-03-08 Kryterion, Inc. Proctored performance analysis
KR101044274B1 (ko) * 2009-11-03 2011-06-28 주식회사 안철수연구소 악성 사이트 검출 장치, 방법 및 컴퓨터 프로그램이 기록된 기록매체
US9756076B2 (en) 2009-12-17 2017-09-05 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transactions
US8621636B2 (en) * 2009-12-17 2013-12-31 American Express Travel Related Services Company, Inc. Systems, methods, and computer program products for collecting and reporting sensor data in a communication network
US8739284B1 (en) * 2010-01-06 2014-05-27 Symantec Corporation Systems and methods for blocking and removing internet-traversing malware
US8650129B2 (en) 2010-01-20 2014-02-11 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transaction data in transit
US20120135388A1 (en) * 2010-03-14 2012-05-31 Kryterion, Inc. Online Proctoring
US10672286B2 (en) 2010-03-14 2020-06-02 Kryterion, Inc. Cloud based test environment
US9471700B2 (en) 2010-05-18 2016-10-18 Tksn Holdings, Llc System and method for monitoring changes in databases and websites
US8850539B2 (en) 2010-06-22 2014-09-30 American Express Travel Related Services Company, Inc. Adaptive policies and protections for securing financial transaction data at rest
US8924296B2 (en) 2010-06-22 2014-12-30 American Express Travel Related Services Company, Inc. Dynamic pairing system for securing a trusted communication channel
US10360625B2 (en) 2010-06-22 2019-07-23 American Express Travel Related Services Company, Inc. Dynamically adaptive policy management for securing mobile financial transactions
US20120021770A1 (en) 2010-07-21 2012-01-26 Naqvi Shamim A System and method for control and management of resources for consumers of information
US9232046B2 (en) 2010-07-21 2016-01-05 Tksn Holdings, Llc System and method for controlling mobile services using sensor information
US9210528B2 (en) 2010-07-21 2015-12-08 Tksn Holdings, Llc System and method for control and management of resources for consumers of information
US9137163B2 (en) 2010-08-04 2015-09-15 Kryterion, Inc. Optimized data stream upload
US8713130B2 (en) 2010-08-04 2014-04-29 Kryterion, Inc. Peered proctoring
US8856953B2 (en) * 2010-09-01 2014-10-07 Red Hat, Inc. Access policy for package update processes
FR2964812B1 (fr) * 2010-09-09 2013-04-12 Mobilegov France Procede d'authentification pour l'acces a un site web
US20120291103A1 (en) * 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls
US9152791B1 (en) * 2011-05-11 2015-10-06 Trend Micro Inc. Removal of fake anti-virus software
US8239918B1 (en) 2011-10-11 2012-08-07 Google Inc. Application marketplace administrative controls
US9077756B1 (en) * 2012-03-05 2015-07-07 Symantec Corporation Limiting external device access to mobile computing devices according to device type and connection context
JP5684173B2 (ja) * 2012-03-05 2015-03-11 株式会社東芝 情報処理装置及びクライアント管理方法
US9043920B2 (en) * 2012-06-27 2015-05-26 Tenable Network Security, Inc. System and method for identifying exploitable weak points in a network
US9219719B1 (en) * 2012-09-21 2015-12-22 Google Inc. Automatic dynamic vetting of browser extensions and web applications
KR101907529B1 (ko) * 2012-09-25 2018-12-07 삼성전자 주식회사 사용자 디바이스에서 어플리케이션 관리 방법 및 장치
US8776260B2 (en) 2012-09-25 2014-07-08 Broadcom Corporation Mesh grid protection system
US20140281516A1 (en) 2013-03-12 2014-09-18 Commvault Systems, Inc. Automatic file decryption
US20140282032A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Dynamically configuring user experiences with action uniform resource identifiers
US9098722B2 (en) * 2013-03-15 2015-08-04 Prevoty, Inc. Systems and methods for parsing user-generated content to prevent attacks
US9356919B1 (en) * 2013-06-26 2016-05-31 Emc Corporation Automated discovery of knowledge-based authentication components
TW201509151A (zh) * 2013-08-30 2015-03-01 Ibm 具安全防護連結之遠端診斷的方法與電腦程式產品及實施該方法之資訊設備
US9516039B1 (en) 2013-11-12 2016-12-06 EMC IP Holding Company LLC Behavioral detection of suspicious host activities in an enterprise
US9231962B1 (en) 2013-11-12 2016-01-05 Emc Corporation Identifying suspicious user logins in enterprise networks
US9049221B1 (en) 2013-11-12 2015-06-02 Emc Corporation Detecting suspicious web traffic from an enterprise network
US9338187B1 (en) 2013-11-12 2016-05-10 Emc Corporation Modeling user working time using authentication events within an enterprise network
US20160163212A1 (en) * 2013-12-10 2016-06-09 Scott Edward Stuckey Active Learner Multi-media Assessment System
DE102013226171A1 (de) * 2013-12-17 2015-07-02 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Übertragung von Daten
US9485271B1 (en) * 2014-03-11 2016-11-01 Symantec Corporation Systems and methods for anomaly-based detection of compromised IT administration accounts
US10614473B2 (en) 2014-07-11 2020-04-07 Sensoriant, Inc. System and method for mediating representations with respect to user preferences
US10390289B2 (en) 2014-07-11 2019-08-20 Sensoriant, Inc. Systems and methods for mediating representations allowing control of devices located in an environment having broadcasting devices
US10498833B2 (en) * 2014-07-14 2019-12-03 Sonos, Inc. Managing application access of a media playback system
RU2581559C2 (ru) 2014-08-01 2016-04-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ применения политик безопасности к накопителю в сети
US9467456B2 (en) * 2014-08-29 2016-10-11 Dell Software Inc. Single login authentication for users with multiple IPv4/IPv6 addresses
US9405928B2 (en) 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
US9876780B2 (en) 2014-11-21 2018-01-23 Sonos, Inc. Sharing access to a media service
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
WO2017053707A1 (fr) 2015-09-23 2017-03-30 Sensoriant, Inc. Procédé et système pour utiliser des états de dispositif et des préférences d'utilisateur pour créer des environnements conviviaux
US10387636B2 (en) 2015-10-20 2019-08-20 Vivint, Inc. Secure unlock of a device
US10069859B2 (en) * 2015-12-16 2018-09-04 Verizon Digital Media Services Inc. Distributed rate limiting
US10277690B2 (en) * 2016-05-25 2019-04-30 Microsoft Technology Licensing, Llc Configuration-driven sign-up
US10469526B2 (en) * 2016-06-06 2019-11-05 Paypal, Inc. Cyberattack prevention system
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
JP7059726B2 (ja) * 2018-03-19 2022-04-26 株式会社リコー 通信システム、通信制御装置、通信制御方法及び通信制御プログラム
US11394691B2 (en) * 2018-06-05 2022-07-19 Acreto Cloud Corporation Ecosystem per distributed element security through virtual isolation networks
US11184666B2 (en) 2019-04-01 2021-11-23 Sonos, Inc. Access control techniques for media playback systems
KR102367756B1 (ko) * 2020-04-08 2022-02-28 소프트캠프 주식회사 폐쇄형 내부망으로의 입력 소프트웨어 보안시스템과 보안방법
US11736500B2 (en) * 2020-08-12 2023-08-22 Arista Networks, Inc. System and method for device quarantine management
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6300863B1 (en) * 1994-11-15 2001-10-09 Absolute Software Corporation Method and apparatus to monitor and locate an electronic device using a secured intelligent agent via a global network
US5715174A (en) * 1994-11-15 1998-02-03 Absolute Software Corporation Security apparatus and method
US6269392B1 (en) * 1994-11-15 2001-07-31 Christian Cotichini Method and apparatus to monitor and locate an electronic device using a secured intelligent agent
US7092987B2 (en) * 2001-02-13 2006-08-15 Educational Testing Service Remote computer capabilities querying and certification
WO2005059684A2 (fr) * 2003-12-10 2005-06-30 Aventail Corporation Controle d'extremite
US7827590B2 (en) * 2003-12-10 2010-11-02 Aventail Llc Controlling access to a set of resources in a network
AU2005246437B2 (en) * 2004-05-21 2011-10-06 Voice On The Go Inc. Remote access system and method and intelligent agent therefor
US7739724B2 (en) * 2005-06-30 2010-06-15 Intel Corporation Techniques for authenticated posture reporting and associated enforcement of network access
US20070143827A1 (en) * 2005-12-21 2007-06-21 Fiberlink Methods and systems for intelligently controlling access to computing resources

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DEBAR H ET AL: "Towards a taxonomy of intrusion-detection systems", COMPUTER NETWORKS, ELSEVIER SCIENCE PUBLISHERS B.V., AMSTERDAM, NL, vol. 31, no. 8, 23 April 1999 (1999-04-23), pages 805 - 822, XP004304519, ISSN: 1389-1286 *
DU YE ET AL: "Design of a distributed intrusion detection system based on independent agents", INTELLIGENT SENSING AND INFORMATION PROCESSING, 2004. PROCEEDINGS OF INTERNATIONAL CONFERENCE ON CHENNAI, INDIA 4-7 JAN. 2004, PISCATAWAY, NJ, USA,IEEE, 4 January 2004 (2004-01-04), pages 254 - 257, XP010699341, ISBN: 0-7803-8243-9 *
SPAFFORD E H ET AL: "Intrusion detection using autonomous agents", COMPUTER NETWORKS, ELSEVIER SCIENCE PUBLISHERS B.V., AMSTERDAM, NL, vol. 34, no. 4, October 2000 (2000-10-01), pages 547 - 570, XP004304737, ISSN: 1389-1286 *
VERWOERD T ET AL: "Intrusion detection techniques and approaches", COMPUTER COMMUNICATIONS, ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, NL, vol. 25, no. 15, 15 September 2002 (2002-09-15), pages 1356 - 1365, XP004353738, ISSN: 0140-3664 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721472A (zh) * 2016-02-23 2016-06-29 北京皮尔布莱尼软件有限公司 一种端口安全检查方法、装置和系统
FR3139965A1 (fr) * 2022-09-18 2024-03-22 Isie Dispositif d’analyse de la conformite informatique d’un ensemble de systemes d’information distincts

Also Published As

Publication number Publication date
EP2176767A1 (fr) 2010-04-21
US20090222907A1 (en) 2009-09-03

Similar Documents

Publication Publication Date Title
EP2176767A1 (fr) Procede et dispositif de protection de donnees et de systeme informatique
US11604861B2 (en) Systems and methods for providing real time security and access monitoring of a removable media device
US11757835B2 (en) System and method for implementing content and network security inside a chip
US11652829B2 (en) System and method for providing data and device security between external and host devices
US11461466B2 (en) System and method for providing network security to mobile devices
US10904293B2 (en) System and method for providing network and computer firewall protection with dynamic address isolation to a device
EP2132643B1 (fr) Système et procédé permettant d'assurer la sécurité de données et de dispositifs entre des dispositifs externes et des dispositifs hôtes
Fenzi et al. Linux security HOWTO
Kent et al. Guidance for Securing Microsoft Windows XP Home Edition: A NIST Security Configuration Checklist

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006764789

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 11917583

Country of ref document: US