CN104221024B - 统一扫描引擎 - Google Patents

统一扫描引擎 Download PDF

Info

Publication number
CN104221024B
CN104221024B CN201380017011.4A CN201380017011A CN104221024B CN 104221024 B CN104221024 B CN 104221024B CN 201380017011 A CN201380017011 A CN 201380017011A CN 104221024 B CN104221024 B CN 104221024B
Authority
CN
China
Prior art keywords
scanning
specific
engine
language
interpreter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380017011.4A
Other languages
English (en)
Other versions
CN104221024A (zh
Inventor
R·T·纳卡瓦塔斯
J·M·哈贾德四世
S·斯克瑞克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
McAfee LLC
Original Assignee
McAfee LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by McAfee LLC filed Critical McAfee LLC
Publication of CN104221024A publication Critical patent/CN104221024A/zh
Application granted granted Critical
Publication of CN104221024B publication Critical patent/CN104221024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

扫描引擎接收执行对计算环境的至少一部分的特定扫描的请求。扫描引擎标识可用的语言解释器集中的特定语言解释器以供执行特定扫描中使用,并使用特定语言解释器执行特定扫描。扫描引擎返回特定扫描的结果。在一些实现中,扫描引擎是在实现扫描引擎与资产管理系统之间的通信的代理上实现的。

Description

统一扫描引擎
技术领域
本公开一般地涉及计算安全的领域,更具体地涉及安全扫描的领域。
背景技术
考虑到计算机网络在实体内和实体间通信和事务中扮演的关键角色,现代组织越来越多地关注维护他们的计算环境的可靠性和安全性。网络管理员、政府、安全咨询和黑客们已经使用了各种工具来测试目标网络的漏洞,诸如举例而言是否网络上的任何计算机都可以无需授权而远程地访问和控制。一些网络安全工具可以测试可能入侵的网络路径。从测试点可以使用诸如traceroute和ping的简单命令来手动地映射网络拓扑,并粗略地判断网络上什么网络地址是“活的”和哪些计算机是“醒着的”(即,判断哪些计算机是开着并响应网络分组的)。可以使用诸如端口扫描器的工具来测试目标网络上的个别目标计算机以判断什么网络端口是打开的。如果发现了打开的端口,那么这些端口可提供可能入侵的接入,并潜在地表示可以被恶意黑客利用的弱点。可以在计算环境中采用各种工具,从而导致运行各种不同的测试和返回各种不同的数据。在一些情形中,管理员和安全分析者可以通过从不相关的工具所返回的数据来尝试合成各种结果和赋予结果意义、生成报告,等等。
附图说明
图1是根据至少一个实施例的包括多个扫描引擎的示例计算系统的简化示意图;
图2是根据至少一个实施例的包括示例资产管理系统和示例扫描引擎的的示例计算系统的简化框图;
图3A-3B是根据至少一个实施例的基于代理的扫描引擎的示例实现的简化框图;
图4A-4E是示出根据至少一个实施例的示例资产管理系统和示例扫描引擎的示例操作的简化框图;
图5A-5G是示出根据至少一个实施例的示例资产管理系统和示例扫描引擎的示例操作的简化框图;
图6A-6B是示出根据至少一个实施例的用于扫描计算环境的各部分的示例技术的简化流程图。
各个附图中相同的附图标记和指派指示相同的元素。
具体实施方式
概览
一般来说,本说明书中所描述的主题的一个方面可以在包括接收执行至少对计算环境的一部分的特定扫描的请求、以及标识在用于执行特定扫描的扫描引擎上可用的语言解释器集中的特定语言解释器的动作的方法中体现。扫描引擎可用来使用特定的语言解释器执行特定扫描,且可以返回该特定扫描的结果。
本说明书中所描述的主题的另一个一般方面可以体现在包括至少一个处理器设备、至少一个存储器元件和扫描引擎的系统中。当由至少一个处理器设备执行时,扫描引擎可以调适为:接收执行至少对计算环境的一部分的特定扫描的请求、标识在用于执行特定扫描的扫描引擎上可用的语言解释器集中的特定语言解释器、使用特定的语言解释器执行特定扫描和返回特定扫描的结果。
这些和其它实施例可以各自可选地包括以下特征中的一个或多个。特定扫描可以包括在包括多个扫描的特定扫描集中。可以接收扫描引擎的执行特定扫描集中的至少一个其它扫描的请求,且可以标识可用语言解释器集中的一语言解释器以供扫描引擎在其它扫描中使用。其它扫描可以由扫描引擎使用为供扫描引擎在其它扫描中使用而标识出的语言解释器来执行,且可以返回其它扫描的结果。特定语言解释器可以不同于为供扫描引擎在其它扫描中使用而标识出的语言解释器。扫描引擎可以在由扫描引擎执行的特定扫描集中的扫描中利用少于全部的可用语言解释器集。至少一个其它扫描引擎可以用来执行特定扫描集中的扫描。扫描引擎可以是多个扫描引擎中的特定扫描引擎。多个扫描引擎可以包括基于网络的和基于主机的扫描引擎二者。多个扫描引擎中的每一个扫描引擎都可以调适为从特定资产管理系统接收扫描请求和向该特定资产管理系统报告扫描结果。多个扫描引擎中的每一个扫描引擎都可以通过相应的代理与特定资产管理系统通信。可以将扫描引擎包括为代理的插件。代理可以包括至少应该其它可插入式的工具。每一个相应的代理都可以是标准化代理的实例。
而且,这些和其它实施例也可以各自可选地包括以下特征中的一个或多个。可以将附加的语言解释器添加到语言解释器集中。请求可以包括可由扫描引擎执行以执行特定扫描的扫描脚本。特定语言解释器可以基于请求来标识。接收执行特定扫描的请求可以将特定语言解释器解锁。
特征的一些或全部可以是计算机实现的方法或进一步包括在用于执行所描述的此功能的相应系统或其它设备中。结合下面的附图和描述阐述了本公开的这些和其它特征、方面和实现的细节。通过描述、附图和权利要求,本公开的其它特征、目的和优点将变得显而易见。
示例实施例
图1是示出包括资产管理系统105和多个计算设备的计算环境100的示例实现的简化框图,这些计算设备包括用户计算设备110、115、120、125以及包括服务计算环境内的各种服务、数据、应用程序和其它资源的设备的其它主机设备(例如,130、135、140)。计算环境100可以附加地包括调适为根据多个扫描脚本的一个或多个执行多个测试、探测、访问尝试和其它扫描的多个扫描引擎150、155、160、165、170,其中每一个扫描脚本都调适为尝试获得关于计算环境100的各种元件的属性、它相应的主机设备(例如,110、115、120、125、130、135、140)、由设备主存的应用和服务、和计算环境100中的网络(例如145),以及个别网络元件(诸如路由器、交换机、防火墙等)的信息。而且,在一些实现中,扫描引擎150、155、160、165、170可以扫描系统组件以附加地获得描述使用计算环境100的各种用户/人员的属性以及用户/人员的行为倾向性的信息。由扫描引擎150、155、160、165、170通过对计算环境的各种扫描所生成、发现和/或收集的数据可以结合计算环境100、或计算环境的特定部分或元件的安全相关评估来集聚、合成和另外地处理。
在一些实现中,示例资产管理系统105可以至少部分地将由扫描引擎150、155、160、165、170执行的扫描的控制以及从扫描获得的扫描结果数据的处理集中化。在许多传统系统中,可以彼此独立地提供多个不同的扫描实用程序,每一个扫描工具调适为提供特定类型的扫描服务,诸如扫描特定类型的子系统或设备、扫描以求特定属性等等。然而,在一些实例中,多维度扫描可以涉及对多个不同服务和设备的测试和扫描并涉及调用多个不同的扫描实用程序。在典型系统中,每一个扫描实用程序独立于其它扫描实用程序扫描它的特定计算环境子集,在一些情形中执行冗余检查、扫描或冗余地扫描特定设备或服务。附加地,每一个独立的扫描实用程序返回它自己的结果数据集,并且有一多维度扫描(例如,涉及多个不同扫描和扫描实用程序的扫描项目)产生多个独立结果集的一对应集。合成包括潜在冗余的或不一致的结果的各种结果集以及赋予各种结果集意义可以涉及人类管理员在各种扫描结果中筛选和过滤以生成结论、产生报告和从扫描导出意义,以及其它困难和低效。在一些情形中,根据至少一些此处所描述的原理实现的支持管理系统和扫描引擎克服这些缺陷以及其它此处未显式地描述的缺陷。
包括在计算环境100中的端点或用户设备、网络元件、主机设备和其它计算设备可以通过一个或多个网络(例如145)与其它设备通信和/或促进其它设备之间的通信。弱点和威胁可以从设备在计算环境内部和外部的计算事务和通信中的参与而具体化。系统中各种弱点的存在可以为计算环境100被利用弱点的威胁伤害打开方便之门,威胁包括计算机病毒、受损的数据、未授权的系统、数据或网络接入、数据盗窃、蠕虫、恶意、攻击和其它危险。这样的弱点和威胁可以对一个或多个设备、子网或计算环境本身造成风险。附加地,将计算环境管控于其下的各种策略可以附加地强制计算环境与一个或多个策略的特定顺应。有效地和准确地扫描计算环境100中的设备和网络可有助于确保各种安全标准和策略得到维系,以及整个计算环境100和它的组成元件的安全和健康得到维护。
一般而言,包括示例计算环境100中的计算设备(例如,105、110、115、120、125、130、135、140等)的“服务器”、“客户端”、“计算设备”、“网络元件”、“主机”和“系统”可以包括可操作来接收、发送、处理、存储或管理与计算环境100相关联的数据和信息的电子计算设备。如在此文档中使用的,术语“计算机”、“处理器”、“处理器设备”或“处理设备”旨在涵盖任何合适的处理设备。例如,示为计算环境100中的单个设备的元件可用多个设备实现,诸如包括多个服务器计算机的服务器池。而且,计算设备的任何、全部或一些可调适成执行任何操作系统,包括Linux、UNIX、Microsoft Windows、Apple OS、Apple iOS、GoogleAndroid、Windows Server等,以及虚拟机可调适成将特定操作系统的执行虚拟化,包括定制和专有的操作系统。
而且,服务器、客户端、网络元件、系统和计算设备(例如,105、110、115、120、125、130、135、140等)可以各自包括一个或多个处理器、计算机可读存储器和一个或多个接口,及其它特征和硬件。服务器可以包括任何合适的软件组件或模块,或者能够主存和/或服务软件应用程序和服务的计算设备(例如,资产管理系统105、扫描引擎150、155、160、165、170和其它服务、应用程序以及包括分布式的、企业的或基于云的软件应用程序、数据和服务的其它程序。例如,服务器可以配置为通过与其它服务和设备合作或者依赖于其它服务和设备或由其使用,主存、服务或者以其他方式管理数据结构、模型、数据集、软件服务和应用程序。在一些实例中,服务器、系统、子系统或者计算设备可以实现为可以主存在公共计算系统、服务器、服务器池或云计算环境上,并共享包括共享的存储器、处理器和接口的计算资源的一些设备的某一组合。
用户、端点或客户端计算设备(例如,110、115、120、125等)可以包括传统的和移动的计算设备,包括个人计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、特征电话、手持式视频游戏控制台、台式计算机、启用因特网的电视和其它设计成与人类用户接口并能够通过一个或多个网络(例如145)与其它设备通信的设备。用户计算设备和一般而言的计算设备(例如,105、110、115、120、125、130、135、140等)的属性可以依设备宽泛地变化,包括相应的操作系统和经加载、安装、执行、操作或以其他方式可由每一个设备访问的软件程序的集合。例如,计算设备可以运行、执行、已经安装了或者以其他方式包括各种程序集,包括操作系统、应用程序、插件、小程序、虚拟机、机器图像、驱动器、可执行文件和其它能够由相应的设备运行、执行或以其他方式使用的基于软件的程序的各种组合。
一些计算设备还可以包括至少一个图形显示设备以及允许用户查看应用程序和系统100中提供的其它程序的图形用户接口并与之交互的用户接口,包括与主存在计算设备中的应用程序交互的程序的用户接口和图形表示以及与资产管理系统105或一个或多个扫描引擎150、155、160、165、170相关联的图形用户接口。此外,尽管用户计算设备(例如,110、115、120、125等)可按由一个用户使用来描述,但本公开构想许多用户可使用一个计算机或者一个用户可使用多个计算机。
尽管图1被描述为包含多个元件或与多个元件相关联,但并非图1的计算环境100中示出的所有元件都可在本公开的每一个替换性实现中使用。附加地,结合图1的示例描述的元件的一个或多个可位于计算环境100外部,而在其它实例中,某些元件以及其它在所示的实现中没有描述的元件可包括在其它经描述的元件的一个或多个中或作为其一部分。而且,图1中示出的某些元件可与其它组件组合,以及用于此处所描述的那些目的之外的替换性或附加的目的。
图2是示出包括与多个代理(例如,210、215)协作地操作的示例资产管理系统205的示例系统的简化框图200,这些代理装备有调适为基于从资产管理系统205接收的指令和请求执行基于主机的(例如,在扫描引擎225的情形中)或者基于网络的(例如,在扫描引擎220的情形中)扫描的扫描引擎(例如,220、225)。扫描结果可以从使用基于网络和主机的扫描引擎(例如,分别为220、225)的扫描而生成并发送给资产管理系统205以供集中式的管理、分析和处理。在一些情形中,资产管理系统205可以组织涉及由多个不同的扫描引擎(包括基于网络和主机的扫描引擎二者)进行的许多扫描(即,扫描集)的扫描,并可以基于在扫描集的一个或多个部分期间接收的扫描结果而调适由扫描引擎所使用的扫描脚本。而且,使用一个或多个不同的扫描引擎而获得或生成的结果数据可以集中地报告给资产管理系统以供由资产管理系统进行集聚、合成和分析。
示例资产管理系统205可以包括用来执行在一些实现中包括在资产管理系统205的一个或多个组件中的功能的一个或多个处理器设备255和存储器元件258。例如,在资产管理系统205的一个示例实现中,可以提供扫描控制器260、资产储存库管理器265和策略管理员270。例如,示例扫描控制器260可以包括用于与一个或多个扫描引擎(例如,220、225)接口并管理由扫描引擎执行的扫描集和个别扫描的功能。在一些实例中,策略(例如275)可以与计算环境的一个或多个组件相关联,诸如整个环境、网络、一个或多个子网、一个或多个设备、一个或多个应用程序、一个或多个用户,等等。这样的策略可以包括以用户为中心的策略(例如,针对用户使用计算环境的设备和网络而应用)、以设备为中心的策略(例如,针对计算环境中的特定设备而应用)、组织专用的策略(例如,由管控特定组织的计算环境中的使用和配置的组织设置的策略)、和监管策略(例如,由设置在由实体管控的特定上下文中所使用的计算系统的系统要求和方针的行业、政府或其它实体设置的策略(例如,Sarbanes-Oxley系统顺应策略、支付卡行业(PCI)策略、健康保险便利和责任法案(HIPAA)策略,等等)),以及其它示例。扫描控制器260可以调适为生成特定扫描,包括涉及在一些情形中由多个不同的扫描引擎(例如,220、225)执行的扫描序列的扫描集,从而解决与特定策略(例如275)的顺应性或特定策略(例如275)的方针。各种扫描脚本278可以使用扫描控制器260来生成和维护以供在执行结合一个或多个策略274的扫描中使用。
扫描脚本278可以由扫描控制器260推送给一个或多个特定扫描引擎220、225,以供扫描引擎在执行相对应的扫描任务中使用。扫描脚本278可以包括可执行指令,该指令在由扫描引擎读取或执行时标识特定扫描目标、将执行的扫描以及在一些实例中将由扫描引擎在执行扫描任务中使用的计算语言的类型。执行扫描脚本可以导致扫描引擎执行一个或多个扫描任务(例如,利用一个或多个语言解释器)。在一些实例中,扫描可以涉及来自计算环境中的特定设备或应用程序的数据的集合。扫描可以包括访问目标计算设备或应用程序的特定资源的尝试(从目标的角度而言经授权的或未经授权的)。扫描可以包括监视计算环境中的特定设备或应用程序对发送到计算设备或应用程序的特定刺激或数据的响应。实际上,扫描可以包括由扫描引擎生成将作为输入提供给、传达给或者以其他方式发送给扫描目标的数据,扫描引擎还监视扫描目标对所发送的数据的响应。由扫描引擎发送的这样的数据可以基于从扫描控制器260接收的、以计算语言编写的特定扫描脚本278,在该特定扫描脚本278中数据要在扫描内生成和发送。而且,从目标返回的数据可以使用扫描引擎的一个或多个语言解释器解释以生成描述目标的响应和扫描的其它结果的扫描结果数据。
扫描控制器260还可以与扫描引擎(例如,210、215)接口以获得从由扫描引擎执行的扫描任务返回的扫描结果数据。而且,在一些实现中,扫描引擎260可以根据扫描的特定目标(例如,衡量与扫描所基于的特定安全策略的顺应性,等等)来组织和集聚扫描结果数据(例如280)。而且,扫描控制器260可以处理扫描结果数据以判断已经从扫描获得了所要的信息或者判断特定类型的扫描没有成功地获得特定扫描或扫描集想要的特定信息,诸如用来判断与扫描所基于的特定安全策略的顺应性所需要的信息,以及其它示例。在这样的实例中,扫描控制器260可以通过未到期即取消扫描、用另一个扫描脚本替换扫描脚本、将补充扫描脚本发送给扫描引擎、调用另一个扫描引擎上的另一个扫描、以及其它示例来调适扫描来控制扫描的进度,以及其它示例。
除了基于从之前的或者进行中的扫描获得的扫描结果调适扫描之外,扫描控制器260也可以标识调适为执行特定扫描的特定扫描引擎。例如,扫描控制器260可以判断一个或多个基于主机的扫描引擎(例如225)应当用于特定扫描。又例如,扫描控制器260可以判断应当使用一个或多个基于网络的扫描引擎(例如220)。在基于网络的扫描引擎的情形中,扫描控制器260可附加地判断特定的基于网络的扫描引擎是否能够与特定的远程扫描目标(例如,计算设备230、240、245、250)通信和由此扫描该特定的远程扫描目标。这样的判断可以包括判断特定的扫描引擎是否与扫描目标在同一网络上或者以其他方式能够与远程扫描目标接口。例如,在一些实现中,扫描控制器260可以从扫描目标到扫描引擎的映射(即,标识哪些扫描控制器能够与哪些扫描目标通信)标识特定的基于网络的扫描引擎被调适为与扫描目标通信。如果扫描控制器260还判断经映射的扫描引擎能够执行对扫描目标的特定所需扫描,则扫描控制器260可以向扫描引擎(例如220)转发扫描脚本(例如278)以供扫描引擎在通过一个或多个网络(例如145)对扫描目标(例如,计算设备240)进行扫描中使用。
在一些实例中,扫描引擎到扫描目标的映射可以结合对计算环境中的系统资产建立目录的资产储存库282来维护。系统资产可以包括网络、应用程序和其它程序、计算环境中的个别设备或子系统、标识为使用计算环境的特定用户或人员,等等。资产储存库282还可以对各种系统资产的经标识的属性建立目录,以例如有助于对系统实体的弱点的标识。包括在资产储存库282中的信息也可以由扫描控制器260访问以通知如何对特定扫描目标(即,将扫描的系统资产)执行特定扫描、扫描哪些扫描目标、调用哪些扫描引擎以扫描特定扫描目标、要考虑的扫描目标的属性等等。附加地,扫描特定的系统资产可以导致系统资产的附加信息和属性的发现。可以由例如在与扫描控制器260通信中操作的资产储存库管理器265将这样的信息添加到或者替换掉在资产储存库中编档的相应的系统资产的其它信息,以及其它示例实现。在一些实现中,资产储存库管理器265可以包括用于构建、更新和以其他方式维护包括描述计算环境中发现的系统资产的记录的资产储存库282的功能。
除了扫描控制器260和资产储存库管理器265之外,资产管理系统205还可以包括可以用来定义并向在资产储存库282中标识和编目录的系统资产应用安全策略的策略管理员270。安全策略275的库可以用策略管理员270来维护和访问。在一些实现中,安全策略275可包括标准安全策略(例如,一般地可跨计算环境应用)以及环境专有的安全策略。实际上,在一些示例中,策略管理员270可以包括允许管理员用户为他们相应的计算环境定义和生成新的、定制的安全策略的功能。而且,策略管理器270可以根据用户输入的关联或者自动化的关联(例如,基于规则的策略分配基于在资产储存库282中记录的相应的系统资产的属性)关联哪些策略275应用到哪些系统实体。这样的关联也可以由扫描控制器260考虑以表示计算环境的将在对应于特定策略275的实施或审计的扫描或扫描集中扫描的部分(例如,特定扫描目标设备、特定子网等等)。
从扫描收集的信息(例如,由资产管理系统205所控制的扫描引擎220、225)可以用来对特定系统资产实施特定安全策略。例如,策略管理器270和/或资产储存库管理器265可以用来与部署在计算环境中的各种安全工具(例如285)接口。安全工具285可以远程于系统资产(例如240、245、240)而部署,从而允许策略实施远程于目标并代表目标(例如,由一个或多个安全工具285进行的安全实施动作的目标)而发生,允许在无需策略(或实施工具)被推送给目标自己的情况下进行安全实施。这在例如从受监视的网络移进和移出的移动设备,以及诸如移动设备、客人设备的未管理设备,以及不包括代理或其它能够实施重要的安全策略的本地安全工具的其他设备的安全实施中可以是有用的。例如,这样的安全工具285可以包括防火墙、web网关、邮件网关、主机入侵保护(HIP)工具、网络入侵保护(NIP)工具、反恶意软件工具、数据丢失保护(DLP)工具、系统弱点管理器、系统策略顺应性管理器、资产关键性工具、入侵检测系统(IDS)、入侵保护系统(IPS)和/或安全信息管理(SIM)工具,以及其它示例。然而,本地安全实施也是可能的,例如通过在目标设备上运行、加载或以其他方式直接接口并向资产管理系统205提供用于在目标设备上直接实施策略的接口的代理(例如215)或其它工具。
转向图3A-3B,示出了根据至少一些实施例的示例统一扫描引擎部署的简化框图300a-b。例如,如图3A中示出的特定示例实现中所示,代理305a示为主存在主机设备310上,该代理促进与资产管理系统205的通信。在此特定示例中,代理305a可以包括许可可插入式工具和系统包括在代理305a上并从代理305a调用以在与资产管理系统205的通信中利用代理305a的“槽”(例如,315、320)或接口。例如,在代理305a的特定示例中,HIP模块(例如325)连接到或者“插入”到代理305a上,从而允许HIP工具325由资产管理系统205通过代理305a控制和/或通信。附加的可插入式组件、工具或者“插件”也可以包括在代理305a上,实际上单个代理(例如305a)可以包括多个可插入式组件(在此示例中诸如反病毒组件(AV)328a以及其它)。
而且,统一扫描引擎模块(例如330)可以插入到调适为与资产管理系统205通信和接口的代理305a上。统一扫描引擎330可以调适为提供各种不同的扫描功能以用于使用资产管理系统205指导的扫描中。例如,在图3A的特定示例中,统一扫描引擎330是调适为结合扫描远程扫描目标执行外部扫描任务的基于网络的扫描引擎。基于网络的扫描引擎(例如330)可以通过例如模拟目标之外的设备、网络或其他系统资产并监视扫描目标对所模拟的外部系统资产的响应来提供扫描目标的外部视图(例如,从包括恶意设备、应用程序和用户的其它系统资产的角度)。可以使用基于网络的扫描引擎发现的属性可以包括设备的开放端口、可利用的web接口、IP地址、MAC地址、主机名、netbios、操作系统、硬件档案、所主存的应用程序和服务,以及设备的其它属性。因此,基于网络的统一扫描引擎330还可以调适为通过一个或多个网络与主机设备(即,潜在的扫描目标)通信,该主机设备位于主存可插入式统一扫描引擎330包括于其上的代理305a的主机设备310的远程。
统一扫描引擎330还可以包括计算机语言解释器(例如,335、340、345)库,其中每一个语言解释器向统一扫描引擎330提供根据各种不同的计算语言与各种不同类型的目标通信、向其发送测试分组和以其他方式扫描的能力。在一些实例中,两个不同扫描之间的差异可以是数据在扫描引擎和它的目标之间通信所用的计算语言。例如,由两个不同类型的扫描引擎执行的基本扫描任务可以基本相似,其中引擎之间的核心差异是在扫描任务中使用的计算语言。通过包括语言翻译器的扩展库,统一扫描引擎330基于它将要运行的扫描可利用在统一扫描引擎中提供的基本扫描功能结合一个或多个激活的语言解释器,来将特定扫描指令(例如,扫描脚本)转换成能进一步用所激活的语言之一接收和翻译来自目标的响应的语言专用扫描。作为示例,数据库语言解释器340可以调适为将扫描指令变换成特定目标数据库或数据库管理系统可以理解的计算语言(例如,结构化查询语言(SQL)、XQuery语言(XQL)、EJB查询语言(EJBQL)以及其它)的数据、自变量、分组和其它通信。通过使用适当的语言解释器(例如340),目标数据库系统可以由此理解扫描引擎330发送的“ping”和其它传输、处理它们并响应它们,由此(很有希望地)向扫描引擎330揭示目标数据库系统的特定属性(包括弱点)。以此方式,可以提供单个扫描引擎330,该单个扫描引擎330可以在一些情形中使用在统一扫描引擎330上可用的可用语言解释器(例如,335、340、345)库的任一个执行各种各样专门化的扫描。而且应理解,随着新目标和扫描被标识和/或变得可用,可以扩展语言解释器库,由此允许每一个统一扫描引擎的功能可扩展。
尽管在图3A的特定示例中统一扫描引擎330被示为是为与特定代理(例如305a)的操作而调适的可插入式扫描引擎模块且该代理调适为接受这样的模块,应理解,在其它实现中可以提供独立于代理或其它工具的统一扫描引擎。实际上,在其它示例中,统一扫描引擎可以包括允许扫描引擎无需代理就从资产管理系统接收扫描请求和向资产管理系统传达扫描结果的附加功能。然而,实现基于代理的办法可以在一些实例中引进好处,诸如提供标准化的平台以供多个不同的工具和引擎(例如,HIP模块325a、AV模块328a、统一扫描引擎330等)用于与至少部分地集中化的资产管理系统(例如205)接口。实际上,标准化的代理平台(例如,代理305a)可以用来实现计算环境中的各种主机上的工具的各种不同的配置和组合。例如,在一些示例中,基于主机的统一扫描引擎可以作为同一代理305a上在基于网络的扫描引擎330的附加或替代实现。
实际上,转向图3B,示出了包括也调适为配备有包括示例统一扫描引擎组件(例如355)的多个可插入式组件的标准化资产管理系统代理305a的第二实例的示例。然而,在图3B的示例中,替代接受调适为扫描(多个)远程目标的基于网络的扫描引擎,统一的基于主机的扫描引擎355在代理305b上被示出,其被调适为在本地和内部(即,提供目标(即,基于主机的扫描引擎自己的主机360)的内部视图)扫描特定设备或系统。在一些实例中,基于主机的统一扫描引擎和基于网络的统一扫描引擎两者都可以在同一主机上的同一代理上提供(例如,提供基于网络的扫描和基于网络的扫描引擎自己的主机的扫描),或者可以在标准化代理305a、305b上提供第三类型的统一扫描引擎,从而将基于网络和基于主机的扫描功能两者结合同一扫描引擎组件上的语言解释器(例如,335、340、345)库合并,由此提供能够潜在地执行任何扫描(例如,基于从资产管理系统205接收的扫描脚本)的统一扫描引擎。
统一扫描引擎(例如355)拥有基于主机的扫描的能力可包括用于访问、查询和测试也由相应的主机(例如360)主存或使用但尝试从外部渗透或暴露主机的属性的基于网络的扫描引擎不可访问的各种内部资源的功能。例如,基于主机的扫描引擎可以用来扫描密码和其它内部数据(例如,为了保证他们的加密),诸如主机的地址信息、服务、注册表设置、netbios名和其它属性。类似基于网络的统一扫描引擎(例如330),基于主机的扫描引擎也能够利用它的基于主机的数据挖掘、数据访问和其它数据扫描功能结合可用语言解释器库中的一个或多个语言解释器(例如,335、340、345),来执行各种各样的扫描。这样的扫描可以导致基于主机的扫描引擎与各种不同数据结构(例如,内部数据库)、工具、程序和其它主存在本地主机(例如360)上的资源通信并收集描述这些资源的信息。在一些实现中,语言解释器的公共库可以用来提供基于网络和基于主机的统一扫描引擎。可以将语言解释器提供为包括诸如Foundstone评估脚本语言(FASL),扫描警告脚本语言(SASL),Web评估脚本语言(WASL),外壳脚本,开放式弱点评估语言(OVAL),网络评估脚本语言(NASL),Python、Perl、JavaScript、Ruby、Lua、Java、C++的调适,或任何其它扩展有与远程目标计算机上的开放网络服务通信或访问该服务的能力或者扩展有询问本地目标计算机的能力的计算机语言,以及其它示例的语言。
在结束扫描(或执行了扫描的特定任务)和生成扫描的扫描结果之际,统一的基于主机的扫描引擎355也可以与资产管理系统205接口并将扫描结果传达给资产管理系统205。附加地,如同统一的基于网络的扫描引擎(例如330),统一的基于主机的扫描引擎355也可以与资产理系统205接口以获得扫描请求、扫描脚本和来自管理特定计算环境的扫描的资产管理系统205的其它指导。实际上,在一些实现中,统一的基于主机的扫描引擎355可以调适为插入(例如,使用插头320b)标准化代理平台的代理实例(例如,305b)以提供这个与相对应的资产管理系统205的接口。在这样的实现中,标准化代理的实例(例如,305a、305b)可以加载或者安装到各种不同的主机之上,包括不同类型、操作系统和配置的主机,以提供用于允许至少部分地集中式的资产管理系统205指导计算环境上的安全相关扫描和安全策略实施的统一平台。实际上,如图3A和3B的示例中所示,标准化代理的两个实例可以包括在两个不同的主机310、360上并提供以两个不同的插件集,包括两种不同类型的统一扫描引擎(例如,基于网络的和基于主机的),其各自利用允许每一个统一扫描引擎动态地和柔性地执行各种各样不同的扫描的可扩展语言解释器库,从而简化资产管理系统的扫描控制(例如,因为资产管理系统只需要理论地标识基于主机的或者基于网络的统一扫描引擎的实例,包括扫描解释器(例如,335、340、345)库),以及其它示例。
转向图4A-4E的示例,示出了例示示例操作的简化框图400a-e,这些示例操作包括涉及扫描包括计算设备430、435、450和网络145的特定计算环境的示例资产管理系统205和多个基于代理的扫描引擎(例如,代理405、420、425上的扫描引擎415、440、445)。在此特定示例中,资产管理系统205标识将对包括计算环境中的一个或多个设备的计算环境的一部分执行的特定扫描(或者多个扫描的集)。资产管理系统205可以标识将基于用户的请求、根据自动的扫描调度、自动地根据用于计算环境的一个或多个安全策略等而执行的扫描。在此特定示例中,将执行的特定扫描尝试从一个或多个基于网络的扫描获得计算环境的所需信息集(例如,使用主存在扫描引擎主机410上的基于网络的扫描引擎415)。因此,资产管理系统205可以通过向扫描引擎主机410和安装在扫描引擎主机405上的代理405发送扫描请求455来开始扫描。扫描请求可以通过诸如标准化代理(例如,安装在主机410、430、435的每一个上)的代理405传达给基于网络的扫描引擎415。
继续之前的示例并转向图4B,网络扫描460可以由基于网络的扫描引擎415(例如,通过网络145)响应于从资产管理系统205接收的扫描请求455而进行。在一些实例中,基于网络的扫描引擎415可扫描计算环境中的单个设备,在其它实例(诸如图4B的示例)中,网络扫描引擎415可以根据从资产管理系统205接收的扫描请求执行对计算环境中的多个不同设备(例如,430、435、450)的多个扫描。数据可以由基于网络的扫描引擎415通过扫描460而截取、通信、访问或以其他方式取回。而且,如图4C中所示,由基于网络的扫描引擎415从对主机430、435、450的扫描获得的信息和数据可以传达给(例如,在465处)资产管理系统205用于使用资产管理系统205处理和/或报告。
除了基于网络的扫描之外,资产管理系统205可以判断特定扫描或扫描集(例如,结合特定安全策略的审计)包括对计算环境的特定部分的基于网络的和基于主机的扫描二者(如果可能的话)。例如,如图4D的示例中所示,除了(和/或响应于)基于网络的扫描460,资产管理系统205可以将扫描请求470发送给经判断为相对应的基于主机的扫描或扫描任务的目标的设备(例如。430、435)的特定的基于主机的扫描引擎440、445。这样的扫描请求470可以通过主存在扫描目标430、435上的相应代理420、425发送给基于主机的扫描引擎440、445。相应的代理420、425可以是在扫描主机410中使用的同一标准化代理(例如405)的实例。在一些实例中,不是计算环境中的所有设备都会使代理或代码引擎安装在设备(例如,系统450)上,尽管设备对计算环境的整体安全档案和特定扫描集的目标有兴趣。在一些实例中,资产管理系统205可受限为使扫描只在“受管理”的设备(即,包括与资产管理系统205通信的代理的设备)上执行。在其它实例中,资产管理系统205可标识特定设备是未管理的(即,不包括代理)并导致代理和/或扫描引擎加载到设备上以便完成对设备的基于主机的扫描。例如,在一些实现中,可解散的或者另外地暂时的代理或扫描引擎可以部署在标识为未管理的设备(例如450)上以执行主机设备的内部扫描。在一些实例中,可执行附加的基于网络的扫描(例如460)以尝试从不拥有基于主机的扫描引擎的扫描目标提取信息。在其它实例中,资产管理系统205可判断只有一些受管理的设备将被扫描,继续以只扫描那些其上有基于主机的扫描引擎(无论是基于代理的或者另外的)可用的设备或选择扫描相关设备的一些其它子集。
响应于扫描请求470,基于主机的扫描引擎440、445可以根据扫描脚本或包括在资产管理系统205的扫描请求470中的其它扫描指令来ping、检查、挑战、测试它们相应的主机(例如,430、435)的内部资源或以其他方式与之通信。而且,通过对主机430、435的基于主机的扫描获得的扫描结果475、480可以各自被传达给资产管理系统205,如图4E中所示。在图4A-4E的示例中,完成了多个扫描,包括基于网络的和基于主机的扫描、对各种设备的扫描和一些实例中不同类型的扫描,包括利用不同计算语言的扫描。这样的扫描集的相干策略可以通过使用至少部分地集中化的资产管理系统205来产生和指导,且扫描集(例如,460、470)的结果(例如,465、475、480)可以被共同地传达给资产管理系统205以被集聚和集中地处理从而确定扫描集的结果和结论。
而且,冗余的、过于包含性的或者不与扫描的特定目标一致(并潜在地,使计算环境过度增负的资源)的其它扫描可以由资产管理系统205通过它的扫描管理来管理并保持到最小。例如,在一些实现中,当向资产管理系统205返回扫描结果(例如,465、475、480)时,扫描结果可以通知资产管理系统205关于扫描的进度,并在一些情形中导致资产管理系统205添加、改变、跳过或以其他方式修改原始计划的扫描或扫描集。例如,来自对计算环境中的一个或多个主机的基于网络的扫描的扫描结果可影响(例如,触发、添加、取消、修改)相同或其它远程主机的另一基于网络的扫描。来自基于网络的扫描的扫描结果也可以用来影响(例如,触发、添加、取消、修改)由资产管理系统205管理的相关的(例如,在同一扫描集中)基于主机的扫描,以及其它示例。类似地,一个或多个基于主机的扫描的扫描结果可以由资产管理系统205考虑以导致由资产管理系统205管理的其它基于主机的和/或基于网络的扫描的变化。这样的由资产管理系统205进行的管理可以另外扫描决策树和其它包括在扫描引擎和由扫描引擎处理的扫描脚本中的逻辑,从而允许扫描引擎自己响应于由扫描引擎在特定扫描的执行期间或之前检测的某些结果或输出而采取某些行动。
转向图5A-5G的示例,示出了例示资产管理系统205和基于代理的扫描引擎的其它实现的进一步示例操作的简化框图500a-g。例如,如上所述,在一些实现中,统一扫描引擎(例如,330、355a、355b)可以用来结合标准化代理(例如,305a、305b、305c)执行计算环境的特定扫描,如由资产管理系统205管理的。如图5A的示例中所示,统一扫描引擎可以包括基于网络的(例如330)和基于主机的(例如355a、355b)扫描引擎二者。而且,每一个统一扫描引擎可以包括可用的语言解释器(例如505a-c、510a-c、515a-c)库以用于基于扫描的特定目标(例如,设备360、520、525等)定制使用扫描引擎可执行的特定扫描任务。语言解释器可以包括用于解释计算语言的特定类型的逻辑以理解和执行用相应的计算语言写的、产生输出、接收输入、或以其他方式使用的扫描脚本。
作为示例,如图5A中所示,资产管理系统205可以生成或标识首先尝试通过基于主机的扫描获得的关于特定扫描目标的特定所需信息的特定扫描或扫描集。在其它实例中,扫描可以从基于网络的扫描开始,至少部分同步地执行基于网络的和基于主机的扫描的组合,只利用基于主机的扫描、只利用基于网络的扫描、以及其它示例扫描集。然而,在图5A的特定示例中,资产管理系统205可以标识代理305b、305c安装在三个扫描目标(例如,360、520、525)的两个(例如,360、520)上,并通过与代理305b、305c的通信进一步判断基于主机的统一扫描引擎355a、355b被包括在代理305b、305c上且基于主机的扫描在扫描目标360、520上可用。在一些实例中,对主机设备360、520上的扫描引擎355a、355b的标识可以从引擎到主机的映射、资产储存库、或由资产管理系统205维护或以其他方式可用的其它数据结构而确定。
资产管理系统205可以根据特定扫描集将扫描请求530发送给扫描引擎355a、355b。扫描请求的内容可以包括特定扫描脚本或其它指令,包括根据基于主机的扫描引擎的主机设备(例如,360、520)的特定属性配置的脚本和指令。例如,扫描请求530可以定制成或基于记录在例如资产管理系统可访问的资产储存库中的主机设备的已知属性。在其它实例中,可以将基本相同的扫描请求发送给每一个基于主机的扫描引擎355a、355b(例如,通过相应的代理305b、350c)以对每一个目标执行基本相同的扫描。而且,在接收相应的扫描请求之际,基于主机的扫描引擎355a、355b可以解释请求,包括标识包括在请求中的相应扫描脚本,并基于所请求的扫描的本质激活对应于将在所请求的扫描中使用的一种或多种计算语言的一个或多个语言解释器(例如,505b-c、510b-c、515b-c)。在一些实例中,相应的语言解释器(例如,505b-c、510b-c、515b-c)可以在扫描请求(例如530)自身中标识。
转向图5B,在一个特定示例中,基于主机的扫描引擎355a、355b的每一个都可以基于由资产管理系统205在扫描请求中请求的一个或多个扫描激活两个语言解释器510b、510c和515b、515c。在图5A-5G的示例的表示中,激活的语言解释器被示为有阴影(例如,510b、510c、515b、515c),而不活动的语言解释器被示为无阴影(例如,505a-c、510a、515a)。在一些实现中,当语言计算器不活动时它是锁住的,只有一个来自资产管理系统205的扫描请求(或所包括的扫描脚本)能够(暂时地)将语言解释器解锁以供扫描引擎在相对应的扫描期间使用。在这样的实例中,扫描引擎可另外地不能够激活、访问和使用包括在它自己的语言解释器库中的语言解释器。例如,这可以在保护对体现在扫描或扫描脚本中的特定的经许可的、专有的或其它功能的访问、限制开发者修改资产管理系统205以利用统一扫描引擎来复制(未经授权)特定的经许可的或专有的扫描的能力以及其它示例中有用。
在适当的语言解释器(例如,510b、510c、515b、515c)被激活的情况下,基于主机的统一扫描引擎355a、355b可以对它们相应的主机360、520执行所请求的扫描(例如,535、540)以标识所扫描主机的各种资源的信息和数据。然后所发现的数据和信息可以包括在由每一个基于主机的扫描引擎355a、355b发送给资产管理系统205的扫描结果(例如,545、550)中,如图5C的示例中所示。在此特定示例中,资产管理系统205可以检查由扫描引擎355a、355b返回的扫描结果545、550以判断扫描是否成功地获得了扫描所旨在获取的信息。如果成功地获得了信息(例如,提供了对关于计算环境的一个或多个资源或设备的安全状态的某些问题的答案),那么资产管理系统205可以结束扫描。然而,如果扫描在获得所需信息中有一定缺陷,则可以由资产管理系统205发起附加的扫描以尝试获得信息。例如,在图5A-5C的示例中,没有代理或基于主机的扫描引擎对扫描目标525的基于主机的扫描可用,由此导致关于从扫描结果525获得的信息的缺陷。附加地或替换地,扫描535、540也可已经无法从扫描(或扫描集)获得所有所需的信息。因此,可以请求附加的扫描,或者可以触发扫描集中的条件化扫描以补充扫描集中的其它扫描的结果,这些扫描包括基于资产管理系统对扫描结果545、550的分析的基于网络的扫描,如图5D-5G的示例中所示。
转向图5D的示例,可以将一个或多个附加的扫描请求555发送给由标准化代理305a上的扫描引擎主机350所主存的基于网络的统一扫描引擎220。如在之前的示例中,扫描请求555可以包括指导扫描引擎220基于例如各种扫描目标的属性、将要扫描的信息的类型、之前的扫描结果(例如,545、550)等等来执行计算环境的特定扫描的信息。扫描请求555的内容可以由资产管理系统205判断以便优化对计算环境的扫描中定为目标的部分的扫描,同时努力获得全面的和令人满意的扫描结果集。例如,在图5D的特定示例中,资产管理系统205可以判断应当尝试附加的基于网络的扫描以补充在基于主机的扫描545、550中获得的信息。转向图5E和5F的示例,作为示例,可以由资产管理系统205确定各自采用不同的语言解释器集的两个不同类型的扫描以供扫描主机520、525和用户端点主机360。因此,为了执行对主机设备520、525的基于网络的扫描,基于网络的扫描引擎220的第一语言解释器505a可以基于扫描请求555中所请求的扫描从语言解释器库中标识(并激活)。通过使用激活的语言解释器505a,基于网络的统一扫描引擎220可以根据在扫描请求555中接收的扫描脚本或其它扫描指令执行对定为目标的主机设备520、525的相应扫描560。
而且,如图5F中所示,可以使用相同的基于网络的扫描引擎220但采用与在对主机设备520、525的扫描560中使用的语言解释器不同的语言解释器(例如,515a)而执行不同类型的扫描565。响应于对主机设备360、520、525的基于网络的扫描560、565或者在此期间,可以例如使用在扫描中采用的相应的语言解释器(例如,505a、515a)来收集信息以生成扫描结果570以供转发给资产管理系统205,如图5G中所示。资产管理系统205可以处理从基于网络的扫描560获得的扫描结果和基于主机的扫描535、540的扫描结果545、550,以生成例如结合审计计算环境的特定安全策略而执行的扫描集的内聚的扫描结果集。例如,至少系统的部分可以由支付卡行业(PCI)安全策略管控,且对策略的审计(在数个策略类别中)可以通过使用可以运行来审计各种系统资产与适用的PCI策略的顺应性的多个扫描之集合(包括基于主机的扫描和基于网络的扫描两者)来完成,以及其它示例。
应理解,结合图1-5G描述和例示的示例是仅为了说明本公开中所讲述的各种概念的目的而提供的非限制性示例。例如,可以采用不同于以上描述的示例技术、系统和工具但无论如何应用至少一些本公开中所处理的原理的技术、操作和系统和组件架构。例如,在实践中,计算环境可以包括成百到上千的不同类型和配置的组合的各种潜在的扫描目标。相对应多样的扫描阵列可以由至少部分地集中化的资产管理系统开发和维护以供各种扫描引擎在扫描计算环境的全部或一部分(包括甚至计算环境的单个组件)中使用。给定此多样性,采用有统一扫描引擎架构的扫描引擎来实现执行计算环境所需的多种多样扫描中的灵活性是有利的。尽管有这样的(和其它的)优点,应理解,资产管理系统可以利用仅传统的扫描引擎、仅统一扫描引擎、或传统的扫描引擎和统一扫描引擎的混合、以及经由代理或其它解决方案与资产管理系统接口的扫描引擎来管理扫描。附加地,应理解,多种多样语言解释器可以结合统一扫描引擎的语言解释器库使用,并包括结合本公开的附图和别处所提到的简化和有限的语言解释器集之外的语言解释器。
转向图6A-6B,示出了例示关于扫描计算环境中的主机和其它资源的示例技术的简化流程图600a-c。例如,在图6A的示例中,包括一个或多个扫描的特定扫描集可以例如由资产管理系统标识605。特定扫描集的一个或多个扫描可以是对特定计算环境的全部或部分的扫描,包括对计算环境中的一个或多个特定计算设备的扫描。能够执行特定扫描集的扫描的多个扫描引擎中的一个或多个扫描引擎可以被标识610。拥有执行相应的扫描和访问将要扫描的计算环境的特定部分中的特定扫描目标的资源二者的功能的扫描引擎可以被标识610。多个扫描引擎可以包括基于主机的扫描和基于网络的扫描二者。扫描请求可以从例如资产管理系统发送615给经标识的一个或多个扫描引擎,该经标识的一个或多个扫描引擎请求一个或多个扫描引擎中的特定扫描引擎执行扫描集中的相应的一个或多个扫描。扫描引擎可以执行扫描并将扫描结果返回给例如至少部分地集中化的资产管理系统,以及其它示例。
转向图6B,扫描的执行可以包括使用扫描引擎,诸如基于网络的或基于主机的统一扫描引擎。扫描请求可以由多个扫描引擎中的特定扫描引擎(例如,由管理扫描集的资产管理系统标识(例如,在610))接收625以执行扫描集中的一个或多个扫描。扫描引擎上的多个语言解释器中的一个或多个语言解释器可以被标识630以供执行所请求的扫描。语言解释器可以根据或基于所接收(在625)的扫描请求而标识。通过使用经标识的语言解释器,扫描引擎可以执行635所请求的扫描并向例如资产管理系统返回640结果。扫描集中的附加扫描也可以由扫描引擎(或多个中的其它扫描引擎)请求和执行,包括利用多个语言解释器中的不同语言解释器的扫描和响应于所接收(例如,在640)的扫描集中的其它扫描的扫描结果而请求的扫描,以及其它示例。
尽管以某些实现和一般相关联的方法描述了本公开,但这些实现的更改和替换应对本领域技术人员是显而易见的。例如,此处所描述的动作可以是以不同于所描述的次序执行的并仍然达到所需结果。作为一个示例,附图中描绘的过程不必要求所示的特定次序、或顺序次序来达到所需结果。所示出的系统和工具可以类似地采用替换性的架构、组件和模块来达到类似的结果和功能。例如,在某些实现中,多任务并行处理和基于云的解决方案可能是有利的。在一个替换性系统或工具中,简化的移动通信设备的无线认证功能可以用在可移动存储设备(诸如便携式硬盘驱动器、拇指型驱动器等)等之上。在这样的实例中,可移动存储设备可以没有用户接口但拥有无线访问功能(诸如蓝牙)以用于在近程网络上连接到协作的计算设备,并将认证数据在近程网络上共享给协作的计算设备以向一个或多个协作计算设备认证无线、便携式存储设备的持有者,从而允许用户既获得通过无线存储设备对协作计算设备的访问、又使用经认证协作的计算设备访问、消耗和修改存储在硬盘驱动器上的数据。其它系统和工具也可以使用本公开的原理。附加地,可以支持多样的用户接口布局和功能。其它变化也在权利要求的范围之内。
本说明书中所描述的主题和操作的各实施例可以以数字电子电路、或以包括本说明书中所公开的结构和其结构等效方案的计算机软件、固件或硬件、或以它们中的一个或多个的组合来实现。本说明书中所描述的主题的各实施例可以实现为一个或多个计算机程序,即一个或多个编码于计算机存储介质之上用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令模块。替换性地或附加地,程序指令可以在人工生成的传播信号上编码,传播信号例如用于编码信息以传输到合适的接收器装置供数据处理装置执行而生成的机器生成的电子、光学或电磁信号。计算机存储介质可以是或被包括于,计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合。此外,尽管计算机存储介质本身不是传播信号,但计算机存储介质可以是用人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是(或被包括于)一个或多个独立的物理组件或介质(例如,多个CD、盘或其它存储设备),包括分布式软件环境或云计算环境。
网络——包括核心和包括无线接入网络的接入网络——可以包括一个或多个网络元件。网络元件可以涵盖各种类型的路由器、交换机、网关、桥、负载平衡器、防火墙、服务器、在线服务节点、代理、处理器、模块或任何其它合适的可操作来在网络环境中交换信息的设备、组件、元件或对象。网络元件可包括适合的处理器、存储器元件、硬件和/或软件以支持(或以其他方式执行)与使用处理器用于过滤管理功能相关联的活动,如此处略述的。而且,网络元件可包括任何合适的便于其操作的组件、模块、接口或对象。这可包括允许数据或信息的有效交换的适合的算法和通信协议。
本说明书中所描述的各操作可以实现为由数据处理装置在存储在一个或多个计算机可读存储设备上的或从其它源接收的数据上执行的操作。术语“数据处理装置”、“处理器”、“处理设备”和“计算设备”可以涵盖用于处理数据的各种装置、设备和机器,作为示例包括可编程处理器、计算机、片上系统、或前述多个、或前述的组合。装置可以包括通用或专用逻辑电路,例如中央处理单元(CPU)、处理器刀片、专用集成电路(ASIC)或场可编程门阵列(FPGA)以及其它合适的选项。尽管将一些处理器和计算设备描述和/或例示为单个处理器,但根据所关联的服务器的特定需求可使用多个处理器。对单个处理器的引用旨在在适用时包括多个处理器。一般地,处理器执行指令和操纵数据来执行某些操作。除了硬件之外,装置也可以包括为所述计算机程序创造执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境可以实施各种不同的计算模型基础架构,诸如web服务、分布式计算和网格计算基础架构。
计算机程序(也称为程序、软件、软件应用程序、脚本、模块、(软件)工具、(软件)程序或代码)可以以任何形式的编程语言,包括编译或解释语言、声明性或过程化语言撰写,并能以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或其它适于在计算环境中使用的单元。例如,计算机程序可包括计算机可读执行、固件、连线的或编程的硬件、或其在当被运行时至少执行此处所描述的过程和操作的有形介质上的任何组合。计算机程序可以但不需要相对应于文件系统中的文件。程序可以保存在保持其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、在专用于所述程序的单个文件中、或者多个协调的文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可被部署为在一个计算机或位于一个站上或跨多个站分布并由通信网络互连的多个计算机上执行。
程序可以实现为通过各种对象、方法或其它过程实现各种特征和功能的个别模块,或替代地可按需包括多个子模块、第三方服务、组件、库等等。相反,各种组件的特征和功能可以按需组合进单个组件。在某些情形中,程序和软件系统可以实现为复合主存的应用程序。例如,复合应用程序的部分可实现为Enterprise Java Beans(EJB)或者设计时的组件可有生成不同平台的运行时实现的能力,平台诸如Java 2平台企业版本(J2EE)、高级企业应用编程(ABAP)对象或Microsoft.Net以及其它。附加地,应用程序可以标识经由网络(例如,通过因特网)访问和执行的基于web的应用程序。而且,一个或多个与特定主存的应用程序或服务相关联的过程可以远程地被存储、引用或执行。例如,特定主存的应用程序或服务的一部分可与被远程调用的应用程序相关联,而主存的应用程序的另一部分可以是捆绑了以供在远程客户端处理的接口对象或代理。而且,所主存的应用程序和软件服务的任一或全部可以是另一软件模块或企业应用程序(未示出)的孩子或子模块而不偏离本公开的范围。更且,所主存的应用程序的部分可以由直接在主存应用程序的服务器上以及远程地在客户端工作的用户执行。
本说明书中所描述的过程和逻辑流可以由一个或多个可编程处理器执行,处理器通过在输入数据上操作和生成输出而执行一个或多个计算机程序以执行动作。过程和逻辑流还可以通过专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以被实现为专用逻辑线路。
适于计算机程序的执行的处理器包括,作为示例,通用和专用微处理器二者以及任何种类的数字计算机的任意一个或多个处理器。一般地,处理器接收来自只读存储器或随机存取存储器或二者的指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机还会包括一个或多个大容量存储设备,例如,磁性、磁光盘、或光盘,或被操作地耦合以接收来自该一个或多个大容量存储设备的数据或将数据传送到该一个或多个大容量存储设备以供存储数据,或两者。然而计算机不需要有这样的设备。而且,计算机可以嵌入在另一设备中,例如,仅举数例,移动电话、个人数字助理(PDA)、平板计算机、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携存储设备(例如通用串行总线(USB)闪盘)。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括,作为示例,半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内置硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或被合并到专用逻辑电路中。
为了提供与用户的交互,在本说明书中描述的主题的实施例可以在有显示设备例如阴极射线管(CRT)或液晶显示器(LCD)监视器)用于向用户显示信息以及用户能借此向计算机提供输入的键盘和定点设备例如,鼠标或追踪球的计算机上实现。其他类型的设备也能被用以提供与用户的交互;例如,向用户提供的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能以任何形式接收,包括声音、语音或触觉输入。而且,计算机可以通过向设备发送文档和从设备接收文档来与用户交互,设备包括由用户使用的远程设备。
本说明书中所描述的主题的实施例可以在包括后端组件(例如,作为数据服务器)的计算系统中实现、或可在包括中间件组件(例如,应用程序服务器)的计算系统中实现、或可在包括前端组件(例如,具有用户通过其可以与本声明书中所描述的主题的实现交互的图形用户界面或Web浏览器的客户计算机)的计算系统中实现、或可在包括这样的后端、中间软件层或前端组件的任意组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)相互连接。通信网络的示例包括任何内部或外部的网络、众网络、子网或其可操作来便于系统中的各种计算组件之间的通信的组合。网络可以在网络地址之间通信例如因特网协议(IP)分组、帧中继(FR)帧、异步传输模式(ATM)单元、语言、视频、数据和其它合适的信息。网络也可包括一个或多个局域网(LAN)、无线电接入网络(RAN)、城域网(MAN)、广域网(WAN)、因特网的全部或部分、对等网络(例如,自组织对等网络)和/或任何其它在一个或多个地点的通信系统或众系统。
计算系统可以包括客户端和服务器。客户端和服务器一般互相远程并通常通过通信网络交互。客户端和服务器的关系通过运行在相应的计算机上并互相具有客户端-服务器关系的计算机程序来提升。在一些实施例中,服务器向客户端设备传输(例如,为了向与客户端设备交互的用户显示数据和接收用户输入的目的)数据(例如,HTML页面)。在客户端设备生成的数据(例如,用户交互的结果)可以在服务器上从客户端设备接收。
尽管本说明书包含许多具体实现细节,但这些不应被解释为任何发明或任何将被声明的内容的范围的限制,而是特定于特定发明的特定实施例的特征的描述。本说明书中在独立实施例的上下文中所描述的某些特征也可以组合在单个实施例中实现。相反,在单个实施例的上下文中所描述的各种特征也可以在多个实施例中独立地或在任何合适的子组合中实现。而且,尽管以上可以将特征描述为在某些组合中操作或甚至初始声明为如此,来自所声明的组合的一个或多个特征也可以在一些情形下从组合中删去,且所声明的组合可以被导向子组合或子组合的变体。
类似地,尽管各操作在图中以特定次序描绘,这不应被理解为要求以所示的特定次序或以顺序次序来执行这样的操作、或执行所有示出的操作以达到所要求的结果。在某些情形下,多任务和并行处理可以是有利的。而且,以上描述的各实施例中各种系统组件的独立不应被理解为在所有实施例中要求这样的独立,且应理解所描述的程序组件和系统可以基本整合进单个软件产品或封装进多个软件产品。
因此,描述了所述主题的特定实施例。其它实施例也在权利要求的范围之内。在一些情形中,权利要求中所述的动作可以以不同的次序执行而仍达到所需要的结果。另外,附图中描绘的过程不必要求所示的特定次序、或顺序次序来达到所需要的结果。

Claims (22)

1.一种用于扫描计算环境的方法,所述方法包括:
接收执行对计算环境的至少一部分的特定扫描的请求;
标识扫描引擎上的可用语言解释器集中的特定语言解释器以供执行所述特定扫描使用;
使用所述扫描引擎执行所述使用所述特定语言解释器的特定扫描;以及
返回所述特定扫描的结果。
2.如权利要求1所述的方法,其特征在于,所述特定扫描包括在包括多个扫描的特定扫描集中,所述方法还包括:
接收所述扫描请求执行所述特定扫描集中的至少一个其它扫描的请求;
标识所述可用的语言解释器集中供所述扫描引擎在所述其它扫描中使用的语言解释器;
使用所述扫描引擎执行所述其它扫描,所述其它扫描使用供所述扫描引擎在所述其它扫描中使用的经标识的语言解释器;以及
返回所述其它扫描的结果。
3.如权利要求2所述的方法,其特征在于,所述特定语言解释器不同于所述供所述扫描引擎在所述其它扫描中使用的经标识的语言解释器。
4.如权利要求3所述的方法,其特征在于,所述扫描引擎在由所述扫描引擎执行的特定扫描集中的扫描中利用少于全部的所述可用语言解释器集。
5.如权利要求2所述的方法,其特征在于,使用至少一个其它扫描引擎来执行所述特定扫描集中的扫描。
6.如权利要求1所述的方法,其特征在于,所述扫描引擎是多个扫描引擎中的特定扫描引擎。
7.如权利要求5所述的方法,其特征在于,所述多个扫描引擎包括基于网络的和基于主机的扫描引擎二者。
8.如权利要求5所述的方法,其特征在于,所述多个扫描引擎中的每一个扫描引擎调适为从特定资产管理系统接收扫描请求和向特定资产管理系统报告扫描结果。
9.如权利要求7所述的方法,其特征在于,所述多个扫描引擎中的每一个扫描引擎通过相应的代理与所述特定资产管理系统通信。
10.如权利要求9所述的方法,其特征在于,所述扫描引擎被包括为所述代理的插件。
11.如权利要求9所述的方法,其特征在于,所述代理包括至少一个其它可插入式工具。
12.如权利要求8所述的方法,其特征在于,每一个相应的代理是标准化代理的实例。
13.如权利要求1所述的方法,其特征在于,还包括向所述语言解释器集添加附加的语言解释器。
14.如权利要求1所述的方法,其特征在于,所述请求包括可由所述扫描引擎执行以执行所述特定扫描的扫描脚本。
15.如权利要求1所述的方法,其特征在于,所述特定语言解释器是基于所述请求而标识的。
16.如权利要求15所述的方法,其特征在于,接收执行所述特定扫描的所述请求将所述特定语言解释器解锁。
17.一种用于扫描计算环境的系统,包括执行权利要求1-16所述的方法的任一的装置。
18.一种用于扫描计算环境的装置,所述装置包括逻辑电路,用于:
接收执行对计算环境的至少一部分的特定扫描的请求;
标识可用语言解释器集中的特定语言解释器以供执行所述特定扫描使用;
执行所述使用所述特定语言解释器的特定扫描;以及
返回所述特定扫描的结果。
19.一种用于扫描计算环境的系统,包括:
至少一个处理器设备;
至少一个存储器元件;以及
扫描引擎,其在由所述至少一个处理器设备执行时调适成:
接收执行对计算环境的至少一部分的特定扫描的请求;
标识可用语言解释器集中的特定语言解释器以供执行所述特定扫描使用;
执行所述使用所述特定语言解释器的特定扫描;以及
返回所述特定扫描的结果。
20.如权利要求19所述的系统,其特征在于,进一步包括资产管理系统服务器。
21.如权利要求20所述的系统,其特征在于,所述资产管理系统服务器用于:
向所述扫描引擎发送扫描请求,其中所述扫描引擎是多个扫描引擎之一;以及
处理从所述多个扫描引擎接收的扫描结果。
22.如权利要求20所述的系统,其特征在于,进一步包括代理,所述代理包括所述扫描引擎并便于所述扫描引擎和所述资产管理系统服务器之间的通信。
CN201380017011.4A 2012-04-10 2013-04-10 统一扫描引擎 Active CN104221024B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/443,325 US8800046B2 (en) 2012-04-10 2012-04-10 Unified scan engine
US13/443,325 2012-04-10
PCT/US2013/036039 WO2013155230A1 (en) 2012-04-10 2013-04-10 Unified scan engine

Publications (2)

Publication Number Publication Date
CN104221024A CN104221024A (zh) 2014-12-17
CN104221024B true CN104221024B (zh) 2017-11-24

Family

ID=49293378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380017011.4A Active CN104221024B (zh) 2012-04-10 2013-04-10 统一扫描引擎

Country Status (4)

Country Link
US (1) US8800046B2 (zh)
EP (1) EP2836950B1 (zh)
CN (1) CN104221024B (zh)
WO (1) WO2013155230A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2974965A1 (fr) * 2011-05-06 2012-11-09 France Telecom Procede de detection d'intrusions
US9407653B2 (en) 2012-04-10 2016-08-02 Mcafee, Inc. Unified scan management
US9516451B2 (en) 2012-04-10 2016-12-06 Mcafee, Inc. Opportunistic system scanning
US9111069B1 (en) * 2012-10-26 2015-08-18 Symantec Corporation Language detection to improve efficiency of content scanning engine in data loss prevention (DLP) systems
US20140137190A1 (en) * 2012-11-09 2014-05-15 Rapid7, Inc. Methods and systems for passively detecting security levels in client devices
US10412092B2 (en) * 2014-12-24 2019-09-10 Nintendo Co., Ltd. Method, apparatus, and system for restricting access
US9294497B1 (en) * 2014-12-29 2016-03-22 Nice-Systems Ltd. Method and system for behavioral and risk prediction in networks using automatic feature generation and selection using network topolgies
US10374922B2 (en) * 2016-02-24 2019-08-06 Cisco Technology, Inc. In-band, health-based assessments of service function paths
CN107122631A (zh) * 2017-04-26 2017-09-01 北京洋浦伟业科技发展有限公司 一种脚本文件的透明加密方法和装置
US10643002B1 (en) 2017-09-28 2020-05-05 Amazon Technologies, Inc. Provision and execution of customized security assessments of resources in a virtual computing environment
US10706155B1 (en) * 2017-09-28 2020-07-07 Amazon Technologies, Inc. Provision and execution of customized security assessments of resources in a computing environment
US10885187B1 (en) * 2017-10-20 2021-01-05 EMC IP Holding Company LLC Virus scanning on storage systems comprising multiple storage servers with a plurality of file systems
US10628591B2 (en) * 2017-11-20 2020-04-21 Forcepoint Llc Method for fast and efficient discovery of data assets
US11295026B2 (en) 2018-11-20 2022-04-05 Forcepoint, LLC Scan, detect, and alert when a user takes a photo of a computer monitor with a mobile phone
CN113168471A (zh) * 2018-12-03 2021-07-23 三菱电机株式会社 信息处理装置、信息处理方法以及信息处理程序
US11379426B2 (en) 2019-02-05 2022-07-05 Forcepoint, LLC Media transfer protocol file copy detection
US11562093B2 (en) 2019-03-06 2023-01-24 Forcepoint Llc System for generating an electronic security policy for a file format type
CN109948334B (zh) * 2019-03-26 2024-02-23 深信服科技股份有限公司 一种漏洞检测方法、系统及电子设备和存储介质
US20210194916A1 (en) * 2019-12-24 2021-06-24 Infinite Group, Inc. Methods for inventorying network hosts and devices thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004075006A2 (en) * 2003-02-14 2004-09-02 Preventsys, Inc. Network audit policy assurance system
US7712138B2 (en) * 2001-01-31 2010-05-04 International Business Machines Corporation Method and system for configuring and scheduling security audits of a computer network

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6574737B1 (en) 1998-12-23 2003-06-03 Symantec Corporation System for penetrating computer or computer network
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
KR100376618B1 (ko) 2000-12-05 2003-03-17 주식회사 싸이버텍홀딩스 에이전트 기반의 지능형 보안 시스템
US20030028803A1 (en) * 2001-05-18 2003-02-06 Bunker Nelson Waldo Network vulnerability assessment system and method
US8024766B2 (en) 2001-08-01 2011-09-20 Ericsson Television, Inc. System and method for distributing network-based personal video
US6792543B2 (en) * 2001-08-01 2004-09-14 Networks Associates Technology, Inc. Virus scanning on thin client devices using programmable assembly language
US7152105B2 (en) 2002-01-15 2006-12-19 Mcafee, Inc. System and method for network vulnerability detection and reporting
US7257630B2 (en) 2002-01-15 2007-08-14 Mcafee, Inc. System and method for network vulnerability detection and reporting
US7543056B2 (en) 2002-01-15 2009-06-02 Mcafee, Inc. System and method for network vulnerability detection and reporting
KR100680559B1 (ko) 2002-11-11 2007-02-08 한국전자통신연구원 네트워크 바이러스 진단 및 치료 시스템과 방법
US20040193918A1 (en) 2003-03-28 2004-09-30 Kenneth Green Apparatus and method for network vulnerability detection and compliance assessment
US8365286B2 (en) 2006-06-30 2013-01-29 Sophos Plc Method and system for classification of software using characteristics and combinations of such characteristics
US8302196B2 (en) 2007-03-20 2012-10-30 Microsoft Corporation Combining assessment models and client targeting to identify network security vulnerabilities
KR100951144B1 (ko) 2007-10-19 2010-04-07 한국정보보호진흥원 업무 모델 기반의 네트워크 취약점 점검 시스템 및 방법
US20100043066A1 (en) 2008-05-21 2010-02-18 Miliefsky Gary S Multiple security layers for time-based network admission control
US20100083381A1 (en) 2008-09-30 2010-04-01 Khosravi Hormuzd M Hardware-based anti-virus scan service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712138B2 (en) * 2001-01-31 2010-05-04 International Business Machines Corporation Method and system for configuring and scheduling security audits of a computer network
WO2004075006A2 (en) * 2003-02-14 2004-09-02 Preventsys, Inc. Network audit policy assurance system

Also Published As

Publication number Publication date
EP2836950B1 (en) 2020-04-01
EP2836950A1 (en) 2015-02-18
CN104221024A (zh) 2014-12-17
US20130269029A1 (en) 2013-10-10
WO2013155230A1 (en) 2013-10-17
EP2836950A4 (en) 2015-10-28
US8800046B2 (en) 2014-08-05

Similar Documents

Publication Publication Date Title
CN104221024B (zh) 统一扫描引擎
CN104285219B (zh) 统一扫描管理
US10681060B2 (en) Computer-implemented method for determining computer system security threats, security operations center system and computer program product
Almorsy et al. Automated software architecture security risk analysis using formalized signatures
US20190258953A1 (en) Method and system for determining policies, rules, and agent characteristics, for automating agents, and protection
CN105324778B (zh) 用于把虚拟机分派给安全容器的方法、系统和装置
CN107835982A (zh) 用于在计算机网络中管理安全性的方法和设备
CN106605397A (zh) 安全编排框架
CN107015895A (zh) 对分布式应用的合规的以数据为中心的监测
CN103875003A (zh) 用于在移动网络环境中把应用列入白名单的系统和方法
Baca et al. Countermeasure graphs for software security risk assessment: An action research
CN110389867A (zh) 用于自动测试硬件和软件系统的方法
CN109388569A (zh) 远程检测客户端环境异常的方法、测试服务器及存储介质
Evesti et al. Comparison of adaptive information security approaches
Dalezios et al. Digital forensics cloud log unification: Implementing CADF in Apache CloudStack
Engström et al. Automated security assessments of Amazon Web services environments
Larrucea et al. Assessing source code vulnerabilities in a cloud‐based system for health systems: OpenNCP
CN105683943A (zh) 使用基于逻辑多维标签的策略模型的分布式网络安全
Chondamrongkul et al. Formal security analysis for software architecture design: An expressive framework to emerging architectural styles
Athinaiou et al. Towards the definition of a security incident response modelling language
Zhong et al. Design for a cloud-based hybrid Android application security assessment framework
Suciu et al. Lego methodology approach for common criteria certification of IoT telemetry
Grojek et al. Ontology-driven artificial intelligence in IoT forensics
Bakker Autonomous emulation of adversary procedures in the (pre-) compromise domain
Mavroeidis Towards Automated Threat-Informed Cyberspace Defense

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: McAfee limited liability company

Address before: American California

Patentee before: Mcafee, Inc.