- Everyone Knows What "Cybersecurity" Means
- We Can Measure How Secure Our Systems Are
- The Primary Goal of Cybersecurity Is Security
- Cybersecurity Is About Obvious Risks
- Sharing More Cyber Threat Intel Will Make Things Better
- What Matters to You Matters to Everyone Else
- Product X Will Make You Secure
- Macs Are Safer Than PCs, Linux Is Safer Than Windows
- Open Source Software Is More Secure Than Closed Source Software
- Technology X Will Make You Secure
- Process X Will Make You Secure
- Faerie Dust Can Make Old Ideas Magically Revolutionary
- Passwords Should Be Changed Often
- Believe and Fear Every Hacking Demo You See
- Cyber Offense Is Easier Than Defense
- Operational Technology (OT) Is Not Vulnerable
- Breaking Systems Is the Best Way to Establish Yourself
- Because You Can, You Should
- Better Security Means Worse Privacy
- Further Reading
We Can Measure How Secure Our Systems Are
Cybersecurity professionals cringe at the question “how secure are we?”10 The person asking probably thinks there is a nice straightforward answer, such as 90% secure or very secure. Professionals wince because this is not something they can meaningfully quantify. They wish the question could be asked more precisely.
People want a number. They want a value they can point to, saying, “This is how secure I am: I am a 5.” It’s something they can hang on to or publicize to make themselves feel better.
Without a good definition, however, we are left without good metrics. And, to scientists and engineers, metrics are important! As Lord Kelvin wrote, “I often say that when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind.”11
“Wait!” some people might say. “What about the traditional C-I-A measures?” In computer science textbooks and classes, we find references to confidentiality, integrity, and availability as the basic components of cybersecurity. But those are also poorly chosen. For instance, what is the dimension of integrity? How do I have two more units of confidentiality? Are three units of confidentiality more important than two units of availability? Furthermore, those are not orthogonal properties: If data is overwritten (poor integrity controls), it is no longer available.
The shortcomings of the C-I-A model are not new realizations. Donn Parker developed his Hexad model12 to add three more properties (Control, Correctness, Utility), and John McCumber developed his Cube model13 to better focus controls on goals and whether data is at rest or in transit. Those are not the only models, either! None of those models fixed the underlying problems, which are rooted in not having a good definition of “secure.”
All of this is complicated by two facts not reflected in most practice (and rarely in commercial advertising): (1) It is impossible to make an arbitrary system secure against all threats and still be usable, functional, and productive, and (2) all security is relative to a security policy. The first fact is relatively easy to illustrate. Think about protecting a PC against a planet-killing asteroid, against the combined cyber attack capabilities of North Atlantic Treaty Organization (NATO) forces, and an invasion of Unidentified Flying Objects (UFOs) carrying telepathic lizard people.14 Those are all potential threats, and there is simply no current, complete defense against all of them—singly or combined. As to usability, consider the quote that opens this chapter.
The second fact is a bit more subtle and not as well understood as it should be. It is about defining what we are protecting and what we are protecting against. Situations and environments are different. If I am a grad student, I might not care about protecting my recipe for chocolate chip cookies on my home computer; if I am an elf running a baked goods empire from my hollow tree, I probably care a great deal about protecting my recipe! In both cases, it might be the same computing hardware, the same underlying Operating System (OS), and perhaps even the same recipe—but the risks and policies are definitely different! As Figure 1.1 illustrates, one size does not fit all.
FIGURE 1.1 Security must fit a myriad of users and situations.
This policy difference also shows up when comparing a home system versus a bank versus the computers used in the Situation Room at the White House. The differences are also interwoven with risk issues (How likely is the system to be attacked, and by whom?) and consequences (Is loss of my cookie recipe equal to compromise of the bank’s balance sheets?) That, in turn, drives decisions about how much time, capital, and effort to spend on controls, countermeasures, and recovery mechanisms. We cannot afford to protect every system at the same level! Protecting a student’s cookie recipe against potential theft by a team of elite cyber criminals is not likely to be a good use of funds and time, but the elves might view the tradeoffs differently.
This, too, has been understood for quite some time. Buried in a lesser-known Request for Comments (RFC) is a gem worth noting here. Internet Engineering Task Force (IETF) RFCs are individually numbered publications that include Internet standards, ideas, and occasional humor. For example, domain names and the Domain Name System (DNS) that underpin our Internet experiences are described in RFC 1034. The Internet Security Glossary is written in RFC 4949.15 It is a fascinating and informative read. It defines terms such as “port scan” and “vulnerability.” Within this document is an entry for Courtney’s Laws, which Robert Courtney defined decades ago:
Courtney’s Laws
Principles for managing system security that were stated by Robert H. Courtney, Jr.
Courtney’s first law: You cannot say anything interesting (i.e., significant) about the security of a system except in the context of a particular application and environment.
Courtney’s second law: Never spend more money eliminating a security exposure than tolerating it will cost you.
First corollary: Perfect security has infinite cost.
Second corollary: There is no such thing as zero risk.
Courtney’s third law: There are no technical solutions to management problems, but there are management solutions to technical problems.
Bob Courtney was a pioneer in cybersecurity and well understood the limitations of what we can achieve. His three laws enrich the context of cybersecurity, and everybody who deals with cybersecurity should know them.
Trust and Risk
Notice that Bob referred to “risk.” Those who have studied the field in depth generally prefer to talk about either trust, risk, or both rather than security. We try to measure how much we trust a system to address risk. One of the most influential documents in cybersecurity was the Trusted Computer System Evaluation Criteria (TCSEC), also known colloquially as “the Orange Book” because of the color of its cover. It was issued by the U.S. National Computer Security Center in 1983 and described how to build computers with increasing levels of trust.16 We might say they were levels of security, but it was understood early on that it made more sense to speak about what we could do to increase our trust in a system to operate according to policy and minimize risk.
Though related, trust is sometimes confused with security. Consider SSL/TLS17 as an example. We have taught users to look for the lock icon in their browsers when visiting their bank’s website. Somewhere along the line, users also began to use this heuristic for safety to decide if the website was legitimate and not a phishing attempt; that is not necessarily correct, as Figure 1.2 illustrates.18 Uh oh! TLS (usually) provides a secure connection, but this connection could still be with an untrustworthy attacker. This illustrates the difficulty in defining “secure”: The network connection is secure (in a sense), but the actual session is not.
FIGURE 1.2 A lock icon does not necessarily mean there is no risk.
Importantly, as noted in the corollary to Courtney’s Second Law, there is no way to eliminate all the risk. For instance, strong passwords lower the risk of attackers accessing our account, but all passwords can eventually be guessed with enough brute force. The first myth in this chapter acknowledges that it’s difficult to quantify how much risk we face and how much cybersecurity lowers risk. The flip side is that cybersecurity can be so stringent that it degrades the ability to use technology effectively. Risk management is a spectrum from none to complete, where zero risk is unreachable.
Threats
When you read some of the definitions of security earlier in the chapter, did you notice that some of them referred to threats? That’s yet another way to define security.
There is a vast difference between threat-based security and risk-based security. “Our firewall prevents network attacks” is vastly different from “our firewall lowers the risk of network attacks.” Bruce Schneier summarized this difference in one of his Crypto-Grams: “Avoiding threats is black and white: either we avoid the threat, or we don’t. Avoiding risk is continuous: there is some amount of risk we can accept, and some we cannot.”19 The end state of risk management is not risk elimination. We can lower our risk of injury or death while driving, but we cannot make it zero.
Despite popular lists of top 10 and best practices security advice, there is no accepted value for precisely how much risk is lowered by patching or firewalls or training. We know they help to an extent, but the remaining risk is still murky in the enormous range between less than 100% and greater than 0%. It would be nice if we could put a number to it, but we cannot.
Security Policy
We define the differences in security posture and risk tolerance in a security policy. The policy helps define assets, authorities, standards, and other issues necessary to build and operate the cybersecurity regime for an organization. Many large organizations have a structured, written policy.20
The relative nature of security policy is one factor that makes cybersecurity difficult. It is further complicated because few organizations have an overall security policy that can be directly applied to developing, procuring, and operating their computing (“cyber”) resources. Most organizations simply have a policy of “no one should do anything to our systems we do not authorize” and depend on off-the-shelf components to enforce it; however, few consumer items are carefully specified and designed to support the full range of possible policies. After all, vendor businesses are focused on making a profit, not on spending unlimited amounts building in support for every possible policy and defense.
This parallels a situation described succinctly by one of our favorite observations from 1985: “A program that has not been specified cannot be incorrect; it can only be surprising.”21 Yes, the majority of security “bugs” and “weaknesses” are not flaws—they are surprises because they occur in systems never fully defined and specified against security policies. If we have no policy, and the software we are running was never explicitly specified and designed, how can there be a security flaw?
It is impossible to avoid yet more surprises given the difficulty vendors have in writing correct programs and the market-driven push to add new features and ever-more layers of complexity to legacy, broken code to drive new sales. Trends involving just-in-time, DevOps, and Agile code development often short-change design, too, leading to surprises. The philosophy is that the coders can quickly fix the problems, but quick fixes are not the same as inherent quality. Consider driving down the highway at 110 kilometers per hour.22 Your car was built to go fast with a shiny exterior, and everything is fine until you need to exit. That’s when you discover the car was built without brakes. Oops! Patching might make things better for the next iteration of the car model, but the situation will not end well for you or anyone else zipping down the road ahead of you. Ease or speed of patching is not the same as good security! Speed of code production is no substitute for considered, comprehensive design, either.
And So. . .
Thus, security is tightly intertwined with risk management, which is related to policy. We need protection because there is a potential danger, harm, or loss of things we value. We have locks on our houses to protect the people and items inside. If we care about the privacy of our cookie recipes and protecting the money in our bank accounts, then we need solid cybersecurity.
So, where does all this leave us? It brings us not to security per se, but rather to the process of building trust and assuring our systems. We want to trust (have confidence) that the mechanisms we have work the way we think they do, that we have backstops and preventive measures in place to add to our confidence in that operation according to policy, and we want to regularly examine everything to ensure there are no gaps or deficiencies. All of that must be within budget, using the lowest-cost software often written by people with minimal (or no) training in sound software engineering and based on architectures and hardware that might have been optimized for running spreadsheets and video games. It should not come as a surprise that the process is fraught with errors and frequent, spectacular failures.
Keep the introduction chapter in mind as you read through the rest of this book. Perhaps the biggest misconceptions in the field are that we know what cybersecurity is, that it is an achievable goal, and that existing technology is sufficient. (And we will not try to explain why safety, correctness, and privacy are also challenging to achieve, although the reasons are roughly similar.)