应 用 运 维 安 全 那 些 事 安 全 平 台 部 应 用 运 维 安 全 中 心
关 于 我 sanma( 马 传 雷 / 马 三 ) 前 PHP 程 序 员, 现 应 用 安 全 高 级 工 程 师 2013 xkungfoo 安 全 技 术 峰 会 演 讲 者 2014 电 子 商 务 安 全 技 术 峰 会 演 讲 者 所 在 部 门 安 全 平 台 部 应 用 运 维 安 全 中 心 TSRC http://security.tencent.com
应 用 安 全 的 战 场 数 据 安 全 网 络 保 障 应 急 响 应 主 机 安 全 终 端 安 全 Web 安 全
战 场 - 抗 DDOS
应 用 安 全 的 战 场 : 抗 DDOS
应 用 安 全 的 战 场 : 抗 DDOS 单 点 清 洗 云 防 护 刑 事 打 击
战 场 - 反 黑 客 入 侵
为 什 么 对 抗 黑 客 很 辛 苦 业 务 场 景 日 趋 复 杂 Web2.0 移 动 app 的 交 互 攻 防 对 抗 的 不 断 升 级 层 出 不 穷 的 漏 洞 技 术 门 槛 不 断 降 低 自 动 化 攻 击 平 台
每 天 都 在 发 生 什 么
安 全 对 业 务 的 影 响 有 多 大
刑 法 修 正 案 : 网 站 存 在 漏 洞 是 一 种 犯 罪 二 十 五 在 刑 法 第 二 百 八 十 六 条 后 增 加 一 条, 作 为 第 二 百 八 十 六 条 之 一 : 网 络 服 务 提 供 者 不 履 行 法 律 行 政 法 规 规 定 的 信 息 网 络 安 全 管 理 义 务, 经 监 管 部 门 通 知 采 取 改 正 措 施 而 拒 绝 执 行, 有 下 列 情 形 之 一 的, 处 三 年 以 下 有 期 徒 刑 拘 役 或 者 管 制, 并 处 或 者 单 处 罚 金 : ( 一 ) 致 使 违 法 信 息 大 量 传 播 的 ; ( 二 ) 致 使 用 户 信 息 泄 露, 造 成 严 重 后 果 的 ; ( 三 ) 致 使 刑 事 犯 罪 证 据 灭 失, 严 重 妨 害 司 法 机 关 依 法 追 究 犯 罪 的 ; ( 四 ) 有 其 他 严 重 情 节 的 单 位 犯 前 款 罪 的, 对 单 位 判 处 罚 金, 并 对 其 直 接 负 责 的 主 管 人 员 和 其 他 直 接 责 任 人 员, 依 照 前 款 的 规 定 处 罚
所 以, 这 是 一 个 战 场 安 全 意 识 安 全 能 力 流 程 和 体 系 工 具 和 平 台
常 见 安 全 漏 洞 介 绍
按 照 漏 洞 成 因 进 行 分 类 安 全 漏 洞 研 发 漏 洞 逻 辑 缺 陷 环 境 缺 陷 安 全 策 略 Sql 注 入 XSS CSRF 文 件 上 传 代 码 注 入 命 令 注 入 信 息 泄 漏 整 数 溢 出 越 权 漏 洞 业 务 逻 辑 缺 陷 第 三 方 组 件 和 框 架 基 础 环 境 特 性 弱 口 令 备 份 文 件
头 号 公 敌 :SQL Injection SQL Injection 的 定 义 由 于 程 序 中 对 用 户 输 入 检 查 不 严 格, 用 户 可 以 提 交 一 段 数 据 库 查 询 代 码, 根 据 程 序 返 回 的 结 果, 获 得 某 些 他 想 得 知 的 数 据, 这 就 是 所 谓 的 SQL Injection, 即 SQL 注 入 SQL Injection 的 本 质 对 于 输 入 检 查 不 充 分, 导 致 SQL 语 句 将 用 户 提 交 的 非 法 数 据 当 作 语 句 的 一 部 分 来 执 行
外 部 报 告 的 注 入 漏 洞
头 号 公 敌 :SQL Injection 示 例
头 号 公 敌 :SQL Injection 可 以 干 什 么 获 取 数 据 获 取 服 务 器 控 制 权 渗 透 内 网
头 号 公 敌 :SQL Injection 可 以 干 什 么 严 格 限 定 参 数 类 型 明 确 参 数 检 验 的 边 界 采 用 参 数 化 查 询 的 方 法 ( 推 荐 ) 内 置 过 滤 系 统 ( 本 质 是 黑 名 单, 很 常 见 但 是 不 推 荐 ) 错 误 代 码 String user = request.getparameter("username"); String pass = request.getparameter("password"); String query = "SELECT id FROM users WHERE username="+user+" AND password="+pass; Statement stmt = con.createstatement(query); ResultSet rs = con.executequery(query); 正 确 代 码 String user = request.getparameter("username"); String pass = request.getparameter("password"); String query = SELECT id FROM users WHERE username=? AND password=?"; PreparedStatement stmt = con.preparestatement(query); stmt.setstring(1, user); stmt.setstring(2, pass);
跨 站 脚 本 攻 击 XSS(Cross Site Script) 定 义 - 它 指 的 是 恶 意 攻 击 者 往 Web 页 面 里 插 入 恶 意 html 代 码, 当 用 户 浏 览 该 页 之 时, 嵌 入 其 中 Web 里 面 的 html 代 码 会 被 执 行, 从 而 达 到 恶 意 用 户 的 特 殊 目 的 XSS 属 于 被 动 式 的 攻 击, 因 为 其 被 动 且 不 好 利 用, 所 以 许 多 人 常 忽 略 其 危 害 性
跨 站 脚 本 攻 击 分 类 Reflected XSS (Non-persist XSS) 跨 站 代 码 一 般 存 在 于 链 接 中, 请 求 这 样 的 链 接 时, 跨 站 代 码 经 过 服 务 端 反 射 回 来, 这 类 跨 站 的 代 码 一 般 不 存 储 到 服 务 端 Stored XSS (Persist XSS) 这 是 利 用 起 来 最 方 便 的 跨 站 类 型, 跨 站 代 码 存 储 于 服 务 端 ( 比 如 数 据 库 中 ) DOM based XSS 一 种 基 于 DOM 的 跨 站, 这 是 客 户 端 脚 本 自 身 解 析 不 正 确 导 致 的 安 全 问 题
跨 站 脚 本 攻 击
跨 站 脚 本 攻 击 持 久 型 XSS 注 入 漏 洞 恶 意 代 码 存 储 到 DB, 每 次 访 问 该 页 面 就 会 执 行
跨 站 脚 本 攻 击
跨 站 脚 本 攻 击
跨 站 脚 本 攻 击
跨 站 脚 本 攻 击 XSS 注 入 漏 洞 的 防 御 网 络 层 :Web 应 用 防 火 墙 架 构 层 : 域 名 分 离 /cookie 加 固 /CSRF 防 御 代 码 层 : 输 出 转 义 输 出 的 时 候 转 义 HTML 代 码 < => < > => > => " 富 文 本 需 要 专 有 的 分 析 库 ( 推 荐 安 全 中 心 出 品 的 CGI 安 全 API)
跨 站 脚 本 攻 击 XSS Cheat Sheet http://ha.ckers.org/xss.html
文 件 上 传 攻 击 文 件 上 传 的 验 证 常 见 的 错 误 允 许 上 传 可 执 行 文 件 使 用 客 户 端 JS 验 证 上 传 文 件 类 型 使 用 黑 名 单 限 制 上 传 文 件 类 型 文 件 名 / 存 储 目 录 名 可 自 定 义 文 件 名 中 特 殊 字 符 处 理 不 当
文 件 上 传 攻 击 文 件 上 传 漏 洞 1: 梦 网 彩 信 相 册 任 意 代 码 执 行 Resin 服 务 默 认 可 以 执 行 xtp 类 型 文 件, 彩 信 相 册 的 照 片, 铃 声 等 上 传 页 面 的 后 台 程 序 没 有 对 xtp 扩 展 名 过 滤, 导 致 可 以 上 传 执 行 代 码
文 件 上 传 攻 击
文 件 下 载 攻 击 文 件 下 载 漏 洞 String filename = request.getparameter( fn ); String absolutepath = WEB_PATH+ filename; WebUtils.downFile(absolutePath); ----------------------------------------------------- http://site/docfile.jsp?fn=testdoc.doc // 合 法 提 交 http://site/docfile.jsp?fn=../../../../etc/passwd // 非 法 提 交 ----------------------------------------------------- 过 滤 方 式 filename = filename.replaceall( \\.\\., );
文 件 下 载 攻 击 String imgname = request.getparameter("imgname"); String imgkey = MD5Encrypt.MD5(imgName);// 本 地 if (imagecache.containskey(imgkey)) { data = (byte[]) imagecache.get(imgkey); } else { String imagepath = Consts.IMG_LOCAL_PAHT + imgname; logger.info("imagepath: InputStream inputstream = null; " + imagepath); File imagefile = new File(imagePath); logger.debug(imagepath + " " + imagefile.exists()); if (imagefile.exists() && imagefile.isfile()) { inputstream = new FileInputStream(imagePath); int i = inputstream.available(); data = new byte[i]; inputstream.read(data); inputstream.close();
文 件 包 含 攻 击 2016-06-13
整 数 溢 出 示 例 代 码 : String number = request.getparameter( number );// 商 品 数 量 int num = Integer.parseInt(number); If (num > 0){ int total = num * 100; // 计 算 总 价 格 } ------------------------------------------------- 某 人 订 购 大 量 商 品 number = "42949671"; 计 算 出 来 的 总 价 total = -196
整 数 溢 出 开 心 网 刷 现 金 漏 洞 在 开 心 网 买 游 戏 中, 服 务 器 端 购 买 种 子 的 函 数 未 对 购 买 的 种 子 个 数 和 用 户 资 金 进 行 量 判 断 通 过 修 数 据 包 中 购 买 种 子 的 个 数 绕 过 客 户 端 的 判 断, 当 用 户 资 金 到 达 负 值 后, 用 户 资 金 将 到 达 一 个 20 亿 的 正 值
容 错 这 种 漏 洞 会 泄 漏 一 些 敏 感 信 息 最 佳 安 全 实 践 : 不 将 错 误 信 息 输 出 给 用 户
管 理 后 台 泄 漏 内 部 系 统 的 管 理 后 台 直 接 暴 露 给 任 意 访 问 者 最 佳 安 全 实 践 : 管 理 后 台 设 置 IP 访 问 限 制 公 司 内 部 系 统 密 码 与 外 部 密 码 区 分 密 码 长 度 >=8 位, 且 必 须 含 有 大 小 写 数 字 特 殊 字 符 QQ 号 码 登 录, 设 置 Token 手 机 令 牌 等 二 次 验 证 逻 辑
备 份 文 件 有 些 编 辑 器 ( 如 UltraEdit-32) 修 改 文 件 后 会 自 动 生 成 一 个.bak 的 备 份 文 件 SVN 版 本 控 制 会 生 成.svn/entries 文 件 最 佳 安 全 实 践 : 不 要 将 无 关 文 件 同 步 到 正 式 环 境
目 录 浏 览 允 许 目 录 浏 览 会 泄 漏 文 件 信 息 Google Hacking:
测 试 页 面 Google Hacking: 利 用 搜 索 引 擎 查 找 存 在 漏 洞 的 站 点 来 玩 一 下 : 试 试 搜 索 inurl:qq.txt 看 看
框 架 安 全 性 开 源 框 架 ThinkPHP struts 便 利 VS 危 险 最 佳 安 全 实 践 : 评 估 一 个 框 架 的 安 全 性 是 否 有 足 够 的 维 护, 是 否 闭 源 关 注 官 方 安 全 公 告 补 丁 优 先 选 择 公 司 内 部 资 源 (KM)
第 三 方 组 件 带 来 的 安 全 问 题 历 史 多 次 证 明, 引 入 的 第 三 方 网 页 安 全 性 往 往 不 可 靠 <iframe src="url"></iframe> <script src="url"></script> 最 佳 实 践 : 不 使 用 第 三 方 网 页 / 代 码
工 具 自 动 化 完 整 解 决 方 案 Web 漏 洞 扫 描 器 JSky: 国 产 的 免 费 Web 漏 洞 扫 描 器, 功 能 较 为 强 大 AppScan: 国 外 的 商 业 Web 漏 洞 扫 描 器 Acunetix Web Vulnerability Scanner: 国 外 的 商 业 Web 漏 洞 扫 描 器
工 具 半 自 动 工 具 代 理 模 式 的 Web 漏 洞 扫 描 器 Paros StrikeProxy WebScarab BurpSuite
工 具 专 项 检 测 工 具 SQL 注 入 攻 击 工 具 : 啊 D NBSI Pangolin sqlmap 暴 力 破 解 密 码 工 具 : 溯 雪 CSRF 测 试 工 具 :CSRFTester 一 些 辅 助 工 具 : 修 改 cookie 的 浏 览 器 (WebTool) 抓 包 工 具 (HTTP Watch) 编 码 转 换 工 具 Perl/VBS/JS 脚 本
腾 讯 的 安 全 体 系
应 用 运 维 安 全 概 况 体 系 用 户 安 全 生 产 环 境 安 全 办 公 网 安 全
应 用 运 维 安 全 概 况 平 台 建 设 Web 漏 洞 扫 描 器 客 户 端 审 计 系 统 代 码 审 计 系 统 安 全 客 户 端 主 机 安 全 Agent 运 维 操 作 审 计 账 号 安 全 管 理 DDoS 防 御 IDS / WAF DNS 监 控 系 统 出 口 代 理
应 用 运 维 安 全 概 况 借 助 外 部 力 量 官 网 http://security.tencent.com 漏 洞 反 馈 平 台 与 奖 励 计 划 分 享 平 台 ( 文 章 项 目 )
合 作 共 赢 安 全 不 是 某 一 家 做 好 就 可 以
新 互 联 网 时 代 的 安 全 威 胁 隐 私 保 护 用 户 的 意 识 觉 醒 定 义 到 底 是 什 么 容 易 泄 漏, 如 何 有 效 保 护 大 数 据 安 全 力 量 强 大, 充 满 无 限 想 象 力 数 据 越 来 越 值 钱, 泄 漏 风 险 增 加 滥 用 如 何 审 计 监 管 认 证 机 制 传 统 的 密 码 已 死 使 用 手 机 短 信 或 者 语 音? 通 讯 监 听 伪 基 站 一 次 性 密 码? 云 安 全 未 来 一 切 都 是 在 云 端 可 用 性 易 用 性 与 安 全 性 的 平 衡 APT 攻 击 专 业 的 团 队, 针 对 性 和 目 的 性 极 强 及 其 耐 心, 难 以 发 现 移 动 互 联 网 Andriod? 整 个 系 统 生 态 的 安 全 性 有 待 提 升 移 动 支 付? 便 利 性 vs 安 全 性 产 值 在 增 加, 黑 客 产 业 链 瞄 准