[发明专利]生成和执行受保护的软件项目有效
申请号: | 201480083471.1 | 申请日: | 2014-09-17 |
公开(公告)号: | CN106922191B | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | R.克尔滕 | 申请(专利权)人: | 爱迪德技术有限公司 |
主分类号: | G06F21/54 | 分类号: | G06F21/54 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 张健;蒋骏 |
地址: | 荷兰霍*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 执行 保护 软件 项目 | ||
一种生成受保护的软件项目的方法,存在用于受保护的软件项目的代码内的执行路径,所述指令路径使得在执行用于第一函数的代码之前执行用于一个或多个第二函数的代码,其中用于所述一个或多个第二函数的代码的执行使得在一个或多个存储器位置处存储数据,所述数据满足一个或多个预定属性的集合,其中在执行用于受保护的软件项目的代码时对受保护的软件项目的攻击缺失的情况下,第一函数被布置成提供第一功能性,所述方法包括:将用于第一函数的代码配置成使得通过一个或多个处理器对用于第一函数的代码的执行仅在以下情况下提供第一功能性:在执行第一函数时存储在所述一个或多个存储器位置处的数据满足一个或多个预定属性的集合。
技术领域
本发明涉及生成受保护的软件项目的方法、执行软件项目的方法、受保护的软件项目、以及用于实施这样的方法的计算机程序和装置。
背景技术
已知的是攻击者发动对软件应用的攻击。这样的攻击可以具有影响非常广泛且有破坏性的后果(就财务损失、名誉损失、时间损失、数据损失和数据泄露而言)。软件和系统开发者与攻击者进行持久的抗争,由此,开发者尝试开发措施以阻挠攻击者可能发动的攻击,并且其中攻击者尝试开发新的攻击,其克服或者绕过开发者所采取的措施。
一种示例攻击类型是所谓的“面向返回的编程”(ROP)攻击。关于ROP攻击,攻击者获取软件项目(也就是说,攻击者希望执行对其的攻击的软件项目)并在软件项目的代码(或者指令,诸如机器语言指令或者编译软件和/或数据的操作码)上执行静态分析。特别地,攻击者寻找软件项目中的机器语言指令(或操作码),其引起(或实现)函数返回或者过程返回(诸如,用于x86架构的OxC3指令)。在已经找到这样的“返回指令”的情况下,攻击者标识软件项目中的返回指令紧前面的指令中的一个或多个。与其紧前面的指令中的一个或多个一起,返回指令一起形成所谓的“小配件(gadget)”。
例如,用于软件项目中的特定函数f的指令可以沿着下面示例1的以下伪代码的行:
在该示例中,将“返回指令”图示为指令ret,并且指令inc cx图示返回指令紧前面的一个或多个所标识的指令。因此,攻击者可能已经标识或者定位用于软件项目的代码中的指令ret。作为他的攻击的一部分,攻击者可能希望执行inc cx指令——攻击者因此将ret指令紧前面的inc cx指令的存在标识为对他有用(如将从以下讨论中变得明显)。因此,攻击者将指令inc cx和ret标识为一起形成小配件,其可用于使攻击者在攻击中使用。当然,将领会到,除inc cx之外的指令可以对攻击者有用,并且小配件可以包括返回指令紧前面的多个一个指令。
攻击者标识多个这样的小配件,每一个小配件潜在地具有(一个或多个)不同的相应指令,从而有效地标识或形成软件项目内的所标识的小配件的库。
ROP攻击然后牵涉到攻击者执行所谓的“栈溢出攻击”(例如,标识软件项目中的缓冲器充溢易损性,其有效地使得攻击者能够向栈写入攻击者希望放置在栈上的不论什么数据)。这允许攻击者写入调用栈上的一个或多个返回地址。以该方式,攻击者可以写入在小配件中标识第一指令的返回地址,从而使处理器执行小配件中的指令。一旦已经执行该小配件中的指令,小配件的结尾处的返回指令使得执行在调用栈上的下一返回地址处继续——调用栈上的该返回地址还可以是下述值:攻击者已经设法将该值写入到调用栈,并且该值可以是在另一个小配件中标识第一指令的地址,这意味着攻击者可以使处理器执行该另一个小配件中的指令。扩展这一点,攻击者可以执行攻击者希望的任何小配件序列。本质上,通过将控制转移给子例程(函数或过程)的尾端部分而不是经由其正常入口点调用那些子例程,攻击者以非意图的方式使用软件项目内的现有代码。
例如,如果攻击者希望作为攻击的一部分而执行inc cx指令,则攻击者可以在调用栈上包括以上示例小配件的inc cx指令的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于爱迪德技术有限公司,未经爱迪德技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480083471.1/2.html,转载请声明来源钻瓜专利网。