Large application programs and operating systems are a lot more complicated, but the methodology is basically the same. Murphy's computer, if you will. Significant research has gone into reliable software design, and there are many mission-critical software applications that are designed to withstand Murphy. Writing a secure computer program is another matter entirely. It truly is programming Satan's computer.
Security engineering is different from any other kind of programming.
It's a point I made over and over again in my own book, Secrets and Lies. And it's a point Anderson makes in every chapter of this book. And it comes just in time. The history of the Internet divides into three waves. The first wave centered around mainframes and terminals.