Solution Manual for Security in Computing, 5th Edition
- Information Technology
- 90 pages
- Shared May 2025
Solve your textbook questions with ease using Solution Manual for Security in Computing, 5th Edition, a comprehensive and easy-to-follow guide.
Preview 16 of 90 pages
See the first 16 pages exactly as they appear in the document.
Page 1 Read page 1 as text
Solutions Manual for Security in Computing Fifth Edition Charles P. Pfleeger Shari Lawrence Pfleeger and Jonathan Margulies This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 2 Page 3 Read page 3 as text
Contents CONTENTS III PREFACE V 1: INTRODUCTION 2 Outline 2 Exercises 3 2: TOOLBOX: AUTHENTICATION, ACCESS CONTROL, AND CRYPTOGRAPHY 9 Outline 9 Exercises 12 3: PROGRAMS AND PROGRAMMING 18 Outline 18 Exercises 21 4: THE WEB—USER SIDE 27 Outline 27 Exercises 29 5: OPERATING SYSTEMS 33 Outline 33 Exercises 35 6: NETWORKS 39 Outline 39 Exercises 44 7: DATABASES 54 Outline 54 Exercises 56 8: CLOUD COMPUTING 59 Outline 59 Exercises 61 9: PRIVACY IN COMPUTING 64 This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 4 Read page 4 as text
Contents iv Outline 64 Exercises 67 10: MANAGEMENT AND INCIDENTS 71 Outline 71 Exercises 74 11: LEGAL ISSUES AND ETHICS 77 Outline 77 Exercises 80 12: DETAILS OF CRYPTOGRAPHY 83 Outline 83 13: EMERGING TOPICS 86 Outline 86 This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 5 Read page 5 as text
Preface This is the instructor’s manual to complement Security in Computing, Fifth Edition (copyright 2015). This fifth edition is a significant modification from previous editions, with major changes in many places. This instructor’s manual is organized in the order of the chapters of the book. Each chapter contains three parts: • An introduction to the chapter • A detailed outline of the chapter • Solutions to selected exercises The introduction to the chapter gives student objectives and suggestions for teaching the chapter. The detailed chapter outline can be transformed into projector slides or distributed to the students for their note-taking during a lecture. We have not included answers to many of the more open-ended questions, which require creativity on the part of the student whose answers can vary considerably. In cases where an answer is given for a more open-ended question, the answer is, obviously, only a suggestion, and other possibilities should also be accepted. We would be pleased to hear of additions, extensions, and new uses for this book that make it more useful in a course or more accessible to students. We also welcome suggestions for this solutions manual. It is not appropriate to put it on the web, because some students would be tempted to use its answers instead of working on the exercises themselves. Although we are very pleased with the careful production job that was done on this book, a few errors always remain. We would like to correct these as soon as I can. Please send comments, suggestions, or corrections on either the main text or this solutions manual to us at 〈 chuck@pfleeger.com, shari@pfleeger.com, jonathan@qmulos.com 〉 . Thank you. Version: 20-Mar-15 This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 6 Read page 6 as text
1: Introduction This chapter has three major purposes: (1) introduce students to the field of computer security and motivate study, (2) introduce concepts and terms, and (3) introduce frameworks for thinking about security problems. The students will probably be familiar with the concepts in general (such as threat, vulnerability, and control) from practical experience. In this chapter, students should develop a more formal understanding of these concepts, although some concepts will be refined and elaborated upon in later chapters. For example, authentication is discussed in Chapter 2, and network attacks are discussed in Chapter 6. It is often sensible to move quickly through this chapter and get to the later chapters that contain more substance. Similarly, exam questions for this chapter may be rather simple, so it may be more appropriate to defer an exam until after covering chapters containing material that better lends itself to exam questions. Several of the exercises in this chapter require the student to demonstrate understanding of concepts by answering security questions with examples from everyday experience. There is no single “right” answer to these questions. Many instructors follow the chapters out of order or skip sections in order to get to later material. The students are often particularly interested in Chapter 6, “Networks,” and so they like to study that material relatively early in the course. Outline I. What Is Computer Security? a. Protection of Assets i. Hardware ii. Software iii. Data b. Vulnerability c. Threat d. Attack e. Control/Countermeasure II. Threats a. C-I-A Triad i. Confidentiality, Integrity, and Availability ii. Also: Authentication, Nonrepudiation b. Confidentiality i. Unauthorized Person (Subject) Accesses Data (Object) c. Integrity i. Threat to Precision, Accuracy, or Consistency This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 7 Read page 7 as text
1: Introduction 3 d. Availability e. Types of Threats i. Human vs. Nonhuman ii. Malicious vs. Nonmalicious iii. Random vs. Directed f. Advanced Persistent Threat (APT) i. Organized, Directed, Malicious, Sophisticated g. Types of Attackers i. Individuals ii. Organized, Worldwide Groups iii. Organized Crime iv. Terrorists III. Harm a. Risk Management i. Impact ii. Likelihood b. Method c. Opportunity d. Motive IV. Vulnerabilities a. Weakness in Design, Implementation, Procedures, etc. V. Controls a. Prevent, Deter, Deflect, Mitigate, Detect, or Recover b. Types of Control i. Physical ii. Procedural/Administrative iii. Technical c. “Defense in Depth” or “Overlapping Controls” Exercises 1. Distinguish between vulnerability, threat, and control. This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 8 Read page 8 as text
1: Introduction 4 A threat is a potential to do harm. A vulnerability is a means by which a threat agent can cause harm. A control is a protective measure that prevents a threat agent from exercising a vulnerability. 2. Theft usually results in some kind of harm. For example, if someone steals your car, you may suffer financial loss, inconvenience (by losing your mode of transportation), and emotional upset (because of invasion of your personal property and space). List three kinds of harm a company might experience from theft of computer equipment. Ideal answers will include both tangible harm (loss of valuable property) and intangible harm (loss of—and need to reconstruct—important data). 3. List at least three kinds of harm a company could experience from electronic espionage or unauthorized viewing of confidential company materials. Possible answers include loss of competitive edge, loss of trade secrets, public embarrassment or harm to reputation, legal liability for failing to uphold confidentiality agreements with third parties. 4. List at least three kinds of damage a company could suffer when the integrity of a program or company data is compromised. Possible answers include inability to perform necessary business functions (because of software modification), public embarrassment (e.g., if website is defaced), loss of employees’ time (to find and correct modifications), possible loss of life or serious harm (if safety-‐critical software is modified). 5. List at least three kinds of harm a company could encounter from loss of service, that is, failure of availability. List the product or capability to which access is lost, and explain how this loss hurts the company. Possible answers include inability to perform necessary business functions, loss of customers (if they relied on the company’s availability), and loss of income during the downtime. Possible products or capabilities include back-‐office systems that allow employees to do their jobs (e.g., workstations, internal websites, shared storage), and services offered to customers (e.g., external websites, computing infrastructure). 6. Describe a situation in which you have experienced harm as a consequence of a failure of computer security. Was the failure malicious or not? Did the attack target you specifically, or was it general and you were the unfortunate victim? Possible answers include any situation in which the student was harmed by a breach of confidentiality, integrity, or availability in an information system. Students must demonstrate an understanding of the difference between malicious attacks and nonmalicious failures, as well as the difference between targeted attacks and incidents that affect a more general population. 7. Describe two examples of vulnerabilities of automobiles for which auto manufacturers have instituted controls. Tell whether you think these controls are effective, somewhat effective, or ineffective. Example answers: This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 9 Read page 9 as text
1: Introduction 5 (1) Vulnerability: Someone drives your car away without your permission. Control: Ignition switch lock. Effectiveness: Somewhat effective because it deters casual theft, but the knowledgeable thief can “hot wire” the engine, bypassing the ignition switch. (2) Vulnerability: Someone who does not realize your car has stopped crashes into the back of your car. Control: Brake lights. Effectiveness: Reasonably good. Note the redundancy of the system: with two brake lights, even if one fails, the second one warns other drivers. 8. One control against accidental software deletion is to save all old versions of a program. Of course, this control is prohibitively expensive in terms of cost of storage. Suggest a less costly control against accidental software deletion. Is your control effective against all possible causes of software deletion? If not, what threats does it not cover? Save incremental copies—only the changes since the last change. Equivalently, save a “transaction journal” of changes since last full backup. Develop a configuration management approach to save code necessary to create a new version from the old. 9. On your personal computer, who can install programs? Who can change operating system data? Who can replace portions of the operating system? Can any of these actions be performed remotely? Who can install programs? Depending on the OS and the program being installed, possible answers include anyone with an administrator password or any user. Who can change OS data? Most likely, only users with administrative privileges. Who can replace portions of the operating system? Anyone who can install OS patches—generally administrators—can technically replace portions of the OS. Can any of these actions be performed remotely? These actions can generally be performed remotely if the student’s system is running a remote desktop, remote shell (e.g., telnet, SSH), or similar service and is Internet-‐connected. These actions may also be performed remotely if an attacker gains access to the system. 10. Suppose a program to print paychecks secretly leaks a list of names of employees earning more than a certain amount each month. What controls could be instituted to limit the vulnerability of this leakage? Example controls: Screening all output; splitting the program into two, written by separate teams, each processing half of the input each month; code reviews during development; testing to exercise all branches in the source code. Note that these controls are not perfect. Note also that it is much easier to limit the vulnerability if one knows or suspects it exists instead of hypothesizing such a vulnerability exists and seeking to confirm the hypothesis. 11. Preserving confidentiality, integrity, and availability of data is a restatement of the concern over interruption, interception, modification, and fabrication. How do the first three concepts relate to the last four? That is, is any of the four equivalent to one or more of the three? Is one of the three encompassed by one or more of the four? This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 10 Read page 10 as text
1: Introduction 6 There is not a good one-‐to-‐one correspondence. Modification is primarily a failure of integrity, although there are aspects of availability (denial of service). Fabrication is probably the closest to being exclusively an integrity violation, although fabrication of covert outputs could be used to leak otherwise confidential data. Interruption is an availability concern, although one can argue that it is also a failure of the integrity of a communication or information flow. Interception primarily results in a breach of confidentiality, although it could also be seen as an attack on availability. The distinctions drawn here are primarily semantic. There are also possible arguments over whether an incident is a lack of confidentiality or integrity, too. The point is not to split hairs of categorization among the three or four terms but rather to use the terms to envision a broad range of vulnerabilities and threats. 12. Do you think attempting to break in to (that is, obtain access to or use of) a computing system without authorization should be illegal? Why or why not? This question sets the stage for some of the legal issues and ethics discussion in Chapter 9. The instructor may want to revisit this question in discussion of that later chapter. 13. Describe an example (other than the one mentioned in this chapter) of data whose confidentiality has a short timeliness, say a day or less. Describe an example of data whose confidentiality has a timeliness of more than a year. Short timeliness: Outcomes on which wagers have been or could be made, such as the outcome of the Academy Awards; bids in an art auction. Long timeliness: Trade secrets, military secrets (note that some military secrets are released only after 50 years, and some never). 14. Do you currently use any computer security control measures? If so, what? Against what attacks are you trying to protect? Some common control measures students may mention are antivirus, passwords, and firewalls. Attacks may include downloaded malware and network exploitation. 15. Describe an example in which absolute denial of service to a user (that is, the user gets no response from the computer) is a serious problem to that user. Describe another example where 10 percent denial of service to a user (that is, the user’s computation progresses but at a rate 10 percent slower than normal) is a serious problem to that user. Could access by unauthorized people to a computing system result in a 10 percent denial of service to the legitimate users? How? Absolute: Almost any required computing. Ten percent degradation: A real-‐time application that requires almost all available computing power to respond within the required time. 16. When you say that software is of high quality, what do you mean? How does security fit in your definition of quality? For example, can an application be insecure and still be “good”? The purpose of this question is to help students recognize that people often don’t consider security implication when judging software quality but focus only on primary functionality and usability features. The student’s answer should This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 11 Read page 11 as text
1: Introduction 7 demonstrate an understanding that, in addition to performing its intended purpose and being usable, software should not decrease its user’s or system’s security unnecessarily (e.g., run with unnecessary privileges, have easily identifiable vulnerabilities, or open unnecessary ports), and should provide security capabilities that are adequate to protect its data and functionality in typical use. 17. Developers often think of software quality in terms of faults and failures. Faults are problems, such as loops that never terminate or misplaced commas in statements, that developers can see by looking at the code. Failures are problems, such as a system crash or the invocation of the wrong function, that are visible to the user. Thus, faults can exist in programs but never become failures, because the conditions under which a fault becomes a failure are never reached. How do software vulnerabilities fit into this scheme of faults and failures? Is every fault a vulnerability? Is every vulnerability a fault? Vulnerabilities are both. Not every vulnerability will be visible to developers, since, for example, vulnerabilities may exist because of context of use. (For example, consider a program that displays warning messages about credit card authorization failures. Displaying this information is not a vulnerability if only clerks can see the screen.) Not every fault that developers can see is a vulnerability; some faults might be in code that cannot be reached. 18. Consider a program to display on your website your city’s current time and temperature. Who might want to attack your program? What types of harm might they want to cause? What kinds of vulnerabilities might they exploit to cause harm? In the list of “who,” the student should also consider the random attack against the website just because of, for example, a sequential scan of a range of addresses. 19. Consider a program that allows consumers to order products from the web. Who might want to attack the program? What types of harm might they want to cause? What kinds of vulnerabilities might they exploit to cause harm? Cause denial of service (disgruntled consumers, ordinary crackers), acquire products at reduced prices (consumers), find pricing strategy (competition). 20. Consider a program to accept and tabulate votes in an election. Who might want to attack the program? What types of harm might they want to cause? What kinds of vulnerabilities might they exploit to cause harm? This question also foreshadows longer discussions on the topic of elections in Chapters 9 and 13. The instructor may want to return to this question after presenting that material. 21. Consider a program that allows a surgeon in one city to assist in an operation on a patient in another city via an Internet connection. Who might want to attack the program? What types of harm might they want to cause? What kinds of vulnerabilities might they exploit to cause harm? Depending on the patient, a murderer might want to interfere with surgery. Ordinary crackers might want to disrupt communication without regard for its content. This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 12 Read page 12 as text
This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 13 Read page 13 as text
2: Toolbox Authentication, Access Control, and Cryptography This chapter introduces many of the most fundamental tools of computer security: authentication techniques, identity management, access controls, and the basics of encryption. We decided to move these concepts closer to the beginning of the book because they reappear in various forms in many of the subsequent chapters. Understanding this chapter is important to understanding the rest of the book, so it’s a good one to spend a lot of time on. Many of the tools described in this chapter will be revisited in more detail in different contexts: access controls are explained in the context of operating systems in Chapter 5; federated identity management techniques are addressed in much greater detail in Chapter 8 on cloud security; and Chapter 12 is entirely devoted to providing more of the mathematical detail behind encryption. Outline I. Authentication a. Identification vs. Authentication b. Types of Authentication i. Something You Know ii. Something You Are iii. Something You Have c. Something You Know i. Passwords 1. Attacks on Passwords a. Guessing b. Defeating Concealment c. Brute Force 2. Choosing Strong Passwords ii. Security Questions d. Something You Are i. Biometrics 1. Types of Biometrics This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 14 Read page 14 as text
2: Toolbox 10 2. Problems with Biometrics 3. Accuracy of Biometrics e. Something You Have i. Tokens 1. Active vs. Passive 2. Static vs. Dynamic f. Federated Identity Management i. Single Sign-on g. Multifactor Authentication h. Authenticating Securely II. Access Control a. Access Policies i. Access Control Goals 1. Check Every Access 2. Enforce Least Privilege 3. Verify Acceptable Usage b. Implementing Access Control i. Reference Monitor ii. Access Control Directory iii. Access Control Matrix iv. Access Control List v. Privilege List vi. Capability-Based Security c. Procedure-Oriented Access Control d. Role-Based Access Control III. Cryptography a. Problems Addressed by Encryption i. Blocking Messages ii. Intercepting Messages iii. Modifying Messages iv. Fabricating Messages b. Encryption Terminology i. Encrypt/Encode/Encipher vs. Decrypt/Decode/Decipher This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 15 Read page 15 as text
2: Toolbox 11 ii. Cryptosystem iii. Plaintext vs. Ciphertext iv. Keys v. Algorithms 1. Symmetric/Single-Key/“Secret Key” 2. Asymmetric/“Public Key” 3. Keyless vi. Cryptographer vs. Cryptanalyst c. Cryptanalysis d. Stream vs. Block Ciphers e. Symmetric Cryptography i. DES: The Data Encryption Standard 1. 64-Bit Blocks 2. 56-Bit Key (Effectively) 3. Double and Triple DES 4. Security of DES ii. AES: Advanced Encryption System 1. 128-Bit Blocks 2. 128-, 192-, 256-Bit (and Possibly More) Key f. Public Key Cryptography i. Motivation and Characteristics ii. The Rivest-Shamir-Adelman (RSA) Algorithm iii. Public Key Cryptography to Exchange Secret Keys g. Error Detecting Codes i. Parity ii. Hash Codes iii. One-Way Hash Functions iv. Cryptographic Checksum v. Digital Signatures h. Certificates: Trustable Identities and Public Keys i. Certificate Signing ii. Certificate Authorities iii. Distributing Keys and Certificates This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
Page 16 Read page 16 as text
2: Toolbox 12 Exercises 1. Describe each of the following four kinds of access control mechanisms in terms of (a) ease of determining authorized access during execution, (b) ease of adding access for a new subject, (c) ease of deleting access by a subject, and (d) ease of creating a new object to which all subjects by default have access. • Per-subject access control list (that is, one list for each subject tells all the objects to which that subject has access) • Per-object access control list (that is, one list for each object tells all the subjects who have access to that object) • Access control matrix • Capability Per-‐subject access control: (a) A simple lookup from the list, which can be an O(1) operation in the average case if implemented as a hash table. (b) An addition to that subject’s list, which can effectively be an O(1) operation. (c) A removal from that subject’s list, which can effectively be an O(1) operation. (d) An entry needs to be added to all subjects’ lists, which is an O( n ) operation where n is the number of subjects. Per-‐object access control: (a) A simple lookup from the list, which can effectively be an O(1) operation. (b) An addition to the list, which can effectively be an O(1) operation. (c) A removal from the list, which can effectively be an O(1) operation. (d) In this model, default access rights for an object can be set, so this, too, can be an O(1) operation. Access control matrix: (a) This is essentially a lookup by subject and object, and the speed depends on implementation, but is likely O( n ). (b) Assuming the subject is being newly created, a new row must be added to the matrix, which can be quite costly depending on implementation (potentially requiring the whole table to be copied). (c) This is essentially a lookup by subject and object, and the speed depends on implementation, but is likely O( n ). (d) Depending on implementation, creating a new object may require making a copy of the whole table, which would be O( n ^2), or may just require adding a new entry to an existing table, which can be made to have a default entry for a performance of O(1). Capability: The capability model needs to be backed by one of the other models, so, depending on implementation, it can effectively have the same performance as any of the other models. The only potential difference is in revocation, where the need to track capability “tickets” for revocation becomes an issue. 2. Suppose a per-subject access control list is used. Deleting an object in such a system is inconvenient because all changes must be made to the control lists of all subjects who did have access to the object. Suggest an alternative, less costly means of handling deletion. This text is associated with Pfleeger/Security in Computing, Fifth Edition (9780134085043).
74 more pages in the full document
Unlock it once and it stays in your library, ready to chat with or turn into flashcards.
Unlock the full documentMore Information Technology study materials
See all
Exam GuidesTest Bank for Managing and Using Information Systems: A Strategic Approach, 7th Edition (Chapters 1-13)
Information Technology
452 pages149downloadsFeb 2025
Exam GuidesTest Bank for Essentials of MIS, 12th Edition
Information Technology
342 pages146downloadsFeb 2025
Exam GuidesA+ Guide to Hardware, 9th Edition Test Bank
Information Technology
116 pages142downloadsFeb 2025
Textbook GuidesSolution Manual for Essentials of System Analysis and Design, 4th Edition
Information Technology
282 pages140downloadsFeb 2025
Textbook GuidesGuide To Networking Essentials, 7th Edition Solution Manual
Information Technology
48 pages139downloadsFeb 2025
Past Exams2023-2024 SOPHOS FIREWALL V19.5 Practice Exam with Answers (75 Solved Questions)
Information Technology
7 pages134downloadsFeb 2025
Class NotesLecture Notes for CCNP Enterprise: Core Networking (ENCOR) v8 Lab Manual, 2nd Edition
Information Technology
1089 pages123downloadsFeb 2025
Class NotesLecture Notes for Adobe XD Classroom in a Book (2020 release)
Information Technology
66 pages118downloadsFeb 2025
Study this document with CramX
Once it is in your library, every tool can work from it.

