Model-Carrying Code (MCC): A New Paradigm for Mobile-Code Security

R. Sekar, C. R. Ramakrishnan, I. V. Ramakrishnan, Scott A. Smolka


A new approach to ensuring the security of mobile code is presented. Our approach enables a mobile-code consumer to understand and formally reason about what a piece of mobile code can do; check if the actions of the code are compatible with his/her security policies; and, if so, execute the code. The compatibility-checking process is automated, but if there are conflicts, consumers have the opportunity to refine their policies, taking into account the functionality provided by the mobile code. Finally, when the code is executed, our framework uses advanced runtime-monitoring techniques to ensure that the code does not violate the consumer's (refined) policies.

At the heart of our method, which we call model-carrying code (MCC), is the idea that a piece of mobile code comes equipped with an expressive yet concise model of the code's (security-relevant) behavior. The generation of such models can be automated. MCC enjoys several advantages over current approaches to mobile-code security. Succinctly put, it protects consumers of mobile code from malicious or faulty code without unduly restricting the code's functionality. Moreover, the MCC approach is applicable to the vast majority of code that exists today, which is written in C or C++. This contrasts with previous approaches such as Java~2 security and proof-carrying code, which are either language-specific or are limited to type-safe languages. Finally, MCC can be combined with existing techniques such as cryptographic signing and proof-carrying code to yield additional benefits.

Bibtex Entry:

author = {R. Sekar and  C. R. Ramakrishnan and  I. V. Ramakrishnan and  Scott A. Smolka},
title = {Model-Carrying Code ({MCC}): A New Paradigm for Mobile-Code Security},
booktitle = {New Security Paradigms Workshop ({NSPW})},
address = {Cloudcroft, New Mexico},
month = {Sept},
year = {2001}

Full Paper: [pdf]

Home | Papers

C. R. Ramakrishnan