Low-level software security: Attacks and defenses
security engineering - a guide to building dependable distributed systems .