代 码 安 全 机 制 与 实 现 技 术 测 试 应 用 程 序 的 安 全 性 姚 砺 东 华 大 学 计 算 机 学 院
我 测 故 我 在 软 件 测 试 是 一 项 非 常 复 杂 的 创 造 性 的 和 需 要 高 度 智 慧 的 挑 战 性 任 务
软 件 测 试 的 现 状 软 件 测 试 在 软 件 生 命 周 期 中 占 据 重 要 的 地 位, 软 件 测 试 慢 慢 的 独 立 发 展 成 为 一 个 行 业, 并 且 在 迅 猛 发 展 对 美 国 大 量 软 件 项 目 的 观 察 结 果 表 明, 软 件 项 目 的 成 功 在 很 大 程 度 上 依 赖 于 软 件 测 试 的 成 功 软 件 测 试 在 软 件 企 业 中 担 当 的 角 色 是 质 量 管 理, 即 及 时 纠 错 及 时 更 正, 为 产 品 推 向 市 场 贴 上 质 量 合 格 的 标 签 开 发 与 测 试 进 攻 与 防 守 : 好 看 靠 进 攻, 冠 军 靠 防 守
软 件 测 试 的 现 状 对 国 际 著 名 IT 企 业 的 统 计 数 据 表 明, 软 件 测 试 在 整 个 软 件 项 目 中 所 占 的 比 例 为 40% 以 上, 占 整 个 项 目 费 用 的 50% 以 上, 软 件 测 试 人 员 与 开 发 人 员 的 人 数 比 例 接 近 1:1 国 内 软 件 企 业 在 软 件 测 试 上 的 投 入 一 般 在 5% 以 下, 测 试 人 员 所 占 比 例 很 小 ( 软 件 测 试 人 员 与 开 发 人 员 之 比 仅 为 1:8), 经 常 处 于 从 属 地 位 中 国 软 件 工 业 要 健 康 发 展, 必 须 正 视 和 努 力 缩 小 这 个 差 距
微 软 的 测 试 很 多 人 都 认 为 微 软 是 一 家 软 件 开 发 公 司, 而 事 实 上, 我 们 是 一 家 软 件 测 试 公 司 - 比 尔 盖 子 31% 微 软 软 件 开 发 人 员 一 般 配 置 表 5% 64% 测 试 人 员 开 发 人 员 项 目 经 理 在 微 软 内 部, 软 件 测 试 人 员 与 软 件 开 发 人 员 的 比 率 一 般 为 1.5-2.5 左 右 项 目 经 理 开 发 人 员 测 试 人 员 Exchange200 0 Windows200 0 25 人 约 250 人 140 人 约 1700 人 350 人 约 3200 人
软 件 测 试 的 作 用 软 件 质 量 与 软 件 质 量 保 证 教 学 考 试 与 教 学 质 量 保 证 软 件 开 发 的 每 个 阶 段 都 要 测 试, 测 试 人 员 应 该 参 与 设 计 阶 段 : 评 审 安 全 性 设 计 传 说 中 的 微 软 测 试 部 门 的 格 言 : 没 有 最 BT, 只 有 更 BT
软 件 测 试 之 独 孤 九 剑 全 程 测 试, 测 试 先 行 剑 走 偏 锋 不 走 寻 常 路 完 全 测 试 程 序 是 不 可 能 的 软 件 测 试 是 有 风 险 的 行 为 程 序 中 的 大 部 分 错 误 往 往 是 在 一 小 部 分 模 块 中 发 现 的 -- 帕 雷 托 定 律 设 计 周 密 的 测 试 用 例 先 求 开 展, 后 求 紧 凑, 乃 可 缜 密 矣 ---- 九 阴 真 经 框 起 你 的 测 试 来 刚 中 带 柔, 柔 中 带 刚, 如 海 中 波 涛, 刚 柔 并 济 排 云 掌 第 五 式 云 海 波 涛 具 有 良 好 的 计 算 机 编 程 基 础 优 秀 的 安 全 测 试 人 员 格 言 : 给 我 一 个 socket, 我 能 破 坏 任 何 软 件
一 次 转 身 最 远 能 产 生 多 远 的 距 离 从 传 统 软 件 测 试 转 向 安 全 性 测 试 如 果 不 付 出 相 当 大 的 努 力 去 消 除, 每 个 复 杂 的 软 件 程 序 都 会 有 代 价 高 昂 的 安 全 漏 洞 这 些 漏 洞 会 造 成 病 毒 和 蠕 虫 的 横 行, 也 会 使 得 罪 犯 能 够 攫 取 用 户 的 个 人 财 务 数 据, 而 这 些 用 户 已 如 惊 弓 之 鸟, 并 且 本 来 就 很 不 愿 意 把 他 们 的 个 人 数 据 放 在 Internet 上 2005 年,CardSystems 成 为 数 字 化 攻 击 的 牺 牲 品, 由 于 对 信 用 卡 数 据 在 未 加 密 情 况 下 存 储, 有 4000 多 万 张 借 记 卡 和 信 用 卡 泄 密,4 个 月 后, 这 家 公 司 倒 闭 出 售 安 全 性 测 试 : 不 是 验 证 软 件 的 正 确 性, 而 是 挖 掘 软 件 的 漏 洞 ( 软 件 中 的 不 应 该 和 不 允 许 部 分, 例 如 : 代 码 中 的 缓 冲 区 溢 出 漏 洞, 电 子 秤 中 的 作 弊 后 门 等 ) --- 越 崩 溃 越 快 乐! RFC2828 将 漏 洞 定 义 为 系 统 设 计 实 现 或 操 作 和 管 理 中 存 在 的 缺 陷 或 弱 点, 能 被 利 用 而 违 背 系 统 的 安 全 策 略 例 如 : 对 于 一 个 web 输 入 界 面 的 测 试, 其 上 有 个 字 段 银 行 账 号 ( 正 确 输 入 是 12 个 数 字 ), 对 该 字 段 的 测 试 包 括 : 正 确 输 入 验 证 : 正 好 12 个 数 字 ( 分 该 账 号 存 在 和 不 存 在 两 种 情 况 验 证 ) 异 常 输 入 验 证 :( 模 仿 用 户 的 一 些 无 意 错 误 操 作 ) 输 入 不 满 12 个 数 字, 超 过 12 个 数 字, 有 非 数 字 字 符, 空, 等 等 安 全 测 试 :SQL 注 入 攻 击 ( 用 web 代 理 来 输 入, 绕 过 客 户 端 的 检 验 检 查 ) 跨 站 点 脚 本 输 出 整 数 溢 出 等 安 全 测 试 的 出 发 点 : 像 攻 击 者 一 样 思 考
一 些 攻 击 模 式 的 范 例 验 证 用 户 输 入 不 会 提 供 机 会 让 攻 击 者 通 过 已 知 的 SQL 注 入 攻 击 来 操 纵 后 台 数 据 库 ; 验 证 不 存 在 跨 站 点 执 行 脚 本 的 可 能 性 ; 验 证 在 向 服 务 器 发 送 一 个 它 不 能 正 确 处 理 的 非 法 数 据 包 的 情 况 下, 服 务 器 不 会 崩 溃 ; 验 证 用 户 输 入 不 会 导 致 数 据 处 理 溢 出 ; 验 证 程 序 对 错 误 的 处 理 是 恰 当 的 ; 验 证 数 据 在 网 络 传 输 中 或 存 储 时 是 经 过 了 保 护 的 验 证 不 会 出 现 信 息 泄 露 验 证 访 问 控 制
建 立 安 全 性 测 试 计 划 --- 基 于 风 险 的 安 全 测 试 课 程 概 述 威 胁 / 风 险 建 模 : 排 定 安 全 测 试 的 优 先 级 在 对 应 用 程 序 的 设 计 和 应 用 流 程 加 以 理 解 的 基 础 上, 可 假 定 潜 在 的 安 全 风 险 并 对 其 进 行 评 价 然 后, 根 据 易 于 攻 击 和 攻 击 的 影 响 严 重 性, 将 这 些 威 胁 进 行 分 级 并 依 次 消 除 然 后 安 全 测 试 人 员 就 可 以 将 其 注 意 力 集 中 于 那 些 攻 击 难 度 最 低 而 影 响 最 大 的 领 域 流 程 : 信 息 搜 集 : 需 要 测 试 哪 个 应 用 程 序 和 应 用 程 序 中 的 哪 些 模 块 ( 组 件 ), 对 每 一 个 模 块 ( 组 件 ) 做 哪 些 安 全 假 设, 每 个 组 件 的 哪 些 安 全 因 素 需 要 测 试, 预 期 的 结 果 是 什 么 登 录 页 面 :( 见 后 ) 识 别 威 胁 将 与 威 胁 相 关 的 风 险 进 行 分 级 潜 在 的 破 坏 程 度 再 现 性 和 可 利 用 性 : 探 测 并 利 用 这 个 漏 洞 所 做 的 努 力 受 影 响 的 用 户
登 录 页 面 的 威 胁 分 析 猜 测 口 令 : 设 计 时 应 设 计 登 录 试 探 次 数, 例 如 : 只 许 试 探 三 次, 然 后 锁 定 ip 地 址 利 用 password 文 件 系 统 地 猜 测 口 令 : 加 密 文 件 ( 密 码 强 弱, 文 件 存 放 是 否 安 全 ) 分 析 协 议 和 滤 出 口 令 : 不 能 明 文 传 输, 密 码 的 强 弱 重 放 攻 击 : 加 时 间 戳 木 马 监 视 登 录 / 口 令 : 系 统 安 全, 一 次 性 口 令 盗 链 : SQL 注 入 漏 洞 异 常 输 入 破 坏 :
安 全 测 试 技 术 之 七 种 武 器 课 程 概 述 一 个 完 整 的 WEB 安 全 性 测 试 可 以 从 以 下 几 个 方 面 入 手 : 1. 安 全 体 系 测 试 网 络 是 否 提 供 了 安 全 的 通 信 部 署 拓 扑 结 构 是 否 包 括 内 部 的 防 火 墙 部 署 拓 扑 结 构 中 是 否 包 括 远 程 应 用 程 序 服 务 器 操 作 系 统 是 否 存 在 漏 洞, 例 如 Unix 上 的 缓 冲 区 溢 出 漏 洞 Windows 上 的 RPC 漏 洞 缓 冲 区 溢 出 漏 洞 安 全 机 制 漏 洞 等 ; 2. 输 入 验 证 如 何 验 证 输 入 是 否 清 楚 入 口 点 是 否 验 证 Web 页 输 入 是 否 对 传 递 到 组 件 或 Web 服 务 的 参 数 进 行 验 证 是 否 验 证 从 数 据 库 中 检 索 的 数 据 是 否 依 赖 客 户 端 的 验 证 应 用 程 序 是 否 易 受 SQL 注 入 攻 击 应 用 程 序 是 否 易 受 XSS 攻 击 如 何 处 理 输 入
3. 身 份 验 证 和 授 权 是 否 区 分 公 共 访 问 和 受 限 访 问 如 何 验 证 调 用 者 身 份 如 何 验 证 数 据 库 的 身 份 如 何 向 最 终 用 户 授 权 4. 敏 感 数 据 是 否 存 储 机 密 信 息 如 何 存 储 敏 感 数 据 是 否 在 网 络 中 传 递 敏 感 数 据 5. 加 密 为 何 使 用 特 定 的 算 法 如 何 确 保 加 密 密 钥 的 安 全 性 6. 参 数 操 作 是 否 验 证 所 有 的 输 入 参 数 是 否 在 参 数 过 程 中 传 递 敏 感 数 据 是 否 为 了 安 全 问 题 而 使 用 HTTP 头 数 据 7. 审 核 和 日 志 记 录 是 否 明 确 了 要 审 核 的 活 动 是 否 考 虑 如 何 流 动 原 始 调 用 这 身 份 课 程 概 述
应 用 服 务 器 的 安 全 性 测 试 技 术 一 应 用 服 务 器 的 安 全 性 测 试 内 容 基 于 应 用 服 务 器 的 安 全 性 测 试 内 容 主 要 包 括 : 验 证 隐 私 系 统 是 否 受 到 保 护 数 据 是 否 加 密, 检 测 系 统 是 否 有 安 全 保 密 的 漏 洞, 检 验 系 统 及 其 所 在 的 网 络 是 否 能 够 承 受 各 种 类 型 的 恶 意 攻 击 对 于 Web 服 务 器 而 言, 具 体 测 试 内 容 还 有 测 试 用 户 登 录 与 注 册 是 否 有 超 时 限 制 服 务 器 脚 本 语 言 日 志 文 件 目 录 安 全 SSL 安 全 传 输 测 试 等 二 应 用 服 务 器 的 安 全 性 测 试 方 法 与 技 术 ( 一 ) 全 面 搜 集 与 应 用 服 务 器 安 全 相 关 的 各 种 信 息, 分 析 其 可 能 出 现 的 安 全 隐 患 应 用 服 务 器 被 使 用 的 企 业 单 位 基 本 信 息 管 理 中 薄 弱 环 节 应 用 服 务 器 配 置 信 息 系 统 可 访 问 的 主 机 IP 地 址 及 对 应 的 主 机 名 服 务 器 所 在 网 络 的 拓 朴 结 构 等, 这 些 信 息 可 能 成 为 被 利 用 的 安 全 隐 患, 有 的 可 能 在 互 联 网 上 搜 索 得 到, 要 对 其 进 行 分 析 和 安 全 隐 患 检 查
应 用 服 务 器 的 安 全 性 测 试 技 术 ( 二 ) 应 用 服 务 器 的 漏 洞 探 测 和 扫 描 1 利 用 搜 索 引 擎 搜 索 已 公 布 的 漏 洞 可 利 用 Google 等 工 具 搜 索 资 源, 研 究 系 统 漏 洞 可 访 问 CVE( 公 共 漏 洞 和 暴 露 ) 数 据 库, 查 找 漏 洞 Packet Storm 组 织 是 由 一 些 致 力 于 提 供 必 要 信 息 以 安 全 化 全 球 网 络 的 安 全 专 业 人 士 组 成 的 非 盈 利 组 织, 在 其 网 站 上 可 以 找 到 许 多 安 全 信 息, 如 Windows 中 缓 冲 区 溢 出 漏 洞 Unix 主 机 中 远 程 过 程 调 用 (RPC) 的 安 全 隐 患 FTP 漏 洞,Sendmail 邮 件 服 务 软 件 的 漏 洞 等 2 利 用 扫 描 工 具 进 行 漏 洞 探 测 服 务 器 漏 洞 扫 描 的 工 具 很 多, 基 于 Linux 的 扫 描 工 具 有 Namp Netcat Nessus 基 于 Windows 的 端 口 扫 描 器 有 NeWT 等 还 有 很 多 扫 描 工 具, 如 : 著 名 的 COPS Tiger Fluxay5( 流 光 ) X-scan N-Stealth Metasploit Framework (http://metasploit.com:55555/) 等 其 中, 很 多 工 具 可 以 在 网 上 免 费 下 载 可 以 利 用 上 述 工 具 探 测 系 统 漏 洞, 查 看 系 统 是 否 打 了 补 丁
三 ) 模 拟 攻 击 测 试 应 用 服 务 器 的 安 全 性 测 试 技 术 采 用 拒 绝 服 务 缓 冲 区 溢 出 攻 击 密 码 破 解 攻 击 等 方 法 进 行 测 试 1 Web 服 务 器 利 用 测 试 针 对 Windows IIS5.0 Web 服 务 器 中 的 目 录 遍 历 漏 洞 (CVE- 2001-0333), 可 采 用 如 下 方 法 测 试 若 主 机 IP 为 :67.168.100.102, 则 在 IE 的 地 址 栏 中 输 入 : http://67.168.100.102/scripts/..%255c..//winnt/system32/cmd.exe?c+dir 若 在 浏 览 器 中 看 到 目 录 C:\inetpub\scripts 中 的 内 容, 则 说 明 存 在 漏 洞 2 拒 绝 服 务 攻 击 测 试 Land 攻 击 : 判 断 网 络 数 据 包 的 源 地 址 和 目 标 地 址 是 否 相 同 Ping Of Death 攻 击 : 判 断 数 据 包 的 大 小 是 否 大 于 65535 个 字 节 如 果 操 作 系 统 接 收 到 长 度 大 于 65535 字 节 的 数 据 包 时, 就 会 造 成 内 存 溢 出 系 统 崩 溃 等 后 果 Teardrop 攻 击 : 对 接 收 到 的 分 片 数 据 包 进 行 分 析, 计 算 数 据 包 的 片 偏 移 量 (Offset) 是 否 有 误 某 些 操 作 系 统 收 到 含 有 重 叠 偏 移 的 伪 造 分 片 数 据 包 时 将 会 出 现 系 统 崩 溃 重 启 等 现 象 SYN Flood 攻 击 : 从 随 机 的 或 欺 骗 来 的 IP 地 址 产 生 大 量 的 SYN 数 据 包, 导 致 合 法 请 求 被 拒 绝 SMBDie 攻 击 : 利 用 SMB( 服 务 器 消 息 块 ) 中 代 号 为 CVE-CAN-2002-0274 的 缓 冲 区 溢 出 漏 洞 攻 击, 可 能 导 致 Windows 计 算 机 死 亡 蓝 屏
应 用 服 务 器 的 安 全 性 测 试 技 术 3 E-mail 炸 弹 攻 击 测 试 邮 件 炸 弹 不 仅 能 造 成 收 件 人 信 箱 爆 满 而 无 法 再 接 收 其 他 的 邮 件, 而 且 还 会 加 重 网 络 的 流 量 负 荷, 甚 至 会 导 致 整 个 邮 件 系 统 瘫 痪 常 见 的 邮 件 炸 弹 软 件 有 KaBoom! Avalanche 等 4 密 码 破 解 和 特 权 提 升 测 试 采 用 穷 举 法 漏 洞 利 用 和 字 典 法 等 方 法 破 解 系 统 用 户 密 码, 常 用 工 具 有 :L0phtcrack Crackerjack John the Ripper 等, 在 试 着 破 解 前 用 pwdump5 来 获 取 密 码 的 哈 希, 可 参 考 网 站 : http://www.openwall.com SQL Server 弱 口 令 测 试 : 用 scansql.exe 工 具 测 试 SQL Server 数 据 库 应 用 系 统 是 否 有 默 认 用 户 SA 及 弱 口 令 击 键 记 录 测 试 : 采 用 击 键 记 录 工 具 ( 如 keylog5.exe) 进 行 测 试 检 查 能 否 记 录 管 理 员 的 用 户 名 和 口 令 登 录 测 试 : 对 用 户 名 和 匹 配 的 密 码 进 行 校 验, 以 阻 止 非 法 用 户 登 录 可 测 试 输 入 的 密 码 是 否 对 大 小 写 敏 感 是 否 有 长 度 和 条 件 限 制 最 多 可 以 尝 试 多 少 次 登 录 等 情 况 测 试 时 可 以 将 上 述 多 种 方 法 混 合 使 用, 进 行 暴 力 攻 击 测 试
应 用 服 务 器 的 安 全 性 测 试 技 术 ( 四 ) 使 用 计 算 机 病 毒 及 木 马 测 试 系 统 的 防 护 能 力 最 典 型 的 计 算 机 病 毒 和 木 马 有 木 马 代 理 网 游 大 盗 艾 妮 熊 猫 烧 香 QQ 木 马 灰 鸽 子 等 有 的 木 马 能 绕 过 天 网 等 大 多 数 防 火 墙 的 拦 截 可 以 利 用 这 些 典 型 病 毒 和 木 马 测 试 应 用 服 务 器 系 统 的 防 护 能 力, 验 证 服 务 器 检 测 到 病 毒 时 的 应 急 能 力 许 多 病 毒 和 木 马 在 网 上 很 容 易 下 载 到 可 以 使 用 网 页 木 马 生 成 器 方 便 地 生 成 木 马 也 可 以 利 用 操 作 系 统 的 Shell 编 程 技 术 和 Socket 编 程 技 术 尝 试 编 写 新 的 攻 击 程 序, 用 于 系 统 安 全 性 测 试 ( 五 ) 数 字 取 证 测 试 利 用 系 统 中 的 日 志 审 计 Cookies 历 史 记 录 等 功 能, 验 证 应 用 服 务 器 遭 到 攻 击 后 是 否 留 下 痕 迹, 便 于 取 证