Modèles de Sécurité logicielle pour les plates-formes à composants de service (SOP) - Centre of Innovation in Telecommunications and Integration of services Accéder directement au contenu
Thèse Année : 2008

Software Security Models for Service-Oriented Programming (SOP) Platforms

Modèles de Sécurité logicielle pour les plates-formes à composants de service (SOP)

Résumé

Service-oriented programming (SOP) platforms are generic execution environments enforcing a proper architectural model for applications: software components communicate through well-defined interfaces, which eases the configuration and evolution of applications. These platforms take advantage of their networked environment to perform distributed functional tasks, but also to enhance their management and evolution capacity. They are involved in numerous contexts, from applications servers to embedded health-care and automotive sys- tems. The increased flexibility brought in by SOP platforms enables to integrate components provided by different issuers during the design phase and even at runtime. This trend has nonetheless a serious drawback. Few tools exist to assess the actual quality of the resulting systems, and none is available to guarantee that the selected components do not perform malicious actions. In applications such as e-Business systems or sensitive embedded systems, the intervention of attackers can not be excluded. Software Security Assurance provides methods for the development of secure applications, but focuses on monolithic systems. Its principle is the following one: vulnerabilities should be identified and solved as early as possible in the life-cycle to avoid runtime abuses and to reduce patching costs. However, this approach is not well-suited for component applications: the development process is not controlled by the integrator. When the integration is performed at runtime, no human intervention is possible to evaluate the quality of the components. We therefore propose to perform a security analysis of one prototypical SOP platform, the OSGi platform, and to provide protection mechanisms tailored to the identified requirements. The security analysis of the OSGi platform is performed with a dedicated method we define for security benchmarking, SPIP , the Spiral Process for Intrusion Prevention. It supports the assessment of vulnerabilities of the target system and of the protective power of associated security mechanisms. The output of the analysis is: the vulnerabilities of the Java/OSGi platform, and the vulnerabilities of Java SOP components. Several protections mechanisms are developed to prevent the exploitation of identified vul- nerabilities. They are implemented in the platform itself and at the component level. Hardened OSGi is a set of recommendations for building more robust implementations of the OSGi platform. CBAC, Component-based Access Control, is an access control mechanism that ver- ifies at install time that a component only performs calls it is authorized to. It intends to be more flexible than the Java security manager, to ensure that policy-compliant components only are installed and to reduce as much as possible the verification performance overhead. WCA, Weak Component Analysis, is a tool for identifying exploitable vulnerabilities in SOP components, according to the exposition of classes: shared objects, i.e. SOP services, shared classes, and component internal classes are not plagued by the same type of vulnerabilities. Our propositions are validated through their integration with a secure JVM dedicated to OSGi applications, the JnJVM. The resulting environment proves to have very encouraging security benchmarking results.
Les plates-formes dynamiques de services (SOP, pour ?service-oriented programming') sont des environnements d'exécution génériques qui définissent un modèle d'architecture logicielle structuré: les composants communiquent par le biais d'interfaces explicites, ce qui facilite la configuration et l'évolution de ces systèmes. Les plates-formes SOP utilisent leur envi- ronnement réseau pour réaliser des tâches fonctionnelles, mais également pour améliorer leur capacité de gestion et d'évolution. Elles sont exploitées dans des contextes variés, des serveurs d'application aux systèmes embarqués médicaux ou automobiles. La flexibilité apportée par les plates-formes SOP permet l'intégration de composants de plusieurs sources aussi bien lors de la conception qu'à l'exécution. Cette tendance induit cependant un risque important. Peu d'outils existent pour évaluer la qualité des systèmes résultants, et aucun ne garantit que les composants sélectionnés ne sont pas malicieux. Dans des contextes applicatifs tels que les systèmes e-Business ou les systèmes embarqués sensibles, l'existence d'attaques n'est pas à exclure. L'assurance de sécurité logicielle (Software Security Assurance) définit des méthodes pour le développement d'applications sûres, mais se concentre sur les systèmes monolithiques. Son principe est le suivant: les vulnérabilités doivent être identifiées et résolues tôt dans le cycle de vie pour éviter les attaques lors de l'exécution et limiter les coûts de réparation. Cepen- dant, cette approche ne peut s'appliquer directement aux applications à composants, où le développement n'est pas nécessairement contrôlé par l'intégrateur, et où l'intégration peut avoir lieu à l'exécution de manière automatisée. Nous proposons par conséquent de réaliser une analyse de sécurité pour une plate-forme SOP de référence, la plate-forme OSGi, et de fournir des mécanismes de protection adaptés aux besoins ainsi identifiés. L'analyse de sécurité de la plate-forme OSGi est réalisée par une méthode spécifique, SPIP , le Processus Spirale de Prévention d'Intrusion (Spiral Process for Intrusion Prevention). Elle permet l'évaluation des vulnérabilités du système cible et de la protection apportée par les mécanismes de sécurité associés. Le résultat de l'analyse est : les vulnérabilités de la plate-forme Java/OSGi, et les vulnérabilités des composants SOP Java. Plusieurs mécanismes de protection sont développés pour prévenir l'exploitation des vul- nérabilités identifiées. Ils sont implémentés dans la plate-forme elle-même et au niveau des composants. OSGi Robuste (Hardened OSGi) est un ensemble de recommandations pour la mise en oeuvre de plates-formes OSGi résistantes. CBAC, le contrôle d'accès basé composants (Component-based Access Control) est un mécanisme de contrôle d'accès qui vérifie lors de l'installation qu'un composant n'exécute que les appels explicitement autorisés. Son objectif est d'être plus flexible que le gestion de sécurité Java, de garantir que seuls les composants valides soient installés et de réduire autant que possible le coût de vérification en terme de performance. WCA, l'analyse de composants faibles (Weak Component Analysis), est un outil pour identifier les vulnérabilités exploitables dans les composants SOP selon l'exposition des classes: les objets partagés tels les services SOP, les classes partagées et les classes internes des composants ne sont pas concernés par les mêmes vulnérabilités. Nos propositions sont validées par leur intégration avec une JVM sécurisée dédiée aux applications OSGi, la JnJVM. Les propriétés de sécurité de l'environnement ainsi réalisé sont encourageantes.
Fichier principal
Vignette du fichier
pparrend08phd.pdf (3.16 Mo) Télécharger le fichier
parrend08phd_v3_short.pdf (896.53 Ko) Télécharger le fichier
Format : Autre

Dates et versions

tel-00362486 , version 1 (18-02-2009)

Identifiants

  • HAL Id : tel-00362486 , version 1

Citer

Pierre Parrend. Modèles de Sécurité logicielle pour les plates-formes à composants de service (SOP). Réseaux et télécommunications [cs.NI]. INSA de Lyon, 2008. Français. ⟨NNT : ⟩. ⟨tel-00362486⟩
632 Consultations
1770 Téléchargements

Partager

Gmail Facebook X LinkedIn More