Sécurité des Systèmes d'InformationThéorie de la sécurité, sécurité des systèmes opératoires, sécurité des systèmes distribués,sécurité des réseaux, sécurité des bases de données, validation de protocoles cryptographiques, vérification de logiciel.
Les activités du CERT/DERI en SSI portent sur l'expression des règlements et besoins de sécurité, sur la conception de systèmes répondant à de fortes exigences de sécurité et sur les méthodes et outils d'évaluation dans des contextes où des malveillances doivent être envisagées. Les règles étudiées sont relatives à la perception, à l'altération et à l'utilisation d'informations. De ce fait, elles s'inscrivent dans la trilogie usuelle de la SSI:
Les recherches effectuées tendent de plus en plus à se prolonger par des cooperations industrielles; elles se répartissent en quatre axes:
Ces activités sur les fondements théoriques ont pour objectif de construire un cadre conceptuel permettant de représenter une large variété de systèmes informatiques, de règlements de sécurité répondant aux divers besoins de confidentialité, d'intégrité et de continuité de service, de fournir des méthodes et outils pour administrer ces règlements de sécurité et de mettre en évidence des conditions suffisantes de sécurité techniquement efficaces à mettre en oeuvre. Les recherches s'appuient sur des modélisations formelles de la sécurité informatique.
Ces activités cherchent à proposer des techniques et concevoir des structures d'implantation pour les propriétés de sécurité produites par les activités précédemment décrites. Elles font appel aux techniques de spécifications, d'architectures des machines, des systèmes opératoires. Elles tiennent compte des avancées effectuées dans les architectures traditionnelles et dans les protocoles de communication et du déplacement du besoin vers les architectures distribuées. Elles permettent, outre la validation des concepts développés, l'expérimentation de règlements de sécurité nouveaux.
Enfin, dans un contexte où les fréquences d'apparition, ou de mise à jour de nouveaux produits logiciels sont de plus en plus élevées, on ne peut envisager de redévelopper systématiquement toute application en tenant compte des contraintes de sécurité du système qui doit les supporter. L'objectif que l'on poursuit vise, au contraire, à se donner les moyens d'intégrer des applications sur étagères, sans pour autant compromettre la sécurité du système global. La satisfaction de cet objectif passe par une activité d'analyse qui permet de mettre en évidence les cas d'anomalies potentielles d'une application vis-à-vis de la sécurité, et une activité de synthèse qui permet d'en contraindre le fonctionnement lorsque ces cas sont rencontrés. Le travail effectué en analyse de programmes se rattache essentiellement aux premier type d'activités.
La plupart des applications en SSI mettent en jeu plusieurs des trois thèmes decrits ci-dessus. Parmi les types d'applications, on peut citer les systèmes embarqués, les systèmes d'information scientifiques et techniques, les simulations interactives distribuées, la protection des droits d'auteurs et de reproduction. En 1996, les deux derniers types d'application ont fait l'objet d'etudes SSI.
Informellement, une réglementation énumère un ensemble de règles (normes) que des agents (humains ou non) ont la permission/l'interdiction/l'obligation de faire. Dans ce contexte, notre premier objectif est de pouvoir donner une représentation précise et non ambigue d'une réglementation. Notre approche combine une logique déontique pour représenter les notions de permission, d'interdiction et d'obligation avec une logique modale de l'action. Nous avons également inclus, dans notre modélisation, une formalisation du concept de rôle. L'intérêt d'une approche formelle fondée sur la logique est qu'il est ensuite possible de définir précisément les axiomes permettant de raisonner sur une réglementation. Ceci permet de construire des outils pour analyser les conséquences des normes qui définissent la réglementation. En particulier, nous avons proposé et implanté en Prolog un algorithme permettant d'interroger une réglementation pour connaître les normes qui s'applique à chaque agent dans une situation donnée.
Par ailleurs, un des principaux objectifs de la modélisation d'une politique est de pouvoir, ensuite, spécifier et implémenter un système conformément à cette politique. Il est donc essentiel de vérifier, avant d'aborder ces phases de spécification et d'implantation, que la politique de sécurité considérée est cohérente.
Au cours de l'année 1995, nous avions travaillé dans le cadre d'un contrat pour le CELAR, à la formalisation de l'instruction générale interministérielle 1300 sur la protection du secret d'informations concernant la défense nationale et la sûreté de l'état. Nous avions mis en évidence l'importance de la notion de responsabilité.
Au cours de l'année 1996, nous avons, par le biais d'un contrat DRET, étudié cette notion d'un point de vue théorique. Nous avons proposé différentes définitions de la notion de responsabilité, en les exprimant dans un cadre formel. Nous avons également montré pourquoi ce concept était pertinent dans le domaine de la détection d'intrusion, pour déterminer les causes de l'intrusion et définir les sanctions à appliquer lorsqu'une détection est effectuée.
Au cours d'un contrat DRET précédent, relatif à l'étude de l'integrité des informations, nous avions mis en évidence l'importance de la notion de cohérence externe des informations.
Il s'agissait d'associer à toute donnée stockée dans un système, une information sur la crédibilité de la source (agent) qui a stocké cette donnée et d'utiliser cette information, pour répondre aux questions et distinguer des réponses certifiées sûres, et des réponses non certifiées.
Au cours de l'année 1996, nous avons developpé une maquette d'évaluateur de requêtes, permettant de distinguer des réponses certifiées vraies et des réponses non certifiées vraies.
Dans la cadre de l'étude menée pour le compte du CELAR sur la modélisation de la 1300, nous avons eu à modéliser des règles très générales concernant la gestion de la sensibilité d'informations ou de documents; l'affectation d'un niveau de classification ou d'un mode de déclassification, comme la gestion de l'abaissement de la classification d'un document, dépendent du contenu du document, mais aussi du contexte (historique, économique, politique...). Or il s'avère qu'en pratique, les opérationnels qui traitent du renseignement sont amenés à appliquer aussi et surtout des règles plus précises que celles de la 1300, parfois contradictoires, sur une masse de plus en plus importante de documents électroniques. En 96, nous avons donc commencé une étude en contact avec de tels opérationnels pour recueillir puis modéliser leurs besoins et leur expertise, en vue de leur proposer un système d'assistance à la gestion de la sensibilité des documents. Ce système sera composé d'un module permettant de mener des raisonnements temporels (basé sur une approche logique) pour appliquer les règles expertes des opérationnels, couplé à un système de gestion documentaire capable d'analyser les documents selon leur contenu.
La réalisation d'une maquette de machine effectuant un contrôle exhaustif des flux d'information internes constitue l'acquis sur lequel s'appuient les actions engagées. Une telle machine fonde la sécurité qu'elle apporte sur l'introduction d'un sous-système de sécurité encore appelé base informatique de confiance (TCB - Trusted Computing Base). Son rôle consiste à programmer des dispositifs de contrôle matériels en fonction de données de sécurité et de règles qu'il est chargé de mettre en oeuvre. Le choix a été fait d'implanter un règlement de sécurité par niveaux par application de contrôles élémentaires dont on sait démontrer qu'ils suffisent à apporter la sécurité recherchée.
L'ensemble constituant la machine M2S a fait l'objet d'une étude spécifique par un industriel. Cette étude a permis de conclure à la faisabilité industrielle d'un prototype de station de travail en reprenant les principes d'architecture matériels et système préconisés par M2S.
Cette démarche de conception de systèmes, fondés sur la mise en évidence d'une base informatique de confiance , a pu être étendue au contexte d'une architecture de réseau local. Cette dernière s'organise autour d'interfaces de communication au médium dotées d'un ensemble de dispositifs matériels et logiciels constituant une base de confiance locale. Cette TCB locale assure la mise en oeuvre des deux fonctions suivantes:
La sécurité de l'ensemble du réseau repose sur un fonctionnement cohérent et synchrone des TCB locaux. Un poste centralise de sécurité l'assure par la gestion et le pilotage global de ces interfaces à l'aide d'un protocole SMAC, réalisant l'acquisition à ce dernier du médium de communication et l'échange de données de sécurité avec les TCB locaux.
Ce protocole de communication a été formellement validé. Les entités de communication sous son contrôle ont fait l'objet d'une description en langage Lustre fournissant un modèle particulièrement fin et précis de leur comportement. Des propriétés de sûreté ont été dégagées et vérifiées sur ce modèle par application des techniques de model-checking offertes par l'outil Lesar. Parmi ces propriétés, on trouve l'expression instanciée des conditions générales de sécurité résultant des approches théoriques envisagées au CERT.
Une étude quantitative du protocole SMAC a été également effectuée. Une campagne de simulation a utilisé le simulateur à événements discrets NETSIM (MIT) et une nouvelle modélisation du protocole pour se rapprocher du niveau applicatif (TCP/IP).
En 1996, une nouvelle phase de maquettage a commencé. L'objectif est d'illustrer, par une réalisation concrète, les concepts et principes permettant de construire des systèmes sûrs qui ont été étudiés et spécifiés précédemment. Il s'agit en particulier de démontrer et de valider un communicateur sûr SMAC, composant de base de la plate-forme de sécurité multi-niveau qu'il permettra de construire avec d'autres composants matériels et logiciels standards.
Après les études des stations de travail, puis des protocoles de communication, il était naturel d'étendre les résultats obtenus aux systèmes répartis. Le concept de répartition amène, dans la définition d'une base informatique de confiance, des problèmes spécifiques dûs à l'absence d'état global, à l'asynchronisme, etc. Le partitionnement physique et temporel de l'architecture en niveaux permet de supporter plus facilement un haut niveau de sécurité. Pour conserver une vision intégrée de l'architecture, la poursuite de ces travaux débouche sur sur l'étude de l'impact de la sécurité sur les nouveaux systèmes d'exploitation répartis, puis sur les algorithmes répartis.
Les nouvelles propositions de systèmes d'exploitation répartis ont été approfondies et expérimentées. en particulier en s'appuyant sur les systèmes d'exploitation Chorus et Mach, représentatifs des nouveaux systèmes répartis intégrés à technologie micro-noyau.
Dans le contexte de réseau local de haute sécurité proposé autour de SMAC, un système opératoire distribué sMach, dérivé du système Mach, a été spécifié. Ce système est chargé de gérer en multi-niveau les ressources en intégrant les contrôles de sécurité réalisés au niveau matériel. Le problème a été de vérifier la compatibilité de cette spécification, plutôt que l'introduction de nouveaux mécanismes de sécurité.
Avec le système Chorus une autre approche pragmatique a été suivie, les mécanismes de sécurité sont introduits au niveau du système d'exploitation réparti et la plate-forme matérielle reste standard. Plus exactement, et pour respecter la philosophie des micro-noyaux, un filtre et de nouveaux serveurs ont été mis en oeuvre. Le filtre de sécurité intègre des contrôles multi-niveau pour les communications. La proposition d'une plate-forme logicielle comprend ce filtre et permet de développer avec plus de facilité des applications distribuées et sûres en masquant certaines primitives du système.
En 1996, des applications multi-niveaux ont été développées permettant de valider cette plate-forme logicielle. Il s'agit d'un calcul distribué et son monitoring, et du squelette d'une base de données dupliquées.
Parallèlement, l'état de l'art des protocoles et environnements de calcul distribué, qui intègrent des mécanismes de sécurité, a été refait (Kerberos, Sesame, DCE, Horus, etc). Outre l'aspect synthèse, l'objectif est de considérer l'utilisation de ces systèmes, éventuellement étendus, pour une plus grande interopérabilité et un niveau de sécurité accru.
L'objectif à terme des études sur la sécurité des bases de données à objet est la construction d'une version multi-niveaux du système de gestion de base de données à objets (SGBD) proposé par O2 Technology.
Pendant l'année 96, une étude complémentaire de faisabilité a été réalisée en collaboration avec SAGEM et O2 Tecnology. Cette étude a pour premier objectif de proposer des solutions pratiques pour sécuriser les fonctions d'administration du SGBD conformément à la politique de sécurité multi-niveau. D'autres fonctions (en particulier, audit, déclassification, protection du schéma, ramasse-miettes, chemin de confiance) ont également été étudiées. Le second objectif de cette étude est d'élaborer des architectures pour le SGBD multi-niveau dans le cas où le système d'exploitation sur lequel est implanté le SGBD n'est pas de confiance.
L'objectif général des études menées au DERI sur l'évaluation des logiciels est de proposer une méthode et un outillage permettant de déterminer, de manière statique, si un logiciel d'application risque ou non, par sa fonctionnalité ou son comportement de compromettre une propriété de sécurité. Ce logiciel est a priori quelconque, mais on suppose que l'on dispose de son code source. On essaie de mettre en évidence les situations douteuses par une analyse qui repose sur une sémantique non standard du langage dans lequel se trouve programmée l'application.
Les travaux qui ont été menés sur ce thème se basent sur une analyse de code dirigée par une sémantique dénotationnelle du langage de programmation C dédiée à la sécurité. Cette analyse, qui ne peut être mise en oeuvre que dans un cadre restreint, doit être complétée, en amont, par un ensemble de transformations, qui permettent de mettre le programme sous une forme analysable, sans en changer les caractéristiques d'un point de vue sécurité. Le programme qui s'est achevé cette année a permis d'évaluer cette approche par rapport à celles qui se basent sur un contrôle dynamique. Des liens formels ont été établis entre les modèles généraux de sécurité et la sémantique du langage utilisé, en prenant en compte, notamment, les problèmes introduits par les objets de contrôle induits par la programmation. Les résultats ont été illustrés sur une application de transfert de fichiers entre machines diversement classifiées.
En 1994 et 1995, le CERT a participé en collaboration avec THOMSON CSF au développement de la première version d'une passerelle de communication filtrante (FOX). Le CERT a effectué les tâches relatives aux méthodes formelles qui ont permis l'évaluation de ce produit au niveau d'assurance E4 des ITSEC. Le CERT a produit un modèle de sécurité formalisant la politique de sécurité mise en oeuvre par FOX. Ce modèle a été décrit en utilisant le langage de spécification de la méthode B (Abstract Machine Notation) et sa cohérence interne a été vérifiée à l'aide du démonstrateur interactif de théorèmes intégré à la méthode B. Le modèle a été utilisé pour guider la conception des fonctions de sécurité de FOX.
En 1996, le CERT a participé au développement des nouvelles versions de FOX. Les nouvelles fonctionnalités développées visent à permettre à plusieurs passerelles de coopérer à travers un réseau étendu. Le CERT étudie les modifications à apporter au modèle de sécurité.
Le CERT a comparé avec la methode B un formalisme defini par BERTIN permettant d'exprimer les proprietes de securite d'un systeme informatique. Pour cela, une fonction d'un UNIX multi-niveau a ete specifiee a l'aide des deux formalismes
Cette étude a porté sur les aspects "Sécurité" des simulations interactives distribuées dans la perspective de la mise en place d'un réseau de simulation français. Les travaux ont porté sur :
Le projet COPICAT a pour objet la protection des droits d'auteurs et de reproduction dans un systeme d'enseignement assisté par ordinateur. Bien que le rôle principal du DERI soit d'effectuer une validation de la protection proposée, il apporte aussi une assistance à la conception de la protection.
L'activité d'évaluation s'appuie sur les criteres ITSEC et la méthodologie associée ITSEM. Elle a permis de mettre en évidence les principales vulnérabilités de l'approche. Elle a également conduit à proposer un profil de protection adapté à ce type de système.
Dans ce même domaine, le DERI participe depuis novembre 1995 au projet COPEARMS (Co-ordinating Project for Electronic Authors' Rights Management System), dont le but est d'harmoniser les systèmes de gestion des droits d'auteurs et de reproduction. Le DERI apporte une expertise en matière de sécurité des technologies de l'information à divers projets concepteurs d' "Electronic Copyright Management Systems (ECMS)". Il contribue à la construction d'un modèle générique d'ECMS.
P. Bieber
"Conception et utilisation d'un modèle de sécurité"
Colloque sur l'application des mèthodes formelles au développement des
systèmes critiques, Grenoble, Janvier 1996.
G. Eizenberg
"La sécurité par quels moyens? Conviction"
Colloque sur l'Application des Méthodes Formelles au Développement des
Systèmes critiques -
17-19/1/96 Grenoble IMAG
G. Eizenberg
"Information Technology Security and Electronic Copyright
Management Systems"
The London Electronic Copyright Management Systems Conference
London School of Economics and Political Science, 19/4/96
G. Eizenberg
"Sécurité Informatique et Protection des Droits d'Auteurs"
ESORICS 96, Table ronde, 23-25 septembre 1996, Rome.
P. Bieber
"Adaptation du modèle formel de sécurité de FOX",
Rapport intermédiaire 1/3589.00/DERI, juillet 1996.
L. Cholvy, F. Cuppens, C. Saurel
Rapport final 1/3563.00/DERI.
"Expression des besoins de sécurité :
concepts de responsabilité et de cohérence externe",
mai 1996
J. Cazin:
"DS3: Development of Software for Secure Systems"
Rapport final seconde phase no 2/3541.00/DERI, mars 1996
J. Cazin, P. Girard
"DS3: Development of Software for Secure Systems"
Rapport final no 1/3565.00/DERI, juillet 1996
G. Eizenberg, K. Yazdanian
"Security Evaluation"
ESPRIT Project 8195 COPICAT Deliverable 11/12/95
G. Eizenberg
"ECMS Security"
COPEARMS ESPRIT Project 20460 Deliverable D3.2, avril 1996
J.-F. Fabre
"Sécurité informatique et coopération de systèmes : état de l'art
et synthèse"
Rapport de DEA, juin 1996.
C. Saurel, F. Cuppens
Rapport intermédiaire 1/3539.00/DERI et Rapport final 2/3539.00/DERI
"Modélisation formelle des exigences de sécurité"
Contrat CELAR n. 0164194
P. Siron
"Sécurité informatique, systèmes opératoires répartis et algorithmes répartis"
Rapport final 2/3530/DERI
Contrat DRET no 94002.025. Octobre 1995.
P. Siron, D. Demulière, J.-F. Fabre
"Sécurité informatique et systèmes répartis"
Rapport intermédiaire 1/3562/DERI
Contrat DRET no 94002.042, mars 1996.
G. Zanon
"Aspects "Securité" des Simulations Interactives Distribuées"
Rapport intermédiaire 1/3536.00/DERI et rapport final 2/3535.00/DERI,
Juin et Décembre 1995.
Présentation des travaux de l'équipe relatifs aux réglementations.
Publiée dans le bulletin de l'AFIA no25 (avril 1996) : dossier
Intelligence artificielle et Droit
B. d'Ausbourg, C. Calas
"Secure Networking by controlling causal
dependencies",
in Journal of Computer Security, to appear, 1995.
P. Bieber,
"Interprétation d'un modèle de sécurité",
Techniques et Sciences Informatiques, éditions Hermès, Avril 1996.
F. Cuppens, R. Demolombe
"A deontic logic for reasoning about confidentiality"
3rd international Workshop on Deontic Logic in Computer Sciences,
Sesimbra, Portugal, janvier 96
F. Cuppens, C. Saurel
"Specifying a Security Policy : a case study"
Proceedings du 9eme Computer Security Foundations Workshop, juin 96.
F. Cuppens, A. Gabillon
"A Logical Approach to model a Multilevel Object Oriented Database"
10th IFIP 11.3 Working Conference on Database Security.
Como, juillet 1996.
F. Cuppens, A. Gabillon
"Formalisation de la confidentialité dans une base de données à objets"
BDA, Cassis, août 1996.
F. Cuppens
"Querying a Multi level Database : A logical Analysis"
22nd VLDB, septembre 1996.
P. Siron
"Une plate-forme pour le développement d'applications distribuées
et sûres avec le système Chorus"
Atelier CNES Techniques et technologies des segments sols informatiques
Décembre 1995.
Ch. Calas
"Pour une protection efficace des données et des traitements dans les
systèmes informatiques r1partis"
Thèse de Doctorat, ENSAE, Décembre 1995.