Java 开 放 源 码 风 险 和 弱 点 JVM 是 免 费 的 - 黑 客 可 以 使 用 商 业 反 汇 编 程 序 查 看 代 码, 弄 清 JVM 的 工 作 方 式 - 代 码 变 得 完 全 透 明 Java.class 是 可 公 开 获 取 的 - 黑 客 可 使 用 简 单 的



Similar documents
评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

I

中 国 软 科 学 年 第 期!!!

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

珠江钢琴股东大会



深圳市新亚电子制程股份有限公司

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

《C语言基础入门》课程教学大纲

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年


修改版-操作手册.doc

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

ETF、分级基金规模、份额变化统计

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

第2章 数据类型、常量与变量

 编号:

国债回购交易业务指引

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

Microsoft Word - 第7章 图表反转形态.doc

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

证监会行政审批事项目录

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

登录、注册功能的测试用例设计.doc

上海证券交易所会议纪要

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

云信Linux SSH认证代理用户手册

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

证券代码: 证券简称:长城电脑 公告编号:

第 三 章 审 计 证 据 2

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

一、资质申请

附件1:

第 一 部 分 MagiCAD for Revit 安 装 流 程

Microsoft Word - 文件汇编.doc

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

·岗位设置管理流程

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

2006年顺德区高中阶段学校招生录取分数线

GB

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

上证指数

Microsoft Word - 工业品封面.doc

<4D F736F F D20A1B6C8DAD7CAC8DAC8AFBDBBD2D7CAB5CAA9CFB8D4F2A1B7D0DEB6A9BDE2B6C1A3A8C8DAD7CAC8DAC8AFD7A8C0B8A3A92E646F63>

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

Microsoft Word - 第3章.doc

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

Template BR_Rec_2005.dot

第 四 条 建 设 单 位 对 可 能 产 生 职 业 病 危 害 的 建 设 项 目, 应 当 依 照 本 办 法 向 安 全 生 产 监 督 管 理 部 门 申 请 职 业 卫 生 三 同 时 的 备 案 审 核 审 查 和 竣 工 验 收 建 设 项 目 职 业 卫 生 三 同 时 工 作 可

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

2 根 据 广 东 省 交 通 建 设 工 程 施 工 现 场 开 工 前 考 核 评 表 或 根 据 广 东 省 交 通 建 设 工 程 施 工 现 场 实 施 过 程 考 核 评 表 的 和 内 容 进 行 核 查 ; 3 现 场 抽 查 具 有 代 表 性 的 各 岗 位 人 员 ( 从 事

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

<4D F736F F D20D6D0B9FABDE1CBE3C9CFBAA3B7D6B9ABCBBECCD8CAE2B7A8C8CBBBFAB9B9D6A4C8AFD5CBBBA7BFAABBA7D2B5CEF1D6B8C4CF2E646F63>

世华财讯模拟操作手册

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30-

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

徐天宏:《基因天堂》.doc

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

国际财务报告准则第13号——公允价值计量

<4D F736F F D20B2CEBFBC3232C6DAD1A7CFB0D3EBCBBCBFBCC4DAD2B3>

境 外 上 市 外 资 股 股 东 持 有 股 份 总 数 (H 股 ) 489,157,907 3 出 席 会 议 的 股 东 所 持 有 表 决 权 股 份 数 占 公 司 有 表 决 权 股 份 总 数 的 其 中 :A 股 股 东 持 股 占 股 份 总 数 的

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

:厦门安妮股份有限公司关于重大资产重组事项相关公告的更正公告+

西 南 民 族 学 院 学 报 哲 学 社 会 科 学 版 第 卷 资 料 来 源 中 国 统 计 年 鉴 年 年 新 中 国 五 十 年 统 计 资 料 汇 编 中 国 人 口 统 计 年 鉴 年 数 据 资 料 来 源 中 国 统 计 年 鉴 中 国 统 计 出 版 社 年 版 资 料 来 源

2014年中央财经大学研究生招生录取工作简报

光明乳业股份有限公司

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

Microsoft Word 国联安基金管理有限公司关于旗下部分基金增加深圳众禄基金销售有限公司为代销机构的公告.doc

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

教师上报成绩流程图

第 期 李 伟 等 用 方 法 对 中 国 历 史 气 温 数 据 插 值 可 行 性 讨 论

B-002 行 政 处 罚 在 气 象 探 测 环 境 保 护 范 围 内 从 事 危 害 气 象 探 测 环 境 活 动 的 处 罚 中 华 人 民 共 和 国 气 象 法 第 三 十 五 条 第 一 款 第 二 项 B-003 行 政 处 罚 在

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录 企 业 基 本 信 息 查 看 企 业 人 员 信 息 查 看 企 业 基 本 信 息 操 作 企 业 简 介 企 业 章

ICS 35

目 录 第 一 章 : 登 陆 平 台 概 述 登 陆 平 台 的 步 骤 第 二 章 : 免 费 实 习 账 号 概 述 创 建 实 习 账 号 第 三 章 : 商 品 价 格 概 述 查 看 价 格 选 择 图 表 快 速 开 立 订 单 详 细 订 单 输 入 第 四 章 : 开 仓 部 位

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05

名 称 依 据 使 主 体 5 对 煤 矿 注 册 安 全 工 程 师 注 册 执 业 活 动 的 监 督 规 章 注 册 安 全 工 程 师 管 理 规 定 第 五 条 国 家 安 全 生 产 监 督 管 理 总 局 ( 以 下 简 称 安 全 监 管 总 局 ) 对 全 国 注 册 安 全 工

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

白皮书

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较


( 此 页 无 正 文, 为 广 东 东 方 精 工 科 技 股 份 有 限 公 司 关 于 提 供 资 料 真 实 准 确 和 完 整 的 承 诺 函 之 签 署 页 ) 广 东 东 方 精 工 科 技 股 份 有 限 公 司 法 定 代 表 人 : 唐 灼 林 2016 年 7 月 28 日

Transcription:

克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 如 今, 越 来 越 多 的 开 发 人 员 选 择 Java 平 台 作 为 首 选 的 开 源 开 发 环 境, 通 过 这 种 平 台 可 以 直 接 使 用 可 公 开 获 得 的.class 文 件 格 式 和 简 单 的 指 令 集 使 用 开 放 源 码 方 法 有 许 多 优 点, 但 这 样 编 写 的 代 码 对 于 窥 探 是 完 全 透 明 的 对 于 已 开 发 软 件 中 经 过 多 年 时 间 和 投 资 形 成 的 公 司 知 识 产 权 (IP), 其 屏 障 因 此 变 得 公 开 了 目 录 执 行 摘 要... 2 Java 应 用 程 序 正 变 得 越 来 越 普 遍... 2 Java 极 易 遭 受 逆 向 工 程... 2 Jvm 是 开 放 源 码... 2 Java.Class 文 件 格 式 是 可 公 开 获 取 的... 2 Jvm 是 软 件, 而 不 是 硬 件... 2 Java 的 指 令 比 本 机 代 码 少... 3 第 三 方 反 汇 编 程 序 增 加 了 漏 洞... 3 为 什 么 通 过 板 载 措 施 防 止 逆 向 工 程 是 不 够 的... 4 防 止 逆 向 工 程 攻 击... 4 SafeNet Sentinel: 一 种 更 简 便 的 封 装 方 式... 7 结 论... 8 关 于 SafeNet Sentinel 解 决 方 案... 8 Sentinel 中 文 为 圣 天 诺 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 1

Java 开 放 源 码 风 险 和 弱 点 JVM 是 免 费 的 - 黑 客 可 以 使 用 商 业 反 汇 编 程 序 查 看 代 码, 弄 清 JVM 的 工 作 方 式 - 代 码 变 得 完 全 透 明 Java.class 是 可 公 开 获 取 的 - 黑 客 可 使 用 简 单 的 可 用 工 具 处 理 修 改 或 转 换.class 文 件 更 少 的 本 机 代 码 指 令 - 黑 客 现 在 使 用 更 少 的 指 令 (200 而 不 是 400), 可 以 更 快 地 分 析 代 码 以 进 行 逆 向 工 程 更 好 控 制 - 黑 客 不 需 要 深 入 到 特 定 的 硬 件 级 别, 可 以 更 容 易 地 查 看 和 分 析 数 据 执 行 摘 要 由 于 具 有 平 台 独 立 性,Java 环 境 越 来 越 受 到 开 发 人 员 的 欢 迎 然 而,Java 的 开 源 代 码 可 公 开 获 取 的.class 文 件 格 式 和 简 单 的 指 令 集 使 其 暴 露 于 窥 探 和 敌 对 分 析 之 下 随 着 各 机 构 将 它 们 的 商 业 应 用 程 序 转 向 Java 技 术, 其 关 键 知 识 产 权 变 得 易 于 遭 受 逆 向 工 程 篡 改 和 盗 窃 目 前, 源 代 码 和 字 节 码 级 别 的.class 文 件 加 密 和 混 淆 是 开 发 人 员 用 于 阻 止 逆 向 工 程 的 两 个 主 要 措 施, 但 漏 洞 仍 然 存 在 本 白 皮 书 探 讨 了 Java 代 码 漏 洞 的 性 质, 现 有 解 决 方 案 的 局 限 性, 以 及 结 合 混 淆 与 加 密 的 Java 代 码 全 面 封 装 如 何 成 为 保 护 关 键 算 法 和 其 它 知 识 产 权 的 理 想 解 决 方 案 Java 应 用 程 序 正 变 得 越 来 越 普 遍 如 今, 全 世 界 的 IT 公 司 都 在 一 定 程 度 上 接 受 了 Java 现 在 有 无 数 的 产 品 使 用 Java 编 写 并 用 于 Java 平 台, 而 不 是 Windows 或 UNIX 平 台 与 其 它 编 程 语 言 相 比,Java 最 重 要 的 优 点 是 平 台 独 立 性 - 这 意 味 着 它 几 乎 可 以 在 任 何 体 系 结 构 和 操 作 系 统 上 运 行 Java 并 不 将 应 用 程 序 绑 定 到 特 定 的 硬 件 体 系 结 构 ( 如 Intel 或 PowerPC), 而 是 对 所 有 体 系 结 构 都 使 用 单 一 的 代 码 库 软 件 开 发 人 员 先 以 使 用 预 定 义 Java API 软 件 包 的 Java 语 言 编 写 程 序, 然 后 使 用 Java 编 译 器 来 编 译 这 些 程 序 其 成 果 是 可 在 Java 虚 拟 机 (JVM) 上 执 行 的 已 编 译 字 节 码,Java 虚 拟 机 是 用 于 执 行 Java 程 序 的 软 件 环 境 ( 如 Java Runtime Environment) 用 户 仅 在 拥 有 JVM 时 才 能 运 行 Java 程 序 ; 但 许 多 平 台 都 有 JVM, 这 使 得 Java 成 为 一 种 高 度 可 移 植 语 言 Java 极 易 遭 受 逆 向 工 程 虽 然 能 够 编 写 一 次, 随 处 运 行 (Write Once, Run Anywhere) 是 一 个 巨 大 的 优 势, 但 这 种 环 境 的 架 构 方 式 使 其 远 比 本 机 应 用 程 序 更 容 易 被 黑 客 进 行 逆 向 工 程 这 意 味 着 开 发 人 员 面 临 着 失 去 知 识 产 权 的 非 常 真 实 的 危 险 基 于 应 用 程 序 的 虚 拟 机 比 本 机 应 用 程 序 更 容 易 逆 向 工 程 的 原 因 有 很 多 : JVM 是 开 源 的 Sun 已 经 免 费 提 供 JVM 的 源 代 码 这 使 得 黑 客 只 需 查 看 代 码 即 可 弄 清 虚 拟 机 的 工 作 方 式 Java.class 文 件 格 式 是 可 公 开 获 取 的 如 前 所 述,Java 源 代 码 被 编 译 成 字 节 码, 而 字 节 码 存 储 在 Java.class 文 件 中 Java.class 文 件 格 式 的 规 范 是 可 公 开 获 取 的, 因 此 有 技 术 背 景 的 任 何 人 都 能 容 易 地 编 写 可 以 处 理 修 改 或 转 换.class 文 件 的 工 具 JVM 是 软 件, 而 不 是 硬 件 与 需 要 理 解 特 定 处 理 器 的 专 家 使 用 的 标 准 编 程 语 言 不 同,JVM 是 一 个 应 用 程 序, 它 如 同 微 处 理 器 一 样 运 作, 并 使 用 操 作 系 统 和 计 算 机 硬 件 提 供 的 内 置 功 能 由 于 黑 客 不 必 深 入 到 硬 件 级 别, 因 此 更 容 易 取 得 对 JVM 的 完 全 控 制 因 此, 例 如 在 使 用 标 准 本 机 系 统 开 发 语 言 进 行 调 试 时, 暂 停 处 理 器 极 为 困 难, 需 要 具 备 处 理 器 调 试 功 能 及 可 用 环 调 试 器 的 专 家 知 识 但 是, 由 于 JVM 运 行 环 境 的 源 代 码 是 可 公 开 获 取 的, 因 此 开 发 人 员 可 以 轻 松 地 建 立 自 己 的 虚 拟 机 来 完 全 控 制 虚 拟 处 理 器 的 各 个 方 面 这 样 可 以 容 易 地 分 析 运 行 环 境 中 运 行 的 每 个 应 用 程 序 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 2

Sentinel Envelope 特 性 和 优 点 文 件 自 动 包 装 器 - 通 过 文 件 加 密 和 本 机 代 码 混 淆 提 供 强 有 力 的 保 护 来 防 止 软 件 逆 向 工 程 将 应 用 程 序 重 新 关 联 到 硬 件 - 应 用 程 序 通 过 保 护 密 钥 与 与 硬 件 紧 密 结 合 安 全 通 信 通 道 - SENTINEL HASP 为 受 保 护 应 用 程 序 与 保 护 密 钥 之 间 的 通 信 提 供 安 全 通 道, 从 而 消 除 了 中 间 人 攻 击 Java Envelope 使 用 这 种 能 力 来 防 止 黑 客 通 过 截 取 通 信 访 问 保 护 密 钥 发 回 的 数 据 运 行 时 解 密 - 由 于 SENTINEL HASP 是 按 请 求 在 运 行 时 解 密 文 件, 而 不 是 一 次 将 所 有.class 文 件 加 载 到 虚 拟 机, 因 此 可 以 防 止 黑 客 重 建 整 个 应 用 程 序 Java 的 指 令 比 本 机 代 码 少 然 而,JVM 代 码 易 于 进 行 反 向 工 程 的 另 一 个 原 因 是 它 具 有 比 本 地 应 用 程 序 更 少 的 指 令 这 是 出 于 性 能 考 虑 JVM 的 使 用 在 应 用 程 序 和 本 机 处 理 器 之 间 增 加 了 一 个 软 件 层, 这 会 对 性 能 产 生 负 面 影 响 虽 然 现 代 处 理 器 不 断 提 高 的 执 行 速 度 最 终 将 缓 解 这 一 问 题, 但 这 一 问 题 仍 然 很 明 显 虚 拟 机 开 发 人 员 提 高 执 行 速 度 的 一 种 方 法 是 使 用 比 本 机 处 理 器 汇 编 程 序 更 小 的 字 节 码 指 令 集 本 机 应 用 程 序 可 能 包 含 多 达 400 条 指 令, 而 Java 应 用 程 序 通 常 使 用 不 超 过 200 条 的 指 令 更 少 的 指 令 意 味 着 黑 客 可 以 更 快 地 分 析 代 码 以 进 行 逆 向 工 程 这 些 特 性 使 得 虚 拟 机 远 比 其 它 类 型 的 应 用 程 序 更 容 易 遭 受 逆 向 工 程 攻 击 第 三 方 反 汇 编 程 序 增 加 了 漏 洞 不 仅 是 JVM 本 身 容 易 遭 受 逆 向 工 程 攻 击, 商 业 和 免 费 的 Java 字 节 码 反 汇 编 程 序 也 越 来 越 多, 从 而 进 一 步 简 化 了 代 码 逆 向 工 程 的 过 程 IDA 和 Eclipse 字 节 码 插 件 是 众 多 Java 字 节 码 反 汇 编 程 序 中 的 两 种 作 为 商 业 产 品, IDA 是 一 种 普 遍 的 反 汇 编 程 序, 可 用 于 许 多 不 同 的 处 理 器, 包 括 80x86 和 MIPS Eclipse 字 节 码 插 件 是 免 费 软 件 它 能 够 反 编 译 Java.class 文 件 的 字 节 码 并 以 适 当 的 顺 序 显 示 所 有 操 作 码 指 令 尽 管 这 些 产 品 不 大 可 能 从 字 节 码 完 美 地 恢 复 原 始 代 码, 但 它 们 恢 复 的 源 代 码 将 等 同 于 原 始 代 码, 并 且 比 字 节 码 更 具 可 读 性 一 旦 恢 复 了 源 代 码, 攻 击 者 可 以 容 易 地 删 除 部 分 代 码 并 将 其 非 法 地 用 于 竞 争 对 手 的 应 用 程 序 中, 或 在.class 文 件 中 定 位 打 补 丁 图 1 提 供 了 黑 客 可 能 如 何 在.class 文 件 中 打 补 丁 的 一 个 示 例 屏 幕 的 上 半 部 分 显 示 了 一 小 段 Java 源 代 码 屏 幕 的 下 半 部 分 显 示 了 字 节 码 反 汇 编 的 输 出, 也 就 是 一 个 字 节 码 指 令 列 表 标 记 为 红 色 的 区 域 是 源 代 码 中 IF 结 构 的 对 应 指 令 字 节 码 指 令 LCMP 的 十 六 进 制 表 示 为 0x94 该 工 具 还 指 出 了 操 作 码 在.class 文 件 中 的 位 置 有 了 这 些 信 息, 黑 客 可 以 使 用 简 单 的 十 六 进 制 编 辑 器 来 改 变 该 IF 分 支, 而 这 只 需 不 到 一 分 钟 的 时 间 假 设 该 IF 条 件 用 于 许 可 证 检 查, 黑 客 可 倒 置 该 条 件, 指 示 即 使 在 许 可 证 被 验 证 为 无 效 ( 如 已 过 期 ) 的 情 况 下 仍 返 回 True, 从 而 突 破 许 可 证 检 查 在 这 种 情 况 下, 黑 客 使 用 一 个 字 节 的 补 丁 即 可 完 成 所 有 工 作 虽 然 大 多 数 应 用 程 序 都 比 这 个 示 例 更 加 复 杂, 但 即 使 在 复 杂 的 应 用 程 序 中, 字 节 码 也 非 常 简 单 并 且 容 易 理 解 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 3

JVM 为 开 发 人 员 提 供 了 编 写 一 次 应 用 程 序 即 可 在 几 乎 任 何 平 台 上 运 行 的 能 力, 但 具 有 使 黑 客 易 于 对 源 代 码 进 行 逆 向 工 程 篡 改 或 盗 窃 的 重 大 缺 陷 图 1 - 用 于 字 节 码 反 汇 编 的 Eclipse 字 节 码 插 件 为 什 么 板 载 措 施 不 足 以 防 止 逆 向 工 程 大 多 数 虚 拟 机 都 包 含 一 些 使 逆 向 工 程 复 杂 化 的 功 能 Java 允 许 用 户 在 JAR 存 档 中 提 供 的 每 个 类 上 设 置 一 个 数 字 证 书, 以 确 保 原 始 文 件 没 有 被 更 改 虽 然 这 样 做 并 无 害 处, 但 该 功 能 相 当 容 易 清 除, 并 且 仅 针 对 静 态 补 丁 方 法 提 供 保 护, 而 静 态 补 丁 只 是 攻 击 场 景 中 的 一 小 部 分 而 且, 这 种 方 法 并 不 能 针 对 运 行 时 应 用 于 内 存 的 补 丁 提 供 保 护 Java 还 通 过 虚 拟 机 执 行 字 节 码 验 证 器, 该 验 证 器 在 执 行 通 过 的 字 节 码 之 前 对 其 进 行 自 动 分 析 这 可 以 防 止 执 行 奇 怪 的 代 码, 也 使 字 节 码 注 入 变 得 更 加 困 难 然 而, 尽 管 这 些 措 施 给 攻 击 者 造 成 了 困 难, 但 对 于 充 分 保 护 知 识 产 权 还 远 远 不 够 防 止 逆 向 工 程 攻 击 开 发 人 员 通 常 用 以 防 止.class 文 件 静 态 分 析 和 字 节 码 反 汇 编 的 一 种 方 法 是 封 装, 这 种 方 法 通 过 应 用 加 密 / 解 密 完 整 文 件 来 防 止 对 类 文 件 的 分 析 通 过 封 装, 开 发 人 员 将 受 保 护 文 件 的 原 始 加 载 器 更 换 为 处 理 加 密 / 解 密 的 自 定 义 加 载 器 加 密 使 用 将.class 文 件 从 标 准 Java.class 格 式 更 改 为 仅 密 钥 所 有 者 可 读 格 式 的 算 法 来 防 止 对 这 些 文 件 的 分 析 然 而,.class 文 件 的 字 节 码 在 一 个 内 存 位 置 中 仍 保 持 可 读, 在 系 统 加 载 器 尝 试 加 载 该 类 之 前 的 时 刻, 通 常 可 从 该 位 置 访 问 字 节 码 如 果 黑 客 能 够 找 到 那 个 内 存 位 置, 就 可 以 访 问 原 始 状 态 的 该 类 防 止 黑 客 攻 击 该 内 存 位 置 需 要 第 二 种 技 术, 称 为 混 淆 混 淆 可 产 生 一 个 更 加 复 杂 难 于 理 解 并 且 与 原 始 代 码 具 有 相 同 行 为 方 式 的 代 码 版 本 下 面 是 一 个 简 单 的 80x86 汇 编 程 序 代 码 段, 取 自 Windows 二 进 制 代 码 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 4

虽 然 Java 提 供 了 一 些 内 在 的 安 全 措 施, 但 这 些 功 能 不 足 以 完 全 防 止 攻 击 加 密 和 代 码 混 淆 等 技 术 通 常 用 于 减 缓 攻 击, 但 仍 然 留 有 漏 洞 Java 封 装 (Java Enveloping) 将 加 密 与 本 机 代 码 混 淆 相 结 合 来 提 供 最 强 的 保 护 通 过 使 用 SENTINEL HASP 解 决 方 案, 您 可 以 获 得 封 装 的 诸 多 好 处, 而 不 必 花 费 宝 贵 的 时 间 和 精 力 来 自 行 开 发 解 决 方 案 现 在 我 们 将 尝 试 在 代 码 段 中 添 加 新 的 指 令 并 更 换 其 它 指 令 以 使 代 码 难 以 理 解, 从 而 混 淆 代 码 段 下 面 是 已 混 淆 的 版 本 : 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 5

由 于 SENTINEL HASP 是 按 请 求 在 运 行 时 解 密 文 件, 而 不 是 一 次 将 所 有.class 文 件 加 载 到 虚 拟 机, 因 此 可 以 防 止 黑 客 重 建 整 个 应 用 程 序 在 此 示 例 中, 我 们 通 过 加 入 算 术 指 令 扩 展 了 该 操 作 码 片 段 该 代 码 现 在 更 加 难 以 阅 读 由 于 不 能 简 单 地 从 片 段 阅 读 代 码, 潜 在 的 黑 客 必 须 执 行 计 算 才 能 理 解 其 内 容 虽 然 这 个 特 殊 的 示 例 仍 然 很 容 易 理 解, 但 我 们 可 以 根 据 需 要 的 次 数 来 重 复 该 类 型 的 混 淆, 将 这 个 简 单 的 代 码 段 扩 展 为 超 过 1000 行 代 码, 从 而 使 代 码 内 容 变 得 难 以 理 解 当 使 用 了 混 淆 时, 攻 击 者 必 须 制 作 特 殊 工 具 才 能 理 解 原 始 代 码 段, 而 这 不 是 一 件 容 易 的 事 有 几 种 不 同 类 型 的 混 淆 方 法 可 用 于 指 令 集 : 程 序 员 可 以 通 过 替 换 二 进 制 代 码 中 的 所 有 字 符 串 来 混 淆 代 码, 这 样 就 更 加 难 以 找 到 一 个 好 的 切 入 点 来 开 始 逆 向 工 程 攻 击 他 们 可 以 通 过 插 入 指 向 垃 圾 代 码 的 跳 转 并 返 回 来 迷 惑 攻 击 者, 或 混 淆 源 代 码 或 字 节 码 开 发 人 员 也 可 以 选 择 使 用 名 为 Const2Code 转 换 的 技 术 来 混 淆 常 量 例 如, 密 钥 有 时 在 应 用 程 序 中 存 储 为 一 组 字 节 如 果 黑 客 确 定 了 这 些 字 节 的 位 置, 他 们 就 可 以 访 问 这 些 字 节 为 混 淆 一 个 常 量 ( 如 密 钥 ),Const2Code 算 法 将 常 量 转 换 为 可 产 生 同 一 常 量 的 多 个 不 同 的 命 令 例 如, 为 了 在 源 代 码 段 中 隐 藏 常 量 cst=0x12345678, 可 以 将 该 常 量 简 单 地 分 为 几 个 算 术 运 算, 如 加 减 等 等 A = 0x9ABCDF00;B=0x2;C=0x135799E00 现 在 让 我 们 使 用 这 三 个 变 量 重 新 计 算 出 常 量 0x12345678 我 们 的 原 始 常 量 为 :cst = C / B + A 0x88888888 A + 1000= 0x12345678 如 果 应 用 程 序 仅 使 用 该 例 程 来 计 算 常 量, 攻 击 者 就 必 须 理 解 其 中 的 含 义, 而 不 是 简 单 地 获 取 该 常 量 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 6

现 在 让 我 们 来 看 一 个 源 代 码 混 淆 的 示 例 图 2 包 含 的 原 代 码 已 使 用 C2C 算 法 进 行 混 淆, 隐 藏 了 密 钥 图 2 - 可 混 淆 的 Java 源 代 码 示 例 - 这 是 一 个 简 单 的 代 码 段, 使 用 原 始 的 C2C 算 法 计 算 密 钥 图 3 - 手 动 源 代 码 混 淆 的 Java 源 代 码 示 例 如 图 3 所 示, 在 进 行 手 动 源 代 码 混 淆 后, 该 示 例 变 得 非 常 不 同 乍 看 上 去 将 无 法 看 出 手 动 混 淆 的 代 码 是 用 于 计 算 相 同 的 密 钥 在 这 种 情 况 下, 不 仅 是 源 代 码 不 同, 生 成 的 字 节 码 也 完 全 不 同 由 于 可 以 生 成 大 量 字 节 码, 源 代 码 混 淆 的 程 序 将 变 更 加 难 以 分 析 SafeNet Sentinel: 一 种 更 简 便 的 封 装 方 式 SENTINEL HASP Envelope 是 一 个 自 动 文 件 包 装 器, 通 过 文 件 加 密 和 本 机 代 码 混 淆 提 供 针 对 软 件 逆 向 工 程 的 强 有 力 保 护 这 确 保 了 嵌 入 软 件 中 的 算 法 商 业 秘 密 和 专 业 知 识 对 于 黑 客 是 安 全 的 SENTINEL HASP 通 过 将 Java 应 用 程 序 重 新 关 联 到 硬 件 平 台, 提 供 了 高 度 安 全 的 知 识 产 权 保 护 这 迫 使 攻 击 者 在 破 解 受 保 护 的 Java 应 用 程 序 时 不 仅 需 要 对 Java 应 用 程 序 进 行 逆 向 工 程, 还 需 要 对 本 机 代 码 进 行 逆 向 工 程 因 此, 攻 击 者 必 须 更 加 富 有 经 验 才 能 破 解 已 封 装 的 Java 代 码 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 7

LicensingLive! (lahy sun sing lahyv ), adj. n. [SAFENET, INTERACTIVE] 1. 立 即 访 问 与 软 件 包 装 定 价 实 现 交 付 和 管 理 相 关 的 最 佳 做 法 和 新 出 现 的 挑 战 2. 一 个 汇 集 软 件 供 应 商 行 业 分 析 师 许 可 顾 问 和 技 术 供 应 商 的 论 坛 SENTINEL HASP 为 受 保 护 应 用 程 序 与 保 护 密 钥 之 间 的 通 信 提 供 安 全 通 道, 从 而 消 除 了 中 间 人 攻 击 Java Envelope 使 用 这 种 能 力 来 防 止 黑 客 通 过 截 取 通 信 访 问 保 护 密 钥 发 回 的 数 据 由 于 SENTINEL HASP 是 按 请 求 在 运 行 时 解 密 文 件, 而 不 是 一 次 将 所 有.class 文 件 加 载 到 虚 拟 机, 因 此 可 以 防 止 黑 客 重 建 整 个 应 用 程 序 结 论 虽 然 JVM 为 开 发 人 员 提 供 了 编 写 一 次 应 用 程 序 即 可 在 几 乎 任 何 平 台 上 运 行 的 能 力, 但 这 种 体 系 结 构 具 有 使 黑 客 易 于 对 源 代 码 进 行 逆 向 工 程 篡 改 或 盗 窃 的 重 大 缺 陷 众 多 的 商 业 反 汇 编 程 序 进 一 步 简 化 了 这 一 过 程 而 且 虽 然 Java 确 实 提 供 了 一 些 安 全 措 施, 但 包 括 的 这 些 能 力 都 不 足 以 阻 止 攻 击 者 加 密 和 混 淆 等 技 术 通 常 用 于 减 缓 攻 击, 但 仍 然 留 有 漏 洞 封 装 将 加 密 与 本 机 代 码 混 淆 相 结 合 来 提 供 目 前 最 强 的 保 护, 可 以 保 护 知 识 产 权 通 过 使 用 SENTINEL HASP 解 决 方 案, 您 可 以 获 得 封 装 的 诸 多 好 处, 而 不 必 花 费 时 间 和 精 力 来 开 发 新 的 解 决 方 案 SafeNet Sentinel 软 件 货 币 化 解 决 方 案 SafeNet 在 为 全 世 界 的 软 件 和 技 术 供 应 商 提 供 创 新 和 可 靠 的 软 件 许 可 授 权 和 管 理 解 决 方 案 方 面 拥 有 25 年 的 行 业 经 验 我 们 的 Sentinel 软 件 货 币 化 解 决 方 案 系 列 易 于 集 成 和 使 用, 具 有 创 新 性 并 注 重 功 能, 对 于 任 何 规 模 技 术 要 求 或 组 织 结 构 的 任 何 机 构, 都 能 满 足 其 独 特 的 许 可 证 启 用 执 行 和 管 理 要 求 客 户 只 有 使 用 SafeNet 的 产 品 才 能 够 应 对 所 有 的 反 盗 版 知 识 产 权 保 护 许 可 证 启 用 和 许 可 证 管 理 挑 战, 同 时 提 高 公 司 盈 利 能 力 改 进 内 部 运 营 维 持 竞 争 优 势 并 巩 固 与 客 户 及 最 终 用 户 的 关 系 SafeNet 在 适 应 新 的 需 求 和 引 入 新 技 术 以 应 对 不 断 变 化 的 市 场 环 境 方 面 具 有 丰 富 的 成 功 经 验, 我 们 在 全 球 的 25,000 多 家 客 户 已 经 认 识 到 选 择 Sentinel 就 意 味 着 选 择 了 在 现 在 和 未 来 自 由 开 展 业 务 的 主 动 权 要 获 取 适 用 于 已 安 装 嵌 入 和 云 应 用 程 序 的 SafeNet 软 件 货 币 化 解 决 方 案 完 整 产 品 组 合 的 更 多 信 息, 或 要 下 载 我 们 获 奖 产 品 的 免 费 评 估 版 本, 请 访 问 以 下 网 址 : http://cn.safenet-inc.com/sentinel/ 加 入 谈 话 要 下 载 免 费 的 SENTINEL HASP 开 发 工 具 包, 请 访 问 以 下 网 址 : http://www3.safenet-inc.com/special/hasp/safenet-hasp-srm-order/default.asp 赛 孚 耐 ( 北 京 ) 信 息 技 术 有 限 公 司 联 系 我 们 : 若 要 了 解 SafeNet 所 有 分 支 机 构 的 地 址 和 联 系 信 息, 请 访 问 http://cn.safenet-inc.com 2010 SafeNet, Inc. 保 留 所 有 权 利 SafeNet 和 SafeNet 标 识 是 SafeNet 公 司 的 注 册 商 标 所 有 其 他 产 品 名 都 是 其 各 自 所 有 者 的 商 标 WP (A4)-11.16.10 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 8