Brevet FR2824404A1 — publié le 20021108

à 50. Domaine de l' invention La présente invention conceme le domaine général du traitement de données dans un processus informatique et plus particulièrement celui de la vérification de l'intégrité de ces donnces par une génération de traces. Art antérieur Classiquement, le bon fonctionnement d'un système infonnatique peut se me surer directement en temp s réel, en observant son comportem ent avec les outils appropriés (selon les cas: contrôle visuel, outil de monitoring, etc.) Mais, il est évident que l'administrateur du système n'est pas toujours posté derrière sa machine et que la masse des informations produite dans un processus informatique peut-être trop volumineuse pour une telle étude " à la volée ". Aussi, on a plutôt recours à un examen a posteriori de bon fonctionnement et on a donc fréquemment besoin de stocker ( au moins temporai rement) les infonnations qui pennettront en suite à cet administrateur d'interpréter la manière dont s'est déroulé le processus infonnatique. En clair, il est indispensable de conserver une trace du déroulement du processus infonnatique, c' est à dire une trace des données produites de manière continue par ce processus informatique. La question de la conservation des traces d'un processus informatique se pose particulièrement dans le cas du dispositif connu sous le nom de " firewall " qui est un système informatique permettant de filtrer les accès entre deux réscaux. Il redirige les flux réseaux en entrée vers les destinations adéquates en autorisant ou en refusant le droit à certaines communications de s'établir. Un tel dispositif a bien entendu besoin de conserver des traces de son activité, afin que l'administrateur puisse intexenir en cas de tentative d'accès non autorisée, de panne d'un élément du réseau ou de tout autre problème (y compris une panne du firewall lui même). Les traces de connexion appelées historiques (Log) constituent les seules infonnations disponibles pour l'administrateur, qui se base sur elles - pour prendre ensuite ses décisions. Cette question se rencontre aussi au niveau des serveurs " Web " qui sont des systèmes infonnatiques pennettant de mettre des infomations à disposition des utilisateurs sur le réseau dit " Intemet " ou sur un réseau de type "Intranet ". Tout comne un firewall, un tel système a besoin de conserver des traces de son activité, afin que l'administrateur puisse surveiller son bon fonctionnement et intervenir si le besoin s'en fait sentir (diagnostic de pamles, paramétrages, etc.). De mème encore, cette question se présente de façon analogue au niveau des analyseurs réseau qui sont des systèmes pennettant d'observer et d'analyser le trafic d'un réseau. Ils pennettent d'analyser la globalité d'un trafic entre de nombreuses macllines, aussi bien qu'un simple paquet de domlées transitant entre deux nacllines particulières. On ne parle plus ici d'llistoriques mais de simples données binaires. Celles-ci doivent néanmoins être stockées afin d'être analysées à l'aide d'un outil infonnatique traduisant ces domlées binaires en infonnations lisible sur un écran. On peut comprendre aisément qu'il est nécessaire de conserver temporairement certaines de ces traces, nais que beaucoup d'entre elles ne nécessitent pas d'être sauvegardées à long tenne. De même, la plupart des traces ne constituent pas des données sensibles ou vitales pour le fonctionnement d'une entreprise. Mais cetaines traces doivent impérativement être consevées à long tenne et dans un état d'intégrité garant i, parfo is même pour des rai sons juridiques, la conservation de ces traces pouvant être imposée par la loi. Or, à ce jour, il n'existe pas de système pennettant de garantir la conservation des traces ainsi que leur integrité. En effet, actuellement la méthode la plus répandue et la plus simple de gestion des traces repose sur une écriture de ces traces sur un support de 0 stockage de type disque dur. Le processus infonnatique (un programme infomlatique) écrit les infonnations qu'il soullaite conserver dans un simple fichier stocké sur le disque dur de l'ordinateur 1lôte (ou éventuellement d'un autre ordinateur). Dans le cas des systèmes infomatiques spécialisés (firewall, routeurs, switcles par exemple), il est aussi fait appel à un disque dur inteme accessible en iecture / écriture pour stocker ces infonnations en général dans un fonnat propriétaire. Certains systèmes d'exploitation possèdent aussi un module appelé " Service de Log " (SYSLOGD sous Unix_ ou Linux_), qui automatise et rend llomogène la gestion des " Logs " au sein d'un ordinateur. Ce service pennet de gérer automatiquement le stockage des traces produites par les programmes qui y font appel. Mallleureusement, toutes ces solutions actuelles sont basées sur le stockage de données sur un élément accessible en lecture / écriture. L'inconvénient majeur de cette arcllitecture est sa grande vulnérabilité. En effet? à partir du moment o les données sont stockées sur un disque dur accessible en lecture / écriture, on peut imaginer qu'une personne mal intentionnée accède illegalement à ce disque pour effacer certaines traces, ou plus simplement, qu'une enreur de manipulation de l'administrateur conduise à 1'effacement partiel ou total de ces traces. Un tel système est donc paticulièrement vulnérable aux enreurs de manipulations et aux attaques de pirates infonnatique. Le second inconvénient est la non confidentialité. En effet, puisqu'il est possible d'accéder en lecture à l'élément de stockage des traces, n'importe quelle personne peut en lire le contenu. Même si le système est bien configuré et protégé par un administrateur compétent, il est tout de même imaginable qu'une personne mal intentionnée accède aux données par un acte de piratage, ou tout simplement qu'une enreur de manipulation de l'administrateur pennette à une tierce personne de lire ces domées. Or, les conséquences d'un accès non autorisé à ces traces peuvent être considérables. De la perte de données au vol ou à l'altération d'infowlations, I'éventail des catastroplles est large. Les conséquences financières peuvent être dramatiques, par exemple dans le cas d'une entreprise qui facture un service en se basant sur la consommation de ressources (par exemple un foumisseur d'accès au réseau Intennet) et qui se trouve dans l'incapacité d'effectuer toute facturation car les traces d'accès ont disparues. Les conséquences juridiques peuvent-être encore pire. Si un acte de malveillance infonnatique est commis depuis le matériel d'une société, sans que celle-ci soit en mesure d'apporter la preuve qu'une tierce personne a utilisé son matériel à son insu (ce que des traces " intactes " montreraient), la société en tant que personne morale peut-être condamnée à de lourdes peines. Objet et description de l'invention La présente invention a pour objet de pallier les inconvénients précités en proposant un système de génération de traces qui pennette d'en garantir la conservation de manière pennanente, confidentielle et incon- uptible. Aucun accès via un réseau infonnatique non sécurisé ne doit être possible pour penmettre une quelconque modification ou destruction des traces, seul un accès physique à la machine intégrant le système de l'invention pemlettant une telle altération ou destruction. Ces buts sont atteints par un dispositif de conservation de traces d'un processus infonnatique comportant des moyens de traitement pour générer des traces à partir d'une analyse de trafic en entrée d'un système infonnatique relié à un réseau de communications exteme, des moyens de traitement pour transmettre et commander l'écriture des traces ainsi générées dans des moyens de stockage, et des moyens pour lire les traces stockées préalablement, caractérisé en ce que lesdits moyens de lecture sont commandés, sans l'intemlédiaire desdits moyens de traitement, à partir de moyens de commande indépendants dudit réseau de communications exteme et extérieurs audit système infonnatique. Avec cette configuration paticulière, I'accès en lecture aux moyens de stockage de traces est impossible depuis le réseau de communication exteme non sécurisé, comme depuis un réseau inteme privé lorsqu'il existe (cas d'un firowall par exemple), et seules les personnes autorisées à utiliser les moyens de commande indépendant de ce ou ces deux réscaux peuvent effectuer une lecture de ces traces. Les moyens de traitement comportent des moyens pour écrire séquentiellement dans lesUits moyens de stockage. Ainsi, en interdisant toute écriture en anrière par cette avance incrémentale, on interdit tout effacement des données stockées. Selon le mode de réalisation envisagé, les moyens de stockage peuvent ou non être déportés dans lesdits moyens de commande qui peuvent être reliés auxdits moyens de stockage au travers d'un réscau privé de communications. Ces moyens de stockage peuvent aussi être déportés dans un réscau intenne de stockage dont ils peuvent constituer une ressource commune. Selon un autre mode de réalisation, les moyens de stockage sont disposés dans un module séparé physiquement du module recevant lesdits moyens de traitement. La présente invention conceme également le procédé inviolable de consevation de traces mis en _uvre dans le dispositif précité. Brève description des dessins Les caractéristiques et avantages de la présente invention ressortiront mieux de la description suivante? faite à titre indicatif et non limitatif, en regard des dessins annexés sur lesquels: - les figures IA et 1B montrent un premier exemple d'un dispositif inviolable de génération de traces selon l'invention, - la figure 2 montre un second exemple d'un dispositif inviolable de génération de traces selon l'invention, - la figure 3 est un organigramme illustrant le fonctiollnement du dispositif de la figure 2, les figures 4A et 4B montrent un premier exemple d'un dispositif de génération de traces de 1'art antérieur, et - la figure 5 montre un second exemple d un dispositif de génératio de traces de l'art antérieur. Description détaillée d'un mode de réalisation préférentiel Les figures 4 et 5 illustrent deux exemples de dispositifs actuels pemlettant une gestion de traces dans un processus infonnatique. Les figures 4A et 4B se rapportellt plus particulièrement à une arcllitecture mettant en s _uvre un serveur (par exemple serveur WEB) et la figure S à une architecture utilisant un firewall de protection d'un réseau privé. Un serveur est. comme 1'illustre la figure 4A, un ensemble infonnatique 10 relié à un réseau de communications 20 (de type analogique, numérique, mobile ou satellitaire ou une combinaison de ces types) au travers duquel il peut communiquer et éventuellement partager des ressources avec d'autres ensembles infonnatiques 30, 32, 34 reliés également au réseau 20. Ce seveur comporte comme tout ensemble infonnatique pouvant se connecter à un réseau, et comme le montre classiquement la figure 4B, une interface de communications, ou interface réseau 12, relice d'une part directement au réseau de communications 20 et d'autre part à une unité centrale de traitement 14 de cet ensemble infonnatique. Une unité de stockage 16 et une interface utilisateur 17 sont bien entendu également prévues respectivement pour le stockage des données utilisées par lensemble infornatique et pour la visualisation et la saisie de ces données. Dans une configuration d'architecture réseau plus élaborée mettant en oeuvre plusieurs serveurs utilisant des ressources communes, I'ensemble infonnatique 10 peut comporter une interface réscau supplémentaire 18 relice à un poste infonnatique d'administration 40 au travers d'un réseau inteme d'administration 50. Dans ce cadre, I'unité de stockage (illustrce en traits pointillés) peut être dépotée et constituer une des ressources communes de ce réseau inteme d'adninistration. La gestion de l'ensemble infonnatique 10 est assurée classiquenent par 1'unité centrale de traitement qui compote dans sa mémoire les modules logiciels d'exploitation et applicatifs nécessaires à cette gestion. Dans le cadre de la conservation de traces relatifs aux données reçues par le serveur, cette unité centrale 14 compote en outre un module logiciel 140 d'analyse du trafic en entrée du serveur pour générer des traces et transmettre ces traces à 1'unité de stockage 16 afin de les préserver. On notera que, dans cette structure conventionnelle, I'unité de stockage peut assurer à la fois le stockage des traces et celui des données nécessaires aux différents logiciels d'exploitation et applicatifs. Il sera ensuite possible ultérieurement d 'accéder à ces traces (et de les visualiser) via l' interface uti lisateur de l'ensemble infonnatique, ou du poste infonnatique d'administration dans le cas d' une architecture avec réseau d' administration. Cet accès en lecture est fait classiquement par l'intennédiaire de l'unité centrale de traitement 14 qui est seule habilitée à donner des ordres de lecture à l'unité de stockage. Un autre exemple d'une architecture mettant en _uvre un procédé de conservation de traces de l'art antérieur est illustré à la figure 5. il s'agit d'un firewall 90 qui est un ensemble matériel et logiciel limitant les accès entre un réseau exteme non sécurisé, tel le réseau de communications 20, et un réseau inteme privé 60 auquel sont connectés un ou plusieurs ensembles infonnatiques 70, 80. Un tel système comporte classiquement une première interface réseau 92 reliée au réseau exteme non sécurisé et une seconde interface réseau 94 reliée au réseau inteme privé. Ces deux interfaces sont des interfaces de communication standard (série, parallèle, Ethemet, ou autre) reliées en outre à une unité de traitement 96. L'unité de traitement a pour rôle essentiel de réglementer le trafic entre les deux réseaux d'après des tables de routage et des règl es définies préalablement en foncti on des besoins de communication entre les deux réseaux et de générer des traces (logs) d' après l 'observation du trafic réseau (au moyen d 'un module logiciel adéquat 960) . Elle peut ainsi filtrer les données traversant le firewall et les transférer ou non vers le réseau privé, sous leur forme initiale ou sous une fonne modifée. Une unité de stockage 98 reliée à 1'unité de traitement pennet de garder les traces de tout ou patie des donnces écllangees et en particulier de toutes donnces " suspectes ". Comme pour le cas du serveur précité, un accès ultérieur à ces logs est bien entendu possible, mais cet accès s'effectue dans le cas d'un firewall depuis le réseau privé 60 via la seconde interface réseau 94 et 1'unité centrale de traitement 96. Comme précédemment, I'unité de stockage 98 est accessible en écriture et en lecture directement depuis l'unité centrale de traitement 96. Cette possibilité d'accès à l'unité de stockage 16, 98 est l'inconvénient essentiel des systèmes de conservation de traces de l'art antérieur mis en _uvre dans les serveurs, firewalls ou tout autre système effectuant une telle conservation de traces. En effet, cela signifie qu'un tiers mal intentionné (un pirate par exemple) pourra nuire à 1'intégrité de ces traces, s'il réussit à pénétrer dans le système et atteindre l'unité centrale (et l'on sait aujourd'llui que très peu de systèmes infonnatiques sont à l'abri dune telle attaque de pirate). On notera, que cette attaque peut aussi bien être perpétrée de l'extérieur que de l'intérieur depuis le réseau inteme d'administration 50 (cas de serveurs en réseau) ou le réscau intene privé 60 (cas d'un firewall). Dans ces deux demiers cas, il peut s'agir d'erreurs de manipulation des utilisateurs du réseau. Selon I' invention, I'opération de lecture des traces est assurée uniquement à distance par un système infonnatique indépendant et isolé du réseau exteme de manière à garantir 1'accès en lecture à 1'unité de stockage seulement à une ou plusieurs personnes autorisées (un administrateur réseau et/ou un responsable sécurité par exemple). Pour cela, et comme le montrent les figures 1A et 2, le système infonnatique effectuant la conservation des traces, serveur 10 ou firewall 90 par exemple, est muni d'une interface supplémentaire 19, 99 spécialement dédice à cet effet et relice à ce système infonnatique indépendant 100 directement (on utilisera alors de préférence une interface standard série ou parallèle par exemple) ou au travers d'un réseau privé de communications (non représentés), I'interface supplémentaire faisant alors rôle d'interface réseau. Dans la variante de réalisation de la figure 1 B. le système infonmatique indépendant peut être constitué par le poste infonmatique d'administration existant 40 relié au travers du réseau inteme dadministration 50 à 1'interface réseau 18, I'interface de communication spécialisée 19 étant alors reliée dans ce cas à un réseau inteme de stockage 110 donnant accès seulement à 1'unité de stockage 16B qui peut constituer une ressource commune pour plusieurs systèmes infonnatiques 10. L'accès en lecture depuis l'unité de traitement n'est plus possible et les traces emmagasinées dans l'unité de stockage ne peuvent être lues que par l'intennédiaire de cette interface spécialisée 19, 99 et par les seules personnes autorisées. La liaison de communication avec ce réseau inteme de stockage 1 10 peut avantageusement être une liaison sécurisée de type chiffrée. Dans le cas d'un serveur infonmatique (figure I A), pour conserver un accès en lecture aux données relatives aux applications autres que la conservation des traces, il est préférable de séparer l'unité de stockage en deux parties I'une 1 6A accessible en lecture/écriture pour la gestion courante du serveur et l'autre 16B spécifique à la conservation des traces et accessible en écriture seulement à partir de l'unité centrale de traitement, S son accès en lecture s'effectuant via l'interface 19. On supposera, dans cette configuration, que le système d'exploitation du serveur disposé dans l'unité centrale de traitement 14 est rendu inaltérable (non reprogrammable) par un venouillage de sa mémoire et des accès logiques à l'unité de stockage 16A et à l'unité centrale de traitement 14. L'unité de stockage 1 6B est de type quelconque, tout suppot pllysique de stockage pouvant être utilisé (disque dur, bande magnétique ou CDR...). Elle est préférentiellement disposée dans le serveur. Toutefois, dans le cas o le système d'exploitation du serveur ne peut être rendu inaltérable, on peut envisager que cette unité de stockage des traces 16B soit déportée directement dans le système d'administration 100 (non représentée) ou encore utilisée comme ressource commune du réseau inteme de stockage 110, comme 1'illustre la figure 1B. Dans ce cas, I'interface 19 est alors reliée directement à l'unité centrale de traitement 14. On notera que cette déportation de l'unité de stockage est aussi envisageable dans le cas du firewall de la figure 2 qui comportera donc un premier module 90A totalement dépourvu de moyens de stockage des traces, I'absence de tout espace d'écriture transfonnant ainsi ce module en automate non programmable, et un second module 90B supportant seul ces moyens de stockage des traces et relié alors au premier au travers d'interfaces standard, par exemple de type série (non représentées). Outre cette limitation dans la lecture des données emmagasinées dans l'unité de stockage, il est prévu, selon l'invention, que l'opération d'écriture dans cette unité de stockage soit effectuée séquentiellement (c'est à dire par incrément d'écriture positif) de façon à interdire toute altération à distance de ces données. Pour cela, I'unité de traitement présente une architecture logique (ou logicielle) du type " Write Once " pemlettant décrire dans l'unité de stockage une seule fois de manière séquentielle (écriture incrémentale positive interdisant tout retour en arrière). Cette architecture spécifique est basée sur une bibliotlleque d'instructions d'écriture séquentielle et incrémentale et un système de fichiers modifié, o les appels qui pennettent dans une configuration de fonctionnement nowlal d'effacer un fichier, d'en créer un nouveau, ou d'écrire à un endroit quelconque d'un fichier sont supprimés du système d'exploitation. Seules les écritures en mode > (séquentielles) sont conservées. On peut utiliser le système de fichier standard de l'unité de stockage. mais en supprimalt les appels décrits précédemment, ou utiliser un nouveau systéme de fichier simplifié qui pennet simplement d'ajouter des données supplémentaires à la suite des données précédentes. I O Le fonctionnement est maintenant illustré en regard de l'organigramme de la figure 3. Dans une première étape 120, les données transitant sur le réseau externe 20 sont tout d'abord reçues au niveau de l'interface réseau 12, 92 qui assure si nécessaire leur conversion en données interprétables par le système infonnatique 10, 90. dans une seconde étape 122, I'unité de traitement 14, 94 analyse ces donnces et génère des traces destinées à être transmise dans une étape suivante 124 à 1'unité de stockage 16, 98 en ordonnant à celle-ci de les écrire. Parallèlement dans une étape 126 les données initiales incllangées sont ré-émises. Sur requête extérieure de l'administrateur indépendant, un ordre de lecture est adressé à l'unité de stockage (test de 1'étape 128) qui va alors transmettre dans une étape tenninale 130 les traces à cet administrateur auteur de la requête. Les accès en lecture à l'unité de stockage ne sont en effet possibles que sur cet ordre de lecture exte1le et uniquement en vue d'un envoi des traces via 1'interface dédiée 19, 99. En aucun cas, le déclencllement de la lecture des traces dans I'unité de stockage n'est possible autrement que par cette interface réseau dédiée. L'appel système permettant la lecture du système de fichiers vérifie la provenance de cet appel, et rejette tout appel ne venant pas de cette interface dédiée. La présente invention trouve application dans tous les processus informatiques pour lesquels il est nécessaire de garder des traces de données observées. Tout d'abord, son principe peut être mis en oeuvre pour fabriquer une machine sécurisce offrant un service Syslogd (Secure Syslogd Machine). Syslogd est un service Unix_ permettant de gérer de manière homogène les traces produites par des programmes. On peut donc, grâce à la présente invention proposer une machine garantissant la conservation et 1'intégrité des logs. De plus, seul un administrateur pourTa accéder en lecture à ceux-ci, via un accès réseau isolé et protégé. Dans le cadre de l'utilisation conjointe avec un Firewall, on peut alors mettre en _uvre un système qui conservera les logs du Firewall de manière pennanente et indestructible, garantissant ainsi la protection juridique et commerciale contre toute tentative de piratage de l'entreprise qui met en _uvre cette solution confonne à I'invention. Son principe peut également être utilisée pour tracer l'accès à une base de données. Tous les ordres SQL parvenant depuis le réseau à une base de donnée (comme Oracle_, SQL Server,...) seront alors répertoriés d'après l'observation des trames réseau, elle pourTa tracer tous les ordres SQL et les stocLer. Un établissement bancaire pouTait par exemple mettre en ouvre ce système pour conserver la trace de toute utilisation de ses données financières (qui fait un virement, via 1'application " officielle " ou via un moyen de piratage quelconque). Un autre exemple d' application est l 'horodateur de connex ions réseau. En effet, à la manière d'un traceur d'accès à une base de données, on peut mettre en place un traceur de connexions réseau. Ce système pennet de constituer un véritable horodateur réseau incorruptible et consultable uniquement par la personne autorisée. Un administrateur pourTait par ce système conserver la trace de l'utilisation de toutes les ressources du réseau (qui a utilisé quoi). REVENDICATIONS 1. Procédé de conservation de traces d'un processus infonnatique dans lequel on génère des traces en effectuant une analyse de trafic en entrée d'un système infonnatique (10, 90) relié à un réseau de communications exteme (00) et ensuite on transmet ces traces par l'intemlédiaire de moyens de traitement (14' 96) vers des moyens de stockage (16A, 98) dans lesquels elles sont écrites de façon à pouvoir procéder ultérieurement à une lecture de ces traces, caractérisé en ce que ladite opération de lecture dans lesdits noyens de stockage est commandée, sans l'intennédiaire desdits noyens de traitement, à partir de moyens de commande indépendants dudit réseau de communication exteme et extérieurs audit systèn1e infonnatique. 2. Procédé selon la revendication 1, caractérisé en ce que ladite opération d'écriture des traces dans lesdits moyens de stockage est effectuée séquentiellenent. 3. Procédé selon la revendication I ou la revendication 2, caractérisé en ce que ladite opération de lecture est commandée depuis un enSenlble infonnatique indépendant (100) relié auxdits moyens de stockage par des moyens d'interface (19? 99) dudit système infomlatique dediées spécialement à cet effet. 4. Procédé selon la revendication 3, caractérisé en ce que ledit ensemble infonnatique est relié auxdits moyens d'interface avec lesdits moyens de stockage au travers d'un réseau privé de communications. 5. Dispositif de conservation de traces d'un processus infon1latique comportant des moyens de traitement (14, 96) pour générer des traces à partir d'une analyse de trafic en entree d'un système informatique (10, ) relié à un réseau de conmunications exteme (20), des moyens de traitement (14, 96) pour transmettre et commander 1'écriture les traces ainsi énérées dans des moyens de stockage (16B, 98), et des moyens pour lire les traces stockées préalablement, caractérisé en ce que lesdits moyens de lecture sont commandés, sans l'intemlédiaire desdits moyens de traitement, à partir de moyens de commande indépendants dudit réseau de conmunications et extérieurs audit système informatique. 6. Dispositif selon la revendication 5, caractérisé en ce que lesdits moyens de traitement comportent des moyens ( 14, 98) pour écrire séquentiellement dans lesdits moyens de stockage. 7. Dispositif selon la revendication 5, caractérisé en ce que lesdits moyens de commande (100) sont reliés auxdits moyens de stockage au travers d'un réseau privé de communications. 8. Dispositif selon la revendication 5, caractérisé en ce que lesdits moyens de stockage (16B) sont déportés dans lesdits moyens de commande (100). 9. Dispositif selon la revendication 5, caractérisé en ce que lesdits moyens de stockage (16B) sont déportés dans un réscau interne de stockage (110) dont ils peuvent constituer une ressource comnune. 10. Dispositif selon la revendication 5, caractérisé en ce que lesdits moyens de stockage (98) sont disposés dans un module (90B) séparé physiquenent du module (9OA) recevant lesdits moyens de traitement (96)