Skip to Content
Secure Coding in C and C++, Second Edition
book

Secure Coding in C and C++, Second Edition

by Robert C. Seacord
April 2013
Intermediate to advanced
600 pages
17h 8m
English
Addison-Wesley Professional

Overview

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++ application

  • Thwart buffer overflows, stack-smashing, and return-oriented programming attacks that exploit insecure string manipulation logic

  • Avoid vulnerabilities and security flaws resulting from the incorrect use of dynamic memory management functions

  • Eliminate integer-related problems resulting from signed integer overflows, unsigned integer wrapping, and truncation errors

  • Perform secure I/O, avoiding file system vulnerabilities

  • Correctly use formatted output functions without introducing format-string vulnerabilities

  • Avoid 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 security

  • A new chapter on concurrency

  • Access 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.

    Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
    and much more.

    Read now

    Unlock full access

    More than 5,000 organizations count on O’Reilly

    AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

    QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
    Julian F.
    Head of Cybersecurity
    QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
    Addison B.
    Field Engineer
    QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
    Amir M.
    Data Platform Tech Lead
    QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
    Mark W.
    Embedded Software Engineer

    You might also like

    Advanced C and C++ Compiling

    Advanced C and C++ Compiling

    Milan Stevanovic
    C Programming Language, 2nd Edition

    C Programming Language, 2nd Edition

    Brian W. Kernighan, Dennis Ritchie

    Publisher Resources

    ISBN: 9780132981989Purchase book