- Présentation
- Publications HAL
- Rapports d'activité
Equipe de recherche CASSIS
Combinaison d'approches pour la sécurité des systèmes infinis
- Responsable : Michaël Rusinowitch
- Type : Équipe-projet
- Centre(s) de recherche : Nancy
- Domaine : Algorithmique, programmation, logiciels et architectures
- Thème : Programmation, vérification et preuves
- Université de Lorraine, Université de Franche-Comté, CNRS, Laboratoire lorrain de recherche en informatique et ses applications (LORIA) (UMR7503), Laboratoire d'Informatique de l'Université de Franche-Comté (LIFC) (EA4269)
Présentation de l'équipe
L'objectif de l'équipe-projet est la conception et la réalisation d'outils pour vérifier la sûreté des systèmes à nombre infini d'états. Notre analyse des systèmes se fonde sur une représentation symbolique des ensembles d'états comme langages formels ou formules logiques. La sûreté est obtenue par la preuve automatique, l'exploration symbolique de modèles, ou la génération de tests. Ces méthodes de validation sont complémentaires mais s'appuient, dans notre équipe-projet, sur l'étude de problèmes d'accessibilité et leur réduction à des résolutions de contraintes.Une originalité de l'équipe-projet réside dans sa focalisation sur les systèmes infinis, paramétrés ou de grande taille, sur lesquels chaque technique prise séparément montre ses limites. Comme exemples de tels systèmes nous pouvons citer les protocoles opérant sur des topologies de taille arbitraire (réseaux en anneaux), les systèmes manipulant des structures de données de taille quelconque (ensembles), ou dont le contrôle est infini (automates communicants par tampon non borné).
Les applications visées ou en cours sont les logiciels embarqués par exemple sur cartes à puce, les protocoles de sécurité et les systèmes répartis.
Axes de recherche
L'élaboration de méthodes et d'outils de vérification de logiciels critiques est notre objectif. Pour le réaliser, nous développons de manière conjointe des techniques de preuve pour la sécurité de logiciels, de résolution de contraintes ensemblistes pour la génération de tests et d'analyse d'atteignabilité pour la vérification de systèmes infinis.- Preuve automatique :
Le but est de prouver la validité d'assertions issues de l'analyse des programmes. Nous développons des techniques et des systèmes de déduction automatique fondés sur la réécriture et la résolution de contraintes. La vérification de structures de données récursives fait fréquemment appel à des raisonnements par récurrence, ou à la manipulation d'équations, et exploite des propriétés d'opérateurs comme l'associativité ou la commutativité. - Synthèse et résolution de contraintes ensemblistes :
L'objectif de cet axe porte sur l'évaluation de spécifications formelles logico-ensemblistes. Les travaux actuels concernent le développement d'un système de résolution de contraintes ensemblistes autour du noyau CLPS. - Analyse d'atteignabilité dans les systèmes infinis :
L'objectif principal de cet axe est de savoir déterminer si des états non désirables peuvent être ou non atteints par un système de grande taille ou infini. Cette problématique de l'atteignabilité d'états est évidemment centrale pour garantir la sécurité des systèmes critiques.
- Vérification de protocoles de sécurité :
Les protocoles de sécurité comme SET, TLS, Kerberos sont conçus pour établir la confiance lors des transactions électroniques. Ils reposent sur des primitives cryptographiques visant à assurer l'intégrité des données, l'authentification ou l'anonymat des participants, la confidentialité des transactions, etc. L'expérience a montré que la conception de ces protocoles est souvent erronée, même en admettant que la cryptographie est parfaite, c'est-à-dire qu'un message codé ne peut être décrypté sans la clé. Un adversaire peut intercepter, analyser et modifier les messages échangés avec peu de moyens de calculs et causer par exemple des dégats économiques importants. L'analyse des protocoles cryptographiques est complexe car l'ensemble de configurations à envisager est immense voire infini : il faut prendre en compte un nombre quelconque de sessions, une taille quelconque des messages, l'entrelacement des sessions, les propriétés algébriques du cryptage ou des structures de données. Notre approche consiste à automatiser au maximum l'analyse des protocoles, à partir de leurs spécifications. Le système CASRUL que nous développons compile les spécifications avant de les soumettre à des procédures de décisions. - Génération de séquences de tests à partir d'un modèle formel :
Une application de notre système de résolution de contraintes ensemblistes est le génération de séquences de tests. Elle repose sur l'extraction des valeurs limites pour les variables d'états de la spécification pour ensuite calculer les séquences d'opérations permettant de mettre le système dans ces états aux limites. Dans les deux phases, la technique met en oeuvre le solveur de contraintes ensemblistes.
Logiciels
Relations industrielles et internationales
Partenariats industriels :- Depuis 1997, une collaboration de fond est engagée avec la société SchlumbergerSema, division Test et Transaction, pour la formalisation de spécifications techniques de besoins et la génération de séquences de tests à partir du modèle formel.
- L'ANVAR, dans le cadre des procédures d'aide à l'innovation, soutient le développement de l'environnement BZ-Testing-Tool, sa consolidation et son durcissement pour diffusion en logiciel libre de droits pour un usage non commercial, sur 2001-2003.
- Nous participons au programme européen : Information Society Technologies (IST), dans le cadre du FET Open Project AVISPA (IST-2001-39252) pour 2002-2005 avec l'ETH Zürich, l'Università di Genova et Siemens Münich. L'objectif de cette équipe-projet est de formaliser et de valider un corpus représentatif de protocoles internet sélectionnés dans les drafts de l'IETF, et de construire un analyseur performant pour des protocoles décrits par des spécifications complexes.
- Nous collaborons avec Ralf Kuesters de l'Université de Kiel, dans le cadre du programme d'actions intégrées franco-allemand, PAI Procope.
- Nous collaborons avec SUP'COM (École Supérieure des Communications de Tunis), dans le cadre d'un projet STIC avec A. Bouhoula, sur le thème : vérification formelle pour les logiciels de télécommunication.
- Nous participons à un projet sur l'extension d'une logique (WSlogic) permettant de vérifier des propriétés des programmes Haskell au sein du projet PROGRAMATICA du centre de recherche PACSOFT à l'Oregon Graduate Institute de Oregon Health and Science University.
- Sur le volet de la génération de tests, un partenariat est en cours avec l'Université de Waikato, Hamilton, en Nouvelle Zélande, professeur Marc Utting (en semestre invité au LIFC de juillet 2001 à janvier 2002), avec un soutien du programme de coopération scientifique franco-néo-zélandais.
- Nous faisons partie du réseau de recherche franco-québécois CPCFQ sur la sécurisation des protocoles cryptographiques.
Nous collaborons également avec les universités de Dublin, Vérone, EPFL Lausanne, Oran, OGE Oregon, SUNY Albany, Stanford, Grenoble, Orléans.
Mots-clés : Vérification Sécurité Preuve automatique Test Systèmes infinis
Equipes de recherche du même thème :
- ABSTRACTION - Interprétation abstraite et analyse statique
- ATEAMS - Analyse et Transformation a base des composition fideles des outils
- CARTE - Théorie des calculs adverses, et sécurité
- CELTIQUE - Certification de logiciel par analyse sémantique
- COMETE - Concurrence, Mobilité et Transactions
- CONTRAINTES - Programmation par contraintes
- DEDUCTEAM - Deduction modulo, interopérabilité et démonstration automatique
- FORMES - Méthodes Formelles pour les Systèmes Embarqués
- GALLIUM - Langages de programmation, types, compilation et preuves
- MARELLE - Mathématiques, Raisonnement et Logiciel
- MEXICO - Modeling and Exploitation of Interaction and Concurrency
- MOSCOVA - Mobilité, sécurité, concurrence, vérification et analyse
- PAREO - Ilôts formels: fondements et applications
- PARSIFAL - Recherche de preuve et raisonnement sur des spécifications logiques
- PI.R2 - Conception, étude et implémentation de langages pour les preuves et les programmes
- PROSECCO - Programming securely with cryptography
- SECSI - Sécurité des systèmes d'information
- TASC - Theory, Algorithms and Systems for Constraints
- TOCCATA - Certified Programs, Certified Tools, Certified Floating-Point Computations
- TYPICAL - Types, logique et calcul
- VERIDIS - Modeling and Verification of Distributed Algorithms and Systems
Contact
Responsable de l'équipe
Michaël Rusinowitch
Tél: +33 3 83 59 30 20
Secrétariat
Tél: +33 3 83 59 30 54
En savoir plus
Rechercher une équipe
Par centre de recherche Inria
Inria
Inria.fr
Inria Channel

Voir aussi