A Language For Information Flow:

Dynamic Tracking in Multiple Interdependent Dimensions

Avraham Shinnar, Marco Pistoia, and Anindya Banerjee.

Abstract
This paper presents λI, a language for dynamic tracking of information floww across multiple, interdependent dimensions of information. Typical dimensions of interest are in tegrity and confidentiality. λI supports arbitrary domain- specific policies that can be developed independently. λI treats information-flow metadata as a first-class entity and tracks information flow on the metadata itself (integrity on integrity, integrity on confidentiality, etc.). This paper also introduces IMPOLITE, a novel class of information-flow policies for λI. Unlike many systems, which only allow for absolute-security relations, IMPOLITE can model more realistic security policies based on relative- security relations. IMPOLITE demonstrates how policies on interdependent dimensions of information can be simultaneously enforced within λI's unified framework.
Full Paper
The full paper is available as a PDF.
Citation
Bibtex Citation (Tech Report)
@inproceedings{shinnar_plas09,
  author =	 {Shinnar, Avraham and Pistoia, Marco and Banerjee,
                  Anindya},
  title =	 {A language for information flow: dynamic tracking in
                  multiple interdependent dimensions},
  booktitle =	 {PLAS '09: Proceedings of the ACM SIGPLAN Fourth
                  Workshop on Programming Languages and Analysis for
                  Security},
  year =	 2009,
  isbn =	 {978-1-60558-645-8},
  pages =	 {125--131},
  location =	 {Dublin, Ireland},
  doi =		 {http://doi.acm.org/10.1145/1554339.1554354},
  publisher =	 {ACM},
  address =	 {New York, NY, USA},
}
ACM Link
The ACM page has more information and more citation formats.

Random Info

I did this work while I was a Summer Intern at IBM Research (Hawthorne) during the Summer of 2007. I was working with Marco Pistoia at IBM, and Anindya Banerjee, from Kansas State University, who was on sabbatical at IBM for the summer. We started with their previous work Beyond Stack Inspection: A Unified Access-Control and Information-Flow Security Mode. We initially planned on implementing both a static and dynamic analysis for Java security based on this work. However, I was curious about some of the formalism, and we started working on it a bit. "A bit" wound up begin quite a bit, and we then generalized things quite a bit, and spent the summer frantically proving theorems about the language.