Towards Dynamic Component Isolation in a Service Oriented Platform

  • Kiev Gama
  • Didier Donsez
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5582)


When dealing with dynamic component environments such as the OSGi Service Platform, where components can come from different sources and may be known only during runtime, evaluating third party components trustworthiness at runtime is difficult. The traditional namespace based isolation and the security mechanisms provided in the Java platform (the base platform for OSGi) can restrict the access of such components but can not provide fault isolation. In this paper we present a dynamic component isolation approach for the OSGi platform, based on a recently standardized Java mechanism. When an untrusted component is activated during runtime, it is isolated in a fault contained environment but it can still collaborate with the application. If it is observed that the untrusted code does not bring any threat to the application, at runtime it can be dynamically promoted to the safe environment. Tests have been performed in a controlled environment where misbehaving components hosted in the sandbox were not able to disturb the main application.


Fault Isolation Remote Method Invocation Java Platform Main Platform Enterprise Java Bean 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allamaraju, S., et al.: Professional: Java Server Programming J2EE. Wrox Press (2001)Google Scholar
  2. 2.
    Binder, W.: Secure and Reliable Java-Based Middleware – Challenges and Solutions. In: 1st International Conference on Availability, Reliability and Security. ARES, pp. 662–669. IEEE Computer Society, Washington (2006)Google Scholar
  3. 3.
    Candea, G., Kawamoto, S., Fujiki, Y., Friedman, G., Fox, A.: Microreboot — A technique for cheap recovery. In: 6th Symposium on Operating Systems Design & Implementation (2004)Google Scholar
  4. 4.
    Czajkowski, G., Daynès, L.: Multitasking without Compromise: a Virtual Machine Evolution. In: The 16th conference on Object-oriented programming, systems, languages, and applications (OOPSLA), New York, USA, pp. 125–138 (2001)Google Scholar
  5. 5.
    Daynès, L., Czajkowski, G.: Sharing the runtime representation of classes across class loaders. In: The European Conf. on Obj. Oriented Progr., Glasgow, UK (2005)Google Scholar
  6. 6.
    Escoffier, C., Donsez, D., Hall, R.S.: Developing an OSGi-like service platform for.NET. In: Consumer Comm. and Networking Conf., USA, pp. 213–217 (2006)Google Scholar
  7. 7.
    Gama, K., Donsez, D.: A Practical Approach for Finding Stale References in a Dynamic Service Platform. In: Chaudron, M.R.V., Szyperski, C., Reussner, R. (eds.) CBSE 2008. LNCS, vol. 5282, pp. 246–261. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Gama, K., Rudametkin, W., Donsez, D.: Using Fail-stop Proxies for Enhancing Services Isolation in the OSGi Service Platform. In: MW4SOC 2008, pp. 7–12. ACM, New York (2008)Google Scholar
  9. 9.
    Geoffray, N., Thomas, G., Folliot, B., Clément, C.: Towards a new Isolation Abstraction for OSGi. In: Engel, M., Spinczyk, O. (eds.) The 1st Workshop on Isolation and integration in Embedded Systems. IIES 2008, pp. 41–45. ACM, New York (2008)Google Scholar
  10. 10.
    Gruber, O., Hargrave, B.J., McAffer, J., Rapicault, P., Watson, T.: The Eclipse 3. 0 platform: Adopting OSGi technology. IBM Systems Journal 44(2), 289–300 (2005)Google Scholar
  11. 11.
    Hunt, G., et al.: An Overview of the Singularity Project. Technical Report MSR-TR-2005-135, Microsoft Research (2005)Google Scholar
  12. 12.
    Jahn, M., Terzic, B., Gumbel, M.: Do not disturb my circles – Application isolation with OSGi. OSGi Community Event, Berlin (2008)Google Scholar
  13. 13.
    Java Card Technology,
  14. 14.
    Jordan, M., Daynès, L., Jarzab, M., Bryce, C., Czajkowski, G.: Scaling J2EETM application servers with the Multi-tasking Virtual Machine. Softw. Pract. Exper. 36(6), 557–580 (2006)CrossRefGoogle Scholar
  15. 15.
    JSR 121: Application Isolation API Specification,
  16. 16.
    JSR 195: Information Module Profile,
  17. 17.
    JSR 217: Personal Basis Profile 1.1,
  18. 18.
    JSR 271: Mobile Information Device Profile 3,
  19. 19.
    JSR 284: Resource Consumption Management API,
  20. 20.
    Kalaimagal, S., Srinivasan, R.: A retrospective on software component quality models. SIGSOFT Software Engineering 33, 1–10 (2008)CrossRefGoogle Scholar
  21. 21.
    Kamp, P.H., Watson, R.N.M.: Jails: Confining the omnipotent root. In: Proceedings of the 2nd International SANE Conference (2000)Google Scholar
  22. 22.
    Kwiatek, M.: Cluster Architecture for Java Web Hosting at CERN. In: The 15th International Conference on Computing In High Energy and Nuclear Physics, Mumbai, India, pp. 528–531 (2006)Google Scholar
  23. 23.
    Laprie, J., Randell, B.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Trans. Dependable Secur. Comput. 1(1), 11–33 (2004)CrossRefGoogle Scholar
  24. 24.
    Liang, S., Bracha, G.: Dynamic Class Loading in the Java Virtual Machine. In: OPSLA 1998, pp. 36–44 (1998)Google Scholar
  25. 25.
    Lowy, J.: 2001 COM and.NET Component Services, 1st edn. O’Reilly & Associates, Inc., Sebastopol (2001)Google Scholar
  26. 26.
    Matos, M., Sousa, A.: Dependable Distributed OSGi Environment. In: MW4SOC 2008, pp. 1–6. ACM, New York (2008)Google Scholar
  27. 27.
    Nelson, V.P.: Fault-Tolerant Computing: Fundamental Concepts. IEEE Computer 23(7), 19–25 (1990)CrossRefGoogle Scholar
  28. 28.
    Nierstrasz, O., Dami, L.: Component-Oriented Software Technology. Object-Oriented Software Composition. Prentice-Hall, Englewood Cliffs (1995)Google Scholar
  29. 29.
    OSGi Alliance,
  30. 30.
    OSGi Alliance. About the OSGi Service Platform, Technical Whitepaper Revision 4.1 (June 7, 2007),
  31. 31.
    Parrend, P., Frénot, S.: Classification of Component Vulnerabilities in Java Service Oriented Programming (SOP) Platforms. In: Chaudron, M.R.V., Szyperski, C., Reussner, R. (eds.) CBSE 2008. LNCS, vol. 5282, pp. 80–96. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  32. 32.
    Rellermeyer, J.S., Alonso, G., Roscoe, T.: R-OSGi: Distributed Applications through Software Modularization. In: The ACM/IFIP/USENIX 8th International Middleware Conference (2007)Google Scholar
  33. 33.
    Royon, Y., Frénot, S., Mouel, F.L.: Virtualization of Service Gateways in Multi-provider Environments. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 385–392. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  34. 34.
    Schmidt, H.: Trustworthy components-compositionality and prediction. Journal of Systems Software 65(3), 215–225 (2003)CrossRefGoogle Scholar
  35. 35.
    Stutz, D., Neward, T., Shilling, G.: Shared Source Cli Essentials. O’Reilly, Sebastopol (2002)Google Scholar
  36. 36.
    Sun Microsystems. Multitasking Guide-Sun Java Wireless Client Softw., Version 2.1, JME. 04/2008,
  37. 37.
    Sun Microsystems. The CDC Application Management System. White Paper (June 2005),
  38. 38.
    Squawk Java ME VM,
  39. 39.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  40. 40.
    Wahbe, R., Lucco, S., Anderson, T.E., Graham, S.L.: Efficient software-based fault isolation. In: The 14th ACM Symposium on Operating Systems Principles. SOSP 1993, pp. 203–216. ACM, New York (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Kiev Gama
    • 1
  • Didier Donsez
    • 1
  1. 1.University of Grenoble, LIG, ADELE teamFrance

Personalised recommendations