
"Adam Shostack is responsible for security development lifecycle threat modeling at Microsoft and is one of a handful of threat modeling experts in the world. Now, he is sharing his considerable expertise into this unique book. With pages of specific actionable advice, he details how to build better security into the design of systems, software, or services from the outset. You'll explore various threat modeling approaches, find out how to test your designs against threats, and learn effective ways to address threats that have been validated at Microsoft and other top companies."
Hacking Exposed 7 by Stuart McClure
Countdown to Zero Day by Kim Zetter
Ghost in the Wires by Kevin Mitnick
Spam Nation by Brian Krebs
Practical Malware Analysis by Michael Sikorski
Threat Modeling by Adam Shostack
Social Engineering by Christopher Hadnagy
The Hacker Playbook 3 by Peter Kim
The Practice of Network Security Monitoring by Richard Bejtlich
Dark Territory by Fred Kaplan
The Code Book by Simon Singh
Hacked Again by Scott N. Schober
The Hacker Playbook by Peter Kim
The Art of Invisibility by Kevin Mitnick
The Art of Deception by Kevin Mitnick
See the full list at https://www.readthistwice.com/lists/best-cybersecurity-books
Microsoft developed quite a few of these ideas internally with the TwC (Trustworthy Computing) initiative in the early 2000s, and built a protocol - and development workflow - around threat modeling and security awareness. Most of their internal security-oriented protocol is listed for free:
https://www.microsoft.com/en-us/sdl/
As are some of their tools. For individual developers wanting to have a better sense of what threats their applications may face during the design stage, there’s a good Wiley book on threat modeling:
https://www.amazon.com/Threat-Modeling-Designing-Adam-Shosta...
If you’re really in a hurry, a lot of the typical OWASP vulnerabilities are mitigated by choosing higher—level, long-standing frameworks and abstractions (e.g. Rails, Symfony, ASP.NET MVC) that handle a lot of the things that can hurt you. From there, most of the low hanging fruit skids will find can be mitigated simply by following the security best practices documentation for your framework before you start writing code in it.
Anecdotally, auditing web applications for security issues is my day job. The majority of the time, ignorance is the real issue, not speed of development. They simply don’t have any idea what threats they are facing, or any real education in secure coding principles. Very rarely have I dropped vulnerabilities and had teams say “yeah, we know about that”. It’s way more “whoa, I didn’t even know you could do that”. Basic security education really matters.