受保护指针制造技术

技术编号:19396811 阅读:22 留言:0更新日期:2018-11-10 05:03
一种数据处理机器被配置成自动地保持跟踪指向存储器的相应且新分配的区域的管理程序给定指针并且自动地保持跟踪该给定指针的对应副本或派生物。为每个新分配的区域生成唯一分配标识符。分配标识符被附加到有效ID的保持列表。指向已分配区域的所有指针都由受保护指针跟踪表来跟踪。附加地,多输入关联高速缓存储存受保护指针中的被最近使用的指针的条目,其中该条目包括指针的相应分配标识符。指向给定的、被取消分配的区域的所有指针可通过从多输入关联高速缓存中删除它们的条目并通过从有效ID的保持列表中删除对应的唯一分配标识符来被无效。

【技术实现步骤摘要】
【国外来华专利技术】受保护指针背景用于数字计算机系统的代码安全化和代码确认/验证由于复杂数据处理系统中存在可用于恶意攻击或无意差错的众多途径的原因正变得越来越重要。恶意攻击的示例包括基于软件病毒、蠕虫和木马感染的那些恶意攻击以及基于漏洞利用的那些恶意攻击。攻击也可直接来自计算机系统的不诚实但经授权的用户。攻击可试图修改可执行程序代码或利用留下的程序代码和地址指针或试图修改关键信息数据项或注入新的未经授权的程序代码或试图获得对优选地被保持专用的关键信息数据片段的访问权。代码开发期间的无意失误可能产生类似的错误和故障。应用无法完成垃圾收集规程可创建弱点。用于防止此类错误和故障的措施相应地变得越来越重要。概述根据本公开的一个非限制性方面,操作系统(OS)将虚拟存储器空间区域动态分配给空间请求应用程序包括通过使用被相应地分配给空间(例如,该存储器空间区域通过第一实例指针来被指向)的每个动态分配的唯一分配标识符来将一个或多个第一实例指针返回至该被分配区域以及跟踪经返回的(诸)指针及其副本(其第二实例)。更具体而言,应用对该一个或多个经返回的指针(第一实例指针)的值的每次复制通过使用相应的唯一分配标识符而在跟踪机制(本文档来自技高网...

【技术保护点】
1.一种用于管理指向数据处理系统的存储器空间的已分配部分的指针的机器实现的方法,所述方法包括:将被分配给所述存储器空间中的已分配区域的对应且唯一的分配标识符与各自指向该已分配区域的多个指针中的每一者相关联;在多输入关联高速缓存中储存所述多个指针的至少一个子集的相关联数据,所述指针的所述至少一个子集中的每个相应的一个指针的所储存的相关联数据可标识地将所述相应指针与所述唯一分配标识符相链接,并因此与它被分配到的所述已分配区域相联接;以及使用所述唯一分配标识符或其散列或标识其派生物的另一标识符来确定所述多个指针中的一者或多者的所述相关联数据是否存在于所述多输入关联高速缓存中。

【技术特征摘要】
【国外来华专利技术】2016.03.10 US 62/306,490;2016.06.30 US 15/198,4971.一种用于管理指向数据处理系统的存储器空间的已分配部分的指针的机器实现的方法,所述方法包括:将被分配给所述存储器空间中的已分配区域的对应且唯一的分配标识符与各自指向该已分配区域的多个指针中的每一者相关联;在多输入关联高速缓存中储存所述多个指针的至少一个子集的相关联数据,所述指针的所述至少一个子集中的每个相应的一个指针的所储存的相关联数据可标识地将所述相应指针与所述唯一分配标识符相链接,并因此与它被分配到的所述已分配区域相联接;以及使用所述唯一分配标识符或其散列或标识其派生物的另一标识符来确定所述多个指针中的一者或多者的所述相关联数据是否存在于所述多输入关联高速缓存中。2.根据权利要求1所述的方法,其特征在于,所述已分配区域是所述数据处理系统的虚拟存储器空间中的区域,并且所述指针的所述至少一个子集中的每个相应的一个指针的所储存的相关联数据包括储存所述对应指针处的虚拟地址。3.根据权利要求1所述的方法,其特征在于,被储存在所述多输入关联高速缓存中的所述指针的所述至少一个子集中的每个相应的一个指针的所述相关联数据包括在所述存储器空间中所述相应指针所位于的位置的地址的散列和地址的值中的至少一者。4.根据权利要求1所述的方法,其特征在于,被储存在所述多输入关联高速缓存中的所述指针的所述至少一个子集中的每个相应的一个指针的所述相关联数据包括针对所述相应指针的值或针对所述相应指针指向的代码或数据的一个或多个边界约束的定义。5.根据权利要求1所述的方法,其特征在于,被储存在所述多输入关联高速缓存中的所述指针的所述至少一个子集中的每个相应的一个指针的所述相关联数据包括所述唯一分配标识符、所述唯一分配标识符的散列和可标识地将所述相应指针与所述唯一分配标识符相链接的其他数据中的至少一者。6.根据权利要求1所述的方法,其特征在于,进一步包括:将被分配给作为受保护指针区域的每个新分配的区域的所述唯一分配标识符添加到标识保持列表;以及响应于所述多个指针之一的所述相关联数据不存在于所述多输入关联高速缓存中的指示,检查所述标识保持列表以确定所述唯一分配标识符在其中的存在性,所述唯一分配标识符被可识别地链接到被确定为在所述多输入关联高速缓存中不具有其相关联数据的指针。7.根据权利要求6所述的方法,其特征在于,进一步包括:向指针跟踪列表添加每个指向已分配区域的所述多个指针中的每一者的所述相关联数据;以及响应于所述多个指针之一的所述相关联数据不存在于所述多输入关联高速缓存中的指示,检查所述指针跟踪列表以确定所述指针的所述相关联数据在其中的存在性,所述指针被确定为在所述多输入关联高速缓存中不具有其相关联数据。8.根据权利要求7所述的方法,其特征在于,进一步包括:响应于所述检查发现唯一分配标识符不存在于所述标识保持列表中的指示或响应于所述检查发现所述指针的相关联数据不存在于所述指针跟踪表中的指示,停止对指示意图使用所述指针的执行代码的执行。9.根据...

【专利技术属性】
技术研发人员:J·V·塞尔
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1