Special Offers see all
More at Powell'sRecently Viewed clear list |
$51.75
New Trade Paper
Ships in 1 to 3 days
available for shipping or prepaid pickup only
More copies of this ISBNThis title in other editionsOther titles in the SEI Series in Software Engineering series:
Secure Coding in C and C++ (SEI Series in Software Engineering)by Robert Seacord
Synopses & ReviewsPublisher Comments: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
The second edition features
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. Synopsis:Write secure C and C++ code — and avoid the software defects most likely to cause exploitable vulnerabilities! Straight from the world-renowned security experts at CERT/CC, this book identifies the root causes of today's most widespread software vulnerabilities, shows how they can be exploited, reviews the potential consequences, and presents secure alternatives. Fully updated for the new C++11 standard, Secure Coding in C and C++, Second Edition presents extensive new coverage of strings, dynamic memory management, integer security, and many other topics — including an entirely new chapter on writing secure concurrent code. It contains hundreds of Windows- and Linux-based examples of secure code, insecure code, and exploits; comprehensive practical guidance for adopting modern security best practices; and important new insights for developing a security mindset that can help you protect software against tomorrow's attacks, not just today's. This edition also provides unique access to CERT's pioneering Online Learning Initiative (OLI) course on secure coding, originally funded by Cisco, Siemens, and other industry leaders to provide internal training to their own mission-critical developers. For every C/C++ developer who wants to write more secure code. About the AuthorRobert C. Seacord is currently the Secure Coding Technical Manager in the CERT Program of Carnegie Mellon’s Software Engineering Institute (SEI). He is the author or coauthor of five books, including The CERT® C Secure Coding Standard (Addison-Wesley, 2009), and is the author and instructor of a video training series, Professional C Programming Live Lessons, Part I: Writing Robust, Secure, Reliable Code (Addison-Wesley, 2013).
Table of Contents Foreword
Preface About the Author
Chapter 1: Running with Scissors 1.1 Gauging the Threat 1.2 Security Concepts 1.3 C and C++ 1.4 Development Platforms 1.5 Summary 1.6 Further Reading
Chapter 2: Strings 2.1 Character Strings 2.2 Common String Manipulation Errors 2.3 String Vulnerabilities and Exploits 2.4 Mitigation Strategies for Strings 2.5 String-Handling Functions 2.6 Runtime Protection Strategies
Chapter 3: Pointer Subterfuge 3.1 Data Locations 3.2 Function Pointers 3.3 Data Pointers 3.4 Modifying the Instruction Pointer 3.5 Global Offset Table 3.6 The .dtors Section 3.7 Virtual Pointers 3.8 The atexit() and on_exit() Functions 3.9 The longjmp() Function 3.10 Exception Handling 3.11 Mitigation Strategies 3.12 Summary 3.13 Further Reading
Chapter 4: Dynamic Memory Management 4.1 C Memory Management 4.2 Common C Memory Management Errors 4.3 C++ Dynamic Memory Management 4.4 Common C++ Memory Management Errors 4.5 Improperly Paired Memory Management Functions 4.6 Memory Managers 4.7 Doug Lea’s Memory Allocator 4.8 Double-Free Vulnerabilities 4.9 Mitigation Strategies 4.10 Notable Vulnerabilities 4.11 Summary
Chapter 5: Integer Security 5.1 Introduction to Integer Security 5.2 Integer Data Types 5.3 Integer Conversions 5.4 Integer Operations 5.5 Integer Vulnerabilities 5.6 Mitigation Strategies 5.7 Summary
Chapter 6: Formatted Output 6.1 Variadic Functions 6.2 Formatted Output Functions 6.3 Exploiting Formatted Output Functions 6.4 Stack Randomization 6.5 Mitigation Strategies 6.6 Notable Vulnerabilities 6.7 Summary 6.8 Further Reading
Chapter 7: Concurrency 7.1 Introduction 7.2 Performance Goals 7.3 Concurrency Pitfalls 7.4 Concurrency Mitigations 7.5 Concurrency in C and C++ 7.6 Concurrency Vulnerabilities
Chapter 8: File I/O 8.1 File I/O Basics 8.2 File I/O Interfaces 8.3 Access Control 8.4 File Identification 8.5 Race Conditions 8.6 Mitigation Strategies 8.7 Summary
Chapter 9: Recommended Practices 9.1 The Security Development Lifecycle 9.2 Security Training 9.3 Requirements 9.4 Design 9.5 Implementation 9.6 Verification 9.7 Summary 9.8 Further Reading
References Acronyms Index
What Our Readers Are SayingBe the first to add a comment for a chance to win!Product Details
Related Subjects
Computers and Internet » Computer Languages » C
|
|||||||||
|
|
||||||||||
|
|
||||||||||