一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通过选择性地并置主机计算机上的应用来减少攻击面的制作方法

2022-11-19 11:46:23 来源:中国专利 TAG:


1.本发明一般涉及网络和系统安全,尤其涉及通过在同一主机计算机上选择性地并置(collocate)具有相似的系统资源利用足迹的一组应用来减少主机计算机上的攻击面(attack surface)。


背景技术:

2.网络安全包括用于防止和监视对计算机网络和网络可访问资源的未授权访问、误用、修改或拒绝的策略和实践。网络安全包括对计算机网络及其资源的访问的授权。例如,在网络用户通过认证时,防火墙可以实施定义允许网络用户访问什么资源的规则和策略。
3.然而,攻击者(即,未授权用户)可能利用与目标主机计算机对应的一个或多个系统资源来绕过网络安全并执行攻击。这样的系统资源可以包括例如应用中的代码或共享资源(诸如库)或系统堆栈(诸如操作系统)。此外,攻击者可以利用可达网络资产(诸如应用编程接口端点和服务等)来执行横向移动攻击。攻击者还可以对包含特权用户帐户和/或应用的目标主机计算机执行特权提升攻击。特权提升攻击是一种网络入侵,其利用编程错误或设计缺陷来授予攻击者对网络及其资源的更高访问权(例如特权帐户和应用)。
4.目前,已经存在许多针对网络安全的方案。典型地,这些方案或者防止已知的攻击,或者识别恶意用户行为。此外,使用例如隔离和限制,当前的方案一次仅关注于一个主机计算机或一个应用。此外,现有控制流整体方案具有高的性能开销,并且不够精确以防止规避。此外,由于基地址泄漏,现有的地址空间布局随机化方案也可以被规避。此外,应用和库的缺陷扫描可能错过某些缺陷,并且不能防止面向返回的编程攻击。因此,需要增加网络和系统的安全性,以降低未授权用户访问和攻击的可能性。


技术实现要素:

5.根据本发明的一个方面,提供了一种用于通过在主机计算机上选择性地并置应用来减少攻击面的计算机实现的方法。测量由运行在数据处理环境的多个主机计算机中的每个应用所利用的系统资源。确定在多个主机计算机中运行的哪些应用使用相似的系统资源。利用相似的系统资源的那些应用被配置在相应的主机计算机上。根据其它说明性实施例,提供了一种用于通过选择性地在主机计算机上并置应用来减少攻击面的计算机系统和计算机程序产品。
6.示例性实施例还在数据处理环境中的多个主机计算机上执行引导(boot strap)操作,在多个主机计算机上放置应用,剖析在所述多个主机计算机上运行的应用以获得每一相应应用的系统资源利用足迹,基于对所述应用的剖析来识别具有相似的系统资源利用足迹的应用的多个不同集合,获得对应于所述多个主机计算机中的每个相应主机计算机的系统资源的列表,识别对应于每个相应主机计算机的系统资源的列表中的由正在运行的驻留应用正在使用的一组已使用的系统资源,通过从对应于每个相应主机计算机的系统资源的列表中减去所使用的系统资源的集合来确定对应于每个相应主机计算机的未使用的系
统资源的集合,基于在特定主机计算机上放置具有相似的系统资源利用足迹的特定应用集合以及移除与运行该特定的应用集合的该特定主机计算机对应的所确定的未使用系统资源集合,来确定每个相应主机计算机中的最大的攻击面减少量,将具有相似的系统资源利用足迹的每个相应的应用集合分配给具有所确定的最大的攻击面减少量的指定主机计算机,并将具有相似的系统资源利用足迹的每个相应的应用集合放置在数据处理环境中的为其分配的主机计算机上。
7.作为结果,说明性实施例通过基于应用攻击面测量的应用并置提高了数据处理环境的整体安全性和信任,这降低了成功攻击的可能性。此外,说明性实施例降低了数据处理环境被恶意行动者访问的敏感性。因此,说明性实施例提供了克服与提供环境级别的安全性有关的技术问题的技术方案。因此,这一种或多种技术方案在网络和系统安全领域提供了技术效果和实际应用。
附图说明
8.图1是其中可以实现说明性实施例的数据处理系统的网络的图形表示;
9.图2是其中可以实现说明性实施例的数据处理系统的图;
10.图3是示出了其中可以实现示例性实施例的云计算环境的图;
11.图4是示出根据说明性实施例的云计算环境的抽象层的示例的图;
12.图5是示出根据示例性实施例的系统架构的示例的图;
13.图6是示出根据示例性实施例的应用并置和攻击面减少过程的示例的图;
14.图7是示出根据示例性实施例的在不同应用部署模型中的共享攻击面资源的示例的图;
15.图8是示出根据示例性实施例的在系统引导期间的应用放置的过程的流程图;
16.图9是示出根据示例性实施例的在系统运行时期间的应用放置的过程的流程图;
17.图10是示出根据示例性实施例的用于在运行时(runtime)期间减少主机计算机攻击面的过程的流程图;以及
18.图11是示出根据示例性实施例的通过选择性地并置主机计算机上的应用来减少攻击面的过程的流程图。
具体实施方式
19.本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
20.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可
读存储介质不应被解释为暂时性信号(诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号)本身。
21.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如互联网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
22.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c 等)和过程编程语言(例如“c”编程语言或相似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
23.在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
24.这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
25.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
26.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图
图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
27.现在参考附图,并且特别地,参考图1-5,提供了可以实现说明性实施例的数据处理环境的图。应当理解,图1-5仅意味着示例,而不是要断言或暗示关于其中可以实现不同实施例的环境的任何限制。可以对所描述的环境进行许多修改。
28.图1描述了其中可以实现说明性实施例的数据处理环境的图形表示。数据处理环境100包括其中可以实现说明性实施例的计算机网络和其它设备。数据处理环境100可以表示例如数据中心中的计算机集群或云环境中的多个计算机节点。
29.数据处理环境100包含网络102,其是用于在数据处理环境100内连接在一起的计算机和其它设备之间提供通信链路的介质。网络102可以包括连接,例如有线通信链路、无线通信链路、光缆等。
30.在所描述的例子中,服务器104和服务器106连同存储装置108一起连接到网络102。服务器104和服务器106可以是例如具有到网络102的高速连接的服务器计算机。此外,应当注意,服务器104和服务器106可以各自表示一组一个或多个服务器计算机。
31.此外,服务器104和服务器106可以向注册的客户端主机计算机提供攻击面减少服务。例如,服务器104和服务器106可以通过将具有相似的系统资源利用足迹的一组应用选择性地并置在同一客户端主机计算机上并从这些客户端主机计算机中移除未使用的系统资源来减少客户端主机计算机上的攻击面。共置包括从第一客户端主机计算机移除应用并在第二客户端主机计算机上安装应用。系统资源是运行时环境,其包括共享的主机计算机资源(例如处理器、存储器、存储设备、库、内核系统调用标识符、内核子系统、管理程序等)以及共享的网络资源(例如网络服务、网络流量目的地(例如,互联网协议地址和端口号)、具有提高的访问权限的敏感网络用户帐户、具有提高的访问权限的敏感网络应用等)。
32.主机计算机110、主机计算机112和主机计算机114也连接到网络102。主机计算机110、112和114是服务器104和服务器106的经注册的客户端。在该示例中,主机计算机110、112和114是托管多个不同应用的网络计算机。然而,应当注意,主机计算机110、112和114可以表示具有到网络102的有线或无线通信链路的其它类型的数据处理系统,诸如例如台式计算机、膝上型计算机、手持式计算机、智能电话、智能手表、智能电视、智能电器、游戏设备、信息亭等。
33.存储装置108是能够以结构化格式或非结构化格式存储任何类型的数据的网络存储设备。另外,存储装置108可以表示多个网络存储设备。此外,存储装置108可以存储多个主机计算机的标识符和网络地址、与每个主机计算机对应的系统资源的列表、加载在主机计算机上的应用的列表、与加载在主机计算机上的每个应用对应的系统资源利用度量等。此外,存储装置108可以存储其他类型的数据,诸如认证或凭证数据,其可以包括例如与系统管理员和用户相关联的用户名、密码和生物测定数据。
34.此外,应当注意,数据处理环境100可以包括任何数量的附加服务器计算机、主机计算机、存储设备和未示出的其它设备。位于数据处理环境100中的程序代码可以存储在计算机可读存储介质上,并下载到计算机或其它数据处理设备以供使用。例如,程序代码可以存储在服务器104上的计算机可读存储介质上,并且通过网络102下载到主机计算机110以便在主机计算机110上使用。
35.在所描述的示例中,数据处理环境100可以被实现为许多不同类型的通信网络,例如互联网、内联网、局域网(lan)、广域网(wan)、电信网络或其任意组合。图1仅旨在作为示例,而不是作为对不同说明性实施例的架构限制。
36.现在参考图2,根据说明性实施例描绘了数据处理系统的图。数据处理系统200是诸如图1中的服务器104的服务器计算机的示例,实现说明性实施例的过程的计算机可读程序代码或指令可以位于其中。在该示例中,数据处理系统200包括通信结构202,其提供处理器单元204、存储器206、持久存储装置208、通信单元210、输入/输出(i/o)单元212和显示器214之间的通信。
37.处理器单元204用于执行可加载到存储器206中的软件应用和程序的指令。处理器单元204可以是一个或多个硬件处理器设备的集合,或者可以是多核处理器,这取决于特定的实现。
38.存储器206和持久存储装置208是存储设备216的示例。计算机可读存储设备是能够存储信息的任何硬件,所述信息例如但不限于数据、功能形式的计算机可读程序代码和/或基于瞬时或持久的其他合适的信息。此外,计算机可读存储设备不包括传播介质。在这些示例中,存储器206可以是例如随机存取存储器(ram),或任何其他合适的易失性或非易失性存储设备,诸如闪存。取决于特定的实现,持久存储器208可以采取各种形式。例如,持久存储器208可以包含一个或多个设备。例如,持久存储装置208可以是盘驱动器、固态驱动器、可重写光盘、可重写磁带或上述的一些组合。持久存储装置208使用的介质可以是可移除的。例如,可移动硬盘驱动器可以用于持久存储装置208。
39.在该示例中,持久性存储装置208存储攻击面减少管理器218。然而,应当注意,即使攻击面减少管理器218被示为驻留在持久存储设备208中,在替换的说明性实施例中,攻击面减少管理器218可以是数据处理系统200的单独组件。例如,攻击面减少管理器218可以是耦合到通信结构202的硬件组件或硬件和软件组件的组合。在另一备选说明性实施例中,攻击面减少管理器218的第一组组件可以位于数据处理系统200中,而攻击面减少管理器218的第二组组件可以位于第二数据处理系统中,例如图1中的服务器106。
40.攻击面减少管理器218通过在同一主机计算机上选择性地并置具有相似的系统资源利用足迹的应用并移除与主机计算机222对应的任何未使用的系统资源,来控制减少数据处理环境220中的主机计算机222上的攻击面的过程。主机计算机222表示包括在数据处理环境220中的多个主机计算机的标识符,并且可以是例如图1中的主机计算机110、112和114,数据处理环境220表示特定数据处理环境的标识符,例如图1中的数据处理环境110。
41.主机计算机222包括系统资源224和应用226。系统资源包括为应用226提供运行时环境的主机计算机资源和网络资源。应用226表示在主机计算机222上正在运行的驻留应用。应用226还可以表示任何类型的应用,例如银行应用、金融应用、教育应用、政府应用、保健应用、组织应用、企业应用等,其可以由主机计算机222托管。
42.系统资源利用度量228对应于应用226中的每个相应应用。系统资源利用度量228表示关于特定应用所利用的系统资源的类型和数量的信息和测量。攻击面减少管理器218从位于每个主机计算机222上的软件代理获得系统资源利用度量228。攻击面减少管理器218利用系统资源利用度量228来确定应用226中的每个相应应用的系统资源利用足迹。
43.攻击面减少管理器218将具有相似的系统资源利用足迹234的应用的集合232并置
在主机计算机230上。并置是将应用一起放置或安排在同一主机计算机上的动作。应用集合232表示应用226中具有相同或相似的资源利用度量模式、特性或行为(即,足迹)的特定一组应用。攻击面减少管理器218可以利用例如一既定范围的资源利用度量相似性来确定应用集合232中的每个应用是否具有可比较的资源利用度量从而一起并置在同一主机计算机(诸如主机计算机230)上。换句话说,应用232中的每个应用需要在既定范围的资源利用度量相似性内具有相似的、可比或类似的资源利用度量,以被包括在应用集合232中。因此,攻击面减少管理器218将不会将具有在既定范围的资源利用度量相似性之外的资源利用度量的应用包括在应用集合232内。主机计算机230表示主机计算机222中的指定主机计算机,攻击面减少管理器218基于在将应用集合232放置在主机计算机230上之后此特定主机计算机具有所确定的最大攻击面减少(即,最大数量的未使用的系统资源被移除)而将应用集合232分配给该指定主机计算机以用于托管。
44.攻击面减少管理器218还基于具有所确定的最大攻击面减少的其他主机计算机,在主机计算机222中的这些主机计算机上并置具有相似的系统资源利用足迹的其他不同应用集合。在将具有相似的系统资源足迹的所有不同应用集合并置在不同主机计算机上之后,攻击面减少管理器218从主机计算机222中的每个主机计算机移除未使用的系统资源236,以实现数据处理环境220范围的攻击面减少,从而增加数据处理环境220的安全性。
45.在这个例子中,通信单元210通过网络(例如图1中的网络102)提供与其它计算机、数据处理系统和设备的通信。通信单元210可以通过使用物理和无线通信链路二者来提供通信。物理通信链路可以利用例如导线、线缆、通用串行总线或任何其它物理技术来建立用于数据处理系统200的物理通信链路。无线通信链路可以利用例如短波、高频、超高频、微波、无线保真(wi-fi)、技术、全球移动通信系统(gsm)、码分多址(cdma)、第二代(2g)、第三代(3g)、第四代(4g)、4g长期演进(lte)、高级lte、第五代(5g)或任何其它无线通信技术或标准来建立用于数据处理系统200的无线通信链路。
46.输入/输出单元212允许与可以连接到数据处理系统200的其它设备输入和输出数据。例如,输入/输出单元212可以提供用于通过小键盘、鼠标、麦克风和/或一些其它合适的输入设备的用户输入的连接。显示器214提供向用户显示信息的机制,并且可以包括触摸屏能力,以允许用户通过例如用户接口进行屏幕上的选择或输入数据。
47.用于操作系统、应用和/或程序的指令可以位于存储设备216中,其通过通信结构202与处理器单元204通信。在该说明性示例中,指令以功能形式位于持久存储装置208上。这些指令可以被加载到存储器206中以便由处理器单元204运行。不同实施例的过程可以由处理器单元204使用计算机实现的指令来执行,所述指令可以位于诸如存储器206的存储器中。这些程序指令被称为程序代码、计算机可用程序代码或计算机可读程序代码,其可以由处理器单元204中的处理器读取和运行。在不同的实施例中,程序指令可以被包含在不同的物理计算机可读存储设备上,例如存储器206或持久存储设备208。
48.程序代码238以功能形式位于计算机可读介质240(该计算机可读介质是选择性地可移除的)上并且可以被加载到或传送到数据处理系统200以便由处理器单元204运行。程序代码238和计算机可读介质240形成计算机程序产品242。在一个示例中,计算机可读介质240可以是计算机可读存储介质244或计算机可读信号介质246。
49.在这些说明性示例中,计算机可读存储介质244是用于存储程序代码238的物理或
有形存储设备,而不是传播或传送程序代码238的介质。计算机可读存储介质244可以包括例如光盘或磁盘,其被插入或放置到作为持久性存储装置208的一部分的驱动器或其他设备中,以便传送到作为持久性存储装置208的一部分的诸如硬盘驱动器的存储设备上。计算机可读存储介质244还可以采取持久存储装置的形式,例如连接到数据处理系统200的硬盘驱动器、拇指驱动器或闪存。
50.替代地,程序代码238可以使用计算机可读信号介质246被传送到数据处理系统200。计算机可读信号介质246可以是例如包含程序代码238的传播数据信号。例如,计算机可读信号介质246可以是电磁信号、光信号或任何其他合适类型的信号。这些信号可以通过通信链路传输,例如无线通信链路、光纤线缆、同轴线缆、电线或任何其他合适类型的通信链路。
51.此外,如本文所使用的,“计算机可读介质240”可以是单数或复数。例如,程序代码238可以位于单个存储设备或系统形式的计算机可读介质240中。在另一个例子中,程序代码238可以位于分布在多个数据处理系统中的计算机可读介质240中。换句话说,程序代码238中的一些指令可以位于一个数据处理系统中,而程序代码238中的其它指令可以位于一个或多个其它数据处理系统中。例如,程序代码238的一部分可位于服务器计算机中的计算机可读介质240中,而程序代码238的另一部分可位于一组客户端计算机中的计算机可读介质240中。
52.为数据处理系统200示出的不同组件不意味着对可以实现不同实施例的方式提供结构性限制。在一些说明性示例中,一个或多个部件可以结合在另一部件中或以其它方式形成另一部件的一部分。例如,在一些说明性示例中,存储器206或其部分可以被并入处理器单元204中。不同的说明性实施例可以在包括除了或代替为数据处理系统200示出的那些组件的数据处理系统中实现。图2中所示的其它组件可以与所示的说明性示例不同。可以使用能够运行程序代码238的任何硬件设备或系统来实现不同的实施例。
53.在另一示例中,总线系统可以用于实现通信结构202,并且可以包括一个或多个总线,诸如系统总线或输入/输出总线。当然,总线系统可以使用任何合适类型的架构来实现,该架构提供在附接到总线系统的不同组件或设备之间的数据传输。
54.应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,说明性实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。云计算是一种服务递送模型,用于实现对可配置计算资源的共享池的方便的按需网络访问,所述可配置计算资源诸如例如是网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务,其可以利用最小的管理努力或与服务的提供商的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
55.所述特性可以包括例如按需自助服务、广泛的网络访问、资源池化、快速弹性和测量的服务。按需自助服务允许云消费者单方面地自动按需提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供商的人类交互。广泛的网络访问提供了在网络上可用并且通过标准机制访问的能力,所述标准机制促进了由诸如移动电话、膝上型计算机和个人数字助理等异构的薄或厚客户端平台的使用。资源池化允许将提供商的计算资源池化以使用多租户模型来服务于多个消费者,其中根据需求来动态地指派和重新指派不同的物理
和虚拟资源。位置无关性是有意义的,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在更高抽象级指定位置,例如国家、州或数据中心。快速弹性提供了可以快速和弹性地进行供应的能力,在一些情况下自动地快速向外扩展以及快速释放以快速向内收缩。对于消费者,可用于供应的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。测量服务允许云系统通过在适合于服务类型的某一抽象级别上利用计量能力来自动控制和优化资源使用,所述服务类型诸如是存储、处理、带宽和活动用户帐户。可以监视、控制和报告资源使用,从而为所利用的服务的提供商和消费者两者提供透明度。
56.服务模型可以包括例如软件即服务(saas)、平台即服务(paas)和基础设施即服务(iaas)。软件即服务是提供给消费者的使用在云基础设施上运行的提供商的应用的能力。应用可通过瘦客户端接口,诸如web浏览器(例如,基于web的电子邮件)从各种客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。平台即服务是提供给消费者的能力,以将消费者创建或获得的应用部署到云基础设施上,该消费者创建或获得的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对所部署的应用和可能的应用托管环境配置的控制。基础设施即服务是提供给消费者的能力,以供应消费者能够部署和运行任意软件的处理、存储、网络和其它基本计算资源,所述任意软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、所部署的应用的控制,以及可能对诸如主机防火墙等选定的联网组件的有限控制。
57.部署模型可以包括例如私有云、社区云、公共云和混合云。私有云是仅为组织操作的云基础设施。私有云可以由组织或第三方管理,并且可以存在于场所内或场所外。社区云是由若干组织共享的云基础设施,并且支持具有共享关注点的特定社区,所述关注点例如是任务、安全要求、策略和合规性考虑。社区云可以由组织或第三方管理,并且可以存在于场所内或场所外。公共云是可用于一般公众或大型工业群体的云基础设施,并且由销售云服务的组织拥有。混合云是由两个或更多云(诸如例如私有云、社区云和公共云)组成的云基础设施,这些云保持为独特实体,但是通过标准化或私有技术绑定在一起,该标准化或私有技术实现数据和应用可移植性,诸如例如用于云之间的负载平衡的云突发。
58.云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。位于云计算的核心的是包括互连节点的网络在内的基础设施。
59.现在参考图3,描绘了示出其中可以实现说明性实施例的云计算环境的图。在该说明性示例中,云计算环境300包括一个或多个云计算节点310的集合(云消费者使用的本地计算设备可以与其通信),所述本地计算设备诸如例如是个人数字助理或智能电话320a、台式计算机320b、膝上型计算机320c和/或汽车计算机系统320n。云计算节点310可以是例如图1中的服务器104和服务器106,本地计算设备320a-320n可以是例如图1中的主机计算机110-114。
60.云计算节点310可以彼此通信,并且可以物理地或虚拟地分组到一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境300提供基础设施、平台和/或软件作为服务,对于这些服务,云消费者不需要在诸如本地计算设备320a-320n的本地计算设备上维护资源。应当理解,本地计算设备320a-320n的类型仅旨
在说明,并且云计算节点310和云计算环境300可以例如使用web浏览器通过任何类型的网络和/或网络可寻址连接而与任何类型的计算机化设备通信。
61.现在参考图4,根据说明性实施例描绘了说明抽象模型层的图。在该说明性示例中示出的功能抽象层的集合可以由云计算环境提供,诸如图3中的云计算环境300。应当预先理解,图4中示出的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描述的,提供了下面的层和相应的功能。
62.云计算环境400的抽象层包括硬件和软件层402、虚拟化层404、管理层406和工作负载层408。硬件和软件层402包括云计算环境的硬件和软件组件。硬件组件可以包括例如大型机410、基于risc(精简指令集计算机)架构的服务器412、服务器414、刀片服务器416、存储设备418以及网络和联网组件420。在一些说明性实施例中,软件组件可以包括例如网络应用服务器软件422和数据库软件424。
63.虚拟化层404提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器426;虚拟存储装置428;虚拟网络430,包括虚拟专用网络;虚拟应用和操作系统432;以及虚拟客户端434。
64.在一个示例中,管理层406可以提供以下描述的功能。资源供应436提供了计算资源和其他资源的动态采购,这些资源被用于执行云计算环境内的任务。计量和定价438在云计算环境内资源被利用时提供成本跟踪,以及针对这些资源的消耗的计费或收费。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户440为消费者和系统管理员提供对云计算环境的访问。服务级别管理442提供云计算资源分配和管理,使得满足所需的服务级别。服务级别协议(sla)规划和履行444根据sla为预期未来需求的云计算资源提供预先安排和采购。
65.工作负载层408提供了可以利用云计算环境的功能的示例。可以由工作负载层408提供的示例工作负载和功能可以包括地图和导航446、软件开发和生命周期管理448、虚拟教室教育递送450、数据分析处理452、交易处理454和攻击面减少管理456。
66.说明性实施例通过减少与集群或云环境中的每个主机计算机对应的可用系统资源的数量来降低攻击者访问网络资源的能力。说明性实施例通过测量每个主机计算机上的应用系统资源利用足迹来减少每个主机计算机上的总体攻击面。例如,对于跨主机计算机集群的每个应用,说明性实施例测量主机计算机集群中的每个相应应用的主机计算机和网络资源利用足迹。说明性实施例然后对具有相似的系统资源足迹的那些应用进行标识、分组以及将它们并置在集群中的同一主机计算机上。换句话说,集群中的每个主机计算机托管具有相似的系统资源利用度量的一不同应用集合。在集群中的所有主机计算机上,说明性实施例去除或移除所有未使用的资源,以实现集群范围的攻击面减少。系统资源可以包括例如共享网络服务、共享网络业务目的地(例如,互联网协议地址、端口号等)、共享库、共享系统堆栈、共享内核系统调用、共享内核子系统、共享网络资源、具有提升的访问权限的共享敏感用户账户或组、具有提升的访问权限的共享敏感应用等。
67.应用的并置允许说明性实施例将主机计算机加载为仅带有具有相同或相似的系统资源利用度量(即,足迹)的那些应用,从而允许说明性实施例移除主机计算机上未使用的系统资源并减少该主机计算机的攻击面。说明性实施例跨整个集群或云环境中的所有主机计算机来测量应用系统资源利用度量模式、特性和行为,以基于所获得的攻击面度量做
出将改进集群或云环境的整体安全性的应用并置决定。说明性实施例可以利用既定的系统资源利用度量范围来确定相似性。换言之,说明性实施例通过将具有相同或相似的系统资源利用度量(即,在资源利用度量相似性的既定范围内对主机计算机资源和网络资源具有相同或相似的利用)的应用并置,并基于攻击面相似性移除与主机计算机对应的未使用的系统资源,来执行主机计算机攻击面范围减少。因此,说明性实施例利用将应用调度和放置在不同主机计算机上来减少集群或云环境中的每个主机计算机上的攻击面的量。
68.作为结果,说明性实施例通过基于应用攻击面测量的应用并置而提高了集群或云环境的整体安全性和信任,这降低了成功攻击的可能性。此外,说明性实施例降低了集群或云环境被恶意行动者访问的敏感性。
69.因此,说明性实施例提供了克服了与递送环境范围的安全性有关的技术问题(即,减少主机计算机上的集群范围或云范围的攻击面)的一个或多个技术方案。因此,这一种或多种技术方案在网络和系统安全领域提供了技术效果和实际应用。
70.现在参考图5,根据说明性实施例描绘了图示系统架构系统的示例的图。系统架构500可以在诸如图1中的数据处理环境100的数据处理环境中实现,或者在诸如图3中的云计算环境300的云计算环境中实现。系统架构500是用于通过在同一主机计算机上选择性地并置具有相似的系统资源利用足迹的一组应用并从主机计算机移除未使用的系统资源来减少主机计算机上的攻击面的硬件和软件组件的系统。
71.在该示例中,系统架构500包括服务器502、主机计算机504、主机计算机506、主机计算机508和主机计算机510。然而,应当注意,系统架构500仅旨在作为示例,而不是作为对说明性实施例的限制。换句话说,系统架构500可以包括任何数量的服务器、主机计算机和未示出的其他设备和组件。
72.服务器502可以是例如图1中的服务器104、图2中的数据处理系统200或图3中的云计算节点310中的云计算节点,主机计算机504、506、508和510可以是例如图1中的主机计算机110-114或图3中的本地计算设备320a-320n。
73.在该示例中,服务器502包括攻击面减少管理器512,其在操作系统内核514上运行。主机计算机504包括在操作系统内核518上运行的代理516。主机计算机506包括代理520,其在操作系统内核522上运行。主机计算机508包括在操作系统内核526上运行的代理524。主机计算机510包括在操作系统内核530上运行的代理528。
74.服务器502利用攻击面减少管理器512来分别从位于主机计算机504、506、508和510上的代理516、520、524和528获得主机计算机和应用度量。攻击面减少管理器512利用从代理516、520、524和528获得的主机计算机和应用度量信息来为主机计算机504、506、508和510做出应用并置和主机计算机攻击面减少(即,未使用的系统资源移除)决策。相应主机计算机中的代理负责监视和收集其主机计算机的主机计算机和应用度量。然而,应当注意,相应的代理还可以基于从攻击面减少管理器512接收的指令来处理其对应的主机计算机上的应用迁移和攻击面减少。
75.攻击面减少管理器512执行应用并置以减少主机计算机504、506、508和510中的每一个上的攻击面。并置是将特定的一组应用一起放置或安排在一个特定的主机计算机中的动作。对应于主机计算机的攻击面是不同点(例如,“攻击向量”)的总和,未经授权的用户(即,“攻击者”)在这些不同点处可能尝试获得对位于主机计算机上或由主机计算机控制的
资源(例如,应用、数据等)的访问。攻击向量的示例可以包括例如用户输入字段、协议、应用编程接口和服务。
76.攻击面减少管理器512可以利用贪婪并置算法,诸如,例如:
77.a是要分配给集群或云环境中的多个主机计算机h的多个应用;
78.对于多个主机计算机h中的每个主机计算机h:
79.l=主机计算机h中的可用应用插槽的数量,
80.c=多个应用a中具有长度l的应用组合的集合;
81.对于应用组合的集合c中的每个应用集合c:
82.如果应用集合c所使用的资源组合主机计算机h的资源,则未使用的资源的集合sc=资源(h)-rc;
83.将应用集合c分配给如下主机计算机h,其中该主机计算机h的未使用资源的集合sc是最大的。
84.全局最大化:
85.对多个主机h的所有排列进行上述计算;
86.选择如下应用并置指派,在该应用并置指派下,所述多个主机计算机h中的所有未使用的资源的集合sc的总和是最大的。
87.全局最大化着眼于使集群或云环境中的所有主机计算机上的未使用的资源的减少最大化。因此,该全局最大化算法示出了说明性实施例如何识别和分析所有可能的应用和主机计算机组合以找到将是全局最优的一个应用并置配置。
88.在新集群或云环境(即,主机计算机504、506、508和510)的引导期间,攻击面减少管理器512将应用部署到主机计算机504、506、508和510。攻击面减少管理器512然后对应用进行剖析以获得在主机计算机504、506、508和510中运行的每个相应应用的系统资源利用足迹。攻击面减少管理器512然后识别在新集群或云环境中运行的具有相似的系统资源利用足迹的每个应用集合并将其分组。之后,攻击面减少管理器512将具有相似的系统资源利用足迹的一组应用配置在相同的主机计算机上,例如主机计算机504。类似地,攻击面减少管理器512将具有相似的系统资源利用足迹的其他应用集合并置在其他主机计算机上,例如主机计算机506、508和510。应用迁移的示例可以包括攻击面减少管理器512利用用于对应用、虚拟机、容器等进行迁移的现有技术。
89.然后,攻击面减少管理器512通过减少每个相应主机计算机上的未使用的系统资源(例如共享库和内核系统调用)的数量,来减少与每个主机计算机504、506、508和510对应的攻击面。主机计算机攻击面减少的其他示例可以包括:攻击面减少管理器512移除未使用的用户级库;攻击面减少管理器512下载新的具有减少的攻击面的操作系统或操作系统内核,并发起主机重启以将操作系统或操作系统内核的当前版本与新版本交换,或执行透明的操作系统或操作系统内核更新;攻击面减少管理器512更新防火墙规则以将网络服务或活动限制到某些互联网协议地址和端口号;等等。
90.在集群或云环境运行时期间,攻击面减少管理器512初始地将新应用放置在服务器502中。然后,攻击面减少管理器512剖析新应用以获得新应用的系统资源利用足迹。此外,攻击面减少管理器512获得在所有主机计算机504、506、508和510上运行的应用的系统资源利用模式、特性或行为。此外,攻击面减少管理器512基于在所选择的主机计算机上运
行的应用的所获得的系统资源利用模式来选择最佳匹配的主机计算机(例如,主机计算机506)以放置新应用,所述系统资源利用模式匹配新应用的系统资源利用模式。然后,攻击面减少管理器512将新应用放置在具有相似的系统资源利用足迹的应用的所选主机计算机上。
91.现在参考图6,根据说明性实施例描绘了图示应用并置和攻击面减少过程的示例的图。应用并置和攻击面减少过程600可以在系统架构500中实现,并且由图5中的攻击面减少管理器512控制。
92.应用并置和攻击面减少过程600包括应用并置和攻击面减少之前的阶段602以及应用并置和攻击面减少之后的阶段604。在该示例中,应用并置和攻击面减少之前的阶段602以及应用并置和攻击面减少之后的阶段604包括主机计算机a 606和主机计算机b 608。然而,应当注意,应用并置和攻击面减少过程600仅旨在作为示例,而不是对说明性实施例的限制。换句话说,应用并置和攻击面减少过程600可以包括任意数量的主机计算机。
93.在应用并置和攻击面减少之前的阶段602中,主机计算机a 606和主机计算机b 608处于应用并置和攻击面减少之前的状态。例如,主机计算机a 606包括应用1 610和应用2 612。应用1 610利用库1 614和库2 616。此外,应用1 610利用内核系统调用a-k中的内核系统调用a 618、内核系统调用b 620和内核系统调用c 622。应用2利用库3 624和库4 626。应用2 612还利用内核系统调用a-k中的内核系统调用i 628、内核系统调用j 630和内核系统调用k632.类似地,主机计算机b 608包括应用3 634和应用4 636。应用3 634利用库2 616和库5 640。此外,应用3 634利用内核系统调用a-k中的内核系统调用b 620、内核系统调用c 622和内核系统调用d 646。应用4 636利用库4 626和库6 650。应用4 636还利用内核系统调用a-k中的内核系统调用h 652、内核系统调用i 628和内核系统调用j 630。
94.应当注意,在应用并置和攻击面减少之前的阶段602中,应用1 610和应用3 634具有相似的系统资源利用。例如,应用1 610和应用3 634都利用库2 616,以及内核系统调用b 620和内核系统调用c 622。类似地,应用2 612和应用4 636具有相似的系统资源利用。例如,应用2 612和应用4 636都利用库4 626,以及内核系统调用i 628和内核系统调用j 630。
95.在654,攻击面减少管理器并置应用并减少主机计算机a 606和主机计算机b 608上的攻击面。结果,在应用并置和攻击面减少之后的阶段604中,基于相似的应用系统资源利用模式,主机计算机a 606包括应用1 610和应用3 634,而主机计算机b 608包括应用2 612和应用4 636。例如,应用1 610继续利用主机计算机a 606中的库1 614和库2 616,与应用并置和攻击面减少之前的阶段602中相同,但是现在应用3 634与应用1 610共享库2 616,并且利用攻击面减少管理器连同应用3 634一起从主机计算机b 608迁移到主机计算机a 606的库5 640。此外,应当注意,攻击面减少管理器从主机计算机a 606移除了库3 624和库4 626(即,未使用的系统资源)以减少主机计算机a 606上的攻击面,并将库3 624和库4 626迁移到主机计算机b 608。此外,应用1 610继续利用内核系统调用a 618、内核系统调用b 620和内核系统调用c 622,与应用并置和攻击面减少之前的阶段602中相同,但是现在应用3 634与应用1 610共享内核系统调用b 620和内核系统调用c 622,并且还利用内核系统调用d 646。此外,应当注意,攻击面减少管理器移除了内核系统调用e-k(即,未使用的系统资源)以进一步减少主机计算机a 606上的攻击面。
96.同样,在应用并置和攻击面减少之后的阶段604中,应用2 612继续利用攻击面减少管理器连同应用2 612一起从主机计算机a 606迁移到主机计算机b 608的库3 624和库4 626,并且现在应用4 636与应用2 612共享库4 626并利用库6650。此外,应当注意,攻击面减少管理器从主机计算机b 608移除了库2 616和库5 640(即,未使用的系统资源)以减少主机计算机b 608上的攻击面,并将库5 640迁移到主机计算机a 606。此外,应用4 636继续利用内核系统调用h 652、内核系统调用i 628和内核系统调用j 630,与应用并置和攻击面减少之前的阶段602中相同,但是现在应用2 612与应用4 636共享内核系统调用i 628和内核系统调用j 630,并且还利用内核系统调用g 656。此外,应当注意,攻击面减少管理器移除了内核系统调用a-f和k(即,未使用的系统资源)以进一步减少对主机计算机b 608的攻击面。
97.现在参考图7,根据说明性实施例描绘了图示在不同应用部署模型下的共享攻击面资源的示例的图。在该示例中,不同应用部署模型下的共享攻击面资源700包括主机计算机702、主机计算机704和主机计算机706。然而,应当注意,不同应用部署模型中的共享攻击面资源700可以包括具有任何类型的应用部署模型的任何数量的主机计算机。
98.主机计算机702包括在管理程序710上运行的虚拟机708。管理程序710是该模型中的共享攻击面资源。攻击面减少管理器(例如图5中的攻击面减少管理器512)可以重新编译管理程序710以减少管理程序710的攻击面。
99.主机计算机704包括应用712和应用714,它们在操作系统内核716上运行并利用共享库718和运行时支持720。操作系统内核716、共享库718和运行时支持720是该模型中的共享攻击面资源。攻击面减少管理器可以下载并安装对操作系统内核716的更新,这减少了操作系统内核716的攻击面。此外,攻击面减少管理器可以移除共享库718中的未使用的库以及运行时支持720中的未使用的运行时支持(例如未使用的内核系统调用),以进一步减少主机计算机704中的攻击面。
100.主机计算机706包括容器722,其在操作系统内核724上运行并利用运行时支持726。操作系统内核724和运行时支持726是该模型中的共享攻击面资源。攻击面减少管理器可以重新启动并安装新版本的操作系统内核724,其具有减少的攻击面。此外,攻击面减少管理器可以移除运行时支持726中未使用的运行时支持,以进一步减少主机计算机704中的攻击面。
101.网络服务728也是与主机计算机702、主机计算机704和主机计算机706对应的共享攻击面资源。攻击面减少管理器可以更新防火墙规则以将网络流量限制为仅针对某些互联网协议地址和端口号。攻击面减少管理器还可以移除未使用的互联网协议地址和端口号以减少攻击面。
102.现在参考图8,根据说明性实施例示出了图示用于在系统引导期间放置应用的过程的流程图。图8中所示的过程可以在服务器计算机中实现,例如图1中的服务器104或图2中的数据处理系统200、图3中的云计算环境300的云计算节点310中的云计算节点、或图5中的服务器502。
103.当服务器计算机接收到用于在包括于数据处理环境中的多个主机计算机上执行引导操作的输入(步骤802)时,该过程开始。数据处理环境可以是例如主机计算机的集群或由多个主机计算机组成的云环境。响应于在步骤802中接收到用于执行引导操作的输入,服
务器在多个主机计算机上执行引导操作(步骤804)。
104.服务器将应用放置在多个主机计算机上(步骤806)。服务器对在多个主机计算机上运行的应用进行剖析以获得每个相应应用的系统资源利用足迹(步骤808)。服务器可以从位于每个相应主机计算机上的软件代理获得应用剖析信息。系统资源利用足迹标识在主机计算机上运行的特定应用使用系统资源的模式(即,类型和量)。
105.服务器基于对应用的剖析来识别具有相似的系统资源利用足迹的多个不同应用集合(步骤810)。此外,服务器获得与多个主机计算机中的每个相应主机计算机对应的系统资源的列表(步骤812)。服务器还可以从软件代理获得每个相应主机计算机的系统资源的列表。
106.服务器在与每个相应主机计算机对应的系统资源的列表中识别由正在运行的驻留应用所使用的一组已使用的系统资源(步骤814)。此外,服务器通过从对应于每个相应主机计算机的系统资源的列表中减去该组已使用的系统资源,确定对应于每个相应主机计算机的一组未使用的系统资源(步骤816)。
107.服务器基于在特定主机计算机上放置具有相似的系统资源利用足迹的特定应用集合以及移除与运行该特定应用集合的该特定主机计算机对应的所确定的一组未使用的系统资源,来确定每个相应主机计算机中的最大的攻击面减少量(步骤818)。服务器将具有相似的系统资源利用足迹的每个相应应用集合分配给具有所确定的最大的攻击面减少量的指定主机计算机(步骤820)。
108.服务器将具有相似的系统资源利用足迹的每个相应应用集合放置在数据处理环境中的为其分配的主机计算机上(步骤822)。此外,服务器移除与为该应用分配的主机计算机对应的所确定的一组未使用的系统资源,以实现数据处理环境范围的攻击面减少(步骤824)。此后,该过程终止。
109.现在参考图9,根据说明性实施例示出了说明在系统运行时期间用于应用放置的过程的流程图。图9中所示的过程可以在服务器计算机中实现,例如图1中的服务器104或图2中的数据处理系统200、图3中的云计算环境300的云计算节点310中的云计算节点、或图5中的服务器502。
110.当服务器计算机接收到用于在包括多个主机计算机的数据处理环境中部署新应用的输入(步骤902)时,该过程开始。响应于在步骤902中接收到用于部署新应用的输入,服务器初始地将新应用放置在服务器上(步骤904)。另外,服务器剖析新应用以确定新应用的系统资源利用足迹(步骤906)。
111.此外,服务器获得数据处理环境中的每个主机计算机的系统资源可用性(步骤908)。此外,服务器基于新应用的系统资源利用足迹来识别具有足够可用系统资源来运行新应用的任何主机计算机(步骤910)。然后,服务器确定是否有任何主机计算机具有足够的可用系统资源来运行新应用(步骤912)。
112.如果服务器确定多个主机计算机中的一组主机计算机具有足够的可用系统资源来运行新应用,则步骤912输出为“是”,则服务器将新应用分配到该组中具有带有与新应用相似的资源利用足迹的一个或多个运行的驻留应用中的主机计算机(步骤914)。服务器将新应用放置在具有带有与新应用相似的资源利用足迹的一个或多个运行的驻留应用中的该主机计算机上(步骤916)。此后,该过程终止。
113.再次返回步骤912,如果服务器确定多个主机计算机中没有主机计算机具有足够的可用系统资源来运行新应用,则步骤912输出为“否”,则服务器选择多个主机计算机中具有最少数量的正在运行的驻留应用的主机计算机(步骤918)。服务器将所有正在运行的驻留应用从所选择的主机计算机临时迁移到服务器(步骤920)。服务器将所选择的主机计算机重置到初始默认状态以形成重置主机计算机(步骤922)。
114.随后,服务器将所有先前从所选择的主机计算机迁移的应用从服务器迁移回到重置主机计算机(步骤924)。然后,服务器将新应用放置在重置主机计算机上(步骤926)。此外,服务器移除未被在重置主机计算机上运行的驻留应用利用的系统资源,以减少重置主机计算机上的攻击面(步骤928)。此后,该过程终止。
115.现在参考图10,根据说明性实施例示出了图示用于在运行时期间减少主机计算机攻击面的过程的流程图。图10中所示的过程可以在服务器计算机中实现,例如图1中的服务器104或图2中的数据处理系统200、图3中的云计算环境300的云计算节点310中的云计算节点、或图5中的服务器502。
116.当服务器确定定义的时间间隔是否已经期满(步骤1002)时,该过程开始。如果服务器确定所定义的时间间隔尚未期满,则步骤1002的输出为“否”,然后过程返回到步骤1002,其中服务器继续等待所定义的时间间隔期满。如果服务器确定所定义的时间间隔已经期满,则步骤1002输出“是”,然后服务器获得与包括在由服务器监视的数据处理环境中的多个主机计算机中的每个主机计算机对应的所有可用系统资源的列表(步骤1004)。此外,服务器获得在多个主机计算机中的每个主机计算机上运行的驻留应用的系统资源利用率(步骤1006)。服务器可以从位于每个相应主机计算机中的软件代理获得可用系统资源的列表和系统资源利用信息。
117.服务器基于对应于每个相应主机计算机的可用系统资源的列表以及运行在每个相应主机计算机上的驻留应用的系统资源利用率,确定任何主机系统上是否存在未使用的系统资源(步骤1008)。如果服务器基于对应于每个相应主机计算机的可用系统资源的列表以及运行在每个相应主机计算机上的驻留应用的系统资源利用率,确定在任何主机系统上都不存在未使用的系统资源,则步骤1008输出为“否”,然后该过程返回到步骤1002,在此服务器等待下一时间间隔期满。如果服务器基于对应于每个相应主机计算机的可用系统资源的列表以及在每个相应主机计算机上运行的驻留应用的系统资源利用率,确定未使用的系统资源确实存在于一个或多个主机系统上,则步骤1008输出“是”,然后服务器移除存在于该一个或多个主机系统上的未使用的系统资源,以减少数据处理环境中这些主机系统的攻击面(步骤1010)。此后,过程返回到步骤1002,其中服务器等待下一时间间隔期满。
118.现在参考图11,根据说明性实施例示出了图示用于通过在主机计算机上选择性地并置应用来减少攻击面的过程的流程图。图11中所示的过程可以在服务器计算机中实现,例如图1中的服务器104或图2中的数据处理系统200、图3中的云计算环境300的云计算节点310中的云计算节点、或图5中的服务器502。
119.该过程开始于服务器计算机接收用于减少包括多个主机计算机的数据处理环境中的攻击面的输入(步骤1102)。在该示例中,数据处理环境是云环境。响应于在步骤1102中接收到用于减少数据处理环境中的攻击面的输入,服务器测量由在多个主机计算机中运行的每个云应用利用的系统资源(步骤1104)。服务器确定在多个主机计算机中运行的哪些云
应用利用相似的系统资源(步骤1106)。
120.服务器将利用相似的系统资源的这些云应用并置在相应的所分配的主机计算机上(步骤1108)。服务器确定未被在多个主机计算机中的一组主机计算机上运行的驻留应用使用的所有未使用的系统资源(步骤1110)。服务器移除对应于该组主机计算机中的每个主机计算机的所有未使用的系统资源,以减少数据处理环境中的攻击面(步骤1112)。此后,该过程终止。
121.因此,本发明的说明性实施例提供了一种计算机实现的方法、计算机系统和计算机程序产品,用于通过在同一主机计算机上选择性地并置具有相似的系统资源利用足迹的一组应用并从主机计算机移除未使用的系统资源来减少主机计算机上的攻击面。已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献