Security Bugs

Early in my computer science career, I handed in an exam that ended up receiving a lower grade than I had expected.[20] As part of the exam, I was asked to write an algorithm, prove that it was correct, and then provide an implementation of the algorithm.

While my algorithm and its accompanying proof were completely correct, my implementation received a failing grade. This was a rather dispiriting result: I had come up with a solution and proved that the solution was correct. But the “real” answer -- the implementation -- was still flawed.

Such is the potential problem with implementing a security model. A lot of design and analysis has gone into Java’s default security model, and hopefully you’ll put your own effort into making your own applications secure. But no matter how sound the design of a security model, in the end it is the implementation that matters.

In this section, we’ll discuss some past bugs in Java’s security implementation and list some common resources for finding out about and fixing present bugs.

Few issues in the Java world receive more attention than security bugs; report of a new bug is guaranteed to produce a flurry of activity. As a result, readers of the trade press often have the idea that Java is riddled with security bugs or that it isn’t secure to begin with. This is not the case. While some important bugs in Java’s security implementation have been reported, the impact of these bugs has (at least until now) been minimal.

Bugs that ...

Get Java Security, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.