当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于确定软件的正确的执行的系统和方法技术方案

技术编号:10784328 阅读:90 留言:0更新日期:2014-12-17 11:40
实施例提供关于软件的正确操作的确信水平。实施例创建软件的基准和实时测量,并将比较测量以判断软件是否正在正确地操作。应用提供商可以在目标软件应用中包括“跟踪元素”。当产生应用时,检测跟踪元素,并提供踪迹事件,踪迹事件共同地提供表示正确的应用执行的“基准踪迹”。提供商向用户提供应用和基准踪迹。用户实时地操作应用,以基于应用仍具有产生踪迹事件(共同地形成“实时”踪迹)的踪迹元素,产生“实时踪迹”。比较器比较基准和实时踪迹。如果踪迹在彼此的预先确定的范围内,则用户具有软件正在正确地操作的确信水平。此处还包括了其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】用于确定软件的正确的执行的系统和方法背景软件可能由于多种原因(包括“恶意软件”和“软件腐烂”)而停止正确地运行。恶意软件是计算机系统上的问题的来源,它呈现各种形式,带有无限的攻击向量。不管形式和向量,恶意软件的最终结果是原始软件不能正确地工作。“腐烂”(也称为“软件老化”)涉及在某个时间长度之后软件停止正确地运行的情况。原因可能是资源消耗、缺陷、或瞬时硬件故障,诸如杂散的高能粒子撞击芯片。无论腐烂的原因是什么,最终结果都是软件停止正确地运行。考虑恶意软件和腐烂的范围较宽的形式,软件社区面临着向软件用户提供一个软件实际上正在正确地执行的确信的挑战。尽管可以确保软件的正确的加载(例如,通过诸如受信任的执行技术之类的特征),但是,在软件被加载之后,获取关于该软件的实际执行的可靠的信息是具有挑战性的。附图简述本专利技术的各实施例的特征和优点将从所附权利要求书、下面的对一个或多个示例实施例的详细描述,以及对应的图形,变得显而易见,其中:图1包括在本专利技术的一个实施例中用于判断软件是否正确地操作的系统。图2包括本专利技术的一个实施例中的踪迹事件的示意结构。图3-7解决了本专利技术的各实施例中的来自各种软件架构的预期踪迹输出。图8包括与本专利技术的各实施例一起使用的系统。具体实施方式在下面的描述中,阐述了很多具体细节,但是,本专利技术的各实施例可以在没有这些具体细节的情况下实施。没有详细示出已知的电路、结构,以及技术,以便避免使对此描述的理解变得模糊。“实施例”、“各实施例”等等表示所描述的各实施例可包括特定特征、结构或特性,但是,每一个实施例都可以不一定包括该特定特征、结构或特征。一些实施例可以具有为其他实施例描述的某个,全部特征或没有一个特征。“第一”、“第二”、“第三”等等描述共同的对象,并表示正在引用相同对象的不同的实例。这样的形容词不暗示如此描述的对象必须处于给定序列,无论是在时间上、在空间上,在排序上,或以任何其他方式。实施例提供关于软件的正确操作的确信水平。实施例创建软件的基准和实时测量,并比较测量结果以判断软件是否正在正确地操作。应用提供商可以包括在目标软件应用中的“跟踪元素”(此处也被称为“断言”)。当生产、开发、测试、装运或以别的方式与应用一起协作时,检测跟踪元素,并提供踪迹事件(例如,指令计数(IC)),共同地提供表示适当的应用执行的“基准踪迹”。然后,提供商向用户提供仍包括跟踪元素以及基准踪迹的应用。用户实时地操作应用,以基于应用仍具有产生踪迹事件(共同地形成“实时”踪迹)的跟踪元素,产生“实时踪迹”。然后,比较器比较基准和实时踪迹。如果踪迹在彼此的预先确定的范围内,则用户具有软件正在正确地操作的确信水平。这种确信水平具有许多应用,诸如,例如,恶意软件检测器和证据提供商,供公司的信息技术(IT)组和各种各样的用户使用。更准确地说,这种确信水平具有下列应用:密码处理(例如,密码数据只能被密码处理器访问,并由密码处理器使用的确信)、在线银行(例如,处理用户的银行帐户信息的唯一软件进程是授权的银行软件的确信)、在线游戏(例如,个人未欺骗并且所提供的软件正在正确地执行游戏的确信)、数字权限管理(DRM)(例如,在DRM软件中正在实施DRM规则的确信)、健康记录(例如,根据合适的策略,遵循对健康记录的访问的授权的确信)、财务软件(例如,知道传输和自动交易两者都正确地发生)、云计算(例如,需要运行云应用的软件正在正确地运行)等等。图1包括在本专利技术的一个实施例中用于判断软件是否正确地操作的系统。系统100组合了两个过程:(1)踪迹收集,以及(2)实时踪迹和基准踪迹之间的比较。例如,在框110中,软件提供商(例如,软件开发人员和/或能对源代码进行访问的某人)对“目标”软件103(此处有时被称为代码、应用等等))进行插桩,以生成踪迹事件(使用嵌入在代码中的跟踪元素或“断言”),然后,例如,当软件准备发货给用户时,从所生成的一个或多个踪迹事件创建基准踪迹106(存储在缓冲器105中)。在装运之后,在框111中,实时运行的或执行的软件生成踪迹事件(使用仍嵌入在装运的软件中的跟踪元素或断言),以生成由一个或多个踪迹事件共同地构成的实时踪迹116(存储在缓冲器115中)。然后,在框120中,比较功能(此处被称为“比较器”)将实时踪迹116与基准踪迹106进行比较,如果踪迹在预定的可接受的量内匹配,则用户可以具有软件103如供应商预期它那样执行的确信水平(130)。否则,用户没有这样的确信(125)。用于生成踪迹事件的机制是变化的。在一个实施例中,使用诸如系统可见事件关系关结(SVEN)之类的系统。SVEN是允许踪迹的创建的硬件机制(在,例如,www*videon-central*corn,在提交时可用)。在一个实施例中,当希望获得正确操作的确信时,SVEN被软件供应商用来创建基准踪迹(框110和106)和实时踪迹(框111和116)。SVEN处理断言,以生成共同地在SVEN缓冲器105中形成踪迹的SVEN事件。为使SVEN操作,软件103可以包括SVEN断言。供应商或任何其他方将断言编译到代码103中,它们甚至在生产发布时都保持存在。SVEN断言(框110,111)可以生成遵循诸如在图2中发现的格式(下面进一步地讨论)之类的固定格式的SVEN事件。软件103断言SVEN事件(框110,111),并且关结(nexus)收集事件,并将它置于缓冲器中(当涉及基准踪迹时为缓冲器105,当涉及实时踪迹时为缓冲器115)。缓冲器105、115可以是允许SVEN事件的恒定输入的循环缓冲器。缓冲器105、115可以包括完整性保护,以确保只有SVEN才将项目放置到缓冲器中。由于敏感数据的暴露的威胁,对缓冲器的读取需要保护。在一个实施例中,缓冲器105、115可以被包括在“被盗窃的物理存储器”中,其中,BIOS将预留被盗窃的存储器区域,并通过范围寄存器指出位置。范围寄存器将允许只对向缓冲器的SVEN写入进行硬件保护。实施例可以要求SVEN是能够向缓冲器写入的唯一代理。SVEN可以创建信息的缓冲器105,115,一次一个事件。事件可以是32字节尺寸,并且内容可以是事件特定的。图2示出了SVEN事件200的示例布局。值得注意的是,“指令计数”(IC)包括自从最后一次SVEN调用以来发生的指令的计数。此外,还请注意,“时间戳”条目允许将SVEN事件排序为事件的排序的流。在某些实施例中,时间戳足以用于排序,并可以被用作踪迹以代替IC。然而,在其他实施例中,IC确定踪迹值。此外,SVEN事件200还可以包括启动SVEN事件的线程的IC以作为首部的一部分。正如软件不能控制时间戳,软件可能也不能控制IC。在一个实施例中,SVEN事件尺寸是32字节。在一个实施例中,IC包括涉及单一线程的各种属性(例如,IC只来自于启动线程,没有其他执行线程影响计数),无中断(例如,IC不包括来自环0、安全模式管理(SMM),或任何其他中断服务的任何指令),无负荷影响(例如,如果其他操作正在在设备上发生,则IC不响应于增大的负荷而改变)。各实施例可以在各种应用中“对进行插桩”(例如,嵌入跟踪元素或断言)。例如,实施例可以插桩“输入解析器”,输入解析器可能会导致安全问题,因此,本文档来自技高网...
用于确定软件的正确的执行的系统和方法

【技术保护点】
一种由至少一个处理器执行的方法,包括:接收具有第一和第二断言的应用的第一和第二基准踪迹事件,所述第一和第二基准踪迹事件分别对应于所述第一和第二断言;在接收到所述第一和第二基准踪迹事件之后,接收通过执行所述应用所生成的并且分别对应于所述第一和第二断言的第一和第二实时踪迹事件;以及将所述第一以及第二基准踪迹事件分别与所述第一和第二实时踪迹事件进行比较。

【技术特征摘要】
【国外来华专利技术】1.一种由至少一个处理器执行的方法,包括:接收具有第一和第二断言的应用的第一和第二基准踪迹事件,所述第一和第二基准踪迹事件分别对应于所述第一和第二断言;在接收到所述第一和第二基准踪迹事件之后,接收通过执行所述应用所生成的并且分别对应于所述第一和第二断言的第一和第二实时踪迹事件;以及通过比较器逻辑模块,将所述第一以及第二基准踪迹事件分别与所述第一和第二实时踪迹事件进行比较,其中所述比较器逻辑模块在第一安全环境中执行,所述应用在与所述第一安全环境隔离的第二安全环境中执行,其中所述比较器逻辑模块具有对所述第一和第二基准踪迹事件以及所述第一和第二实时踪迹事件的读取访问,但不具有对这些踪迹事件的写访问。2.如权利要求1所述的方法,其特征在于,包括通过所述第一和第二断言,生成(a)所述第一和第二基准踪迹事件以及(b)所述第一和第二实时踪迹事件。3.如权利要求1所述的方法,其特征在于,包括确定所述第一和第二基准踪迹事件中的一个和所述第一和第二实时踪迹事件中的一个之间的差异。4.如权利要求3所述的方法,其特征在于,包括将所述差异与预定值进行比较,以判断所述应用是否正在正确地操作。5.如权利要求1所述的方法,其特征在于,所述第一和第二基准踪迹事件分别包括第一和第二基准指令计数,并且所述第一和第二实时踪迹事件分别包括第一和第二实时指令计数。6.如权利要求5所述的方法,其特征在于,将所述第一和第二基准踪迹事件分别与所述第一和第二实时踪迹事件进行比较包括将所述第一和第二基准指令计数分别与所述第一和第二实时指令计数进行比较。7.如权利要求1所述的方法,其特征在于,所述第一和第二断言中的至少一个被包括在有分支的代码部分的一个分支内。8.如权利要求1所述的方法,其特征在于,所述第一和第二断言中的每一个都被包括代码部分的单一循环内。9.如权利要求1所述的方法,其特征在于:所述第一和第二基准踪迹事件分别包括第一和第二基准时间戳,所述第一和第二实时踪迹事件分别包括第一和第二实时时间戳;以及将所述第一和第二基准踪迹事件分别与所述第一和第二实时踪迹事件进行比较包括将所述第一和第二基准时间戳分别与所述第一和第二实时时间戳进行比较。10.如权利要求1所述的方法,其特征在于,包括实时地将所述第一以及第二基准踪迹事件分别与所述第一和第二实时踪迹事件进行比较。11.如权利要求1所述的方法,其特征在于,包括基于将所述第一以及第二基准踪迹事件分别与所述第一和第二实时踪迹事件进行比较,来检测恶意软件活动。...

【专利技术属性】
技术研发人员:D·W·格劳罗克J·沃克
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1