This document discusses the flawed assumption that adequate security can be provided in applications without certain security features in the operating system. It argues that secure operating systems are necessary to protect application-level security mechanisms from tampering, bypassing, and spoofing attacks. The document identifies several secure operating system features lacking in mainstream systems, such as mandatory access control and a trusted path, and provides examples of how current security solutions critically depend on these features. It aims to motivate renewed interest in developing secure operating systems to address threats in today's interconnected computing environments.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
73 views12 pages
The Inevitability of Failure Paper
This document discusses the flawed assumption that adequate security can be provided in applications without certain security features in the operating system. It argues that secure operating systems are necessary to protect application-level security mechanisms from tampering, bypassing, and spoofing attacks. The document identifies several secure operating system features lacking in mainstream systems, such as mandatory access control and a trusted path, and provides examples of how current security solutions critically depend on these features. It aims to motivate renewed interest in developing secure operating systems to address threats in today's interconnected computing environments.
Abstract reality, operating system security mechanisms play a criti cal role in supporting security at higher levels. This has Although public awareness of the need for secu been well understood for at least twenty five years rity in computing systems is growing rapidly, current [2][54][39], and continues to be reaffirmed in the literature efforts to provide security are unlikely to succeed. [1][35]. Yet today, debate in the research community as to Current security efforts suffer from the flawed what role operating systems should play in secure systems assumption that adequate security can be provided in persists [11]. The computer industry has not accepted the applications with the existing security mechanisms of critical role of the operating system to security, as evi mainstream operating systems. In reality, the need for denced by the inadequacies of the basic protection mecha secure operating systems is growing in today’s com nisms provided by current mainstream operating systems. puting environment due to substantial increases in connectivity and data sharing. The goal of this paper The necessity of operating system security to overall is to motivate a renewed interest in secure operating system security is undeniable; the underlying operating systems so that future security efforts may build on a system is responsible for protecting application-space solid foundation. This paper identifies several secure mechanisms against tampering, bypassing, and spoofing operating system features which are lacking in main- attacks. If it fails to meet this responsibility, system-wide stream operating systems, argues that these features vulnerabilities will result. are necessary to adequately protect general applica The need for secure operating systems is especially tion-space security mechanisms, and provides con crucial in today’s computing environment. Substantial crete examples of how current security solutions are increases in connectivity and data sharing have increased critically dependent on these features. the risk to systems such that even a careful and knowl Keywords: secure operating systems, mandatory se edgeable user running on a single-user system is no longer curity, trusted path, Java, Kerberos, IPSEC, SSL, fire- safe from the threat of malicious code. Because the dis walls. tinction between data and code is vanishing, malicious code may be introduced, without a conscious decision on 1 Introduction the part of a user to install executable code, whenever data Public awareness of the need for security in com is imported into the system. For example, malicious code puting systems is growing as critical services are could be introduced with a Java applet or by viewing becoming increasingly dependent on interconnected apparently benign data that, in actuality, contains execut computing systems. National infrastructure compo able code [32][62]. More so than ever, secure operating nents such as the electric power, telecommunication systems are needed to protect against this threat. and transportation systems can no longer function The goal of this paper is to motivate a renewed inter without networks of computers [50]. The advent of est in secure operating systems. By consolidating a num the World Wide Web has especially increased public ber of well-documented examples from the literature, it concern for security. Security is the primary concern argues that the threats posed by the modern computing of businesses which want to use the Internet for com environment cannot be addressed without support from merce and maintaining business relationships [24]. secure operating systems and, as was stated in [8], that any The increased awareness of the need for security security effort which ignores this fact can only result in a has resulted in an increase of efforts to add security to “fortress built upon sand.” Section 2 describes a set of computing environments. However, these efforts suf secure operating system features which are typically lack fer from the flawed assumption that security can ade ing in mainstream operating systems but are crucial to quately be provided in application space without information security. The need for these features is high- certain security features in the operating system. In lighted in section 3, which examines how application- role-based access control [22] and type enforcement space access control and cryptography cannot provide [39][7][13].1 meaningful security without a secure operating system. Likewise, as defined in [59], this paper uses a more Section 4 provides concrete examples of how security general notion of discretionary security in which a dis efforts rely on these operating system security features. cretionary security policy is considered to be any secu Section 5 discusses the role of operating system security rity policy where ordinary users may be involved in the with respect to overall system security. definition of the policy functions and/or the assignment 2 The Missing Link of security attributes. Here discretionary security is not synonymous with identity based access control; IBAC, This section identifies some features of secure oper like any other security policy, may be either mandatory ating systems which are necessary to protect applica or discretionary[58]. tion-space security mechanisms yet are lacking in mainstream operating systems. They form the “missing An operating system’s mandatory security policy link” of security. Although this section only deals with may be divided into several kinds of policies, such as an features, it is important to note that features alone are access control policy, an authentication usage policy, inadequate. Assurance evidence must be provided to and a cryptographic usage policy. A mandatory access demonstrate that the features meet the desired system control policy specifies how subjects may access objects security properties and to demonstrate that the features under the control of the operating system. A mandatory are implemented correctly. Assurance is the ultimate authentication usage policy specifies what authentica missing link; although approaches to providing assur tion mechanisms must be used to authenticate a princi ance may be controversial, the importance of assurance pal to the system. A mandatory cryptographic usage is undeniable. policy specifies what cryptographic mechanisms must be used to protect data. Additionally, various sub- The list of features in this section is not intended to systems of the operating system may have their own be exhaustive; instead it is merely a small set of critical mechanism usage policies. These subsystem-specific features that demonstrate the value of secure operating usage policies may be dependent on the cryptographic systems. A more complete discussion on secure operat usage policy. For example, a network usage policy for a ing systems, including discussions of assurance, can be router might specify that sensitive network traffic should found in [25], [59] or [20]. Subsequent sections argue be protected using IPSEC ESP [4] in tunneling mode the necessity of these features by describing how appli prior to being sent to an external network. The selection cation-space security mechanisms and current security of a cryptographic algorithm for IPSEC ESP may be efforts employing them are vulnerable in their absence. deferred to the cryptographic usage policy. Mandatory security A secure system must provide a framework for The TCSEC [20] provides a narrow definition of defining the operating system’s mandatory security pol- mandatory security which is tightly coupled to the icy and translating it to a form interpretable by the multi-level security policy of the Department of underlying mandatory security mechanisms of the oper Defense. This has become the commonly understood ating system. Without such a framework, there can be definition for mandatory security. However, this defini no real confidence that the mandatory security mecha tion is insufficient to meet the needs of either the nisms will provide the desired security properties. Department of Defense or private industry as it ignores An operating system which provides mandatory critical properties such as intransitivity and dynamic security may nonetheless suffer from the presence of separation of duty [12][22]. This paper instead uses the high bandwidth covert channels. This is an issue when- more general notion of mandatory security defined in ever the mandatory security policy is concerned with [59], in which a mandatory security policy is considered confidentiality. This should not, however, be a reason to to be any security policy where the definition of the pol- ignore mandatory security. Even with covert channels, icy logic and the assignment of security attributes is an operating system with basic mandatory controls tightly controlled by a system security policy adminis improves security by increasing the required sophistica- trator. Mandatory security can implement organization- wide security policies. Others have referred to this same concept as non-discretionary security in the context of 1. Actually, long ago, the term non-discretionary controls was used for multi-level security as well [39]. tion of the adversary. Once systems with basic manda ment environment [48]. For example both the tory controls become mainstream, covert channel Sidewinder firewall and the DTE firewall use type exploitation will become more common and public enforcement for confinement [6][12]. awareness of the need to address covert channels in Although one could attempt to enforce a mandatory computing systems will increase[57]. security policy through discretionary security mecha In any system which supports mandatory security, nisms, such mechanisms can not defend against careless some applications require special privileges in the man or malicious users. Since discretionary security mecha datory policy in order to perform some security-relevant nisms place the burden for security on the individual function. Such applications are frequently called trusted users, carelessness by any one user at any point in time applications because they are trusted to correctly per- may lead to a violation of the mandatory policy. In con form some security-related function and because they trast, mandatory security mechanisms limit the burden are trusted to not misuse privileges required in order to to the system security policy administrator. With only perform that function. If the mandatory security mecha discretionary mechanisms, a malicious user with access nisms of a secure operating system only support coarse- to sensitive data and applications may directly release grained privileges, then the security of the overall sys sensitive information in violation of the mandatory pol- tem may devolve to the security of the trusted applica icy. Although that same user may also be able to leak tions on the system. To reduce the dependency on sensitive information in ways that do not involve the trusted applications, the mandatory security mecha computing system, the ability to leak the information nisms of an operating system should be designed to sup- through the computing system may increase the band- port the principle of least privilege. Type enforcement is width of the leak and may decrease its traceability. In an example of a mandatory security mechanism which contrast, with mandatory security mechanisms, he may may be used both to limit trusted applications to the only leak sensitive information through covert channels, minimal set of privileges required for their function and which limits the bandwidth and increases accountability, to confine the damage caused by any misuse of these if covert channels are audited. privileges [48][28]. Furthermore, even with users who are benign and The mandatory security mechanisms of an operat careful, the mandatory security policy may still be sub ing system may be used to support security-related func verted by flawed or malicious applications when only tionality in applications by rigorously ensuring that discretionary mechanisms are used to enforce it.2 The subsystems are unbypassable and tamperproof. For distinction between flawed and malicious software is not example, type enforcement may be used to implement particularly important in this paper. In either case, an assured pipelines to provide these properties. An application may fail to apply security mechanisms assured pipeline ensures that data flowing from a desig required by the mandatory policy or may use security nated source to a designated destination must pass mechanisms in a way that is inconsistent with the user’s through a security-related subsystem and ensures the intent. Mandatory security mechanisms may be used to integrity of the subsystem. Many of the security require ensure that security mechanisms are applied as required ments of these applications may be ensured by the and can protect the user against inadvertent execution of underlying mandatory security mechanisms of the oper untrustworthy applications. Although the user may have ating system. [48] carefully defined the discretionary policy to properly Operating system mandatory security mechanisms implement the mandatory policy, an application may may also be used to rigorously confine an application to change the discretionary policy without the user’s a unique security domain that is strongly separated from approval or knowledge. In contrast, the mandatory pol- other domains in the system. Applications may still mis icy may only be changed by the system security policy behave, but the resulting damage can now be restricted administrator. to within a single security domain. This confinement In the case of personal computing systems, where property is critical to controlling data flows in support of the user may be the system security policy administra a system security policy [33]. In addition to supporting tor, mandatory security mechanisms are still helpful in the safe execution of untrustworthy software, confine ment may support functional requirements, such as an 2. A discussion of the formal limitations of discretionary isolated testing environment or an insulated develop security mechanisms appears in [29]. protecting against flawed or malicious software. In the Mach microkernel; both systems provide mechanisms simplest case, where there is only a distinction between for mandatory access control and a mandatory policy the user’s ordinary role and the user’s role as system framework. security policy administrator, the mandatory security Trusted path mechanisms can protect the user against unintentional A trusted path is a mechanism by which a user may execution of untrustworthy software. With a further sub- directly interact with trusted software, which can only division of the user’s ordinary role into various roles be activated by either the user or the trusted software based on function, mandatory security mechanisms can and may not be imitated by other software [20]. In the confine the damage that may be caused by flawed or absence of a trusted path mechanism, malicious soft- malicious software. ware may impersonate trusted software to the user or Although there are a number of commercial operat may impersonate the user to trusted software. Such ing systems with support for mandatory security, none malicious software could potentially obtain sensitive of these systems have become mainstream. These sys information, perform functions on behalf of the user in tems have suffered from a fixed notion of mandatory violation of the user’s intent, or trick the user into security, thereby limiting their market appeal. Further- believing that a function has been invoked without actu more, these systems typically lack adequate support for ally invoking it. In addition to supporting trusted soft- constraining trusted applications. In order to reach a ware in the base system, the trusted path mechanism wider market, operating systems must support a more should be extensible to support the subsequent addition general notion of mandatory security and must support of trusted applications by a system security policy flexible configuration of mandatory policies. administrator [28]. Mainstream commercial operating systems rarely The concept of a trusted path can be generalized to support the principle of least privilege even in their dis include interactions beyond just those between trusted cretionary access control architecture. Many operating software and users. The TNI introduces the concept of a systems only provide a distinction between a completely trusted channel for communication between trusted soft- privileged security domain and a completely unprivi ware on different network components [44]. More gen leged security domain. Even in Microsoft Windows NT, erally, a mechanism that guarantees a mutually the privilege mechanism fails to adequately protect authenticated channel, or protected path, is necessary to against malicious programs because it does not limit the ensure that critical system functions are not being privileges that a program inherits from the invoking pro spoofed. Although a protected path mechanism for local cess based on the trustworthiness of the program [65]. communications could be constructed in application Current microkernel-based research operating sys space without direct authentication support in the oper tems have tended to focus on providing primitive protec ating system, it is preferable for an operating system to tion mechanisms which may be used to flexibly provide its own protected path mechanism since such a construct a higher-level security architecture. Many of mechanism will be simpler to assure [59] and is likely to these systems, such as the Fluke microkernel [23] and be more efficient. the Exokernel [41], use kernel-managed capabilities as Most mainstream commercial operating systems the underlying protection mechanism. However, as dis are utterly lacking in their support for either a trusted cussed in [59], typical capability architectures are inade path mechanism or a protected path mechanism. quate for supporting mandatory access controls with a Microsoft Windows NT does provide a trusted path for a high degree of flexibility and assurance. L4 [38] pro small set of functions such as login authentication and vides some support for mandatory controls through its password changing but lacks support for extending the clans and chiefs mechanism and its IPC mechanism for trusted path mechanism to other trusted applications identifying senders and receivers but still lacks a coher [65]. For local communications, NT does provide serv ent framework for using these mechanisms to meet the ers with the identity of their clients; however, it does not requirements of a mandatory policy. Furthermore, L4 provide the server identity to the client. assumes that there will only be a small number of dis tinct security domains [38]. Flask [56], a variant of the 3 General Examples Fluke microkernel, provides a mandatory security This section argues that without operating system framework similar to that of DTOS [43], a variant of the support for mandatory security and trusted path, appli- cation-space mechanisms for access control and cryp operating system may be used to ensure that all accesses tography cannot be implemented securely. These to the protected objects are mediated by the enforcer arguments will then be used to reinforce the discussion component. in section 4, which analyzes concrete examples. 3.2 Cryptography 3.1 Access Control An analysis of application-space cryptography may An application-space access control mechanism be decomposed into an analysis of the invocation of the may be decomposed into an enforcer component and a cryptographic mechanism and an analysis of the crypto decider component. When a subject attempts to access graphic mechanism itself. The analysis of this section an object protected by the mechanism, the enforcer draws from the discussions in [51][15] [60][61][55][52]. component must invoke the decider component, supply As an initial basis for discussion, suppose that the ing it with the proper input parameters for the policy cryptographic mechanism is a hardware token that decision, and must enforce the returned decision. A implements the necessary cryptographic functions cor common example of the required input parameters is the rectly and that there is a secure means by which the security attributes of the subject and the object. The cryptographic keys are established in the token. Even in decider component may also consult other external this simplified case, where the confidentiality and integ sources in order to make the policy decision. For exam rity of algorithms and keys is achieved without operat ple, it may use an external policy database and system ing system support, this section will demonstrate that information such as the current time. there are still vulnerabilities which may only be effec If a malicious agent can tamper with any of the tively addressed with the features of a secure operating components in the access control mechanism or with system. any inputs to the decision, then the malicious agent can One vulnerability in this simplified case is that subvert the access control mechanism. Even if the com invocation of the token cannot be guaranteed. Any legit ponents and all of the inputs are collocated within a sin imate attempt to use the token might not result in a call gle file, the operating system security mechanisms are to the token. The application that performs the crypto still relied upon to protect the integrity of that file. As graphic invocation might be bypassed or modified by discussed in the prior section, only mandatory security malicious applications or malicious users. Malicious mechanisms can rigorously provide such integrity guar applications might impersonate the cryptographic token antees. to the invoking application. Even with strong integrity guarantees for the policy Mandatory security and protected path features in decision inputs, if an authorized user invokes malicious the operating system address this vulnerability. Manda software, the malicious software could change an tory security mechanisms may be used to ensure that the object’s security attributes or the policy database’s rules application that invokes the cryptographic token is without the user’s knowledge or consent. The access unbypassable and tamperproof against both malicious control mechanism requires a trusted path mechanism in software and malicious users. Unbypassability could the operating system in order to ensure that arbitrary also be achieved by using an inline cryptographic token, propagation of access cannot occur without explicit which is physically interposed between the sender of the authorization by a user. data to be protected and the receiver of the protected If a malicious agent can impersonate the decider data; however, this would be less flexible. A protected component to the enforcer component, or if a malicious path mechanism may be used to ensure that malicious agent can impersonate any source of inputs to the deci software cannot impersonate the cryptographic token to sion, then the malicious agent can subvert the mecha the invoking application. nism. If any of the components or external decision Misuse of the cryptographic token is a second vul input sources are not collocated within a single applica nerability in the simplified case. Misuse may involve the tion, then the access control mechanism requires a pro use of a service, algorithm, session or key by an unau tected path mechanism. thorized application. Without operating system support If a malicious agent can bypass the enforcer compo for identifying callers, a cryptographic token can do lit nent, then it may trivially subvert the access control tle more than require that a user activate it, after which, mechanism. Mandatory security mechanisms in the any service, algorithm, session or key authorized for that user may be used by any application on the system. In If the assumption that the cryptographic mechanism this case, the cryptographic token may be misused by is confined to a single hardware token is removed and applications operating on behalf of other users or may implemented in software instead, the confidentiality and be misused by malicious software operating on behalf of integrity of the cryptographic mechanism’s code and the authorized user. Furthermore, unless the crypto data becomes dependent on the operating system, graphic token has a direct physical interface for user including both memory protection and file protection. activation, malicious software can spoof the token to the Mandatory security is needed to rigorously ensure the user, obtain authentication information, and subse mechanism’s integrity and confidentiality. If any exter quently activate the cryptographic token without the nal inputs, such as input parameters to a random number user’s knowledge or consent. Even with a direct physi generator, are used by the cryptographic mechanism, the cal interface to the user, it is impractical for the crypto input sources and the path between the input sources graphic token to require user confirmation for every and the cryptographic mechanism must be protected cryptographic operation. with mandatory security mechanisms. This second vulnerability may be addressed 4 Concrete Examples through mandatory security, trusted path and protected This section further demonstrates that secure oper path features in the operating system. A trusted path ating systems are necessary by showing that some mechanism obviates the need for a separate physical widely accepted security solutions critically rely on the interface for activation. A protected path mechanism features of secure operating systems. In particular, this permits the cryptographic token to identify its callers section examines mobile code security efforts, the Ker and enforce fine-grained controls over the use of ser beros network authentication system, firewalls and net- vices, algorithms, sessions and keys. As an alternative to work security protocols. having the token deal with fine-grained controls over its usage, mandatory security mechanisms may also be 4.1 Mobile Code used to provide such controls. For example, mandatory A number of independently-developed security security mechanisms may be used to isolate the token solutions for the World Wide Web, each with its own for use only by applications executed by the user who protection model, have been developed to protect activated the token. Furthermore, the mandatory secu against the threats from malicious mobile code. How- rity mechanisms can reduce the risk of malicious soft- ever, systems relying on these security solutions are vul ware being able to use the cryptographic token and may nerable because of a lack of operating system support consequently limit the use of the trusted path mecha for security. Primarily, this section will emphasize this nism to highly sensitive actions. point by focusing on efforts to secure Java [27], but Hence, even in the simplest case, the features of a other efforts will also be used to highlight issues. secure operating system are crucial to addressing the The primary threat that these solutions attempt to vulnerabilities of application-space cryptography. In the address is the threat of hostile mobile code gaining remainder of this section, the assumptions of the simpli unauthorized access to a user’s files and resources in fied case are removed, and the additional vulnerabilities order to compromise confidentiality or integrity. The are examined. threat is not limited to interpreted applets loaded from If the assumption that initial keys are securely the network by a web browser; both [26] and [30] established within the token is removed, then there is the extend this threat model to include helper applications additional vulnerability that the initial keys may be which may have been actively installed by a user. There observed or modified by an unauthorized entity. Unless is little distinction between mobile code and what is tra the initial keys are provided via a dedicated physical ditionally considered data. For example, consider that interface to the cryptographic token, the operating sys Postscript documents are actually programs with poten tem must protect the path between the initial key source tial access to the local filesystem. Consequently, helper and the cryptographic token and may need to protect the applications which operate on untrustworthy data, such initial key source itself. Mandatory security mechanisms as Postscript viewers, must either be executed in a less may be used to rigorously protect the path and the key flexible mode of operation, or must be carefully con- source. A trusted path may be required for initial keying. fined by the operating system. The basic Java Security Model is based on the can reduce the risk of malicious code entering the sys notion of “sandboxing.” The system relies on the type- tem, provide some measure of trust that an applet will safety of the language in conjunction with the Java behave properly, and provide another piece of informa Security Manager to prevent unauthorized actions [27]. tion to use in making an access control decision. How- Efforts are currently underway to add additional security ever, as with the general application-space cryptography features to Java, such as capabilities, an expanded described in section 3.2, the digital signature verifica access control model, or additional controls over access tion mechanism depends on secure operating system to certain class libraries [70]. features to guarantee invocation, to protect the integrity The fundamental limitation of these approaches is of the mechanism, and to protect the integrity of the that none can be guaranteed to be tamperproof or unby locally cached public keys. passable. For example, although the Java language is The need for an operating system trusted path claimed to be secure, the Java Virtual Machine (JVM) mechanism was highlighted by [67] which demonstrates will accept byte code which violates the language the ease with which a trojan horse applet can capture semantics and which can lead to security violations [32]. credit card numbers, PIN numbers or passwords by per JVM implementation errors have led to violations of the fectly emulating a window system dialog box. The pro- language’s semantics [19]. A significant portion of the posed solution was an ad hoc user-level trusted path Java system is currently in the form of native methods mechanism which required a user to customize his dia which are implemented as object code and are not sub log box with a complicated graphical pattern. This solu ject to the JVM’s type-safety checks. The JVM is not tion is not adequate as it only increases the able to protect itself from tampering by other applica sophistication required in the trojan horse. tions. Finally, the Java security model can offer no pro Other systems attempt to provide alternative secu tection from the many other forms of malicious mobile rity solutions to the mobile code threat. The Janus sys code. In [30], the authors call for trusted systems to sup- tem [26] interposes on Solaris system calls to constrain port a system-wide solution to address the threats pre untrusted native applications, and Safe-Tcl [49] pro sented by non-Java code. vides a “safe interpreter” which attempts to limit the Even if such problems with the JVM did not exist, command set available to untrusted code. However, like these security solutions would still suffer from the fun the Java security solutions, these systems are subject to damental limitation that they rely on application-space the same vulnerabilities as any other application-space access control for security. They all depend on the local access control mechanism; consequently, they require file system to preserve the integrity of the system code, secure operating system support. including class files. All of the systems which store pol- Beyond enabling all of the mobile code systems icy locally depend on file system access control to pre- mentioned above to function securely, a secure system serve the integrity of the policy files. Section 3.1 could also simplify them. Rather than implementing demonstrated the importance of secure operating system their security primitives in application space where they features for supporting application-space access control. are vulnerable, they could utilize the system security Another popular approach to “securing” mobile services to provide a better overall system. A properly code is to require digitally signed applets and limit exe designed secure system would provide a flexible, eco cution to those originating from trusted sources [27]. In nomic foundation with one consistent security model for fact, native ActiveX security is based entirely on digital all of the different virtual machine efforts to use. signatures, as it has no form of access control [24][27]. The basic flaw with this approach is that it is an all-or- 4.2 Kerberos nothing proposition; the user cannot constrain a native Kerberos [31][47] is a network authentication ser ActiveX control to a limited security domain. Manda vice originally developed for Project Athena at MIT. In tory security mechanisms in the operating system may addition to providing an authentication service, Ker be used for this purpose, by confining the browser to a beros supports the establishment of session keys to sup- distinct security domain. port network confidentiality and integrity services. Note that, although not sufficient by themselves, Derivatives of Kerberos have been used to provide digital signatures will play an important part in mobile authentication and key establishment services for AFS code security, even on secure operating systems. They [64], DCE [53], and ONC RPC [21]. Kerberos and sys- tems that rely on Kerberos have been suggested as a more, suppose that the client workstation is a single-user means of providing security for the World Wide Web system which does not export any services to other sys [18][36][37]. tems. In spite of these assumptions, a user is still vulner Kerberos is based on symmetric cryptography with able to attacks by malicious software, such as mobile a trusted key distribution center (KDC) for each realm. code downloaded by the user. The Kerberos KDC has access to the secret key of every If the malicious software could spoof the client-side principal in its realm. Consequently, a compromise of authentication program to the user, then it may be able the KDC can be catastrophic. This is generally to obtain a user’s password. Even with one-time pass- addressed by requiring that the KDC be both physically words, this attack would permit the malicious software secure and dedicated solely to running the Kerberos to act on behalf of the user during the login session. A authentication server [46].3 A typical environment also trusted path mechanism in the client workstation’s oper uses physically-secure dedicated systems for the servers ating system can be used to prevent such an attack. using Kerberos. Without these environmental assump Additionally, such a trusted path mechanism in combi tions, the Kerberos authentication service and the Ker nation with support for a network protected path can be berized server applications would require secure used to provide a trusted path between users and server operating system features to rigorously ensure that they applications. are tamperproof and unbypassable. For the sake of argu If the malicious software can read the files used by ment, the remainder of this section will consider these the Kerberos client software to store tickets and session environmental assumptions to be true and focus only on keys, then the malicious software may directly imper the security of the client workstations. sonate the user to the corresponding Kerberized server Kerberos was designed for an environment where applications. Even if the session keys are encapsulated the client workstations and the network are assumed to within a hardware cryptographic token, the malicious be completely untrustworthy [10][45]. However, since software can invoke the cryptographic token on behalf the software on the client workstation mediates all inter- of the user, exploiting the misuse vulnerability discussed actions between its user and the Kerberized server appli in section 3.2. Mandatory security mechanisms can be cations, this assumption implies that the Kerberized used to rigorously protect either the file or the crypto server applications must view all client applications as graphic token against access by malicious software. potentially malicious software. Furthermore, a Kerber ized server application has no means of establishing a 4.3 Network Security Protocols trusted path to a user on a client workstation, since that The IPSEC network security protocols [5][3][4] are would require trusted code on the client workstation. used to provide authentication, integrity, and confidenti Thus, in a system that uses Kerberos, malicious software ality services at the IP layer. Typical implementations of executed by a user is free to arbitrarily modify or leak a the IPSEC protocols rely on application-space key man user’s information, with no means of confinement; no agement servers to perform key exchanges and supply distinctions between a user’s legitimate requests and the keys for security associations. The IPSEC module in the requests of malicious software are possible. Given the network stack communicates with the local key manage increasing ease with which malicious software may be ment server via upcalls to retrieve the necessary infor introduced into a system, the Kerberos environmental mation. model seems untenable. As noted in [14], secure end-to- SSL [69] is another network security protocol that end transactions require trusted code at both end points. provides authentication, integrity, and confidentiality As a basis of further discussion, suppose that there services and a negotiation service for keys and crypto is a base set of trustworthy software on the client work- graphic algorithms. SSL, however, is implemented stations which is protected against tampering, but that entirely in application space and requires no kernel the client workstation operating system still lacks mech modifications. SSL has been implemented as a library anisms for mandatory security and trusted path. Further- that interposes on socket calls to incorporate the SSL protocol between the underlying transport protocol of 3. Variants of Kerberos have been proposed that use asym the socket (e.g., TCP) and the application protocol (e.g., metric cryptography either to reduce the cost incurred by a penetration of the KDC or to completely eliminate the HTTP). need for the KDC [63] [66][42][18]. Since it relies on application-space cryptography, through the firewall. Malicious insiders can construct the key management server used by IPSEC is subject to tunnels to permit outsiders to perform inbound calls the vulnerabilities described in section 3.2 and requires through the firewall or may provide ways of bypassing a mandatory security mechanisms in the operating system firewall entirely. Additionally, malicious insiders can for adequate protection. In turn, since the protection exploit data leaked between users within the firewall. provided by IPSEC depends on the protection of the Although internal firewalls may be used to partition keys, mandatory security mechanisms in the operating insiders into multiple trust classes, the granularity of system are also crucial to meeting the security require protection is quite limited in comparison to what can be ments of IPSEC. Since the complete SSL implementa provided by a secure operating system. tion operates in application space, it is directly subject to The ability of malicious insiders to leak data the vulnerabilities described in section 3.2 and requires through the firewall can be confined by mandatory secu mandatory security mechanisms in the operating system rity mechanisms in the operating systems of the internal for adequate protection. hosts. Likewise, mandatory security mechanisms in the Both IPSEC and SSL are intended to provide secure operating systems of the internal hosts can confine out channels. However, as noted in [14], an end-to-end siders who perform inbound calls through tunnels con secure transaction requires a secure channel and secure structed by a malicious insider to the security domains end points. If an attacker can penetrate one of the end in which the malicious insider is allowed to operate. points and directly access the unprotected data, then the In addition to the threat of malicious insiders, a fire- protection provided by IPSEC and SSL is only illusory. wall is at risk from the threat of malicious software exe cuted by benign insiders. Typically, firewalls do not 4.4 Firewalls require that insiders strongly authenticate themselves to A network firewall is a mechanism for enforcing a the firewall in order to access external services through trust boundary between two networks. The analysis of the firewall [40]. Hence, if a benign insider executes this section is based on the discussions in [17][9][11][6]. malicious software on an internal host, the malicious Commonly, firewalls are used to maintain a separation software may seek to subvert the protection of the fire- between insiders and outsiders for an organization’s wall in the same fashion as a malicious insider. An computing resources. Internal firewalls may also be example of using a malicious Java applet to enable out used to provide separation between different groups of siders to penetrate a firewall is given in [40]. Even if insiders or to provide defense-in-depth against outsid insiders are required to strongly authenticate themselves ers. to the firewall, a benign insider may still execute a trojan Modern firewall architectures typically involve the horse whose overt purpose requires external access; in use of bastion hosts; in a screened subnet architecture, this case, the malicious software may still subvert the there may be an external bastion host on a perimeter net- protection of the firewall. work, which is highly exposed to outsiders, and an inter Mandatory security mechanisms in the operating nal bastion host on the internal network, which is systems of the internal hosts may be used to protect exposed to the external bastion host. The security of the users against execution of malicious software or to con- bastion hosts is crucial to the security provided by the fine such software when it is executed. If strong authen firewall. To reduce risk, bastion hosts are typically dedi tication is required prior to accessing external services, cated systems, only providing the minimal services mandatory security mechanisms could be used to ensure required. Even with such minimal configuration, flaws that only trustworthy software on the internal hosts can in the proxy servers on the bastion host may permit pen communicate with the strong authentication mechanism etration. However, mandatory security mechanisms in on the firewall. In any case, the mandatory security the operating systems of the bastion hosts may be used mechanisms would limit the ability of malicious soft- to confine proxy servers so that penetrations are nar ware to leak information or support inbound calls. rowly limited. Similarly, the bastion host’s mandatory Firewalls are also susceptible to malicious data security mechanisms may be used to protect proxy serv attacks [62]. Some example malicious data attacks rele ers against tampering. vant to firewalls are described in [68][40][16]. As with Firewalls provide no protection against malicious malicious insiders and malicious software, mandatory insiders. Typically, insiders can easily leak information security mechanisms in the operating systems of the bastion hosts and the internal hosts may be used to con- assumptions will result in residual vulnerabilities. As an fine malicious data attacks. example, covert channels remain a serious technical When inbound services are supported by a firewall, challenge for secure operating system designers. These the firewall itself cannot protect the remote system limitations must be understood, and suitable measures against compromise. The remote system’s operating must be taken to deploy complementary mechanisms system must protect against misuse of the allowed designed to compensate for such problems. In the covert inbound services and must protect any information channel example, auditing and detection mechanisms acquired through the inbound service against leakage. should be utilized to minimize the chances that known Mandatory security mechanisms in the remote system’s channels are exploited. In turn, these should depend on operating system may be used to provide such protec secure operating systems to protect their critical compo tion. Additionally, mandatory security mechanisms in nents, such as audit logs and intrusion sensors, because the internal host’s operating system are needed to con- they are subject to the same types of vulnerabilities as fine any attack from a penetrated remote system. those discussed throughout this paper. When a benign insider wishes secure access to a 6 Summary remote service, the firewall itself cannot provide com This paper has argued that the threats posed by the plete protection for the use of the remote service. The modern computing environment cannot be addressed internal host’s operating system must protect against any without secure operating systems. The critical operating attempts by the server to trick the client into misusing its system security features of mandatory security and privileges, as in the case where a browser executes a trusted path have been explained and contrasted with the malicious applet provided by a server; mandatory secu inadequate protection mechanisms of mainstream oper rity mechanisms in the internal host’s operating system ating systems. This paper has identified the vulnerabili may be used to confine these client applications. ties that arise in application-space mechanisms for 5 System Security access control and cryptography and has demonstrated how mandatory security and trusted path mechanisms No single technical security solution can provide address these vulnerabilities. To provide a clear sense of total system security; a proper balance of security mech the need for these operating system features, this paper anisms must be achieved. Each security mechanism pro has analyzed concrete examples of current approaches vides specific security functions and should be designed to security and has shown that the security provided by to only provide those functions. It should rely on other these approaches is inadequate in the absence of such mechanisms for support and for required security ser features. Finally, the reader was given a perspective of vices. In a secure system, the entire set of mechanisms system security where both secure operating systems complement each other so that they collectively provide and application-space security mechanisms must com a complete security package. Systems that fail to plement each other in order to provide the correct level achieve this balance will be vulnerable. of protection. As has been shown throughout this paper, a secure By arguing that secure operating systems are indis operating system is an important and necessary piece to pensable to system security, the authors hope to spawn a the total system security puzzle, but it is not the only renewed interest in operating system security. If security piece. A highly secure operating system would be insuf practitioners were to more openly acknowledge their ficient without application-specific security built upon security solution’s operating system dependencies and it. Certain problems are actually better addressed by state these dependencies as requirements for future security implemented above the operating system. One operating systems, then the increased demand for secure such example is an electronic commerce system that operating systems would lead to new research and requires a digital signature on each transaction. A appli development in the area and ultimately to commercially cation-space cryptographic mechanism in the transac viable secure systems. In turn, the availability of secure tion system protected by secure operating system operating systems would enable security practitioners to features might offer the best system security solution. concentrate on security services that belong in their par No single security mechanism is likely to provide ticular components rather than dooming them to try to complete protection. Unsolved technical problems, address the total security problem with no hope of suc implementation errors and flawed environmental cess. 7 References [21] M. Eisler et al. Security Mechanism Independence in ONC RPC. Proceedings of the 6th USENIX [1] M. Abrams et al, Information Security: An UNIX Security Symposium, July 1996. Integrated Collection of Essays, IEEE Comp. 1995. [22] D. Ferraiolo and R. Kuhn. Role-Based Access [2] J. Anderson, Computer Security Technology Control. Proceedings of the 15th National Planning Study, Air Force Elect. Systems Div., Computer Security Conference, 1992. ESD-TR-73-51, October 1972. [23] B. Ford et al. Microkernels Meet Recursive Virtual [3] R. Atkinson. IP Authentication Header (AH). IETF Machines. Proceedings of 2nd USENIX Symposium RFC 1826, August 1995. on Operating Systems Design and Implementation, [4] R. Atkinson. IP Encapsulating Security Payload October 1996. (ESP). IETF RFC 1827, August 1995. [24] S. Garfinkel. Web Security and Commerce. O’Reilly [5] R. Atkinson. Security Architecture for the Internet & Associates, Cambridge, 1997. Protocol. IETF RFC 1825, August 1995. [25] M. Gasser. Building a Secure Computer System. [6] Badger et al. DTE Firewalls, Initial Measurement Van Nostrand Reinhold Company, New York, 1988. and Evaluation Report. Trusted Information [26] I. Goldberg et al. A Secure Environment for Systems Technical Report #0632R, March 1997. Untrusted Helper Applications. Proceedings of 6th [7] L. Badger et al. Practical Domain and Type USENIX Unix Security Symposium, July 1996. Enforcement for UNIX. Proceedings of IEEE [27] L. Gong. Java Security: Present and Near Future. Symposium on Security and Privacy, May 1995. IEEE Micro, May/June 1997. [8] D. Baker. Fortresses Built Upon Sand. Proceedings [28] R. Graubart. Operating System Support for Trusted of the New Security Paradigms Workshop, 1996. Applications. Proceedings of the 15th National [9] S. Bellovin and W. Cheswick. Network Firewalls. Computer Security Conference, 1992. IEEE Communications, September 1994. [29] M. Harrison et al. Protection in Operating Systems. [10] S. Bellovin and M. Merritt. Limitations of the Communications of the ACM 19(8), August 1976. Kerberos Authentication System. Computer [30] T. Jaeger et al. Building Systems that Flexibly Communications Review 20(5), October 1990. Control Downloaded Executable Content. [11] B. Blakley. The Emperor’s Old Armor. Proceedings Proceedings of the 6th USENIX Security of the New Security Paradigms Workshop, 1996. Symposium, July 1996. [12] W. Boebert and R. Kain, A Further Note on the [31] J. Kohl and C. Neuman. The Kerberos Network Confinement Problem. Proceedings of the 30th Authentication Service V5. IETF RFC 1510, IEEE International Carnahan Conference on September 1993. Security Technology, 1996. [32] M. Ladue. When Java Was One: Threats from [13] W. Boebert and R. Kain. A Practical Alternative to Hostile Byte Code. Proceedings of the 20th Hierarchical Integrity Policies. Proceedings of the National Information Systems Security Conference, 8th National Computer Security Conference, 1985. 1997. [14] E. Brewer at al. Basic Flaws in Internet Security [33] B. Lampson. A Note on the Confinement Problem. and Commerce. http://http.cs.berkeley.edu/ Communications of the ACM 16(10), 1973. ~gauthier/endpoint-security.html, 1995. [34] B. Lampson et al. Authentication in Distributed [15] W. Brierley. Integrating Cryptography into Trusted Systems: Theory and Practice. Proceedings of the Systems: A Criteria Approach. Proceedings of the 13th ACM Symposium on Operating Systems 8th IEEE Conference on Computer Security Principles, 1992. Applications, 1992. [35] J. Lepreau et al. The Persistent Relevance of the [16] Computer Emergency Response Team. Advisory Local Operating System to Global Applications. 93:16. Proceedings of the 7th ACM SIGOPS European Workshop, September 1996. [17] D. Chapman and E. Zwicky. Building Internet Firewalls. O’Reilly, 1995. [36] S. Lewontin. The DCE-Web Toolkit. Proceedings of the 3rd International World Wide Web [18] D. Davis. Kerberos Plus RSA for World Wide Web Conference, 1995. Security. Proceedings of the 1st USENIX Workshop on Electronic Commerce, July 1995. [37] S. Lewontin and M. Zurko. The DCE Web Project: Providing Authorization and Other Distributed [19] D. Dean et al. Java Security: From HotJava to Services to the World Wide Web. Proceedings of Netscape and Beyond. Proceedings of the IEEE the 2nd International World Wide Web Conference, Symposium on Security and Privacy, 1996. 1994. [20] DOD 5200.28-STD. Department of Defense [38] J. Liedtke. L4 Reference Manual. Research Report Trusted Computer System Evaluation Criteria, RC 20549, IBM T. J. Watson Research Center, December 1985. September 1996. [39] T. Linden. Operating System Structures to Support [57] Secure Computing Corporation. DTOS Covert Security and Reliable Software. ACM Computing Channel Analysis Plan, Technical report MD A904- Surveys 8(4), Dec. 1976. 93-C-4209 CDRL A017, May 1997. [40] D. Martin et al. Blocking Java Applets at the [58] Secure Computing Corporation. DTOS Generalized Firewall. Proceedings of the Internet Society Security Policy Specification, Technical report MD Symposium on Network and Distributed Systems A904-93-C-4209 CDRL A019 June 1997. (http:// Security, 1997. www.securecomputing.com/randt/HTML/ [41] D. Mazieres and M. Kaashoek. Secure Applications dtos.html) Need Flexible Operating Systems. Proceedings of [59] Secure Computing Corporation. DTOS General the 6th Workshop on Hot Topics in Operating System Security and Assurability Assessment Systems, May 1997. Report, Technical report MD A904-93-C-4209 [42] A. Medvinsky et al. Public Key Utilizing Tickets CDRL A011 June 1997. (http://www. for Application Servers. IETF Draft Jan 1997 securecomputing.com/randt/HTML/dtos.html) expires July 1997. [60] Secure Computing Corporation. LOCKed [43] S. Minear. Providing Policy Control Over Object Workstation Cryptographic Services Study, Operations in a Mach Based System. Proceedings Technical Report MD A904-94-C-6045 CDRL of the 5th USENIX Security Symposium, April A009, September 1995. . 1995. [61] Secure Computing Corporation. Security [44] NCSC-TG-005. Version 1. NCSC Trusted Network Requirements Specification and Requirements Interpretation, July 1987. Rationale Report for the Technical Study Demonstrating the Feasibility of Software-Based [45] C. Neuman and J. Steiner. Authentication of Cryptography on INFOSEC Systems, Technical Unknown Entities on an Insecure Network of report MDA904-91-C-7103 CDRL A011 and Untrusted Workstations. Proceedings of the Usenix A012, May 1994. Workshop on Workstation Security, August 1988. [62] W. Sibert. Malicious Data and Computer Security. [46] C. Neuman and T. Ts’o. Kerberos: An Proceedings of the 19th National Information Authentication Service for Computer Networks. Systems Security Conference, 1996. IEEE Communications Magazine, September 1994. [63] M. Sirbu and J. Chuang. Distributed Authentication [47] C. Neuman et al. The Kerberos Network in Kerberos using Public Key Cryptography. Authentication Service V5 R6. IETF Draft July Proceedings of the Symposium on Network and 1997, expires Jan 1998. Distributed System Security, 1997. [48] R. O’Brien and C. Rogers. Developing [64] M. Spasojevic and M. Satyanarayanan. An Applications on LOCK. Proceedings of the 14th Empirical Study of a Wide-Area Distributed National Computer Security Conference, 1991. System. ACM Transactions on Computer Systems [49] J. Ousterhout et al. The Safe-Tcl Security Model. 14(2), May 1996. Sun Labs Technical Report TR-97-60, March 1997. [65] S. Sutton and S. Hinrichs. MISSI B-level Windows [50] President’s Commission On Critical Infrastructure NT Feasibility Study Final Report. Technical Protection. Research and Development Report, NSA MISSI Contract MDA904-95-C-4088, Recommendations for Protecting and Assuring December 1996. Critical National Infrastructures, September 1997 [66] B. Tung et al. Public Key Cryptography for Initial [51] M. Roe and T. Casey. Integrating Cryptography in Authentication in Kerberos. IETF Draft expires Jan the Trusted Computing Base. Proceedings of the 1998. 6th IEEE Conference on Computer Security [67] J. Tyger and A. Whitten. WWW Electronic Applications, 1990. Commerce and Java Trojan Horses. Proceedings of [52] RSA Laboratories. Public Key Cryptography the 2nd Usenix Workshop on Electronic Commerce, Standard No. 11 - Cryptoki Version 2.0. RSA November 1996. Laboratories, pp. 24-25, April 1997. [68] W. Venema. Murphy’s Law and Computer Security. [53] R. Salz. DCE 1.2 Contents Overview. Open Group Proceedings of the 6th USENIX Unix Security RFC 63.3, October 1996. Symposium, 1996. [54] J. Saltzer and M. Schroeder. The Protection of [69] D. Wagner and B. Schneier. Analysis of the SSL 3.0 Information in Computer Systems. Proceedings of Protocol. Proceedings of the 2nd USENIX the IEEE, 63(9), September 1975. Workshop on Electronic Commerce, November, 1996. [55] B. Schneier. Applied Cryptography, 2nd Edition. John Wiley & Sons, New York, 1996. p. 169-187, [70] D. Wallach et al. Extensible Security Architectures 216-225. for Java. Technical Report 546-97, Dept. of Computer Science, Princeton University, April [56] Secure Computing Corporation. Assurance in the 1997. Fluke Microkernel:: Formal Security Policy Model, Technical report MD A904-97-C-3047 CDRL A003, March 1998.