Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allamaraju, S., et al.: Professional: Java Server Programming J2EE. Wrox Press (2001)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Hunt, G., et al.: An Overview of the Singularity Project. Technical Report MSR-TR-2005-135, Microsoft Research (2005)
Jahn, M., Terzic, B., Gumbel, M.: Do not disturb my circles – Application isolation with OSGi. OSGi Community Event, Berlin (2008)
Java Card Technology, http://java.sun.com/javacard/
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)
JSR 121: Application Isolation API Specification, http://jcp.org/en/jsr/detail?id=121
JSR 195: Information Module Profile, http://jcp.org/en/jsr/detail?id=195
JSR 217: Personal Basis Profile 1.1, http://jcp.org/en/jsr/detail?id=217
JSR 271: Mobile Information Device Profile 3, http://jcp.org/en/jsr/detail?id=271
JSR 284: Resource Consumption Management API, http://jcp.org/en/jsr/detail?id=284
Kalaimagal, S., Srinivasan, R.: A retrospective on software component quality models. SIGSOFT Software Engineering 33, 1–10 (2008)
Kamp, P.H., Watson, R.N.M.: Jails: Confining the omnipotent root. In: Proceedings of the 2nd International SANE Conference (2000)
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)
Laprie, J., Randell, B.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Trans. Dependable Secur. Comput. 1(1), 11–33 (2004)
Liang, S., Bracha, G.: Dynamic Class Loading in the Java Virtual Machine. In: OPSLA 1998, pp. 36–44 (1998)
Lowy, J.: 2001 COM and.NET Component Services, 1st edn. O’Reilly & Associates, Inc., Sebastopol (2001)
Matos, M., Sousa, A.: Dependable Distributed OSGi Environment. In: MW4SOC 2008, pp. 1–6. ACM, New York (2008)
Nelson, V.P.: Fault-Tolerant Computing: Fundamental Concepts. IEEE Computer 23(7), 19–25 (1990)
Nierstrasz, O., Dami, L.: Component-Oriented Software Technology. Object-Oriented Software Composition. Prentice-Hall, Englewood Cliffs (1995)
OSGi Alliance, http://www.osgi.org
OSGi Alliance. About the OSGi Service Platform, Technical Whitepaper Revision 4.1 (June 7, 2007), http://www.osgi.org/wiki/uploads/Links/OSGiTechnicalWhitePaper.pdf
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)
Rellermeyer, J.S., Alonso, G., Roscoe, T.: R-OSGi: Distributed Applications through Software Modularization. In: The ACM/IFIP/USENIX 8th International Middleware Conference (2007)
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)
Schmidt, H.: Trustworthy components-compositionality and prediction. Journal of Systems Software 65(3), 215–225 (2003)
Stutz, D., Neward, T., Shilling, G.: Shared Source Cli Essentials. O’Reilly, Sebastopol (2002)
Sun Microsystems. Multitasking Guide-Sun Java Wireless Client Softw., Version 2.1, JME. 04/2008, http://java.sun.com/javame/reference/docs/sjwc-2.1/pdf-html/multitasking.pdf
Sun Microsystems. The CDC Application Management System. White Paper (June 2005), http://java.sun.com/j2me/docs/cdc_appmgmt_wp.pdf
Squawk Java ME VM, https://squawk.dev.java.net/
Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gama, K., Donsez, D. (2009). Towards Dynamic Component Isolation in a Service Oriented Platform. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds) Component-Based Software Engineering. CBSE 2009. Lecture Notes in Computer Science, vol 5582. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02414-6_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-02414-6_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02413-9
Online ISBN: 978-3-642-02414-6
eBook Packages: Computer ScienceComputer Science (R0)