首页 软件保护技术概述

软件保护技术概述

举报
开通vip

软件保护技术概述 M O D E R N C OM P U T E R 2009.7 现 代 计 算 机 (总 第 三 一 一 期 ) 研究与开发 软件保护技术概述 * 白雪梅 (广东商学院计算机系, 广州 510320) 摘 要: 关键词: 软件版权保护; 软件水印; 软件迷乱; 软件防篡改 * 基金项目:国家自然科学基金项目(No.60873198) 收稿日期:2009-05-26 修稿日期:2009-07-05 作者简介:白雪梅(1969-),女,陕西西安人,硕士,副教授,研究方向为信息安全及软件水印技术 针...

软件保护技术概述
M O D E R N C OM P U T E R 2009.7 现 代 计 算 机 (总 第 三 一 一 期 ) 研究与开发 软件保护技术概述 * 白雪梅 (广东商学院计算机系, 广州 510320) 摘 要: 关键词: 软件版权保护; 软件水印; 软件迷乱; 软件防篡改 * 基金项目:国家自然科学基金项目(No.60873198) 收稿日期:2009-05-26 修稿日期:2009-07-05 作者简介:白雪梅(1969-),女,陕西西安人,硕士,副教授,研究方向为信息安全及软件水印技术 针对软件面临的威胁和软件的版权危机,介绍诸如注册验证、软件加密、软件水印、软件 迷乱、软件防篡改以及软件加壳等软件保护技术的基本思想和发展现状,分析软件版权 保护技术进一步的发展方向,为完善算法和深入研究奠定了基础。 0 引 言 网络技术的发展为软件的传播带来便利的同时, 随之而来的版权保护问题也日益突出。软件安全面临 的威胁主要有软件盗版、逆向工程和恶意篡改,因此 造成的经济损失不容忽视。 商业软件联盟(BSA)的调 查结果表明,2005 年因软件盗版造成的损失达 290 亿美元,2007 年将近 480 亿美元,全球软件盗版接近 40%,而中国软件盗版高达 90%,位居世界第二 [1]。 面 对日益严峻的软件版权危机,相应的立法也提上日程 并有法规相继出台,但因计算机的发展历史短、技术 更新快,难免存在立法漏洞并滞后于新生问题,一些 技术手段的法律效力也难以界定:例如逆向工程或反 编译是否合法成为争议的焦点,因为在不同案例中它 们所起的作用也许截然相反;利用技术手段实施的盗 版追踪和侵权取证是否具有法律效力,仍然缺乏明确 的法律规定。 软件的版权保护应从法律 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 、道德宣 传和技术保护几方面入手,仅仅依靠法律规范和道德 约束显然不够,发展软件保护技术成为当务之急。 本 文介绍了常见的软件保护技术,分析了软件版权保护 的进一步发展方向。 1 注册验证 目前使用比较广泛的版权保护方式之一,包括注 册信息的生成和注册信息的验证两个阶段。注册信息 一般根据用户信息生成, 可以是一串序列号或注册 码,也可以是注册文件等存在形式。 根据用户信息生 成注册信息的数学模型为:注册信息=加密函数(用户 信息)。 加密函数可采用多种加密算法, 例如 RSA、DES 等。 RSA是一种非对称密钥算法,可以将用户信息用 私钥加密,获得的加密数据作为注册信息;注册验证 时用公钥对注册信息进行解密,将获得的结果与用户 信息进行比较以判断用户身份是否合法。即使通过跟 踪得到了公钥,在非对称密钥算法中无法由公钥推得 私钥,破解者不能写出相应的注册机。 注册信息的验证其实是验证用户信息和注册信 息之间的换算关系是否正确的过程。有两种基本的验 证形式[2]: (1)根据输入的用户信息生成注册信息(注册信 息=F(用户信息)),然后与输入的注册信息进行比较。 这种方法最大的弊端是在软件中再现了注册信息的 生成过程,解密者提取出由用户信息到注册信息的换 算过程,就可以编制一个通用的注册程序。 (2)根据注册信息验证用户信息的正确性(用户 信息=F-1(注册信息)),是注册信息换算过程的逆运 算。 如果 F与 F-1不是对称算法,破解者就很难解密 验证过程了。 注册文件是利用文件来注册软件的保护方式,一 般是包含用户信息以及注册信息的小文件,文件格式 由软件所有者定义。软件用户将注册文件放在安装目 录或系统 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 下,当软件启动时从注册文件中读取有 用数据并用算法进行处理,根据处理结果判断是否为 髷 现 代 计 算 机 (总 第 三 一 一 期 ) M O D E R N C OM P U T E R 2009.7 研究与开发 正确的注册文件,是则以注册版模式运行软件。 2 软件加密 软件加密技术采用传统密码学理论,通过隐藏机 密信息的内容实现对机密信息的保护。无论是对称密 钥(DES)还是非对称密钥系统(RSA),都是通过加密算 法将明文转换成密文,使攻击者难以在传播过程中获 取机密信息而达到软件保护的目的。随着对加密技术 认识的不断深入,加密技术存在的问题也逐渐显露: (1)加密技术将明文转换为密文,因语义不明反 而会引起攻击者的注意, 从而导致根本上的不安全。 当攻击者无法破译机密信息时,可能会破坏密文而使 合法接收者也无法获取机密信息; (2)加密算法一般是公开的,其安全强度依赖于 密钥的长度。 随着硬件技术的发展和并行计算的普 及,对加密算法的安全性带来很大威胁; (3)更为糟糕的是,攻击往往意味着盗版的发生, 而在加密技术中即使确知盗版发生也难以证明软件 所有者的版权,更无法追踪盗版者。 3 软件水印 在软件加密技术的弊端日渐暴露的情况下,通过 隐藏机密信息的存在而保护信息安全的信息隐藏技 术引起学界的广泛关注。作为信息隐藏技术的重要分 支,软件水印是防止软件盗版的技术手段之一,美国 在该方面已申请了 4项专利。 软件水印将软件版权信息和用户身份信息隐藏 在软件中, 当盗版发生时藉此证明版权并追踪盗版 者。软件水印按使用目的分为:(1)阻止水印;(2)断言 水印;(3)脆弱水印;(4)确认水印。目前广泛研究的是 鲁棒的、不可见的阻止水印。 不可见水印的数学基础 是大数分解难理论:选取足够大的素数 R1 和 R2(需 保密), 两者的乘积 N 即为软件所有者的版权信息; 当盗版发生时, 版权所有者提取嵌入的水印数据 N 并将其成功分解为 R1 和 R2 的乘积, 由此证明软件 的版权。 目前典型的水印算法有: Davidson 和 Myhrvold 提出通过重排程序的控制 流图(CFG)中的基本模块来嵌入水印[3],缺点是难以抵 抗对程序基本模块的重排攻击。 Stern等人.提出用语义等价的指令序列代换选定 的指令序列,在改变的执行频率中嵌入水印的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 [4], 缺点是对施加于低水平数据结构上的变换或优化较 敏感。 Moskowitz 提出一种将水印代码嵌入程序的资源 (例如数字图像)水印方案[5]。 水印代码被随机地提取 并执行,当图像被篡改时能够即时感知并终止程序的 运行,故具有一定的防篡改能力;问题是凭空产生并 执行代码的行为不寻常而容易引起攻击者的注意。 Arboit 提出的算法是在程序中构造不透明分支, 通过模式匹配从不透明分支内提取水印 [6],因此基于 模式匹配的攻击很容易建立。 Venkatesan 算法将水印嵌入被标识的基本模块 的 CFG拓扑结构中, 并将表示水印的 CFG通过不透 明分支与程序的 CFG 捆绑在一起 [7],缺点是难以抵抗 对程序控制流的攻击。 Patric Cousot 和 Radhia Cousot 提出一种称为抽 象水印的水印方案,其基本思想是利用中国剩余定理 将水印数据分解为一组整数,通过嵌入这组整数而嵌 入水印数据;水印的提取通过对程序语义的静态分析 而获得[8]。 Christian Collberg 和 Clark Thomborson 等提出的 动态图水印方案(也称为 CT 算法)将水印嵌入动态 创建的图的拓扑结构中 [9],该方案是目前最具潜力的 水印方案:(1)容易构造不同的图表示水印,形成动态 图水印库;(2) 存储于堆中的水印图难以通过分析而 定位;(3)可利用水印图的内部结构设计防篡改方案。 Jasvir Nagra 和 Clark Thomborson 提出利用并发 控制的多线程将水印隐藏在线程执行轨迹中的动态 路径方案 [10],虽然有较好的隐蔽性和抗攻击能力,但 数据率低下是其主要缺陷。 对软件水印系统的性能评价是在假设的攻击模 型下进行的[11]。 软件水印系统可能遭到以下攻击:(1) 追加攻击;(2)移去攻击;(3)变形攻击;(4)识别攻击; (5)共谋攻击。水印系统的安全强度通常是数据率、隐 蔽性和鲁棒性的折衷:高的数据率往往意味着低的隐 蔽性和鲁棒性;而通过信息冗余提高鲁棒性又意味着 隐蔽性的降低。指望一种水印方案抵抗所有类型的攻 击是不现实的,往往需要同时使用多种软件保护技术 才能获得需要的安全强度。 4 软件迷乱 除了软件盗版,软件还可能面临以下几类攻击: (1)逆向工程:攻击者可能全部或部分地对软件 实施逆向工程,还原核心算法或关键数据并移植到自 己的软件中,这也属于盗版行为。 对于熟练的软件工 程师而言,只要保证足够的时间和资源,逆向工程总 是可以成功的;抵抗逆向工程的主要措施是增加攻击 难度,使攻击者在能够接受的时间和资源限制内无法 成功实施攻击。 髸 M O D E R N C OM P U T E R 2009.7 现 代 计 算 机 (总 第 三 一 一 期 ) 研究与开发 (2)反编译/再编译:很多编译器有一定程度的优 化功能,而优化也可认为是一种保持语义的变换。 对 程序反编译后用其他编译器再编译,可能会破坏嵌入 的水印。 (3)模式匹配:攻击者无法精确分析程序的行为 时,可能会用最接近的结果与程序中的调用、函数或 执行结果相匹配,如果不会引起程序在可见行为上的 明显改变时,就可实施进一步的攻击。 针对逆向工程攻击,软件所有者可通过迷乱变换 技术增加软件的复杂度, 从而使逆向工程更加困难。 软件迷乱技术是对程序中的数据、代码或控制流等实 施保持语义的变换,得到与原程序功能等价、形式更 为复杂的程序[12]。 软件迷乱技术在软件水印的构造方面也有所作 为。 利用控制流迷乱变换构造不透明分支,将水印代 码嵌入在虚构的不透明分支下,形成动态数据结构水 印;也可将水印嵌入在多个虚构的不透明分支的执行 序列中,形成动态执行路径水印。 软件迷乱技术在软件水印保护方面的作用是双 向的:在无法准确定位水印的情况下,攻击者可对整 个程序实施保持语义的迷乱变换攻击,导致水印无法 提取或提取的水印不具版权保护价值;而软件所有者 又可利用迷乱变换技术增加程序的复杂度, 使反编 译/再编译攻击难以实施,从而保护嵌入的水印信息。 目前较为常见的是 Christian Collberg等提出的通 过构造不透明分支实现控制流迷乱变换的方案[13]。该方 案具有明显的优势:(1) 以多种方式构造不透明分支, 额外开销小;(2)与程序正常的分支结构类似,隐蔽性 好;(3)分支结构是程序唯一性的体现,修改分支结构 而保持程序的语义是不容易的,故具有较强的鲁棒性。 5 软件防篡改 防软件盗版的技术手段是利用软件水印隐藏版 权信息,当发生版权纠纷时能够向权威的仲裁机构提 供证据以证明版权;防逆向工程的技术手段是对程序 实施保持语义的迷乱变换,增加逆向工程难度的同时 也增强软件水印的鲁棒性,使水印难以被移去从而增 强水印的版权证明能力。 除此之外,破坏水印功能、获取敏感信息以及实 施病毒攻击的恶意篡改也是软件面临的威胁之一。针 对此类攻击,软件防篡改技术的基本思想是:(1)增加 软件或水印被篡改的难度;(2) 一旦被篡改能够即时 感知并终止程序的运行,使盗版行为难以为继;(3)确 认发生篡改则启动纠错方案提取水印,确保水印的版 权证明能力。 可采用以下方法进行篡改识别: (1)比较原始软件和当前软件:用相同的哈希算 法(例如 MD5、SHA-1 等)分别计算原始软件与当前 软件的等价结果,比较两个计算结果是否相同; (2)比较运行结果:选取原始软件和当前软件有 代表性的运行结果进行比较; (3)对软件的关键模块加密:需要时在堆中解密 执行,一旦加密模块被破解,则使软件进入故障模式 而丧失部分或全部功能。 Home提出的防篡改方案在程序中嵌入多个 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 方法,每个方法检测一部分代码的完整性[14]。 该方案增 大了系统的信息熵,使攻击者很难去除整个检测功能。 Holmes 提出在静态水印中包含校验和的防篡改 措施,这样,一次有效的攻击必须经过两步:修改水 印、修改校验和[15]。 如果攻击者掌握校验和算法,第二 步很容易做到,故防篡改能力十分有限。 Moskowitz 和 Cooperman 提出把水印代码嵌入到 程序的特殊资源例如图像中,这段代码随机地被提取 并执行,一旦该图像被篡改立即终止程序的运行以此 达到防篡改的目的[16]。 但这种凭空产生和执行代码的 行为是不寻常的,容易引起攻击者的注意。 Clark Thomborson等针对动态图水印提出称为常 量编码的防篡改方案,即将程序中的部分常量置换为 其值依赖于指向水印图的指针变量的函数;当水印被 移去或修改时,函数值会随之改变而使被编码的常量 值改变,最终导致程序错误或终止[17]。 6 软件加壳 壳是软件中专门负责保护软件不被非法修改或 反编译的程序,先于原程序运行并拿到控制权,进行 一定处理后再将控制权转交给原程序,实现软件保护 的任务[18]。 加壳后的程序能够防范静态分析和增加动 态分析的难度。 根据软件加壳的目的和作用,可分为 两类: (1)压缩保护壳。这种壳以减小软件体积为目的, 在对原程序的加密保护上并没有做过多的处理,例如 ASPacK、UPX和 PECompact等; (2)加密保护壳。这种壳以保护软件为目的,软件 体积不是首要的考虑因素。 根据用户输入的密码用相 应的算法对原程序进行加密,如果破解者强行更改密码 检测指令,因加密代码并未被解密还原,将导致程序的 错误执行。 例如 ASProtect、Armadillo、EXECryptor等。 髺 现 代 计 算 机 (总 第 三 一 一 期 ) M O D E R N C OM P U T E R 2009.7 研究与开发 随着加壳技术的发展, 很多加壳软件在具有较强 的压缩性能的同时,也有了较强的软件保护性能。防止 软件被脱壳非常关键, 可利用反跟踪技术防止加壳软 件被调试和被分析。 加壳时对原程序中的关键代码进 行替换与加密, 替换中会生成相应的解密代码并插入 程序中;原程序运行时在堆中分段解码,代码在堆中执 行后会跳转到被解码的程序处再执行, 内存中没有原 程序的完整代码,这样就增加了代码还原的难度。 7 结 语 软件危机曾经是制约计算机发展的瓶颈, 软件开 发工程化使软件危机得以缓解; 在网络环境下软件版 权保护问题如不解决,必将引发更为广泛的社会危机。 软件版权保护的进一步发展方向集中在以下几方面: (1)针对软件的安全威胁和版权危机,研究切实 可行、鲁棒性高的软件保护方案,使软件保护技术从 理论研究走向实际应用; (2)建立科学的软件保护评估体系,制订工程化 的软件保护实施 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ,将软件保护方式纳入项目开发 计划中; (3)结合软件保护技术的基本思想和发展现状尽 快制订完善的法律法规,震慑软件侵权行为,解决软 件版权纠纷,规范软件使用环境。 参考文献 [1]Third Annual BSA and IDC Global Software. Piracy Study May 2006 [EB/OL]. http://www.bsa.org/globalstudy/upload/ 2005-2006 Global Piracy Study.pdf. [2]王贤德,王伟超. 软件版权保护技术研究[J]. 软件导刊, 2008,7(7): 30~31 [3]Robert L.Davidson and Nathan Myhrvold. Method and Sys- tem for Generating and Auditing a Signature for a Computer Program. US Patent 5,559,884,September 1996.Assignee: Microsoft Corporation [4]Stern P, Hachez J,Quisquater G, Jean-Jacques. Robust Ob- ject Watermarking: Application to Code. In:Andreas P,et al., eds.Proceedings of the 3rd International Workshop on In- formation Hiding.Spring-Verlag,1999 [5]Scott A. Moskowitz and Marc Cooperman. Method for Stega- Cipher Protection of Computer Code. In:US Patent 5,745,569,January 1996. Assignee: The Dice Company, 1998 [6]G.Arboit.A Method for Watermarking Java Program Via Opaque Predicates(Extend Abstract). In:The Fifth Interna- tional Conference on Electronic Commerce Research(ICE- CR-5),2002 [7]Ramarathnam Venkatesam,Vijay Vazirani and Saurabh Sin- ha. A Gragh Theoretic Approach to Software Watermarking. In:4th International Information Hiding Workshop,Pitts- burgh,PA,April 2001. [8]Patrick Cousot and Radhia Cousot. An Abstract Interpre- tation-Based Framework for Software Watermarking. In: Conference Record of the 31st ACMSIGACT-SIGMOD- SIGART Symposiumon Principles of Programming Lan- guages, Venice, Italy,January 14-16,2004.ACM Press,New York, U.S.A.pp.173~185 [9]Christian Collberg,Clark Thomborson,Gregg M.Townsend. Dynamic Graph-Based Software Watermarking. Technical Report TR04-08, 2004, Department of Computer Science, University of Arizon &Auckland [10]Jasvir Nagra,Clark Thomborson. Threading Software Wa- termarkings. In:Proc 6th International Workshop on Infor- mation Hiding (IH 2004),INCS 3200,Springer-Verlag, pp 208-233,2004 [11]Christian Collberg,Clark Thomborson. Software Water- marking:Models and Dynamic Embeddings. In:Aiken A,et al.,eds. Proceedings of the 26th Annual SIGPLAN-AIGACT Symposium on Principles of Programming Languages (POPL’99). Association for Computing Machinery Press, 1999.311~324 [12]Christian Collberg,Clark Thomborson,and Douglas Low. A Taxonomy of Obfuscating Transformations. Technical Re- port 148, Department of Computer Science,University of Auckland,July 1997 [13]Christian Collberg,Clark Thomborson and Douglas Low. Manufacturing Cheap,Resilient,and Stealthy Opaque Con- structs.In:Principles of Programming Languages(POPL’98), San Diego, CA,pp.184~196 [14]B.Home, L.Matheson, C.Sheehan, R.Tarjan. Dynamic Self- Checking Techniques for Improved Tamper Resistance [DB]. Proc.lstACM Workshop on igital Rights Manage- ment,(DRM 2001),Springer LNCS2320,pp.141~159,2002 [15]Holmes,K.:Computer Software Protection.In:US Patent5, 287,407. Assignee:International Business Machines,1994 [16]Moskowitz,S.A.&Cooperman,M.:Method for Stega-Cipher Protection of Computer Code.In:US Patent 5,745,569. As- signee:The Dice Company,1998 [17]Clark Thomborson,Jasvir Nagra,Ram Somaraju, Charles He: Tamper-proofing Software Watermarks. In:Proc. Second Australasian Information Security Workshop, ed. P. Mon- tague and C. Steketee, ACS, CRPIT Vol. 32, pp. 27~36, 2004 [18]看雪学院. 软件加密技术内幕. 电子工业出版社, 2004-8 (下转第 15页) 髼 现 代 计 算 机 (总 第 三 一 一 期 ) M O D E R N C OM P U T E R 2009.7 研究与开发 Survey of Software Protection Technologies BAI Xue-mei (Department of Computer Science, Guangdong University of Business Studies, Guangzhou 510320) Abstract: Keywords: Software Copyright Protection; Software Watermarking; Software Obfuscation; Software Tamper-Proofing According to the software threats confronted with and the software copyright crises, intro- duces the basic working principles and the present developing situations of software protec- tion technologies, such as registration and verification, software watermarking, software ob- fuscation, software tamper-proofing and software shell-based protection; and analyses the further developing directions of software copyright protections so as to lay the foundation for improving existing algorithms and conducting further studies. A Novel Neural Network Model for Power System Harmonics Analysis CHEN Bo-tao1 , XIAO Xiu-chun2, 3 , JIANG Xiao-hua3 (1. Division of Regulation & Quality Control, Guangdong Ocean University, Zhanjiang 524025; 2. College of Information, Guangdong Ocean University, Zhanjiang 524025; 3. School of Information Science and Technology, SUN Yat-sen University, Guangzhou 510275) Abstract: Keywords: Harmonics Analysis; Neural Network; Non-Linear Optimization; Fundamental Frequency Aiming at effectively evaluating harmonics in the power system, proposes a new type of neural network is constructed. Based on non-linear optimization, the learning rules for the constructed neural network are derived. The weights of all the hidden and output neurons can be synchronously updated according to the derived learning rules in order to optimize the performance function. Computer simulations try to apply this method to some harmonics models.The results substantiate this method can synchronously obtain a high precision for the fundamental frequency, also the amplitude and phase of all the harmonic components. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (上接第 7 页) 趤趶
本文档为【软件保护技术概述】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_812258
暂无简介~
格式:pdf
大小:276KB
软件:PDF阅读器
页数:5
分类:互联网
上传时间:2010-10-29
浏览量:39