Information Assurance and Survivability Validation Framework For OASIS Program Technologies Characterization of Project " Intrusion Tolerance Based on Intelligent Compensating Middleware (ICM)" Farooq Anjum Abhrajit Ghosh Manish Rathi Amjad Umar Rabih Zbib Telcordia Technologies 445 South Street. Morristown, New Jersey, 07960 Main Contact: Amjad Umar, Phone: 973-829-3114, email: aumar@telcordia.com August 30, 2001 1) Technology Description and Information Assurance/Survivability Problem Addressed. Most COTS middleware platforms (CORBA, MOM, others) are not intrusion tolerant (IT). We are developing Intelligent Compensating Middleware (ICM) technologies that will compensate for the missing IT capabilities in the existing COTS middleware platforms. Our goal is to build ICM as a pluggable technology that can be invoked to handle intrusions. We are attempting to build ICM as a generic technology that extends across all middleware platforms to: Allow applications to adapt to intrusions. Allow middleware to adapt to intrusions. Allow applications to adapt to loss of data. Adapt to situations where message channels may be subject to snooping. Additional details about the ICM approach can be found in “ICM External Architecture”, Data Item: A002, Work Completed under the Project "A Comprehensive Approach for Intrusion Tolerance Based on Intelligent Compensating Middleware", BAA00-15, March 2001. 2) Assumptions A-1) Standard operating environment is assumed. We have assumed that we would be operating in a standard datanetworking environment where a shared medium is used to transmit data between end points. All end points make use of IP-based protocols to transmit data. These endpoints may have associated stable storage, we make no assumptions about how this storage may be implemented and accessed. A-2) Applications that are serviced by ICM are either making use of middleware platform(s) that have been ICM enabled, i.e. applications are ICM agnostic or are making use of ICM directly, i.e. they are ICM aware or may be a combination of the above. A-3) Middleware platforms provide some hooks that may be used for providing intrusion tolerant capabilities. These could be hooks that intercept the manner in which data is transmitted using middleware platform (e.g. Exits in MQSeries, Interceptors in CORBA). These hooks could also intercept the manner in which data is stored into stable storage (e.g. Triggers in databases, Oracle 9i – Protegrity Data Encryption Triggers, etc.) A-4) Detectable Intrusions We are assuming that it is possible detecting intrusions and provide this information to the adaptation logic that invokes ICM. This information is made available in a timely manner to invoke ICM before damage is incurred to the system. If intrusions are difficult to detect, then ICM can be "turned on" at system startup as a runtime policy. This option does incur system overhead (i.e., ICM logic of fragmentation and replication is always executed even when no intrusions occur). Basically, the system is more efficient if intrusions can be detected and ICM capabilities can be invoked only when needed. A-5) Users of the system are assigned “roles” that restrict the amount of information that is visible to them. A user cannot access more information than they are authorized to access. (Thus it should be possible to set things up so that even the “root” user on a system may not know how to reconstruct fragmented data that they are not authorized to) A-6) User authentication is done directly at the access point. A-7) Depending on the kind of FRS algorithm implementation being used, there may be a requirement to store some components in a secure rather than fragmented manner (e.g. centrally stored maps). Access to this storage is assumed to be highly secure [1]. A-8) COTS middleware will continue to grow and will be weak to satisfy intrusion tolerance needs. A-9) A small subset of the systems is highly secure (significantly more secure than the other systems). These highly secure systems are used in specialized roles (e.g. FRS fragment map storage). A-10) Subsets of System Administrators are trustable. A-11) At any point in time, a fraction of the systems will be intact. The number of servers required to remain intact depends on the specific FRS scheme. 2a) Residual Risks, Limitations, and Caveats Limitations and Caveats: ICM targets intrusion tolerance at the middleware level of the stack. Our system does not take into consideration attacks on the network layer of the stack. For example, the system can still be under attack at the network port of the Client and the Server machine. Even if the network layer is secure, ICM assumes that there are multiple paths (network nodes) between the client and the server. ICM would not be able to handle any attacks on the main network hubs or switches. Residual Risks: Currently we are not assuring intrusion tolerance on the ICM software components itself. The technique ICM uses for Intrusion Tolerance comes along with its own bag of performance overhead. The risks of using alternative methods of communication remains. 3) Vulnerabilities and Attacks We are dealing with the following types of operation-time attacks. V-1) Attacks on data servers: Attackers attempt to modify/corrupt/destroy data that is required by an application. V-2) Attacks on message transmission: Attackers attempt to snoop on messages being transmitted between various applications that are connected via data networks. Attackers attempt to modify messages being transmitted between various applications (corruption/destruction are handled by the transport protocol) V-3) Attacks on the application binary code: Attackers attempts to replace files containing the application code with those containing malicious code. At this point we are dealing with Java Code only. V-4) Denial of Service attacks on data servers – both for applications and middleware. V-5) System policy violations (e.g. login at unusual times, user changes roles, user A becomes user B) V-6) Attack on the data which the middleware uses (configuration files, set-up files, etc.) V-7) Attacks on the middleware application binary code. 4) Information Assurance and Survivability Attributes The basic purpose of ICM system is to make sure that the System Availability (AV) of the COTS Middlewares remains intact for the end user, by providing the functionality of automatically switching between different middleware platforms. ICM system makes sure that application deploying any of the middleware remains available under attacks. In addition to the System Availability, ICM system is also designed to ensure Information Availability against external attacks. By using FRS, users of this system can achieve a varying degree (as per their requirements) of Integrity [I] and Confidentiality [C]. This can be achieved by using encryption along with FRS. ICM system does not address the attributes of Authentication [AU] and nonrepudiation [NR] directly. 5) Comparison with Other Systems: 1.1. A Binary Agent Technology for COTS Software Integrity ( InCert Software Corporation) This project is oriented towards developing a core binary instrumentation technology that will allow software functions to be inserted directly into COTS NT binaries at the deployment site. This is done irrespective of the availability of the source code. We can take advantage of this to ensure the integrity of the COTS code used by us by performing runtime execution monitoring. 1.2. Active Trust Management for Autonomous Adaptive Survivable Systems (MIT) One of the major topics of focus for this project is to develop trust models. These models determine what resources may be trusted and for what purposes. These models would be very relevant for us since we would need to determine the probability of intrusion and compromise of a system. 1.3. Agile Objects: Component-based Inherent Survivability (UCSD) The three technologies being developed in this project and based on the concepts of location elusiveness, interface elusiveness and dynamic elusiveness would be of interest. This is because it seems promising to combine these concepts with our techniques to give rise to stronger intrusion tolerant systems. 1.4. Computational Resiliency (Syracuse) This project is exploring techniques for constructing computationally resilient systems that deliver availability, security, and timeliness through a combination of techniques, including on-the-fly replication and reconfiguration, resource management, and camouflage. Combining these techniques with our techniques such as FRS and use of interceptors is an interesting research area. 1.5. Containment and Integrity for Mobile Code (Cornell) One of the focus areas of this project is proactive secret sharing. This is relevant and different from our work as explained earlier. 1.6. Dependable Intrusion Tolerance (SRI ) This project focuses on exploring a synthesis of techniques from intrusion detection and fault tolerance. The resultant intrusion detection mechanisms would be of interest to us. 1.7. Integrity Through Mediated Interfaces (ISI) The techniques from this project that are of interest to us are: Use of wrappers Use of integrity marks to detect corruption of data sets 1.8. Intrusion Tolerant Distributed Object Systems (NAI labs) One of the goals of this project is to build intrusion tolerant CORBA, The project is developing technologies that are specific to CORBA. It would be interesting to explore how these technologies can be generalized and included in ICM. 1.9. Intrusion Tolerant Software Architectures This project is developing a methodology based on architectural concepts for building intrusion tolerant systems. This is based on the assumption that the architecture of a system can ensure intrusion tolerance. Thus, we could use the techniques developed in this project to check the viability of our architecture from the point of view of intrusion tolerance. 1.10. ITUA (BBN, UIUC, Boeing) The techniques from this project that are of interest to us are: 1.11. Concept of unpredictable adaptation Group communication Interface to Intrusion Detection Tool Intrusion Tolerance Using Masking, Redundancy and Dispersion The techniques of masking and dispersion being investigated by this project could be added to the FRS technique to study the strength of the resultant system. 1.12. Perpetually Available and Secure Information Systems (CMU) This project is investigating the use of FRS techniques in combination with secret sharing schemes with respect to file storage (“persistent data”). An interesting combination could be to compare our FRS schemes (which currently are not coupled with secret sharing schemes) to the schemes developed in this project. 1.13. Scaling Proof-Carrying Code to Production Compilers and Security Policies (Princeton) COTS manufacturers could use the techniques developed from this project in order to provide proof that the middleware code does not have a Trojan horse. Thus, this ensures the integrity of the COTS binary code used by us. 1.14. Self Protecting Mobile Agents (NAI labs) The mobile agents that could be used along with dynamic secret sharing schemes developed by us need to be protected from malicious host computers. Protection of mobile agents from malicious hosts is indeed the focus of this project. 6) Information Assurance and Survivability Mechanisms M-1) Use of Interceptors/Exits: Interceptors are modules that can be used to provide additional capabilities within the middleware packages as plug-ins. Interceptors facilitate both static and dynamic plug-ins. The current middleware systems broadly fall into three categories namely No interception capabilities: e.g., DCOM Some interceptor capabilities, e.g., Exits in MQ Series Good interceptor capabilities: e.g., interceptors in CORBA. We have found that many implementations of even the best available specification (CORBA) are not adequate for flexible and powerful plug-ins. For example, we found that, for many of the widely used implementations, the CORBA ORB itself is not decomposable. For example, we wanted to change the CORBA transport but found that we could not invoke the ORB services on the server side. In addition, there is no easy way to respond back. So the lessons learnt could be used to develop new interceptor technologies. M-2) FRS of file storage Fragmentation-Redundancy-Scattering (FRS) is a technique that can be used to achieve security and fault tolerance. The FRS technique consists in first cutting all the sensitive information into several fragments. This has to be done such that no significant information is contained in any isolated fragment. Encrypting the confidential data, either before or after fragmentation, can lead to a further gain in securing the data. Then redundancy might be introduced by copying the fragments. The purpose of making copies is to tolerate accidental or purposeful destruction or alteration of fragments. Finally, the fragments along with their copies are to be scattered amongst the different sites of the distributed system. Scattering has to be done so that, each computer system contains just a subset of unrelated fragments. Finally, when the desired data has to be viewed, it is obtained back from the site(s) where it is located and reconstructed. This technique has been the subject of study for quite sometime. We are also considering this and provide different FRS algorithms that could be used by other projects. M-3) FRS of messages In addition to using the FRS technique for file storage, we also propose to use this technique on messages that have to be exchanged between different machines on a LAN/WAN. As can be expected, this is expected to result in better security features of the messages involved. M-4) Dynamic Secret Sharing 1.1) Dynamic secret sharing In dynamic secret sharing the set of participants is not fixed and changes through addition and deletion of participants. The security requirement asks that the adversary is not able to get any information about the secret even if she corrupts a set of unqualified parties -and- the set of parties who previously left the group. It can be formally showed that for this fact to be achieved, the secret has to change (this is not a problem for practical situation when the same secret has to be shared since one can encrypt this secret using a key and then share this key using the dynamic secret sharing scheme, in which case this key can always change without compromising the correctness of the scheme). An additional requirement satisfied by our notion of dynamic-membership secret sharing, and not met by previous dynamic notions, is that the communication complexity necessary to deal with updates such as addition and deletion of participants is much smaller than that of recreating the scheme from scratch. Dynamic secret sharing seems to be similar to proactive secret sharing and hence we next compare the two approaches. 1.2) Differences with proactive secret sharing A first difference is in how the set of participants changes: in proactive secret sharing the set of participants is always the same; in dynamicmembership secret sharing the set of participants changes through additions and deletions. A second difference is in how the secret changes: in proactive secret sharing the secret stays the same after the update at each time period; in dynamic-membership secret sharing the secret changes typically after each deletion of participants (as clarified above, this is not a problem for practical situations where the "real" secret has to stay fixed). The third difference is the most important: this difference concerns the adversarial model and clarifies that dynamic-membership secret sharing tolerates a much stronger adversary. in proactive secret sharing it is implicitly assumed that an adversary who has gained shares of a participant will not be able to see the new shares distributed to this participant at the next time period. Note that in many real-life situations, and typically, like those that arise from intrusion tolerance questions, the adversary gains possess of a participant's server at some time and then keeps it for a very long time (including the next time period in proactive secret sharing, unless this time period is very big, but this then defeats the purpose of proactive secret sharing itself). Note that many denial-of-service attacks violate intrusion tolerance within 1-2 minutes at most. Therefore, it would seem that proactive secret sharing considers a weaker adversarial model than the one considered by dynamic-membership secret sharing. 7) Rationale: Vulnerability V1 V2 V3 V4 V5 V6 V7 System Availability (AV) M-2, M-4, A-7 M-1, M-3, A-3 M-2, M-4, A-7 M-1, M-2, M-3, A-3 A-5 M-2, M-4, A-7 M-2, M-4, A-7 Integrity (I) Confidentiality © M-2, M-4 M-1, M-3, A-3 M-2, M-4 - M-2, M-4 M-1, M-3, A-3 M-2, M-4 - M-2, A-5 M-2, M-4 M-2, M-4 M2, A-5 M-2, M-4 M-2, M-4 Note: As discussed in (4), ICM does not address the attributes of Authentication (AU) and non-repudiation (NR) Assumptions – A-1, A-2, A-4, A-8, A-9, A-10, A-11 are the core assumptions for the working of ICM System. Hence they are not included in the above table. 8) Cost/Benefit Analysis: a) Cost: ICM system has a one time cost associated with the development of intrusion tolerant modules needed for a middleware system and their integration with the middleware of interest. Since, the solution architecture is expected to be similar to all the different middleware systems, the development cost will not be very much. The integration cost will though require understanding the hooks into the middleware system and integrating the modules with the identified hooks. This is due to the absence of a standard mechanism for providing interceptors or exits in the various middleware packages. During the operation of an ICM system, the costs will be in terms of performance. Since, ICM system makes use of the FRS algorithms, which entail fragmenting the data item of interest, and then reconstructing it back when required (after verifying the fragment), the system performance would be slower when compared to a system without the ICM modules. We plan to mitigate this performance overhead by integrating ICM with intrusion detection modules. This will allow the fragmentation and reconstruction to be done only when an intrusion is detected. Another way of mitigating this overhead is by developing different FRS algorithms, each with a different overheads and corresponding strengths. b) Benefits: As described throughput, middleware systems that incorporate ICM technology can survive intrusions both with respect to the persistent ("stored") information as well as with respect to the messages. 9) Reference: [1] A. Ghosh, F. Anjum, R. Zbib, A.Umar and M. Rathi, “On Efficient schemes for Intrusion Tolerance”, Telcordia Technology Internal Report.