uci > ics > franz > research projects

“Practical Language-Based Security, From The Ground Up” (2002-2005)

Project In A Nutshell

use a typed hardware abstraction layer to build a system that is based on a secure foundation

Sponsoring Agency:
National Science Foundation
Division/Program:
Trusted Computing Program
(Program Manager: Dr. Carl Landwehr)
Award Number:
CCR-TC-0209163
Role in Project:
sole Principal Investigator

In this project, we are designing a comprehensive security architecture that uses language-based mechanisms to eliminate errors due to circumvention of type safety, be they intentional or erroneous, and that additionally uses security policy mechanisms to contain malicious behavior. This approach extends techniques previously applied to mobile code and is based on a combination of a) mechanically verifying the absence of such errors in any software before it is run, using code representations that can be checked for such errors or that rule out errors in the first place, and b) monitoring executing software for malicious activity.

Our prototype system consists of multiple layers, each of which is secured by the layer below it, the lowest of which can be provided in tamper-resistant hardware. Key to the solution is to provide a typed hardware abstraction layer (THAL) that enables the construction of a type-safe system “from the ground up”, all the way down to the tamper-proof hardware. Hence, our goal is to build a practical system about which we can make security guarantees from the hardware up, and not just “from the operating system up”.

(more on this project...)

“ITR: Virtual Power for the Wireless Campus” (2002-2005)

Project In A Nutshell

develop software and hardware technologies to extend the battery life and reduce the cost of handheld computing devices

Sponsoring Agency:
National Science Foundation
Division/Program:

ITR (Information Technology Research) Program
(Program Manager: Dr.Helen Gill)

Award Number:
CCR-0205712
Role in Project:
Lead Principal Investigator
Co-PIs:

Chandra Krintz, Rich Wolski — UC Santa Barbara
Pai Chou, Nikil Dutt, Tony Givargis — UC Irvine

While handheld, battery-powered devices such as personal digital assistants (PDA's) and web-enabled mobile phones are emerging as new access points to the world's digital infrastructure, their cost and short battery life are factors that are holding back their enormous potential. Worse yet, the cost of such devices might even widen the “digital divide”. This research addresses these cost and battery-life issues simultaneously, thereby getting one step closer to a vision of ubiquitous computing embracing all of society. The specific focus is the digital university campus with wireless Internet coverage.

In this setting, the aim is to increase the utility and battery-life and decrease the cost of handheld wireless computers by enabling the use of relatively simple hardware for the mobile devices. This research aims both at designing embedded hardware that better conserves resources, as well as creating a software layer that masks the limited computational prowess of a handheld device by seamlessly coupling it to a relatively high-powered stationary computational infrastructure via an “always on” wireless connection. By off-loading power-intensive operations to the stationary infrastructure, the battery-powered mobile device is provided with “virtual power”.

We are developing adaptive just-in-time compiler technology for minimizing power use on mobile devices running mobile code, and adaptive scheduling methods using results from the Computational Grid research community. Depending on the algorithm to be run on the mobile device and its current distance from the nearest base station, the computation to be performed is automatically partitioned between a part to be executed in the stationary infrastructure and another to be run on the mobile device.

At the hardware level, we are developing orchestrated resource-management strategies to enable designers to correctly design and implement highly resource-constrained embedded systems while helping them to meet system-level constraints. This requires augmenting today's functional design flows with a resource-centric view. Here, the goal is not to replace existing design methodologies with yet another all-encompassing methodology, but rather making a cross-cutting impact by demonstrating the applicability of results to several driving examples at different levels of abstraction, including System-on-Chip (SoC) platforms, memory architecture level, and operating system level.

(more on this project...)

“A Comprehensive Context for Mobile-Code Deployment” (2001-2004)

Project In A Nutshell

explore notions of mobile-code deployment that go beyond the current “download everything to one place, verify, jit-compile, and run there” approach — for example, verify at the firewall and use “code generating routers” to compile en route

Sponsoring Agency:
Office of Naval Research, USN
Division/Program:
“Understanding Mobile Code”, Critical Infrastructure Protection and High Confidence, Adaptable Software (CIP/SW) Research Program of the University Research Initiative (URI)
(Program Manager: Frank Deckelman)
Award Number:
N00014-01-1-0854
Role in Project:
Lead Principal Investigator
Co-PI:
Brett Fleisch — UC Riverside

Given the acknowledged importance of existing and emerging mobile code technologies, remarkably little attention has so far been devoted to the management of mobile programs. The by far predominant model, which for example underlies the distribution of Java “applets” over the Internet, identifies dynamically linkable parts of mobile programs by a URL string. The model further assumes that the constituent parts that make up a mobile program will all be downloaded to a single location, and then verified, linked, possibly dynamically compiled, and finally executed at that very location.

It is immediately obvious that this model is far too primitive to capture the whole spectrum of meaningful distribution schemes for mobile code. There are many modes of mobile-code dissemination and deployment that are likely to be highly useful, but that are badly or not at all supported by current distribution models and architectures. What is needed is an overarching architecture that can describe not only current modes of mobile-code deployment, but also all meaningful future ones such as the physical separation of the machines performing verification, dynamic compilation, and execution, and support for the existence of multiple levels of security along the code distribution pipeline.

We are conducting methodical research to implement a prototype mobile-code distribution architecture. First, we are developing a comprehensive model that can capture all meaningful modes of mobile-code deployment, including issues of code versioning, code migration, and the differentiation between code validation, dynamic code translation between instruction formats, and code execution, which potentially could occur at multiple physically disjoint sites. This model provides a taxonomy of mobile-code distribution modes. Simultaneously, we are casting this model into an actual extensible distributed safe and secure code management architecture. As a practical application of this architecture, we are currently implementing a prototype system in which native code is generated at a firewall from a mobile-code distribution format and then downloaded to computationally restricted devices deployed in the theater via a secure high-bandwidth short-range wireless link

Second, our focus is on making a greater range of security policies amenable to automatic verification, by creating source-language constructs and accompanying type systems for representing these properties directly at the source-language level. Any such policy that can be cast into a language construct not only enables mechanical checking at the code receiver’s side, but also directly exposes these policies to the programmer rather than hiding them behind an API. It thereby raises the semantic level on which mobile code can be reasoned about and enhances the programmer’s understanding of the process.

(more on this project...)

“New Approaches to Mobile Code: Reconciling Efficiency With Provable Security” (1999-2003)

Project In A Nutshell

explore alternate mobile code formats that are superior to the virtual machines currently used with Java and .NET

Sponsoring Agency:
Defense Advanced Research Projects Agency (DARPA) and Air Force Research Laboratory, Air Force Materiel Command, USAF
Division/Program:

OASIS Program
(Program Manager: Dr.Jay Lala)

Award Number:
F30602-99-1-0536
Role in Project:
sole Principal Investigator

Current mobile-code formats require verification by the code recipient to guard against potentially malicious actions of an incoming mobile program. Such verification is needed even when a mobile program originated in a “safe” language such as Java, because the transmission might have been corrupted by an adversary.

We have come up with an alternative approach based on a family of mobile code formats that simply don't allow illegal programs to be represented in the first place. In such an inherently safe format, any given bit-sequence of sufficient length is guaranteed to map back to a legal program in the original encoding domain, which in our prototype is Java. Hence, any incoming program that meets trivial well-formedness criteria is guaranteed to be legal and no code verification is necessary.

Our method enables the tamper-proof transport of performance enhancing annotations along with the program. In our current implementation, we are able to perform escape analysis at the code producer's side and can encode the results of this analysis in a manner that cannot be falsified in transit. Interestingly, adding annotations increases encoding density since it reduces the number of valid choices that need to be represented, so that the addition of the annotations comes at almost no space cost.

While our current implementation focuses on Java, the method is completely generic and can be adapted easily to other domains. To demonstrate this point, we were able to build an additional encoder for Oberon in less than a week.

(more on this project...)

last update: 30th September 2003 - franz@uci.edu