Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright Page
Dedication Page
Contents
Foreword
About Secure Coding in C and C++
Preface
Audience
Organization and Content
Acknowledgments
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
2.7. Notable Vulnerabilities
2.8. Summary
2.9. Further Reading
Chapter 3. Pointer Subterfuge
3.1. Data Locations
3.2. Function Pointers
3.3. Object 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. Memory Managers
4.6. Doug Lea’s Memory Allocator
4.7. Double-Free Vulnerabilities
4.8. Mitigation Strategies
4.9. Notable Vulnerabilities
4.10. 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. Multithreading
7.2. Parallelism
7.3. Performance Goals
7.4. Common Errors
7.5. Mitigation Strategies
7.6. Mitigation Pitfalls
7.7. Notable Vulnerabilities
7.8. Summary
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
← Prev
Back
Next →
← Prev
Back
Next →