Vérification automatique pour l'exécution sécurisée de composants Java
Les plates-formes dynamiques de services permettent d'exécuter simultanément plusieurs composants fournis par des tiers. Ceci apporte une grande flexibilité dans leur utilisation. Toutefois, les implications pour la sécurité du système sont encore mal connues : quels sont les risques posés par l'exécution de composants tiers pour la plate-forme d'exécution et les autres composants ? Comment y remédier ? A partir d'expérimentations réalisées sur la plate-forme Java/OSGi, nous proposons une classification des vulnérabilités des plates-formes dynamiques de services et des composants. Deux solutions sont proposées pour les résoudre. Le contrôle d'accès basé composants (CBAC, pour Component-based Access Control) permet de limiter l'accès à des méthodes dangereuses de la plate-forme ou des composants. La validation est effectuée par analyse statique de code. L'analyse de composants faibles (WCA, pour Weak Component Analysis) permet d'identifier les vulnérabilités des composants, par analyse statique de code également. CBAC et WCA exploitent la phase d'installation des composants pour réaliser les vérifications nécessaires. Seuls les composants valides sont installés.
Service-oriented Programming (SOP) platforms allow to simultaneously execute several components provided by third parties. This introduces flexibility in applications.However, the security implications are not well understood so far. Which are the risks of executing third party components for the platform and other components? How to remedy to them? Based on experiments performed with the Java/OSGi platform, we propose a classification of SOP platform and components vulnerabilities. Several solutions are proposed to solve these vulnerabilities. Component-based Access Control (CBAC) enables to restrict the acccess to sensitive methods in the platform or components. Validation is performed through code static analysis. Weak Component Analysis (WCA) enables to identify vulnerabilities in the component Bytecode with a similar static analysis technique. CBAC and WCA exploit the installation phase of componentts to perform required validations. Only valid components are then installed.
P.PARREND, S.FRÉNOT
analyse statique, composants, service-oriented programming, Java, OSGi.
static analysis, components, service- oriented programming, Java, OSGi.
Français
|