Skip to content

Commit 7355c19

Browse files
authored
Merge pull request #11 from SystemsApproach/llp
editorial pass
2 parents 9c592dd + b6e745f commit 7355c19

File tree

1 file changed

+43
-38
lines changed

1 file changed

+43
-38
lines changed

intro.rst

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Chapter 1: Introduction
55
.. New effort from Bruce
66
77
8-
Security of computer systems has been a focus for system designers for
8+
Security has been a focus of system designers for
99
as long as we have had time-shared computers. If two users can share a
1010
computer, then it is necessary to have protections in place to limit
1111
the impact one user can have on another. For example, one user should
@@ -16,12 +16,13 @@ support that in a controlled way. Similarly, multi-user systems ensure
1616
that malicious or poorly written code from one user cannot interfere
1717
with the operation of another user's programs.
1818

19-
Computer networks are, like multi-user computers, shared
20-
resources, and similar requirements apply. One network user should not
21-
be able to interfere with another user's traffic. Networks are often
22-
used so that specific resources can be shared among users. And in general,
23-
a user sending data across a network wants that data to be protected
24-
from unauthorized modification or eavesdropping.
19+
Computer networks are, like multi-user computers, shared resources,
20+
and similar requirements apply. One network user should not be able to
21+
interfere with another user's traffic, and in general, a user sending
22+
data across a network wants that data to be protected from
23+
unauthorized modification or eavesdropping. At the same time, networks
24+
are typically used so that specific resources can be shared among
25+
users.
2526

2627
As we will see, the security of computer systems and the security of
2728
computer networks are closely related topics. And just as a
@@ -38,24 +39,24 @@ to log in to a remote computer, you would (usually) need to authenticate
3839
yourself to that remote system (e.g., with a user name and password) before
3940
gaining access to any resources on that system.
4041

41-
Ensuring the security of end systems, while important, does not come
42+
But ensuring the security of end systems, while important, does not come
4243
close to addressing the entire set of security issues that exist in a
4344
computer network. For example, an attacker with access to a link,
4445
switch or router somewhere in the network has the potential to read or
4546
modify packets passing through that point. Furthermore, failures of
4647
end system security are exposed when we connect them to networks. By
4748
connecting computers to a global network such as the Internet, the
4849
opportunity to exploit vulnerabilities in the code running on those
49-
end systems is opened up to a much greater---potentially global---set
50+
end systems is opened up to a much greaterpotentially globalset
5051
of actors.
5152

52-
Thus we can think of network security as having two main
53+
Thus, we can think of network security as having two main
5354
thrusts. First, we need to address the security challenges of a
5455
shared, globally distributed network. Second, we need to address the
55-
challenges of connecting end systems, which run imperfect software, to
56+
challenges of connecting end systems running imperfect software to
5657
a global set of actors, some of whom are bound to be malicious.
5758

58-
For an interesting retrospective view on system security, and some
59+
For an interesting retrospective view on computer system security, and some
5960
commentary on how far we still have to go, we recommend the paper
6061
looking back on the history of security in Multics from Karger and
6162
Schell.
@@ -70,16 +71,16 @@ Schell.
7071

7172
An early example of a security failure in the Internet serves to
7273
highlight the breadth of the challenges included in the term "network
73-
security". The Morris worm was the first large-scale attack on the
74-
Internet, launched in 1988 when the Internet was largely limited to
74+
security". The Morris worm, the first large-scale attack on the
75+
Internet, was launched in 1988 when the Internet was largely limited to
7576
universities and research institutions. While it was made possible by
7677
the fact that the Internet of that era generally allowed packets from
7778
any source to any destination, it was also dependent on a number of
7879
vulnerabilities in the software running on the end systems connected
7980
to the Internet. Like many future attacks, the Morris worm exploited
8081
multiple vulnerabilities. In this case they included weak or default
81-
passwords, a buffer overflow bug in a then widely-used software tool,
82-
and a security hole in the sendmail program. There is a comprehensive
82+
passwords, a buffer overflow bug in a widely-used software tool,
83+
and a security hole in the Sendmail program. There is a comprehensive
8384
analysis of the worm's operation in the report from Donn Seeley
8485
written soon afterwards.
8586

@@ -93,7 +94,7 @@ security of computer networks. Our focus is on how to create networks
9394
that meet certain security objectives, such as protection against
9495
eavesdropping and modification of data in transit. The systems
9596
approach requires us to look at the entire system: the network
96-
components and the end systems connected by the network, both hardware
97+
components and the end systems connected by the network, as well as both hardware
9798
and software.
9899

99100
1.1 A Short History of Internet Security
@@ -103,10 +104,10 @@ The Internet architecture was initially created with essentially no
103104
security features. This was not because the inventors, implementors and
104105
architects were unaware of security issues, but rather because there
105106
were other, more pressing goals. As Vint Cerf, the co-inventor of
106-
TCP/IP said: "getting this thing to work at all was
107-
non-trivial”. David Clark, the architect of the Internet, has said
108-
"it’s not that we didn’t think about security…we thought we could
109-
exclude [untrustworthy people].”
107+
TCP/IP said: *"getting this thing to work at all was
108+
non-trivial.”* David Clark, the architect of the Internet, has said
109+
*"it’s not that we didn’t think about security…we thought we could
110+
exclude [untrustworthy people].”*
110111

111112
The Internet's architecture is often characterized as an hourglass,
112113
with IP being the narrow waist that sits between a wide range of
@@ -122,7 +123,7 @@ could send it a packet.
122123
123124
The Morris Worm served as something of a wake-up call to the early
124125
developers of the Internet by highlighting just how vulnerable it
125-
was. By the early 1990s the first firewalls had appeared, allowing the
126+
was. By the early 1990s the first *firewalls* had appeared, allowing the
126127
default "accept any packet from anywhere" behavior of the Internet to
127128
be changed in a controlled way. These devices, which remain common
128129
today, filter packets based on information in the TCP and IP headers,
@@ -145,29 +146,30 @@ support encryption, message integrity and authentication. However, it
145146
became clear that such features did not require a new version of IP,
146147
only a way to add optional information to the packet
147148
header, and so these capabilities also made their way into IPv4. These
148-
extensions became known collectively as IPSEC (IP security) and are
149+
extensions became known collectively as *IPSEC (IP security)* and are
149150
described in several dozen RFCs. We discuss them in a later chapter.
150151

151152
It is worth noting that, even if IPSEC had
152153
existed in 1988, it would probably have had minimal impact on the
153154
spread of the Morris Worm. This is because the worm spread among
154155
hosts that were *supposed* to connect to each other (e.g., to exchange
155-
email using the sendmail program). Encrypting and authenticating traffic
156+
email using the Sendmail program). Encrypting and authenticating traffic
156157
between hosts doesn't prevent the spread of malware
157158
if the end-systems have the sorts of
158159
weaknesses exploited by the Morris worm.
159160

160161
The rise in popularity of the World Wide Web in the 1990s created the
161162
demand for security features at the transport layer to support
162-
applications such as e-commerce. This lead to the creation of SSL
163-
(secure sockets layer) which was superseded by TLS (transport layer
164-
security), both of which provided confidentiality and authentication
165-
at the transport layer.
163+
applications such as e-commerce. This lead to the creation of *SSL
164+
(secure sockets layer)* which was superseded by *TLS (transport layer
165+
security)*, both of which provided confidentiality and authentication
166+
at the transport layer. TLS is an important case study for network
167+
security, and we describe it in detail in a later chapter.
166168

167169
Another aspect of securing the Internet that started to receive
168170
attention in this period was the security of its infrastructure. One
169-
such piece of infrastructure is the domain name system (DNS). DNS
170-
replaced static hostname-to-address mapping files in the 1980s and subsequently
171+
such piece of infrastructure is the *Domain Name System (DNS)*,
172+
which replaced static hostname-to-address mapping files in the 1980s, and subsequently
171173
become critical to the operation of the Internet. Clearly the
172174
information served up by DNS needs to be robust against manipulation
173175
by adversaries, and hence, there has been a multi-decade effort to add
@@ -179,7 +181,8 @@ The Internet's routing system is at least as important as DNS, and
179181
similarly lacked any security provisions in its original design. Not
180182
only do we need to be concerned about modification of routing messages
181183
in transit, but it has historically been all too easy to simply send
182-
incorrect routing updates in BGP. For example, a router might advertise a good route to
184+
incorrect routing updates in BGP, the *Border Gateway Protocol*.
185+
For example, a router might advertise a good route to
183186
some prefix from an autonomous system that has no such route.
184187
Securing BGP has likewise proven to be a multi-decade, incremental task.
185188

@@ -248,7 +251,7 @@ security strategy:
248251

249252
Schneier's book is targeted at a general audience, addressing
250253
security in a broad context (e.g., airports), not just computing systems and
251-
networks. Nevertheless it provides some useful guidelines that are
254+
networks. Nevertheless, it provides some useful guidelines that are
252255
applicable to system security.
253256

254257

@@ -267,7 +270,9 @@ intercept messages as a threat (and adopt some of the methods
267270
discussed in this book as a countermeasure). But if you are planning
268271
to transmit messages over a fiber link between two machines in a
269272
locked datacenter, you might trust that channel is secure, and so take
270-
no additional steps. Every system makes trust assumptions. The key is
273+
no additional steps. Every system makes trust assumptions, even if it
274+
as simple as trusting the computer you just bought from a reputable
275+
vendor does not forward your data to a adversary. The key is
271276
to be as explicit as possible about those assumptions, because they
272277
may change over time.
273278

@@ -318,7 +323,7 @@ encrypt all messages such that even if an adversary has access to the
318323
data, they are unable to *understand* the message contents. A protocol that does
319324
so is said to provide *confidentiality*. Taking the concept a step
320325
farther, concealing the quantity and destination of communication is
321-
called *traffic confidentiality*---because merely knowing where
326+
called *traffic confidentiality*because merely knowing where
322327
traffic is going, and how much, can be useful to an adversary in some
323328
situations.
324329

@@ -348,8 +353,8 @@ it is no longer the same message.
348353
The owner of the website can be attacked as well. Some websites have
349354
been defaced; the files that make up the website content have been
350355
remotely accessed and modified without authorization. That is an issue
351-
of *access control*: enforcing the rules regarding who is allowed to do
352-
what. Websites are also subject to denial-of-service (DoS)
356+
of *access control*, enforcing the rules regarding who is allowed to do
357+
what. Websites are also subject to *Denial-of-Service (DoS)*
353358
attacks, during which would-be customers are unable to access the
354359
website because it is being overwhelmed by bogus requests. Ensuring a
355360
degree of access is called *availability*.
@@ -367,8 +372,8 @@ to inflict further harm, such as launching DoS attacks.
367372
We will look further into these various classes of threats and the
368373
measures developed to mitigate them in the following chapters. For a
369374
solid introduction to system security we recommend the chapter below
370-
from Saltzer and Kaashoek. Their perspective is grounded in Operating
371-
System (OS) design, which is the context for much of the foundational
375+
from Saltzer and Kaashoek. Their perspective is grounded in *Operating
376+
System (OS)* design, which is the context for much of the foundational
372377
work in security. In that setting, finding the right balance between
373378
sharing (so users can access each other's files) and security (so you
374379
can keep users from accessing your private data) is a central

0 commit comments

Comments
 (0)