Secure Coding in C and C++

Bok av Robert C. Seacord
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 tomorrows attacks, not just todays. Drawing on the CERTs 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 Mellons 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 youre responsible for creating secure C or C++ softwareor for keeping it safeno other book offers you this much detailed, expert assistance.  
Detta är ett mästerverk och ett måste för alla som programmerar i (framförallt) C för att skriva säker kod. Olika feltyper gås igenom på djupet, både hur man ska tänka kring och förhålla sig till potentiella fel, men även konkreta råd om hur kod ska skrivas och organiseras för att undvika felen. De klassiska problemen som heap och stack overflows hanteras, men även hur race conditions kan undvikas och hur IO kan genomföras utan time-of-check-time-of-use risker.

Boken visar sin ålder lite när den nämner operativsystem eller kompilatorer, men det är inget som påverkar vare sig innehåll eller relevans.

Robert Seacord är utöver en expert på C en mycket kompetent författare. Denna boken är långt ifrån lättläst prosa, men den känns sällan tung eller svårläst.