Learn the Root Causes of Software Vulnerabilities and How to Avoid Them Commonly exploited software vulnerabilities are usually caused by avoidable software defects. Having analyzed tens of thousands of vulnerability reports since 1988, CERT has determined that a relatively small number of root causes account for most of the vulnerabilities. " " "Secure Coding in C and C++, Second Edition, "identifies and explains these root causes and shows the steps that can be taken to prevent exploitation. Moreover, this book encourages programmers to adopt security best practices and to develop a security mindset that can help protect software from tomorrow's attacks, not just today's. Drawing on the CERT's reports and conclusions, Robert C. Seacord systematically identifies the program errors most likely to lead to security breaches, shows how they can be exploited, reviews the potential consequences, and presents secure alternatives. Coverage includes technical detail on how to Improve the overall security of any C or C++ applicationThwart buffer overflows, stack-smashing, and return-oriented programming attacks that exploit insecure string manipulation logicAvoid vulnerabilities and security flaws resulting from the incorrect use of dynamic memory management functionsEliminate integer-related problems resulting from signed integer overflows, unsigned integer wrapping, and truncation errorsPerform secure I/O, avoiding file system vulnerabilitiesCorrectly use formatted output functions without introducing format-string vulnerabilitiesAvoid race conditions and other exploitable vulnerabilities while developing concurrent code The second edition features Updates for C11 and C++11 Significant revisions to chapters on strings, dynamic memory management, and integer securityA new chapter on concurrencyAccess to the online secure coding course offered through Carnegie Mellon's Open Learning Initiative (OLI) " " "Secure Coding in C and C++, Second Edition, "presents hundreds of examples of secure code, insecure code, and exploits, implemented for Windows and Linux. If you're responsible for creating secure C or C++ software-or for keeping it safe-no other book offers you this much detailed, expert assistance.
Robert C. Seacord is an American computer security specialist and writer. He is the author of books on computer security, legacy system modernization, and component-based software engineering.
I'm just over 10% in as of this writing, and I finally started getting to the part where it talks about secure coding techniques. Consequently, I'm not far enough into the book to comment on whether the actual core purpose of the book is well-presented and full of good advice. I can say that it's a little frustrating that the foregoing parts of the book have been the usual "this is why secure coding is important" and "these are examples of things that have blown up in the faces of the whole world" fluff expanded to take up ten percent of the book. I'm also slightly concerned that this author referred to Secure Coding: Principles and Practices in positive terms as if it is the best resource for secure software development process, given all the obsolete, broken, and generally ill-advised content in that book (see my review of Secure Coding: Principles And Practices for some details).
If the rest of the book presents good, practical advice for specific secure coding techniques, and stays away from bad advice about process-oriented ideas, it can still be worth four stars, though. I have high hopes, given the book's reputation and its author's pedigree. I'll try to remember to update this review later.
Very good book to read about C and C++ programming. Explanation is detailed and covers many useful topics. Also good refresher’s book for someone with interest in C and/or C++ programming.