@@ -82,7 +82,7 @@ operation in the report from Donn Seeley written soon afterwards.
8282.. admonition :: Further Reading
8383
8484 Donn Seeley. `A Tour of the
85- Worm. <http://www.cs.unc.edu/~jeffay/courses/nidsS05/attacks/seely-RTMworm-89.html> `__.
85+ Worm <http://www.cs.unc.edu/~jeffay/courses/nidsS05/attacks/seely-RTMworm-89.html> `__.
8686
8787What we present in this book is a systems perspective on the
8888security of computer networks. Our focus is on how to create networks
@@ -136,14 +136,14 @@ perceived shortcomings of the Internet. High on the list of such
136136shortcomings to be addressed was security.
137137
138138The security features that were proposed for IPv6 included headers to
139- support encryption, message integrity and authentication. However it
139+ support encryption, message integrity and authentication. However, it
140140became clear that such features did not require a new version of IP,
141141only a way to add optional information to the packet
142142header, and so these capabilities also made their way into IPv4. These
143143extensions became known collectively as IPSEC (IP security) and are
144- described in several dozen RFCs.
144+ described in several dozen RFCs. We will discuss them in a later chapter.
145145
146- It is worth noting that even if IPSEC had
146+ It is worth noting that, even if IPSEC had
147147existed in 1988, it would probably have had minimal impact on the
148148spread of the Morris Worm, because the worm spread among
149149hosts that were *supposed * to connect to each other (e.g., to exchange
@@ -174,9 +174,9 @@ The Internet's routing system is at least as important as DNS, and
174174similarly lacked any security provisions in its original design. Not
175175only do we need to be concerned about modification of routing messages
176176in transit, but it has historically been all too easy to simply send
177- incorrect routing updates in BGP, e.g., advertising a good route to
178- some prefix from an autonomous system that has no such route. Thus,
179- securing BGP has likewise proven to be a multi-decade, incremental task.
177+ incorrect routing updates in BGP. For example, a router might advertise a good route to
178+ some prefix from an autonomous system that has no such route.
179+ Securing BGP has likewise proven to be a multi-decade, incremental task.
180180
181181This is by no means a complete history of Internet security but it
182182gives some sense of the scope of the problems faced. Some further
@@ -219,7 +219,7 @@ practical or required special hardware; today it is routine that every
219219packet sent between a web browser and server is encrypted. Thus, the
220220trade-offs around encryption are different than they were when the
221221Internet was originally designed. And just as we consider the costs
222- that security techniques impose on our system, we can also consider
222+ that security techniques impose on our system, we must also consider
223223the costs they impose on adversaries. Much of security consists of
224224finding ways to make those costs highly asymmetric, so that they are
225225much higher for the adversary than for those seeking to protect their
@@ -236,7 +236,7 @@ security strategy:
236236* Step 5: What costs and trade-offs does the security solution impose?
237237
238238Schneier's book is targeted at a general audience, addressing
239- security in a broad context (e.g., airports), not just systems and
239+ security in a broad context (e.g., airports), not just computing systems and
240240networks. Nevertheless it provides some useful guidelines that are
241241applicable to system security.
242242
@@ -247,67 +247,105 @@ applicable to system security.
247247 Uncertain World. Copernicus Books, 2003.
248248
249249
250+ Threats to Network Security
251+ ----------------------------
250252
251- .. from the original book - need some cleanup to splice with the above text
252253
253- Computer networks are typically a shared resource used by many
254- applications representing different interests. The Internet is
255- particularly widely shared, being used by competing businesses, mutually
256- antagonistic governments, and opportunistic criminals. Unless security
257- measures are taken, a network conversation or a distributed application
258- may be compromised by an adversary.
259254
260- Consider, for example, some threats to secure use of the web. Suppose
255+ .. from the original book chapter - somewhat edited to follow the above text
256+
257+ Computer networks are, like multi-user computers, invariably a shared
258+ resource. They are used by many applications representing different
259+ interests. The Internet is particularly widely shared, being used by
260+ competing businesses, mutually antagonistic governments, and
261+ opportunistic criminals. Most of the world's information is stored on
262+ systems connected to the Internet. Unless effective security measures
263+ are in place, a network conversation, a distributed application, or an
264+ end-system storing sensitive data may be compromised by an
265+ adversary. Critical systems ranging from healthcare delivery to the
266+ power grid are at risk of disruption from various forms of attack.
267+
268+
269+ A simple and familiar example of threats and mitigations is the secure use of the web. Suppose
261270you are a customer using a credit card to order an item from a website.
262- An obvious threat is that an adversary would eavesdrop on your network
271+ An obvious threat is that an adversary could eavesdrop on your network
263272communication, reading your messages to obtain your credit card
264273information. How might that eavesdropping be accomplished? It is trivial
265274on a broadcast network such as an Ethernet or Wi-Fi, where any node can
266275be configured to receive all the message traffic on that network. More
267- elaborate approaches include wiretapping and planting spy software on
268- any of the chain of nodes involved. Only in the most extreme cases
269- (e.g.,national security) are serious measures taken to prevent such
270- monitoring, and the Internet is not one of those cases. It is possible
271- and practical, however, to encrypt messages so as to prevent an
272- adversary from understanding the message contents. A protocol that does
276+ elaborate approaches include wiretapping or planting spy software on
277+ any of the chain of nodes involved. The insertion of monitoring
278+ software might be performed by an operator with physical or
279+ remote access to a router (e.g., an employee of an Internet service
280+ provider). A vulnerability in the router's software might be exploited
281+ by an attacker
282+ to gain remote access. And in recent years there have been examples of
283+ "supply chain attacks" in which malicious software is inserted in some
284+ code, either open source or proprietary, that is subsequently used in
285+ another vendor's products. In other words, there are a *lot * of ways
286+ that the data in flight from your browser to the website might end up
287+ in the hands of an attacker.
288+
289+ While various steps can be taken to secure the devices along the path
290+ traveled by your data, it is relatively straightforward today to
291+ encrypt all messages such that even if an adversary has access to the
292+ data, they are unable to *understand * the message contents. A protocol that does
273293so is said to provide *confidentiality *. Taking the concept a step
274- farther, concealing the quantity or destination of communication is
275- called *traffic confidentiality *— because merely knowing how much
276- communication is going where can be useful to an adversary in some
294+ 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
277297situations.
278298
279- Even with confidentiality there still remains threats for the website
280- customer. An adversary who can’t read the contents of your encrypted
281- message might still be able to change a few bits in it, resulting in a
282- valid order for, say, a completely different item or perhaps 1000 units
283- of the item. There are techniques to detect, if not prevent, such
284- tampering. A protocol that detects such message tampering is said to
285- provide *integrity *.
286-
287- Another threat to the customer is unknowingly being directed to a false
288- website. This can result from a Domain Name System (DNS) attack, in
289- which false information is entered in a DNS server or the name service
290- cache of the customer’s computer. This leads to translating a correct
291- URL into an incorrect IP address—the address of a false website. A
292- protocol that ensures that you really are talking to whom you think
293- you’re talking is said to provide *authentication *. Authentication
294- entails integrity, since it is meaningless to say that a message came
295- from a certain participant if it is no longer the same message.
299+ Confidentiality alone is not sufficient. An adversary who can’t read
300+ the contents of your encrypted message might nevertheless be able to
301+ modify it. By changing a few bits, it might be possible to order a
302+ completely different item or perhaps 1000 units of the item. There are
303+ techniques to detect, if not prevent, such tampering. A protocol that
304+ detects such message tampering is said to provide
305+ *integrity *. Similarly, an attacker might capture a message and
306+ send it again at another time, which might cause a duplicate purchase,
307+ for example. This is called a *replay attack * and prevention of such
308+ attacks is a common feature of security protocols.
309+
310+ Another threat to the customer is unknowingly being directed to a
311+ false website. This can result from a Domain Name System (DNS) attack,
312+ in which false information is entered in a DNS server or the name
313+ service cache of the customer’s computer. This leads to translating a
314+ correct URL into an incorrect IP address—the address of a false
315+ website. It is also common to create websites with domain names that
316+ look like they might be legitimate. A protocol that ensures that you
317+ really are talking to whom you think you are is said to provide
318+ *authentication *. Authentication is separate from but also requires integrity, since it is
319+ meaningless to say that a message came from a certain participant if
320+ it is no longer the same message.
296321
297322The owner of the website can be attacked as well. Some websites have
298323been defaced; the files that make up the website content have been
299324remotely accessed and modified without authorization. That is an issue
300325of *access control *: enforcing the rules regarding who is allowed to do
301- what. Websites have also been subject to denial of service (DoS)
326+ what. Websites are also subject to denial-of- service (DoS)
302327attacks, during which would-be customers are unable to access the
303328website because it is being overwhelmed by bogus requests. Ensuring a
304329degree of access is called *availability *.
305330
306331In addition to these issues, the Internet has notably been used as a
307332means for deploying malicious code, generally called *malware *, that
308- exploits vulnerabilities in end systems. *Worms *, pieces of
309- self-replicating code that spread over networks, have been known for
310- several decades and continue to cause problems, as do their relatives,
311- *viruses *, which are spread by the transmission of infected files.
312- Infected machines can then be arranged into *botnets *, which can be used
333+ exploits vulnerabilities in end systems. *Worms *, of which the Morris
334+ worm is a famous example, are pieces of
335+ self-replicating code that spread over networks.
336+ *Viruses * differ slightly from worms, in that they are spread by the transmission of infected files.
337+ Once infected, machines can then be arranged into *botnets *, in which
338+ a set of compromised machines are harnessed together
313339to inflict further harm, such as launching DoS attacks.
340+
341+ We will look further into these various classes of threats and the
342+ measures developed to mitigate them in the following chapters. For a
343+ solid introduction to system security we recommend the chapter below
344+ from Saltzer and Kaashoek.
345+
346+
347+ .. admonition :: Further Reading
348+
349+ J. Saltzer and F. Kaashoek. `Principles of Computer System Design: An
350+ Introduction. Chapter 11 <https://ocw.mit.edu/courses/res-6-004-principles-of-computer-system-design-an-introduction-spring-2009/pages/online-textbook/> `__.
351+
0 commit comments