Trust in Security-Policy Enforcement Mechanisms

Abstract

This project investigated language-based approaches for enforcing security policies and proactive approaches for implementing trustworthy distributed services. One avenue of language-based work produced Cyclone, a type-safe variant of C. The Cyclone language retains the familiar syntax and semantics of C code, but provides the strong security guarantees of modem languages such as Java. A second avenue of language-based work explored a general class of policy enforcement mechanism based on in-line reference monitors (IRM), which insert checks and actions in an application to ensure the resulting code will respect the policy when executed. The class of policies enforceable through IRMs was shown not to correspond to any class of the Kleene hierarchy. In addition, a certified IRM rewriter framework was developed for Microsoft NET code. It produces explicit evidence so an independent proof checker can determine that rewritten code respects a desired security policy. Finally, proactive obfuscation was investigated as a basis for achieving independence of server replicas comprising a service. This resulted in new agreement protocols to handle servers that periodically have their storage purged and reloaded (to eliminate undetectably compromised code and data). It also produced a semantic characterization of how obfuscation compares with strong typing, finding that the two are comparable, a surprising result.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 2005
Accession Number
ADA444167

Entities

People

  • Fred B. Schneider
  • Greg Morrisett

Organizations

  • Cornell University

Tags

Communities of Interest

  • Cyber
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Automata
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Cybersecurity
  • Language
  • Models
  • New York
  • Operating Systems
  • Replicas
  • Security
  • Semantics
  • Students
  • Systems Engineering
  • Verification

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Mathematical Modeling and Probability Theory.
  • Parallel and Distributed Computing.