[发明专利]安全调用约定系统和方法在审
申请号: | 201980071413.X | 申请日: | 2019-09-10 |
公开(公告)号: | CN113056737A | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | I·P·G·斯蒂尔 | 申请(专利权)人: | 阿韦瓦软件有限责任公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/60;H04L9/06 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 马景辉 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 安全 调用 约定 系统 方法 | ||
本公开涉及用于通过使用安全调用约定(SCC)来保护在API的调用者与该API内包含的逻辑之间传递的软件应用信息的系统和方法。SCC涉及对信息执行密码操作,使得信息的真实性质难以理解。SCC防止黑客使用该信息对软件应用进行反向工程以使其表现出期望的行为。
相关申请的交叉引用
本申请要求于2018年9月10日提交的标题为“SECURE CALLING CONVENTIONSYSTEM AND METHOD”的美国临时专利申请No.62/729,334的权益和优先权,其通过参考将其引入以实现所有目的。
背景技术
现有的用于保护软件的密码系统和方法存在许多缺点。一个主要的缺点是现有的密码系统和方法使软件容易受到攻击。最常见的攻击之一涉及修改软件,以获得对软件应用的未许可版本的访问。黑客可以使用应用的未加密部分来确定软件的加密部分如何行为。应用的未加密部分通常是应用编程接口(API)的调用约定的一部分。传递给API或从API返回的未受保护的值为黑客提供了使用从这些值中收集的信息来迫使软件应用如所期望地行为的机会。
黑客试图修改软件,使其行为与原始作者的意图不同,无论是出于个人利益、黑客社区的声誉、利润和/或恶意目的。黑客在软件应用或系统上使用的工具之一是反向工程,它是用于描述对系统进行解构以了解它如何实现其预期功能的处理的术语。当黑客试图修改软件的行为时,他们通常需要对软件逻辑进行反向工程,以便在他们可以设计攻击之前了解软件的工作方式。黑客至少会对软件功能进行反向工程,以至于他们能够以自己期望的方式修改行为。
理解一个软件的工作方式的最直观的方法是详细地查看其所有逻辑。这种方法可能非常耗时,特别是在逻辑正在执行繁重或复杂的任务的情况下,因为会有非常大量的复杂逻辑。除非有黑客团队合作,否则通常认为这种方法是不可行的。一种更节省时间的方法是识别软件内的API,这将提供软件如何工作的高层概览。因此,反向工程软件处理的主要目标是识别API入口点并对其功能进行后续分析。
有许多可免费获得的软件工具协助进行反向工程任务,并且黑客通常依靠这些工具来实现其目标。黑客使用的两种最常用的工具是:
(i)调试器:它们允许黑客在软件逻辑运行时对其详细观察的行为,并且还与正在运行的软件进行交互和试验。
(ii)反编译器:它们自动分析软件逻辑并报告API的位置和细节以及其它信息。
通常,了解一个软件如何运行的更简单且更快速的方法是使用上述工具来建立以下部分或全部信息:
(a)识别可能表示API入口点的软件逻辑的部分。
(b)确定其中从软件中的其它地方调用API的上下文。
(c)确定传递给API的参数的性质。
(d)确定API返回的结果的性质或API完成之后对数据所做的更改。
例如,考虑上面的(c)和(d),如果看到API接受任何两个数字作为参数并一致地返回这两个数字的和,那么观察者可以快速且合理地推断出该API将两个数字一起相加,无需对该API逻辑进行反向工程即可实现这一点。这个示例强调了能够观察在API及其调用者之间传递的信息的有用性。
一旦黑客确信已经获得足够的信息来对软件进行攻击,就可以设计出具有两种主要类型的攻击:
(i)修改软件逻辑本身。
(ii)修改操作环境以利用软件逻辑中的缺陷。
黑客经常关注产品中需要用户付费购买许可才能使用该产品的许可功能。如果不使用软件保护工具,那么无法保护产品中的许可API。保护工具通常使用以下两种保护技术之一:
(I)全程序保护:保护整个应用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿韦瓦软件有限责任公司,未经阿韦瓦软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980071413.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于最佳拟合数据存储的系统和服务器
- 下一篇:用于极地船舶的空气调节系统