CEG4566/CSI4541 Conception de systèmes temps réel



Documents pareils
Systèmes et algorithmes répartis

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Introduction aux systèmes temps réel. Iulian Ober IRIT

Sûreté de fonctionnement. Cyber-sécurité et sécurité informatique Similitudes d approche avec la sécurité fonctionnelle

Rapport de certification

Meilleures pratiques de l authentification:

Notions de sécurités en informatique

Annexe 5. Kaspersky Security For SharePoint Servers. Consulting Team

Vulnérabilités et sécurisation des applications Web

Windows Internet Name Service (WINS)

La gestion du diabète lors des sports : apports des nouvelles technologies

Bibliographie. Gestion des risques

Sécurité et sûreté des systèmes embarqués et mobiles

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Conditions de Maintenance et Service Après-Vente

LIVRE BLANC. Mise en œuvre d un programme efficace de gestion des vulnérabilités

Rapport de certification

s é c u r i t é Conférence animée par Christophe Blanchot

Solutions de sécurité des données Websense. Sécurité des données

Processus d Informatisation

Validation des processus de production et de préparation du service (incluant le logiciel)

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Concilier mobilité et sécurité pour les postes nomades

MEAD : temps réel et tolérance aux pannes pour CORBA

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

PARTENAIRE COMMERCIAL DE MSD CODE DE CONDUITE

Ordonnancement temps réel

A propos de la sécurité des environnements virtuels

L application doit être validée et l infrastructure informatique doit être qualifiée.


Validation temporelle de réseaux embarqués critiques et fiables pour l automobile

Ma ligne de conduite (le «Concours»)

Appliances et logiciels Security

Manuel programmation QUESTOR

Sécurité des Systèmes d Information Une politique simple pour parler à la Direction Générale De la théorie à la pratique

Differential Synchronization

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.

L APS ET LE DIABETE. Le diabète se caractérise par un taux de glucose ( sucre ) trop élevé dans le sang : c est l hyperglycémie.

Fiche Technique. Cisco Security Agent

Les diagrammes de modélisation

Partie 7 : Gestion de la mémoire

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Présentation CERT IST. 9 Juin Enjeux et Mise en Œuvre du DLP. Alexandre GARRET Directeur des Opérations ATHEOS agarret@atheos.

Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne Yosr Jarraya. Chamseddine Talhi.

Cours de Génie Logiciel

Académie d Orléans-Tours Février Proposition de situation d enseignement Christine Fillâtre et Marie-Line Zanon

Tolérance aux fautes - 1 Introduction, techniques de base

Gestion des incidents

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

que dois-tu savoir sur le diabète?

Norme internationale d information financière 1 Première application des Normes internationales d information financière

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Métriques de performance pour les algorithmes et programmes parallèles

Contrat de Niveau de Service pour les Services en Ligne Microsoft

PRESENTATION MEHARI: Process Reference Model MEHARI. Version Modification Date Author V00_ CSI

NOTIONS DE PROBABILITÉS

Security Service de Services sécurité. Protocole de surveillance des alarmes de sécurité

Chap. I : Introduction à la sécurité informatique

Brevet fédéral. Examen final à blanc. Informaticien-ne - Tronc commun. Version 1.1.0

INSTRUCTION DE SÉCURITÉ

Virtualisation et sécurité Retours d expérience

Document de présentation technique. Blocage du comportement

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Surveillance de réseau : un élément indispensable de la sécurité informatique

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

J aimerais garder les hypoglycémies sous contrôle - Que puis-je faire?

SOMMAIRE Introduction générale 1. Aspect normatif de la sécurité des machines 2. Concepts et outils de sûreté de fonctionnement

MV Consulting. ITIL & IS02700x. Club Toulouse Sébastien Rabaud Michel Viala. Michel Viala

ANALYSE DE RISQUE AVEC LA MÉTHODE MEHARI Eric Papet Co-Fondateur SSII DEV1.0 Architecte Logiciel & Sécurité Lead Auditor ISO 27001

La sécurité informatique d'un centre d imagerie médicale Les conseils de la CNIL. Dr Hervé LECLET. Santopta

Lignes directrices relatives à la réduction des débris spatiaux du Comité des utilisations pacifiques de l espace extra-atmosphérique

Introduction au temps réel

Système de management H.A.C.C.P.

Bee Ware. Cible de Sécurité CSPN. Validation Fonctionnelle Validation Fonctionnelle Bon pour application AMOA BEEWARE BEEWARE

ITIL Examen Fondation

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

La sécurité dans les grilles

Une Architecture de Bureaux Graphiques Distants Sécurisée et Distribuée

Cours A7 : Temps Réel

Solutions informatiques (SI) Semestre 1

Risques liés aux systèmes informatiques et de télécommunications

Protocoles cryptographiques

La sécurité des ordiphones : mythe ou réalité?

CONDITIONS GENERALES POUR LA LOCATION DE GRUES, LE GRUTAGE ET LE TRANSPORT. 1. Conditions générales

Gé nié Logiciél Livré Blanc

CONDITIONS GENERALES DE VENTE

DNSSEC. Introduction. les extensions de sécurité du DNS. Les dossiers thématiques de l AFNIC. 1 - Organisation et fonctionnement du DNS

Rapport de certification

Améliorer la Performance des Fournisseurs

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Industrie des cartes de paiement (PCI) Norme de sécurité des données Récapitulatif des modifications de

Quelles pistes pour rendre vos réseaux plus intelligents?

Guide de démarrage rapide

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

l informatique est vitale pour mon activité je protège mon matériel et mon entreprise

30-36 CENTRÉ RATIONAL DE LA RECHERCHE SCIENTIFIQUE LABORATOIRE D'ANALYSE ET SQUALE : CEÏTERES D'EVALUATION BE LA SURETE 0E.

Transcription:

CEG4566/CSI4541 Conception de systèmes temps réel Chapitre 6 Vivacité, sécurité (Safety), fiabilité et tolérance aux fautes dans les systèmes en temps réel 6.1 Introduction générale aux notions de sécurité et de vivacité Une propriété de sécurité indique que rien de mauvais ne peut arriver. Une propriété de vivacité indique qu une bonne chose peut éventuellement arriver. En pratique ses notions sont implémentées par l utilisation des threads et des moniteurs. Notre objectif : Est de s assurer que les deux propriétés ci-dessus sont satisfaites dans notre système en temps réel. 6.2 Vivacité 6.2.1 Définition Il est possible que deux processus n'arrivent jamais à se synchroniser pour une raison ou pour une autre. Ceci peut conduire à l'absence de réalisation d'un objectif fixé sans pour autant qu'il y ait interblocage. Exemple: Pour réparer un chauffe-eau électrique, le plombier peut demander que l alimentation électrique soit correctement installée: il faut donc l'intervention préalable de l'électricien; l'électricien peut lui exiger de ne faire les travaux que lorsque il n y ai plus de risques et que les problèmes de fuites d'eau seront résolus : il faut au préalable l'intervention du plombier Les deux processus sont actifs (ils viennent régulièrement) mais ils ne font pas progresser les choses : on est face à une activité non constructive et donc un problème de vivacité 6.2.2 Propriétés de la vivacité Soit l exemple suivant (d après Jeff Magee). Un passage sur un pont à sens unique ne peut laisser passer les voitures que sur une seule voie. Les voitures ne peuvent avancer concurremment que ci elles vont dans la même direction. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 1

On a un problème si deux voitures avançant dans deux directions différentes entrent sur le pont en même temps. Model : - Événements ou actions intéressantes? Entrer et Sortir - Processus? Voitures et Pont - Propriétés? Sens unique - Définir chaque processus et les interactions entre processus (structure) - const N = 3 //nombre de chaque type de voiture - Range T = 0..N //comptage de voiture - Range ID= 1..N //Identité de la voiture La question est : Est-ce chaque voiture a éventuellement une chance de traverser le pont? On dit qu elle progresse. La propriété de progression indique qu il est toujours possible qu une action va éventuellement s exécuter. La progression est le contraire de la famine (nom donné à une situation où une action n a aucune de s exécuter). Choix équitable : Si un ensemble de transitions est exécuté indéfiniment souvent, alors chaque transition de cet ensemble doit être exécutée indéfiniment souvent. Exemple : Jeter indéfiniment une pièce en l air, les deux faces de la pièce (pile, face) vont sortir indéfiniment souvent. Si on applique le principe du choix équitable à notre exemple de pont, il y aura toujours progression. progress BLUECROSS = {blue[id].enter} progress REDCROSS = {red[id].enter} Aucune violation de la progression détectée. Pour détecter des violations de la règle de progression, il faut soumettre le système à des situations où le choix équitable n est plus possible. Par exemple, une congestion du pont. Dans ce cas on impose une règle d ordonnancement adaptée pour éviter la famine et assurer la progression. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 2

Exemple d algorithme (d après Jeff Magee) : Le problème est qu il se peut que des voitures attendent aux deux extrémités du pont et que le pont n autorisent ni les voitures bleues ni rouges à le traverser. Si on suppose qu on a 3 voitures rouges et 3 bleues qui attendent, on aura le cas suivant : red.1.request red.2.request red.3.request blue.1.request blue.2.request blue.3.request Solution? Introduire une certaine asymétrie dans le problème sous la forme d une variable booléenne (bt) qui casse le blocage en indiquant si c est le tour des bleues ou des rouges de traverser. Arbitrairement on initialise bt à 1 ce qui donne la priorité au bleues. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 3

6.3 Sécurité (safety) 6.3.1 Définitions Aptitude d une entité à maintenir un niveau d acceptabilité d événement à priori redoutés pouvant mettre en cause immédiatement ou à terme la vie de l homme, l intégrité de ses biens, son environnement (c est la probabilité que le système puisse faire apparaitre des événements définis comme redoutés avec un niveau de risque inacceptable). Par contre, la sureté de fonctionnement : Caractérise l aptitude pour un système, un produit ou une activité de satisfaire l ensemble des performances opérationnelles requise pour une mission donnée. Quand on dit que la sécurité indique que rien de mauvais ne peut arriver, on sous-entend que : - Pas d ARRET ou de BLOCAGE (aucune transition possible) - Pas d ERREUR dans la détection d un comportement erroné du système. - Aucun état ERREUR/ARRET qui soit un état puits du système (voir RdP, chapitre II). 6.3.2 Exemple Dans l exemple précédent du pont à sens unique, une erreur dans la détection du comportement erroné du système peut provoquer des conséquences catastrophiques. Des solutions s imposent : - Synchronisation - Priorité - Exclusion mutuelle Les conditions d erreur indiquent ce qui n est par requis par le système (ex : les exceptions) Dans les systèmes complexes et critiques, on préfère spécifier clairement toutes les exigences de sécurité on indiquant ce qui est requis par le système. Souvent on fait ce qu on appelle une analyse de sécurité. Remarque : En plus d assurer la sécurité on doit assurer aussi la vivacité du système et une certaine sureté de fonctionnement. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 4

6.4 Fiabilité et tolérance aux fautes 6.4.1 Mise en situation Dans les systèmes à grande présence de logiciel (des millions de ligne de code): - Pour chaque million de lignes de code 20000 erreurs (bugs) - 90% des erreurs sont détectées lors des tests logiciels - 200 erreurs vont apparaitre lors de la première année d utilisation. - 1800 erreurs vont rester non détectées. - Et le pire c est les erreurs dormantes! 6.4.2 Définitions Fiabilité du logiciel : - On ne peut pas vraiment parler de fiabilité quand in s agit de logiciel, la fiabilité est plutôt réserver au matériel. - Certain la définissent comme une mesure du succès qu a un système à se conformer à certaines exigences de son comportement. Défaillance du logiciel : - C est une déviation du système par rapport aux exigences pour lesquelles il a été développé. - Les défaillances résultent de problèmes internes au système qui se manifestent dans le comportement externe du système. - Ces problèmes sont appelés erreurs et les algorithmes qui les causent sont appelés fautes. - 4 Sources de fautes qui peuvent conduire à la défaillance du système : o Spécification (exigences) incorrectes. o Erreurs de conception du logiciel. o Erreurs matériel (processeur) o Erreurs de communication entre sous-systèmes. Classification des fautes : - Transitoire : Elle apparait une fois puis disparait. - Intermittente : Elle est transitoire et apparait périodiquement. - Permanente : Continue d exister jusqu au moment où on répare la composante fautive. Types de défaillance : - Crash : Un serveur s arrête de fonctionner mais jusque là il fonctionne correctement. - Omission : Un serveur omet de répondre à une demande. - Timing : La réponse est en dehors des limites temporelles imposées par le système en temps réel. - Réponse incorrect. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 5

- Défaillance arbitraire (Byzantine) : Des réponses arbitraires sont produites à des temps arbitraires. Classification des modes de défaillance Mode défaillance Domaine valeur Domaine temps Aléatoire (Incontrollable) Erreur de contrainte Erreur de valeur En avance Omission En retard Défaillance sourde Arrêt Défaillance contrôlée 6.4.3 Risques et sécurité - dans le cadre des systèmes informatiques, la sécurité doit couvrir aussi bien les nuisances de nature aléatoire (les dangers) que les nuisances de nature volontaire (les menaces). - Pour bien marquer cette distinction, les spécialistes de gestion des risques informatiques utilisent les termes de : o Sécurité-innocuité dans le premier cas (Safety) o Sécurité-confidentialité dans le second cas (Security) La sécurité-innocuité : - Elle concerne l aptitude du système à ne pas connaitre d événements catastrophiques. - Les dangers sont des défaillances du matériel, les défaillances du logiciel et les erreurs humaines non intentionnelles (non malicieuses). - Ces aspects sont traités dans le cadre de la sureté de fonctionnement. La sécurité-confidentialité : - Elle concerne l aptitude du système à se prémunir de la manipulation non-autorisée de l information à des fins malveillantes. - Ces aspects sont traités dans le cadre de la sécurité des systèmes informatiques. Note : Dans notre cours de système en temps réel, on ne regarde que les aspects de sureté de fonctionnement (safety) Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 6

Exercice : Cocher la bonne case : Sécurité-innocuité? ou confidentialité? 6.4.4 Tolérance aux fautes Les systèmes embarqués, critiques et en temps réel sont toujours conçus comme étant des systèmes tolérants aux fautes. La tolérance aux fautes est fortement liée aux notions suivantes : Disponibilité, fiabilité, sécurité, sureté, maintenabilité. C est ce qu on appelle la dépendabilité. Dépendabilité Prêt à l usage Continuité de délivrance du service Pas de conséquences catastrophiques Pas d accès non autorisé à l information Pas d altération de l information Aptitude à être réparé Disponible Fiable Sécuritaire Confidentiel Intègre Maintenable Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 7

Exemple : Une attaque cybernétique : 6.4.5 Comment construire un système en temps réel tolérant aux fautes? Réponse 1 : Il faut construire un système sûr de sa conception à sa validation. Un système sûr de sa conception à sa validation Évitement des fautes Élimination des fautes Tolérance aux fautes Prévision des fautes Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 8

Réponse 2 : Il faut prévoir des dispositions à la sécurité Réponse 3 : Il faut intervenir à différentes étapes de la conception pour démontrer une assurance de la conception et une assurance qualité. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 9

6.5 Étude de cas, Pompe à insuline pour personnes diabétiques (D après Ian Sommerville, Software Engineering 8th edition) 6.5.1 Introduction Les systèmes médicaux intègrent de plus en plus des systèmes informatiques qui sont souvent critiques. La défaillance de ces systèmes peut causer un danger pour la santé ou la vie des patients. La sécurité des patients dépend du bon fonctionnement de ces équipements ainsi que de leur exacte réponse dans le temps. Contrairement aux systèmes industriels, ces instrumentations biomédicales sont souvent fortement intégrées et nécessitent une très grande précision. 6.5.2 Mise en situation Les personnes soufrant de diabète ne sécrètent plus d hormones naturelles pour le métabolisme du glucose. La fonction du pancréas est remplacée par une insuline artificielle. D où dans certains cas la nécessité d utiliser des pompes à insuline. La pompe utilise un capteur qui mesure la quantité de glucose dans le sang à des intervalles de temps réguliers. L insuline sera injectée à des quantités qui ramènent le taux de glucose au taux normal. On observe donc, qu on a des contraintes de temps et de précision. Les attributs de ce type de système sont nécessairement : - La disponibilité. - La fiabilité - La sécurité - La vivacité Question : Justifier ces trois attributs. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 10

6.5.3 Architecture du système Insulin reservoir Needle assembly Pump Clock Sensor Controller Alarm Display1 Display2 Power supply Le flux de données pour un tel système peut se représenté comme suit : Blood Blood sugar sensor Blood parameters Blood sugar analysis Blood sugar level Insulin Insulin pump Pump control commands Insulin delivery controller Insulin requirement Insulin requirement computation 6.5.4 Algorithme - Mesurer le taux de glucose dans le sang - Comparer des mesures successives. - Si le niveau de glucose augmente, alors injecter de l insuline - Maintenir un niveau stable de glucose - Répéter. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 11

Note : L injection de l insuline ne dépend pas seulement de la quantité de glucose dans le sang mais aussi des injections précédentes car l action de l insuline n est pas instantanée. L algorithme de décision d injecter de l insuline et sa quantité est assez complexe. 6.5.5 Scénarios d injection d insuline Niveau De glucose Injecter Région indésirable Injecter Ne pas injecter Ne pas injecter Ne pas injecter Région sécuritaire Région non sécuritaire t1 t2 t3 Temps 6.5.6 Travail personnel Étudier et analyser en détail cette pompe à insuline. Décrire des architectures logicielles et matérielles qui respectent les attributs de ce système en temps réel, embarqué et critique. Chapitre VI - CEG4566/CSI4541 RNM SIGE UOttawa Hiver 2013 12