
| “信息系统的安全性并未随受攻击的数目和程度的增长同步得到改善。为了改变这一现状,必须改进用于创建系统的策略和技术。具体来说,必须从一开始就将安全性构建于系统之内而不是将其作为补救措施附加进来,这正是本书的要旨。这本书向软件开发者详尽展示了如何构建高质量的系统,它们具有更少的漏洞,不易遭受代价高昂或后果严重的攻击。任何开发者在进行重大的项目开发之前都应该阅读本书。” ——frank abagnale,作家、讲师、欺诈预防和安全文献领域资深顾问 |
| Robert C.Seaco rd是宾夕法尼亚州匹兹堡市SEI(SoftwareEngineering Institute,软件工程研究院)的CERT/CC(CERT/Coordination Center,CERT协调中心)高级漏洞分析师。CERT/CC定期对软件漏洞报告进行分析,并且评估互联网及其他关键的基础设施可能遭受的风险,此外还从事其他一些与安全有关的研究活动。作为一名涉猎广泛的技术专家,Robert还是《Building Sy stems from Commercial Components》(Addison—Wesley,2002)和《Modernizing Legacy Systems》(Addison—Wesley,2003)的合著者,并发表T40多篇论文,领域涉及软件安全、基于组件的软件工程、基于Web的系统设计、遗留系统的现代化改造、组件仓库与搜索引擎以及用户界面设计与开发等。Robert于1982年起在IBM开始职业编程生涯,从事通信和操作系统软件研发、处理器开发以及软件工程。Robert还为x协会(X Consortium)工作,为CDE(Common DesktopEnvironment,公共桌面环境)和x Window系统开发和维护代码。他还积极参与JTCl/SC22/WGl4的C语言国际标准化工作组工作。 |
| 译者序 序言 前言 作译者简介 第1章 夹缝求生 1.1 衡量危险 1.1.1 损失的现状 1.1.2 威胁的来源 1.1.3 软件安全 1.2 安全概念 1.2.1 安全策略 1.2.2 安全缺陷 1.2.3 漏洞 1.2.4 利用 1.2.5 缓解措施 1.3 c和c++ 1.3.1 c和c++简史 1.3.2 c存在的问题 1.3.3 遗留代码 1.3.4 其他语言 1.4 开发平台 1.4.1 操作系统 1.4.2 编译器 1.5 本章小结 1.6 阅读材料 第2章 字符串 2.1 字符串特征 2.2 常见的字符串操作错误 2.2.1 无界字符串复制 2.2.2 差一错误 2.2.3 空结尾错误 2.2.4 字符串截断 2.2.5 与函数无关的字符串错误 2.3 字符串漏洞 2.3.1 安全缺陷 2.3.2 缓冲区溢出 2.4 进程内存组织 2.5 栈粉碎 2.6 代码注入 2.7 弧注入 2.8 缓解策略 2.8.1 预防 2.8.2 字符串流 2.8.3 检测和恢复 2.9 著名的漏洞 2.9.1 远程登录 2.9.2 kerberos 2.9.3 metamail 2.10 本章小结 2.11 阅读材料 第3章 指针诡计 3.1 数据位置 3.2 函数指针 3.3 数据指针 3.4 修改指令指针 3.5 全局偏移表 3.6 dtors区 3.7 虚指针 3.8 atexit()和on exit()函数 3.9 longjmp()函数 3.10 异常处理 3.10.1 结构化异常处理 3.10.2 系统默认异常处理 3.11 缓解策略 …… 第4章 动态内存管理 第5章 整数安全 第6章 格式化输出 第7章 文件i/o 第8章 推荐的实践 参考文献 缩略语 |
商品评论(0条)