[发明专利]用于保护调用栈中的数据的信息处理装置和方法有效
申请号: | 201280072519.X | 申请日: | 2012-04-20 |
公开(公告)号: | CN104246693B | 公开(公告)日: | 2018-09-04 |
发明(设计)人: | 亚历山德鲁·波罗萨努 | 申请(专利权)人: | 恩智浦美国有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F9/448 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 陈依虹;刘光明 |
地址: | 美国得*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 保护 调用 中的 数据 信息处理 装置 方法 | ||
1.一种信息处理装置(10),包括:
控制单元(12),所述控制单元(12)被布置成运行程序并将所述程序的至少流控制信息存储在调用栈中;
散列单元(16),所述散列单元(16)被布置成响应于所述程序的第一上下文变化,通过将散列函数应用于选择的数据来生成第一散列值,所述选择的数据包括所述调用栈的一个或多个选择的项,所述第一上下文变化包括所述程序的第一进程或线程的终止或中断;
所述控制单元(12)还被布置成仅当所述散列单元生成所述第一散列值的时候,才启动或恢复所述程序的第二进程或线程;
所述散列单元(16)还被布置成响应于第二上下文变化,通过将所述散列函数再次应用于所述选择的数据来生成第二散列值,所述第二上下文变化包括所述第二进程或线程的终止或中断;以及
所述信息处理装置还包括:
比较单元(18),所述比较单元(18)被布置成确定所述第一散列值和所述第二散列值是否相同。
2.根据权利要求1所述的信息处理装置,还包括错误处理单元(20),所述错误处理单元(20)被布置成当所述比较单元已确定所述第二散列值不同于所述第一散列值的时候,执行以下动作中的至少一个:
发出错误警告;以及
停止所述控制单元。
3.根据权利要求1或2所述的信息处理装置,还包括备用单元(22),所述备用单元(22)被布置成响应于所述第一上下文变化,生成所述选择的项的备用副本,其中所述控制单元被布置成仅当所述备用单元生成所述备用副本的时候,才启动或恢复所述第二进程或线程。
4.根据权利要求3所述的信息处理装置,其中所述备用单元被布置成当所述比较单元已确定所述第二散列值不同于所述第一散列值的时候,通过将所述备用副本复制回到所述调用栈来恢复所述选择的项的原始内容。
5.根据权利要求1或2所述的信息处理装置,其中所述第二进程或线程是中断服务例程。
6.根据权利要求1或2所述的信息处理装置,其中所述散列函数是循环冗余校验(CRC)函数。
7.根据权利要求1或2所述的信息处理装置,包括选择单元(24),所述选择单元(24)被布置成生成识别了所述选择的堆栈项的选择数据。
8.根据权利要求7所述的信息处理装置,其中所述选择的数据还包括所述选择数据。
9.根据权利要求7所述的信息处理装置,其中所述散列单元还被布置成响应于所述第一上下文变化,通过将补充散列函数应用于所述第一散列值和所述选择数据来生成第一补充散列值;以及响应于所述第二上下文变化,通过将所述补充散列函数再次应用于所述第一散列值和所述选择数据来生成第二补充散列值,以及
所述比较单元(18)还被布置成确定所述第一补充散列值和所述第二补充散列值是否相同。
10.根据权利要求1或2所述的信息处理装置,其中所述散列单元被布置成将所述选择的项的副本推入到所述调用栈,使得所述选择的项的所述副本是所述调用栈的连续项。
11.根据权利要求1或2所述的信息处理装置,其中所述选择的项包括在所述第一上下文变化时刻的整个堆栈。
12.根据权利要求1或2所述的信息处理装置,其中所述程序包括操作系统。
13.根据权利要求1或2所述的信息处理装置,其中所述信息处理装置是集成电路。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恩智浦美国有限公司,未经恩智浦美国有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280072519.X/1.html,转载请声明来源钻瓜专利网。