Abstract
Enforcing security policies to distributed systems is difficult, in particular, to a system containing untrusted components. We designed AspectKE*, an aspect-oriented programming language based on distributed tuple spaces to tackle this issue. One of the key features in AspectKE* is the program analysis predicates and functions that provide information on future behavior of a program. With a dual value evaluation mechanism that handles results of static analysis and runtime values at the same time, those functions and predicates enable the users to specify security policies in a uniform manner. Our two-staged implementation strategy gathers fundamental static analysis information at load-time, so as to avoid performing all analysis at runtime. We built a compiler for AspectKE*, and successfully implemented security aspects for a distributed chat system and an electronic healthcare record workflow system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allan, C., Avgustinov, P., Christensen, A., Hendren, L., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005, p. 364. ACM, New York (2005)
Aotani, T., Masuhara, H.: SCoPE: an AspectJ compiler for supporting user-defined analysis-based pointcuts. In: AOSD 2007, pp. 161–172. ACM, New York (2007)
Bauer, L., Ligatti, J., Walker, D.: Composing security policies with Polymer. In: PLDI 2005, pp. 305–314. ACM, New York (2005)
Bettini, L., De Nicola, R.: A Java Middleware for Guaranteeing Privacy of Distributed Tuple Spaces. In: Guelfi, N., Astesiano, E., Reggio, G. (eds.) FIDJI 2002. LNCS, vol. 2604, pp. 175–184. Springer, Heidelberg (2003)
Bettini, L., De Nicola, R.: Mobile Distributed Programming in X-Klaim. In: Bernardo, M., Bogliolo, A. (eds.) SFM-Moby 2005. LNCS, vol. 3465, pp. 29–68. Springer, Heidelberg (2005)
Bettini, L., De Nicola, R., Pugliese, R.: Klava: a Java package for distributed and mobile applications. Software-Practice and Experience 32(14), 1365–1394 (2002)
Bodden, E., Havelund, K.: Aspect-oriented Race Detection in Java. IEEE Transactions on Software Engineering (2010)
Bruneton, E., Lenglet, R., Coupaye, T.: ASM: a code manipulation tool to implement adaptable systems. In: Proceedings of the ASF (ACM SIGOPS France) Journees Composants 2002: Adaptable and Extensible Component Systems (2002)
Canadian Institutes of Health Research. Secondary Use of Personal Information in Health Research: Case Studies. Public Works and Government Services Canada (2002)
Cannon, B., Wohlstadter, E.: Enforcing security for desktop clients using authority aspects. In: AOSD 2009, pp. 255–266. ACM, New York (2009)
Chiba, S., Nakagawa, K.: Josh: an open AspectJ-like language. In: AOSD 2004, pp. 102–111. ACM, New York (2004)
De Nicola, R., Ferrari, G.L., Pugliese, R.: KLAIM: A kernel language for agents interaction and mobility. IEEE Transactions on Software Engineering 24(5), 315–330 (1998)
De Nicola, R., Ferrari, G.L., Pugliese, R., Venneri, B.: Types for access control. Theoretical Computer Science 240(1), 215–254 (2000)
De Nicola, R., Gorla, D., Hansen, R.R., Nielson, F., Riis Nielson, H., Probst, C.W., Pugliese, R.: From flow logic to static type systems for coordination languages. In: Wang, A.H., Tennenholtz, M. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 100–116. Springer, Heidelberg (2008)
de Oliveira, A.S., Wang, E.K., Kirchner, C., Kirchner, H.: Weaving rewrite-based access control policies. In: FMSE 2007, pp. 71–80. ACM, New York (2007)
Department of Health, UK. NHS Code of Practice-Confidentiality (2003)
Evered, M., Bögeholz, S.: A case study in access control requirements for a health information system. In: ACSW Frontiers 2004, pp. 53–61. Australian Computer Society, Inc. (2004)
Freeman, E., Arnold, K., Hupfer, S.: JavaSpaces principles, patterns, and practice. Addison-Wesley, Reading (1999)
Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)
Gorrieri, R., Lucchi, R., Zavattaro, G.: Supporting secure coordination in SecSpaces. Fundamenta Informaticae 73(4), 479–506 (2006)
Handorean, R., Roman, G.: Secure sharing of tuple spaces in ad hoc settings. ENTCS 85(3), 122–141 (2003)
Kiczales, G.: The fun has just begun. Keynote AOSD (2003)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Liu, Y., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Kniesel, G., Rho, T., Hanenberg, S.: Evolvable pattern implementations need generic aspects. In: RAM-SE 2004, pp. 111–126. Universität Magdeburg (2004)
Hansen, K.A., Kawauchi, K.: Dataflow pointcut in aspect-oriented programming. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 105–121. Springer, Heidelberg (2003)
Navarro, L.D.B., Südholt, M., Vanderperren, W., Fraine, B.D., Suvée, D.: Explicitly distributed AOP using AWED. In: AOSD 2006, pp. 51–62. ACM, New York (2006)
Nishizawa, M., Chiba, S., Tatsubori, M.: Remote pointcut: a language construct for distributed AOP. In: AOSD 2004, pp. 7–15. ACM, New York (2004)
Ostermann, K., Mezini, M., Bockisch, C.: Expressive pointcuts for increased modularity. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 214–240. Springer, Heidelberg (2005)
Sadat-Mohtasham, H., Hoover, H.: Transactional pointcuts: designation reification and advice of interrelated join points. In: GPCE 2009, pp. 35–44. ACM, New York (2009)
Tanter, É., Noyé, J.: A versatile kernel for multi-language AOP. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 173–188. Springer, Heidelberg (2005)
Vitek, J., Bryce, C., Oriol, M.: Coordinating processes with secure spaces. Science of Computer Programming 46(1-2), 163–193 (2003)
Win, B.D., Joosen, W., Piessens, F.: Developing secure applications through aspect-oriented programming. In: Aspect-Oriented Software Development, pp. 633–650. Addison-Wesley, Reading (2002)
Yang, F.: Aspects with program analysis for security policies. Phd Dissertation, Technical University of Denmark (2010)
Yang, F., Hankin, C., Nielson, F., Nielson, H.R.: Aspect-oriented access control of tuple spaces (submitted to a journal)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 IFIP International Federation for Information Processing
About this paper
Cite this paper
Yang, F., Aotani, T., Masuhara, H., Nielson, F., Nielson, H.R. (2011). Combining Static Analysis and Runtime Checking in Security Aspects for Distributed Tuple Spaces. In: De Meuter, W., Roman, GC. (eds) Coordination Models and Languages. COORDINATION 2011. Lecture Notes in Computer Science, vol 6721. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21464-6_14
Download citation
DOI: https://doi.org/10.1007/978-3-642-21464-6_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21463-9
Online ISBN: 978-3-642-21464-6
eBook Packages: Computer ScienceComputer Science (R0)