[发明专利]在时间旅行跟踪调试中保护敏感信息在审

专利信息
申请号: 201980018994.0 申请日: 2019-03-08
公开(公告)号: CN111868694A 公开(公告)日: 2020-10-30
发明(设计)人: J·莫拉;H·加布里杰尔斯基;J·M·戴维斯 申请(专利权)人: 微软技术许可有限责任公司
主分类号: G06F11/36 分类号: G06F11/36;G06F21/60;G06F21/62
代理公司: 北京市金杜律师事务所 11256 代理人: 黄倩
地址: 美国华*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 时间 旅行 跟踪 调试 保护 敏感 信息
【说明书】:

保护与跟踪实体的原始执行相关的敏感信息。实施例包括:标识原始信息包括敏感信息,该原始信息基于实体的一个或多个原始可执行指令的原始执行而被访问。基于原始信息包括敏感信息,实施例包括执行以下中的一项或两项:(i)将包括备选信息而非原始信息的第一跟踪数据存储到跟踪中,同时确保由实体基于原始信息而采用的执行路径在使用跟踪的实体的原始执行的重放期间也将被采用;(ii)将第二跟踪数据存储到跟踪中,该跟踪引起零个或多个备选可执行指令而非实体的一个或多个原始可执行指令在实体的原始执行的重放期间被执行。

背景技术

当在软件应用的开发期间编写代码时,开发人员通常花费大量时间来“调试”代码以查找运行时错误和其他源代码错误。在这样做时,开发人员可以采用若干方法来重现和定位源代码错误,诸如基于不同输入来观察程序的行为,插入调试代码(例如,以打印变量值,跟踪执行分支,等等),临时删除代码部分,等等。跟踪运行时错误以查明代码错误可能会占用应用开发时间的很大一部分。

为了协助开发人员进行代码调试过程,已经开发了很多类型的调试应用(“调试器”)。这些工具使开发人员能够跟踪、可视化和更改计算机代码的执行。例如,调试器可以使代码指令的执行可视化,可以在代码执行期间的不同时间呈现代码变量值,可以使得开发人员能够更改代码执行路径,和/或可以使开发人员能在感兴趣的代码元素上设置“断点”和/或“观察点”(当在执行期间到达这些点时,会导致代码的执行被挂起),等等。

新兴的调试应用形式实现了“时间旅行(time travel)”、“反向”或“历史性”调试。利用“时间旅行”调试,程序(例如,可执行实体,诸如线程)的执行由跟踪应用记录/跟踪到一个或多个跟踪数据流中。然后,这些跟踪数据流可以被用于在稍后重放程序的执行,以用于前向和向后分析两者。例如,“时间旅行”调试器可以使开发人员能设置前向断点/观察点(如常规调试器)以及反向断点/观察点。

因为时间旅行调试器记录程序执行的比特精确跟踪(包括所执行的代码和在程序执行期间读取的存储器值),所以它们有可能捕获和泄露敏感代码和/或数据,在很多情况下,这些敏感代码和/或数据不应当可用于有权访问结果跟踪数据的人(例如,使用消耗跟踪数据流的调试器的开发人员)。这可能是由于安全性上下文(例如,内核与用户模式)、代码作者的变化(例如,由一个作者开发的代码与由另一作者开发的调用库)、组织部门、政策/法律问题等。例如,时间旅行调试器可以捕获密码信息,诸如加密密钥、随机数、盐、哈希、随机数等的值;个人身份信息(PII),诸如姓名、邮寄地址、生日、社会安全号码、电子邮件地址、IP地址、MAC地址等;财务信息,诸如信用卡号、帐号、金融机构;认证信息,诸如用户名、密码、生物特征数据等;常规输入,诸如搜索词、文件名等;可能希望保密的代码;等等。时间旅行调试器泄露敏感信息的能力正在变得越来越受关注,因为时间旅行调试技术正在发展到可以具有足够低的记录开销从而使得其可以在生产系统中使用并且甚至有可能以“始终开启”配置使用的程度。

发明内容

本文中描述的至少一些实施例标识与时间旅行跟踪相关的敏感信息(在跟踪记录期间和/或在以后的某个时间),并且在跟踪中删除和/或掩盖该敏感信息。例如,实施例可以包括将备选数据存储在跟踪中(而非被标识为敏感的原始数据),利用避免执行敏感代码或考虑到数据替换而引起正确执行的备选指令来替换跟踪中的原始指令,覆盖一个或多个指令的执行行为,等等。这样,实施例支持即使在生产环境中,时间旅行跟踪也将被生成和消耗,同时保持敏感信息不被泄露。

实施例可以包括用于保护与跟踪实体的原始执行相关的敏感信息的方法、系统和计算机程序产品。这些实施例可以包括例如标识原始信息包括敏感信息,该原始信息基于实体的一个或多个原始可执行指令的原始执行而被访问。基于原始信息包括敏感信息,这些实施例可以包括执行以下中的一项或两项:(i)将包括备选信息而非原始信息的第一跟踪数据存储到第一跟踪数据流中,同时确保由实体基于原始信息而采用的执行路径在使用第一跟踪数据流的实体的原始执行的重放期间也将被采用;或者(ii)将第二跟踪数据存储到第二跟踪数据流中,该第二跟踪数据流使一个或多个备选可执行指令而非实体的一个或多个原始可执行指令在使用第二跟踪数据流的实体的原始执行的重放期间被执行。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201980018994.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top