CN101794359B - 用于启用用于遗留应用的经群体测试的安全特征的方法和系统 - Google Patents

用于启用用于遗留应用的经群体测试的安全特征的方法和系统 Download PDF

Info

Publication number
CN101794359B
CN101794359B CN200910253765.5A CN200910253765A CN101794359B CN 101794359 B CN101794359 B CN 101794359B CN 200910253765 A CN200910253765 A CN 200910253765A CN 101794359 B CN101794359 B CN 101794359B
Authority
CN
China
Prior art keywords
security feature
rule
client
legacy application
health
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
CN200910253765.5A
Other languages
English (en)
Other versions
CN101794359A (zh
Inventor
威廉·E·索贝尔
苏拉伯·萨蒂什
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.)
CAI Software LLC
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Publication of CN101794359A publication Critical patent/CN101794359A/zh
Application granted granted Critical
Publication of CN101794359B publication Critical patent/CN101794359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种用于启用用于遗留应用的经群体测试的安全特征的计算机实现的方法,可以包括:1)识别多个客户端系统,2)识别所述多个客户端系统内的客户端系统上的遗留应用,3)识别用于遗留应用的安全特征启用规则,4)通过执行安全特征启用规则来启用用于遗留应用的至少一个安全特征,5)确定安全特征启用的规则对遗留应用的健康的影响,以及6)将安全特征启用规则对遗留应用的健康的影响转送到服务器。还公开了各种其它方法、系统、和计算机可读介质。

Description

用于启用用于遗留应用的经群体测试的安全特征的方法和系统
背景技术
消费者和企业常常信赖遗留应用。遗留应用可以是久经考验的、廉价的,并且可以提供经验或工作流程的连续性。然而,遗留应用可能未被更新来利用在他们运行在其上的系统上的新特征。这可以包括可以防止遗留应用中的安全漏洞的新安全特征,诸如堆污染。
即使启用了用于遗留应用的新安全特征,安全特征也可能妨碍应用的功能性和稳定性。虽然应用供应商可以测试由供应商提供的每个遗留应用的每个新安全特征,但这可以证明是高昂的负担。
发明内容
本发明涉及用于启用用于遗留应用的经群体测试的安全特征的方法和系统。各种实施例描述了多个计算设备上的客户端模块、服务器上的服务器模块、以及它们之间的交互。如下文更详细地描述的那样,这些模块可以用来追溯地启用用于遗留应用的安全特征并测试这些新安全特征的引入是否对遗留应用的稳定性、性能、或功能性(统称为“健康”)带来负面的影响。在一个示例中,该系统可以在整个用户群体内启用安全特征之前首先测试决定参加安全特征的初步测试的用户的子集上的遗留应用的安全特征或安全特征组合,如果新的安全特征不会对用户的子集内的系统上的遗留应用的健康有负面的影响,则系统可以向群体内的越来越多的用户发起安全特征的阶段性推出(roll-out)。
例如,上述客户端模块可以被编程为:1)识别客户端系统上的遗留应用的启动,2)识别用于遗留应用的安全特征启用规则(例如从服务器接收到),以及随后3)通过执行安全特征启用规则来启用用于遗留应用的至少一个安全特征。在一个实施例中,安全特征启用规则可以启用用于特定遗留应用的安全特征或安全特征的组合。
在执行安全特征启用规则之后,客户端模块可以随后确定安全特征启用规则对遗留应用的健康的影响。在某些实施例中,客户端模块可以通过以下各项来确定安全特征启用规则的影响:1)在执行安全特征启用规则之前执行第一应用健康评估(以确定例如遗留应用的性能或稳定性),2)在执行安全特征启用规则之后执行第二应用健康评估,以及随后3)将第一和第二健康应用健康评估相比较。在确定安全特征启用规则对遗留应用的健康的影响之后,客户端模块可以将识别此影响的信息转送至服务器。
在另一实施例中,服务器模块可以被编程为:1)使用客户端模块来识别用户的群体,2)识别决定参加用于遗留应用的安全特征的初步测试的群体内的用户的子集,以及随后3)向该子集中的至少一个客户端系统发送安全特征启用规则。服务器模块随后可以从子集中的至少一个客户端系统接收识别安全特征启用规则对客户端系统上的遗留应用的健康的影响的健康影响信息。服务器模块随后可以分析此健康影响信息以确定是否向群体内的其余用户发起安全特征启用规则的阶段性推出。例如,如果服务器模块基于从用户的子集接收到的健康影响信息确定安全特征启用规则不会对应用健康有负面的影响,则服务器模块可以开始以阶段性的方式向更大范围的群体部署安全特征启用规则。
如果,在发起阶段性推出之前或之后,服务器模块接收到指示安全特征启用规则负面地影响了至少一个客户端系统上的遗留应用的健康的健康影响信息,则服务器模块随后可以中止安全特征启用规则的阶段性推出。
依照在此所述的一般原理,可以将来自上述实施例中的任何一个的特征相互结合地使用。本公开的实施例与现有技术相比可以提供各种优点。例如,在此所述的方法可以允许用户运行他们的具有新安全特征的遗留应用,所述新安全特征以其它方式可能无法被启用。安全供应商使用此方法可以比使用其他方法获得以更少的费用来测试遗留应用上的新安全特征的进一步的优势。在结合附图和权利要求来阅读以下详细说明时,可以更全面地理解这些及其它实施例、特征和优点。
附图说明
附图示出一些示例性实施例,并且作为本说明书的一部分。这些附图连同以下说明一起说明并解释本公开的各种原理。
图1是用于启用用于遗留应用的经群体测试的安全特征的示例性系统的方框图。
图2是用于启用用于遗留应用的经群体测试的安全特征的示例性计算机实现方法的流程图。
图3是示出可以根据至少一个实施例来执行的示例性健康评估的结果的方框图。
图4是根据附加实施例的用于启用用于遗留应用的经群体测试的安全特征的示例性计算机实现方法的流程图。
图5是能够实现在此所述的和/或所示的一个或多个实施例的示例性计算系统的方框图。
图6是能够实现在此所述的和/或所示的一个或多个实施例的示例性计算网络的方框图。
在所有附图中,相同的附图标记和说明指示类似但不一定必须相同的元件。虽然在此所述的示例性实施例可以有各种修改和替换形式,但在附图中已通过示例示出了特定的实施例并将在在此进行详细地描述。然而,在此所述的示例性实施例并不意在局限于所公开的特定形式。相反,本公开涵盖落入随附权利要求的范围内的所有修改、等价物、以及替换物。
具体实施方式
本公开的实施例提供一种用于启用用于遗留应用的经群体测试的安全特征的各种方法和系统。如前所述,服务器可以命令客户端的某些子集测试某些安全特征并稍后向客户端的整个群体推出这些设置。附图示出用于达到此目的的方法和系统。图1示出连接到网络上的多个客户端的服务器。图2示出可以由存在于客户端上的客户端模块执行的步骤。图4示出可以由存在于服务器上的服务器模块执行的步骤。
图1是用于启用用于遗留应用的经群体测试的安全特征的示例性系统100的方框图。如本图所示,示例性系统100可以包括经由网络120与多个客户端系统140通信的服务器130。
客户端系统140(由客户端110(1)至110(Y)组成)一般表示任何类型或形式的客户端侧计算设备。客户端系统140的示例包括但不限于膝上型计算机、台式计算机、蜂窝式电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、前述各项中的一个或多个的组合、图5中的示例性计算系统510、或任何其它适当计算设备。类似地,服务器130一般表示任何类型或形式的集中式或服务器侧计算设备。
网络120一般表示能够便于通信或数据传送的任何介质或架构。网络120的示例包括但不限于:企业内部网、广域网(WAN)、局域网(LAN)、个域网(PAN)、因特网、电力线通信(PLC)、蜂窝式网络(例如GSM网络)、图5中的示例性网络架构550等。网络120可以便于使用无线或有线连接的通信或数据传输。在一个实施例中,网络120可以便于服务器130与由客户端110(1)至110(Y)组成的客户端系统140之间的通信。
在一个示例中,可以在服务器130上安装服务器模块。类似地,可以在客户端110(1)至110(Y)中的每一个上安装客户端模块。这些模块可以表示任何模块、应用、或能够执行在此所公开的一个或多个步骤的其它计算机可执行代码。另外,这些模块中的一个或多个可以在服务器130与客户端110(1)至110(Y)之间共享,这意指相同的模块可以被配置为出于单一目的在单独的设备上同时运行。
图2是用于启用用于遗留应用的经群体测试的安全特征的示例性客户端侧方法200的流程图。如本图所示,在步骤202,客户端侧模块可以识别客户端系统上的遗留应用。例如,被存储在图1中的客户端110(1)上并被配置为在图1中的客户端110(1)上运行的客户端模块可以识别客户端110(1)上的遗留应用。
客户端模块可以以多种方式来执行步骤202。在一个示例中,客户端模块可以创建或访问客户端系统上的一系列遗留应用。在附加示例中,客户端模块可以在应用启动时检查应用并通过参照列表、通过分析应用元数据、或通过请求来自服务器的信息来确定该应用是否是遗留应用。
在步骤204,客户端模块可以识别用于遗留应用的安全特征启用规则。例如,图1中的客户端110(1)上的客户端模块可以识别用于在步骤202中识别的遗留应用的安全特征启用规则。如上所述,安全特征启用规则可以表示任何类型或形式的文件、模块、或用于启用用于特定遗留应用的安全特征或安全特征组合的其它计算机可读指令。安全特征启用规则可以启用的安全特征和设置的示例包括但不限于撤消特定遗留应用的权利(例如通过指定遗留应用将不再使用的一系列权利)的能力、在特定遗留应用的堆污染时终止进程的能力、或任何其它安全特征。
客户端模块可以以多种方式来执行步骤204。在一个示例中,客户端模块(其如上所述可以被存储在图1中的客户端系统140之一上并配置为在图1中的客户端系统140之一上运行)可以从诸如图1的服务器130的服务器接收安全特征启用规则。在附加实施例中,客户端模块可以识别被存储或加载到客户端系统上的一个或多个安全特征启用规则。在本示例中,客户端模块在识别到遗留应用时可以识别存储在客户端系统上的与遗留应用相关的至少一个安全特征启用规则。
在步骤206,客户端模块可以通过执行安全特征启用规则来启用用于遗留应用的至少一个安全特征。例如,图1中的客户端110(1)上的客户端模块可以通过执行在步骤204中识别的安全特征启用规则来启用用于在步骤202中识别的遗留应用的安全特征。
客户端模块可以以多种方式来执行步骤206。在一个示例中,客户端模块可以将启用客户端系统上可用的安全特征的指令注入到遗留应用的代码中。例如,客户端系统可能使用MICROSOFT VISTA作为操作系统,并且安全特征启用规则可能启用用于遗留应用的堆污染终止。在本示例中,客户端模块可能在启动时将HeapSetInformation功能注入到遗留应用代码中以使得该遗留应用能够启用堆污染终止。
在附加示例中,客户端模块可以通过以下各项来启用用于遗留应用的安全特征:1)识别遗留应用的启动,2)检索用于遗留应用的安全配置,以及3)根据安全特征启用规则所指定的,启用安全配置中的安全特征。
在步骤208,客户端模块可以确定安全特征启用模块是否负面地影响了遗留应用的健康。换言之,客户端模块可以确定所启用的安全特征是否负面地影响了遗留应用的稳定性、性能、或功能性。例如,如果,在前述示例中,遗留应用具有导致临时堆污染的良性错误,则启用堆污染终止可能使得遗留应用不可用。在本示例中,客户端模块可以确定安全特征启用规则负面地影响了遗留应用的健康。
客户端模块可以以多种方式来执行步骤208。在一个示例中,客户端模块可以通过以下各项来确定安全特征启用规则是否负面地影响了遗留应用的健康:1)在执行安全特征启用规则之前执行第一应用健康评估,2)在执行安全特征启用规则之后执行第二应用健康评估,以及3)将第一和第二应用健康评估相比较以确定安全特征启用规则是否影响应用的健康。
如在此所使用的短语“应用健康评估”通常指用来确定应用的健康的任何类型或形式的评估。应用健康评估的示例包括但不限于性能评估(其可以测量应用的各种方面的性能,诸如存储器使用率、CPUT使用率、以及页面错误)和稳定性评估(其可以通过确定例如应用遇到的错误的数目来测量应用的稳定性)。在图3中提供这两种应用健康评估的结果的图示。如本图所示,第一和第二应用健康评估300和320可以包括稳定性指数302和322及性能指数312和332。
在某些实施例中,稳定性指数302和322可以包括多个稳定性度量304和324及这些度量中的每一个的结果306和326。稳定性度量304和324一般表示可以用来测量应用的稳定性的任何类型或形式的度量。稳定性度量可以测量的值的示例包括但不限于操作系统错误(诸如蓝屏错误)、应用错误(诸如应用挂起或冻结)、服务错误、设备驱动器错误、系统正常运行时间,以及系统重启(诸如系统每天重启的次数)。在图3所提供的示例中,稳定性指数302和322详细说明在评估期间由客户端模块识别的蓝屏错误的平均数目、识别的服务错误的平均数目、以及识别的应用错误的平均数目。在某些实施例中,这些错误中的一个或多个可能是由在步骤206中执行的安全特征启用规则引起的。
如同稳定性指数302和322的情况一样,性能指数312和322可以包括多个性能度量314和344及这些度量中的每一个的结果316和336。性能度量314和334一般表示可以用来测量应用的性能的任何类型或形式的度量。性能度量可以测量的值的示例包括但不限于CPU使用率、页面错误、网络使用率、以及存储器使用率。如图3所示,可以使用移动平均值、最大值或峰值、递增计数值、或其它适当方法来表示稳定性度量304和324及性能度量314和334的结果306、316、326、和336。在图3所提供的示例中,性能指数312和332详细说明在评估期间的应用的最大和平均CPU使用率、在评估期间由应用引起的页面错误的最大和平均数目、以及在评估期间由应用发送和接收的IP数据报的最大和平均数目。
如上面所详细论述的,客户端模块可以通过将第一和第二应用健康评估相比较来确定安全特征启用规则是否影响应用的健康。例如,客户端模块可以将图3中的第一健康评估300的结果与第二健康评估320的结果相比较以确定由该安全特征启用规则启用的用于遗留应用的安全特征(或安全特征的组合)是否负面地影响了遗留应用的健康。
可以以多种方式来表示或量化所启用的安全特征对遗留应用的健康的影响。在某些实施例中,可以基于第一健康评估300和第二健康评估320的结果来计算一个或多个健康影响分数,诸如图3中的健康影响分数340。如图3所示,健康影响分数340可以表示所启用或注入的安全特征对安装在客户端系统上的遗留应用的稳定性(由包含在稳定性影响表342中的结果表示)和性能(由包含在性能影响表346中的结果表示)的影响。例如,稳定性影响表342中的结果可以说明在启用用于遗留应用的安全特征(或安全特征组合)之后的蓝屏错误、服务错误、和/或应用错误方面是否存在百分数的增加。类似地,性能影响表346中的结果可以说明在启用安全特征之后的CPU使用率、存储器使用率、页面错误、和/或网络使用率方面是否存在百分数的增加。
例如,包含在图3中的稳定性影响表342中的结果说明在启用安全特征之后系统所经历的服务和应用相关错误的平均数目上存在50%的增加。类似地,包含在性能影响表346中的结果说明在启用安全特征之后在平均CPU使用率(78.22.6%)、最大CPU使用率(87.9130%)、页面错误平均数(74.1440%)、页面错误最大数(75.3433%)、以及IP数据报的最大数(11.1111%)方面存在显著增加。
在至少一个实施例中,通过对包含在稳定性结果表342中的结果取平均数来针对所启用的安全特征计算平均稳定性影响分数(在图3所示的示例中,其得到-33.3333%的平均稳定性影响分数)。类似地,可以通过对包含在性能影响表346中的结果取平均来计算所启用的安全特征的平均性能影响分数(在图3所示的示例中,其得到-55.5109%的平均性能影响分数)。然后可以通过将平均稳定性影响分数和平均性能影响分数取平均来计算所启用的安全特征的总健康影响分数(在图3所示的示例中,其得到-44.4421%的总健康影响分数)。
返回图2,在步骤210,客户端模块可以将安全特征启用规则对遗留应用的健康的影响的信息转送到服务器。例如,存储在图1中的客户端系统110(1)上的客户端模块可以向服务器130发送信息,该信息与估计由在步骤206中执行的安全特征启用规则所启用的安全特征如何影响遗留应用的性能和/或功能性有关。在某些示例中,这个信息,在此中也称为“健康影响信息”可以表示或基于健康影响分数,诸如图3中的健康影响分数340。在完成图2中的步骤210时,示例性方法200可以终止。
如上面详细描述的,可以以多种方式来表示或量化所启用的安全特征对遗留应用的健康的潜在影响。同样地,虽然已用一定程度的特殊性描述了图3所示的健康评估和结果,但可以使用任何数目的附加探试法、公式或方法来计算所启用的安全特征对遗留应用的健康的潜在影响。
另外,可以由本地系统(诸如图1中的客户端系统140和/或图5中的计算系统510)、由远程系统(诸如图1中的服务器130和/或图6中的示例性网络架构600的部分)、或其任何组合来执行图2中的步骤202~210中的一个或多个。例如,诸如图1终端客户端系统110(1)和/或图5中的计算系统510的本地系统可以通过将第一健康评估的结果与第二健康评估的结果相比较来确定所启用的安全特征对步骤208中的遗留应用的健康的影响。
可选地,诸如图1中的服务器130和/或图6中的示例性网络架构600的部分的远程计算设备可以通过将第一健康评估的结果与第二健康评估的结果相比较来确定所启用的安全特征对步骤208中的遗留应用的健康的影响。例如,图1中的客户端系统110(1)可以将第一和第二健康评估的结果连同针对遗留应用所计算的校验和散列一起发送到图1中的服务器130。在某些实施例中,图1中的客户端系统110(1)还可以向服务器130发送识别客户端110(1)上的每个遗留应用的列表。服务器130随后可以通过将第二健康评估的结果与第一健康评估的结果相比较来确定所启用的安全特征是否对遗留应用的健康有影响。例如,服务器130可以通过将第一健康评估的结果与第二健康评估的结果相比较来计算所启用的安全特征的一个或多个健康影响分数,诸如图3中的健康影响分数340。服务器130随后可以将生成的健康影响分数存储在数据库中。
虽然图2未示出,但在某些实施例中,客户端模块可以从图1中的服务器130接收禁用用于遗留应用的安全特征启用规则的指令。例如,服务器130可以基于健康影像信息来确定安全特征启用规则很可能降低遗留应用的性能和/或稳定性。服务器130随后可能向客户端模块发送禁用用于遗留应用的安全特征启用规则的指令。在接收到指令时,客户端模块可以禁用用于遗留应用的安全特征启用规则。
另外,在某些实施例中,图2中的示例性方法200还可以包括识别来自用户的选择参加安全特征启用规则的初步测试的请求。例如,基于对使用数据将被报告给后端或服务器,诸如图1中的服务器130的这样的认知,图1中的客户端系统110(1)上的客户端模块可以向客户端系统110(1)的用户呈现启用安装在客户端系统110(1)上的一个或多个遗留应用中的新安全特征的选项。如下文更详细地描述的那样,服务器130可以分析此使用数据来确定是否向大批用户发起用于遗留应用的特定安全特征的阶段性推出。
图4是用于启用用于遗留应用的经群体测试的安全特征的示例性服务器侧方法400的流程图。如本图所示,在步骤402,服务器模块可以识别多个客户端系统。在至少一个示例中,该多个客户端系统可以表示从服务器接收用于遗留应用的经群体测试的安全特征的一组客户端。例如,存储在图1中的服务器130上并配置为在图1中的服务器130上运行的服务器模块可以识别图1中的由客户端110(1)至110(Y)组成的多个客户端系统140,在其上面已经安装结合图2所述的客户端模块。
服务器模块可以以多种方式来执行步骤402。在一个示例中,服务器模块可以访问已经安装有客户端模块的客户端系统的列表且可以将此列表加载到存储器中。在附加的示例中,服务器模块可以从客户端系统(诸如图1中的客户端系统140)接收将客户端系统识别为已安装有上述客户端模块的通信。
在步骤404,服务器模块可以识别所述多个客户端系统的子集。在一个示例中,可以将此子集内的每个客户端系统指定为测试用于遗留应用的安全特征。例如,图1中的服务器130上的服务器模块可以识别由客户端110(X)至100(Y)组成的客户端系统140的子集142。在本示例中,子集142可以表示已被指定为在阶段性推出之前或作为阶段性推出的一部分测试用于遗留应用的群体内的客户端系统的子集。例如,在某些实施例中,如上所述,客户端系统的用户可以选择参加安全特征的初步测试。在本示例中,此用户的客户端系统随后将属于子集142。此子集可以表示仅占已选择从服务器接收安全特征启用规则的群体内的所有用户的0.1%。
服务器模块可以以多种方式来执行步骤404。在一个示例中,服务器模块可以访问已经决定参加安全特征的初步测试的客户端系统的列表。在附加的示例中,服务器模块可以从客户端系统(诸如图1中的客户端系统140)接收将所述客户端系统识别为已决定参加安全特征的初步测试的通信。
在步骤406,服务器模块可以向在步骤404中识别的子集中的至少一个客户端系统发送安全特征启用规则。例如,存储在图1中的服务器130上的服务器模块可以向子集142内的至少一个客户端系统发送启用用于特定遗留应用的特定安全特征或安全特征组合的指令。
服务器模块可以以多种方式来执行步骤406。在一个示例中,服务器模块可以访问图1中的服务器130上的网络接口卡,并将网络120上的安全特征启用规则发送到子集142内的客户端(诸如客户端110(X))。
在不同的示例中,服务器模块可以通过将规则发送到第二服务器来将规则发送到客户端系统。例如,服务器130可以将安全特征启用规则发送到第二服务器。第二服务器随后可以将客户端系统的安全更新文件修改为包括该安全特征启用规则。第二服务器随后可以经由网络120将安全更新文件发送到客户端系统。
在将安全特征启用规则发送到子集中的客户端系统之后,在步骤408,服务器模块可以从客户端系统接收识别安全特征启用规则对客户端系统上遗留应用的健康的影响的健康影响信息。换言之,服务器模块可以从客户端系统接收指示安全特征启用规则是否会使遗留应用的性能不稳定或受损害的信息。例如,服务器模块可以从客户端模块接收-10%的健康影响分数(诸如图3中的健康影响分数340),其指示在启用安全特征之后遗留应用的健康的降低。服务器模块还可以接收遗留应用的崩溃报告或另一种类型的错误报告(诸如图3中的应用健康评估300和320的结果),其指示遗留应用或客户端系统的降低的功能性或性能。
在一个实施例中,服务器模块可以聚集并存储其在步骤408中接收到的健康影响信息。例如,服务器模块可以基于从客户端系统的子集接收到的健康影响信息来计算并存储用于安全特征启用规则的健康影响分数。在一个示例中,服务器模块可以将此健康影响分数存储为移动平均值。
在步骤410,服务器模块随后可以基于在步骤408中接收到的健康影响信息来确定是否向附加的客户端系统推出安全特征启用规则。换言之,如果在步骤408中接收到的健康影响信息未指示负面结果(例如,如果服务器从至少一个客户端系统接收到指示安全特征未负面地影响遗留应用的健康的健康影响分数),则服务器模块可以确定向在步骤402中识别的多个客户端系统内的附加的客户端系统推出安全特征启用规则。
服务器模块可以以多种方式来执行步骤410。在一个示例中,服务器模块可以从单个客户端系统(诸如子集142内的客户端110(X))接收指示安全特征启用规则对遗留应用没有负面影响的健康影响信息。在本示例中,服务器模块可以确定向客户端系统140内的客户端系统的较大子集推出安全特征启用规则。
在另一示例中,服务器模块可以从在步骤404中识别的子集内的多个客户端系统接收健康影响信息。例如,服务器130从子集142中的客户端110(X)至110(Y)中的每一个接收健康影响信息。在本示例中,服务器模块可以确定平均起来安全特征启用规则是否负面地影响了子集142内的客户端上的遗留应用的健康。例如,服务器模块可以基于从子集142内的客户端接收到的健康影响信息来计算安全特征启用规则的平均健康影响分数。在本示例中,如果平均健康影响分数指示平均起来安全特征启用规则未显著地负面影响子集142内的客户端上的遗留应用的健康,则服务器模块可以确定向其余的客户端系统140推出安全特征启用规则。
在又一实施例中,如果服务器模块确定安全特征启用规则未负面地影响子集142内的客户端系统上的遗留应用的健康,则服务器模块可以向附加的客户端系统发起安全特征启用规则的阶段性推出。如前所提及的,阶段性推出表示安全特征启用规则的逐渐推广的分布。例如,如果从客户端系统的子集接收到的健康影响信息指示安全特征启用规则对遗留应用的健康没有负面影响,则服务器可以逐渐地拓宽接收安全特征启用规则的客户端系统的集合,始终持续地接收并监控来自这些附加的客户端系统的健康影响信息。例如,服务器可以将安全特征启用规则推广到群体内的客户端系统的越来越大的子集,例如从其用户的1%开始,逐渐增加到2%、5%、10%、20%、50%、并最终到群体的100%。
只要服务器继续接收指示安全特征启用规则未负面地影响遗留应用的健康的健康影响信息,则服务器可以继续逐渐地推出安全特征启用规则。然而,如果服务器接收到指示安全特征启用规则显著地负面影响了遗留应用的健康的健康影响信息,则服务器可以中止阶段性推出。例如,如上面所详细描述的,服务器模块可以基于从群体内的客户端系统接收到的健康影响信息来生成用于安全特征启用规则的移动平均健康影响分数。如果服务器在向用户的较大子集推出安全特征启用规则时确定此健康影响分数不可接受地下降(例如,如果安全特征启用规则的健康影响分数从0下降至-55%),则服务器模块可以中止阶段性推出。
如上面所详细描述的,在此所述的系统和方法可以使得安全供应商能够容易地测试遗留应用的安全特征。通过阶段性地推出安全特征,安全供应商可以在将安全特征分布于整个群体之前安全地测试安全特征对用户的小子集内的遗留应用的健康的影响。
图5是能够实现在此所述的和/或所示的一个或多个实施例的示例性计算系统510的方框图。计算系统510广义上表示能够执行计算机可读指令的任何单个或多处理器计算设备或系统。计算系统510的示例包括但不限于工作站、膝上型计算机、客户端侧终端、服务器、分布式计算系统、手持式设备、或任何其它计算系统或设备。在其最基本的配置中,计算系统510可以包括至少一个处理器514和系统存储器516。
处理器514一般表示能够处理数据或解释并执行指令的任何类型或形式的处理单元。在某些实施例中,处理器514可以从软件应用或模块接收指令。这些指令可以使得处理器514执行在此所述的和/或所示的一个或多个示例性实施例的功能。例如,处理器514可以执行在此所述的识别、执行、启用、确定、转送、实行、比较、允许、发送、接收、禁用、检索、发起、中止、和/或增加步骤中的一个或多个和/或作为用于单独或与其它元件结合地执行在此所述的识别、执行、启用、确定、转送、实行、比较、允许、发送、接收、禁用、检索、发起、中止、和/或增加步骤中的一个或多个的装置。处理器514还可以执行在此所述的和/或所示的任何其它步骤、方法、或过程和/或作为用于执行在此所述的和/或所示的任何其它步骤、方法、或处理的装置。
系统存储器516一般表示能够存储数据和/或其它计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器516的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或任何其它适当的存储设备。虽然不需要,但在某些实施例中,计算系统510可以包括易失性存储单元(例如,诸如系统存储器516)和非易失性存储设备(例如,诸如下文更详细地描述的主存储设备532)。
在某些实施例中,除处理器514和系统存储器516之外,示例性计算系统510还可以包括一个或多个组件或元件。例如,如图5所示,计算系统510可以包括存储控制器518、输入/输出(I/O)控制器520、以及通信接口522,其中的每一个可以经由通信基础设施512互连。通信基础设施512一般表示能够便于计算设备的一个或多个组件之间进行通信的任何类型或形式的基础设施。通信基础设施512的示例包括但不限于通信总线(诸如ISA、PCI、PCIe、或类似总线)和网络。
存储控制器518一般表示能够处理存储器或数据或控制计算系统510的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施例中,存储控制器518可以经由通信基础设施512来控制处理器514、系统存储器516、与I/O控制器520之间的通信。在某些实施例中,存储控制器518可以执行在此所述的和/或所示的一个或多个步骤或特征和/或作为用于单独地或与其它组件相结合地执行在此所述的和/或所示的一个或多个步骤或特征的装置,所述步骤或特征诸如识别、执行、启用、确定、转送、实行、比较、允许、发送、接收、禁用、检索、发起、中止和/或增加。
I/O控制器520一般表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,在某些实施例中,I/O控制器520可以控制或便于计算系统510的一个或多个元件之间的数据传送,所述元件诸如处理器514、系统存储器516、通信接口522、显示适配器526、输入接口530、以及存储接口534。I/O控制器520可以例如用来执行在此所述的识别、启用、确定、转送、实行、比较、允许、发送、接收、禁用、检索、执行、发起、中止和/或增加步骤和/或作为用于执行在此所述的识别、启用、确定、转送、实行、比较、允许、发送、接收、禁用、检索、执行、发起、中止、和/或增加步骤的装置。I/O控制器520还可以用来执行本公开所阐述的其它步骤和特征和/或作为用于执行本公开所阐述的其它步骤和特征的装置。
通信接口522广义上表示能够便于示例性计算系统510与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施例中,通信接口522可以便于计算系统510与包括附加计算系统的私有或公共网络之间的通信。通信接口522的示例可以包括但不限于有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器、及其它任何适合的接口。在至少一个实施例中,通信接口522可以经由到诸如因特网等网络的直接链路来向远程服务器提供直接连接。通信接口522还可以通过例如局域网(诸如以太网或无线IEEE 802.11网络)、个域网(诸如BLUETOOTH或IEEE标准802.15.1-2002网络)、电话或电缆网络、蜂窝式电话连接、卫星数据连接、或任何其它适合的连接来间接地提供此类连接。
在某些实施例中,通信接口522还可以表示被配置为经由外部总线或通信信道便于计算系统510与一个或多个附加网络或存储设备之间进行通信的主机适配器。主机适配器的示例包括但不限于SCSI主机适配器、USB主机适配器、IEEE 1394主机适配器、SATA和eSATA主机适配器、ATA和PATA主机适配器、光纤信道接口适配器、以太网适配器等。通信接口522还可以允许计算系统510参与分布式或远程计算。例如,通信接口522可以从远程设备接收指令或向远程设备发送用于执行的指令。在某些实施例中,通信接口522可以执行在此所公开的识别、启用、确定、转送、实行、比较、允许、发送、接收、禁用、执行、检索、发起、中止、和/或增加步骤中的一个或多个和/或作为用于单独地或与其它元件相结合地执行在此所公开的识别、启用、确定、转送、实行、比较、允许、发送、接收、禁用、执行、检索、发起、中止、和/或增加步骤中的一个或多个的装置。通信接口522还可以用来执行本公开所阐述的其它步骤和特征和/或作为用于执行本公开所阐述的其它步骤和特征的装置。
如图5所示,计算系统510还可以包括经由显示适配器526耦合到通信基础设施512的至少一个显示设备524。显示设备524一般表示能够在视觉上显示由显示适配器526转发的信息的任何类型或形式的设备。类似地,显示适配器526一般表示被配置为转发来自通信基础设施512(或来自如本领域中所已知的帧缓冲器)的图形、文本、及其它数据以在显示设备524上显示的任何类型或形式的设备。
如图5所示,示例性计算系统510还可以包括经由输入接口530耦合到通信基础设施512的至少一个输入设备528。输入设备528一般表示能够向示例性计算系统510提供计算机或人类生成的能够提供输入的任何类型或形式的输入设备。输入设备528的示例包括但不限于键盘、指示设备、语音识别设备、或任何其它设备。在至少一个实施例中,输入设备528可以执行在此所公开的识别、启用、确定、转送、实行、比较、执行、允许、发送、接收、禁用、检索、发起、中止、和/或增加步骤中的一个或多个和/或作为用于单独地或与其它元件相结合地执行在此所公开的识别、启用、确定、转送、实行、比较、执行、允许、发送、接收、禁用、检索、发起、中止、和/或增加步骤中的一个或多个的装置。输入设备528还可以用来执行本公开所阐述的其它步骤和特征和/或作为用于执行本公开所阐述的其它步骤和特征的装置。
如图5所示,示例性计算系统510还可以包括经由存储接口534耦合到通信基础设施512的主存储设备532和备份存储设备533。存储设备532和533一般表示能够存储数据和/或其它计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备532和533可以是磁盘驱动器(例如所谓的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪速驱动器等。存储接口534一般表示用于在存储设备532和533与计算系统510的其它组件之间传送数据的任何类型或形式的接口或设备。
在某些实施例中,存储设备532和533可以被配置为从可移动存储单元读取和/或向可移动存储单元写入,所述可移动存储单元被配置为存储计算机软件、数据、或其它计算机可读信息。适合的可移动存储单元的示例包括但不限于软盘、磁带、光盘、闪速存储设备等。存储设备532和533还可以包括用于允许将计算机软件、数据、或其它计算机可读指令加载到计算系统510中的其它类似结构或设备。例如,存储设备532和533可以被配置为读取和写入软件、数据、或其它计算机可读信息。存储设备532和533可以是计算系统510的一部分或者可以是通过其它接口系统来访问的单独设备。
例如,存储设备532和533还可以用来执行在此所公开的识别、识别、启用、确定、转送、实行、比较、允许、发送、执行、接收、禁用、检索、发起、中止、和/或增加步骤中的一个或多个和/或作为用于单独地或与其它元件相结合地执行在此所公开的识别、识别、启用、确定、转送、实行、比较、允许、发送、执行、接收、禁用、检索、发起、中止、和/或增加步骤中的一个或多个的装置。存储设备532和533还可以用来执行本公开所阐述的其它步骤和特征和/或作为用于执行本公开所阐述的其它步骤和特征的装置。
可以将许多其它设备或子系统连接到计算系统510。相反,并不是图5所示的所有组件和设备都需要出现以实施本文所述和/或所示的实施例。以上参考的设备和子系统还可以以不同于图5所示的方式互连。计算系统510还可以采用任何数目的软件、固件、和/或硬件配置。例如,可以将在此所公开的一个或多个示例性实施例编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用、计算机可读指令、或计算机控制逻辑)。短语“计算机可读介质”通常指能够存储或承载计算机可读指令的任何形式的设备、载体、或介质。计算机可读介质的示例包括但不限于诸如载波的传输型介质、以及诸如磁性存储介质(例如硬盘驱动器和软盘)、光学存储介质(例如CD或DVD-ROM)、电子存储介质(例如固态驱动器和闪速介质)的物理介质、及其它分布系统。
可以将包含计算机程序的计算机可读介质被加载到计算系统510中。然后可以将存储在计算机可读介质上的所有或部分计算机程序存储在系统存储器516和/或存储设备532和533的部分上。当由处理器514执行时,被加载到计算系统510中的计算机程序可以使得处理器514执行在此所述的和/或所示的一个或多个示例性实施例的功能和/或作为用于执行在此所述的和/或所示的一个或多个示例性实施例的功能的装置。另外或替换地,可以以固件和/或硬件来实现在此所述的和/或所示的一个或多个示例性实施例。例如,计算系统510可以被配置为适合于实现在此所公开的一个或多个示例性实施例的专用集成电路(ASIC)。
图6是其中客户端系统610、620、和630及服务器640和645可以被耦合到网络650的示例性网络架构600的方框图。客户端系统610、620、和630一般表示任何类型或形式的计算设备或系统,诸如图5所示的示例性计算系统510。类似地,服务器640和645一般表示诸如应用服务器或数据库服务器等被配置为提供各种数据库服务和/或运行某些软件应用的计算设备或系统。网络650一般表示任何电信或计算机网络;例如包括企业内部网、广域网(WAN)、局域网(LAN)、个域网(PAN)、或因特网。
如图6所示,可以将一个或多个存储设备660(1)-(N)直接附连到服务器640。类似地,可以将一个或多个存储设备670(1)-(N)直接附连到服务器645。存储设备660(1)-(N)和存储设备670(1)-(N)一般表示能够存储数据和/或其它计算机可读指令的任何类型或形式的存储设备或介质。在某些实施例中,存储设备660(1)-(N)和存储设备670(1)-(N)可以表示被配置为使用诸如NFS、SMB、或CIFS等各种协议来与服务器640和645通信的网络连接存储(NAS)设备。
还可以将服务器640和645连接到存储区域网络(SAN)构架(fabric)680。SAN构架680一般表示能够便于多个存储设备之间进行通信的任何类型或形式的计算机网络或架构。SAN构架680可以便于服务器640和645与多个存储设备690(1)-(N)和/或智能存储阵列695之间的通信。SAN构架680还可以经由网络650及服务器640和645以设备690(1)-(N)和阵列695表现为局部附连到客户端系统610、620、和630的设备的方式来便于客户端系统610、620和630与存储设备690(1)-(N)和/或智能存储阵列695之间的通信。如同存储设备660(1)-(N)和存储设备670(1)-(N)一样,存储设备690(1)-(N)和智能存储阵列695一般表示能够存储数据和/或其它计算机可读指令的任何类型或形式的存储设备或介质。
在某些实施例中及参照图5的示例性计算系统510,可以使用诸如图5中的通信接口522的通信接口来提供每个客户端系统610、620、和630与网络650之间的连接。客户端系统610、620、和630能够使用例如网页浏览器或其它客户端软件来访问服务器640或645上的信息。此类软件可以允许客户端系统610、620、和630访问由服务器640、服务器645、存储设备660(1)-(N)、存储设备670(1)-(N)、存储设备690(1)-(N)、或智能存储阵列695操管的数据。虽然图6描绘了使用网络(诸如因特网)来交换数据,但在此所述的和/或所示的实施例不限于因特网或任何特定的基于网络的环境。
在至少一个实施例中,可以将在此所公开的一个或多个示例性实施例中的全部或部分编码为计算机程序或加载到服务器640、服务器645、存储设备660(1)-(N)、存储设备670(1)-(N)、存储设备690(1)-(N)、智能存储阵列695、或其任何组合上并由其执行。还可以将在此所公开的一个或多个示例性实施例中的全部或部分编码为计算机程序、存储在服务器640中、由服务器645来运行、并通过网络650分布到客户端系统610、620、和630。因此,网络架构600可以执行在此所公开的识别、启用、确定、转送、实行、比较、允许、发送、接收、禁用、检索、发起、执行、中止、和/或增加中的一个或多个和/或作为用于单独地或与其它元件相结合地执行在此所公开的识别、启用、确定、转送、实行、比较、允许、发送、接收、禁用、检索、发起、执行、中止、和/或增加中的一个或多个的装置。网络架构600可还可以用来执行本公开所阐述的其它步骤和特征和/或作为用于执行本公开所阐述的其它步骤和特征的装置。
如上所述,计算系统510和/或网络架构600中的一个或多个组件可以执行在此所述的和/或所示的示例性方法的一个或多个步骤和/或作为用于单独地或与其它元件相结合地执行在此所述的和/或所示的示例性方法的一个或多个步骤的装置。例如,用于启用用于遗留应用的经群体测试的安全特征的计算机实现方法可以包括识别多个客户端系统。所述计算机系统随后可以识别被指定为测试用于遗留应用的安全特征的所述多个客户端系统的子集。所述计算机系统随后可以向所述子集中的至少一个客户端系统发送安全特征启用规则。所述计算机系统随后可以从所述子集中的客户端系统接收识别安全特征启用规则对客户端系统上的遗留应用的健康的影响的健康影响信息,并随后基于该健康影响信息来确定是否向所述多个客户端系统推出安全特征启用规则。
某些实施例进一步包括确定安全特征启用规则未负面地影响遗留应用的健康,并向所述多个客户端系统发起安全特征启用规则的阶段性推出。某些实施例进一步包括:1)从所述多个客户端系统中的至少一个附加的客户端系统接收与安全特征启用规则相关的健康影响信息,2)确定安全特征启用规则负面地影响了附加的客户端系统上的至少一个遗留应用的健康,以及3)中止安全特征启用规则的阶段性推出。在某些其它实施例中,所述阶段性推出包括以多个阶段递增地增加安全特征启用规则的分布,直到该分布涵盖所述多个客户端系统。
在至少一个其它实施例中,安全特征启用规则包括安全特征启用规则的特定组合。在某些实施例中,健康影响信息包括用于至少一个性能度量的结果的性能指数和包含用于至少一个稳定性度量的结果的稳定性指数。
根据某些实施例,用于启用用于遗留应用的经群体测试的安全特征的计算机实现方法包括识别客户端系统上的遗留应用。所述计算机系统还可以识别用于遗留应用的安全特征启用规则。所述计算机系统随后可以通过执行安全特征启用规则来启用用于遗留应用的至少一个安全特征。所述计算机系统随后可以确定安全特征启用规则对遗留应用的健康的影响。所述计算机系统随后可以将安全特征对遗留应用的健康的影响转送到服务器。在某些其它实施例中,识别安全特征启用规则包括从服务器接收安全特征启用规则。
通过某些实施例,确定安全特征启用规则对遗留应用的健康的影响包括执行第一健康评估。所述计算机系统随后可以将安全特征启用规则执行到遗留应用中并随后执行第二健康评估。所述计算机系统随后可以将第二健康评估与第一健康评估相比较以确定安全特征启用规则如何影响遗留应用的健康。
如某些实施例中所定义的,所述方法进一步包括允许用户决定参加安全特征启用规则的初步测试。根据某些实施例,计算机系统可以包括向服务器发送识别客户端系统上的每个遗留应用的列表。另外,安全特征启用规则可以包括安全特征启用规则的特定组合。
在若干个实施例中,计算机系统可以从服务器接收禁用用于遗留应用的安全特征启用规则的指令并随后禁用用于遗留应用的安全特征启用规则。在某些实施例中,根据安全特征启用规则所指定的,执行安全特征启用规则包括在其启动时识别遗留应用,接收用于遗留应用的安全配置,并启用安全配置中的安全特征。
虽然前述公开使用特定的方框图、流程图、以及示例阐述了各种实施例,但可以使用范围广泛的硬件、软件、或固件(或其任何组合)配置来单独地和/或共同地实现在此所述的和/或所示的每个方框图组件、流程图步骤、操作、和/或组件。另外,应将包含在其它组件内的组件的任何公开视为本质上是示例性的,因为可以实现许多其它架构以达到相同的功能。
在此所述和/或所示的过程参数和步骤序列仅以示例的方式给出且可以根据需要而改变。例如,虽然按照特定的顺序示出或讨论了在此所示的和/或所述的步骤,但这些步骤不一定需要按照所示的或所述的顺序来执行。在此所述的和/或所示的各种示例性方法还可以省略在此所述的或所示的一个或多个步骤或包括除那些公开的步骤之外的附加步骤。
此外,虽然在此已经在全功能计算系统的上下文中描述和/或示出了各种实施例,但可以以各种形式将这些示例性实施例中的一个或多个作为程序产品来分发,而不管用来实际执行分发的计算机可读介质的特定类型如何。还可以使用执行某些任务的软件模块来实现在此所公开的实施例。这些软件模块可以包括可以存储在计算机可读存储介质上或计算系统中的脚本、程序组(batch)、或其它可执行文件。在某些实施例中,这些软件模块可以将计算系统配置为执行在此所公开的一个或多个示例性实施例。
已经提供了前述说明以使得本领域的技术人员能够最好地利用在此所述的示例性实施例的各种方面。本示例性说明并不意在是排他性的或局限于所公开的任何精确形式。在不脱离本公开的精神和范围的情况下可以进行许多修改和变更。期望的是从说明性而非限制性的全部方面来考虑本文所述的实施例,并对随附权利要求及其等价物进行参考以便确定本公开的范围。
除非另有说明,在本说明书和权利要求中不加数量词限定的项应被理解为意指“至少一个”项。另外,为了便于使用,本说明书和权利要求中使用的术语“包括”和“具有”可与词语“包含”互换使用并具有与之相同的意义。

Claims (20)

1.一种用于启用用于遗留应用的经群体测试的安全特征的计算机实现的方法,该方法包括:
识别群体中的客户端系统上的遗留应用;
识别用于所述遗留应用的安全特征启用规则;
通过执行所述安全特征启用规则来启用用于所述遗留应用的至少一个安全特征;
确定识别所述安全特征启用规则对遗留应用的健康的影响的健康影响信息;
将识别所述安全特征启用规则对所述遗留应用的健康的影响的所述健康影响信息转送到服务器,所述服务器基于从所述群体中的客户端系统接收的健康影响信息生成用于所述安全特征启用规则的移动平均健康影响分数。
2.根据权利要求1所述的方法,其中,识别所述安全特征启用规则包括从所述服务器接收所述安全特征启用规则。
3.根据权利要求1所述的方法,其中,确定识别所述安全特征启用规则对所述遗留应用的健康的影响的健康影响信息包括:
在执行所述安全特征启用规则之前执行第一健康评估;
在执行所述安全特征启用规则之后执行第二健康评估;
将所述第二健康评估与所述第一健康评估相比较以确定所述安全特征启用规则如何影响了所述遗留应用的健康。
4.根据权利要求1所述的方法,还包括在识别所述安全特征启用规则之前,识别来自用户的决定参加安全特征启用规则的初步测试的请求。
5.根据权利要求1所述的方法,还包括向所述服务器发送识别所述客户端系统上的每个遗留应用的列表。
6.根据权利要求1所述的方法,其中,所述安全特征启用规则包括安全特征启用规则的特定组合。
7.根据权利要求1所述的方法,还包括:
从所述服务器接收禁用用于所述遗留应用的安全特征启用规则的指令;
禁用用于所述遗留应用的所述安全特征启用规则。
8.根据权利要求1所述的方法,其中,执行所述安全特征启用规则包括:
识别所述遗留应用的启动;
检索用于所述遗留应用的安全配置;
按照所述安全特征启用规则所指定的,启用所述安全配置中的所述安全特征。
9.一种用于启用用于遗留应用的经群体测试的安全特征的计算机实现的方法,该方法包括:
识别群体中的多个客户端系统;
识别被指定为测试用于遗留应用的安全特征的所述多个客户端系统的子集;
向所述子集中的至少一个客户端系统发送安全特征启用规则;
从所述子集中的客户端系统接收健康影响信息,该健康影响信息识别所述安全特征启用规则对这些客户端系统上的遗留应用的健康的影响;
基于从所述群体中的客户端系统接收的健康影响信息生成用于所述安全特征启用规则的移动平均健康影响分数。
10.根据权利要求9所述的方法,还包括:
确定所述安全特征启用规则未负面地影响所述遗留应用的健康;
向所述多个客户端系统发起所述安全特征启用规则的阶段性推出。
11.根据权利要求10所述的方法,还包括:
从所述多个客户端系统内的至少一个附加的客户端系统接收用于所述安全特征启用规则的健康影响信息;
确定所述安全特征启用规则负面地影响了所述附加的客户端系统上的遗留应用的健康;
中止所述安全特征启用规则的阶段性推出。
12.根据权利要求10所述的方法,其中,发起所述阶段性推出包括以多个阶段递增地增加所述安全特征启用规则的分布,直至该分布涵盖所述多个客户端系统。
13.根据权利要求9所述的方法,其中,所述安全特征启用规则包括安全特征启用规则的特定组合。
14.根据权利要求9所述的方法,其中,所述健康影响信息包括:
性能指数,其包含至少一个性能度量的结果;
稳定性指数,其包含至少一个稳定性度量的结果。
15.一种用于启用用于遗留应用的经群体测试的安全特征的系统,包括:
用于识别群体中的客户端系统上的遗留应用的装置;
用于识别用于所述遗留应用的安全特征启用规则的装置;
用于通过执行所述安全特征启用规则来启用用于所述遗留应用的至少一个安全特征的装置;
用于确定识别所述安全特征启用规则对所述遗留应用的健康的影响的健康影响信息的装置;
用于将识别所述安全特征启用规则对所述遗留应用的健康的影响的健康影响信息转送到服务器的装置,所述服务器基于从所述群体中的客户端系统接收的健康影响信息生成用于所述安全特征启用规则的移动平均健康影响分数。
16.根据权利要求15所述的系统,还包括:
用于识别所述群体中的多个客户端系统的装置;
用于识别被指定为测试用于遗留应用的安全特征的所述多个客户端系统的子集的装置;
用于向所述子集中的至少一个客户端系统发送所述安全特征启用规则的装置;
用于从所述子集中的客户端系统接收健康影响信息的装置,该健康影响信息识别所述安全特征启用规则对所述客户端系统上的所述遗留应用的健康的影响;
用于基于所述健康影响信息来确定是否向所述多个客户端系统推出所述安全特征启用规则的装置。
17.根据权利要求16所述的系统,还包括:
用于确定所述安全特征启用规则未负面地影响所述遗留应用的健康的装置;
用于向所述多个客户端系统发起所述安全特征启用规则的阶段性推出的装置。
18.根据权利要求17所述的系统,还包括:
用于从所述多个客户端系统内的至少一个附加的客户端系统接收用于所述安全特征启用规则的健康影响信息的装置;
用于确定所述安全特征启用规则负面地影响了所述附加的客户端系统上的遗留应用的健康的装置;
用于中止所述安全特征启用规则的阶段性推出的装置。
19.根据权利要求17所述的系统,其中,所述阶段性推出包括以多个阶段递增地增加所述安全特征启用规则的分布,直至该分布涵盖所述多个客户端系统。
20.根据权利要求15所述的系统,其中,所述安全特征启用规则包括安全特征启用规则的特定组合。
CN200910253765.5A 2008-12-17 2009-12-17 用于启用用于遗留应用的经群体测试的安全特征的方法和系统 Active CN101794359B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/336,668 2008-12-17
US12/336,668 US8713687B2 (en) 2008-12-17 2008-12-17 Methods and systems for enabling community-tested security features for legacy applications

Publications (2)

Publication Number Publication Date
CN101794359A CN101794359A (zh) 2010-08-04
CN101794359B true CN101794359B (zh) 2014-12-17

Family

ID=42035556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910253765.5A Active CN101794359B (zh) 2008-12-17 2009-12-17 用于启用用于遗留应用的经群体测试的安全特征的方法和系统

Country Status (4)

Country Link
US (2) US8713687B2 (zh)
EP (1) EP2199942A3 (zh)
JP (1) JP5419673B2 (zh)
CN (1) CN101794359B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050229003A1 (en) 2004-04-09 2005-10-13 Miles Paschini System and method for distributing personal identification numbers over a computer network
US10205721B2 (en) 2002-12-10 2019-02-12 Ewi Holdings, Inc. System and method for distributing personal identification numbers over a computer network
US7131578B2 (en) 2003-05-28 2006-11-07 Ewi Holdings, Inc. System and method for electronic prepaid account replenishment
US7280644B2 (en) 2004-12-07 2007-10-09 Ewi Holdings, Inc. Transaction processing platform for faciliating electronic distribution of plural prepaid services
US11475436B2 (en) 2010-01-08 2022-10-18 Blackhawk Network, Inc. System and method for providing a security code
US11599873B2 (en) 2010-01-08 2023-03-07 Blackhawk Network, Inc. Systems and methods for proxy card and/or wallet redemption card transactions
US10296895B2 (en) 2010-01-08 2019-05-21 Blackhawk Network, Inc. System for processing, activating and redeeming value added prepaid cards
US8255902B1 (en) * 2008-03-17 2012-08-28 Symantec Corporation Systems and methods for determining and quantifying the impact of an application on the health of a system
CA2777656A1 (en) * 2009-10-16 2011-04-21 Core Technology Limited Maintaining data integrity across execution environments
US9852414B2 (en) 2010-01-08 2017-12-26 Blackhawk Network, Inc. System for processing, activating and redeeming value added prepaid cards
US10037526B2 (en) 2010-01-08 2018-07-31 Blackhawk Network, Inc. System for payment via electronic wallet
CA2802685C (en) * 2010-06-14 2019-09-03 Blackhawk Network, Inc. System and method for configuring risk tolerance in transaction cards
KR101903963B1 (ko) 2010-08-27 2018-10-05 블랙호크 네트워크, 아이엔씨. 저축 특징을 갖는 선불 카드
US11042870B2 (en) 2012-04-04 2021-06-22 Blackhawk Network, Inc. System and method for using intelligent codes to add a stored-value card to an electronic wallet
JP5982575B2 (ja) * 2012-08-29 2016-08-31 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 動的テイントに基づくセキュリティ・スキャン
US10970714B2 (en) 2012-11-20 2021-04-06 Blackhawk Network, Inc. System and method for using intelligent codes in conjunction with stored-value cards
US9852041B2 (en) 2013-09-27 2017-12-26 Microsoft Technology Licensing, Llc Systems and methods for categorizing exceptions and logs
US20150095892A1 (en) * 2013-09-27 2015-04-02 Linkedln Corporation Systems and methods for evaluating a change pertaining to a service or machine
EP3055973A4 (en) * 2013-10-11 2017-06-28 Ark Network Security Solutions, LLC Systems and methods for implementing modular computer system security solutions
US9703619B2 (en) * 2014-05-28 2017-07-11 International Business Machines Corporation Determining an availability score based on available resources of different resource types in a storage system to determine whether to perform a failure operation for the storage system
US9411698B2 (en) 2014-05-28 2016-08-09 International Business Machines Corporation Determining an availability score based on available resources of different resource types in a distributed computing environment of storage servers to determine whether to perform a failure operation for one of the storage servers
US9928386B1 (en) * 2015-06-08 2018-03-27 Amazon Technologies, Inc. Data protection system
US10055596B1 (en) * 2015-06-08 2018-08-21 Amazon Technologies, Inc. Data protection system
US9826262B2 (en) 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a shared progressive ABR download pipe
US9826261B2 (en) 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a dedicated bandwidth pipe
US11089123B2 (en) * 2018-05-15 2021-08-10 Microsoft Technology Licensing, Llc Service worker push violation enforcement
US11023217B2 (en) * 2018-11-09 2021-06-01 Dell Products L.P. Systems and methods for support of selective processor microcode updates
JP7258801B2 (ja) * 2020-03-10 2023-04-17 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11126731B1 (en) * 2021-03-30 2021-09-21 Malwarebytes Inc. Dynamic communication architecture for testing computer security application features
US20230401047A1 (en) * 2022-06-14 2023-12-14 Truist Bank Graphical user interface for reducing vulnerabilities associated with legacy software

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324647B1 (en) * 1999-08-31 2001-11-27 Michel K. Bowman-Amuah System, method and article of manufacture for security management in a development architecture framework

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167358A (en) * 1997-12-19 2000-12-26 Nowonder, Inc. System and method for remotely monitoring a plurality of computer-based systems
US6799277B2 (en) * 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
CA2375206A1 (en) * 2000-03-27 2001-10-04 Network Security Systems, Inc. Internet/network security method and system for checking security of a client from a remote facility
US6854069B2 (en) * 2000-05-02 2005-02-08 Sun Microsystems Inc. Method and system for achieving high availability in a networked computer system
US20020169738A1 (en) * 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
US20070113265A2 (en) * 2003-07-01 2007-05-17 Securityprofiling, Inc. Automated staged patch and policy management
US7228458B1 (en) * 2003-12-19 2007-06-05 Sun Microsystems, Inc. Storage device pre-qualification for clustered systems
US7490268B2 (en) * 2004-06-01 2009-02-10 The Trustees Of Columbia University In The City Of New York Methods and systems for repairing applications
US7765579B2 (en) * 2004-09-07 2010-07-27 Greencastle Technology, Inc. Security deployment system
US8359645B2 (en) * 2005-03-25 2013-01-22 Microsoft Corporation Dynamic protection of unpatched machines
US7574322B2 (en) * 2005-05-10 2009-08-11 Microsoft Corporation Automated client device management
CN101278260B (zh) * 2005-06-07 2012-07-18 威睿公司 使软件程序免于弱点和攻击的约束注入方法
JP2007058514A (ja) * 2005-08-24 2007-03-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
US9942271B2 (en) * 2005-12-29 2018-04-10 Nextlabs, Inc. Information management system with two or more interactive enforcement points
US20070240151A1 (en) * 2006-01-29 2007-10-11 Microsoft Corporation Enhanced computer target groups
JP2008217464A (ja) * 2007-03-05 2008-09-18 Oki Electric Ind Co Ltd 自動取引システム
US20080229149A1 (en) * 2007-03-14 2008-09-18 Clifford Penton Remote testing of computer devices
US20090199160A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Centralized system for analyzing software performance metrics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324647B1 (en) * 1999-08-31 2001-11-27 Michel K. Bowman-Amuah System, method and article of manufacture for security management in a development architecture framework

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Firefox Community Beta Program;Mozilla;《https://developer.mozilla.org/ devnews/index.php/2007/03/15/firefox-community-beta-program/》;20070315;1 *

Also Published As

Publication number Publication date
US8713687B2 (en) 2014-04-29
CN101794359A (zh) 2010-08-04
EP2199942A2 (en) 2010-06-23
US20100154027A1 (en) 2010-06-17
JP2010176658A (ja) 2010-08-12
US20140143828A1 (en) 2014-05-22
JP5419673B2 (ja) 2014-02-19
EP2199942A3 (en) 2010-09-01
US9332033B2 (en) 2016-05-03

Similar Documents

Publication Publication Date Title
CN101794359B (zh) 用于启用用于遗留应用的经群体测试的安全特征的方法和系统
RU2571726C2 (ru) Система и способ проверки целесообразности установки обновлений
US8694983B1 (en) Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system
CN112650576B (zh) 资源调度方法、装置、设备、存储介质及计算机程序产品
CN110442712B (zh) 风险的确定方法、装置、服务器和文本审理系统
US8627469B1 (en) Systems and methods for using acquisitional contexts to prevent false-positive malware classifications
US9444717B1 (en) Test generation service
CN109543891B (zh) 容量预测模型的建立方法、设备及计算机可读存储介质
US20150286478A1 (en) Application Version Release Management
CN102902621A (zh) 应用性能评价和报告
US9118520B1 (en) Systems and methods for monitoring application resource usage on mobile computing systems
US11093328B1 (en) Managing distributed system performance using accelerated data retrieval operations
US9069819B1 (en) Method and apparatus for reliable I/O performance anomaly detection in datacenter
US8806277B1 (en) Systems and methods for fetching troubleshooting data
CN105049290A (zh) 页面访问监测方法及装置
US9811447B2 (en) Generating a fingerprint representing a response of an application to a simulation of a fault of an external service
US8370800B2 (en) Determining application distribution based on application state tracking information
Anand et al. Modeling software fault removal and vulnerability detection and related patch release policy
US10235062B1 (en) Selection of computer resources to perform file operations in a power-efficient manner
CN104348905A (zh) 一种离线推送消息的方法及装置
CN110347546A (zh) 监控任务动态调整方法、装置、介质及电子设备
US10241882B2 (en) System and method for dynamic adjustment of logging
CN111598390B (zh) 服务器高可用性评估方法、装置、设备和可读存储介质
JP2019079120A (ja) 情報処理装置、情報処理方法、及びプログラム
US10649869B2 (en) Burn process data retrieval and notification

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200106

Address after: California, USA

Patentee after: CA,INC.

Address before: California, USA

Patentee before: Symantec Corporation

TR01 Transfer of patent right