Security Engineering -- A guide to building dependable distributed systems
|Table of Contents
• Chapter 1: What Is Security Engineering?
• Chapter 2: Protocols
• Chapter 3: Passwords
• Chapter 4: Access Control
• Chapter 5: Cryptography
• Chapter 6: Distributed Systems
• Chapter 7: Multilevel Security
• Chapter 8: Multilateral Security
• Chapter 9: Banking and Bookkeeping
• Chapter 10: Monitoring Systems
• Chapter 11: Nuclear Command and Control
• Chapter 12: Security Printing and Seals.
• Chapter 13: Biometrics
• Chapter 14: Physical Tamper Resistance
• Chapter 15: Emission Security
• Chapter 16: Electronic and Information Warfare
• Chapter 17: Telecom System Security
• Chapter 18: Network Attack and Defense
• Chapter 19: Protecting E-Commerce Systems
• Chapter 20: Copyright and Privacy Protection
• Chapter 21: E-Policy
• Chapter 22: Management Issues
• Chapter 23: System Evaluation and Assurance
• Chapter 24: Conclusions
In an ever-increasing world of technological advancement, we find many ways to make things easier for ourselves. ATMs, security systems, Internet shopping and banking, satellite TV, and mobile Internet are merely a few of the things that we utilize online to make our lives flow smoother and faster. But what happens when our technology is hijacked by those with malicious intent? How can a working knowledge of security and secure systems prevent unwanted intrusion and destruction? That is the key topic in Security Engineering – A Guide to Building Dependable Distributed Systems, by Ross Anderson.
Security engineering is the order that emerges from all the chaos. While the cornerstone technologies of software reliability, tamper resistance, complex encryption, and cryptology are well documented and developed, the knowledge and how to properly and effectively apply it are less understood. The pace at which our technology develops is much faster than the pace with which we can effectively secure it. This leads to the same mistakes being made over every new incarnation of security measures and new ideas based on the same flawed methods. The basis of a secure system is rooted in the knowledge of how the system was created, the potential threats, knowing what aspects of the system work, and more importantly, which aspects of the system fail.
The book is designed to work on four distinct levels, as stated in the preface:
- As a textbook that you can read from one end to the other over a few days as an introduction to the subject.
- As a reference book to which you can come for an overview of the workings of some particular type of system.
- As an introduction to the underlying technologies associated with security engineering.
- As an original scientific contribution, with the goal of learning the lessons that people have acquired from building such systems.
In addition, the body of the book in broken down into three different parts:
- Part one looks at the basic concepts of security, with the central ideas behind security protocols, human-computer interface issues, cryptology, and distributed systems.
- Part two focuses on the advanced technologies of military communications, cash machines, mobile phones, and medical records systems. It also touches on information security from different interest groups, such as companies, law enforcement, spies, and criminals.
- Part three elaborates on how the security engineering can best be managed and controlled. Topics include how security issues interact with the law and corporate politics, and how much confidence we should invest when trusting that a system will perform as intended.
While there is a breadth of information on a diverse number of topics, the information most pertinent to readers of this magazine resides primarily in chapters 4, 6, 10, and 14.
Chapter four is dedicated to access control. Limiting the permissions of a user is one way to prevent intrusion and damage to a system. More simplistic concepts of access control, such as read/write/execute permissions, are one way to keep some intrusions to a minimum. The majority of security issues derive from the exploitation of bugs and system instability. In turn, the more widely used the software is, the more publicized and utilized the problem is. One way to curb this is to put restrictions on access controls. Additionally, limitations to special purpose hardware, smartcards, object-oriented systems, and mobile devices continue to secure this trend.
Chapter 6 focuses on the building of a dependable distributed system. Such systems often suffer from serious development flaws when platforms or systems are combined or merged. Problems such as implementing old data or code and assumed concurrent consistency between systems can lead to serious security breaches. The ability to not only prevent such attacks, but also quickly recover from catastrophes such as hard-drive crashes or unexpected server downtime is critical, as a system can be most vulnerable at such a time. Also, being able to place specific restrictions on users, such as a cancelled user name or login, should not totally hinder their ability to have additional system privileges under certain circumstances.
In chapter 10, the topic of protection of monitoring systems is elaborated on. The main idea being denial of service and the overwhelming of system sensors, both of which hinder a system to properly do its specified task. This is a critical concern for domestic security systems to nuclear safety devices. While many systems are developed on a very limited budget with specific and demanding requirements, this makes solid system security a very difficult and complex task. Three case studies are introduced to thoroughly explain many of the different factors involved, and present actual solutions of the different types and degrees of possible attacks.
Chapter 14 is dedicated to possibly the most basic of security issues, physical tamper resistance. The more simple methods or prevention are covered, such as locking mechanisms and portable security options. There is also a very informative section that covers devices that are certified by the US government to resist all known attacks, as well as methods on how to successfully hack a smartcard. Additionally, there’s an in-depth discussion about what actually goes wrong when a system fails and security is breached.
One of the most interesting and helpful aspects of this entire book is the author’s continuous updating and correction of parts of the entire book on his website. With more than 600 pages of extremely useful and detailed explanations, diagrams, and first-hand knowledge, anyone with a passing curiosity on the subject to an engineer with decades of experience will find this book helpful, enjoyable, and informative on many different levels.
About the author:
Ross Anderson teaches and directs research in computer security at Cambridge University, England. Widely recognized as one of the world’s foremost authorities on security engineering, he has published extensive studies on how real security systems fail–on bank card fraud, phone phreaking, pay-TV hacking, ways to cheat metering systems and breaches of medical privacy. His personal website, which includes updates to this book, can be viewed at: http://www.cl.cam.ac.uk/~rja14/book.html.