CERT
Back to [36]   [37]    Forwards to [38]



Addressing Survivability in the Composable Replaceable Security Services Infrastructure

Roshan Thomas and Rich Feiertag

TIS Labs at Network Associates
8000 Westpark Drive, Suite 600
McLean, VA 22102-3105
{rthomas, feiertag}@tis.com

Background

The Composable Replaceable Security Services (CRSS) project is a DARPA-funded effort currently underway at Trusted Information Systems (TIS) Laboratories (see related information at http://www.tis.com/research/architecture/arc_composable.html). The goal of the project is to develop a prototype security infrastructure that can support the next generation of survivable distributed systems.

The next generation of survivable distributed systems will include components that are autonomous, self-contained units of portable, transportable, and mobile software. For secure operation, interactions between these components must be controlled and regulated by distributed security mechanisms. The security mechanisms must have these same properties, so that security enforcement does not constrain these software components' flexibility of operation-- the same flexibility that is necessary for the system to achieve its goals of survivability and adaptability. These services will form an infrastructure that will be the security middleware used by applications in a manner independent of various OS and networking technologies.

To enable survivability, CRSS security services embody various properties such as independence, multiplicity, fault-tolerance, variability, and composability. Thus each CRSS service has multiple implementations that can coexist at the same time. For instance, the cryptographic service may have implementations for the RSA encryption as well as for the DES encryption. Second, services are designed to be composable. As systems evolve, the composability allows administrators to update individual services as needed without affecting the performance of the other services. Also, composability allows more complex services to be constructed from a few simple basic services and possibly permits these more complex services to be constructed in different ways using different basic services. Finally, each service is designed to be a part of a distributed environment. Every service consists of two components: the service framework and the collection of service providers that implement the desired service. The service framework accepts requests from applications or service providers and directs them to appropriate service providers. For example, for the cryptographic service, when an application requests encryption service, the service framework accepts the request and may forward it to the RSA encryption service provider.

Both the service framework and the collection of service providers run in a distributed environment. The service framework can fulfill a service request by invoking a service provider that resides on the local host or a remote host. Similarly, the framework itself is implemented in a redundant distributed manner allowing, for example, the framework on a host to continue operating even if its local copy of the database of service providers is corrupted.




Survivability in CRSS

Figure 1. Reference architecture for a survivability service.

We started investigating survivability for the CRSS project by first surveying existing approaches and architectures. This is turn led us to formulate a reference architecture for a survivability service. This architecture represents to a great extent a synthesis and unification of various existing concepts and approaches to survivability. Figure 1 shows the reference architecture. It proposes generic components that we believe will be present and necessary in any system (including CRSS) supporting a full-fledged survivability service. Clearly, these components have to be instantiated for specific environments and their complexity will vary from one instantiation to another.

The architecture contains various processing modules (components) and these in turn use various pieces of information (data sets). We now briefly describe them.

One of the first challenges we are addressing is the issue of capturing and modeling survivability objectives. Information survivability characteristics of a system are made of several quality attributes such as reliability, fault-tolerance, security, integrity, availability, and safety. As such, there exists no single or universal measure to express or assess the survivability capabilities of a system. Thus our perspective is that survivability specifications need to be expressed in terms of the subsets of the total functionality the system can deliver under various conditions/scenarios. These conditions will account for various failure scenarios. It is also important to realize that the various quality attributes may have to be expressed as a combination of quantitative (numeric) and qualitative measures. Once we understand how to specify survivability requirements, we are hoping to use various fault and failure propagation models to model the impact failures will have on active services. We will also look at ideas for building tools to support survivability modeling and analysis.




Back to the Table of Contents
Back to [36]   [37]    Forwards to [38]