Takeaways from Why Cryptosystems Fail

Ross Anderson presents a survey of ATM failures in Why Cryptosystems Fail (1993). Here are some major takeaways: If the deployment environment changes, your assumptions may stop holding. Revisit the goals of your system after deployment. Build with your adversary's real abilities in mind. Do a postmortem study to determine why the cryptosystem failed. (Aside: share the results.) Having good cryptographic building blocks does not mean that what you build with them will be secure.…

Continue ReadingTakeaways from Why Cryptosystems Fail

The Moral of “Trusting Trust”

I’m writing up a short summary for each classic cybersecurity paper that I have to know for my qualification exam. This week, let’s chat about “Reflections on Trusting Trust” by Ken Thompson (1984).

The three page paper comes from Ken Thompson’s Turing Award lecture in 1984. In it, he details a very elegant attack by which a backdoor can be injected into a program through a malicious compiler, leaving no evidence in the actual source code of the compiler or the program.

Moral

The moral is obvious. You can’t trust code that you did not totally create yourself.

Thompson argues that a skillful attacker can install a bug that will be almost impossible to detect. He spends the rest of the speech to say that most unauthorized access to computer systems is vandalism and should be treated as such by the media, the law, and society at large. This drawn out emphasis on the treatment of vandals undercuts the seriousness of the previous attack.

The moral is not that we cannot trust code we did not write ourselves.  The moral is that even the code we write could be corrupted. The keyword in Thompson’s paper is “totally.” This turtles-all-the-way-down attack stops only when you use your own vacuums.

(more…)

Continue ReadingThe Moral of “Trusting Trust”

Saltzer and Schroeder Design Principles

Alright, time to discuss another classic computer security paper! Today, it's The Protection of Information in Computer Systems by Jerome H. Saltzer and Michael D. Schroeder. Written in 1975, this document outlines some fundamental security concepts. I suggest focusing on Section 1, Basic Principles of Information Protection. The 8 design principles start at Section 1.3. As is apparent, these principles do not represent absolute rules--they serve best as warnings. Economy of mechanism: Simple is best.…

Continue ReadingSaltzer and Schroeder Design Principles

Classic Cybersecurity Papers

If you're looking for an accessible (read: short) list of classic papers on computer/information security, I've got you. My PhD program requires that we read five classic papers in our area for the candidacy exam. My area is cybersecurity, whatever that means, so I've been given five classic papers on security. I've included links to the online versions of the paper below. Jerome Saltzer and Michael Schroeder, The Protection of Information in Computer Systems, Proceedings…

Continue ReadingClassic Cybersecurity Papers