Building Secure Software by Gary McGraw & John Viega