Security in Computing

Security in Computing

NOOK Book(eBook)

$90.49 $96.00 Save 6% Current price is $90.49, Original price is $96. You Save 6%.
View All Available Formats & Editions
Available on Compatible NOOK Devices and the free NOOK Apps.
Want a NOOK ? Explore Now

Overview

Security in Computing by Charles P. Pfleeger, Shari Lawrence Pfleeger, Jonathan Margulies

The New State of the Art in Information Security: Now Covers Cloud Computing, the Internet of Things, and Cyberwarfare

 

Students and IT and security professionals have long relied on Security in Computing as the definitive guide to computer security attacks and countermeasures. Now, the authors have thoroughly updated this classic to reflect today’s newest technologies, attacks, standards, and trends.

 

Security in Computing, Fifth Edition, offers complete, timely coverage of all aspects of computer security, including users, software, devices, operating systems, networks, and data. Reflecting rapidly evolving attacks, countermeasures, and computing environments, this new edition introduces best practices for authenticating users, preventing malicious code execution, using encryption, protecting privacy, implementing firewalls, detecting intrusions, and more. More than two hundred end-of-chapter exercises help the student to solidify lessons learned in each chapter.

 

Combining breadth, depth, and exceptional clarity, this comprehensive guide builds carefully from simple to complex topics, so you always understand all you need to know before you move forward.

 

You’ll start by mastering the field’s basic terms, principles, and concepts. Next, you’ll apply these basics in diverse situations and environments, learning to ”think like an attacker” and identify exploitable weaknesses. Then you will switch to defense, selecting the best available solutions and countermeasures. Finally, you’ll go beyond technology to understand crucial management issues in protecting infrastructure and data.

 

New coverage includes

  • A full chapter on securing cloud environments and managing their unique risks
  • Extensive new coverage of security issues associated with user—web interaction
  • New risks and techniques for safeguarding the Internet of Things
  • A new primer on threats to privacy and how to guard it
  • An assessment of computers and cyberwarfare–recent attacks and emerging risks
  • Security flaws and risks associated with electronic voting systems

 

Product Details

ISBN-13: 9780134085050
Publisher: Pearson Education
Publication date: 01/14/2015
Sold by: Barnes & Noble
Format: NOOK Book
Pages: 944
Sales rank: 891,993
File size: 16 MB
Note: This product may take a few minutes to download.

About the Author

Charles Pfleeger is an internationally known expert on computer and communications security. He was originally a professor at the University of Tennessee, leaving there to join computer security research and consulting companies Trusted Information Systems and Arca Systems (later Exodus Communications and Cable and Wireless). With Trusted Information Systems he was Director of European Operations and Senior Consultant. With Cable and Wireless he was Director of Research and a member of the staff of the Chief Security Officer.  He was chair of the IEEE Computer Society Technical Committee on Security and Privacy.


Shari Lawrence Pfleeger is widely known as a software engineering and computer security researcher, most recently as a Senior Computer Scientist with the Rand Corporation and as Research Director of the Institute for Information Infrastructure Protection. She is currently Editor in Chief of IEEE Security & Privacy magazine.


Jonathan Margulies is the CTO of Qmulos, a cybersecurity consulting firm. After receiving his Masters Degree in Computer Science from Cornell University, Mr. Margulies spent nine years at Sandia National Labs, researching and developing solutions to protect national security and critical infrastructure systems from advanced persistent threats. He then went on to NIST's National Cybersecurity Center of Excellence, where he worked with a variety of critical infrastructure companies to create industry-standard security architectures. In his free time, Mr. Margulies edits the “Building Security In” section of  IEEE Security & Privacy magazine.

 

Read an Excerpt

Every day, the news media give more and more visibility to the effects of computer security on our daily lives. For example, on a single day in June 2006, the Washington Post included three important articles about security. On the front page, one article discussed the loss of a laptop computer containing personal data on 26.5 million veterans. A second article, on the front page of the business section, described Microsoft's new product suite to combat malicious code, spying, and unsecured vulnerabilities in its operating system. Further back, a third article reported on a major consumer electronics retailer that inadvertently installed software on its customers' computers, making them part of a web of compromised slave computers. The sad fact is that news like this appears almost every day, and has done so for a number of years. There is no end in sight.

Even though the language of computer security—terms such as virus, Trojan horse, phishing, spyware—is common, the application of solutions to computer security problems is uncommon. Moreover, new attacks are clever applications of old problems. The pressure to get a new product or new release to market still in many cases overrides security requirements for careful study of potential vulnerabilities and countermeasures. Finally, many people are in denial, blissfully ignoring the serious harm that insecure computing can cause.

Why Read This Book?

Admit it. You know computing entails serious risks to the privacy and integrity of your data, or the operation of your computer. Risk is a fact of life: Crossing the street is risky, perhaps more so in some places than others, but you still cross the street. As a child you learned to stop and look both ways before crossing. As you became older you learned to gauge the speed of oncoming traffic and determine whether you had the time to cross. At some point you developed a sense of whether an oncoming car would slow down or yield. We hope you never had to practice this, but sometimes you have to decide whether darting into the street without looking is the best means of escaping danger. The point is all these matters depend on knowledge and experience. We want to help you develop the same knowledge and experience with respect to the risks of secure computing.

How do you control the risk of computer security?

  • Learn about the threats to computer security.
  • Understand what causes these threats by studying how vulnerabilities arise in the development and use of computer systems.
  • Survey the controls that can reduce or block these threats.
  • Develop a computing style—as a user, developer, manager, consumer, and voter—that balances security and risk.

The field of computer security changes rapidly, but the underlying problems remain largely unchanged. In this book you will find a progression that shows you how current complex attacks are often instances of more fundamental concepts.

Users and Uses of This Book

This book is intended for the study of computer security. Many of you want to study this topic: college and university students, computing professionals, managers, and users of all kinds of computer-based systems. All want to know the same thing: how to control the risk of computer security. But you may differ in how much information you need about particular topics: Some want a broad survey, while others want to focus on particular topics, such as networks or program development.

This book should provide the breadth and depth that most readers want. The book is organized by general area of computing, so that readers with particular interests can find information easily. The chapters of this book progress in an orderly manner, from general security concerns to the particular needs of specialized applications, and finally to overarching management and legal issues. Thus, the book covers five key areas of interest:

  • introduction: threats, vulnerabilities, and controls
  • encryption: the "Swiss army knife" of security controls
  • code: security in programs, including applications, operating systems, database management systems, and networks
  • management: building and administering a computing installation, from one computer to thousands, and understanding the economics of cybersecurity
  • law, privacy, ethics: non-technical approaches by which society controls computer security risks

These areas are not equal in size; for example, more than half the book is devoted to code because so much of the risk is at least partly caused by program code that executes on computers.

The first chapter introduces the concepts and basic vocabulary of computer security. Studying the second chapter provides an understanding of what encryption is and how it can be used or misused. Just as a driver's manual does not address how to design or build a car, Chapter 2 is not for designers of new encryption schemes, but rather for users of encryption. Chapters 3 through 7 cover successively larger pieces of software: individual programs, operating systems, complex applications like database management systems, and finally networks, which are distributed complex systems. Chapter 8 discusses managing and administering security, and describes how to find an acceptable balance between threats and controls. Chapter 9 addresses an important management issue by exploring the economics of cybersecurity: understanding and communicating the costs and benefits. In Chapter 10 we turn to the personal side of computer security as we consider how security, or its lack, affects personal privacy. Chapter 11 covers the way society at large addresses computer security, through its laws and ethical systems. Finally, Chapter 12 returns to cryptography, this time to look at the details of the encryption algorithms themselves.

Within that organization, you can move about, picking and choosing topics of particular interest. Everyone should read Chapter 1 to build a vocabulary and a foundation. It is wise to read Chapter 2 because cryptography appears in so many different control techniques. Although there is a general progression from small programs to large and complex networks, you can in fact read Chapters 3 through 7 out of sequence or pick topics of greatest interest. Chapters 8 and 9 may be just right for the professional looking for non-technical controls to complement the technical ones of the earlier chapters. These chapters may also be important for the computer science student who wants to look beyond a narrow view of bytes and protocols. We recommend Chapters 10 and 11 for everyone, because those chapters deal with the human aspects of security: privacy, laws, and ethics. All computing is ultimately done to benefit humans, and so we present personal risks and approaches to computing. Chapter 12 is for people who want to understand some of the underlying mathematics and logic of cryptography.

What background should you have to appreciate this book? The only assumption is an understanding of programming and computer systems. Someone who is an advanced undergraduate or graduate student in computer science certainly has that background, as does a professional designer or developer of computer systems. A user who wants to understand more about how programs work can learn from this book, too; we provide the necessary background on concepts of operating systems or networks, for example, before we address the related security concerns.

This book can be used as a textbook in a one- or two-semester course in computer security. The book functions equally well as a reference for a computer professional or as a supplement to an intensive training course. And the index and extensive bibliography make it useful as a handbook to explain significant topics and point to key articles in the literature. The book has been used in classes throughout the world; instructors often design one-semester courses that focus on topics of particular interest to the students or that relate well to the rest of a curriculum.

What Is New In This Book?

This is the fourth edition of Security in Computing, first published in 1989. Since then, the specific threats, vulnerabilities, and controls have changed, even though many of the basic notions have remained the same.

The two changes most obvious to people familiar with the previous editions are the additions of two new chapters, on the economics of cybersecurity and privacy. These two areas are receiving more attention both in the computer security community and in the rest of the user population.

But this revision touched every existing chapter as well. The threats and vulnerabilities of computing systems have not stood still since the previous edition in 2003, and so we present new information on threats and controls of many types. Change include:

  • the shift from individual hackers working for personal reasons to organized attacker groups working for financial gain
  • programming flaws leading to security failures, highlighting man-in-the-middle, timing, and privilege escalation errors
  • recent malicious code attacks, such as false interfaces and keystroke loggers
  • approaches to code quality, including software engineering, testing, and liability approaches
  • rootkits, including ones from unexpected sources
  • web applications' threats and vulnerabilities
  • privacy issues in data mining
  • WiFi network security
  • cryptanalytic attacks on popular algorithms, such as RSA, DES, and SHA, and recommendations for more secure use of these
  • bots, botnets, and drones, making up networks of compromised systems
  • update to the Advanced Encryption System (AES) with experience from its first several years of its use
  • the divide between sound authentication approaches and users' actions
  • biometric authentication capabilities and limitations
  • the conflict between efficient production and use of digital content (e.g., music and videos) and control of piracy

In addition to these major changes, there are numerous small corrective and clarifying ones, ranging from wording and notational changes for pedagogic reasons to replacement, deletion, rearrangement, and expansion of sections.

Table of Contents

Foreword         xix

Preface         xxv

Acknowledgments         xxxi

About the Authors         xxxiii

 

Chapter 1: Introduction         1

1.1 What Is Computer Security?   2

1.2 Threats   6

1.3 Harm   21

1.4 Vulnerabilities   28

1.5 Controls   28

1.6 Conclusion   31

1.7 What’s Next?   32

1.8 Exercises   34

 

Chapter 2: Toolbox: Authentication, Access Control, and Cryptography         36

2.1 Authentication   38

2.2 Access Control   72

2.3 Cryptography   86

2.4 Exercises   127

 

Chapter 3: Programs and Programming         131

3.1 Unintentional (Nonmalicious) Programming Oversights   133

3.2 Malicious Code—Malware   166

3.3 Countermeasures   196

 

Chapter 4: The Web—User Side         232

4.1 Browser Attacks   234

4.2 Web Attacks Targeting Users   245

4.3 Obtaining User or Website Data   260

4.4 Email Attacks   267

4.5 Conclusion   277

4.6 Exercises   278

 

Chapter 5: Operating Systems         280

5.1 Security in Operating Systems   280

5.2 Security in the Design of Operating Systems   308

5.3 Rootkit   329

5.4 Conclusion   338

5.5 Exercises   339

 

Chapter 6: Networks         341

6.1 Network Concepts  342

Part I—War on Networks: Network Security Attacks   353

6.2 Threats to Network Communications   354

6.3 Wireless Network Security   374

6.4 Denial of Service   396

6.5 Distributed Denial-of-Service   421

Part II—Strategic Defenses: Security Countermeasures   432

6.6 Cryptography in Network Security   432

6.7 Firewalls   451

6.8 Intrusion Detection and Prevention Systems   474

6.9 Network Management 489

6.10 Conclusion   496

6.11 Exercises   496

 

Chapter 7: Databases          501

7.1 Introduction to Databases   502

7.2 Security Requirements of Databases   507

7.3 Reliability and Integrity   513

7.4 Database Disclosure   518

7.5 Data Mining and Big Data   535

7.6 Conclusion   549

 

Chapter 8: Cloud Computing         551

8.1 Cloud Computing Concepts   551

8.2 Moving to the Cloud   553

8.3 Cloud Security Tools and Techniques   560

8.4 Cloud Identity Management   568

8.5 Securing IaaS   579

8.6 Conclusion   583

8.7 Exercises   584

 

Chapter 9: Privacy         586

9.1 Privacy Concepts   587

9.2 Privacy Principles and Policies   596

9.3 Authentication and Privacy   610

9.4 Data Mining   616

9.5 Privacy on the Web   619

9.6 Email Security   632

9.7 Privacy Impacts of Emerging Technologies   636

9.8 Where the Field Is Headed   644

9.9 Conclusion   645

9.10 Exercises   645

 

Chapter 10: Management and Incidents         647

10.1 Security Planning   647

10.2 Business Continuity Planning   658

10.3 Handling Incidents   662

10.4 Risk Analysis   668

10.5 Dealing with Disaster   686

10.6 Conclusion   699

10.7 Exercises   700

 

Chapter 11: Legal Issues and Ethics         702

11.1 Protecting Programs and Data   704

11.2 Information and the Law   717

11.3 Rights of Employees and Employers   725

11.4 Redress for Software Failures   728

11.5 Computer Crime   733

11.6 Ethical Issues in Computer Security   744

11.7 Incident Analysis with Ethics   750

 

Chapter 12: Details of Cryptography         768

12.1 Cryptology   769

12.2 Symmetric Encryption Algorithms   779

12.3 Asymmetric Encryption with RSA   795

12.4 Message Digests   799

12.5 Digital Signatures   802

12.6 Quantum Cryptography   807

12.7 Conclusion   811

 

Chapter 13: Emerging Topics         813

13.1 The Internet of Things   814

13.2 Economics   821

13.3 Electronic Voting   834

13.4 Cyber Warfare   841

13.5 Conclusion  850

 

Bibliography          851

 

Index        877

 

Preface

Preface to the Third Edition

Every day, the news media give more and more visibility to the effects of computer security on our daily lives. For example, on a single day in June 2002, the Washington Post included three important articles about security. On the front page, one article described the possibility that a terrorist group was plotting to—and actually could—invade computer systems and destroy huge dams, disable the power grid, or wreak havoc with the air traffic control system. A second article, also on the front page, considered the potential loss of personal privacy as governments and commercial establishments begin to combine and correlate data in computer-maintained databases. Further back, a third article discussed yet another software flaw that could have widespread effect. Thus, computer security is no longer relegated to esoteric discussions of what might happen; it is instead a hot news topic, prominently featured in newspapers, magazines, radio talk shows, and documentary television programs. The audience is no longer just the technical community; it is ordinary people, who feel the effects of pervasive computing.

In just a few years the world's public has learned the terms "virus," "worm," and "Trojan horse" and now appreciates the concepts of "unauthorized access," "sabotage," and "denial of service." During this same time, the number of computer users has increased dramatically; with those new users have come new uses: electronic stock trading, sharing of medical records, and remote control of sensitive equipment, to name just three. It should be no surprise that threats to security in computing have increased along with the users anduses.

Why Read This Book?

Are your data or programs at risk? If you answer "yes" to any of the following questions, you have a potential security risk.

  • Do you connect to the Internet?
  • Do you read e-mail?
  • Have you gotten any new programs—or any new versions of old programs—within, say, the last year?
  • Is there any important program or data item of which you do not have a second copy stored somewhere other than on your computer?

Almost every computer user today meets at least one of these conditions, and so you, and almost every other computer user, are at risk of some harmful computer security event. Risk does not mean you should stop using computers. You are at risk of being hit by a falling meteorite or of being robbed by a thief on the street, but you do not hide in a fortified underground bunker all day. You learn what puts you at risk and how to control it. Controlling a risk is not the same as eliminating it; you simply want to bring it to a tolerable level.

How do you control the risk of computer security?

  • Learn about the threats to computer security.
  • Understand what causes these threats by studying how vulnerabilities arise in the development and use of computer systems.
  • Survey the controls that can reduce or block these threats.
  • Develop a computing style—as a user, developer, manager, consumer, and voter—that balances security and risk.
Users and Uses of This Book

This book is intended for the study of computer security. Many of you want to study this topic: college and university students, computing professionals, managers, and use computer-based systems. All want to know the same thing: how to control the risk of computer security. But you may differ in how much information you need about particular topics: Some want a broad survey, whereas others want to focus on particular topics, such as networks or program development.

This book should provide the breadth and depth that most readers want. The book is organized by general area of computing, so that readers with particular interests can find information easily. The chapters of this book progress in an orderly manner, from general security concerns to the particular needs of specialized applications, and finally to overarching management and legal issues. Thus, the book covers five key areas of interest:

  • Introduction: threats, vulnerabilities, and controls
  • Encryption: the "Swiss army knife" of security controls
  • Code: security in programs, including applications, operating systems, database management systems, and networks
  • Management: implementing and maintaining a computing style
  • Law, privacy, ethics: nontechnical approaches by which society controls computer security risks

These areas are not equal in size; for example, more than half the book is devoted to code because so much of the risk is at least partly caused by program code that executes on computers.

The first chapter introduces the concepts and basic vocabulary of computer security. The second chapter provides an understanding of what encryption is and how it can be used or misused. Just as a driver's manual does not address how to design or build a car, Chapter 2 is for users of encryption, not designers of new encryp through 7 cover successively larger pieces of software: individual programs, operating systems, complex applications like database management systems, and finally networks, which are distributed complex systems. Chapter 8 discusses managing and administering security, and finding an acceptable balance between threats and controls. Chapter 9 covers the way society at large addresses computer security, through its laws and ethical systems and through its concern for privacy. Finally, Chapter 10 returns to cryptography, this time to look at the details of the encryption algorithms themselves.

Within that organization, you can move about, picking and choosing topics of particular interest. Everyone should read Chapter 1 to build a vocabulary and a foundation. It is wise to read Chapter 2 because cryptography appears in so many different control techniques. Although there is a general progression from small programs to large and complex networks, you can in fact read Chapters 3 through 7 out of sequence or pick topics of greatest interest. Chapters 8 and 9 may be just right for the professional looking for nontechnical controls to complement the technical ones of the earlier chapters. These chapters may also be important for the computer science student who wants to look beyond a narrow view of bytes and protocols. Chapter 10 is for people who want to understand some of the underlying mathematics and logic of cryptography.

What background should you have to appreciate this book? The only assumption is an understanding of programming and computer systems. Someone who is an advanced undergraduate or graduate student in computer science certainly has that background, as does a professional designer or developer of computer systems. A user who wants to understand more about how programs work can learn from this book, too; we provide the necessary background on concepts of operating systems or networks, for example, before we address the related security concerns.

This book can be used as a textbook in a one- or two-semester course in computer security. The book functions equally well as a reference for a computer professional or as a supplement to an intensive training course. And the index and extensive bibliography make it useful as a handbook to explain significant topics and point to key articles in the literature. The book has been used in classes throughout the world; instructors often design one-semester courses that focus on topics of particular interest to students or that relate well to the rest of a curriculum.

What Is New in This Book?This is the third edition of Security in Computing, first published in 1989. Since then, the specific threats, vulnerabilities, and controls have changed, even though many of the basic notions have remained the same.The two changes most obvious to people familiar with the previous editions are networks and encryption. Networking has evolved even since the second edition was published, and there are many new concepts to master, such as distributed denial-of-service attacks or scripted vulnerability probing. As a consequence, the networks chapter is almost entirely new. Previous editions of this book presented encryption details in the same chapter as encryption uses. Although encryption is a fundamental tool in computer security, in this edition the what is presented straightforwardly in Chapter 2, while the how is reserved for the later Chapter 10. This structure lets readers get to the technical uses of encryption in programs and networks more quickly.There are numerous other additions, of which these are the most significant ones:
  • the Advanced Encryption System (AES), the replacement for the Data Encryption System (DES) from the 1970s
  • programming flaws leading to security failures, highlighting buffer overflows, incomplete mediation, and time-of-check to time-of-use errors
  • recent malicious code attacks, such as Code Red
  • software engineering practices to improve program quality
  • assurance of code quality
  • authentication techniques such as biometrics and password generators
  • privacy issues in database management system security
  • mobile code, agents, and assurance of them
  • denial-of-service and distributed denial-of-service attacks
  • flaws in network protocols
  • security issues in wireless computing
  • honeypots and intrusion detection
  • copyright controls for digital media
  • threats to and controls for personal privacy
  • software quality, vulnerability reporting, and vendors' responsibilities
  • the ethics of hacking

In addition to these major changes, there are numerous small corrective and clarifying ones, ranging from wording changes to subtle notational changes for pedagogic reasons to replacement, deletion, rearrangement, and expansion of sections.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews