Exploiting Java Code Interactions - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Technical Report) Year : 2011

Exploiting Java Code Interactions

Abstract

Many Java technologies allow the execution of code provided by multiple parties. Service-oriented platforms based on components such as OSGi are good examples of such a scenario. Those extensible component-based platforms are service-oriented, as components may directly interact with each other via the services they provide. However, even robust languages such as Java were not designed to handle safely code interaction between trusted and untrusted parties. In this technical report, we review how basic Java interactions can break encapsulation or execution safety. The Java security layers contribution is questionable in such environments as they induce tangible overheads without covering all threats. We also review flaws in the Java access control design that can allow untrusted code to bypass restrictions by exploiting vulnerabilities in trusted code. Our audit on real-life trusted bundles from OSGi implementations shows that real-life components do not seem prepared yet to malicious interactions.
De multiples technologies Java permettent l'exécution de code fourni par différentes parties dans un même environnement. Les plateformes orientées service comme OSGi en sont un exemple. Ces plateformes gèrent des composants différents qui n'interagissent entre eux que par les points d'entrées publics que sont les services. Même si Java est robuste par nature, il n'a pas été conçu pour gérer de telles interactions dans le cas où certaines parties sont malveillantes. Dans ce rapport technique, nous exposons comment les méchanismes basiques de Java peuvent mettre en danger l'encapsulation et la sureté d'exécution. Nous expliquons aussi pourquoi les couches de sécurité additionelles ne paraissent pas adaptées à ces environnements à composants et ne garantissent pas une couverture de sécurité optimale. Nous exposons également les problèmes du contrôle d'accès basé sur la pile d'appel et comment il peut permettre à du code malveillant de contourner les restrictions en s'appuyant sur du code de confiance. Enfin, notre audit de différents composants du monde réel montre que les plateformes à composants ne sont pas préparées à la présence de code malveillant.
Fichier principal
Vignette du fichier
RT-0419.pdf (255.01 Ko) Télécharger le fichier
Origin Files produced by the author(s)
Loading...

Dates and versions

hal-00652110 , version 1 (15-12-2011)

Identifiers

  • HAL Id : hal-00652110 , version 1

Cite

François Goichon, Guillaume Salagnac, Stéphane Frénot. Exploiting Java Code Interactions. [Technical Report] RT-0419, INRIA. 2011. ⟨hal-00652110⟩
276 View
1739 Download

Share

Gmail Mastodon Facebook X LinkedIn More