Secure Coding in C and C++
(Sprache: Englisch)
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...
Leider schon ausverkauft
versandkostenfrei
Buch (Kartoniert)
58.84 €
Produktdetails
Produktinformationen zu „Secure Coding in C and C++ “
Klappentext zu „Secure Coding in C and C++ “
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.
Inhaltsverzeichnis zu „Secure Coding in C and C++ “
Foreword xvii Preface xxi
Acknowledgments xxv
About the Author xxvii
Chapter 1: Running with Scissors 1
1.1 Gauging the Threat 5
1.2 Security Concepts 12
1.3 C and C++ 17
1.4 Development Platforms 25
1.5 Summary 27
1.6 Further Reading 28
Chapter 2: Strings 29
2.1 Character Strings 29
2.2 Common String Manipulation Errors 42
2.3 String Vulnerabilities and Exploits 50
2.4 Mitigation Strategies for Strings 72
2.5 String-Handling Functions 84
2.6 Runtime Protection Strategies 101
2.7 Notable Vulnerabilities 117
2.8 Summary 118
2.9 Further Reading 120
Chapter 3: Pointer Subterfuge 121
3.1 Data Locations 122
3.2 Function Pointers 123
3.3 Object Pointers 124
3.4 Modifying the Instruction Pointer 125
3.5 Global Offset Table 127
3.6 The .dtorsSection 129
3.7 Virtual Pointers 131
3.8 The atexit()and on_exit()Functions 133
3.9 The longjmp()Function 134
3.10 Exception Handling 136
3.11 Mitigation Strategies 139
3.12 Summary 142
3.13 Further Reading 143
Chapter 4: Dynamic Memory Management 145
4.1 C Memory Management 146
4.2 Common C Memory Management Errors 151
4.3 C++ Dynamic Memory Management 162
4.4 Common C++ Memory Management Errors 172
4.5 Memory Managers 180
4.6 Doug Lea’s Memory Allocator 182
4.7 Double-Free Vulnerabilities 191
4.8 Mitigation Strategies 212
4.9 Notable Vulnerabilities 222
4.10 Summary 224
Chapter 5: Integer Security 225
5.1 Introduction to Integer Security 225
5.2 Integer Data Types 226
5.3 Integer Conversions 246
... mehr
5.4 Integer Operations 256
5.5 Integer Vulnerabilities 283
5.6 Mitigation Strategies 288
5.7 Summary 307
Chapter 6: Formatted Output 309
6.1 Variadic Functions 310
6.2 Formatted Output Functions 313
6.3 Exploiting Formatted Output Functions 319
6.4 Stack Randomization 332
6.5 Mitigation Strategies 337
6.6 Notable Vulnerabilities 348
6.7 Summary 349
6.8 Further Reading 351
Chapter 7: Concurrency 353
7.1 Multithreading 354
7.2 Parallelism 355
7.3 Performance Goals 359
7.4 Common Errors 362
7.5 Mitigation Strategies 368
7.6 Mitigation Pitfalls 384
7.7 Notable Vulnerabilities 399
7.8 Summary 401
Chapter 8: File I/O 403
8.1 File I/O Basics 403
8.2 File I/O Interfaces 407
8.3 Access Control 413
8.4 File Identification 432
8.5 Race Conditions 450
8.6 Mitigation Strategies 461
8.7 Summary 472
Chapter 9: Recommended Practices 473
9.1 The Security Development Lifecycle 474
9.2 Security Training 480
9.3 Requirements 481
9.4 Design 486
9.5 Implementation 503
9.6 Verification 512
9.7 Summary 518
9.8 Further Reading 518
References 519
Acronyms 539
Index 545
5.4 Integer Operations 256
5.5 Integer Vulnerabilities 283
5.6 Mitigation Strategies 288
5.7 Summary 307
Chapter 6: Formatted Output 309
6.1 Variadic Functions 310
6.2 Formatted Output Functions 313
6.3 Exploiting Formatted Output Functions 319
6.4 Stack Randomization 332
6.5 Mitigation Strategies 337
6.6 Notable Vulnerabilities 348
6.7 Summary 349
6.8 Further Reading 351
Chapter 7: Concurrency 353
7.1 Multithreading 354
7.2 Parallelism 355
7.3 Performance Goals 359
7.4 Common Errors 362
7.5 Mitigation Strategies 368
7.6 Mitigation Pitfalls 384
7.7 Notable Vulnerabilities 399
7.8 Summary 401
Chapter 8: File I/O 403
8.1 File I/O Basics 403
8.2 File I/O Interfaces 407
8.3 Access Control 413
8.4 File Identification 432
8.5 Race Conditions 450
8.6 Mitigation Strategies 461
8.7 Summary 472
Chapter 9: Recommended Practices 473
9.1 The Security Development Lifecycle 474
9.2 Security Training 480
9.3 Requirements 481
9.4 Design 486
9.5 Implementation 503
9.6 Verification 512
9.7 Summary 518
9.8 Further Reading 518
References 519
Acronyms 539
Index 545
... weniger
Autoren-Porträt von Robert C. Seacord
Robert 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 LiveLessons, Part I: Writing Robust, Secure, Reliable Code (Addison-Wesley, 2013).
Bibliographische Angaben
- Autor: Robert C. Seacord
- 2013, 2nd edition, 600 Seiten, mit Abbildungen, Maße: 17,7 x 23,3 cm, Kartoniert (TB), Englisch
- Verlag: Addison-Wesley
- ISBN-10: 0321822137
- ISBN-13: 9780321822130
- Erscheinungsdatum: 02.04.2013
Sprache:
Englisch
Kommentar zu "Secure Coding in C and C++"
0 Gebrauchte Artikel zu „Secure Coding in C and C++“
Zustand | Preis | Porto | Zahlung | Verkäufer | Rating |
---|
Schreiben Sie einen Kommentar zu "Secure Coding in C and C++".
Kommentar verfassen