作品简介

源代码缺陷是指在软件开发生命周期的编码阶段,产生的有意或者无意的缺陷。为了便于读者更好地了解各种缺陷的基本特性,本书根据缺陷产生的原因、造成的结果以及表现形式等因素,将60种重要且常见缺陷分为3大类:输入验证类、资源管理类和代码质量类。全书分为4章,第1章概述了源代码缺陷的基本概念、发现缺陷的方法、自动化缺陷检测技术、缺陷处置流程、缺陷种类划分、代码审计工具、代码安全保障技术趋势;第2章至第4章通过具体实例依次介绍了各类缺陷的原理、危害、在代码中的表现形式及修复建议。本书适合有一定计算机编码基础和网络安全基础的读者阅读,也适合作为网络安全爱好者的参考书。

奇安信代码安全实验室专注于软件源代码安全分析技术和二进制漏洞挖掘技术的研究与开发。基于多年的技术积累,奇安信代码安全实验室在国内率先推出了自主可控的软件代码安全分析系统——奇安信代码卫士和奇安信开源卫士。奇安信代码安全实验室支撑漏洞平台的技术工作,多次向国家信息安全漏洞库(CNNVD)和国家信息安全漏洞共享平台(CNVD)报送原创通用型漏洞信息,并获得表彰。同时,还为微软、谷歌、苹果、华为等大型厂商和机构的软件安全缺陷和漏洞发现提供服务与支撑,并以期为更多用户构建代码安全保障体系,消除软件代码安全隐患。

作品目录

  • 内容简介
  • 编委会
  • 前言
  • 第1章 概述
  • 1.1 缺陷的基本概念
  • 1.2 发现缺陷的方法
  • 1.3 自动化缺陷检测技术
  • 1.4 缺陷处置流程
  • 1.5 缺陷种类划分
  • 1.6 代码审计工具使用实例
  • 1.7 代码安全保障技术趋势前瞻
  • 第2章 输入验证类缺陷分析
  • 2.1 SQL注入
  • 2.2 XML外部实体注入
  • 2.3 命令注入
  • 2.4 XPath注入
  • 2.5 LDAP注入
  • 2.6 JSON注入
  • 2.7 XQuery注入
  • 2.8 HTTP响应截断
  • 2.9 不安全的反序列化(XStream)
  • 2.10 动态解析代码
  • 2.11 ContentProvider URI注入
  • 2.12 反射型XSS
  • 2.13 存储型XSS
  • 2.14 弱验证
  • 2.15 组件间通信XSS
  • 2.16 进程控制
  • 2.17 路径遍历
  • 2.18 重定向
  • 2.19 日志伪造
  • 第3章 资源管理类缺陷分析
  • 3.1 缓冲区上溢
  • 3.2 缓冲区下溢
  • 3.3 越界访问
  • 3.4 释放后使用
  • 3.5 二次释放
  • 3.6 内存泄漏
  • 3.7 文件资源未释放
  • 3.8 流资源未释放
  • 3.9 错误的资源关闭
  • 3.10 重复加锁
  • 3.11 错误的内存释放对象
  • 3.12 错误的内存释放方法
  • 3.13 返回栈地址
  • 3.14 被污染的内存分配
  • 3.15 数据库访问控制
  • 3.16 硬编码密码
  • 3.17 不安全的随机数
  • 3.18 不安全的哈希算法
  • 3.19 弱加密
  • 3.20 硬编码加密密钥
  • 第4章 代码质量类缺陷分析
  • 4.1 有符号整数溢出
  • 4.2 无符号整数回绕
  • 4.3 空指针解引用
  • 4.4 解引用未初始化的指针
  • 4.5 除数为零
  • 4.6 在scanf()函数中没有对%s格式符进行宽度限制
  • 4.7 被污染的格式化字符串
  • 4.8 不当的循环终止
  • 4.9 双重检查锁定
  • 4.10 未初始化值用于赋值操作
  • 4.11 参数未初始化
  • 4.12 返回值未初始化
  • 4.13 Cookie:未经过SSL加密
  • 4.14 邮件服务器建立未加密的连接
  • 4.15 不安全的SSL:过于广泛的信任证书
  • 4.16 Spring Boot配置错误:不安全的Actuator
  • 4.17 未使用的局部变量
  • 4.18 死代码
  • 4.19 函数调用时参数不匹配
  • 4.20 不当的函数地址使用
  • 4.21 忽略返回值
展开全部