用于使用返回导向编程的代码混淆的方法技术

技术编号:16308124 阅读:36 留言:0更新日期:2017-09-27 02:01
本发明专利技术的实施例涉及将返回导向编程(Return Oriented Programming,ROP)用于非恶意目的,即用于代码混淆以提高安全性。可以通过创建实行原始(未被混淆)代码的指定功能的ROP代码并且构造能经过加载以执行所述ROP代码的ROP有效负载来隐藏与敏感性质的所述指定功能相关联的程序代码。可以用与所述指定功能不相关的杂散代码替代所述原始代码,并且提供控制流指令来加载所述ROP有效负载以执行所述ROP代码。

Method for code obfuscation using return oriented programming

Embodiments of the present invention relates to return oriented programming (Return Oriented Programming, ROP) for non malicious purposes, that is used for code obfuscation to improve security. By creating the original (not be confused) specifies the function code ROP code and structure after loading to execute the ROP code of the ROP payload to hide and the sensitive nature of the specified function associated with the program code. The original code can be replaced by stray code not associated with the specified function, and a control flow instruction is provided to load the ROP payload to execute the ROP code.

【技术实现步骤摘要】
【国外来华专利技术】用于使用返回导向编程的代码混淆的方法
本专利技术的实施例涉及代码保护,并且更具体地说,应用返回导向编程(ReturnOrientedProgramming,ROP)以混淆代码并且用于非恶意目的。
技术介绍
混淆是保护算法和代码免于公开的重要技术。应用开发人员经常使用此技术来保护程序中至关重要的算法,使得程序的源代码和机器代码难以理解。一种现有的混淆技术包括增加拆分程序代码的难度,使得程序代码的仅一小部分会被拆分。另一种现有的混淆技术包括对所选指令应用加密,使得已加密指令仅可用密钥公开。然而,这些现有的混淆技术会造成限制。使用第一技术,代码分析仪将意识到程序代码的仅一小部分被拆分。使用第二技术,人们会质疑程序分析并且在加解密处理期间引起关注。
技术实现思路
本专利技术的实施例涉及将返回导向编程(ReturnOrientedProgramming,ROP)用于非恶意目的,即,用于代码混淆以提高安全性。可以通过创建实行原始(未被混淆)代码的指定功能的ROP代码并且构造能经过加载以执行所述ROP代码的ROP有效负载来隐藏与敏感性质的指定功能相关联的代码。可以用与指定功能不相关的杂散代码替代原始代本文档来自技高网...
用于使用返回导向编程的代码混淆的方法

【技术保护点】
一种执行混淆代码的方法,其特征在于,所述方法包括:在具有ROP(返回导向编程)嵌入式主机程序的移动设备中,响应于调用与从所述ROP嵌入式主机程序省略的客户代码相关联的指定功能,检索ROP有效负载,所述ROP嵌入式主机程序包含用于实行所述指定功能的ROP代码;以及使用所述ROP有效负载重新设置所述移动设备的存储器寄存器,从而执行用于实行与所述客户代码相关联的所述调用功能的所述ROP代码。

【技术特征摘要】
【国外来华专利技术】2015.02.06 SG 10201500921Q1.一种执行混淆代码的方法,其特征在于,所述方法包括:在具有ROP(返回导向编程)嵌入式主机程序的移动设备中,响应于调用与从所述ROP嵌入式主机程序省略的客户代码相关联的指定功能,检索ROP有效负载,所述ROP嵌入式主机程序包含用于实行所述指定功能的ROP代码;以及使用所述ROP有效负载重新设置所述移动设备的存储器寄存器,从而执行用于实行与所述客户代码相关联的所述调用功能的所述ROP代码。2.根据权利要求1所述的方法,其特征在于,检索ROP有效负载包含从移动设备将获得与所述调用功能相关联的数据的请求发送到远程服务器,并且从所述服务器接收所述所请求的数据和所述ROP有效负载这两者。3.根据权利要求1所述的方法,其特征在于,检索ROP有效负载包含从所述移动设备中的存储器设备检索所述ROP有效负载。4.根据权利要求3所述的方法,其特征在于,进一步包括:在从所述移动设备中的所述存储器设备检索所述ROP有效负载之前,通过验证外部输入来实行对检索所述ROP有效负载的授权。5.根据权利要求1所述的方法,其特征在于,所述ROP嵌入式主机程序是安卓应用。6.根据权利要求1所述的方法,其特征在于,所述ROP有效负载包含所述客户代码所需的参数数据、形成所述ROP代码的多个片段的返回地址,以及用于重新设置所述存储器寄存器以执行所述ROP代码的数据段。7.根据权利要求1到5中任一权利要求所述的方法,其特征在于,通过以下步骤准备所述ROP嵌入式程序:从具有所述客户代码的非ROP主机程序代码中识别与所述客户代码相关的多个片段并且确定对应于所述片段的多个返回地址;通过修改将存储于存储器寄存器中的所述返回地址创建连接所述片段的所述ROP代码;构造所述ROP有效负载,所述ROP有效负载包含所述客户代码所需的参数数据、所述片段的所述返回地址,以及用于重新设置所述存储器寄存器以执行所述ROP代码的数据段;用杂散代码替代所述主机程序代码中的所述客户代码;提供用于用所述ROP有效负载重新设置所述存储器寄存器的命令码;以及存储所述ROP有效负载。8.一种代码混淆方法,其特征在于,包括:从具有客户代码的主机程序代码中识别与所述客户代码相关的多个片段并且确定对应于所述片段的多个返回地址;通过修改将存储于存储器寄存器中的所述返回地址创建连接所述片段的ROP代码,其中所述ROP代码将实行所述客户代码的指定功能;构造ROP有效负载,所述ROP有效负载包含所述客户代码所需的参数数据、所述片段的所述返回地址,以及用于重新设置所述存储器寄存器以执行所述ROP代码的数据段;用杂散代码替代所述主机程序代码中的所述客户代码;提供用于用所...

【专利技术属性】
技术研发人员:高德斌
申请(专利权)人:华为国际有限公司新加坡管理大学
类型:发明
国别省市:新加坡,SG

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

1