Mécanismes de protection dans AUTOSAR OS



Documents pareils
Systèmes et exécutifs temps-réel

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Integrated Modular Avionic

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Temps Réel. Jérôme Pouiller Septembre 2011

Ordonnancement temps réel

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Annexe : La Programmation Informatique

Cedric Dumoulin (C) The Java EE 7 Tutorial

PACKZ System Requirements. Version: Version: Copyright 2015, PACKZ Software GmbH. 1

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

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

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Exécutif temps réel Pierre-Yves Duval (cppm)

Ordinateurs, Structure et Applications

Linux embarqué: une alternative à Windows CE?

Qualité du logiciel: Méthodes de test

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

RTDS G3. Emmanuel Gaudin

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

Manuel programmation QUESTOR

Diagrammes de Package, de déploiement et de composants UML

Christophe Pagezy Directeur Général Mob:

Enjeux et perspectives des logiciel temps réel critiques dans l automobile :

Virtualisation sous Linux L'age de raison. Daniel Veillard

Nicolas Hanteville. for(e=n;s<i;c++){attitude();} Sur environnement Microsoft Windows

Présentation et installation PCE-LOG V4 1-5

Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Plan. Department of Informatics

Opportunités s de mutualisation ITIL et ISO 27001

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Package Contents. System Requirements. Before You Begin

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

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

VERSION 64 BITS DE SAS ET VOS FICHIERS MICROSOFT OFFICE 32-BITS

Projet Active Object

DEPLOIEMENT MICROSOFT WINDOWS

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Concept de machine virtuelle

Déploiement de SAS Foundation

LA PROTECTION DES DONNÉES

Introduction aux systèmes temps réel

MRTG & RRD Tool. Multi Router Traffic Grapher

Simple Database Monitoring - SDBM Guide de l'usager

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

Partie 7 : Gestion de la mémoire

<Insert Picture Here> Best Practice : Réduction Coût de migration R12

EXA1415 : Annotations

StruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie

Déploiement de l infrastructure SOA. Retour d expérience Août 2013

ArcGis Server 10 (sur VM CentOS bits) DOCUMENT D INSTALLATION

La technologie Java Card TM

Monitoring continu et gestion optimale des performances énergétiques des bâtiments

Forthcoming Database

Guide d installation JMap 5.0

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Principe de symétrisation pour la construction d un test adaptatif

Virtualisation & Sécurité

Projet Sécurité des SI

Dynamiser et optimiser votre IT avec la Virtualisation du poste

1 - Introduction : Déroulement du déploiement avec WDS / MDT :

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Thèse CIFRE. Mécanismes de monitoring sémantique dédiés à la sécurité des infrastructures cloud IaaS

GPA770 Microélectronique appliquée Exercices série A

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

RECONSTRUCTION D'UN MODÈLE 3D D'OBJET AVEC LA KINECT

Formats 3D Critères d utilisation dans les échanges Frédéric CHAMBOLLE PSA Peugeot Citroën Direction des Systèmes d Information

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

Patrons de Conception (Design Patterns)

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

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

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases

Web Tier : déploiement de servlets

Le cadre des Web Services Partie 1 : Introduction

as Architecture des Systèmes d Information

PASS v2.0 : solution d authentification unique basée sur les composants Shibboleth Service Provider v2.5.1 et Identity Provider v2.3.

Les services d accompagnement. pour les éditeurs

VMware : De la Virtualisation. au Cloud Computing

Installer Enterprise Miner 5.1 en SAS environnement Windows

Playzilla - Chargement par clé usb

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Automatisation de l administration système

Mise en oeuvre TSM 6.1

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Rapport de certification

ORACLE PAAS CLOUD MANAGEMENT

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting)

Montée de Version SAP en environnement Solaris 10 TEMOIGNAGE Client

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Sécurité des réseaux sans fil

Transcription:

Mécanismes de protection dans AUTOSAR OS Nicolas Navet, RTaW Hervé Perrault, PSA Peugeot Citroën Conférence à RTS 09 le 31/03/2009

Plan 1. Code ECU : besoin de ré-utilisabilité et multi-source 2. Concepts de base de la protection OS 3. Mécanismes de protection mémoire et implication sur l ordonnancement ECU 4. Mécanismes de protection temporelle 5. Mécanismes de protection du service 6. Possibilités, limites et perspectives 2009 RTaW / PSA - 2

Objectif central de AUTOSAR : code multi-source ré-utilisable Situation typique pré-autosar: l intégrateur fournit 100% du code d un ECU Difficultés pour l OEM: Intégrer du code «maison» ou du code tiers Ré-utiliser du code applicatif et ses paramètres de (pré-) calibration Faire jouer la concurrence sur le meilleur ratio perf / qualité / cout sur des modules ciblés Engagement en responsabilité délicat si code multisource.. 2009 RTaW / PSA - 3

Mécanismes de protection OS: services de partitionnement mémoire / temporel Bénéfices: Non interférence des applications entre elles et confinement des erreurs Phase mise au point et véhicule série Sécurise l intégrateur et facilite le partage des responsabilités Ré-utilisabilité et multi-source coûts et qualité par effet levier de la transversalité des modules Services standardisés (hors champ compétitif): référentiel commun économie d échelle et qualité des implémentations grâce au partage entre OEMs (notamment BSW) 2009 RTaW / PSA - 4

Ré-utilisabilité du code L unicité des exigences, notamment en conception «Model based», permet également de réutiliser des paramètres de (pré)calibration Les composants logiciels conservent leur certification ASIL Difficile si architectures fonctionnelles très dissemblables ( WP10.x AUTOSAR) Nécessité de «contrats» sur la disponibilité des ressources?! 2009 RTaW / PSA - 5

Peu de choses avant AUTOSAR OSEK/OS : «OSEK OS does not provide sufficient support for isolating multi-source components at runtime» OSEKTime et HIS : «immature specifications that contain concepts necessary for AUTOSAR» AUTOSAR OS = OSEK/VDX + tables d ordonnancement statiques «switchables» mécanismes de protection concept de code / OS-application «trusted/non-trusted» 2009 RTaW / PSA - 6

La réponse AUTOSAR Problèmes potentiels : confiscation de ressources (CPU, ressources partagées, mémoire, drivers monopolisé), accès/appels non autorisés 5 types de mécanismes protection mémoire protection temporelle protection des services OS protection des ressources matérielles code trusted / non-trusted Déclinés en 4 classes de «scalabilité» 2009 RTaW / PSA - 7

Protection OS: exécuter des applications multi-sources sur un même ECU OS-applications: unités fonctionnelles composées d objet-os (tâches, tables d ordonnancement, etc) Portée de la protection: OS-applications oui tâches OS oui runnables non ISR 1 non ISR 2 oui OS-Application tiers OS-Application OEM 2009 RTaW / PSA - 8

OS-applications trusted vs non-trusted Besoin? Modules dont on veut limiter les capacités d accès aux ressources pour d autres impossible Trusted OS-applications: Exécution sans mécanismes de monitoring / protection possible et en mode CPU superviseur Accès complet à la mémoire et à l API de l OS Possibilité d exporter des «trusted functions» exécutées en mode superviseur Non-trusted OS-applications: Protection / monitoring imposés Pas d exécution en mode superviseur Possibilité d accéder à des objets distants «non-trusted» si spécifié à la configuration 2009 RTaW / PSA - 9

Comportement en situation d erreur Appel à protectionhook() définie globalement par l intégrateur possibilités: terminer la tâche terminer l OS-application (restart optionnel) rebooter l ECU ne rien faire protectionhook() peut appeler errorhook() spécifique à l OS-application: traçabilité traitement de l erreur spécifique 2009 RTaW / PSA - 10

2009 RTaW / PSA - 11 Protection mémoire Protection de la pile Protection SC3 et SC4 Protection temporelle Protection du service

Protection mémoire surveillance de la pile Détection d un usage «excessif» de la pile par une tâche, Mécanisme «best-effort» sans nécessité d une MPU, Uniquement lors des changements de contexte détection peu «fiable» et différée (post-erreur) Intérêt pour SC1 & SC2 pb détecté par «stack overflow» pour SC3 & SC4 2009 RTaW / PSA - 12

Protection mémoire SC3 & SC4 Principe: protection en écriture imposée lecture et exécution optionnelle ne concerne que les OS-applications non-trusted Pile : propriété d une tâche ou OS-application Données : propriétés d une tâche ou OSapplication Code : propriété d une OS-application ou partagé (attention si bug dans une librairie partagée!) Périphériques : propriétés d une OS-application 2009 RTaW / PSA - 13

Protection mémoire support hardware pour SC3 & SC4 CPU : mode superviseur et user Memory Protection Unit (MPU) : partition de l espace d adressage avec attributs de protection individuels Disponibilités : SX12E, MPC5510 (Freescale), XC3200 (Infineon), MB91460 (Fujitsu), V850 (NEC), Problème : mécanismes OS génériques, nivellement par le bas.. 2009 RTaW / PSA - 14

Protection mémoire bénéfices attendus Cloisonnement de modules applicatifs distincts : 1. dans des OS-applications mais seulement 2 OSapplications requis par le standard 2. dans des tâches mais peu de protection sur les OSobjets de l OS-application (ex. alarmes, tables d ordonnancement, compteurs, ressources) Mise au point (puis portage sur SC1 ou SC2?) 2009 RTaW / PSA - 15

Protection mémoire exemple d impact sur l ordonnancement (1/2) Exemple typique sans protection, tous les runnables applicatifs ordonnancés dans une même tâche OS runnables a,b,c d,e,f a,g,h b,c,j x,y,z Macro-cycle (1PPCM=1s) Micro-cycles (10ms) Répétition «en boucle» RTaW NETCAR-ECU 2009 RTaW / PSA - 16

Protection mémoire Exemple d impact sur l ordonnancement (2/2) Protection mémoire tâches distinctes Questions: 1. comment regrouper les runnables en tâches? 2. comment prioriser les tâches? Contraintes: nombre de tâches limité (8, 16) runnables dans des tâches!= avec contraintes de temps fortes les priorités sont fixes 2009 RTaW / PSA - 17

Protection mémoire Protection temporelle Protection du service 2009 RTaW / PSA - 18

Protection temporelle vue d ensemble Dépassement d échéances dues: Temps d exécution trop élevés execution time budget Temps de blocage locking time protection Inter-arrivées trop fréquentes inter-arrival time protection Mais SC4 uniquement / obligatoire mais peut-être «bypassée» Pas de deadline monitoring 2009 RTaW / PSA - 19

Protection temporelle contrôle des temps de blocage Temps max. de possession des interruptions / ressources Individualisable par tâche et par ressource Mais.. pas de contrôle sur le nombre de fois où la ressource est prise 2009 RTaW / PSA - 20

Protection temporelle contrôle du temps d exécution Pire temps d exécution (WCET) défini statiquement à la conception Remise à zéro du compteur : Passage dans l état «suspended» Passage dans l état «waiting» (ECCx) Question : applicabilité dans le cas où une attente est nécessaire dans le corps de la tâche? 2009 RTaW / PSA - 21

Protection temporelle Inter-arrival time protection Pour une tâche : paramètre Time Frame spécifie une borne inf. entre deux transitions vers l état ready Pour un ISR : temps minimum entre deux appels Adapté pour des tâches périodiques / sporadiques simples 2009 RTaW / PSA - 22

Protection mémoire Protection temporelle Protection du service 2009 RTaW / PSA - 23

Protection du service Bloquer les appels systèmes incorrects: Arguments invalides Services appelés dans un contexte invalide (ex: terminatetask() dans ISR) Insuffisance de droits pour un service (ex: shutdownos()) Insuffisance de droits pour une ressource 2009 RTaW / PSA - 24

La réponse AUTOSAR en résumé.. Classe de scalabilité 1 (SC1) Classe de scalabilité 2 (SC2) Classe de scalabilité 3 (SC3) Classe de scalabilité 4 (SC4) Protection temporelle Protection mémoire Stack monitoring Protection hook OS-applications Protection des services Appel de functions «trusted» 2009 RTaW / PSA - 25

Protection dans AUTOSAR OS conclusions (1/2) Mécanismes puissants pour: Contrôle mémoire Éviter utilisation excessive CPU Garantir intégrité du système Il est souvent possible de contourner les protections Aucune protection contre des défaillances hardware Quid des ISR1? 2009 RTaW / PSA - 26

Limites: Protection dans AUTOSAR OS conclusions (2/2) seulement 2 OS-applications pas de bibliothèques de fonctions «non-trusted» (?) protection temporelle pour les tâches étendues Autres composants AUTOSAR en retrait (ex: RTE 3.1) Perspectives consortium: extension au multi-processeur / multi-core Perspectives fondeurs : standardiser les mécanismes on-chip ou la façon de les utiliser Perspectives OEM : modification importante de la façon d acheter/produire du logiciel (logiciel transversaux) Diminution de l effort nécessaire pour arriver à l inocuité.. Perspectives fournisseurs de code : faciliter la mise au point et la prise de responsabilité. 2009 RTaW / PSA - 27

Bibliographie (1/2) [1] AUTOSAR Consortium, Specification of Operating System, V3.0.3, R3.1 Rev 0001, 2008. [2] AUTOSAR Consortium, Requirements on Operating System, V2.0.5, R3.1 Rev 0001, 2008. [3] AUTOSAR Consortium, Specification of RTE, V2.0.1, R3.1 Rev 0001, 2008. [4] D. Lohmann, J. Streicher, W. Hofer, O. Spinczyk, W. Shröder- Preikschat, Configurable memory protection by aspects, Proceedings of the 4th workshop on Programming languages and operating systems, 2007. [5] Fujitsu, AUTOSAR Package for Fujitsu automotive microcontrollers description of the MB91460 Series (32-bit), Février 2007. 2009 RTaW / PSA - 28

Bibliographie (2/2) [6] Infineon rolls Autosar compliant microcontroller family, EETimes Europe, http://eetimes.eu/germany/197800861, Juillet 2007. [7] Martin Markert (Freescale), Multiple applications in control units - AUTOSAR-OS allows multiple applications to run on one microcontroller by the use of memory protection, http://www.elektroniknet.de, 2008. [8] Peter Liebscher (Vector Informatik), Timing, memory protection and error detection in OSEK Systems, Embedded Control Europe, pp 41-44, June 2006. [9] DaimlerChrysler AG, OSEK OS Extensions for Protected Applications, Juillet 2003. Available at http://www.automotivehis.de/ [10] OSEK/VDX, Time-Triggered Operating System - Specification 1.0, Juillet 2001. 2009 RTaW / PSA - 29

nicolas.navet@realtimeatwork.com http://www.realtimeatwork.com STAND A7 2009 RTaW / PSA - 30