In the beginning of this book, we framed security as the problem of keeping the system in a safe state despite adversarial actions and plain old failures. Throughout the text, we have presented various tools and techniques that, one hopes, increase the chances that the systems we build and deploy possess this property.
However, it's hard to be sure, and history has given us numerous examples of the system providing a few more services and interfaces, and ways for adversaries and failures to modify system state, than the designers perhaps anticipated. For example, the
fingerd  architects probably did not intend to offer a service that allowed anyone on the net to inject code and execute it at
fingerd's privilege ...