OWASP 安 全 编 码 规 范 快 速 参 考 指 南 版 权 与 许 可 版 权 所 有 :2010 年 OWASP 基 金 会 本 文 档 基 于 Creative Commons Attribution ShareAlike3.0 license 发 布 任 何 重 用 或 发 行, 都 必 须 向 他 人 明 确 该 文 档 的 许 可 条 款 http://creativecommons.org/licenses/by-sa/3.0/ 中 文 版 本 团 队 成 员 王 颉 何 勇 亮 林 恒 辉 ( 欢 迎 大 家 指 正 翻 译 错 误 我 们 将 在 以 后 的 版 本 中 修 正 指 出 的 错 误 ) 中 文 版 Version 1.0 1
目 录 序 言... 3 软 件 安 全 与 风 险 原 则 概 览... 4 输 入 验 证 :... 5 输 出 编 码 :... 5 身 份 验 证 和 密 码 管 理 :... 6 会 话 管 理 :... 7 访 问 控 制 :... 7 加 密 规 范 :... 8 错 误 处 理 和 日 志 :... 8 数 据 保 护 :... 9 通 讯 安 全 :... 10 系 统 配 置 :... 10 数 据 库 安 全 :... 10 文 件 管 理 :... 11 内 存 管 理 :... 11 通 用 编 码 规 范 :... 12 附 录 A:... 13 外 部 的 参 考 资 料 :... 13 附 录 B: 术 语 表... 14 中 文 版 Version 1.0 2
序 言 本 项 与 技 术 无 关 的 文 档 以 清 单 列 表 的 形 式, 定 义 了 一 套 可 以 集 成 到 软 件 开 发 生 命 周 期 中 的 通 用 软 件 安 全 编 码 规 范 采 用 这 些 规 范 将 减 少 最 为 常 见 的 软 件 漏 洞 一 般 来 说, 开 发 安 全 的 软 件 要 比 在 软 件 包 完 成 以 后 再 纠 正 安 全 问 题 的 成 本 低 很 多, 且 还 没 涉 及 到 因 为 安 全 问 题 而 造 成 的 损 失 保 护 关 键 软 件 资 源 的 安 全 性, 比 以 往 任 何 时 候 都 更 为 重 要, 因 为 攻 击 者 的 重 点 已 逐 步 转 向 了 1 应 用 层 2009 年 SANS 的 一 项 研 究 表 明, 针 对 Web 应 用 程 序 的 攻 击 已 占 据 了 在 互 联 网 上 观 察 到 攻 击 总 数 的 60% 以 上 在 使 用 本 指 南 时, 开 发 团 队 应 该 从 评 估 他 们 的 安 全 软 件 开 发 生 命 周 期 成 熟 度 和 开 发 人 员 知 识 水 平 着 手 由 于 本 指 南 不 涉 及 如 何 实 现 每 个 编 码 规 范 的 具 体 细 节, 因 此, 开 发 人 员 需 要 了 解 相 关 知 识, 或 者 有 足 够 可 用 资 源 来 提 供 必 要 的 指 导 通 过 本 指 南, 开 发 人 员 可 在 无 需 深 入 了 解 安 全 漏 洞 和 攻 击 的 情 况 下, 将 编 码 规 范 转 换 成 编 码 要 求 当 然, 开 发 团 队 的 其 他 成 员 应 该 有 责 任, 通 过 提 供 适 当 的 培 训 工 具 和 资 源, 以 验 证 整 个 系 统 的 设 计 和 开 发 是 安 全 的 本 文 档 中 使 用 的 重 要 术 语, 包 括 部 分 标 题 和 文 字, 都 以 斜 体 字 标 注, 并 列 举 在 附 录 B 的 术 语 列 表 中 关 于 安 全 软 件 开 发 框 架 的 指 南 不 属 于 本 文 讨 论 的 范 围 但 是, 我 们 推 荐 以 下 额 外 的 常 用 规 范 和 资 源 : 明 确 定 义 角 色 和 职 责 为 开 发 团 队 提 供 足 够 的 软 件 安 全 培 训 采 用 一 个 安 全 软 件 开 发 生 命 周 期 o OWASP CLASP 项 目 建 立 安 全 编 码 标 准 o OWASP 开 发 指 南 项 目 建 立 一 个 可 重 用 的 对 象 库 文 件 o OWASP Enterprise Security API (ESAPI) 项 目 验 证 安 全 控 制 的 有 效 性 o OWASP Application Security Verification Standard (ASVS) 项 目 建 立 外 包 开 发 安 全 规 范, 包 括 在 建 议 书 (RFP) 和 合 同 中 定 义 安 全 需 求 和 验 证 方 法 o OWASP Legal 项 目 中 文 版 Version 1.0 3
软 件 安 全 与 风 险 原 则 概 览 开 发 安 全 的 软 件 需 要 对 安 全 原 则 有 基 本 的 了 解 虽 然 对 于 安 全 原 则 的 全 面 评 估 超 出 了 本 指 南 的 范 围, 但 是 我 们 还 是 提 供 了 一 个 快 速 的 概 览 软 件 安 全 的 目 标 是 要 维 护 信 息 资 源 的 保 密 性, 完 整 性, 和 可 用 性, 以 确 保 业 务 的 成 功 运 作 该 目 标 通 过 实 施 安 全 控 制 来 实 现 本 指 南 重 点 介 绍 具 体 的 技 术 控 制, 以 缓 解 常 见 软 件 漏 洞 的 发 生 虽 然 主 要 的 关 注 点 是 Web 应 用 程 序 及 其 配 套 的 基 础 设 施, 但 是 本 指 南 的 大 部 分 内 容 可 应 用 于 任 意 软 件 部 署 平 台 为 了 保 护 业 务 免 受 来 自 与 软 件 相 关 的 不 能 接 受 的 风 险, 了 解 风 险 的 意 义 是 很 有 帮 助 的 风 险 是 一 组 威 胁 业 务 成 功 因 素 的 集 合 它 可 以 被 定 义 为 : 一 个 威 胁 代 理 与 一 个 可 能 含 有 漏 洞 的 系 统 交 互, 该 漏 洞 可 被 利 用 并 造 成 影 响 虽 然 这 可 能 看 起 来 象 是 一 个 抽 象 的 概 念, 但 可 以 这 样 想 象 它 : 一 个 汽 车 盗 窃 犯 ( 威 胁 代 理 ) 来 到 一 个 停 车 场 ( 系 统 ) 寻 找 没 有 锁 车 门 ( 漏 洞 ) 的 车, 当 找 到 一 个 时, 他 们 打 开 门 ( 利 用 ) 并 拿 走 里 面 任 何 的 东 西 ( 影 响 ) 所 有 这 些 因 素 在 安 全 软 件 开 发 时 都 扮 演 了 一 个 角 色 开 发 团 队 采 用 的 方 法 和 攻 击 者 攻 击 应 用 程 序 所 采 用 的 方 法 之 间 有 一 个 根 本 区 别 开 发 团 队 通 常 采 用 的 方 法 是 基 于 应 用 程 序 的 目 的 行 为 换 句 话 说, 开 发 团 队 根 据 功 能 需 求 文 档 和 用 例 设 计 一 个 应 用 程 序 以 执 行 特 定 的 任 务 而 另 一 方 面, 攻 击 者, 基 于 没 有 具 体 说 明 应 拒 绝 的 行 为, 则 被 认 为 是 可 行 的 原 则, 对 于 应 用 程 序 可 以 做 什 么 更 感 兴 趣 为 了 解 决 这 个 问 题, 一 些 额 外 的 元 素 需 要 被 集 成 到 软 件 生 命 周 期 的 早 期 阶 段 这 些 新 元 素 是 安 全 需 求 和 滥 用 实 例 本 指 南 旨 在 帮 助 明 确 高 等 级 的 安 全 需 求, 并 解 决 许 多 常 见 的 滥 用 情 况 Web 开 发 团 队 应 当 明 白, 基 于 客 户 端 的 输 入 验 证 隐 藏 字 段 和 界 面 控 件 ( 例 如, 下 拉 键 和 单 选 按 钮 ) 的 客 户 端 控 制, 所 带 来 的 安 全 性 收 益 是 有 限 的, 这 一 点 非 常 重 要 攻 击 者 可 以 使 用 工 具, 比 如 : 客 户 端 的 Web 代 理 ( 例 如,OWASP WebScarab,Burp) 或 网 络 数 据 包 捕 获 工 具 ( 例 如, Wireshark), 进 行 应 用 程 序 流 量 分 析, 提 交 定 制 的 请 求, 并 绕 过 所 有 的 接 口 另 外,Flash,Java Applet 和 其 它 客 户 端 对 象 可 以 被 反 编 译 并 进 行 漏 洞 分 析 软 件 的 安 全 漏 洞 可 以 在 软 件 开 发 生 命 周 期 的 任 何 阶 段 被 引 入, 包 括 : 最 初 没 有 明 确 的 安 全 需 求 ; 创 建 有 逻 辑 错 误 的 概 念 设 计 ; 使 用 糟 糕 的 编 码 规 范, 从 而 带 来 了 技 术 漏 洞 ; 软 件 部 署 不 当 ; 在 维 护 或 者 更 新 过 程 中 引 入 缺 陷 此 外, 还 有 重 要 的 一 点 需 要 明 白, 软 件 漏 洞 可 以 超 出 软 件 本 身 的 范 围 根 据 不 同 的 软 件 漏 洞 和 配 套 基 础 设 施 的 性 质, 一 次 成 功 的 攻 击 会 影 响 下 面 任 何 或 者 所 有 的 方 面 : 软 件 和 其 相 关 的 信 息 ; 相 关 服 务 器 的 操 作 系 统 ; 后 端 数 据 库 ; 在 共 享 环 境 中 的 其 它 应 用 程 序 ; 用 户 的 系 统 ; 与 用 户 交 互 的 其 它 软 件 中 文 版 Version 1.0 4
安 全 编 码 规 范 检 查 列 表 输 入 验 证 : 在 可 信 系 统 ( 比 如 : 服 务 器 ) 上 执 行 所 有 的 数 据 验 证 识 别 所 有 的 数 据 源, 并 将 其 分 为 可 信 的 和 不 可 信 的 验 证 所 有 来 自 不 可 信 数 据 源 ( 比 如 : 数 据 库, 文 件 流, 等 ) 的 数 据 应 当 为 应 用 程 序 应 提 供 一 个 集 中 的 输 入 验 证 规 则 为 所 有 输 入 明 确 恰 当 的 字 符 集, 比 如 :UTF-8 在 输 入 验 证 前, 将 数 据 按 照 常 用 字 符 进 行 编 码 ( 规 范 化 ) 丢 弃 任 何 没 有 通 过 输 入 验 证 的 数 据 确 定 系 统 是 否 支 持 UTF-8 扩 展 字 符 集, 如 果 支 持, 在 UTF-8 解 码 完 成 以 后 进 行 输 入 验 证 在 处 理 以 前, 验 证 所 有 来 自 客 户 端 的 数 据, 包 括 : 所 有 参 数 URL HTTP 头 信 息 ( 比 如 : cookie 名 字 和 数 据 值 ) 确 定 包 括 了 来 自 JavaScript Flash 或 其 他 嵌 入 代 码 的 post back 信 息 验 证 在 请 求 和 响 应 的 报 头 信 息 中 只 含 有 ASCII 字 符 核 实 来 自 重 定 向 输 入 的 数 据 ( 一 个 攻 击 者 可 能 向 重 定 向 的 目 标 直 接 提 交 恶 意 代 码, 从 而 避 开 应 用 程 序 逻 辑 以 及 在 重 定 向 前 执 行 的 任 何 验 证 ) 验 证 正 确 的 数 据 类 型 验 证 数 据 范 围 验 证 数 据 长 度 尽 可 能 采 用 白 名 单 形 式, 验 证 所 有 的 输 入 如 果 任 何 潜 在 的 危 险 字 符 必 须 被 作 为 输 入, 请 确 保 您 执 行 了 额 外 的 控 制, 比 如 : 输 出 编 码 特 定 的 安 全 API 以 及 在 应 用 程 序 中 使 用 的 原 因 部 分 常 见 的 危 险 字 符 包 括 : < > " ' % ( ) & + \ \' \" 如 果 您 使 用 的 标 准 验 证 规 则 无 法 验 证 下 面 的 输 入, 那 么 它 们 需 要 被 单 独 验 证 : o 验 证 空 字 节 (%00); o 验 证 换 行 符 (%0d, %0a, \r, \n); o 验 证 路 径 替 代 字 符 点 - 点 - 斜 杠 (../ 或..\) 如 果 支 持 UTF-8 扩 展 字 符 集 编 码, 验 证 替 代 字 符 : %c0%ae%c0%ae/ ( 使 用 规 范 化 验 证 双 编 码 或 其 他 类 型 的 编 码 攻 击 ) 输 出 编 码 : 在 可 信 系 统 ( 比 如 : 服 务 器 ) 上 执 行 所 有 的 编 码 为 每 一 种 输 出 编 码 方 法 采 用 一 个 标 准 的 已 通 过 测 试 的 规 则 通 过 语 义 输 出 编 码 方 式, 对 所 有 返 回 到 客 户 端 的 来 自 于 应 用 程 序 信 任 边 界 之 外 的 数 据 进 行 编 码 HTML 实 体 编 码 是 一 个 例 子, 但 不 是 在 所 有 的 情 况 下 都 可 用 除 非 对 目 标 编 译 器 是 安 全 的, 否 则 请 对 所 有 字 符 进 行 编 码 针 对 SQL XML 和 LDAP 查 询, 语 义 净 化 所 有 不 可 信 数 据 的 输 出 对 于 操 作 系 统 命 令, 净 化 所 有 不 可 信 数 据 输 出 中 文 版 Version 1.0 5
身 份 验 证 和 密 码 管 理 : 除 了 那 些 特 定 设 为 公 开 的 内 容 以 外, 对 所 有 的 网 页 和 资 源 要 求 身 份 验 证 所 有 的 身 份 验 证 过 程 必 须 在 可 信 系 统 ( 比 如 : 服 务 器 ) 上 执 行 在 任 何 可 能 的 情 况 下, 建 立 并 使 用 标 准 的 已 通 过 测 试 的 身 份 验 证 服 务 为 所 有 身 份 验 证 控 制 使 用 一 个 集 中 实 现 的 方 法, 其 中 包 括 利 用 库 文 件 请 求 外 部 身 份 验 证 服 务 将 身 份 验 证 逻 辑 从 被 请 求 的 资 源 中 隔 离 开, 并 使 用 重 定 向 到 或 来 自 集 中 的 身 份 验 证 控 制 所 有 的 身 份 验 证 控 制 应 当 安 全 的 处 理 未 成 功 的 身 份 验 证 所 有 的 管 理 和 账 户 管 理 功 能 至 少 应 当 具 有 和 主 要 身 份 验 证 机 制 一 样 的 安 全 性 如 果 您 的 应 用 程 序 管 理 着 凭 证 的 存 储, 那 么 应 当 保 证 只 保 存 了 通 过 使 用 强 加 密 单 向 salted 哈 希 算 法 得 到 的 密 码, 并 且 只 有 应 用 程 序 具 有 对 保 存 密 码 和 密 钥 的 表 / 文 件 的 写 权 限 ( 如 果 可 以 避 免 的 话, 不 要 使 用 MD5 算 法 ) 密 码 哈 希 必 须 在 可 信 系 统 ( 比 如 : 服 务 器 ) 上 执 行 只 有 当 所 有 的 数 据 输 入 以 后, 才 进 行 身 份 验 证 数 据 的 验 证, 特 别 是 对 连 续 身 份 验 证 机 制 身 份 验 证 的 失 败 提 示 信 息 应 当 避 免 过 于 明 确 比 如 : 可 以 使 用 用 户 名 和 / 或 密 码 错 误, 而 不 要 使 用 用 户 名 错 误 或 者 密 码 错 误 错 误 提 示 信 息 在 显 示 和 源 代 码 中 应 保 持 一 致 为 涉 及 敏 感 信 息 或 功 能 的 外 部 系 统 连 接 使 用 身 份 验 证 用 于 访 问 应 用 程 序 以 外 服 务 的 身 份 验 证 凭 据 信 息 应 当 加 密, 并 存 储 在 一 个 可 信 系 统 ( 比 如 : 服 务 器 ) 中 受 到 保 护 的 地 方 源 代 码 不 是 一 个 安 全 的 地 方 只 使 用 HTTP Post 请 求 传 输 身 份 验 证 的 凭 据 信 息 非 临 时 密 码 只 在 加 密 连 接 中 发 送 或 作 为 加 密 的 数 据 ( 比 如, 一 封 加 密 的 邮 件 ) 通 过 邮 件 重 设 临 时 密 码 可 以 是 一 个 例 外 通 过 政 策 或 规 则 加 强 密 码 复 杂 度 的 要 求 ( 比 如 : 要 求 使 用 字 母 数 字 和 / 或 特 殊 符 号 ) 身 份 验 证 的 凭 据 信 息 应 当 足 够 复 杂 以 对 抗 在 其 所 部 署 环 境 中 的 各 种 威 胁 攻 击 通 过 政 策 和 规 则 加 强 密 码 长 度 要 求 常 用 的 是 8 个 字 符 长 度, 但 是 16 个 字 符 长 度 更 好, 或 者 考 虑 使 用 多 单 词 密 码 短 语 输 入 的 密 码 应 当 在 用 户 的 屏 幕 上 模 糊 显 示 ( 比 如 : 在 Web 表 单 中 使 用 password 输 入 类 型 ) 当 连 续 多 次 登 录 失 败 后 ( 比 如 : 通 常 情 况 下 是 5 次 ), 应 强 制 锁 定 账 户 账 户 锁 定 的 时 间 必 须 足 够 长, 以 阻 止 暴 力 攻 击 猜 测 登 录 信 息, 但 是 不 能 长 到 允 许 执 行 一 次 拒 绝 服 务 攻 击 密 码 重 设 和 更 改 操 作 需 要 类 似 于 账 户 创 建 和 身 份 验 证 的 同 样 控 制 等 级 密 码 重 设 问 题 应 当 支 持 尽 可 能 随 机 的 提 问 ( 比 如 : 最 喜 爱 的 书 是 一 个 坏 的 问 题, 因 为 圣 经 是 最 常 见 的 答 案 ) 如 果 使 用 基 于 邮 件 的 重 设, 只 将 临 时 链 接 或 密 码 发 送 到 预 先 注 册 的 邮 件 地 址 临 时 密 码 和 链 接 应 当 有 一 个 短 暂 的 有 效 期 当 再 次 使 用 临 时 密 码 时, 强 制 修 改 临 时 密 码 当 密 码 重 新 设 置 时, 通 知 用 户 阻 止 密 码 重 复 使 用 密 码 在 被 更 改 前 应 当 至 少 使 用 了 一 天, 以 阻 止 密 码 重 用 攻 击 根 据 政 策 或 规 则 的 要 求, 强 制 定 期 更 改 密 码 关 键 系 统 可 能 会 要 求 更 频 繁 的 更 改 更 改 时 间 周 期 必 须 进 行 明 确 为 密 码 填 写 框 禁 用 记 住 密 码 功 能 中 文 版 Version 1.0 6
用 户 账 号 的 上 一 次 使 用 信 息 ( 成 功 或 失 败 ) 应 当 在 下 一 次 成 功 登 录 时 向 用 户 报 告 执 行 监 控 以 确 定 针 对 使 用 相 同 密 码 的 多 用 户 帐 户 攻 击 当 用 户 ID 可 以 被 得 到 或 被 猜 到 时, 该 攻 击 模 式 用 来 绕 开 标 准 的 锁 死 功 能 更 改 所 有 厂 商 提 供 的 默 认 用 户 ID 和 密 码, 或 者 禁 用 相 关 帐 号 在 执 行 关 键 操 作 以 前, 对 用 户 再 次 进 行 身 份 验 证 为 高 度 敏 感 或 重 要 的 交 易 账 户 使 用 多 因 子 身 份 验 证 机 制 如 果 使 用 了 第 三 方 身 份 验 证 的 代 码, 仔 细 检 查 代 码 以 保 证 其 不 会 受 到 任 何 恶 意 代 码 的 影 响 会 话 管 理 : 使 用 服 务 器 或 者 框 架 的 会 话 管 理 控 制 应 用 程 序 应 当 只 识 别 有 效 的 会 话 标 识 符 会 话 标 识 符 必 须 总 是 在 一 个 可 信 系 统 ( 比 如 : 服 务 器 ) 上 创 建 会 话 管 理 控 制 应 当 使 用 通 过 审 查 的 算 法 以 保 证 足 够 的 随 机 会 话 标 识 符 为 包 含 已 验 证 的 会 话 标 识 符 的 cookie 设 置 域 和 路 径, 以 为 站 点 设 置 一 个 恰 当 的 限 制 值 注 销 功 能 应 当 完 全 终 止 相 关 的 会 话 或 连 接 注 销 功 能 应 当 可 用 于 所 有 受 身 份 验 证 保 护 的 网 页 在 平 衡 的 风 险 和 业 务 功 能 需 求 的 基 础 上, 设 置 一 个 尽 量 短 的 会 话 超 时 时 间 通 常 情 况 下, 应 当 不 超 过 几 个 小 时 禁 止 连 续 的 登 录 并 强 制 执 行 周 期 性 的 会 话 终 止, 即 使 是 活 动 的 会 话 特 别 是 对 于 支 持 富 网 络 连 接 或 连 接 到 关 键 系 统 的 应 用 程 序 终 止 时 机 应 当 可 以 根 据 业 务 需 求 调 整, 并 且 用 户 应 当 收 到 足 够 的 通 知 已 减 少 带 来 的 负 面 影 响 如 果 一 个 会 话 在 登 录 以 前 就 建 立, 在 成 功 登 录 以 后, 关 闭 该 会 话 并 创 建 一 个 新 的 会 话 在 任 何 重 新 身 份 验 证 过 程 中 建 立 一 个 新 的 会 话 标 识 符 不 允 许 同 一 用 户 ID 的 并 发 登 录 不 要 在 URL 错 误 信 息 或 日 志 中 暴 露 会 话 标 识 符 会 话 标 识 符 应 当 只 出 现 在 HTTP cookie 头 信 息 中 比 如, 不 要 将 会 话 标 识 符 以 GET 参 数 进 行 传 递 通 过 在 服 务 器 上 使 用 恰 当 的 访 问 控 制, 保 护 服 务 器 端 会 话 数 据 免 受 来 自 服 务 器 其 他 用 户 的 未 授 权 访 问 生 成 一 个 新 的 会 话 标 识 符 并 周 期 性 地 使 旧 会 话 标 识 符 失 效 ( 这 可 以 缓 解 那 些 原 标 识 符 被 获 得 的 特 定 会 话 劫 持 情 况 ) 在 身 份 验 证 的 时 候, 如 果 连 接 从 HTTP 变 为 HTTPS, 则 生 成 一 个 新 的 会 话 标 识 符 在 应 用 程 序 中, 推 荐 持 续 使 用 HTTPS, 而 非 在 HTTP 和 HTTPS 之 间 转 换 为 服 务 器 端 的 操 作 执 行 标 准 的 会 话 管 理, 比 如, 通 过 在 每 个 会 话 中 使 用 强 随 机 令 牌 或 参 数 来 管 理 账 户 该 方 法 可 以 用 来 防 止 跨 站 点 请 求 伪 造 攻 击 通 过 在 每 个 请 求 或 每 个 会 话 中 使 用 强 随 机 令 牌 或 参 数, 为 高 度 敏 感 或 关 键 的 操 作 提 供 标 准 的 会 话 管 理 为 在 TLS 连 接 上 传 输 的 cookie 设 置 安 全 属 性 将 cookie 设 置 为 HttpOnly 属 性, 除 非 在 应 用 程 序 中 明 确 要 求 了 客 户 端 脚 本 程 序 读 取 或 者 设 置 cookie 的 值 访 问 控 制 : 只 使 用 可 信 系 统 对 象 ( 比 如 : 服 务 器 端 会 话 对 象 ) 以 做 出 访 问 授 权 的 决 定 使 用 一 个 单 独 的 全 站 点 部 件 以 检 查 访 问 授 权 这 包 括 调 用 外 部 授 权 服 务 的 库 文 件 安 全 的 处 理 访 问 控 制 失 败 的 操 作 中 文 版 Version 1.0 7
如 果 应 用 程 序 无 法 访 问 其 安 全 配 置 信 息, 则 拒 绝 所 有 的 访 问 在 每 个 请 求 中 加 强 授 权 控 制, 包 括 : 服 务 器 端 脚 本 产 生 的 请 求, includes 和 来 自 象 AJAX 和 FLASH 那 样 的 富 客 户 端 技 术 的 请 求 将 有 特 权 的 逻 辑 从 其 他 应 用 程 序 代 码 中 隔 离 开 限 制 只 有 授 权 的 用 户 才 能 访 问 文 件 或 其 他 资 源, 包 括 那 些 应 用 程 序 外 部 的 直 接 控 制 限 制 只 有 授 权 的 用 户 才 能 访 问 受 保 护 的 URL 限 制 只 有 授 权 的 用 户 才 能 访 问 受 保 护 的 功 能 限 制 只 有 授 权 的 用 户 才 能 访 问 直 接 对 象 引 用 限 制 只 有 授 权 的 用 户 才 能 访 问 服 务 限 制 只 有 授 权 的 用 户 才 能 访 问 应 用 程 序 数 据 限 制 通 过 使 用 访 问 控 制 来 访 问 用 户 数 据 属 性 和 策 略 信 息 限 制 只 有 授 权 的 用 户 才 能 访 问 与 安 全 相 关 的 配 置 信 息 服 务 器 端 执 行 的 访 问 控 制 规 则 和 表 示 层 实 施 的 访 问 控 制 规 则 必 须 匹 配 如 果 状 态 数 据 必 须 存 储 在 客 户 端, 使 用 加 密 算 法, 并 在 服 务 器 端 检 查 完 整 性 以 捕 获 状 态 的 改 变 强 制 应 用 程 序 逻 辑 流 程 遵 照 业 务 规 则 限 制 单 一 用 户 或 设 备 在 一 段 时 间 内 可 以 执 行 的 事 务 数 量 事 务 数 量 / 时 间 应 当 高 于 实 际 的 业 务 需 求, 但 也 应 该 足 够 低 以 判 定 自 动 化 攻 击 仅 使 用 referer 头 作 为 补 偿 性 质 的 检 查, 它 永 远 不 能 被 单 独 用 来 进 行 身 份 验 证 检 查, 因 为 它 可 以 被 伪 造 如 果 长 的 身 份 验 证 会 话 被 允 许, 周 期 性 的 重 新 验 证 用 户 的 身 份, 以 确 保 他 们 的 权 限 没 有 改 变 如 果 发 生 改 变, 注 销 该 用 户, 并 强 制 他 们 重 新 执 行 身 份 验 证 执 行 帐 户 审 计 并 将 没 有 使 用 的 帐 号 强 制 失 效 ( 比 如 : 在 用 户 密 码 过 期 后 的 30 天 以 内 ) 应 用 程 序 必 须 支 持 帐 户 失 效, 并 在 帐 户 停 止 使 用 时 终 止 会 话 ( 比 如 : 角 色 职 务 状 况 业 务 处 理 的 改 变, 等 等 ) 服 务 帐 户, 或 连 接 到 或 来 自 外 部 系 统 的 帐 号, 应 当 只 有 尽 可 能 小 的 权 限 建 立 一 个 访 问 控 制 政 策 以 明 确 一 个 应 用 程 序 的 业 务 规 则 数 据 类 型 和 身 份 验 证 的 标 准 或 处 理 流 程, 确 保 访 问 可 以 被 恰 当 的 提 供 和 控 制 这 包 括 了 为 数 据 和 系 统 资 源 确 定 访 问 需 求 加 密 规 范 : 所 有 用 于 保 护 来 自 应 用 程 序 用 户 秘 密 信 息 的 加 密 功 能 都 必 须 在 一 个 可 信 系 统 ( 比 如 : 服 务 器 ) 上 执 行 保 护 主 要 秘 密 信 息 免 受 未 授 权 的 访 问 安 全 的 处 理 加 密 模 块 失 败 的 操 作 为 防 范 对 随 机 数 据 的 猜 测 攻 击, 应 当 使 用 加 密 模 块 中 已 验 证 的 随 机 数 生 成 器 生 成 所 有 的 随 机 数 随 机 文 件 名 随 机 GUID 和 随 机 字 符 串 应 用 程 序 使 用 的 加 密 模 块 应 当 遵 从 FIPS 140-2 或 其 他 等 同 的 标 准 ( 请 见 : http://csrc.nist.gov/groups/stm/cmvp/validation.html) 建 立 并 使 用 相 关 的 政 策 和 流 程 以 实 现 加 解 密 的 密 钥 管 理 错 误 处 理 和 日 志 : 不 要 在 错 误 响 应 中 泄 露 敏 感 信 息, 包 括 : 系 统 的 详 细 信 息 会 话 标 识 符 或 者 帐 号 信 息 中 文 版 Version 1.0 8
使 用 错 误 处 理 以 避 免 显 示 调 试 或 堆 栈 跟 踪 信 息 使 用 通 用 的 错 误 消 息 并 使 用 定 制 的 错 误 页 面 应 用 程 序 应 当 处 理 应 用 程 序 错 误, 并 且 不 依 赖 服 务 器 配 置 当 错 误 条 件 发 生 时, 适 当 的 清 空 分 配 的 内 存 在 默 认 情 况 下, 应 当 拒 绝 访 问 与 安 全 控 制 相 关 联 的 错 误 处 理 逻 辑 所 有 的 日 志 记 录 控 制 应 当 在 可 信 系 统 ( 比 如 : 服 务 器 ) 上 执 行 日 志 记 录 控 制 应 当 支 持 记 录 特 定 安 全 事 件 的 成 功 或 者 失 败 操 作 确 保 日 志 记 录 包 含 了 重 要 的 日 志 事 件 数 据 确 保 日 志 记 录 中 包 含 的 不 可 信 数 据, 不 会 在 查 看 界 面 或 者 软 件 时 以 代 码 的 形 式 被 执 行 限 制 只 有 授 权 的 个 人 才 能 访 问 日 志 为 所 有 的 日 志 记 录 采 用 一 个 主 要 的 常 规 操 作 不 要 在 日 志 中 保 存 敏 感 信 息, 包 括 : 不 必 要 的 系 统 详 细 信 息 会 话 标 识 符 或 密 码 确 保 一 个 执 行 日 志 查 询 分 析 机 制 的 存 在 记 录 所 有 失 败 的 输 入 验 证 记 录 所 有 的 身 份 验 证 尝 试, 特 别 是 失 败 的 验 证 记 录 所 有 失 败 的 访 问 控 制 记 录 明 显 的 修 改 事 件, 包 括 对 于 状 态 数 据 非 期 待 的 修 改 记 录 连 接 无 效 或 者 已 过 期 的 会 话 令 牌 尝 试 记 录 所 有 的 系 统 例 外 记 录 所 有 的 管 理 功 能 行 为, 包 括 对 于 安 全 配 置 设 置 的 更 改 记 录 所 有 失 败 的 后 端 TLS 链 接 记 录 加 密 模 块 的 错 误 使 用 加 密 哈 希 功 能 以 验 证 日 志 记 录 的 完 整 性 数 据 保 护 : 授 予 最 低 权 限, 以 限 制 用 户 只 能 访 问 为 完 成 任 务 所 需 要 的 功 能 数 据 和 系 统 信 息 保 护 所 有 存 放 在 服 务 器 上 缓 存 的 或 临 时 拷 贝 的 敏 感 数 据, 以 避 免 非 授 权 的 访 问, 并 在 临 时 工 作 文 件 不 再 需 要 时 被 尽 快 清 除 即 使 在 服 务 器 端, 任 然 要 加 密 存 储 的 高 度 机 密 信 息, 比 如, 身 份 验 证 的 验 证 数 据 总 是 使 用 已 经 被 很 好 验 证 过 的 算 法, 更 多 指 导 信 息 请 参 见 加 密 规 范 部 分 保 护 服 务 器 端 的 源 代 码 不 被 用 户 下 载 不 要 在 客 户 端 上 以 明 文 形 式 或 其 他 非 加 密 安 全 模 式 保 存 密 码 连 接 字 符 串 或 其 他 敏 感 信 息 这 包 括 嵌 入 在 不 安 全 的 形 式 中 :MS viewstate Adobe flash 或 者 已 编 译 的 代 码 删 除 用 户 可 访 问 产 品 中 的 注 释, 以 防 止 泄 露 后 台 系 统 或 者 其 他 敏 感 信 息 删 除 不 需 要 的 应 用 程 序 和 系 统 文 档, 因 为 这 些 也 可 能 向 攻 击 者 泄 露 有 用 的 信 息 不 要 在 HTTP GET 请 求 参 数 中 包 含 敏 感 信 息 禁 止 表 单 中 的 自 动 填 充 功 能, 因 为 表 单 中 可 能 包 含 敏 感 信 息, 包 括 身 份 验 证 信 息 禁 止 客 户 端 缓 存 网 页, 因 为 可 能 包 含 敏 感 信 息 Cache-Control: no-store, 可 以 和 HTTP 报 头 控 制 Pragma: no-cache 一 起 使 用, 该 控 制 不 是 非 常 有 效, 但 是 与 HTTP/1.0 向 后 兼 容 应 用 程 序 应 当 支 持, 当 数 据 不 再 需 要 的 时 候, 删 除 敏 感 信 息 ( 比 如 : 个 人 信 息 或 者 特 定 财 务 数 据 ) 中 文 版 Version 1.0 9
为 存 储 在 服 务 器 中 的 敏 感 信 息 提 供 恰 当 的 访 问 控 制 这 包 括 缓 存 的 数 据 临 时 文 件 以 及 只 允 许 特 定 系 统 用 户 访 问 的 数 据 通 讯 安 全 : 为 所 有 敏 感 信 息 采 用 加 密 传 输 其 中 应 该 包 括 使 用 TLS 对 连 接 的 保 护, 以 及 支 持 对 敏 感 文 件 或 非 基 于 HTTP 连 接 的 不 连 续 加 密 TLS 证 书 应 当 是 有 效 的, 有 正 确 且 未 过 期 的 域 名, 并 且 在 需 要 时, 可 以 和 中 间 证 书 一 起 安 装 没 有 成 功 的 TLS 连 接 不 应 当 后 退 成 为 一 个 不 安 全 的 连 接 为 所 有 要 求 身 份 验 证 的 访 问 内 容 和 所 有 其 他 的 敏 感 信 息 提 供 TLS 连 接 为 包 含 敏 感 信 息 或 功 能 且 连 接 到 外 部 系 统 的 连 接 使 用 TLS 使 用 配 置 合 理 的 单 一 标 准 TLS 连 接 为 所 有 的 连 接 明 确 字 符 编 码 当 链 接 到 外 部 站 点 时, 过 滤 来 自 HTTP referer 中 包 含 敏 感 信 息 的 参 数 系 统 配 置 : 确 保 服 务 器 框 架 和 系 统 部 件 采 用 了 认 可 的 最 新 版 本 确 保 服 务 器 框 架 和 系 统 部 件 安 装 了 当 前 使 用 版 本 的 所 有 补 丁 关 闭 目 录 列 表 功 能 将 Web 服 务 器 进 程 和 服 务 的 账 户 限 制 为 尽 可 能 低 的 权 限 当 例 外 发 生 时, 安 全 的 进 行 错 误 处 理 移 除 所 有 不 需 要 的 功 能 和 文 件 在 部 署 前, 移 除 测 试 代 码 和 产 品 不 需 要 的 功 能 通 过 将 不 进 行 对 外 检 索 的 路 径 目 录 放 在 一 个 隔 离 的 父 目 录 里, 以 防 止 目 录 结 构 在 robots.txt 文 档 中 暴 露 然 后, 在 robots.txt 文 档 中 禁 止 整 个 父 目 录, 而 不 是 对 每 个 单 独 目 录 的 禁 止 明 确 应 用 程 序 采 用 哪 种 HTTP 方 法 :GET 或 POST, 以 及 是 否 需 要 在 应 用 程 序 不 同 网 页 中 以 不 同 的 方 式 进 行 处 理 禁 用 不 需 要 的 HTTP 方 法, 比 如 WebDAV 扩 展 如 果 需 要 使 用 一 个 扩 展 的 HTTP 方 法 以 支 持 文 件 处 理, 则 使 用 一 个 好 的 经 过 验 证 的 身 份 验 证 机 制 如 果 Web 服 务 器 支 持 HTTP1.0 和 1.1, 确 保 以 相 似 的 方 式 对 它 们 进 行 配 置, 或 者 确 保 您 理 解 了 它 们 之 间 可 能 存 在 差 异 ( 比 如 : 处 理 扩 展 的 HTTP 方 法 ) 移 除 在 HTTP 相 应 报 头 中 有 关 OS Web 服 务 版 本 和 应 用 程 序 框 架 的 无 关 信 息 应 用 程 序 存 储 的 安 全 配 置 信 息 应 当 可 以 以 可 读 的 形 式 输 出, 以 支 持 审 计 使 用 一 个 资 产 管 理 系 统, 并 将 系 统 部 件 和 软 件 注 册 在 其 中 将 开 发 环 境 从 生 成 网 络 隔 离 开, 并 只 提 供 给 授 权 的 开 发 和 测 试 团 队 访 问 开 发 环 境 往 往 没 有 实 际 生 成 环 境 那 么 安 全, 攻 击 者 可 以 使 用 这 些 差 别 发 现 共 有 的 弱 点 或 者 是 可 被 利 用 的 漏 洞 使 用 一 个 软 件 变 更 管 理 系 统 以 管 理 和 记 录 在 开 发 和 产 品 中 代 码 的 变 更 数 据 库 安 全 : 使 用 强 类 型 的 参 数 化 查 询 方 法 使 用 输 入 验 证 和 输 出 编 码, 并 确 保 处 理 了 元 字 符 如 果 失 败, 则 不 执 行 数 据 库 命 令 确 保 变 量 是 强 类 型 的 中 文 版 Version 1.0 10
当 应 用 程 序 访 问 数 据 库 时, 应 使 用 尽 可 能 最 低 的 权 限 为 数 据 库 访 问 使 用 安 全 凭 证 连 接 字 符 串 不 应 当 在 应 用 程 序 中 硬 编 码 连 接 字 符 串 应 当 存 储 在 一 个 可 信 服 务 器 的 独 立 配 置 文 件 中, 并 且 应 当 被 加 密 使 用 存 储 过 程 以 实 现 抽 象 访 问 数 据, 并 允 许 对 数 据 库 中 表 的 删 除 权 限 尽 可 能 地 快 速 关 闭 数 据 库 连 接 删 除 或 者 修 改 所 有 默 认 的 数 据 库 管 理 员 密 码 使 用 强 密 码 强 短 语, 或 者 使 用 多 因 子 身 份 验 证 关 闭 所 有 不 必 要 的 数 据 库 功 能 ( 比 如 : 不 必 要 的 存 储 过 程 或 服 务 应 用 程 序 包 仅 最 小 化 安 装 需 要 的 功 能 和 选 项 ( 表 面 范 围 缩 减 )) 删 除 厂 商 提 供 的 不 必 要 的 默 认 信 息 ( 比 如 : 数 据 库 模 式 示 例 ) 禁 用 任 何 不 支 持 业 务 需 求 的 默 认 帐 户 文 件 管 理 : 应 用 程 序 应 当 以 不 同 的 凭 证 为 每 个 信 任 的 角 色 ( 比 如 : 用 户 只 读 用 户 访 问 用 户 管 理 员 ) 连 接 数 据 库 不 要 把 用 户 提 交 的 数 据 直 接 传 送 给 任 何 动 态 调 用 功 能 在 允 许 上 传 一 个 文 档 以 前 进 行 身 份 验 证 只 允 许 上 传 满 足 业 务 需 要 的 相 关 文 档 类 型 通 过 检 查 文 件 报 头 信 息, 验 证 上 传 文 档 是 否 是 所 期 待 的 类 型 只 验 证 文 件 类 型 扩 展 是 不 够 的 不 要 把 文 件 保 存 在 与 应 用 程 序 相 同 的 Web 环 境 中 文 件 应 当 保 存 在 内 容 服 务 器 或 者 数 据 库 中 防 止 或 限 制 上 传 任 意 可 能 被 Web 服 务 器 解 析 的 文 件 关 闭 在 文 件 上 传 目 录 的 运 行 权 限 通 过 装 上 目 标 文 件 路 径 作 为 使 用 了 相 关 路 径 或 者 已 变 更 根 目 录 环 境 的 逻 辑 盘, 在 UNIX 中 实 现 安 全 的 文 件 上 传 服 务 当 引 用 已 有 文 件 时, 使 用 一 个 白 名 单 记 录 允 许 的 文 件 名 和 类 型 验 证 传 递 的 参 数 值, 如 果 与 预 期 的 值 不 匹 配, 则 拒 绝 使 用, 或 者 使 用 默 认 的 硬 编 码 文 件 值 代 替 不 要 将 用 户 提 交 的 数 据 传 递 到 动 态 重 定 向 中 如 果 必 须 允 许 使 用, 那 么 重 定 向 应 当 只 接 受 通 过 验 证 的 相 对 路 径 URL 不 要 传 递 目 录 或 文 件 路 径, 使 用 预 先 设 置 路 径 列 表 中 的 匹 配 索 引 值 绝 对 不 要 将 绝 对 文 件 路 径 传 递 给 客 户 确 保 应 用 程 序 文 件 和 资 源 是 只 读 的 对 用 户 上 传 的 文 件 扫 描 进 行 病 毒 和 恶 意 软 件 内 存 管 理 : 对 不 可 信 数 据 进 行 输 入 和 输 出 控 制 重 复 确 认 缓 存 空 间 的 大 小 是 否 和 指 定 的 大 小 一 样 当 使 用 允 许 多 字 节 拷 贝 的 函 数 时, 比 如 strncpy(), 如 果 目 的 缓 存 容 量 和 源 缓 存 容 量 相 等 时, 需 要 留 意 字 符 串 没 有 NULL 终 止 中 文 版 Version 1.0 11
如 果 在 循 环 中 调 用 函 数 时, 检 查 缓 存 大 小, 以 确 保 不 会 出 现 超 出 分 配 空 间 大 小 的 危 险 在 将 输 入 字 符 串 传 递 给 拷 贝 和 连 接 函 数 前, 将 所 有 输 入 的 字 符 串 缩 短 到 合 理 的 长 度 关 闭 资 源 时 要 特 别 注 意, 不 要 依 赖 垃 圾 回 收 机 制 ( 比 如 : 连 接 对 象 文 档 处 理, 等 ) 在 可 能 的 情 况 下, 使 用 不 可 执 行 的 堆 栈 避 免 使 用 已 知 有 漏 洞 的 函 数 ( 比 如 :printf,strcat,strcpy, 等 ) 当 方 法 结 束 时 和 在 所 有 的 退 出 节 点 时, 正 确 地 清 空 所 分 配 的 内 存 通 用 编 码 规 范 : 为 常 用 的 任 务 使 用 已 测 试 且 已 认 可 的 托 管 代 码, 而 不 创 建 新 的 非 托 管 代 码 使 用 特 定 任 务 的 内 置 API 以 执 行 操 作 系 统 的 任 务 不 允 许 应 用 程 序 直 接 将 代 码 发 送 给 操 作 系 统, 特 别 是 通 过 使 用 应 用 程 序 初 始 的 命 令 shell 使 用 校 验 和 或 哈 希 值 验 证 编 译 后 的 代 码 库 文 件 可 执 行 文 件 和 配 置 文 件 的 完 整 性 使 用 死 锁 来 防 止 多 个 同 时 发 送 的 请 求, 或 使 用 一 个 同 步 机 制 防 止 竞 态 条 件 在 同 时 发 生 不 恰 当 的 访 问 时, 保 护 共 享 的 变 量 和 资 源 在 声 明 时 或 在 第 一 次 使 用 前, 明 确 初 始 化 您 的 所 有 变 量 和 其 他 数 据 存 储 当 应 用 程 序 运 行 发 生 必 须 提 升 权 限 的 情 况 时, 尽 量 晚 点 提 升 权 限, 并 且 尽 快 放 弃 所 提 升 的 权 限 通 过 了 解 您 使 用 的 编 程 语 言 的 底 层 表 达 式 以 及 它 们 是 如 何 进 行 数 学 计 算, 从 而 避 免 计 算 错 误 密 切 注 意 字 节 大 小 依 赖 精 确 度 有 无 符 合 截 尾 操 作 转 换 字 节 之 间 的 组 合 not-a-number 计 算 以 及 对 于 编 程 语 言 底 层 表 达 式 如 何 处 理 非 常 大 或 者 非 常 小 的 数 不 要 将 用 户 提 供 的 数 据 传 递 给 任 何 动 态 运 行 的 功 能 限 制 用 户 生 成 新 代 码 或 更 改 现 有 代 码 审 核 所 有 从 属 的 应 用 程 序 第 三 方 代 码 和 库 文 件, 以 确 定 业 务 的 需 要, 并 验 证 功 能 的 安 全 性, 因 为 它 们 可 能 产 生 新 的 漏 洞 执 行 安 全 更 新 如 果 应 用 程 序 采 用 自 动 更 新, 则 为 您 的 代 码 使 用 加 密 签 名, 以 确 保 的 您 的 下 载 客 户 端 验 证 这 些 签 名 使 用 加 密 的 信 道 传 输 来 自 主 机 服 务 器 的 代 码 中 文 版 Version 1.0 12
附 录 A: 外 部 的 参 考 资 料 : 1. 引 用 的 参 考 资 料 Sans and TippingPoint "The Top Cyber Security Risks" http://www.sans.org/top-cyber-security-risks/ Web Application Security Consortium http://www.webappsec.org/ Common Weakness Enumeration (CWE) http://cwe.mitre.org/ Department of Homeland Security Build Security In Portal https://buildsecurityin.us-cert.gov/daisy/bsi/home.html CERT Secure Coding http://www.cert.org/secure-coding/ MSDN Security Developer Center http://msdn.microsoft.com/en-us/security/default.aspx SQL Injection Cheat Sheet http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/ Cross Site Scripting (XSS) Cheat Sheet http://ha.ckers.org/xss.html 安 全 咨 询 网 站 : 检 查 已 知 威 胁 的 有 用 资 源, 以 支 持 基 础 设 施 和 框 架 Secunia Citrix Vulnerability List: http://secunia.com/advisories/search/?search=citrix Security Focus Vulnerability Search: http://www.securityfocus.com/vulnerabilities Open Source Vulnerability Database (OSVDB): http://osvdb.org/search/web_vuln_search Common Vulnerability Enumeration: http://www.cve.mitre.org/ 中 文 版 Version 1.0 13
附 录 B: 术 语 表 滥 用 实 例 : 描 述 了 对 软 件 有 意 或 无 意 的 错 误 使 用 滥 用 实 例 应 当 挑 战 系 统 设 计 的 各 种 假 设 访 问 控 制 : 一 组 授 予 或 拒 绝 用 户 或 其 他 实 体 对 系 统 资 源 访 问 的 控 制 这 通 常 基 于 继 承 的 角 色 和 在 一 个 角 色 中 的 单 独 权 限, 但 也 包 含 系 统 与 系 统 之 间 的 交 互 身 份 验 证 : 一 组 验 证 正 在 与 软 件 交 互 的 用 户 或 其 他 实 体 身 份 的 控 制 可 用 性 : 一 个 系 统 可 访 问 性 和 可 用 性 的 一 种 度 量 规 范 化 : 将 数 据 的 各 种 编 码 方 式 和 表 式 转 换 成 为 一 种 单 一 的 简 单 形 式 通 信 安 全 : 一 组 帮 助 确 保 软 件 以 一 种 安 全 的 方 式 处 理 信 息 收 发 的 控 制 保 密 性 : 确 保 信 息 只 公 布 给 授 权 的 当 事 人 语 义 输 出 编 码 方 式 : 根 据 数 据 如 何 被 应 用 程 序 使 用, 对 输 出 进 行 编 码 具 体 方 法 有 所 不 同, 取 决 于 输 出 数 据 的 使 用 方 式 如 果 数 据 被 包 含 在 返 回 客 户 端 的 响 应 中, 请 说 明 下 面 的 情 况 : 在 JavaScript 中 在 CSS 中 或 在 URL 中 的 一 个 HTML 文 档 的 主 体 部 分 或 一 个 HTML 属 性 您 还 必 须 说 明 其 它 的 用 例, 比 如 :SQL 查 询 XML 和 LDAP 跨 站 点 请 求 伪 造 : 一 个 外 部 网 站 或 应 用 程 序 强 迫 一 个 客 户 端 制 作 一 个 非 意 愿 的 请 求 到 另 一 个 有 活 跃 会 话 的 客 户 端 应 用 程 序 当 它 们 使 用 已 知 的 可 预 见 的 URL 和 参 数 时, 并 且 当 浏 览 器 对 每 个 发 往 应 用 程 序 的 请 求 自 动 传 输 所 有 需 要 的 会 话 信 息 时, 应 用 程 序 是 可 被 攻 击 的 ( 该 类 攻 击 是 本 文 中 唯 一 包 含 并 讨 论 的 攻 击, 因 为 相 关 的 漏 洞 非 常 常 见 的, 但 又 被 知 之 甚 少 ) 密 码 规 范 : 一 组 确 保 在 应 用 程 序 中 密 码 的 操 作 被 安 全 处 理 的 控 制 数 据 保 护 : 一 组 确 保 软 件 以 一 种 安 全 的 方 式 处 理 所 保 存 的 信 息 的 控 制 数 据 库 安 全 : 一 组 确 保 软 件 以 一 种 安 全 的 方 式 与 数 据 库 交 互, 并 且 数 据 库 被 安 全 配 置 的 控 制 错 误 处 理 和 日 志 记 录 : 一 组 确 保 应 用 程 序 安 全 的 处 理 错 误 并 执 行 正 确 的 事 件 记 录 的 实 践 利 用 : 使 用 一 个 漏 洞 通 常 而 言, 这 是 一 种 有 意 的 行 为, 旨 在 利 用 漏 洞 危 及 软 件 的 安 全 控 制 文 件 管 理 : 一 组 涵 盖 代 码 和 其 它 系 统 文 件 之 间 交 互 的 控 制 通 用 编 码 规 范 : 一 组 涵 盖 不 易 分 入 其 它 组 的 编 码 实 践 危 险 字 符 : 任 何 字 符 或 编 码 表 示 的 字 符, 可 以 影 响 应 用 程 序 预 期 的 操 作, 或 者 被 解 释 为 具 有 特 殊 的 意 义 预 期 用 途 以 外 的 字 符 这 些 字 符 可 用 于 : 修 改 现 有 代 码 或 语 句 的 结 构 ; 插 入 新 的 非 预 期 的 代 码 ; 修 改 路 径 ; 中 文 版 Version 1.0 14
程 序 功 能 或 程 序 导 致 非 预 期 的 结 果 ; 导 致 错 误 的 条 件 ; 下 游 应 用 程 序 或 系 统 拥 有 上 述 任 何 效 果 HTML 实 体 编 码 : 用 等 价 的 HTML 实 体 取 代 ASCII 字 符 的 过 程 比 如 : 编 码 过 程 将 用 HTML 等 价 < 取 代 小 于 号 < HTML 实 体 在 大 多 数 的 编 译 器 中 是 无 行 动 的, 特 别 是 在 浏 览 器 中, 可 以 缓 解 某 些 客 户 端 攻 击 影 响 : 当 一 个 意 外 事 件 发 生 时, 也 就 是 一 个 漏 洞 被 利 用 时, 对 业 务 负 面 影 响 的 衡 量 输 入 验 证 : 一 组 验 证 所 有 输 入 数 据 的 属 性 与 应 用 程 序 所 期 待 数 据 的 类 型 长 度 范 围 允 许 的 字 符 集 所 匹 配, 但 不 包 含 已 知 危 险 字 符 的 控 制 完 整 性 : 保 证 信 息 是 准 确 的 完 整 的 和 有 效 的, 并 且 没 有 被 一 个 未 授 权 的 行 为 所 修 改 日 志 事 件 数 据 : 这 应 当 包 含 以 下 信 息 : 1. 来 自 一 个 可 信 系 统 组 件 的 时 间 戳 ; 2. 每 个 事 件 的 严 重 程 度 ; 3. 如 果 与 其 它 日 志 事 件 混 合 在 一 起 的 话, 标 记 与 安 全 相 关 的 事 件 ; 4. 明 确 引 发 事 件 的 帐 户 或 用 户 身 份 ; 5. 与 请 求 相 关 的 源 IP 地 址 ; 6. 事 件 的 结 果 ( 成 功 或 失 败 ); 7. 事 件 的 描 述 内 存 管 理 : 一 组 解 决 内 存 和 缓 存 使 用 的 控 制 缓 解 : 为 减 少 一 个 漏 洞 的 严 重 程 度 而 采 取 的 步 骤 这 些 步 骤 可 以 包 括 : 删 除 一 个 漏 洞 使 漏 洞 更 难 被 利 用 减 少 漏 洞 被 利 用 后 带 来 的 负 面 影 响 多 因 子 身 份 验 证 : 一 个 要 求 用 户 处 理 多 种 不 同 种 类 凭 据 的 身 份 验 证 过 程 通 常, 该 过 程 基 于 用 户 拥 有 的 信 息 ( 比 如 : 智 能 卡 ) 他 们 知 道 的 信 息 ( 比 如 : 个 人 识 别 码 ) 或 者 他 们 自 身 的 信 息 ( 比 如 : 来 自 生 物 方 面 的 数 据 ) 输 出 编 码 : 一 组 解 决 使 用 编 码 技 术 以 确 保 应 用 程 序 输 出 的 数 据 是 安 全 的 控 制 参 数 化 查 询 ( 预 处 理 语 句 ): 通 过 使 用 占 位 符, 保 持 查 询 语 句 和 数 据 相 分 离 查 询 语 句 结 构 由 占 位 符 定 义,SQL 语 句 发 送 给 数 据 库 并 做 好 准 备, 然 后 准 备 好 的 语 句 与 参 数 值 相 结 合 这 样 就 防 止 了 查 询 被 更 改, 因 为 参 数 值 与 已 编 译 的 语 句 相 结 合, 而 不 是 SQL 字 符 串 净 化 数 据 : 通 过 使 用 删 除 数 据 字 符 替 代 编 码 或 转 义 字 符, 将 潜 在 的 有 害 数 据 变 得 安 全 的 处 理 过 程 安 全 控 制 : 一 个 缓 解 潜 在 的 漏 洞, 并 有 助 于 确 保 软 件 只 以 预 期 的 模 式 进 行 工 作 的 行 为 安 全 需 求 : 一 组 有 助 于 确 保 软 件 以 一 种 安 全 的 模 式 建 立 并 部 署 的 设 计 和 功 能 需 求 连 续 身 份 验 证 : 身 份 验 证 数 据 在 连 续 的 网 页 上 被 请 求, 而 不 是 在 一 个 单 独 的 网 页 中 一 起 被 要 求 会 话 管 理 : 一 组 有 助 于 确 保 Web 应 用 程 序 以 安 全 的 模 式 处 理 HTTP 会 话 的 控 制 中 文 版 Version 1.0 15
状 态 数 据 : 当 应 用 程 序 或 者 服 务 器 使 用 数 据 或 参 数 模 拟 持 续 的 连 接, 或 跟 踪 跨 多 个 请 求 的 处 理 或 交 易 的 客 户 端 状 态 系 统 : 一 个 涵 括 操 作 系 统 Web 服 务 器 应 用 程 序 框 架 和 相 关 基 础 设 施 的 通 用 术 语 系 统 配 置 : 一 组 帮 助 确 保 基 础 设 施 部 件 支 持 软 件 安 全 部 署 的 控 制 威 胁 代 理 : 任 何 可 能 对 系 统 造 成 负 面 影 响 的 实 体 这 可 能 是 一 个 想 危 害 系 统 安 全 控 制 的 恶 意 用 户 但 是, 这 也 可 能 是 一 个 意 外 的 系 统 错 误 使 用, 或 者 是 物 理 威 胁, 如 火 灾 或 水 灾 信 任 边 界 : 通 常, 一 个 信 任 边 界 由 您 直 接 控 制 的 系 统 部 件 组 成 来 自 您 直 接 控 制 系 统 以 外 的 所 有 连 接 和 数 据, 包 括 所 有 由 其 它 各 方 管 理 的 客 户 端 和 系 统, 在 允 许 进 一 步 的 系 统 交 互 之 前, 应 当 被 认 为 是 不 可 信 的, 并 在 边 界 被 验 证 漏 洞 : 一 个 导 致 系 统 易 受 攻 击 或 损 坏 的 脆 弱 点 中 文 版 Version 1.0 16