Building secure software: how to avoid security problems the right way - Viega, John (Addison-Wesley Professional Computing Series, 2002)