Certified In-lined Reference Monitoring on .NET

  • Authors:
  • Kevin W. Hamlen;Greg Morrisett;Fred B. Schneider

  • Affiliations:
  • Cornell University;Harvard University;Cornell University

  • Venue:
  • Proceedings of the 2006 workshop on Programming languages and analysis for security
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

MOBILE is an extension of the .NET Common Intermediate Language that supports certified In-Lined Reference Monitoring. Mobile programs have the useful property that if they are well-typed with respect to a declared security policy, then they are guaranteed not to violate that security policy when executed. Thus, when an In-Lined Reference Monitor (IRM) is expressed in Mobile, it can be certified by a simple type-checker to eliminate the need to trust the producer of the IRM.Security policies in Mobile are declarative, can involve unbounded collections of objects allocated at runtime, and can regard infinite-length histories of security events exhibited by those objects. The prototype Mobile implementation enforces properties expressed by finite-state security automata - one automaton for each security-relevant object - and can type-check Mobile programs in the presence of exceptions, finalizers, concurrency, and non-termination. Executing Mobile programs requires no change to existing .NET virtual machine implementations, since Mobile programs consist of normal managed CIL code with extra typing annotations stored in .NET attributes.