Skip to content

Commit 45a3740

Browse files
authored
Merge pull request #2 from SystemsApproach/principles
start on chapter 2
2 parents 31176fb + 4cc9480 commit 45a3740

File tree

4 files changed

+289
-106
lines changed

4 files changed

+289
-106
lines changed

index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ The Authors
1919
:glob:
2020

2121
intro.rst
22-
trust.rst
22+
principles.rst
2323
crypto.rst
2424
key-distro.rst
2525
authentication.rst

intro.rst

Lines changed: 45 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,16 @@ to log in to a remote computer, you would (usually) need to authenticate
3838
yourself to that remote system (e.g., with a user name and password) before
3939
gaining access to any resources on that system.
4040

41-
Ensuring the security of end systems does not come close to addressing the entire set of
42-
security issues that exist in a computer network. For example, an
43-
attacker with access to a link, switch or router somewhere in the network
44-
has the potential to read or modify packets passing
45-
through that point. Furthermore, by
46-
connecting computers to a global network, the opportunity to exploit
47-
vulnerabilities in the code running on those end systems is opened up
48-
to a much greater---potentially global---set of actors.
41+
Ensuring the security of end systems, while important, does not come
42+
close to addressing the entire set of security issues that exist in a
43+
computer network. For example, an attacker with access to a link,
44+
switch or router somewhere in the network has the potential to read or
45+
modify packets passing through that point. Furthermore, failures of
46+
end system security are exposed when we connect them to networks. By
47+
connecting computers to a global network such as the Internet, the
48+
opportunity to exploit vulnerabilities in the code running on those
49+
end systems is opened up to a much greater---potentially global---set
50+
of actors.
4951

5052
Thus we can think of network security as having two main
5153
thrusts. First, we need to address the security challenges of a
@@ -54,8 +56,9 @@ challenges of connecting end systems, which run imperfect software, to
5456
a global set of actors, some of whom are bound to be malicious.
5557

5658
For an interesting retrospective view on system security, and some
57-
commentary on how far we still have to go, we recommend
58-
the paper on Multics from Karger and Schell.
59+
commentary on how far we still have to go, we recommend the paper
60+
looking back on the history of security in Multics from Karger and
61+
Schell.
5962

6063
.. admonition:: Further Reading
6164

@@ -70,14 +73,15 @@ highlight the breadth of the challenges included in the term "network
7073
security". The Morris worm was the first large-scale attack on the
7174
Internet, launched in 1988 when the Internet was largely limited to
7275
universities and research institutions. While it was made possible by
73-
the fact that the Internet of that era generally allowed packets from any source
74-
to any destination, it was also dependent on a number of
76+
the fact that the Internet of that era generally allowed packets from
77+
any source to any destination, it was also dependent on a number of
7578
vulnerabilities in the software running on the end systems connected
7679
to the Internet. Like many future attacks, the Morris worm exploited
77-
multiple vulnerabilities, including weak or default passwords, a buffer
78-
overflow bug in a then widely-used software tool, and a security hole in
79-
the sendmail program. There is a comprehensive analysis of the worm's
80-
operation in the report from Donn Seeley written soon afterwards.
80+
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
83+
analysis of the worm's operation in the report from Donn Seeley
84+
written soon afterwards.
8185

8286
.. admonition:: Further Reading
8387

@@ -92,8 +96,8 @@ approach requires us to look at the entire system: the network
9296
components and the end systems connected by the network, both hardware
9397
and software.
9498

95-
A Short History of Internet Security
96-
------------------------------------
99+
1.1 A Short History of Internet Security
100+
----------------------------------------
97101

98102
The Internet architecture was initially created with essentially no
99103
security features. This was not because the inventors, implementors and
@@ -120,10 +124,11 @@ The Morris Worm served as something of a wake-up call to the early
120124
developers of the Internet by highlighting just how vulnerable it
121125
was. By the early 1990s the first firewalls had appeared, allowing the
122126
default "accept any packet from anywhere" behavior of the Internet to
123-
be changed. These devices filtered packets based on information in the
124-
TCP and IP headers, and could be implemented in both hosts and
125-
routers. By 1994 they were common enough that applications such as FTP
126-
(the file transfer protocol) adapted to work with them.
127+
be changed in a controlled way. These devices, which remain common
128+
today, filter packets based on information in the TCP and IP headers,
129+
and can be implemented in both hosts and routers. By 1994 they were
130+
common enough that applications such as FTP (the file transfer
131+
protocol) were adapted to work with them.
127132

128133
Also in the early 1990s, the Internet was growing quickly enough to make it clear
129134
that IP version 4 (IPv4), with 32-bit addresses, would eventually run
@@ -162,10 +167,10 @@ at the transport layer.
162167
Another aspect of securing the Internet that started to receive
163168
attention in this period was the security of its infrastructure. One
164169
such piece of infrastructure is the domain name system (DNS). DNS
165-
replaced static host-to-address mapping files in the 1980s and subsequently
170+
replaced static hostname-to-address mapping files in the 1980s and subsequently
166171
become critical to the operation of the Internet. Clearly the
167172
information served up by DNS needs to be robust against manipulation
168-
by adversaries, and hence there has been an multi-decade effort to add
173+
by adversaries, and hence there has been a multi-decade effort to add
169174
security to the DNS. The fact that this continues to roll on
170175
illustrates some of the challenges in making incremental updates to
171176
the distributed infrastructure of the Internet.
@@ -182,7 +187,8 @@ This is by no means a complete history of Internet security but it
182187
gives some sense of the scope of the problems faced. Some further
183188
perspective on this history, and the factors that contributed to
184189
Internet's lack of security, can be found in the following series
185-
of articles from the Washington Post.
190+
of articles from the Washington Post, in which many of the Internet's
191+
pioneers are interviewed.
186192

187193

188194
.. admonition:: Further Reading
@@ -191,16 +197,21 @@ of articles from the Washington Post.
191197
<https://www.washingtonpost.com/sf/business/2015/05/30/net-of-insecurity-part-1/>`__.
192198
The Washington Post, May 30, 2015.
193199

194-
Trust and Threats
195-
-----------------
200+
1.2 Trust and Threats
201+
----------------------
196202

197203
A discussion of security often begins with an analysis of the *threat
198204
landscape*. That is, what are the threats that our system is likely to
199205
be exposed to and which we hope to mitigate. This is one of the great
200206
challenges in developing a security strategy: how do we know when we
201207
have identified all the likely threats? Some may be obvious, such as
202208
eavesdropping on unencrypted traffic sent over a shared medium, but
203-
less obvious threats are constantly being identified.
209+
less obvious threats are constantly being identified. Furthermore,
210+
there are different *threat actors* with different motivations,
211+
ranging from those who enjoy the technical challenge of finding
212+
vulnerabilities, to criminals looking to obtain valuable information
213+
such as credit card details, to government actors looking to perform
214+
surveillence or interfere in elections.
204215

205216
It is common to talk about security as a "negative goal". That is, we
206217
are trying to ensure that a set of undesirable things cannot
@@ -247,14 +258,14 @@ applicable to system security.
247258
Uncertain World. Copernicus Books, 2003.
248259

249260

250-
Threats to Network Security
251-
----------------------------
261+
1.3 Threats to Network Security
262+
-------------------------------
252263

253264

254265

255266
.. from the original book chapter - somewhat edited to follow the above text
256267
257-
Computer networks are, like multi-user computers, invariably a shared
268+
Computer networks are, as we noted above, invariably a shared
258269
resource. They are used by many applications representing different
259270
interests. The Internet is particularly widely shared, being used by
260271
competing businesses, mutually antagonistic governments, and
@@ -292,8 +303,8 @@ encrypt all messages such that even if an adversary has access to the
292303
data, they are unable to *understand* the message contents. A protocol that does
293304
so is said to provide *confidentiality*. Taking the concept a step
294305
farther, concealing the quantity and destination of communication is
295-
called *traffic confidentiality*because merely knowing how much
296-
traffic is going where can be useful to an adversary in some
306+
called *traffic confidentiality*---because merely knowing where
307+
traffic is going, and how much, can be useful to an adversary in some
297308
situations.
298309

299310
Confidentiality alone is not sufficient. An adversary who can’t read
@@ -305,7 +316,7 @@ detects such message tampering is said to provide
305316
*integrity*. Similarly, an attacker might capture a message and
306317
send it again at another time, which might cause a duplicate purchase,
307318
for example. This is called a *replay attack* and prevention of such
308-
attacks is a common feature of security protocols.
319+
attacks is a common requirement of security protocols.
309320

310321
Another threat to the customer is unknowingly being directed to a
311322
false website. This can result from a Domain Name System (DNS) attack,

0 commit comments

Comments
 (0)