有助于对被保护资源的扫描的制作方法

文档序号:11288448阅读:445来源:国知局
有助于对被保护资源的扫描的制造方法与工艺



背景技术:

诸如个人计算机、服务器计算机、智能电话和平板计算机的计算设备通常遭受可能来自错误硬件和/或软件的问题。计算设备的问题可能难以检测和诊断。例如,恶意软件(malware)可设计为将自身隐藏在被感染系统中,使其难以由传统手段检测。

附图说明

如下详细描述参考附图,其中:

图1是用于有助于对被保护资源的扫描的示例计算设备的框图。

图2是内部代理有助于对被保护资源的扫描的示例虚拟机环境的框图。

图3是用于有助于对被保护资源的扫描的示例数据流的框图。

图4是用于有助于对被保护资源的扫描的示例方法的流程图。

具体实施方式

包括在计算设备中的内部代理被设计为有助于由外部代理对被保护资源的扫描,使其能够发现计算设备的潜在问题。某些计算设备问题如恶意软件可能难以从内部检测。例如,恶意软件可被设计为隐藏自身,以不被多种防毒软件扫描,例如被安装和/或运行恶意软件的计算设备检查。在某些情况下,外部代理,例如在分离计算设备上运行的外部代理可检测内部代理无法检测的问题。然而,恶意软件可被设计为隐藏自身以防止被外部代理扫描,例如通过隐藏在非传统可访问的外部代理的区域中,或通过尝试改变计算设备的状态因而混淆或隐藏自身以防止被外部代理扫描。如下所述,内部代理采取某些动作实现被保护资源的扫描,使某些被保护资源可用于扫描和/或将计算设备置于特定状态,仅举几例。

如本文所使用的“被保护资源”一般指一种计算设备资源,其一般并不保证其安全性和/或稳定性被计算设备外部的实体扫描和/或操作,和/或一种计算设备资源,其在内部被隐藏和/或通常可由计算设备外部的实体存取。此外,被保护资源当被检查时可能没有最新的数值/数据,例如永久存储器磁盘上的文件的外部扫描可能不反映最近写入的文件,除非磁盘缓存被刷新;并且对应于域名的ip地址的内部值可能并非最新,除非dns缓存近期被刷新,当设备下次尝试解析域名时,强制新的dns对网络进行请求。

扫描被保护资源的能力可帮助识别系统受多种软件和/或硬件问题的威胁。计算设备例如可能受恶意软件感染,以看似恶意软件不存在的方式操作计算设备注册的内部扫描,例如通过使恶意软件与用于检查注册数据的计算设备的api进行挂钩。在某些情况下,由外部代理执行的注册扫描也无法发现注册数据,例如如果由恶意软件插入的注册数据当前未加载到计算设备的随机存取存储器(ram)中。然而,当使用内部代理实现扫描注册数据时,在外部扫描之前,内部代理可将一个或多个注册表项(registryhive)加载到计算设备的ram中,使外部代理能够扫描注册的部分,其可能在其他情况下不可访问以及不允许发现扫描的计算设备注册中的潜在问题。

现参考附图,图1是用于有助于对被保护资源的扫描的示例计算设备100的框图。计算设备100例如可以是服务器计算机、笔记型计算机、桌面计算机、一体化系统、工作站、平板计算设备或适用于执行下文描述的功能的任何其它计算设备,包括外设,外设诸如包括数据处理器的打印机或网络交换机。在图1的示例中,计算设备100包括数据处理器110与机器可读存储介质120。

数据处理器110可以是一个或多个中央处理单元(cpu)、微处理器和/或适用于取得与执行存储于机器可读存储介质120的指令的其它硬件设备。处理器110可提取、解码和执行指令122、124、126、128,以执行实现被保护资源扫描的程序,如下所述。作为取得与执行指令的可替代项或除此之外,数据处理器110可包括一个或多个电子电路,电子电路包括多个电子组件,以执行指令122、124、126、128中的一个或多个的功能。

机器可读存储介质120可以是包含或存储可执行指令的任何电子、磁性、光学或其它实体存储设备。因此,机器可读存储介质120例如可以是随机存取存储器(ram)、电可擦除可编程只读存储器(eeprom)、存储驱动器、光盘等。如下所述,机器可读存储介质120可使用可执行指令编码,以实现被保护资源的扫描。

如图1所示,计算设备100接收扫描指示符132,其指示外部代理130准备扫描计算设备100的被保护资源(122)。外部代理130可以是硬件、软件或其组合,其在与示例计算设备100分离的计算设备中实现。如图1中的示例,扫描指示符132可由外部代理130提供,或可由第三方提供,或在内部预先配置,例如在进行计算设备的常规调度扫描的情况下,外部代理130无需对计算设备提供扫描指示符130。

在某些实现方式中,要由外部代理130扫描的被保护资源例如在扫描指示符132中由外部代理130指定。例如,外部代理130可为计算设备100提供数据,指示外部代理准备扫描注册数据、ram数据、进程数据、网络数据和/或永久存储器数据。在某些实现方式中,扫描指示符132并不指示外部代理130准备扫描哪个被保护资源。在这种情况下,计算设备100可确定哪个被保护资源在存在时可用于由外部代理130检查/扫描。

计算设备100识别被保护动作,被保护动作可由数据处理器110执行,被保护动作实现由外部代理130对计算设备100的被保护资源(124)的扫描。可由数据处理器110执行的被保护动作可进行变化,并可取决于可用于扫描的被保护资源。可与多种被保护资源对应的被保护动作的某些示例在下文提供。

在被保护资源为注册数据的情况下,被保护动作可包括将注册数据加载到ram中。在被保护资源为ram数据的情况下,被保护动作可包括将换出的(swappedout)存储器页面加载到ram中。在被保护资源为进程数据的情况下,被保护动作可包括将一个或多个换出的进程加载到ram中。在被保护资源为诸如地址解析协议(arp)和/或域名服务(dns)缓存的网络数据的情况下,被保护动作可包括清理计算设备的诸如arp和/或dns缓存的网络缓存。在被保护资源为诸如硬盘驱动器数据的永久存储器数据的情况下,被保护动作可包括刷新永久存储器数据的缓存。

计算设备100执行被保护动作(126)。例如,外部代理130准备扫描计算设备100的例如硬盘驱动器的本地永久存储器设备,计算设备100可刷新永久存储器缓存。在该示例中,刷新永久存储器缓存被设计为推送未执行的任何改变,例如写入操作。通过保证永久存储器缓存被刷新,外部代理130可具有合理担保,其检查永久存储器设备的最新状态,例如要写入的缓存中没有任何操作等候的情况下。其它被保护动作和/或与被保护资源无关的动作也可由计算设备100执行。

计算设备100可对外部代理130提供数据134,指示被保护资源(128)的当前状态。在永久存储器缓存刷新示例中,计算设备100可通知外部代理130永久存储器缓存已被刷新,例如指示硬盘驱动器缓存为空,以及缓存中先前的全部改变被写入硬盘驱动器。在某些实现方式中,计算设备100可执行例如硬盘驱动器自身的内部扫描,并提供内部扫描结果以指示被保护资源的状态。

当接收指示被保护资源的状态的数据时,外部代理130可继续扫描被保护资源和/或计算设备100的任何其它资源。如上文所讨论的,被保护资源的扫描可使外部代理130确定计算设备是否可能例如受恶意软件、破坏数据和/或软件漏洞的损害。

虽然在图1中描述为在两个物理分离并独立的计算设备中实现,但在某些实现方式中,外部代理130与计算设备100的分离可为逻辑分离。例如,在某些情况下,计算设备可以是虚拟机,外部代理130可以是在主控虚拟机的主机上运行的软件。在虚拟机环境中实现被保护资源的扫描在下文参考图2和图3详细描述。

图2是示例虚拟机环境200的框图,其中内部代理,例如222和/或232实现被保护资源的扫描。主机210包括计算设备,如上文参考图1描述的计算设备。如图1的计算设备的示例,示例主机210包括数据处理器212和机器可读存储介质214。尽管在示例环境200中未描述,但诸如ram、可移除存储设备、通信端口等的其它组件也可包括在主机中。

管理程序216,又称虚拟机监视器,在主机上运行,并提供允许一个或多个来宾操作系统(os)在主机210上执行的环境。例如,管理程序可提供操作平台,允许每个来宾os请求由管理程序虚拟化的虚拟硬件资源。然后,管理程序可将主机的硬件资源分配到每个请求来宾os。每个来宾os在其本身的虚拟机执行,其本身的虚拟硬件与主机的其它虚拟机的虚拟硬件在逻辑上分离。

因此,每个虚拟机仿真配置可变的独立计算设备,包括处理器体系结构的变型、处理器数量、存储空间量、内存量、启动属性等。在某些实现方式中,附加属性可在一个或多个配置文件的集合中指定,例如存储于主机210的存储介质214中。包括在虚拟机中的来宾os可以是任何操作系统,其可安装于虚拟机并由计算设备执行。例如,在某些实现方式中,来宾os可包括预先配置的操作系统,具有可在os内部执行的多个应用程序。

如在示例环境200中所描述的,示例主机210主控两个虚拟机vm1220和vm2230,虚拟机vm1220和vm2230分别具有自己的来宾os224和来宾os234以及虚拟资源226及236。每个虚拟机还可运行一个或多个应用程序,如内部代理222和232。示例环境200还描述示例虚拟硬件236,其包括虚拟数据处理器240、存储介质242、存储介质缓存244和ram246。虚拟硬件236由来宾os234处理,如同作为传统计算设备的传统硬件,但其使用由管理程序216为其分配的主机硬件资源的一部分。

在该环境200中,内部代理222和232实现各个虚拟机的被保护资源的扫描。例如,内部代理222实现vm1220的来宾os224与虚拟硬件226的被保护资源的扫描,同时内部代理232实现vm2230的来宾os234与虚拟硬件236的被保护资源的扫描。在该环境中,外部代理例如可以是运行于主机210、第三方机器或由主机210主控的独立虚拟机的应用程序。

示例虚拟机环境200是虚拟机的一个示例,其可受益于使用内部代理以实现被保护资源的扫描。其它类型的环境,包括虚拟机与传统环境,都可利用内部代理以实现被保护资源的扫描。

图3是用于有助于对被保护资源的扫描的示例数据流300。示例数据流300描述了一种示例过程,用于有助于虚拟机环境中被保护资源的扫描。主机310,如参考上文图2讨论的主机210,包括外部代理320,其发送扫描请求322至运行于虚拟机330中的内部代理332,虚拟机330例如由主机310主控的虚拟机。如上文所讨论的虚拟机,虚拟机330包括来宾os334和虚拟硬件336,来宾os334和虚拟硬件336中的每一个可包括被保护资源。

例如,扫描请求322可包括扫描虚拟机330的网络资源的请求;特别地,例如arp与dns缓存。对被保护的或其他的其它资源的扫描也可在扫描请求322中指定。在某些实现方式中,扫描请求322并非从外部代理320发送到内部代理332的显式请求,而是触发请求,例如每24小时,内部代理332可将虚拟机置于特定状态,以供外部代理320进行扫描。

在将被保护资源置于特定状态之后,内部代理332可对外部代理320提供状态数据338,其指示被保护资源处于准备被扫描的状态。例如,响应于接收到扫描网络资源的请求,内部代理332可清理arp与dns缓存,并使用更新数据重新驻入缓存,例如通过对每个被清理的缓存条目作出查找请求。指示arp与dns缓存最近被清理及重新驻入的数据然后可提供至外部代理320。

通过被保护资源的扫描,外部代理320可生成外部扫描数据350。外部扫描数据350指定例如由外部代理320观察的被保护资源的状态。例如,在例如arp与dns缓存的网络资源被清理并以更新数据重新驻入的情况下,外部代理可扫描arp与dns缓存,并执行查找请求,例如查询每个缓存条目内指定的实体,以当由外部代理320查询时,保证更新缓存条目按需解析。

在某些实现方式中,内部代理332可对外部代理提供内部扫描数据340。内部扫描数据340指定例如由内部代理332观察的被保护资源的状态。在网络资源的示例中,内部扫描数据340可包括指示使用更新的arp与dns缓存条目来执行的内部代理的查找请求结果的数据。在前述示例中,内部扫描数据340的提供在外部扫描数据350的生成之后描述,但并非必须如此。在某些实现方式中,例如内部代理332可对内部扫描数据340提供状态数据338。

在示例数据流300中,外部代理320比较外部扫描数据350与内部扫描数据340,以识别任何差异。在非受损系统中,将由内部代理332提供的arp与dns缓存条目的内部查询结果与arp与dns缓存条目的外部查询结果的比较可能没有差异。然而,如果虚拟机330已经受损,例如被错误或恶意硬件和/或软件损害,则扫描数据的差异可能提示外部代理使用虚拟机330的潜在问题。例如,如果内部代理332执行的dns查询返回与外部代理320执行的相同dns查询所不同的结果,则虚拟机330可能受损。

图4是有助于对被保护资源的扫描的示例方法400的流程图。方法400可由计算设备执行,计算设备如图1所描述的计算设备。其它计算设备也可执行方法400。方法400可以以存储于如存储介质120的机器可读存储介质的可执行指令的形式和/或电子电路的形式实现。

数据处理器接收扫描指示符,其指示外部代理准备扫描计算设备的被保护资源(402)。扫描指示符例如可以是时钟信号,指示外部代理准备扫描被保护资源的特定预定义时间。

数据处理器识别可由数据处理器执行的被保护动作,该被保护动作有助于外部代理对计算设备的被保护资源进行扫描(404)。被保护动作包括被保护资源的状态的改变。例如,为了帮助外部代理扫描由计算设备已执行的或正在执行的进程,数据处理器可识别将换出的进程加载到ram中的动作,作为被保护动作。

数据处理器执行被保护动作(406)。例如,数据处理器可使任何换出的进程加载到ram中。如上所述,被保护或不被保护的其它动作,均可由数据处理器执行,以实现计算设备资源的扫描,无论是否被保护。

数据处理器通过扫描被保护资源而生成内部扫描数据,内部扫描数据指定被保护资源的内部扫描状态(408)。例如,在被保护资源是进程数据的情况下,数据处理器可扫描进程数据,包括活动和换出进程,以生成在内部观察的指定计算设备的处理状态的扫描数据。

数据处理器向外部代理提供内部扫描数据以及指示被保护资源的内部扫描状态的数据(410)。例如,计算设备的内部代理可对外部代理提供i)扫描数据,其指定如内部代理观察的计算系统过程的状态,以及ii)指示计算系统的被换出进程已经加载到ram中的数据。

如上文所讨论的,提供至外部代理的信息可由外部代理使用以检测与诊断目标系统的潜在问题,如恶意软件或错误软件。上文描述的过程可在多种环境下工作,包括具有分立计算设备的环境、使用虚拟机的环境或其组合。

前述公开描述了用于有助于对被保护资源的扫描的多个具体示例实现方式。如上文所述,示例提供了一种机制,用于使用内部代理执行使被保护资源可用于外部代理扫描的动作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1