- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
逆向工程 课件 第1章 基础(2013年2月25日)
共74页 * (1)互操作性 在为了与有疑问的软件产品进行互操作的情况下,逆向和规避DRM技术是允许使用的。 (2)加密研究 这在DMCA中是受到严格限制的条款,它只允许研究加密技术的人员规避加密产品中的版权保护技术。只有当保护技术妨碍了对加密技术的评估时,才允许使用规避手段。 共74页 * (3)安全测试 为了评估或提高计算机系统的安全性,人们可以逆向和破解版权保护软件。 DMCA也规定了几种允许规避的例外情况,具体如下:(续) (4)教育机构和公共图书馆 在购买之前出于对受版权保护作品评估的目的,这些机构可以规避版权保护技术。 共74页 * (5)政府调查 政府机构进行调查研究并不受DMCA的影响。 DMCA也规定了几种允许规避的例外情况,具体如下:(续) (6)规章制度 为了规范因特网上未成年人可访问的资料,可以对DRM技术实施规避。 共74页 * (7)保护隐私 收集和传递个人信息的产品可以被逆向,这类产品中所包含的任何保护技术可以规避。 DMCA也规定了几种允许规避的例外情况,具体如下:(续) 共74页 * 1.7.6 DMCA案例 1、Felten对RIAA 2000年9月,数字音乐安全组织(Secure Digital Music Initiative,SDMI)宣布Hack SDMI挑战。 Hack SDMI挑战呼吁安全研究人员测试SDMI所提供的安全等级,这是一个专为保护音乐唱片而设计的数字化权限管理系统(基于水印技术)。 共74页 * 普林斯顿大学的教授Edward Felten和他的研究小组发现了该系统的弱点。拒绝奖金要求发表其发现。 1、Felten对RIAA(续) DMCA不是让安全研究发表他们的发现,并督促安全设备的开发人员提高他们的产品质量,而是抑制了这个已经被历史证明可以创建健壮的安全系统开发安全研究过程。 共74页 * 2、US对Sklyarov 2001年7月,FBI逮捕了一名俄罗斯的程序员,叫Dmitry Sklyarov,被控告违反了DMCA。当Sklyarov在墨西哥的一个为ElcomSoft的软件公司工作时,曾对Adobe eBook文件格式做了逆向工程。他利用逆向工程收集的信息创建了一个称为Advanced eBook Processor的程序,这个程序能破解这种eBook文件,这样这些文件就可以用任意的PDF阅读器阅读了。 共74页 * 最终ElcomSoft和Sklyarov都被宣告无罪,因为陪审团认为开发人员最初就没有意思到自己行为实际是非法的。 2、US对Sklyarov(续) 这种破解意味着原先关于浏览、打印或拷贝eBook文件的限制都被绕过去了,这些文件也就成了不受保护的了。 共74页 * 这个条款就是在安装任何一款软件产品时总会见到的那个要你“接受”的非常长的文档。 1.7.7 许可证协议 考虑到除了DMCA外再没有其他法律直接禁止或限制逆向,而且DMCA又仅仅适用于DRM产品或者那些包含了DRM技术的软件,鉴于此,软件供应商在发售软件的许可协议中添加了反逆向工程条款。 共74页 * 在许可证协议中,有关逆向工程条款的主要法律问题是:这些条款是否可以强制执行。 1.7.7 许可证协议(续) 需要注意的是:在大多数情况下可以使用程序来提供等价于签署其许可协议(假设用户有机会阅读它)的法律许可。 共74页 * 1、在美国 这个问题看起来好像并没有一个绝无仅有的、权威性的答案——这个答案完全依赖于实施逆向工程的具体场合。 2、在欧盟 这个问题已经在计算机程序的法律保护指示中明确规定了[EC1]。该指示规定,如果是为了实现互操作,对软件程序实施反编译是允许的。该指示凌驾于所有和软件一起发售的许可协议之上,至少在这个问题上是这样的。 共74页 * 1.3.2 在软件开发中的逆向应用 逆向对软件开发人员来说有着令人难以置信的用途,有以下三点: (1)软件开发人员可以利用逆向技术发掘如何实现与没有文档的或只有部分文档软件的互操作。 (2)逆向可以用来确定诸如代码库甚至于操作系统这样的第三方代码的质量。 共74页 * (3)为了提高自己的技术,有时也可以利用逆向技术从竞争方的产品中提取有价值的信息。 1.3.2 在软件开发中的逆向应用(续) 1、在实现与专利软件互操作中的应用 (1)互操作是大多数软件工程师差不多每天都能从逆向中得到的好处。 (2)使用已申请专利的软件库或操作系统的API时,通常面临缺乏足够文档的困境。 共74页 * 2、在开
文档评论(0)