Combining Static Analysis and Runtime Checking in Security Aspects for Distributed Tuple Spaces

International audience 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 Aspect...

Full description

Bibliographic Details
Main Authors: Yang, Fan, Aotani, Tomoyuki, Masuhara, Hidehiko, Nielson, Flemming, Nielson, Hanne
Other Authors: Technical University of Denmark Lyngby (DTU), Japan Advanced Institute of Science and Technology (JAIST), Department of Mathematical Informatics (University of Tokyo), The University of Tokyo (UTokyo), Wolfgang Meuter, Gruia-Catalin Roman, TC 6, WG 6.1
Format: Conference Object
Language:English
Published: HAL CCSD 2011
Subjects:
Online Access:https://hal.inria.fr/hal-01582991
https://hal.inria.fr/hal-01582991/document
https://hal.inria.fr/hal-01582991/file/978-3-642-21464-6_14_Chapter.pdf
https://doi.org/10.1007/978-3-642-21464-6_14
Description
Summary:International audience 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.