用户名: 密码: 验证码:
基于可靠特征的软件水印研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
软件水印是数字水印技术的一个分支,它将版权信息作为水印,秘密地嵌入在软件流程、代码、数据中,通过提取水印验证合法拥有者,检测、威慑盗版行为。该技术有效保护软件知识产权,不限制软件执行,符合软件厂商既保护产权又不影响市场推广的策略,受到软件厂商高度重视,是软件安全研究领域的热点。
     近20年来,软件水印研究取得了大量研究成果,发表了多种软件水印算法,但满足实际应用需求的软件水印技术匮乏,其研究面临诸多问题和挑战。1、已有软件水印算法,大都以加入傀儡指令的方式嵌入水印,形成水印的代码没有真正的功能,利用逆向工程技术,很容易找出这些代码,进而破坏水印提取。2、水印鲁棒性差,即使编译器的优化功能都能对水印产生巨大影响,目前没有一种软件水印技术能抗混淆攻击。3、为提高水印鲁棒性,试图隐藏水印形成代码,导致水印算法无法公开,水印对抗强度差。4、抄袭程序整体代码的情形极为少见,当攻击者复制部分代码时,以整体程序为嵌入对象的水印,很难在部分代码中提取。
     针对以上问题,本文对软件图分簇后,以簇为单位嵌入水印信息抗部分代码剽窃;以软件指令分布统计、频繁执行路径、混淆编译为可靠特征,将水印信息映射在软件本身的功能代码中,提高水印鲁棒性。具体研究内容如下:
     (1)提出基于软件稠密共变图分簇的软件水印方法,解决部分代码剽窃时水印信息失效问题。该方法从CVS服务器上提取软件稠密共变图,再以随机步方式融合未改变节点,形成精确的稠密共变图。使用扩展后的GN算法对该图分簇后,每一簇代码精确映射原程序的一个子系统。在SANDMARK上的实验表明,除图论方法外的软件水印方法,当以簇为单位嵌入水印,任何一个完整子系统中都能成功提取水印信息,这有效解决了部分代码剽窃时,水印信息失效问题。
     (2)借鉴变指令分布频率嵌入水印思想,提出只改变部分代码块指令频率的软件水印方法。该方法针对MSIL程序,将程序中每一assembly做为一个代码块,通过等价指令替换,改变assembly中某一条指令分布频率,嵌入一位水印信息。提取水印时,根据代码本检验特定assembly中选定指令频率,提取水印位。该方法以整体特征为载体,实现难度比SHKQ算法小,无需改变大量指令,可应用于较小的程序,通过代码本选取,具有抗共谋攻击能力。
     (3)提出基于扩展频繁执行路径数据流的软件水印方法。该方法以程序可靠特征WPP(Whole Program Path)为嵌入水印,以扩展的频繁执行路径数据流为载体,将水印映射在数据流整体特征上,把水印嵌入定位于逻辑层面,水印与软件功能挂钩,破坏水印则影响程序执行,有效提高了水印鲁棒性。水印的嵌入对程序代码修改少,能避免维护、升级、补丁、传输、正常操作影响软件水印提取。WPP根据动态输入形成,不同的输入确定不同的载体,即使将抄袭的代码逆向工程后,用不同的编程语言再实现,水印信息依然可以提取。实验表明,该方法可抗多种保持语义攻击,几乎不会对程序执行产生负面影响。
     (4)提出基于非等价语义混淆规则的软件水印方案,解决混淆与水印嵌入相互影响问题。该方案在对代码进行混淆的同时,利用混淆规则抽象映射水印信息,混淆与水印加入同时实现,避免混淆对水印造成破坏。该方案设计了非等价语义混淆变换,混淆后的代码不包含软件的全部语义,执行混淆后的程序得不到原程序功能,在隐藏软件语义的同时,保障了软件水印鲁棒性。方案设置一独立模块恢复语义,提取水印信息。反汇编实验表明,非等价语义混淆有效分割了代码语义,在抵御逆向工程的同时,提高了水印鲁棒性。
     (5)开展了动态软件胎记技术的研究,将基于扩展频繁执行路径方法用于构造软件胎记。软件胎记的研究不仅对盗版检测有着重要意义,也促进了软件安全、软件维护、软件调试等相关研究领域发展。可靠性(经等价语义转换后仍可识别)高的胎记可抵御保持语义攻击,是软件水印理想的鲁棒性保障载体,可信性(区分不同开发人员开发的相同功能软件的性能)高的胎记是软件水印理想的嵌入载体。实验表明,此胎记的可靠性与WPP胎记相同,可信性明显高于WPP胎记,是对软件胎记技术的有意探索。
Software watermarking is used to identify a pirate copy, protects the software copyright,belongs to digital watermark technology. Software watermarking looks on copyrightinformation as a watermark, embeds the watermark into software control flow, code or data. Byextracting the watermark, this technique has held the cracker in awe, protected softwareintellectual property indeed. Software watermarking proves the ownership, doesn’t limit thesoftware as well has no effect on market, has been regarded highly by the company and saferesearcher of software.
     In recent20years, has got large amount of research results. But, up to now, few softwarewatermarking technology is applied to the application, software watermarking is faced withmany problems.One of the limiting factors of the software watermarking is that somealgorithms, embed the watermark with the way adding puppet instruction, the codes forming awatermark have no way to blend with true code. It’s easy to find out these puppet codes byreverse engineering. Optimizer is able to produce enormous effect to the watermark. Fewsoftware watermarking technologies can resist to obfuscation. The available softwarewatermarking algorithms try to improve the robustness by concealing these codes, such codeshave no way to be related to software function, to observation, always can find out these codes.Resolving is that the software watermark is embedded into software core function, link thewatermark codes with software behavior, if these codes are deleted, the software works onwrong way. As well, software watermark takes software overall characteristic as carrier, therobustness can be improved. In addition, plagiarizing the entire codes is rare in fact. The mostattackers copy the part code only. The duplicating code is always a subsystem. Software sharesa graph structure, clustering software identifies every subsystem. When the software watermarkalgorithm focuses the embedding on entire program, watermark code is randomly inserted intothe place satisfying embedding. Extracting a watermark in the part code is unlikely. Steal a partfrom the program, made a cut attacks in some way.
     To solve the mentioned problem, this dissertation presents the works as follows:Clustering the software aims to plagiarizing the part codes; embedding the watermarks ininstruction frequency, hot paths and obfuscation compile proves the robustness of watermarks.The main contributions of this dissertation are as following:
     1. Software Watermarking Based on Condensed Co-Change Graph Cluster
     Most software watermarking research focus on the discovery of watermark embedding,still no way to answer the problem that the part code is plagiarized. This study presents the first step toward a consideration of that watermarking every stolen part can improve the softwarewatermarking practicality. Condensed Co-Change Graph of software is inexpensivelyextractable with CVS server. Merging unchanged artifacts in the way of random walk used tobuild accurate Condensed Co-Change Graph. We use extended GN method in Co-Changegraph partition. Each cluster is a subsystem of software. The experiment on SANDMARKshows that takes cluster as unit after embedding a watermark, being able to extract watermarksuccessfully among any subsystems, except graph watermarking. If algorithm takes overallprogram as the watermark body, few approaches do work. Watermarking cluster can resist partcode stolen.
     2. A new software watermarking algorithm based on instruction replacement ofparticular assembly
     Draw on SHKQ, this dissertation presents a new software watermarking approach whichmodifies the frequency of selected assembly’s instruction to embed the watermark. Withchanging a particular instruction’s frequency of selected assembly, a bit of watermark isembedded into IL program. This watermark is extracted by calculating the frequency ofinstruction recorded in the textbook. This paper describes the implementation of softwarewatermarking algorithm based on instruction replacement of particular assembly and the issuesthat arise when aiming to MSIL, special for textbook. The experimental results show that thisalgorithm can resist collusive attack, more feasible than SHKQ in practice.
     3. Hot Path Dataflow Approach to Software Watermarking
     This paper presents a new approach to software watermarking based on dataflow of hotpath. Our approach computes hot paths from whole program path (WPP), and then uses impactanalysis approach to obtain the codes which closely related to the hot path. From these codes,extracts the dataflow which it uses to embed watermarks. By instrument the frequency of thedataflow, one bit watermark is embedded into one hot path. Extracting watermark is a reverseprocess. The hot path dataflow (HPD) approach would make the watermark more robustbecause disturbing the hot path would affect the semantic and the functionality of theunderlying software. The dataflow is available if hot path doesn’t change. Furthermore,instrument the frequency of the dataflow have a minimal effect on the operations andperformance of the data structure. This study provides a detailed security analysis andperformance evaluation to show that the addition of the watermark does not affect theperformance nor does it increase the size of the program, and the embedded watermarks arerobust, can withstand various types of attacks.
     4. Unmatched Obfuscation Based Software watermarking
     Unmatched obfuscation based software watermarking combines obfuscation with watermark properly. Unmatched obfuscation obfuscates the program, at same time, map thewatermarks to obfuscation rule. The obfuscated program doesn’t possess entire function,running the obfuscated program leads to wrong behaviors. The unmatched obfuscation hidesthe function of program and support the protection of watermarks. Moreover, there is a soleunit used to recovery the program, testify the watermarks. The experiment shows thatunmatched obfuscation cuts the interpretation of the obfuscated program, makes the reverseengineering fail, and prompts the robustness of the watermarks.
     5. Expanded Hot Path for Software Birthmarking
     The study of software birthmarking has promoted software safety, software maintenance,software debugging and so on. Resilience-resistance to transformation is feasible factor toensure a carrier. Credibility-distinguish two sets of modules is an ideal factor to find softwarewatermarking embedding carrier. According to this idea, we extract birthmark from expandedhot path. The experiment shows that, the resilience of this birthmark and WPP birthmark areidentical, the credibility overtops the WPP birthmark obviously.
引文
[1]李蓉.2011中国软件知识产权论坛http://www.scc365.org.cn/,2011-06-10
    [2]蒋志培.解读《计算机软件保护条例》规定的法律责任http://www. chinaiprlaw. com/fgrt/fgrt101.htm,2011-7-12
    [3]BSA, IDC.2010Software Piracy Study, http://portal.bsa.org/globalpiracy2010/,2011-05-20
    [4]BSA.2010Software Piracy Study China. http://portal.bsa.org/globalpiracy2010/downloads/press/pr china chinese.pdf,2011-05-20
    [5]BSA, IDC. BSA-IDC盗版影响研究http://www.idc.com/BSA, IDC.2011-05-20
    [6]IPSOS.软件盗版行为调查.http://www.ipsos.com/public-affairs.2011-05-20
    [7]Gartner安全软件分析http://server.ccw.com.cn/htm2011/20110801.shtml.2011-05-20
    [8]C. Collberg, A. Huntwork, E. Carter et al. More on graph theoretic software watermarks:Implementation, analysis, and attacks. Information and Software Technology,2009,51(1)56-67
    [9]G.Myles, S.Nusser. Content Protection in Games. IBM Systems Journal,2006,45(1):114-143
    [10]Yu Chen Zhou, Julian Cerruti, Lin Ma, Lei Ma, and Ginger Myles. CPWCT: Making P2P Home Network Secure Virtual Media Device. In:Proceedings of the IEEE Conference on Local Computer Networks,2005,709-716
    [11]Erin Joyce. Software Piracy Losses Add Up to$29B. http://www.enterp riseitplanet.com/ecu-3378251.2011-02-20
    [12]B. Anckaert, B. Sutter, K. Bosschere. Software piracy prevention through Diversity. In:Proceedings of the4th ACM workshop on Digital rights management.2008,63-71
    [13]看雪学院著.软件加密技术内幕.北京:电子工业出版社,2011,225-289
    [14]段钢著.加密与解密.北京:电子工业出版社,2003,199-224
    [15]Devanbu P, Stubblebine S. Software engineering for security:a roadmap. In: Proceedings of the conference on the future of Software engineering. Pennsylvania,2000,227-239
    [16]许俊.从软件保护到软件授权.(?)vww.williamlong.info/archives/2416.html.2011-7-25
    [17] Kingpin R. Attacks on and Countermeasures for USB Hardware Token Devices.In: Proceedings of the Fifth Nordic Workshop on Secure IT Systems. NewYork,2000,35-57
    [18] International Data Corporation (IDC). One Third of All Software in Use StillPirated, Major Study Finds.http://www.idc.com/~etdoc.isp?containerId=prUS00150505.2010-7-28
    [19] T. Sander. Golden Times for Digital Rigths Management? http://www.starlab.com,2011-07-12
    [20] Hongxia Jin, G. Myles, J. Lotspiech. Towards Better Software TamperResistance. In: Proceedings of8th Information Security International Conference,Lecture Notes in Computer Science,2005,3650,417-430
    [21] H. Anclaert, I. Suttcr. Software Piracy Prevention tllrough Diversity. In:Proceedings of the4th ACM workshop on Digital rights management,2005,3001-3004
    [22] Anderson R.Security Engineering. New Jersey: Wiley Press,2010,99-100
    [23] Hachez G, Koeune F. Timing Attack: What Can Be Achieved by a PowerfulAdversary?. In: Proceedings of the20th symposium on Information Theory in theBenelux. Haasrode, Belgium,1999,63-70.
    [24] Schneck PB. System for controlling access and distribution of digital property.American Pat.5933498,1999-10-14
    [25] Kommerling O, Kuhn MC. Design Principles for Tamper-Resistant SmartcardProcessors. In: Proceedings of the USENIX Workshop on Smartcard Technology(Smartcard '99). London,1999,9-20
    [26] Ginger Myles, Adrian Friday, Nigel Davies. Preserving Privacy in Environmentswith Location-Based Applications. IEEE Pervasive Computing,2003,2(1),56-64
    [27] Kocher P, Jun B. Differential Power Analysis. In: Proceedings of the20thsymposium on Information Theory in the Benelux. Haasrode,Belgium,1999,388-397
    [28] T.Messerges, E. Dabbish, R. Sloan. Power analysis Attack of ModularExponentiation in Smartcards. In: Proceedings of the20th symposium onInformation Theory in the Benelux. Haasrode, Belgium,1999,144-157
    [29] T.Messerges, E. Dabbish. Investigations of Power Analysis Attacks onSmartcards. In: Proceedings of the USENIX Workshop on Smartcard Technology(Smartcard'99). Benelux,1999,114-120
    [30]H.Quisquater, D. Samyde. Measures and Countermeasures for Smart Cards. New Jersey:Wiley Press,2010,200-210
    [31]K. Gandol, C. Mourtel, F. Olivier. Electromagnetic Attacks:Concrete Results. In: Proceedings of the20th symposium on Information Theory in the Benelux. Haasrode, Belgium,1999,251-261
    [32]D. Agrawal, B. Archambeault, J. Rao. The EM Side-Channel(s). In:Proceedings of the20th symposium on Information Theory in the Benelux. Haasrode,2007,29-45
    [33]F. Andon. PC99System Design Guide.http://www.pcdesguide.org/pc99/.2011-01-06
    [34]H.Tupon. Trusted Computing Platform Alliance. http://www. trustedcomputing. org.2011-12-12
    [35]B. Baker. On finding duplication and near-duplication in large software systems. In:Proceedings of the2nd Working Conference on Reverse Engineering,1999,86-95
    [36]微软公司白皮书.Microsoft.NET让新一代因特网变成现实[EB/OL]. http://www.microsoft.com/china/net/it/whitepaper.mspx,2011-06-11
    [37]J. Ponffier. Software Token Usage. http://research.microsoft.com/collaboration/university/europe/events/semseries/sec2002/Manferdelli.aspx.2010-04-06
    [38]A. Shamir, N.Someren. Playing "hide and seek" with stored keys. In: Proceedings of the20th symposium on Information Theory in the Benelux. Haasrode, Belgium,1999,118-124
    [39]蒋涛.理解软件保护技术之Key File保护.http://dev.yesky.com/243/3032243.shtml.2011-01-06
    [40]蒋涛.理解软件保护技术之功能限制的程序.http://developer.e800.com.cn/articles/2007/912/1189541893288597175_1.html.2011-09-12
    [41]苏启波.软件保护技术--警告(NAG)窗口.http://hi.baidu.com/13366366328/blog/item/b93ce554af701dld3b293530.html.2011-8-1
    [42]A. Huang. Keeping Secrets in Hardware:the Microsoft Xbox(TM) Case Study. http://research.microsoft.com/collaboration/university/europe/events/semseries/sec2002/lt.aspx.2011-03-14
    [43]Aucsmith D. Tamper Resistant Software:an Implementation. In:Proceedings of the20th symposium on Information Theory,1999,317-334
    [44]B. Barak, O. Goldreich, R. Impagliazzo. On the (Im)possibility of Obfuscating Programs. New Jersey:Wiley Press,2010,10-18
    [45]C. Linn, S. Ddbrar. Obfuscation of executable code to imporve resistance to static disassembly. In:Proceedings of the10th ACM Conference on Computer and Communications Security.2003,290-299
    [46]ZHANG Xue-song, HE Feng-ling, ZUO Wan-li. An inter-classes obfuscation method for Java program. In:Proceedings of the2nd International Conference on Information Security and Assurance. Washington DC:IEEE Computer Society,2008,360-365
    [47]E. Eldad. Secrets of reverse engineering. Wiley,2005,337-338
    [48]C. Cifuentes, M. Emmerik. UQBT:Adaptable binary translation at low cost. IEEE Computer,2000,40(2):3-15
    [49]W.C. Hsieh, D. Engler, G. Back. Reverse-Engineering Instruction Encodings. In: Proceedings of the USENIX Annual Technical Conference,2001,133-146
    [50]C. Linn, S. Debray. Obfuscation of executable code to improve resistance to static disassembly. In:Proceedings of the10th ACM Conference on Computer and Communications Security (CCS),2003,290-299
    [51]金然,魏强,王清贤.基于归一化的变形恶意代码检测.计算机工程,2008,34(5):169-170
    [52]姜晓新,段海新.一种PE文件加壳检测规则.计算机工程,2010,36(14):135-137
    [53]何迎生,段明秀.32位Windows系统下的PE文件结构及其应用;清华大学学报(自然科学版),2003,25(01):112-120
    [54]孙锐,朱桂林Windows PE可执行文件压缩机制的分析.计算机工程,2003,31(21):92-97
    [55]匿名.加密反跟踪技术.http://www.hackbase.com/tech/2004-09-29/283/.2011-6-6
    [56]G.Myles. Preventing Piracy within the Video Game Industry. International Digital Media and Arts Journal,2005,2(1):68-78
    [57]G. Arboit. A method for watermarking java programs via opaque predicates. In: Proceedings of the5th International Conference on Electronic Commerce Research (ICECR-5),2002,102-106
    [58]G.Myles, C.Collberg. Detecting Software Theft via Whole Program Path Birthmarks. Information Security:In:Proceedings of the7th InternationalConference,2004,404-415
    [59] I.D. Baxter, A. Yahin, L.M. De Moura, M. Sant, L. Bier. Clone detection usingabstract syntax trees. In: Proceedings of the4nd Internation Conference onSoftware Maintance,1998,368-377
    [60] S. Brin, J. Davis, H. Garcia-Molina. Copy detection mechanisms for digitaldocuments. In: Proceedings of ACM SIGMOD international conference onManagement of data,1995,398-409
    [61] I. Krsul, E.H. Spafford. Authorship analysis: Identifying the author of a program.Computers and Security,1997,16(3):233-257
    [62] C. Thomborson, J,Nagra, R, Somaraju, C. He. Tamper-proofing SoftwareWatermarks. In: Proceedings of2econd Australasian Information SecurityWorkshop (AISW2004),2004,27-36
    [63] R. Anderson, M. Kuhn. Tamper resistance-a cautionary note. In USENIXWorkshop on Electronic Commerce,1996,1-l1
    [64] L. David, C.Thekkath, M. Mitchell. Architectural support f or copy and tamperresist ant software. In: Proceedings of the9th Int Conf on Architectural Supportfor Programming Languages and Operating Systems.2000,168-177
    [65] D Aucsmith. Tamper Resistant Software: An implementation. In: Proceedings ofthe1st IntWorkshop on Information Hiding.1996,317-333
    [66] E. D.Bryant, M.J.Stytz. A Survey of Antitamper Technologies CrossTalk: TheJournal of Defense Software Engineering,2004,17(11):12-16
    [67] H. Chang, Atallah M. Protecting Software Code by Guards. In: Proceedings of he20th symposium on Information Theory,1999,160-175
    [68] B. Horne, L. Matheson, C. Sheehan. Dynamic Self-Checking Techniques forImproved Tamper Resistance. In: Proceedings of the20th symposium onInformation Theory,1999,141-159
    [69] C.Collberg, G.Myles, M.Stepp. Cheating Detectors. University of Arizona,Department of Computer Science Technical Report TRO4-05,2004,92-98
    [70] R. Agrawal, P. Haas, J. Kiernan. Watermarking relational data: framework,algorithms and analysis. The International Journal on Very Large Data Bases,2003,12(2),90-100
    [71] C. Collberg, S. Jha, D. Tomko, H. Wang. Uwstego: A general architecture forsoftware watermarking. Technical Report TR04–11,2001,87-95
    [72] C. Collberg, C. Thomborson. Software watermarking: Models and dynamicembeddings. In: Proceedings of Symposium on Principles of Programming Languages, POPL'99,1999,311-324
    [73]W. Zhu, C. Thomborson, F.Y. Wang. A survey of software watermarking. In: Proceedings of IEEE ISI2005,454-458
    [74]W. Zhu, C. Thomborson. Extraction in software watermarking. In:Proceedings of ACM Multimedia and Security Workshop,2006,26-27
    [75]W. Zhu, C. Thomborson. Recognition in software watermarking. In:Proceedings of1st ACM Workshop on Content Protection and Security, in conjuction with ACM Multimedia2006,29-36
    [76]张立和,杨义先,钮心忻,牛少彰.软件水印综述.软件学报,2003,14(2):268-27
    [77]D. Grover. The Protection of Computer Software-Its Technology and Applications. Cambridge University Press,2edition,1997,65-68
    [78]R. Agrawal, P. Haas, J. Kiernan. Potpourri:A system for watermarking relational databases. In:Proceedings of2003ACM SIGMOD international conference on Management of data,2003,45-50
    [79]M. Atallah, V. Raskin, C. Hempelmann, M. Karahan, R. Sion, K. Triezenberg, U. Topkara. Natural language watermarking and tamperproofing. In:Proceedings of5th Information Hiding Workshop, volume2578of LNCS,2003,196-212
    [80]C. Collberg, C. Thomborson, D. Low. Manufacturing cheap, resilient, and stealthy opaque constructs. In In:Proceedings of POPL'98,1998,184-196
    [81]Wang Rui. JAVA Byte Code File Encryption Research. Advances in Intelligent and Soft Computing.2012,119/2012,629-633
    [82]B. Baker, U. Manber. Deducing similarities in java sources from bytecodes. In: Proceedings of the USENIX Annual Technical Conference,1998,45-49
    [83]G. Arboit. A method for watermarking java programs via opaque predicates. In: Proceedings of the5th International Conference on Electronic Commerce Research (ICECR-5),2002,102-106
    [84]G. Hachez. A Comparative Study of Software Protection Tools Suited for E-Commerce with Contributions to Software Watermarking and Smart Cards. PhD thesis, Universite Catholique de Louvain,2003,75-79
    [85]G. Hachez.The easter egg archive.http://www.eegg.com.2011-6-6
    [86]S. Govindavajhala, A. Appel. Using memory errors to attack a virtual machine. In IEEE Symposium on Security and Privacy,2003,75-81
    [87]D. Grover. Program identification. The Protection of Computer Software Its Technology and Applications,1999,122-154
    [88]N. J. Hopper, J. Langford, L. vonahn. Provably secure steganography. In:Proceedings of CRYPTO2002,2002,77-92
    [89] J. Pieprzyk. Fingerprints for copyright software protection. I In: Proceedings ofthe Second International Workshop on Information Security, ISW’99(LNCS1729),1999,178-190
    [90] G. Myles, H. Jin. Self-validating branch-based software watermarking. In:Proceedings of29th Workshop on Graph Theoretic Concepts in ComputerScience,2005,342-356
    [91] J. Nagra, C. Thomborson, C. Collberg. Software watermarking: Protectiveterminology. In: Proceedings of the ACSC2002,2002,90-96
    [92] A. Monden, H. Iida. A watermarking method for computer programs (injapanese). In: Proceedings of the1998Symposium on Cryptography andInformation Security, SCIS’98,1998,70-76
    [93] H. C. Kim, E. T. Lin, O. Guitart, E. J. Delp. Further progress in watermarkevaluation testbed (wet). In: Proceedings of the2nd International Conference onSecurity, Steganography, and Watermarking of Multimedia,2005,241-251
    [94] P. Moulin, J. O’Sullivan. Information–theoretic analysis of watermarking. In:Proceedings of the first International Conference on Security, Steganography,and Watermarking of Multimedia,2000,70-77
    [95] G. Myles, C. Collberg. Software watermarking through register allocation:Implementation, analysis, and attacks. In LNCS2971,2004,274-293
    [96] G. Myles,C. Collberg. Software watermarking via opaque predicates:Implementation, analysis, and attacks. In ICECR-7,2004,145-151
    [97] W. Bender, D. Gruhl, N. Morimoto, A. Lu. Techniques for data hiding. IBMSystems Journal,1996,35(34):313-336
    [98] Byte code engineering library. http://jakarta.apache.org/bcel/.2010-5-1
    [99] Bytecode-level optimizer and analysis tool.http://www.cs.purdue.edu/homes/hoskillg/bloat/.2011-6-11
    [100]Codeshield. java bytecode obfuscator.http://www.codingart.com/codeshield.html.2011-6-11
    [101]The ida pro disassembler and debugger. http://www.datarescue.com/idabase.2011-6-12
    [102]Jarg. java archive grinder. http://jarg.sourceforge.net.2011-6-18
    [103]Jcloak. http://www.force5.com/JCloak/ProductJCloak.html.2011-5-14
    [104]Jcloak. Smokescreen java obfuscator. http://www.leesw.com.2011-5-19
    [105]C. Collberg, C. Thomborson, D. Low. A taxonomy of obfuscatingtransformations. Technical Report148, Department of Computer Science,University of Auckland,2007,25-31
    [106]W. Zhu, C. Thomborson,,F.Y. Wang. Obfuscate arrays by homomorphicfunctions. In Special Session on Data Security and Privacy in IEEE GrC2006,2006,770-773
    [107]V.V.Hanpeter. The Java decompiler. http://www.brouhaha.com/~eric/computers/mocha.html.2011-05-06
    [108]J. Miecznikowski.Decompliling Java Using Staged Proebsting R, Scott A.Decomplication in Java. In: Proceedings of the Third USENIX Conference.1997,58-60
    [109]V.R.Raja. A Java Bytecode Optmization Framework:[Master]. Montreal, Schoolof Computer Science, McGill University,2000,132-139
    [110]V.V.Hanpeter. The Java obfuscator. http://www.brouhaha.com/~eric/computers/mocha.html.2004-1-23
    [111]B. Feng, M. Zhang, G. Xu, X. Niu, and Z. Hu. Dynamic Data Flow Graph-basedsoftware watermarking. In: IEEE International Conference on NetworkInfrastructure and Digital Content(IC-NIDC2009).2009,1029-1033
    [112]L.Scott. Java Control Flow Obfuscation:[Master]. New Zealand, University ofAuckland,1998,89-97
    [113]L.Tim. The Java Virtual Machine Specification.http://java.sun.com/docs/books/vmspec/2nd-edition/html1/VMSpecToc.doc.html.2011-04-14
    [114]G. Myles, C. Collberg, Z. Heidepriem, A. Navabi. The evaluation of twosoftware watermarking algorithms. Software: Practice and Experience,2005,35(10):923-938
    [115]J. Nagra, C. Thomborson, C.Collberg. A functional taxonomy for softwarewatermarking. In: Proceedings of Twenty-Fifth Australasian Computer ScienceConference,2002,174-193
    [116]J. Palsberg, S. Krishnaswami, M. Kwon, D.Ma, Shao, Q.&Zhang, Y.Experience with software watermarking, In: Proceedings of the16thSecurityApplications Conf.(AC-SAC'OO)',2003,308-316
    [117]W. Davidson, I. Robert, W.A. Bellevue. Computer software protection. USA.http://freepatei1tsonline.com/5559884.html, United States Patent5559884.2010-10-10
    [118]K. Holmes, I.E. Dublin, International Business Machines Corporation, Computer software protection. USA. http://fieepatentsonline.com/5287407.html, United States Patent5287407.1994-9-7
    [119]M. Moskowitz, A. Scott. Computer software protection. USA. http:llfreepatentsonline.com/5745569.html, United StatesPatent5745569.1998-8-9
    [120]P. R. Samson, Autodesk, Inc. Computer software protection. USA. http://freepatentsonline.com/5287408.html,United States Patent5287408.1994-2-12
    [121]J.M. Nardorie, R.P. Marigold, J.L. Pfoterihauer, K.L. Shippy, D.W. Aucsrnith, R.L. Maliszewski, G.L.arid, G. Tarrper. Resistance Methods arid apparatus. USA. http://freepatentsonline.com/6205550.html,United States Patent6205550.2001-5-8
    [122]P. Tyma. Method for renaming identifiers of a computer program. USA. http://freepatentsonline.com/6102966.html, United States Patent6102966,2000-9-7
    [123]G.Qu, M.Potkonjak. Hiding signatures in graph coloring solutions.Proceedings of the Third International Workshop on Information Hiding.1999,348-367
    [124]Zuwei Tian, Xingming Sun, Hengfu Yang. A Scheme of PE Virus Detection Using Fragile Software Watermarking Technique. International Journal of Digital Content Technology and its Applications.2011,5(2):158-171
    [125]邓小鸿,孙星明,孙光,拜亚萌.基于分支语句的软件水印的设计与实现.计算技术与自动化,2006,25(4):111-114
    [126]J. Hamilton, S.Danicic. A survey of static software watermarking.2011World Congress on Internet Security WorldCIS2011.2011,100-107
    [127]吴建军,高济.基于指令统计分布的软件水印方案.浙江大学学报,2005,39(2):225-228
    [128]R. Giacobazzi, G. Barthe, and M. Hermenegildo,"Abstract Interpretation-Based Protection," In:Eleventh International Conference on Verification, Model Checking, and Abstract Interpretation,2010,23-24
    [129]K. Hwang, and D. Li. Trusted Cloud Computing with Secure Resources and Data Coloring. IEEE Internet Computing,2010,14(5):14-22
    [130]C.Collberg, C.Thomborson, M.Gregg. Dynamic Graph-Based Software Watermarking. ACM Transactions on Programming Languages and Systems2007,29(6):77-89
    [131]C.Collberg, C.Thomborson, M.Gregg. Dynamic Graph-Based Software Watermarking. Technical Report TR04-08, University of Arizona,2004,15-25
    [132]白雪梅,凌捷.基于动态图的防篡改软件水印实现方案.网络安全技术与应用,2005(7):10-13
    [133]白雪梅,凌捷.基于神经网络的软件水印实现方案.网络安全技术与应用,2005(10):75-77
    [134]W.Zhu, C.Thomborson. On the QP Algorithm in Software Watermarking. Lecture Notes in Computer Science2007,2007,646-647
    [135]J. Zhu, Y. Liu, and K. Yin. A Novel Planar IPPCT Tree Structure and Characteristics Analysis. Journal of Software,2010,5(3),344-351
    [136]W.Zhu, C.Thomborson, Wang Fei-Yue. Application of homomorphic functions to software obfuscation. In:Proceedings of WISI2007,2007,152-153
    [137]W. Liu and Y. Wu. Software Protection with Encryption and Verification. Theory and Practice Software Engineering and Knowledge Engineering.2012,115,131-138
    [138]J. Hamilton, S. Danicic. An Evaluation of the Resilience of Static Java Bytecode Watermarks Against Distortive Attacks. IAENG International Journal of Computer Science,2011,38(1):90-104
    [139]Jianqi Zhu, Yanheng Liu, Aimin Wang, Kexin Yin. H Function based Tamper-proofing Software Watermarking Scheme. Journal of Software.2011,6(1):148-155
    [140]Guang Sun, Xingming Sun. Software Watermarking Based on Condensed Co-Change Graph Cluster. Information Technology Journal,2010,9(5):949-955
    [141]C.Collberg, E.Carter, S.Debray, A.Huntwork, C.Linn, M.Stepp. Dynamic Path-Based Software Watermarking. In:Proceedings of of the ACM SIGPLAN2004Conference on Programming Language Design and Implementation.2004,107-118
    [142]孙光,孙星明,杨蓉.可嵌入水印的混淆编译框架.科学技术与工程.2005,5(10):656-660
    [143]M. Amarnath and S.YN. SWuS:Software Watermark using Slices. Technical Report IISc-CSA-TR.2004,5-10
    [144]Ying Zeng, Fenlin Liu, Xiangyang Luo, Chunfang Yang. Software Watermarking Through Obfuscated Interpretation:Implementation and Analysis. Journal of Multimedia.2011,6(4):329-340
    [145]J. Nagra, C. Thomborson. Threading Software Watermarks.Lecture Notes in Computer Science.2005,3200/2005,221-247
    [146]芦斌,罗向阳,刘粉林.一种基于混沌的软件水印算法框架及实现.软件学报,2007,18(02),351-360
    [147]I.Kamel, Q.Albluwi. A robust software watermarking for copyright protection, computers&security,2009,28(2):395-409
    [148]J. Pastuszak, D. Michalek, J. Pieprzyk. Copyrightprotection of object-oriented softwares. In:Proceedings of ICICS2001,2001,186-199
    [149]M.Christopher. Software systems as complex networks:Structure, function, and evolvability of software collaboration graphs. Physical Review E-Statistical,2003,68(42):461161-4611615
    [150]A. Periklis, T.Vassilios. Information-theoretic software clustering. IEEE Transactions on Software Engineering,2005,31(2):150-165
    [151]A. Periklis, T.Vassilios. Software Clustering based on information Loss Minimization. In:Proceedings of Reverse Engineering-Working Conference Proceedings,2003,334-344
    [152]D.Beyer, A.Noack. Clustering software artifacts based on frequent common changes. In:Proceedings of13th International Workshop on Program Comprehension,2005,259-268
    [153]Z. Wen,V. Tzerpos. An effectiveness measure for software clustering algorithms. In:Proceedings of IWPC,2004,194-203
    [154]D. Beyer, A. Noack. Mining co-change clusters from version repositories. Technical Report IC/2005/003, Ecole Polytechnique F'ed'erale de Lausanne (EPFL),2005,1-5
    [155]N. Anquetil, T. Lethbridge. Experiments with Clustering as a Software Remodularization Method. In:Proceedings of Sixth Working Conf. Reverse Eng,1999,235-255
    [156]N. Anquetil, T.C. Lethbridge. Recovering Software Architecture from the Names of Source Files. Software Maintenance:Research and Practice,1999,11:201-221.
    [157]N. Anquetil, T.C. Lethbridge. Comparative Study of Clustering Algorithms and Abstract Representations for Software Remodularisation. IEE Proc. Software,2003,150:185-201
    [158]R.B. Yates, B.R. Neto, Modern Information Retrieval. Addison-Wesley-Longman,1999,7-11
    [159]M. Bauer, M. Trifu. Architecture-Aware Adaptive Clustering of OO Systems. In: Proceedings of Eighth European Conf. Software Maintenance and Reeng,2004,3-14
    [160]I.T. Bowman, R.C. Holt. Software Architecture Recovery Using Conway's Law. Proc. Ann. In:Proceedings of IBM Centers for Advanced Studies Conf.,1998,123-133
    [161]S. Brin, L. Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine. Computer Networks,1998,30(1):107-117
    [162]D.H. Hutchens, V.R. Basili. System Structure Analysis:Clustering with Data Bindings. IEEE Trans. Software Eng,1985,11(8):749-757
    [163]R. Koschke, T. Eisenbarth. A Framework for Experimental Evaluation of Clustering Techniques. Proc. Eighth Int'l Workshop Program Comprehension,2000,201-210
    [164]C. Lindig, G. Snelting. Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis. Proc.19th Conf of Software,1997,349-359
    [165]R. Lutz. Recovering High-Level Structure of Software Systems Using a Minimum Description Length Principle. Proc.13th Irish Conf. Artificial Intelligence and Cognitive Science,2002,117-121
    [166]S. Mancoridis, B. Mitchell, Y. Chen, E. Gansner. Bunch:A Clustering Tool for the Recovery and Maintenance of Software System Structures,. Proc. Int'l Conf. Software Maintenance,1999,211-220
    [167]E. Merlo, I. McAdam, R.D. Mori. Source Code Informal Information Analysis Using Connectionist Models. Int'l Joint Conf. Artificial Intelligence,2003,1339-1344
    [168]B.S. Mitchell, S. Mancoridis. Comparing the Decompositions Produced by Software Clustering Algorithms Using Similarity Measurements. Proc. Int'l Conf. Software Maintenance,2001,744-753
    [169]H.A. Mu" Her, M.A. Orgun, S.R. Tilley, J.S. Uhl. A Reverse Engineering Approach to Subsystem Structure Identification. Software Maintenance: Research and Practice,1993,5:181-204
    [170]N. Slonim, R. Somerville, N. Tishby, O. Lahav. Objective Classification of Galaxies Spectra Using the Information Bottleneck Method. Monthly Notices of the Royal Astronomical Soc.(MNRAS),2009,323(27):70-81
    [171]K. Sartipi, K. Kontogiannis. A Graph Pattern Matching Approach to Software Architecture Recovery. In:Proceedings of Int'l Conf. Software Maintenance,2009,408-419
    [172]R.W. Schwanke. An Intelligent Tool for Re-Engineering Software Modularity In:Proceedings of13th Int’l Conf. Software Eng,2001,83-92
    [173]H. Gall, M. Jazayeri, and J. Krajewski. CVS release history data for detectinglogical couplings. In: Proceedings of IWPSE,2003,84-94
    [174]T. Zimmermann, S. Diehl, A. Zeller. How history justifies system architecture(or not). In: Proceedings of IWPSE,2003,73-83
    [175]T. Zimmermann, P.Weigerber, S. Diehl, and A. Zeller. Mining version historiesto guide software changes. In: Proceedings of ICSE,2004,563-572
    [176]M.E.J. Newman, M. Girvan. Finding and evaluating community structure innetworks. Physical Review E-Statistical,2004,69(22):026113-1-026113-15
    [177]Q.Guanqun,Z.Lin, Z.Li. Applying complex network method to softwareclustering.In:Proceedings of CSSE,2008,310-316
    [178]D Meunier, H Paugam-Moisy. Cluster detection algorithm in neural networks. In:Proceedings of14th ESANN,2006,19-24
    [179]M. Li, X. Chen, X. Li, B. Ma, and P.M.B. The similarity metric. IEEETransactions On Information Theory.2004,50(12),3250-3264
    [180]X. Chen, B. Francia, M. Li, B. McKinnon, and A. Seker, Shared informationandprogram plagiarism detection. IEEE Transactions On Information Theory.2004,50(7):1545-1551
    [181]M. Newman. Detecting community structure in networks. European PhysicalJournal,2004,38(2):321-330
    [182]M. Newman. Fast algorithm for detecting community structure in networks.Physical Review,2004,69(6):096-133
    [183]C. Collberg.Sandmark tool. http://sandmark.cs.arizona.edu/.2012-4-11
    [184]I. COX, J. KILIAN, T. LEIGHTON. A secure robust watermark for multimedia.In: Proceedings of Workshop on Information Hiding,1996,245-247
    [185]W. Zhu, C. Thomborson. A provable scheme for homomorphic obfuscationin insoftware security. In: Proceedings of the IASTED International Conference onCommunication, Network and Information Security,CNIS’05,2005,208-212
    [186]C. Collberg, C. Thomborson. SandMark: a tool for software protection research.IEEE Magazine of Security and Privacy,2003,1(4):40-49
    [187]C. Collberg.Sandmark. http://www.cs.arizona.edu/sandmark/.2011-09-19
    [188]Microsoft Corporation. MSIL Instructions Specification.http://www.ssw.uni-linz.ac.at/,2011-12-10
    [189]AI J Q, SUN X M, INGEMAR J, et al. A stern-based collusion-secure softwarewatermarking algorithm and its implementation. In: Proceedings of theInternational Conference on Multimedia and Ubiquitous Engineering2007,2007,26-28
    [190]G. Myles, C. Collberg. Detecting software theft via whole program pathbirth-marks. In: Proceedings of7th International Information Security,Conference,2004,404-415
    [191]Silvio Cesare, Yang Xiang. Software Birthmark Similarity. Software Similarityand Classification,2012,51(2):63-70
    [192]Seokwoo Choi, Heewan Park, Hyun-il Lim, Taisook Han. A static API birthmarkfor Windows binary executables. Journal of Systems and Software,2009,82(5):862-873
    [193]S. Tallam, R.Gupta. Unified control flow and data dependence traces. ACMTransactions on Architecture and Code Optimization (TACO),2007,4(3):298-313
    [194]P. Patrick, F. Chan, Lucas C. K. Hui, M. Yiu. Dynamic Software Birthmark forJava Based on Heap Memory Analysis. Computer Science,2011,7025:94-107.
    [195]H.Tamada, M.Nakamura, A.Monden, K.Matsumoto. Design and evaluation ofbirthmarks for detecting theft of java programs. In: Proceedings of InternationalConference on Software Engineering (IASTED),2004,569-575
    [196]G. Myles, C. Collberg. K-gram based software birthmarks. In: Proceedings ofSAC.2005,314-318
    [197]Yameng Bai, Xingming Sun, Guang Sun, Xiaohong Deng, Xiaoming Zhou.Dynamic K-Gram Based Software Birthmark. In: Proceedings of19th AustralianSoftware Engineering Conference (ASWEC2008),2008,26-28
    [198]D. Schuler, V. Dallmeier, C. Lindig. A dynamic birthmark for java. In:Proceedings of ASE’07,2007,4-9
    [199]Xiaoming zhou, Xingming Sun, Guang Sun, Ying Yang. A Combined Static andDynamic Software Birthmark Based on Component Dependence Graph. In:Proceedings of2008International Conference on Intelligent Information Hidingand Multimedia Signal Processing (IIHMSP’08),2008,1416-1421
    [200]Louis Yi-Shih Lo, Sheng-Wei Lin. The Effect of Price Presentation, SalesRestrictions, and Social Networks on Consumer EWOM Intention. AISS:Advances in Information Science and Service Sciences,2011,3(1):1-9
    [201]Zuwei Tian, Xingming Sun, Hengfu Yang. A Scheme of PE Virus DetectionUsing Fragile Software Watermarking Technique. JDCTA: International Journalof Digital Content Technology and its Applications,2011,5(2):158-164
    [202]Dongming Chen, Jing Wang, Xiaodong Chen, Xiaowei Xu. A Search Algorithmfor Clusters in a Network or Graph. JDCTA,2010,4(6):115-122
    [203]Ying Zeng, FenLin Liu, XiangYang Luo, ShiGuo Lian. Abstractinterpretation-based semantic framework for software birthmark. Computers&Security,2012,31(4):377-390
    [204]Heewan Park, Hyun-il Lim, Seokwoo Choi, Taisook Han. Detecting CommonModules in Java Packages Based on Static Object Trace Birthmark. TheComputer Journal,2011,54(1):108-124

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700