Méthodes formelles pour la collecte et l`analyse de logs Projet LISE
Transcription
Méthodes formelles pour la collecte et l`analyse de logs Projet LISE
1 Méthodes formelles pour la collecte et l’analyse de logs Projet LISE ANR-07-SESU-007 Daniel Le Métayer 2 Partenaires du projet LISE • AMAZONES (INRIA Grenoble Rhône-Alpes, INSA de Lyon) STIC • DANTE (Université de Versailles Saint-Quentin) Droit • LICIT (INRIA Grenoble Rhône-Alpes) STIC • PRINT (Université de Caen) Droit • SSIR (SUPELEC, Rennes) STIC • VERIMAG (Université de Grenoble) STIC 3 LISE – Contexte Constat: • Omniprésence des logiciels dans tous les domaines d’activité • Difficultés à définir les responsabilités en cas de dysfonctionnement: • Juridiques: validité des clauses limitatives • Techniques: caractérisation des dysfonctionnements • Juridico-techniques: liens entre dysfonctionnements, dommages et responsabilités des acteurs, qualité des éléments de preuves 4 LISE – Objectifs Fournir un ensemble de méthodes et d’outils informatiques et juridiques permettant aux parties • de définir précisément leurs responsabilités respectives pour certains types de dysfonctionnements de systèmes logiciels • d’établir ces responsabilités après les faits en cas de dysfonctionnement 5 LISE – Démarche Démarche pragmatique: • • Diversité des situations (techniques, économiques, juridiques) et des intentions des parties ⇒ Ensemble de méthodes et d’outils utilisables en fonction des besoins plutôt que cadre monolithique Périmètre: • Cadre contractuel (ne s’applique pas à la criminalité informatique) • Responsabilités liées aux dysfonctionnement des logiciels seulement (ne s’applique pas à la contrefaçon) 6 Exemples de questions pertinentes 1. Architecture de logs: • Quelles données faut-il inscrire dans des fichiers de logs ? • Où ces données doivent-elles être stockées (et par quels acteurs) ? 2. Analyse de logs: • Comment analyser ces fichiers logs a posteriori ? • Comment établir un lien entre les dysfonctionnements constatés et les responsabilités? 7 Méthodes formelles et responsabilités Intérêts des méthodes formelles dans le contexte des responsabilités: • Définitions précises et non ambiguës des dysfonctionnements et des responsabilités • Base pour la réalisation d’outils: – Conception et évaluation d’architectures de logs – Analyse de logs 8 LISE Définition formelle des responsabilités Contrat Architecture de logs Analyseur de logs Responsabilités 9 Point de départ de la formalisation: les griefs Un grief est constitué de 3 parties: 1. Le plaignant: acteur X 2. Le défendeur: acteur Y 3. Le motif: propriété D sur les traces d’exécution du système (dysfonctionnement) Notation: G(X, Y, D) Trace d’exécution: séquence d’événements 10 Exemple d’application: service de réservation d’hôtels Exemple de grief: G(Dupont, Agence, D) avec D(T) ≡ ∃ (Confirmation, Agence, Dupont, [Resa, Hotel, Date]) ∈ T ∧ ⎤ ∃ (Reservation, Hotel, Dupont, [Resa, Date]) ) ∈ T 11 1 FORMALISATION DE L’ARCHITECTURE DE LOGS 12 Formalisation d’une architectures de logs Une architecture de logs associe à chaque type d’événements: • Les acteurs en charge d’inscrire les événements concernés dans leur log • Les acteurs en charge de signer les événements concernés NB: chacun de ces ensembles peut être vide pour un type d’événement donné 13 Caractérisation d’une architecture de logs acceptable Une architecture de logs est acceptable si: • Tout type d’événement susceptible d’avoir une influence sur la validité d’un grief est enregistré dans au moins un log et • Les acteurs en charge de les enregistrer dans leurs logs sont neutres par rapport à ce type d’événements ou • Ces événements ne sont ni favorables aux acteurs en charge de les signer ni défavorables aux acteurs chargés de les inscrire dans leurs logs 14 Intérêts de la notion d’acceptabilité Formalisation de la notion d’acceptabilité: • Preuve de correction par rapport à un modèle de menaces: l’évaluation de la validité des griefs à partir des logs est conforme à une évaluation de cette validité par rapport aux événements réels • Critères d’analyse d’une architecture pour déterminer son acceptabilité (et l’améliorer le cas échéant) 15 Exemple d’application G(Dupont, Agence, D) avec D(T) ≡ ∃ (Confirmation, Agence, Dupont, [Resa, Hotel, Date]) ∈ T ∧ ⎤ ∃ (Reservation, Hotel, Dupont, [Resa, Date]) ) ∈ T • Une architecture de logs prévoyant seulement l’inscription des événements (non signés) par l’émetteur et le destinataire n’est pas acceptable • Deux solutions pour rendre l’architecture acceptable: • • Evénements signés par Agence et enregistrés par Dupont Evénements enregistrés par un tiers neutre par rapport à ce type d’événements 16 2 FORMALISATION DE L’ANALYSE DE LOGS 17 Exemple d’application: solution de signature électronique sur un téléphone mobile • Signataires du contrat: • • • MPP: fournisseur du téléphone et opérateur téléphonique SAP: fournisseur de l’application de signature (App-Sig) SCP: fournisseur de la carte à puce • Hypothèses: • Les parties souhaitent définir leurs responsabilités en cas de dysfonctionnement du système installé sur le téléphone (téléphone, carte et application App-Sig) ⇒ • On ne considère pas les dysfonctionnements liés au serveur ou au réseau de communication 18 Exemples de griefs considérées Griefs relatifs à un document Doc opposé au client Dupont par le marchand pour la transaction N : • • Inexact: Dupont affirme que le document qui lui a été présenté pour cette transaction était différent du document Doc Nonsigne: Dupont affirme qu’aucun document correspondant à une transaction N ne lui a été présenté 19 Exemple d’accord informel entre les parties Si le client affirme que le document qui lui a été présenté pour la transaction N était différent du document qui lui est opposé par le marchand et que sa plainte est valide alors: • SAP sera responsable si App-Sig a transmis à l’afficheur un document différent du document reçu du serveur ou différent de celui renvoyé au serveur (avec l’estampille N) • Sinon MPP sera responsable 20 Modélisation formelle Resp (D, T, N) = Si D = Inexact ∧ Inexact (T,N) Alors Si Diff (T,N) Alors SAP Sinon MPP Si le client affirme que le document qui lui a été présenté pour la transaction N était différent du document qui lui est opposé par le marchand et que sa plainte est valide alors: • SAP sera responsable si App-Sig a transmis à l’afficheur un document différent du document reçu du serveur ou différent de celui renvoyé au serveur (avec l’estampille N) • Sinon MPP sera responsable 21 Correspondance Resp (D, T, N) = Si D = Inexact ∧ Inexact (T,N) Alors Si Diff (T,N) Alors SAP Sinon MPP Si le client affirme que le document qui lui a été présenté pour la transaction N était différent du document qui lui est opposé par le marchand et que sa plainte est valide alors: • SAP sera responsable si App-Sig a transmis à l’afficheur un document différent du document reçu du serveur ou différent de celui renvoyé au serveur (avec l’estampille N) • Sinon MPP sera responsable 22 Définitions plus souples de la responsabilité Intérêts de cette formalisation : • • • Simplicité Correspondance avec les caractérisations en langue naturelle Fondement pour l’analyse de logs Inconvénient: Définition rigide Généralisation: Notion de causalité entre un ou des faits générateurs (erreurs) et un dysfonctionnement 23 Définitions formelles de causalité • Difficulté: • • • Possibilité d’existence de plusieurs erreurs dans une trace ⇒ Nécessité d’identifier les erreurs qui sont véritablement à l’origine du dysfonctionnement Définitions formelles: • • • Causalité simple: existence de dépendance logique entre l’exécution erronée d’un composant C et un dysfonctionnement Causalité nécessaire: le dysfonctionnement ne se serait pas produit si le composant C s’était exécuté sans erreur (indépendamment des comportements des autres composants) Causalité suffisante: l’exécution erronée du composant C devait inévitablement provoquer le dysfonctionnement (indépendamment des comportements des autres composants) 24 Bilan • • • • Des critères formels pour • Concevoir une bonne architecture de logs • Définir précisément certaines attributions de responsabilité • Analyser les logs de manière incrémentale Des applications à des études de cas Une architecture de logs en OSGi (Open Services Gateway initiative) pour la signature électronique sur mobile Possibilité d’utiliser ces principes, méthodes et outils de manière pragmatique, en fonction des besoins. 25 Conclusion • • Bénéfice: aide aux parties ou aux experts pour déterminer les responsabilités de manière la plus objective possible Philosophie : considérer la problématique des responsabilités juridiques en amont, de façon à faciliter le règlement des différends potentiels entre les parties le cas échéant Après le “security by design”, le “privacy by design”, l’”accountability by design” ?