Chapter 4. Overcoming Design Patterns for Insecurity
If we build the IoT like we did the IoC, we’re going to have security trouble.
“Security,” as I like to define it, is the extent to which a system remains in a correct state, despite the efforts of a malicious adversary, perhaps in conspiracy with an uncooperative universe. Typically, the root cause for a successful attack lies in a design or implementation mistake in the system: some error or feature that enables the adversary to come in. These tend to fall into general patterns—and since IT systems have existed for a while now, it’s often hard to come up with completely new ways to do things wrong.
When feeling a bit arrogant (or frustrated), security specialists (such as me) are tempted to label these mistakes as “blunders.” These are not subtle and complex failure cases, but grievous oversights that are obvious—or at least they appear obvious to security specialists looking at them in hindsight. The problem, of course, is that these design decisions need to be made beforehand, and by people who are wrestling with many priorities (and do not realize that my priority is the most important).
This chapter surveys and explains some of the principal categories of IoC blunders (“anti-patterns”) that have affected (or are likely to affect) the IoT:
-
Doing too much
-
Coding blunders
-
Authentication and authorization blunders
-
Cryptography blunders
However, the point here is not that hope is lost, but rather that sensibly moving ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access