本书是关于C和C++**编码的著作。本书介绍了C和C++程序中已经导致危险的、破坏性的基本编程错误,包括在字符串、指针、动态内存管理、整数、格式化输出、文件I/O等中的漏洞或缺陷。本书还提供了对这些编程错误的深入剖析,并给出缓解策略,以减少或消除恶意利用漏洞的风险。
本书适合C/C++程序员、软件**工程师参考。
洞悉软件漏洞的成因,熟知规避之道
通常而言,可利用的软件漏洞都由本可避免的软件缺陷所导致。在分析了过去10年中近18000份漏洞报告后,CERT/CC发现少量的根本原因导致了这些漏洞的产生。本书识别并解释了这些原因,而且展示了预防利用漏洞的步骤。此外,本书还鼓励程序员采用*佳**实践,并培养**的开发理念,这不但有助于保护软件免遭当前的攻击,更可使它们免遭将来可能发生的攻击。
基于CERT/CC的报告和总结,Robert Seacord系统地揭示了*可能导致**缺陷的编程错误,展示了这些缺陷的利用方式,介绍了可能导致的后果,并提供了**的替代做法。
本书特别讨论了如下技术细节:
改善任何C/C++应用程序的整体**性。
抵御利用不**的字符串操作逻辑的缓冲区溢出