The Monoculture Risk Put Into Context

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

IT Monoculture

The Monoculture Risk


Put into Context

Conventional wisdom holds that software monocultures


are exceptionally vulnerable to malware outbreaks. The
authors argue that this oversimplifies and misleads.
An analysis based on attacker reactions suggests that
deploying a monoculture in conjunction with automated
diversity is indeed a very sensible defense.

T
Fred B. he term monoculture originates in the biologi- • the widespread
Schneider cal sciences, where it refers to a population dependence on computing systems for day-to-day
and Kenneth entirely comprising instances of a single or- operations, and
P. Birman ganism. Monocultures are rare in nature, and • the interconnection of computing systems, which
Cornell for good reason: they risk extinction from pathogens enables computers to exchange content (including
University and have less chance of adapting to changing condi- malware).
tions. A pathogen could destroy some members of a
diverse population but not all of them—diversity thus These trends are somewhat incompatible. The first
helps ensure survival of the population. implies that an organization’s computing infrastruc-
Although nature abhors monocultures, cyberspace ture must be trustworthy for that organization to sur-
seems to favor them. A collection of identical comput- vive; the second means malware has an efficient way
ing platforms is easier, hence cheaper, to manage be- to attack, propagate, and compromise all members
cause mastering one interface and making one set of of the organization’s computing infrastructure. The
configuration decisions suffices for all. In addition, user prospect of a computer monoculture thus terrifies
training costs are reduced when job transfers do not computer security experts.
have the overhead of learning yet another operating This terror is senseless. We argue in this article that
system and suite of applications; investments in educa- a monoculture might well be a good cyberdefense
tion about how to use or manage a system also can be strategy—at least for today. We also outline the kinds
amortized over a larger user base in a monoculture. Fi- of attacks that likely will be launched when a mon-
nally, interoperability of a few different kinds of systems oculture defense is put in place, and we discuss what
is far easier to orchestrate than integrating a diverse col- must be done to defend against them. Our analysis is
lection, standards not withstanding. So networking is holistic, based on how defenses and attacks are likely to
usually easier to support within a monoculture. coevolve. Although viewing the landscape in terms of
Mindful of these advantages, the public and private the attacker reactions evoked by successive generations
sectors both tend to adopt procurement policies that of defenses is unusual, we found it an enlightening ex-
foster creating computer monocultures. The past five ercise and believe it might well be a useful standard
decades of computer usage in organizations has been against which future defenses ought to be evaluated.
a series of epochs, each one characterized by a single
dominant instruction set architecture and operating Vulnerabilities and Defenses
system. Today it is Intel’s x86 architecture running Different classes of attacks warrant different defenses.
Microsoft’s software. For the discussion that follows, we group attacks into
Two things are different today than in the past, three classes. (We have not tried to prove that these
though: classes cover all possible attacks or that they actually

14 Published by the IEEE Computer Society ■ 1540-7993/09/$25.00 © 2009 IEEE ■ IEEE Security & Privacy
IT Monoculture

constitute a partition on the space. The analysis in this In contrast, deploying a highly diverse system en-
article, however, depends on neither.) A configuration tails configuring each platform separately and ensuring
attack exploits a vulnerability introduced by the ven- that all of these different configurations are mutually
dor-supplied default configuration, system adminis- compatible. Such an undertaking is an error-prone
trator, or user who configures the software. Modern process.1 Our conclusion is that if you believe con-
software systems are quite flexible, employing con- figuration errors are a significant vulnerability today,
figuration files and global databases to customize each then devoting the effort to eliminate configuration
installation. Whether this customization is automated errors and then switching to a monoculture can be a
or manual, misconfiguration is a common source of cost-effective defense. However, if this course is pur-
vulnerabilities. Moreover, even when customization sued but configuration errors remain, then the payoff
is not undertaken, vendor-supplied default configu- from a successful attack can be considerable.
ration files historically have all too often permitted
improper access to privileged functionality. Defending Against
A technology attack exploits programming or design Technology Attacks
errors in software running on the target. All large sys- Reduce the opportunities for configuration attacks
tems have bugs, a situation that is not likely to change by deploying a monoculture of carefully analyzed
anytime soon. Inadequate specifications are also a se- configurations, and attackers will pursue technol-
rious problem, so even software that does what it was ogy attacks; thus, defenders must be prepared for that
designed to do could have unintended side effects at- eventuality.
tackers can exploit. Thus, large systems invariably are Defending a monoculture against technology at-
vulnerable to technology attacks. Choosing the pro- tacks raises two separate issues. The first concerns
gramming language wisely and using other software defending against technology attacks per se on each
engineering tools can help software developers to platform—this depends only on the platform and not
eliminate some vulnerabilities, but the full spectrum on the networked system in which it operates. The
of software issues is unlikely to yield to any technique second issue is to increase the work an adversary re-
known or even on the horizon. quires to develop and launch technology attacks that
Networked systems admit the possibility of trust at- spread rapidly and compromise a significant fraction
tacks. In them, one computer satisfies a request from of the individual platforms that make up the net-
another because it trusts the source of the request, but worked system. Monocultures benefit attackers here
in fact the source has already been compromised by an to the extent that attacks succeeding on one platform
attacker. Of particular concern in the world of “cloud are likely to succeed on all.
computing” is the tendency to group networked com- A defense that addresses both issues is to use tools
puters into enclaves, in which requests from within that automatically introduce diversity into the code
the enclave are deemed more trustworthy than those executed on individual platforms. Various approaches
from outside. Once the attacker has compromised any have been proposed, including: relocation or padding
computer in the enclave, the entire enclave is poten- the runtime stack by random amounts,2–4 re­arranging
tially at risk. Trust in the network itself is also a serious basic blocks and code within basic blocks,2 randomly
problem. Today, routing and address-mapping in the changing the names of system calls5 or instruction op-
Internet are easy to compromise, Web pages can and codes,6–8 and randomizing the heap memory alloca-
are modified en route, and even the act of rendering a tor.9 Some of these forms of artificial diversity are highly
Web page can place a client system at risk due to the effective; others somewhat less so. For example, Hov-
growing prevalence of scripting. av Shacham and colleagues derive experimental lim-
its on the address space randomization scheme10 that
Defending Against Jun Xu and colleagues proposed,4 while Ana Sovarel
Configuration Attacks and colleagues’ work11 discusses the effectiveness of
Configuration errors are an overwhelming source instruction set randomization and outlines some at-
of vulnerability in today’s systems and are particu- tacks against it.
larly easy to exploit. Deploying a monoculture helps In all cases, artificial diversity defends against attacks
defend against such attacks because a single locked- by changing aspects of the implementation in ways that
down, well-understood configuration will have fewer force attackers to individualize exploits. With code or
vulnerabilities by virtue of the care invested in con- storage layout no longer easily predictable, executing
structing that configuration. Even when systems are an attack is likely to raise a runtime error after a small
complex and configurations are unavoidably location- number of instructions. So attacks that seek to com-
and user-specific, deploying a limited number of pre- promise integrity or confidentiality will not succeed;
analyzed configurations might suffice to cover most the inputs will either be rejected or, in the worst case,
needs without exposing known vulnerabilities. cause the platform to crash. The defense, however, is

www.computer.org/security/ ■ IEEE Security & Privacy 15


IT Monoculture

probabilistic with respect to any given individual plat- in light of the diversity now present in the specific
form. First, an attack might be wholly unaffected by platform, which requires somewhat more sophisticat-
changes that artificial diversity introduces, because the ed debugging and monitoring tools. These problems
attack does not depend on the changed implementation are far from insurmountable given modern program-
details at the target platform. (Certain forms of artificial ming environments. Microsoft’s Vista, for example,
diversity, though, affect just about all the software that is a widely deployed operating system that supports
executes on a platform—randomizing the names of sys- address-space randomization.
tem calls or instruction opcodes, for example.) Second, Critics of software monocultures advocate us-
even attacks that fail, if repeated with enough different ing true diversity for slowing the spread of malware
variants or if they yield detailed knowledge of the ex- perpetrating a technology attack. Different interfaces
ecutable running on some target, might tell an attacker and operations having different semantics means true
enough to craft an attack that works; the determined diversity can sometimes prevent interface attacks,
attacker can thus expend effort and increase the chances whereas artificial diversity never can. However, with
of success (the usual trade-off for a defense). different interfaces and functionality, individual sys-
Note that artificial diversity does not protect against tems could in aggregate exhibit more different vul-
interface attacks, which involve exploiting desired func- nerabilities, which helps attackers. Moreover, the cost
tionality in unintended ways. Attacks packaged as of building (or acquiring) many different instances of
scripts to be executed by an interpreter are prominent the same kind of system is likely to be prohibitive for
examples. The interface to the interpreter cannot be a system with thousands of workstations, as found in
changed because scripts sometimes come from outside a moderately sized organization. And simply having
of the organization. And adding artificial diversity to independent teams build separate systems from the
the implementation of the interpreter does not change same specification does not preclude these systems
the effects of executing a script, hence does not defend from having identical vulnerabilities—for example,
against scripts that contain attacks. all teams might misinterpret a confusing specification
By converting some attacks into crashes, artificial di- in the same way. Finally, with true diversity, we again
versity can adversely affect a system’s availability. Some face the prospect of different configurations, so we
systems will tolerate transient outages of individual plat- lose one of the benefits of a monoculture.
forms (perhaps recovering from crashes by running yet
a different version of the implementation), but even sys- Defending Against Trust Attacks
tems that use replication to mask outages are limited by Diversity, whether artificial or true, multiplies the
a fixed number of replicas. Thus, there is some probabil- number of distinct attacks that can compromise some
ity that an attack might cause too many of the individual platform someplace in the system. An attack that fails
platforms that constitute a system to crash, thereby com- at one platform might succeed at another. So instead of
promising the system’s availability. The shape of such seeking an attack for a particular platform instance, an
probability distributions is not well understood; they attacker could flood a network or individually probe
depend on the space and probability of various attacks, all platform instances with a single attack. Some in-
as well as the kind of artificial diversity. stance might succumb. If one does, and if other plat-
Beyond defending individual platforms and sys- forms are vulnerable to trust attacks, then the attacker
tems, artificial diversity serves as an antidote to a can compromise those other platforms as well.
mono­culture’s vulnerabilities. A platform that crashes Thus, after deploying a monoculture to defend
in response to any attack cannot then help propagate against configuration attacks and employing artificial
that attack to other platforms and signal to system op- diversity to help resist technology attacks, we should
erators that something is wrong, thereby inviting the institute defenses against trust attacks. One obvious
use of other means (which might well be out of band) solution is to revisit the practice of decomposing net-
to prevent the spread of whatever malware is serving worked systems into enclaves in which sites within
as the attack vector. So, the spread of attack vectors an enclave trust each other more than they trust sites
that monocultures otherwise enable is slowed by ar- outside of the enclave. Another solution, long advo-
tificial diversity. And this defense works in a man- cated but difficult to manage in practice, would be
ner complementary to other defenses for blocking the to employ fine-grained least-privilege authorization
spread of malware through technology attacks. policies so that the operations one site performs on be-
One hesitation software developers voice about ar- half of another are limited in scope and consequence.
tificial diversity involves testing and debugging. With
each deployed system having different internals, test-
ing can now cover only a small fraction of what gets
fielded. Moreover, when a system does crash, dumps
and other diagnostic information must be interpreted
W ith only finite resources, you should focus on
only those threats perceived to be real. Knowl-
edge of the threats—including resources available to

16 IEEE Security & Privacy ■ January/February 2009


IT Monoculture

them, likely expertise, and probable goals—helps iden- 2. S. Forrest, A. Somayaji, and D.H. Ackley, “Building Di-
tify the targets that must be defended and predict what verse Computer Systems,” Proc. 6th Workshop Hot Topics
kinds of attacks are plausible. Our analysis in this ar- in Operating Systems, IEEE CS Press, 1997, pp. 67–72.
ticle is predicated on a presumption that the low-hang- 3. S. Bhatkar, D.C. DuVarney, and R. Sekar, “Address
ing fruit for attackers today is configuration attacks. It Obfuscation: An Efficient Approach to Combat a Broad
would be nice to have that assumption validated, but Range of Memory Error Exploits,” Proc. 12th Usenix
even without that validation, our arguments clearly Security Symp., Usenix Assoc., 2003, pp. 105–120.
show that it is naive to regard deploying a monoculture 4. J. Xu, Z. Kalbarczyk, and R.K. Iyer, “Transparent
as a risk that cannot be mitigated. On the contrary, we Runtime Randomization for Security,” Proc. 22nd Int’l
find many reasons to believe that a monoculture could Symp. Reliable Distributed Systems (SRDS 03), IEEE CS
be made far more robust than what it likely replaces. Press, 2003, pp. 260–269.
The deployment of a monoculture should be 5. M. Chew and D. Song, Mitigating Buffer Overflows by
viewed in the context of how it affects the evolution Operating System Randomization, tech. report CMU-
of attacker responses to defenses. Whereas defenders CS-02-197, School of Computer Science, Carnegie
today cannot hope to defend against all attacks, they Mellon Univ., 2002.
can deploy defenses with an eye toward anticipating 6. G.S. Kc, A.D. Keromytis, and V. Prevelakis, “Coun-
the vulnerabilities new generations of attacks will tering Code-Injection Attacks with Instruction-Set
exploit. A monoculture defends against some attacks Randomization,” Proc. 10th ACM Conf. Computer and
(configuration attacks) but creates new vulnerabilities Communications Security (CCS 03), ACM Press, 2003,
to technology attacks; employing artificial diversity pp. 272–280.
in this monoculture defends against some of those 7. E.G. Barrantes et al., “Randomized Instruction Set
technology attacks but could increase vulnerability to Emulation to Disrupt Binary Code Injection Attacks,”
trust attacks; and so on. Proc. 10th ACM Conf. Computer and Communications Se-
The characterization of monoculture in this article curity (CCS 03), ACM Press, 2003, pp. 281–289.
is particularly well suited for understanding the effects 8. E.G. Barrantes et al., “Randomized Instruction Set
of procurement policies that restrict computer plat- Emulation,” ACM Trans. Information and System Security,
form acquisitions to systems from a single vendor run- vol. 8, no. 1, 2005, pp. 3–40.
ning a standard configuration. This, however, is not 9. E.D. Berger and B.G. Zorn, DieHard: Probabilistic
the only way in which a monoculture might arise. Any Memory Safety for Unsafe Languages, tech. report 05-65,
standard will create a kind of monoculture—namely, Dept. of Computer Science, Univ. of Massachusetts
the ubiquitous deployment of interfaces and services Amherst, 2005.
implementing that standard. And the more widely ad- 10. H. Shacham et al., “On the Effectiveness of Address-
opted the standard, the greater the incentive for devel- Space Randomization,” Proc. 11th ACM Conf. Com-
oping attacks. For example, Web services will admit puter and Communications Security (CCS 04), ACM Press,
technology attacks that not only involve exploiting the 2004, pp. 298–307.
semantics of system internals but also might involve 11. A.N. Sovarel, D. Evans, and N. Paul, “Where’s the
the interfaces themselves. The diversity defense is not FEEB?: The Effectiveness of Instruction Set Random-
currently an option for defending against attacks that ization,” Proc. 14th Usenix Security Symp., Usenix As-
exploit the misguided semantics of an interface. soc., 2005, pp. 145–160.

Acknowledgments Kenneth P. Birman is a professor at Cornell University’s com-


We are grateful to C. Chandersekaran, Jay Lala, Butler Lamp- puter science department. His research interests focus on
son, John Manferdelli, Gene Spafford, and Vijay V
­ aradharajan challenges of scalability, fault tolerance, and consistency in
for their thoughts on monocultures topic and to the partici- distributed systems. Birman is probably best known for de-
pants of the AFOSR workshop on Homogeneous Enclave veloping the virtual synchrony replication model and the Isis
Software vs. Controlled Heterogeneous Enclave Software. Toolkit, the first system to support that model. He has a PhD
We also thank two anonymous reviewers. The authors are in computer science from the University of California, Berkeley.
supported in part by AFOSR grant F9550-06-0019, AFOSR He is a fellow of the ACM and the author of three textbooks,
grant FA9550-07-1-0569, and US National Science Founda- most recently Reliable Distributed Systems: Technologies,
tion grants 0430161 and CCF-0424422 (TRUST). Web Services, and Applications (Springer Verlag, 1996).
Contact him at ken@cs.cornell.edu.
References
1. D. Oppenheimer, A. Ganapathi, and D.A. Patterson, Fred B. Schneider is a professor at Cornell University’s com-
“Why Do Internet Services Fail, and What Can Be puter science department and chief scientist for the multi-uni-
Done About It?” Proc. 4th Usenix Symp. Internet Tech- versity TRUST NSF-funded Science and Technology Center. A
nologies and Systems, Usenix Assoc., 2003, pp. 1–16. more detailed biography appears on p. 13.

www.computer.org/security/ ■ IEEE Security & Privacy 17

You might also like