跟踪作为服务的制作方法_2

文档序号:9401929阅读:来源:国知局
容易标识的“虚拟机”或其他支持软件的其他系统。
[0056]贯穿本说明书,在对附图的整个描述中,相同的附图标记表示相同的元素。
[0057]当元素被称为被“相连接”或“相耦合”时,这些元素可被直接连接或耦合在一起,或者也可存在一个或多个中间元素。相反,当元素被称为被“直接连接”或“直接耦合”时,不存在中间元素。
[0058]本主题可被体现为设备、系统、方法、和/或计算机程序产品。因此,本主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本主题可以采用计算机可使用或计算机可读存储介质上的计算机程序产品的形式,介质中收录了供指令执行系统使用或结合指令执行系统一起使用的计算机可使用或计算机可读的程序代码。在本文档的上下文中,计算机可使用或计算机可读介质可以是可包含、储存、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合指令执行系统、装置或设备一起使用的任何介质。
[0059]计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
[0060]计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。
[0061]当本主题在计算机可执行指令的一般上下文中具体化时,该实施例可包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。
[0062]图1是示出用于处理敏感数据的应用的跟踪系统的实施例100的图示。实施例100是系统的简化的示例,其中跟踪可发生在安全环境内,随后跟踪数据可在非安全环境内被分析而不危及敏感数据的完整性。
[0063]实施例100示出了跟踪系统的示例,其在安全环境中收集数据并在将该数据发送到远程系统供分析前模糊该数据。远程系统可以是处在不安全的环境中,但是因为敏感数据被模糊,对那些数据的任何分析可被执行而不危及底层数据的安全性。
[0064]在一个示例中,安全环境102可具有可处理敏感数据的应用104。敏感数据可以是,例如,信用卡号码、社会保障号码、就业数据、医疗数据、机密军事数据、财务数据、或可从法律、商务、个人、或其它角度而言敏感的任何其它类型的数据。
[0065]跟踪器106可在应用104执行时监视应用104以收集性能和操作数据。跟踪器106可检查各函数、线程、过程、消息、数据对象、和为应用的部分或可被应用处理的其它信息。跟踪器106可执行各种程序元素的低级检查,其结果可被用来分析程序执行。这样的分析可以用于调试、审计、优化、或其它目的。
[0066]在许多情况中,跟踪器106可处理包含敏感数据的信息或与包含敏感数据的信息进行接触。在这一情况下,数据可在离开安全环境102前被模糊。在简单示例中,函数可接收数据对象,诸如原始信用卡号码。对该函数的跟踪可收集该信用卡号码作为传递到该函数的值。在另一个示例中,从一个线程传递到另一个线程的消息可包含未经过滤的财务信息、医疗记录对象、或其它敏感信息。在普通的跟踪操作期间,这样的敏感数据可被收集,但是可在将该敏感数据传递到安全环境以外之前将该数据模糊。
[0067]当敏感数据在安全环境102内被收集并被处理时,数据可被看成是安全的。在典型的安全环境102中,数据可在符合各种隐私和安全标准及规程的设施中被处理。这样的设施可维持物理安全性以及网络安全性,物理安全性限制对特定人员的访问,网络安全性约束对数据的访问。
[0068]模糊器108可模糊跟踪数据的一些或全部以创建经模糊的跟踪数据110。模糊器108可使用各种散列函数、加密算法、替换方案、或其它技术来保护敏感数据。在某些情况中,模糊器108可创建查找数据库112,查找数据库可包含跟踪数据的原始的和经模糊的值。
[0069]经模糊的跟踪数据110可被发送到安全环境102之外。经模糊的跟踪数据114可位于远程设备上或可能具有分析引擎116的其它系统上,分析引擎可对经模糊的跟踪数据114执行解析、优化、或其它分析。分析引擎116的结果可参考个体数据项目或可包含对保持模糊的数据元素的参考。
[0070]结果118可被传递回安全环境102中并由结果处理器120来施加操作。结果处理器120可从经模糊的数据值来确定原始数据值。在某些情况中,这样的操作可包括从查找数据库112中查找原始数据值。
[0071]在一个使用情形中,跟踪器106可分析可能例如处理银行帐户信息的应用104。跟踪器106可标识用于监视的函数,其中该函数接收银行帐户号码并返回余额。在此示例中,银行帐户号码和余额可被看成私人信息。
[0072]跟踪器106可检测到该函数已经被调用并可捕捉发送到该函数的数据以及由该函数返回的数据。在此情况中,银行帐户信息已经被传送到该函数并且余额并返回。该函数可被调用很多次,且该跟踪器106可在该函数每次被调用时进行捕捉。在监视应用104一段时间后,跟踪数据可包含银行帐户信息和余额信息。
[0073]在将跟踪数据发送到安全环境102以外之前,模糊器108可模糊跟踪数据以创建经模糊的跟踪数据110。一旦被模糊,数据可被远程系统分析以确定应用104的性能度量或调试信息。
[0074]分析可使用经模糊的值来处理每个数据对象。在一个示例中,调试分析可确定对函数的特定输入值导致函数的非预期行为。由于分析是在经模糊的数据上执行的,分析结果可被发送回安全环境102,在那里跟踪数据的初始值可被确定并对结果采取行动。
[0075]在这样的情形中,敏感数据可被保持在安全环境102内部,但分析可在不共享相同级别安全性的环境中执行。例如,跟踪分析器或程序优化器可分析可能是秘密的、安全的、私人的或以其他方式敏感的应用,但是结果可被发送并在相对开放的环境中分析。例如,经模糊的跟踪数据110可以以具有最小的或没有加密的明文被发送,并存储在不符合应用104的高安全标准的设施中。
[0076]分析引擎116可以是经模糊的跟踪数据114的自动化的、半自动化的、或手动分析。结果118可包含对经模糊的跟踪数据114的直接引用,例如,诸如标识导致错误条件的数据值。然而,由于分析仅能针对经模糊的跟踪数据114来执行,分析引擎116不可接触底层原始数据。
[0077]在某些情况中,远程系统可从多个用户收集数据,每个用户可生成经模糊的跟踪数据。来自每个用户的数据可被组合到包含来自许多源的跟踪数据的单个数据库。在这样的情况中,远程系统可仅存储经模糊的数据,而敏感数据被保持在安全环境102内。
[0078]模糊器108可使用若干不同机制来创建经模糊的跟踪数据110。在某些情况中,模糊机制可以是或可以不是有损的。
[0079]非有损系统的示例可以是可用密钥加密数据的加密系统。在这样的系统中,模糊器108可使用密钥加密数据项,且分析引擎116可处理经加密的数据对象。一旦结果118被返回安全环境102,结果处理器120可使用密钥解密结果118。这样的系统可能不使用查找数据库112来从经模糊的值重新创建原始值。
[0080]非有损系统的另一个示例可以是不可逆安全散列,诸如MD5、SHA或其它散列函数的使用。这样的函数可能没有或很少冲突,但是可能是特别难以从经模糊的值提取初始值。在这样的系统中,查找数据库112可被用来存储经散列的和原始值,使得结果118可被转换回原始的未散列的值。
[0081]有损系统的示例可对原始数据应用有损散列函数,诸如校验和或其它有损压缩技术。这样的系统的各示例可以是具有许多冲突的散列函数。这样的系统可创建经模糊的数据元素,其不能被反向到具有确定程度的单个值。
[0082]另一系统的一个示例,查找数据112可被用来向原始值分配随机或序列值。例如,每个新原始值的记录可被分配递增的索引并且索引可用作经模糊的值。因为,查找数据库112可能包含敏感数据,查找数据库112可在安全环境102内被存储并被保护。
[0083]在某些实施例中,不同类型的模糊可以被应用到不同跟踪数据。例如,高敏感数据元素可用加密来模糊,而低敏感数据元素可用更简单的散列函数来模糊。这样的实施例可对更敏感数据应用在计算上更昂贵的模糊,而对较不敏感的数据应用计算上较不昂贵的模糊。
[0084]某些跟踪数据可被以明文存储或可不被模糊。例如,某些实施例可以用明文存储函数名称而可模糊传递到和传递自函数的数据。一般而言,函数名称、参数名称、变量名称、或应用内的其它硬编码描述符可描述应用的操作但不描述可被处理的底层数据。
[0085]应用元素的明文描述符可从应用的源代码描述中提取。某些实施例可包括源代码分析器,其提取各种应用元素的描述符。在某些实施例中,这样的分析器可被构建到编译器中,其输出可包括调试或标记信息。
[0086]应用元素的明文描述符,诸如函数、变量、数据对象、方法、或其它元素可给予开发者和管理者有意义的关于它们的应用的执行的反馈,即使是在底层数据被模糊时。例如,分析引擎116可标识函数FOO已以特定方式作出行为并提供命名函数FOO的反馈。应用开发这可识别函数FOO并能采取行动。这样的分析可以使用经模糊的数据元素但连同程序元素的明文表示来以不安全的方式执行。
[0087]应用元素的明文描述符可包括函数名、变量名、数据对象名、记录标识符、栏标识符、注释、方法名、类名、库名、文件名、参数名、标记、控制流程图、和其它描述符。通常,这样的描述符可被程序员或开发者创建并可反映程序员的意图或逻辑。
[0088]在特定环境中,这样的描述符可反映机密信息。该机密信息可以是底层逻辑或程序流,其可与应用处理的数据的机密性质中分离。例如,处理保健记录的应用可具有用于分析保健记录的专用或商业秘密方法。保健记录本身可以是在HIPPA或其它法律或规章规定下机密的,应用的方法可以是机密信息的单独类别。
[0089]在这样的描述符反映应用逻辑的情况中,由于第三方可能被暴露给应用中的底层方法但不被暴露给应用处理的数据,第三方分析可在未披露协议、私有协议,或其它机密性规定下执行。
[0090]图2是示出具有将模糊的跟踪数据传送到远程设备供分析的计算机系统的实施例200的图示。实施例200示出可呈递实施例100以及其他实施例中描述的操作的硬件组件。
[0091]图2的图示出了系统的功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是执行环境级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。每个实施例都可使用不同的硬件、软件、以及互连架构来实现所描述的功能。
[0092]实施例200示出了可具有硬件平台204和各软件组件206的设备202。示出的设备202表示常规的计算设备,但是其它实施例可具有不同配置、架构、或组件。
[0093]在许多实施例中,设备202可以是服务器计算机。在一些实施例中,设备202仍然还可以是台式计算机、膝上型计算机、上网本计算机、平板或平板式计算机、无线手机、蜂窝电话、游戏控制台或任何其他类型的计算设备。
[0094]硬件平台204可以包括处理器208、随机存取存储器210、以及非易失性存储212。硬件平台204还可包括用户接口 214和网络接口 216。
[0095]随机存取存储器210可以是包含可由处理器208快速访问的数据对象和可执行代码的存储。在许多实施例中,随机存取存储器210可具有将存储器210连接到处理器208的尚速总线。
[0096]非易失性存储212可以是在关闭设备202之后持久保持的存储。非易失性存储212可以是任何类型的存储设备,包括硬盘、固态存储器设备、磁带盒、光学存储、或其他类型的存储。非易失性
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1