一种基于隐写术的代码保护及还原方法技术

技术编号:11699435 阅读:103 留言:0更新日期:2015-07-08 23:36
本发明专利技术公开了一种基于隐写术的代码保护及还原方法。本方法为:1)利用所选隐写算法将重要软件中的待保护程序代码嵌入到所选图像载体中,生成携码图像;2)搜索所嵌入的每一程序代码在该重要软件中的位置,然后在对应的位置插入该图像读取操作和代码提取还原操作;3)对步骤2)处理后的代码进行重新编译并写入所选隐写算法的隐写密钥,得到一提供该程序代码保护的安全软件。还原端运行所述安全软件,提取所述隐写密钥,当执行到所述图像读取操作和代码提取还原操作时,利用与所述隐写算法相应的代码提取方法和所述隐写密钥,从携码图像中还原出隐藏的所述程序代码。本发明专利技术提高了重要软件的安全性。

【技术实现步骤摘要】

本专利技术涉及,属于信息隐藏
,特 别涉及软件重要代码的保护及还原方法。
技术介绍
随着计算机软件技术的日益普及,盗版软件让企业蒙受了巨大的损失,软件版权 保护受到业界的重点关注。国际数据资讯公司(InternationalDataCorporation,IDC)和 新加坡国立大学展开的一项最新研宄显示,2014年盗版软件或导致全球企业损失近5000 亿美元;另据商业软件联盟(BusinessSoftwareAlliance,BSA)最新的全球调查显示,亚 太地区软件盗版率已攀升至62%,其中我国所受商业损失最大,高达87. 6亿美元。因此,保 护软件的重要代码对遏制软件盗版起着至关重要的作用。 从安全需求上看,重要软件的编制需要有基本的代码保护技术作为支撑,以对抗 静态代码分析手段,避免软件操作意图通过代码暴露(参考:白金荣,王俊峰,赵宗渠.基 于PE静态结构特征的恶意软件检测方法,计算机科学,40 (1) :122-126, 2013年1月)。虽 然对静态代码的保护仅仅是相关保护技术的一部分,但是,这种保护一般非常必要,得到了 大量应用。 软件加壳技术是当前一种常用的保护软件版权、防止软件被破解的技术,它通过 利用加密或压缩形式来保护软件代码,加壳后的软件可以直接运行但是无法识别源代码 (参考文献:M.SikorskiandA.Honig.PracticalMalwareAnalysis:TheHands-OnGuide toDissectingMaliciousSoftware.NoStarchPress,SanFrancisco,CA,USA, 2012 ; 徐向阳,解庆春,刘勇,俞笛,刘寅.PE文件隐型加壳技术的研宄与实现,计算机应用研 宄,26(1) :337-341,2009年1月)。至目前,网上出现了大量的加壳软件,如ASProtect、 ACProtect、ArmadilloCustom、Dbpe、TheEnigmaProtector、EXECryptor、EXEStealth、 Xtreme-Protector、ZProtect等。但是,由于加壳软件的特点较明显,代码检测系统已普 遍能识别它们并做出警告(参考文献:B.Tao,R.Isawa,S.GuoandD.Inoue.Efficient MalwarePackerIdentificationUsingSupportVectorMachineswithSpectrum Kernel.In:Proc. 2013EighthAsiaJointConferenceonInformationSecurity(Asia JCIS),pp. 69-76,July25-26, 2013,Seoul),例如,瑞星软件能够"识别数百种加壳工 具"(参考:陈勤,黄剑军,褚一平,方海英.基于带权欧拉距离的PE文件壳检测技术,计 算机工程与科学,32 (7) : 1-3, 7, 2010年);有些脱壳软件甚至能对加壳软件进行破解,还 原出原先的代码,如Procdump32、Un-ASPACK、LinxerUnpacker、SymbianUnpackTool、 WinUpackStripper、RL!dePacker等(参考:看雪学院安全论坛.http://tools.pediy. comAmpacker.htm, 2013)。此外,从应用方式上看,基于加壳技术的代码保护有"此地无银 三百两"的行为特征,同隐蔽性需求相矛盾。因此软件加壳技术在实际应用中存在隐蔽性 差、安全性较弱问题。 从20世纪末开始,多媒体在计算机和网络系统中大量使用,由于多媒体信息冗余 较大,使得基于多媒体为载体的信息隐藏获得了迅速发展。近年来,一些代码编制者也逐 渐发现了用信息隐藏方法保护代码的潜在优势,设计了一些代码隐藏方法,即将代码隐藏 在随软件发行的图像、图标图像、视频或者格式化文档等数字媒体中,在正常的媒体操作中 提取隐藏的代码执行。显然,采用这类代码保护方法形成的软件没有特定的组成结构特点 (如加密数据区或者压缩数据区),而当前软件中包含大量图像资源(如闪屏、图标、窗口背 景、Web页面图像、表情符等),使得对图像的操作显得非常自然。 在利用加壳技术来保护软件代码的专利技术专利方面,中国专利技术专利102609666A提 出了一种可执行程序加壳保护方法,中国专利技术专利102136053A利用ELF文件框架提出了一 种对可执行文件源代码保护的方法,中国专利技术专利101964040A提出了一种基于PELoader 的软件加壳保护方法。然而,在利用代码隐藏技术的代码保护方法还未见公开的专利技术专利。 根据上述分析可以发现当前采用代码隐藏技术是保护软件代码的一种新技术发 展趋势,它是替代加壳技术的有效手段之一,得到的最终软件不像加壳软件那样具有较显 著的特征。但是,当前基于代码隐藏方法的代码保护还处于一个技术上的初级阶段,这主要 体现在以下两个方面: (1)代码隐藏方法的隐蔽性不强。 当前,代码隐藏保护一般没有假设隐写分析(参考:J.Fridrich,J.Kodovsky,and V.Holub.Richmodelsforsteganalysisofdigitalimages.IEEETransactionson InformationForensicsandSecurity,7(3) :868-882, 2012)的威胁,实施信息隐藏的方 法非常简陋,甚至造成视觉上的感知异常情况,或者代码的存储位置很容易分析出来,因此 比较容易被检测到。BitDefender和Symantec公司的产品也能够类似地识别JPEG文件的 异常。 由于当前的检测手段能够直接从隐藏载体上分析出异常,甚至能够直接提取 出隐藏的保护代码,因此需要加强隐藏方法对代码保护的隐蔽性。从技术实现上分析, 可以采用更好的隐写方法实施代码隐藏。当前,隐写码的出现(参考Fridrichand D.Soukal.Matrixembeddingforlargepayload.IEEETrans.InformationForensics andSecurity, 2006,I(3) : 390 - 395),使得可以减少需要修改载体的次数,自适应隐写的 出现(参考:T.Pcvn夕,T.Filler,andP.Bas.Usinghigh-dimensionalimagemodelsto performhighlyundetectablesteganography.InProc.IH2010,LNCS6387,pp. 161 -177,Springer, 2010),使得能够减小对统计量的影响,它们有待应用于提高以上隐藏代码 的抗隐写分析的能力。 (2)代码提取的隐蔽性不够强。 当前,代码隐藏保护的另一个不足是对提取隐藏代码的操作保护不够,使得反编 译后分析者很可能看出提取操作中的特殊操作。 现有的代码隐藏保护方法没有能够很好地隐蔽代码的提取操作,反编译后能够找 到具体的定位和解密操作。
技术实现思路
针对现有代码隐藏保护方法中提取操作隐蔽性不强的问题,本专利技术提供一种基于 隐写术的代码保护方法,通过利用图像来隐藏本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/CN104765986.html" title="一种基于隐写术的代码保护及还原方法原文来自X技术">基于隐写术的代码保护及还原方法</a>

【技术保护点】
一种基于隐写术的代码保护方法,其步骤为:1)利用所选隐写算法将重要软件中的待保护程序代码嵌入到所选图像载体中,生成携码图像;2)搜索所嵌入的每一程序代码在该重要软件中的位置,然后在对应的位置插入该图像读取操作和代码提取还原操作;3)对步骤2)处理后的代码进行重新编译并写入所选隐写算法的隐写密钥,得到一提供该程序代码保护的安全软件。

【技术特征摘要】

【专利技术属性】
技术研发人员:易小伟李金才赵险峰
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1