[go: up one dir, main page]

HK1260681B - Computer-implemented method, system, and readable medium for security management - Google Patents

Computer-implemented method, system, and readable medium for security management

Info

Publication number
HK1260681B
HK1260681B HK19120532.7A HK19120532A HK1260681B HK 1260681 B HK1260681 B HK 1260681B HK 19120532 A HK19120532 A HK 19120532A HK 1260681 B HK1260681 B HK 1260681B
Authority
HK
Hong Kong
Prior art keywords
application
security
information
data
network
Prior art date
Application number
HK19120532.7A
Other languages
Chinese (zh)
Other versions
HK1260681A1 (en
Inventor
G·基尔提
K·比斯瓦斯
S·N·佩雷拉
A·F·西穆
Original Assignee
甲骨文国际公司
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 甲骨文国际公司 filed Critical 甲骨文国际公司
Publication of HK1260681A1 publication Critical patent/HK1260681A1/en
Publication of HK1260681B publication Critical patent/HK1260681B/en

Links

Description

用于安全管理的计算机实现的方法、系统及可读介质Computer-implemented method, system, and computer-readable medium for security management

相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS

本申请要求于2017年2月23日提交的标题为“TECHNIQUES FOR DISCOVERING ANDMANAGING SECURITY OF APPLICATIONS”的美国非临时专利申请No.15/441,154[代理人案卷号:088325-1032871(185500US)]的优先权和权益,该申请要求以下每项专利申请的优先权和权益:This application claims priority to and the benefit of U.S. Non-Provisional Patent Application No. 15/441,154, filed February 23, 2017, entitled “TECHNIQUES FOR DISCOVERING AND MANAGING SECURITY OF APPLICATIONS” [Attorney Docket No. 088325-1032871 (185500US)], which claims priority to and the benefit of each of the following patent applications:

1)于2016年2月26日提交的标题为“Systems and Methods for Discovering andMonitoring Unsanctioned Enterprise Assets”的美国临时申请No.62/300,715[代理人案卷号: 088325-1032870(185501US)];以及1) U.S. Provisional Application No. 62/300,715, filed on February 26, 2016, entitled “Systems and Methods for Discovering and Monitoring Unsanctioned Enterprise Assets” [Attorney Docket No. 088325-1032870 (185501US)]; and

2)于2017年2月17日提交的标题为“Systems and Methods for Discovering andMonitoring Unsanctioned Enterprise Assets”的美国临时申请No.62/460,716[代理人案卷号: 088325-1039197(185502US)]。2) U.S. Provisional Application No. 62/460,716, filed on February 17, 2017, entitled “Systems and Methods for Discovering and Monitoring Unsanctioned Enterprise Assets” [Attorney Docket No.: 088325-1039197 (185502US)].

上述每个专利申请的全部内容通过引用并入本文,用于所有意图和目的。The entire contents of each of the above-identified patent applications are incorporated herein by reference for all intents and purposes.

背景技术Background Art

组织可以依赖许多技术设备、软件、硬件和/或计算服务来实现计算环境(例如,企业计算环境)。这些计算环境越来越多地被实现为或使用“云”环境。“云”环境可以表示本地和远程托管的计算资源和系统的集合体。术语“云计算”指的是通过网络的分布式计算的各个方面。云计算环境可以实现各种服务模型,包括基础设施即服务 (IaaS)、平台即服务(PaaS)、软件即服务(SaaS)和网络即服务(NaaS)。“云”还可以指单个服务提供者的数据存储和客户端应用。许多应用可以实现云计算环境,以使设备能够获得超出仅仅设备本身上可用的附加功能或能力。可以使用一个或多个服务提供者 (本文也称为“提供者”)来实现这样的应用,每个服务提供者具有一个或多个使用一个或多个计算机系统的服务提供者系统(本文也称为“提供者系统”)。此类服务提供者的示例可以包括诸如Box、 Dropbox、Microsoft、Docusign、Salesforce、Oracle、Amazon等公司。每个服务提供者可以提供许多不同的应用或功能,从而使得能够访问作为基于云的服务的应用和/或数据。Organizations may rely on a variety of technical devices, software, hardware, and/or computing services to implement computing environments (e.g., enterprise computing environments). These computing environments are increasingly being implemented as or using "cloud" environments. A "cloud" environment can refer to a collection of locally and remotely hosted computing resources and systems. The term "cloud computing" refers to various aspects of distributed computing over a network. Cloud computing environments can implement a variety of service models, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), and Network as a Service (NaaS). "Cloud" can also refer to a single service provider's data storage and client applications. Many applications can implement cloud computing environments to enable devices to gain additional functionality or capabilities beyond those available on the device itself. Such applications can be implemented using one or more service providers (also referred to herein as "providers"), each of which has one or more service provider systems (also referred to herein as "provider systems") that utilize one or more computer systems. Examples of such service providers include companies such as Box, Dropbox, Microsoft, Docusign, Salesforce, Oracle, and Amazon. Each service provider can offer many different applications or functionality, enabling access to applications and/or data as cloud-based services.

对计算环境的依赖导致组织广泛使用授权或未授权的应用。授权应用可以是在组织中注册或组织已知的应用。在一些情况下,可以通过组织分发来授权应用。未授权的应用可以是未知的和/或未与组织关联或注册的应用。未经批准的应用可以包括独立于其它应用操作的应用以及作为插件或附件集成到经批准(IT管理)应用中的第三方集成应用。无论是授权还是未授权,许多应用都会给组织的计算环境带来很大的安全风险。安全风险包括以不安全的方式暴露于组织的专用网络或访问私人机密数据,这些数据应通过安全控制进行限制。造成安全风险的应用可以在或可以不在组织的管理之下。照此,这些应用可以以“影子”或隐藏的方式被操作,未知和/或不受组织监管以进行安全控制。另外,未知的应用使用可以导致计算资源(诸如带宽和数据存储装置)的低效和过度使用。未被发现的使用可以影响组织的计算环境中的性能和对关键资源的访问。Reliance on computing environments leads organizations to extensively use both authorized and unauthorized applications. Authorized applications are applications that are registered or known to the organization. In some cases, authorized applications may be distributed by the organization. Unauthorized applications are applications that are unknown and/or not associated or registered with the organization. Unauthorized applications can include applications that operate independently of other applications as well as third-party integrated applications that are integrated as plug-ins or add-ons into approved (IT-managed) applications. Whether authorized or unauthorized, many applications pose significant security risks to an organization's computing environment. Security risks include unsecured exposure to the organization's private network or access to private and confidential data that should be restricted through security controls. Applications that pose security risks may or may not be under the organization's management. As such, these applications may operate in a "shadow" or hidden manner, unknown and/or not overseen by the organization for security controls. Furthermore, unknown application usage can lead to inefficient and overused computing resources, such as bandwidth and data storage. Undetected usage can impact performance and access to critical resources within the organization's computing environment.

可以以未授权的方式从服务提供者访问以不受监管的方式操作的应用。例如,组织的销售人员可以在他的移动设备中使用未经批准的文件共享应用来共享电子表格给他的团队成员以进行协作,而不是通过电子邮件发送。虽然使用此类应用可以提高生产力,但它也会带来安全风险以及组织中的合规性问题。例如,如果应用不够安全,那么具有业务敏感信息的机密文件会容易受到信息泄露的影响。由于这些应用未经组织评估,因此它们不准备对安全漏洞采取行动。而且,一些看似有用的应用可能会故意或不知不觉地分发广告软件甚至恶意软件。许多组织尝试阻止此类应用或网站,但这会使员工因生产力的影响而感到不快。而且,员工尝试绕过这样的障碍,例如,使用外部 VPN服务、移动数据服务等等。但是,组织中的计算环境的管理需要对所有正在使用的应用的可见性,以便他们可以主动地监视和控制可疑或恶意应用。Applications operating in an unregulated manner can be accessed from service providers without authorization. For example, a salesperson might use an unapproved file-sharing app on their mobile device to share a spreadsheet with their team members for collaboration, rather than sending it via email. While using such applications can improve productivity, it can also create security risks and compliance issues within the organization. For example, if the application is not secure enough, confidential documents containing business-sensitive information could be vulnerable to information leakage. Because these applications have not been evaluated by the organization, they are not prepared to take action against security vulnerabilities. Furthermore, some seemingly useful applications may intentionally or unknowingly distribute adware or even malware. Many organizations attempt to block such applications or websites, but this can cause frustration among employees due to the impact on productivity. Furthermore, employees attempt to circumvent such barriers by, for example, using external VPN services, mobile data services, and so on. However, managing an organization's computing environment requires visibility into all applications in use so that they can proactively monitor and control suspicious or malicious applications.

发明内容Summary of the Invention

本公开一般而言涉及管理计算环境中的安全性,并且更具体而言涉及用于在组织的计算环境中发现和管理应用的技术。这些技术可以使组织能够监视和管理对应用的访问,以最小化组织的计算环境中的安全威胁和风险。发现应用的使用可以使组织有效地监视和管理资源的效率和消耗,由此增强组织的计算环境的性能。The present disclosure generally relates to managing security in computing environments and, more specifically, to techniques for discovering and managing applications in an organization's computing environment. These techniques can enable an organization to monitor and manage access to applications to minimize security threats and risks in the organization's computing environment. Discovering the use of applications can enable an organization to effectively monitor and manage the efficiency and consumption of resources, thereby enhancing the performance of the organization's computing environment.

安全监视和控制系统(也称为“安全系统”和“安全管理系统”) 可以发现网络或组织内的应用的使用。可以利用各种源(包括但不限于第三方数据源、网络流量和服务提供者系统)来识别在组织的网络中被访问的唯一的应用。安全监视和控制系统可以以分布式方式实现,包括网络上的代理,以发现应用使用。安全监视和控制系统可以与分布式计算系统(诸如多个服务提供者系统(例如,云服务提供者系统))通信,以访问关于在用于组织的设备上使用的应用的数据。安全监视和控制系统可以获得关于网络流量的网络数据,以识别唯一的应用。这些技术可以对在组织中使用的应用的活动提供深入的可见性,这可以有助于检测组织的计算环境中关于应用使用和用户行为方面的异常或新出现的威胁。Security monitoring and control systems (also referred to as "security systems" and "security management systems") can discover the use of applications within a network or organization. Various sources, including but not limited to third-party data sources, network traffic, and service provider systems, can be utilized to identify unique applications that are accessed within the organization's network. The security monitoring and control system can be implemented in a distributed manner, including agents on the network to discover application usage. The security monitoring and control system can communicate with distributed computing systems, such as multiple service provider systems (e.g., cloud service provider systems), to access data about applications used on devices for the organization. The security monitoring and control system can obtain network data about network traffic to identify unique applications. These techniques can provide deep visibility into the activities of applications used in the organization, which can help detect anomalies or emerging threats with respect to application usage and user behavior in the organization's computing environment.

安全监视和控制系统可以执行分析和关联,包括使用一个或多个数据源,以确定关于应用的信息。信息可以包括关于应用提供者的组织信息。信息可以包括关于应用的安全风险指示符的安全信息。信息可以包括与应用的使用相关的特征的一个或多个指示符(例如,值),诸如安全性方面。关于应用的信息可以被用于计算应用的安全性测量 (“应用风险得分”)和用户(“用户风险得分”)。可以使用一条或多条信息(例如,指示符)与每条信息的权重值属性组合来计算安全性的测量。可以关于安全策略来分析得分,以基于应用的使用来确定由应用或用户提出的安全威胁。The security monitoring and control system may perform analysis and correlation, including using one or more data sources, to determine information about the application. The information may include organizational information about the application provider. The information may include security information about security risk indicators for the application. The information may include one or more indicators (e.g., values) of characteristics related to the use of the application, such as security aspects. Information about the application may be used to calculate a security measure for the application ("application risk score") and the user ("user risk score"). A measure of security may be calculated using one or more pieces of information (e.g., indicators) in combination with a weighted value attribute for each piece of information. The score may be analyzed with respect to a security policy to determine security threats posed by the application or user based on the use of the application.

在一些实施例中,可以向用户(例如,安全管理员)提供图形界面,以查看关于应用的使用的信息。该信息可以提供关于应用的服务提供者的细节和/或不同类型的安全风险的可视化,并且可以指示针对每个安全风险的严重性的测量。图形界面可以是交互式的,以基于关于每个安全风险的安全策略来配置要执行的补救动作。对于通过未知的应用使用而难以识别和管理安全风险的组织,图形界面可以使组织能够高效且可靠地发现所有(如果不是大多数)应用的使用,以便在计算环境中最小化安全风险并最大化计算相关资源的资源消耗。在至少一个实施例中,安全监视和控制系统可以被配置为评估与应用使用相关的风险,以自动确定风险的严重性。基于风险的严重性,安全监视和控制系统可以执行一条或多条指令,以配置应用允许的访问,无论该访问是被拒绝还是受限制。In some embodiments, a graphical interface may be provided to a user (e.g., a security administrator) to view information about the use of an application. This information may provide details about the service provider of the application and/or a visualization of different types of security risks, and may indicate a measure of the severity of each security risk. The graphical interface may be interactive to configure remedial actions to be performed based on the security policy regarding each security risk. For organizations that have difficulty identifying and managing security risks through unknown application usage, the graphical interface may enable the organization to efficiently and reliably discover the use of all (if not most) applications in a computing environment in order to minimize security risks and maximize resource consumption of computing-related resources. In at least one embodiment, the security monitoring and control system may be configured to assess the risks associated with the use of an application to automatically determine the severity of the risk. Based on the severity of the risk, the security monitoring and control system may execute one or more instructions to configure the access allowed to the application, whether that access is denied or restricted.

在一些实施例中,安全监视和控制系统(也称为安全系统或安全管理系统)可以包括计算机系统,并且可以被配置为实现本文公开的方法和操作。计算机系统可以包括一个或多个处理器和一个或多个处理器可访问并存储一条或多条指令的一个或多个存储器,这些指令在由一个或多个处理器执行时使一个或多个处理器实现本文公开的方法和/或操作。还有其它实施例涉及系统和非瞬态机器可读有形存储介质,其采用或存储用于本文公开的方法和操作的指令。在一些实施例中,可以实现包括存储在其上的指令的非瞬态计算机可读介质,使得当指令在处理器上执行时,可以执行本文公开的方法。在一些实施例中,本文公开了一种系统,包括:一个或多个处理器;以及一个或多个处理器可访问的存储器,其中存储器存储一条或多条指令,这些指令在由一个或多个处理器执行时使得一个或多个处理器执行本文公开的方法。在一些实施例中,公开了一种包括用于执行本文公开的任何方法的装置的系统。In some embodiments, a security monitoring and control system (also referred to as a security system or security management system) may include a computer system and may be configured to implement the methods and operations disclosed herein. The computer system may include one or more processors and one or more memories accessible to the one or more processors and storing one or more instructions that, when executed by the one or more processors, cause the one or more processors to implement the methods and/or operations disclosed herein. Still other embodiments relate to systems and non-transitory machine-readable tangible storage media that employ or store instructions for the methods and operations disclosed herein. In some embodiments, a non-transitory computer-readable medium including instructions stored thereon may be implemented such that when the instructions are executed on the processor, the methods disclosed herein may be performed. In some embodiments, a system is disclosed herein comprising: one or more processors; and a memory accessible to the one or more processors, wherein the memory stores one or more instructions that, when executed by the one or more processors, cause the one or more processors to perform the methods disclosed herein. In some embodiments, a system is disclosed that includes an apparatus for performing any method disclosed herein.

在至少一个实施例中,公开了一种在安全管理系统的计算机系统中的计算机实现的方法。所有步骤都可以由安全管理系统执行。该方法可以包括获得关于用户在组织的网络上的网络活动的数据。该方法可以包括使用关于网络活动的数据来识别用户已经在网络上访问的应用。该方法可以包括使用关于网络活动的数据来确定关于与用户已经访问的应用对应的网络活动的访问信息。该方法可以包括使用访问信息搜索关于应用的域信息。该方法可以包括确定关于应用的安全信息。该方法可以包括使用安全信息计算用于已经访问的应用的安全性的测量。该方法可以包括通过基于安全性的测量应用安全策略来执行针对该应用的补救动作。In at least one embodiment, a computer-implemented method in a computer system of a security management system is disclosed. All steps may be performed by the security management system. The method may include obtaining data about a user's network activity on an organization's network. The method may include using the data about the network activity to identify applications that the user has accessed on the network. The method may include using the data about the network activity to determine access information about the network activity corresponding to the application that the user has accessed. The method may include using the access information to search for domain information about the application. The method may include determining security information about the application. The method may include using the security information to calculate a measure of security for the application that has been accessed. The method may include performing remedial actions for the application by applying a security policy based on the measure of security.

在一些实施例中,安全信息包括第一值,该第一值是应用的第一安全威胁的第一指示符,并且包括第二值,该第二值是应用的第二安全威胁的第二指示符。第一指示符可以从第一数据源获得。第二指示符可以从第二数据源获得。In some embodiments, the security information includes a first value that is a first indicator of a first security threat to the application and a second value that is a second indicator of a second security threat to the application. The first indicator can be obtained from a first data source. The second indicator can be obtained from a second data source.

计算安全性的测量可以包括计算基于将第一值乘以第一权重值的第一加权值;计算基于将第二值乘以第二权重值的第二加权值;计算基于第一加权值和第二加权值的总和的加权总和;并且计算基于第一权重值和第二权重值的总和的权重总和。安全性的测量可以是基于将加权总和除以权重总和而计算的值。在一些实施例中,第一权重值不同于第二权重值。在一些实施例中,第一值不同于第二值。Calculating the measure of security may include calculating a first weighted value based on multiplying the first value by the first weighted value; calculating a second weighted value based on multiplying the second value by the second weighted value; calculating a weighted sum based on the sum of the first weighted value and the second weighted value; and calculating a weighted sum based on the sum of the first weighted value and the second weighted value. The measure of security may be a value calculated by dividing the weighted sum by the weighted sum. In some embodiments, the first weighted value is different from the second weighted value. In some embodiments, the first value is different from the second value.

在一些实施例中,获得关于网络活动的数据包括从网络上的一个或多个网络设备获得网络数据。网络可以在组织的计算环境中被保护。计算环境可以不受公共网络的危害。In some embodiments, obtaining data about network activity includes obtaining network data from one or more network devices on the network. The network can be protected within the organization's computing environment. The computing environment can be protected from public network hazards.

在一些实施例中,该方法可以包括确定应用的组织信息并生成显示关于应用的信息的图形界面,其中关于应用的信息是基于组织信息和为应用计算的安全性的测量来显示的。图形界面可以指示为应用执行的补救动作。在一些实施例中,组织信息是关于提供应用的实体,并且组织信息可以指示关于应用的一个或多个属性。In some embodiments, the method may include determining organizational information for an application and generating a graphical interface displaying information about the application, wherein the information about the application is displayed based on the organizational information and a measure of security calculated for the application. The graphical interface may indicate a remediation action to be performed for the application. In some embodiments, the organizational information is about an entity providing the application, and the organizational information may indicate one or more attributes about the application.

在一些实施例中,所获得的数据用于网络上的通信。识别应用可以包括处理数据,以识别数据的与对用户访问的应用的请求对应的部分。数据的该部分可以指示关于对应用的请求的应用信息。应用信息可以用于将应用识别为由用户访问。在一些实施例中,可以使用数据的该部分来确定关于与应用对应的网络活动的访问信息。访问信息可以指示应用的网络活动的时间戳、提供应用的系统的IP地址、用于访问应用的设备的介质访问控制(MAC)地址,以及关于用户的用户信息。在一些实施例中,访问信息指示提供应用的系统的IP地址。搜索域信息包括基于第一应用的IP地址对与托管该应用的域对应的域信息执行查询。在一些实施例中,访问信息指示应用的源信息,该源信息指示由主机提供的应用的位置。搜索域信息可以包括基于应用的源信息向主机发送对应用的证书的请求。In some embodiments, the obtained data is used for communication on a network. Identifying the application may include processing the data to identify a portion of the data corresponding to a request for access to an application by a user. The portion of the data may indicate application information about the request for the application. The application information may be used to identify the application as being accessed by the user. In some embodiments, the portion of the data may be used to determine access information about network activity corresponding to the application. The access information may indicate a timestamp of the network activity of the application, an IP address of the system providing the application, a media access control (MAC) address of a device used to access the application, and user information about the user. In some embodiments, the access information indicates the IP address of the system providing the application. Searching for domain information includes performing a query on domain information corresponding to a domain hosting the application based on the IP address of the first application. In some embodiments, the access information indicates source information of the application, the source information indicating a location of the application provided by the host. Searching for domain information may include sending a request for a certificate for the application to the host based on the source information of the application.

在一些实施例中,基于安全性的测量应用安全策略包括确定安全性的测量是否满足应用的风险阈值。补救动作可以是配置网络以防止应用在网络上被用户访问。In some embodiments, applying the security policy based on the measure of security includes determining whether the measure of security meets a risk threshold for the application. A remedial action may be configuring the network to prevent the application from being accessed by users on the network.

在一些实施例中,所获得的数据进一步关于作为组织在网络上的租户的多个用户的网络。该多个用户可以包括所述用户。补救动作是防止多个用户访问应用。In some embodiments, the obtained data further relates to a network of a plurality of users who are tenants of the organization on the network. The plurality of users may include the user. The remedial action is to prevent the plurality of users from accessing the application.

在一些实施例中,针对应用的补救动作包括使图形界面基于应用于安全性的测量的安全策略来提示用户调整应用的配置操作。In some embodiments, the remedial action for the application includes causing a graphical interface to prompt a user to adjust a configuration operation of the application based on a security policy applied to the measure of security.

在一些实施例中,公开了在安全管理系统的计算机系统处的计算机实现的方法。所有步骤都可以由安全管理系统执行。该方法可以包括从第一服务提供者系统获得关于用户从第一服务提供者系统访问的第一应用的第一数据。该方法可以包括从第二服务提供者系统获得关于用户从第二服务提供者系统访问的第二应用的第二数据。该方法可以包括使用第一数据和第二数据来确定用户已访问的第三应用的访问信息。该方法可以包括使用访问信息搜索关于提供第三应用的提供者系统的域信息。该方法可以包括确定关于第三应用的安全信息。该方法可以包括使用安全信息来计算已被访问的第三应用的安全性的测量。该方法可以包括通过基于安全性的测量应用安全策略来执行针对第三应用的补救动作。在一些实施例中,第一应用不同于第二应用。第一服务提供者系统不同于第二服务提供者系统。第一服务提供者系统可以提供对第一应用的访问作为第一云服务。第二服务提供者系统可以提供对第二应用的访问作为第二云服务。In some embodiments, a computer-implemented method at a computer system of a security management system is disclosed. All steps may be performed by the security management system. The method may include obtaining, from a first service provider system, first data regarding a first application accessed by a user from the first service provider system. The method may include obtaining, from a second service provider system, second data regarding a second application accessed by the user from the second service provider system. The method may include using the first data and the second data to determine access information for a third application accessed by the user. The method may include using the access information to search domain information regarding a provider system providing the third application. The method may include determining security information about the third application. The method may include using the security information to calculate a security measure of the accessed third application. The method may include applying a security policy based on the security measure to perform remedial actions for the third application. In some embodiments, the first application is different from the second application. The first service provider system is different from the second service provider system. The first service provider system may provide access to the first application as a first cloud service. The second service provider system may provide access to the second application as a second cloud service.

在一些实施例中,该方法可以包括确定第三应用的组织信息;并生成显示关于第三应用的信息的图形界面。可以基于组织信息和为第三应用计算的安全性的测量来显示关于应用的信息。图形界面可以指示针对第三应用执行的补救动作。In some embodiments, the method may include determining organizational information for a third application; and generating a graphical interface displaying information about the third application. The information about the application may be displayed based on the organizational information and a measure of security calculated for the third application. The graphical interface may indicate a remediation action to be performed for the third application.

在一些实施例中,第一数据指示用户已经通过第三应用访问了第一应用。第二数据可以指示用户已经通过第三应用访问了第二应用。确定访问信息可以包括确定已经访问了第三应用以提供对第一应用和第二应用的访问。In some embodiments, the first data indicates that the user has accessed the first application through a third application. The second data may indicate that the user has accessed the second application through the third application. Determining the access information may include determining that the third application has been accessed to provide access to the first application and the second application.

在一些实施例中,安全信息包括第一值,该第一值是应用的第一安全威胁的第一指示符,并且包括第二值,该第二值是应用的第二安全威胁的第二指示符。第一指示符可以从第一数据源获得。第一值不同于第二值。第二指示符从第二数据源获得。可以通过以下方式计算安全性的测量:计算基于将第一值乘以第一权重值的第一加权值;计算基于将第二值乘以第二权重值的第二加权值,其中第一权重值不同于第二权重值;计算基于第一加权值和第二加权值的总和的加权总和;并且计算基于第一权重值和第二权重值的总和的权重总和。安全性的测量可以是基于将加权总和除以权重总和而计算的值。In some embodiments, the security information includes a first value that is a first indicator of a first security threat to the application, and a second value that is a second indicator of a second security threat to the application. The first indicator may be obtained from a first data source. The first value is different from the second value. The second indicator is obtained from a second data source. The measure of security may be calculated by: calculating a first weighted value based on multiplying the first value by a first weighted value; calculating a second weighted value based on multiplying the second value by a second weighted value, wherein the first weighted value is different from the second weighted value; calculating a weighted sum based on the sum of the first weighted value and the second weighted value; and calculating a weighted sum based on the sum of the first weighted value and the second weighted value. The measure of security may be a value calculated based on dividing the weighted sum by the weighted sum.

通过参考以下说明书、权利要求书和附图,前述内容以及其它特征和实施例将变得更加明显。The foregoing as well as other features and embodiments will become more apparent by reference to the following description, claims, and accompanying drawings.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1A、1B和1C图示了根据实施例的安全监视和控制系统。1A , 1B, and 1C illustrate a security monitoring and control system according to an embodiment.

图2和3示出了图示根据实施例的安全监视和控制系统的框图。2 and 3 show block diagrams illustrating a security monitoring and control system according to an embodiment.

图4是图示根据实施例的用于从云服务检索软件定义的安全配置数据的处理的流程图。4 is a flow diagram illustrating a process for retrieving software-defined security configuration data from a cloud service, according to an embodiment.

图5是图示根据实施例的用于从云服务收集活动数据的处理的流程图。5 is a flow diagram illustrating a process for collecting activity data from a cloud service, according to an embodiment.

图6图示了根据实施例的用于分析应用使用的安全监视和控制系统的部件。FIG6 illustrates components of a security monitoring and control system for analyzing application usage, according to an embodiment.

图7和8图示了根据一些实施例的用于发现和管理应用的安全性的处理的框图。7 and 8 illustrate block diagrams of processes for discovering and managing security for applications, according to some embodiments.

图9图示了根据一些实施例的用于计算应用的安全性的测量的处理的序列流程图。FIG9 illustrates a sequence flow diagram of a process for computing a measure of security of an application, according to some embodiments.

图10-12示出了图示根据实施例的用于检测和管理应用的安全性的处理的流程图。10-12 show flow charts illustrating processes for detecting and managing security of applications according to an embodiment.

图13图示了根据一些实施例的用于基于应用使用来计算针对用户的安全性的测量的处理的序列流程图。13 illustrates a sequence flow diagram of a process for calculating a measure of safety for a user based on application usage, in accordance with some embodiments.

图14图示了根据一些实施例的用于基于应用使用来评估针对用户的安全性的测量的图表。FIG14 illustrates a chart of measures used to assess security for a user based on application usage, in accordance with some embodiments.

图15-26图示了根据实施例的用于将存储设备实现为用于管理对资源的访问的安全设备的接口。15-26 illustrate interfaces for implementing a storage device as a secure device for managing access to resources, according to an embodiment.

图27描绘了用于实现实施例的分布式系统的简化图。FIG27 depicts a simplified diagram of a distributed system for implementing an embodiment.

图28图示了根据本公开的实施例的、其中服务可以作为云服务提供的系统环境的一个或多个部件的简化框图。28 illustrates a simplified block diagram of one or more components of a system environment in which services may be provided as cloud services, according to an embodiment of the present disclosure.

图29图示了可以被用来实现本公开实施例的示例性计算机系统。FIG. 29 illustrates an exemplary computer system that may be used to implement embodiments of the present disclosure.

具体实施方式DETAILED DESCRIPTION

在以下描述中,为了说明的目的,阐述了具体的细节,以便提供对本公开的实施例的透彻理解。但是,显而易见的是,各种实施例可以在没有这些具体细节的情况下实践。例如,电路、系统、算法、结构、技术、网络、处理和其它部件可以以框图形式示为部件,以免用不必要的细节混淆实施例。附图和描述不旨在是限制性的。In the following description, for illustrative purposes, specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. However, it will be apparent that various embodiments can be practiced without these specific details. For example, circuits, systems, algorithms, structures, techniques, networks, processes, and other components may be shown as components in block diagram form to avoid obscuring the embodiments with unnecessary detail. The drawings and descriptions are not intended to be limiting.

虽然应用的使用可以有助于提高生产率,但是应用也可以在组织中造成安全风险以及合规性问题。例如,如果应用不够安全,那么具有业务敏感信息的机密文件会容易受到信息泄露的影响。由于这些应用未经组织评估,因此它们不准备对安全漏洞采取行动。而且,一些看似有用的应用可能会故意或不知不觉地分发广告软件甚至恶意软件。While app use can help improve productivity, it can also create security risks and compliance issues within an organization. For example, if apps aren't secure enough, confidential files containing business-sensitive information can be vulnerable to information leaks. Because these apps haven't been evaluated by organizations, they're less prepared to address security vulnerabilities. Furthermore, some seemingly useful apps can intentionally or unknowingly distribute adware or even malware.

许多组织尝试阻止此类应用或网站,但这会使员工因生产力的影响而感到不快。而且,员工尝试绕过这样的障碍,例如,使用外部 VPN服务、移动数据服务等等。最近的行业趋势是不阻止这种服务以确保员工的生产力。但是,IT部门需要对所有正在使用的应用的可见性,以便他们可以主动地监视和控制可疑或恶意应用。Many organizations attempt to block such apps or websites, but this can frustrate employees due to the impact on productivity. Furthermore, employees attempt to circumvent these barriers by using external VPN services, mobile data services, and so on. The recent industry trend is to not block such services to ensure employee productivity. However, IT departments need visibility into all apps in use so they can proactively monitor and control suspicious or malicious apps.

用传统工具可以难以检测应用、分析它们造成的任何安全威胁以及校正动作。根据本公开的若干实施例的用于发现和监视应用的处理涉及分析来自各种数据源的信息并关联数据,以发现可以造成敏感数据的未授权披露和/或对组织的计算环境产生负面影响的应用使用。Detecting applications, analyzing any security threats they pose, and taking corrective action can be difficult with traditional tools. A process for discovering and monitoring applications according to several embodiments of the present disclosure involves analyzing information from various data sources and correlating the data to discover application usage that can result in unauthorized disclosure of sensitive data and/or negatively impact an organization's computing environment.

一些实施例(诸如关于本公开中的附图所公开的那些)可以被描述为被绘制为流程图、流图、数据流图、结构图、顺序图或框图的处理。虽然顺序图或流程图可以将操作描述为顺序处理,但是许多操作可以并行或并发地执行。此外,操作的次序可以被重新安排。处理在其操作完成时终止,但是可以具有图中不包括的附加步骤。处理可以与方法、函数、过程、子例程、子程序等对应。当处理与函数对应时,其终止可以与函数返回到调用函数或主函数对应。Some embodiments (such as those disclosed with respect to the figures in this disclosure) can be described as processes drawn as flowcharts, flow diagrams, data flow diagrams, structure diagrams, sequence diagrams, or block diagrams. Although a sequence diagram or flow diagram may describe operations as sequential processing, many operations can be performed in parallel or concurrently. In addition, the order of the operations can be rearranged. A process terminates when its operations are completed, but may have additional steps not included in the diagram. A process can correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, its termination can correspond to the function returning to the calling function or main function.

本文描述的处理(诸如参考本公开中的附图描述的那些)可以用由一个或多个处理单元(例如,处理器核)、硬件或其组合执行的软件(例如,代码、指令、程序)来实现。软件可以存储在存储器中 (例如,存储在存储设备上、存储在非瞬态计算机可读存储介质上)。在一些实施例中,本文中以序列图和流程图描绘的处理可以通过本文公开的任何系统来实现。本公开中的处理步骤的特定系列并不旨在限制。步骤的其它顺序也可以根据替代实施例执行。例如,本公开的替代实施例可以以不同的次序执行上面概述的步骤。而且,附图中所示的各个步骤可以包括多个子步骤,这些子步骤可以以对个体步骤适当的各种顺序执行。此外,取决于特定的应用,可以添加或移除附加的步骤。本领域的普通技术人员将认识到许多变化、修改和替代。The processes described herein (such as those described with reference to the drawings in this disclosure) can be implemented with software (e.g., code, instructions, programs) executed by one or more processing units (e.g., processor cores), hardware, or a combination thereof. The software can be stored in a memory (e.g., stored on a storage device, stored on a non-transitory computer-readable storage medium). In some embodiments, the processes depicted herein with sequence diagrams and flow charts can be implemented by any system disclosed herein. The specific series of processing steps in this disclosure are not intended to be limiting. Other orders of steps can also be performed according to alternative embodiments. For example, alternative embodiments of the present disclosure can perform the steps outlined above in different orders. Moreover, the individual steps shown in the drawings can include multiple sub-steps that can be performed in various orders appropriate to the individual steps. In addition, additional steps can be added or removed depending on the specific application. Those of ordinary skill in the art will recognize many variations, modifications, and substitutions.

在一些实施例的一方面,本公开的这个图中的每个处理可以由一个或多个处理单元执行。处理单元可以包括一个或多个处理器,包括单核或多核处理器、处理器的一个或多个核,或其组合。在一些实施例中,处理单元可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,可以使用定制电路来实现一些或所有处理单元,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。In one aspect of some embodiments, each process in this figure of the present disclosure may be performed by one or more processing units. A processing unit may include one or more processors, including a single-core or multi-core processor, one or more cores of a processor, or a combination thereof. In some embodiments, a processing unit may include one or more dedicated coprocessors, such as a graphics processor, a digital signal processor (DSP), or the like. In some embodiments, custom circuits may be used to implement some or all of the processing units, such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).

I.用于发现和分析应用的计算环境 I. Computing Environment for Discovery and Analysis Applications

现在转向附图,公开了包括安全监视和控制系统102(本文也称为“安全管理系统”和“安全系统”)的系统100的技术。安全监视和控制系统102可以在具有组织的通信网络104的计算环境内实现。网络104可以是可以与公共网络(例如,互联网)通信以访问应用服务110的专用网络。通信网络的示例可以包括移动网络、无线网络、蜂窝网络、局域网(LAN)、广域网(WAN)、其它无线通信网络或其组合。安全监视和控制系统102可以由服务提供者管理,诸如安全服务提供者(有时称为云访问安全代理(CASB)),其使用安全监视和控制系统102来配置和管理组织的安全性。Turning now to the figures, technology is disclosed that includes a system 100 of a security monitoring and control system 102 (also referred to herein as a "security management system" and "security system"). The security monitoring and control system 102 can be implemented within a computing environment having an organization's communication network 104. The network 104 can be a private network that can communicate with a public network (e.g., the Internet) to access application services 110. Examples of communication networks can include mobile networks, wireless networks, cellular networks, local area networks (LANs), wide area networks (WANs), other wireless communication networks, or combinations thereof. The security monitoring and control system 102 can be managed by a service provider, such as a security service provider (sometimes referred to as a cloud access security broker (CASB)), which uses the security monitoring and control system 102 to configure and manage the organization's security.

租户可以是其成员包括由服务提供者(例如,云服务提供者)提供的服务的用户的组织或组。用户可以具有提供者的个人帐户,并且租户可以具有云提供者的企业帐户,这些帐户涵盖或汇总了多个个别的用户帐户。在本公开的许多实施例中,安全监视和控制系统102可以使租户能够查看关于安全帐户的信息,包括对于他们使用的各种服务的那些帐户的控制和活动、审查分析报告,以及通过预设的安全分类级别来配置安全控制。A tenant can be an organization or group whose members include users of services provided by a service provider (e.g., a cloud service provider). Users can have individual accounts with the provider, and tenants can have enterprise accounts with the cloud provider that encompass or aggregate multiple individual user accounts. In many embodiments of the present disclosure, the security monitoring and control system 102 can enable tenants to view information about security accounts, including controls and activity on those accounts for the various services they use, review analytical reports, and configure security controls through pre-set security classification levels.

在若干实施例中,安全监视和控制系统102使用机器学习和其它算法来分析关于一个或多个云中的用户活动的信息,以执行威胁检测并提供关于对不同类别的威胁的适当响应的推荐。分析可以包括确定用户活动中正常和/或异常行为的模型,以及检测一个云中或跨多个云的可疑活动的模式。一些模式可以涉及检测与同一用户帐户或IP 地址相关联的多个云中的相同操作或不同操作。分析还可以包括在检测到可疑活动的(一个或多个)云中提供提醒并推荐补救措施,和/ 或在除了显示可疑活动的云之外的云中采取补救措施。在本公开的许多实施例中,用于检测和分析组织的网络内的设备上的应用的处理涉及收集并组合来自各种数据源的信息。In several embodiments, the security monitoring and control system 102 uses machine learning and other algorithms to analyze information about user activity in one or more clouds to perform threat detection and provide recommendations about appropriate responses to different categories of threats. The analysis can include determining models of normal and/or abnormal behavior in user activity, and detecting patterns of suspicious activity in one cloud or across multiple clouds. Some patterns can involve detecting the same operations or different operations in multiple clouds associated with the same user account or IP address. The analysis can also include providing alerts and recommending remedial actions in the cloud(s) where suspicious activity was detected, and/or taking remedial actions in clouds other than the cloud that displayed the suspicious activity. In many embodiments of the present disclosure, the processing for detecting and analyzing applications on devices within an organization's network involves collecting and combining information from various data sources.

根据本公开实施例的用于安全监视和控制的系统包括可以位于单个硬件平台上或者彼此通信的多个硬件平台上的多个部件。部件可以包括配置服务器或其它计算设备以执行用于发现和管理的处理的软件应用和/或模块,如下面将进一步讨论的。The system for security monitoring and control according to an embodiment of the present disclosure includes multiple components that can be located on a single hardware platform or on multiple hardware platforms that communicate with each other. The components may include software applications and/or modules that configure a server or other computing device to perform processing for discovery and management, as will be discussed further below.

在图1A中示出了根据本公开实施例的系统100,该系统100包括安全监视和控制系统102、可以用于访问安全监视和控制系统102 的客户端设备106,以及要被监视的应用服务110。如本文所公开的,“客户端”(本文也称为“客户端系统”或“客户端设备”)可以是设备或在设备上执行的应用。系统100包括多个不同类型的客户端设备106,每个客户端设备106具有通过网络104进行通信的能力。客户端设备106与安全监视和控制系统102通信并呈现用于与服务交互的图形界面。安全监视和控制系统102可以与应用服务110通信,以检索安全配置、应用数据和其它信息并且设置安全控制,如下面将进一步讨论的。FIG1A shows a system 100 according to an embodiment of the present disclosure, which includes a security monitoring and control system 102, a client device 106 that can be used to access the security monitoring and control system 102, and an application service 110 to be monitored. As disclosed herein, a "client" (also referred to herein as a "client system" or "client device") can be a device or an application executing on a device. The system 100 includes a plurality of different types of client devices 106, each of which has the ability to communicate over a network 104. The client devices 106 communicate with the security monitoring and control system 102 and present a graphical interface for interacting with the service. The security monitoring and control system 102 can communicate with the application service 110 to retrieve security configurations, application data, and other information and to set security controls, as will be discussed further below.

图1B图示了具有为组织实现的安全监视和控制系统102的实现的系统150。具体而言,系统150图示了如何实现安全监视和控制系统102以检测组织的用户在通信网络(例如,专用网络(例如,内联网170)和非专用网络(例如,互联网160))上的客户端设备106 上的应用使用。通信网络的示例可以包括移动网络、无线网络、蜂窝网络、局域网(LAN)、广域网(WAN)、其它无线通信网络或其组合。在内联网170中操作的客户端设备106可以在由防火墙142保护的隔离计算环境中。用户(例如,安全管理员)可以管理安全监视和控制系统102的操作。安全监视和控制系统102可以在组织的计算环境、计算环境的外部或两者中实现。可以通过网络160将安全监视和控制系统102作为基于云的服务提供。FIG1B illustrates a system 150 having an implementation of a security monitoring and control system 102 implemented for an organization. Specifically, the system 150 illustrates how the security monitoring and control system 102 can be implemented to detect application usage by users of the organization on client devices 106 on a communication network, such as a private network (e.g., an intranet 170) and a non-private network (e.g., the Internet 160). Examples of communication networks can include mobile networks, wireless networks, cellular networks, local area networks (LANs), wide area networks (WANs), other wireless communication networks, or combinations thereof. Client devices 106 operating in the intranet 170 can be in an isolated computing environment protected by a firewall 142. Users (e.g., security administrators) can manage the operation of the security monitoring and control system 102. The security monitoring and control system 102 can be implemented in the organization's computing environment, outside of the computing environment, or both. The security monitoring and control system 102 can be provided as a cloud-based service over the network 160.

客户端设备106中的每一个可以用于访问被授权或未授权在组织的设备上使用的应用。应用可以由不同的服务提供者(诸如可信的应用提供者120和未知的应用提供者122)访问。内联网170内部和外部的客户端设备106可以用于访问使得能够访问由不同服务提供者管理的应用和/或数据的第三方服务提供者124的服务。Each of the client devices 106 can be used to access applications that are authorized or unauthorized for use on the organization's devices. Applications can be accessed by different service providers, such as a trusted application provider 120 and an unknown application provider 122. Client devices 106 inside and outside the intranet 170 can be used to access the services of a third-party service provider 124 that enables access to applications and/or data managed by different service providers.

安全监视和控制系统102可以通过来自在网络设备上操作的一个或多个代理的网络数据基于组织的客户端设备的网络活动来监视应用活动。安全监视和控制系统102可以分析并关联来自应用的数据,以提供对组织中的活动的深度可见性,并且有助于基于应用使用来检测异常或新出现的威胁和安全风险。The security monitoring and control system 102 can monitor application activity based on the network activity of the organization's client devices through network data from one or more agents operating on network devices. The security monitoring and control system 102 can analyze and correlate data from applications to provide deep visibility into activity in the organization and help detect anomalies or emerging threats and security risks based on application usage.

现在转向图1C,系统150被示为可以如何使用客户端设备106 (诸如个人BYOD(“自带设备”)和公司拥有的台式机/笔记本电脑)来访问组织内外的不同类型的应用的另一个示例。应用可以由服务提供者系统180提供。服务提供者系统在本文也可以称为“提供者系统”。本文公开的每个服务提供者系统可以由服务提供者操作和管理。应用可以包括未授权的应用122和第三方未授权的应用124。组织用户可以将许多经批准的应用用于日常工作,诸如Salesforce用于跟踪客户活动、Google Apps/Office 365用于协作、Box用于共享文件,等等。这些应用允许在这些应用内部安装第三方应用,这在内部允许这些第三方应用代表用户访问经批准的应用数据。这些未经认可的(unapproved)第三方应用可以从安全性和合规性角度增加组织风险,因为它们可以访问由于安全数据安全性差或潜在未经授权的数据泄漏而可能易受攻击的业务敏感数据。因此,此类第三方应用发现可以帮助IT团队获得更高的可见性。Turning now to FIG. 1C , system 150 is shown as another example of how client devices 106 (such as personal BYOD ("Bring Your Own Device") and company-owned desktops/laptops) can be used to access different types of applications within and outside an organization. Applications can be provided by a service provider system 180. A service provider system may also be referred to herein as a "provider system." Each service provider system disclosed herein may be operated and managed by a service provider. Applications may include unauthorized applications 122 and third-party unauthorized applications 124. Organizational users may use many approved applications for daily work, such as Salesforce for tracking customer activity, Google Apps/Office 365 for collaboration, Box for sharing files, and so on. These applications allow third-party applications to be installed within these applications, which in turn allows these third-party applications to access approved application data on the user's behalf. These unapproved third-party applications can increase organizational risk from a security and compliance perspective because they can access business-sensitive data that may be vulnerable due to poor security or potential unauthorized data leakage. Therefore, such third-party application discovery can help IT teams gain greater visibility.

安全监视和控制系统102可以通过从多个源收集数据、用威胁情报信息关联和分析它们来发现应用使用,包括影子应用。与简单地发现来自网络设备的影子IT信息相比,这提供了更大深度的可见度和更好的合规性覆盖。当组织的用户从办公室网络访问未经批准的应用时,诸如目的地网络地址、请求者的网络地址、时间戳之类的连接性相关信息由如路由器和防火墙的网络设备(例如,应用防火墙144和网络防火墙142)记录。其中一些应用防火墙还记录请求者身份,这允许查找正在使用该应用的实际用户。当组织用户在如智能电话和平板电脑的移动设备中安装应用时,只要在设备中安装了MDM应用, MDM(移动设备管理)服务182就可以发现已安装的应用的细节。类似地,当用户在公司拥有的设备上安装未经批准的应用时,可以使用集中管理的安全管理工具(例如,应用使用跟踪服务器184)由公司拥有的许可证管理集中发现这样的安装细节。来自这些数据源的日志可以提供对台式/膝上型设备中安装的未授权或影子应用的可见性。The security monitoring and control system 102 can discover application usage, including shadow applications, by collecting data from multiple sources, correlating it with threat intelligence information, and analyzing it. This provides greater depth of visibility and better compliance coverage than simply discovering shadow IT information from network devices. When an organization's users access unapproved applications from the office network, connectivity-related information such as the destination network address, the requester's network address, and timestamps is recorded by network devices such as routers and firewalls (e.g., application firewall 144 and network firewall 142). Some of these application firewalls also record the requester's identity, which allows for locating the actual user who is using the application. When an organization's users install applications on mobile devices such as smartphones and tablets, the MDM (Mobile Device Management) service 182 can discover the details of the installed applications, as long as the MDM application is installed on the device. Similarly, when users install unapproved applications on company-owned devices, such installation details can be centrally discovered using centrally managed security management tools (e.g., application usage tracking server 184) with company-owned license management. Logs from these data sources can provide visibility into unauthorized or shadow applications installed on desktop/laptop devices.

II.用于安全监视和控制系统的体系架构 II. Architecture for Security Monitoring and Control Systems

公开了用于发现和管理计算环境中的应用的安全性的一些实施例,诸如系统、方法和机器可读介质。图2图示了系统200,其中用户可以操作客户端设备(诸如客户端设备106-1、106-2、......106-N(统称为客户端设备106)),以访问来自一个或多个服务提供者的一个或多个应用(本文也称为“应用”)。例如,系统200可以包括一个或多个服务提供者(诸如服务提供者210和服务提供者212)。每个服务提供者可以经由网络160(例如,互联网)提供一个或多个服务。服务可以包括基于云或网络的服务。例如,服务提供者212可以是“云”服务提供者。服务可以包括提供应用作为服务。每个服务提供者可以具有包括一个或多个计算机系统的服务提供者系统。一个服务提供者系统可以与另一个不同。Some embodiments, such as systems, methods, and machine-readable media, are disclosed for discovering and managing the security of applications in a computing environment. Figure 2 illustrates a system 200 in which a user can operate a client device (such as client devices 106-1, 106-2, ... 106-N (collectively referred to as client devices 106)) to access one or more applications (also referred to herein as "applications") from one or more service providers. For example, system 200 may include one or more service providers (such as service provider 210 and service provider 212). Each service provider may provide one or more services via a network 160 (e.g., the Internet). Services may include cloud-based or network-based services. For example, service provider 212 may be a "cloud" service provider. Services may include providing applications as services. Each service provider may have a service provider system including one or more computer systems. One service provider system may be different from another.

客户端设备106可以是用户的个人设备(例如,BYOD)或者是组织管理下的设备。如图1C中所示,客户端设备106可以在组织的计算环境的网络、计算环境外部的网络160或其组合上访问服务提供者的应用。可以操作应用,以访问组织的计算环境的数据和/或资源。一些客户端设备可以使用由服务提供者提供的第三方应用214来访问应用和/或用于应用的数据。可以向组织注册应用,以用作那个组织中的用户。一些应用可能未注册,因此可以上组织未经授权或未知的。每个应用可以利用和/或访问组织的计算环境中的资源。安全监视和控制系统102可以发现应用及其关于组织的计算环境的使用。客户端设备106可以由组织的用户(诸如管理员)操作,以利用由安全监视和控制系统102提供的服务。客户端设备106的用户可以是一个或多个租户的一部分,或者组织的组。照此,安全监视和控制系统102可以以每个用户为基础和/或以租户为基础提供发现和管理应用的服务。Client device 106 can be a user's personal device (e.g., BYOD) or a device managed by an organization. As shown in FIG1C , client device 106 can access a service provider's applications over a network within the organization's computing environment, a network 160 external to the computing environment, or a combination thereof. Applications can be operated to access data and/or resources within the organization's computing environment. Some client devices can use third-party applications 214 provided by the service provider to access applications and/or data for applications. Applications can be registered with the organization to act as users within that organization. Some applications may not be registered and therefore may be unauthorized or unknown to the organization. Each application can utilize and/or access resources within the organization's computing environment. Security monitoring and control system 102 can discover applications and their use with respect to the organization's computing environment. Client device 106 can be operated by a user of the organization (such as an administrator) to utilize services provided by security monitoring and control system 102. Users of client device 106 can be part of one or more tenants, or groups within the organization. As such, security monitoring and control system 102 can provide services for discovering and managing applications on a per-user and/or per-tenant basis.

资源可以包括但不限于文件、网页、文档、web内容、计算资源或应用。例如,系统200可以包括诸如通过那些应用可访问的应用和 /或内容的资源。可以使用应用来请求和访问资源。例如,应用可以基于识别所请求的资源的URL来请求从资源服务器访问网页。资源可以由一个或多个计算系统(例如,提供对一个或多个资源的访问的资源服务器)提供。Resources may include, but are not limited to, files, web pages, documents, web content, computing resources, or applications. For example, system 200 may include resources such as applications and/or content accessible through those applications. Applications may be used to request and access resources. For example, an application may request access to a web page from a resource server based on a URL identifying the requested resource. Resources may be provided by one or more computing systems (e.g., resource servers that provide access to one or more resources).

组织可以具有一个或多个计算环境(诸如计算环境240和计算环境260)。计算环境中的每一个可以是云计算环境或企业计算环境。计算环境中的每一个可以向组织的用户的客户端设备提供对组织的计算资源的访问。每个计算环境可以包括一个或多个计算机和/或服务器(例如,一个或多个访问管理器服务器),其可以是通用计算机、专用服务器计算机(作为示例,包括PC服务器、UNIX服务器、中程服务器、大型计算机、机架式服务器等等)、服务器场、服务器集群、分布式服务器或任何其它适当的布置和/或组合。计算环境可以运行任何操作系统或各种附加服务器应用和/或中间层应用,包括 HTTP服务器、FTP服务器、CGI服务器、Java服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft 等商业获得的数据库服务器。计算环境可以使用硬件、固件、软件或其组合来实现。An organization may have one or more computing environments (such as computing environment 240 and computing environment 260). Each of the computing environments may be a cloud computing environment or an enterprise computing environment. Each of the computing environments may provide access to the organization's computing resources to the client devices of the organization's users. Each computing environment may include one or more computers and/or servers (e.g., one or more access manager servers), which may be general-purpose computers, dedicated server computers (e.g., including PC servers, UNIX servers, mid-range servers, mainframe computers, rack servers, etc.), server farms, server clusters, distributed servers, or any other appropriate arrangement and/or combination. The computing environment may run any operating system or various additional server applications and/or middle-tier applications, including HTTP servers, FTP servers, CGI servers, Java servers, database servers, etc. Exemplary database servers include, but are not limited to, commercially available database servers such as Oracle and Microsoft. The computing environment may be implemented using hardware, firmware, software, or a combination thereof.

计算环境中的每一个可以被实现为用于组织的安全环境。例如,组织的计算环境240和计算环境260可以被实现为计算防火墙230后面的安全环境(例如,内联网)。可以实现一个或多个防火墙,以保护计算环境。计算环境中的每一个可以用一个或多个网络设备实现。例如,计算环境240可以用一个或多个网络设备242实现,并且计算环境260可以用一个或多个网络设备262实现。网络设备中的每一个可以促进计算环境中的以及与外部网络(例如,网络160)的通信。网络设备可以包括但不限于路由器、网关、接入点、网桥等。可以在计算环境中的每个网络设备处搜集网络数据。可以在日志文件中搜集数据。Each of the computing environments can be implemented as a secure environment for an organization. For example, the organization's computing environment 240 and computing environment 260 can be implemented as a secure environment (e.g., an intranet) behind a computing firewall 230. One or more firewalls can be implemented to protect the computing environments. Each of the computing environments can be implemented using one or more network devices. For example, computing environment 240 can be implemented using one or more network devices 242, and computing environment 260 can be implemented using one or more network devices 262. Each of the network devices can facilitate communication within the computing environment and with external networks (e.g., network 160). Network devices can include, but are not limited to, routers, gateways, access points, bridges, and the like. Network data can be collected at each network device in the computing environment. The data can be collected in log files.

安全监视和控制系统102可以提供基于web的客户端接口、专用应用程序、应用程序接口(API)、图形接口、通信接口和/或用于促进客户端设备106与安全监视和控制系统102之间的通信的其它工具。例如,安全监视和控制系统102可以包括用于暴露安全监视和控制系统102的服务的接口220。接口220可以生成和/或提供使客户端设备106能够访问安全监视和控制系统102的接口。安全监视和控制系统102可以被实现为执行本文公开的操作,包括参考图1A-1C和 7-14公开的处理。The security monitoring and control system 102 may provide a web-based client interface, a dedicated application, an application program interface (API), a graphical interface, a communication interface, and/or other tools for facilitating communication between the client device 106 and the security monitoring and control system 102. For example, the security monitoring and control system 102 may include an interface 220 for exposing services of the security monitoring and control system 102. The interface 220 may generate and/or provide an interface that enables the client device 106 to access the security monitoring and control system 102. The security monitoring and control system 102 may be implemented to perform the operations disclosed herein, including the processes disclosed with reference to Figures 1A-1C and 7-14.

安全监视和控制系统102可以由计算系统实现。计算系统可以包括一个或多个计算机和/或服务器(例如,一个或多个访问管理器服务器),其可以是通用计算机、专用服务器计算机(作为示例,包括 PC服务器、UNIX服务器、中程服务器、大型计算机、机架式服务器等等)、服务器场、服务器集群、分布式服务器或任何其它适当的布置和/或组合。安全监视和控制系统102可以运行任何操作系统或各种附加的服务器应用和/或中间层应用,包括HTTP服务器、FTP 服务器、CGI服务器、Java服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft等商业获得的数据库服务器。可以使用硬件、固件、软件或其组合来实现安全监视和控制系统102。The security monitoring and control system 102 can be implemented by a computing system. The computing system can include one or more computers and/or servers (e.g., one or more access manager servers), which can be general-purpose computers, dedicated server computers (including, by way of example, PC servers, UNIX servers, mid-range servers, mainframe computers, rack-mount servers, etc.), server farms, server clusters, distributed servers, or any other suitable arrangement and/or combination. The security monitoring and control system 102 can run any operating system or various additional server applications and/or middle-tier applications, including HTTP servers, FTP servers, CGI servers, Java servers, database servers, etc. Exemplary database servers include, but are not limited to, commercially available database servers from Oracle, Microsoft, etc. The security monitoring and control system 102 can be implemented using hardware, firmware, software, or a combination thereof.

安全监视和控制系统102可以包括至少一个存储器、一个或多个处理单元(或(一个或多个)处理器)和存储器。(一个或多个)处理单元可以适当地以硬件、计算机可执行指令、固件或其组合来实现。在一些实施例中,安全监视和控制系统102可以包括若干子系统和/ 或模块。安全监视和控制系统102中的这些子系统和/或模块中的每一个可以用硬件、在硬件上执行的软件(例如,程序代码、可由处理器执行的指令)或其组合来实现。在一些实施例中,软件可以存储在存储器(例如,非瞬态计算机可读介质)中、存储器设备上或某种其它物理存储器上,并且可以由一个或多个处理单元(例如,一个或多个处理器、一个或多个处理器核、一个或多个GPU等等)执行。 (一个或多个)处理单元的计算机可执行指令或固件实现可以包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,以执行本文描述的各种操作、功能、方法和/或处理。存储器可以存储可在(一个或多个)处理单元上加载并执行的程序指令,以及在执行这些程序期间生成的数据。存储器可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存等等)。可以使用任何类型的持久存储设备来实现存储器,诸如计算机可读存储介质。在一些实施例中,计算机可读存储介质可以被配置为保护计算机免受包含恶意代码的电子通信的影响。计算机可读存储介质可以包括存储在其上的指令,当指令在处理器上执行时,执行本文描述的操作。The security monitoring and control system 102 may include at least one memory, one or more processing units (or processor(s)), and memory. The processing unit(s) may be implemented in hardware, computer-executable instructions, firmware, or a combination thereof, as appropriate. In some embodiments, the security monitoring and control system 102 may include several subsystems and/or modules. Each of these subsystems and/or modules in the security monitoring and control system 102 may be implemented in hardware, software (e.g., program code, instructions executable by a processor) executed on hardware, or a combination thereof. In some embodiments, the software may be stored in memory (e.g., a non-transitory computer-readable medium), on a storage device, or on some other physical storage, and may be executed by one or more processing units (e.g., one or more processors, one or more processor cores, one or more GPUs, etc.). The computer-executable instructions or firmware implementation of the processing unit(s) may include computer-executable or machine-executable instructions written in any suitable programming language to perform the various operations, functions, methods, and/or processes described herein. The memory may store program instructions that may be loaded and executed on the processing unit(s), as well as data generated during the execution of these programs. The memory can be volatile (such as random access memory (RAM)) and/or non-volatile (such as read-only memory (ROM), flash memory, etc.). The memory can be implemented using any type of persistent storage device, such as a computer-readable storage medium. In some embodiments, the computer-readable storage medium can be configured to protect a computer from electronic communications containing malicious code. The computer-readable storage medium may include instructions stored thereon that, when executed on a processor, perform the operations described herein.

安全监视和控制系统102还可以提供可以包括非虚拟和虚拟环境的服务或软件应用。在一些实施例中,这些服务可以作为基于web 或云的服务或者在软件即服务(SaaS)模型下提供给客户端的用户。由安全监视和控制系统102提供的服务可以包括应用服务。应用服务可以经由SaaS平台由安全监视和控制系统102提供。SaaS平台可以被配置为提供属于SaaS类别的服务。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在安全监视和控制系统102中执行的应用,其可以被实现为云基础设施系统。用户可以获取应用服务,而无需客户购买单独的许可证和支持。可以提供各种不同的SaaS服务。操作客户端的用户可以进而利用一个或多个应用与安全监视和控制系统102 交互,以利用由安全监视和控制系统102的子系统和/或模块提供的服务。The security monitoring and control system 102 may also provide services or software applications that can include both non-virtualized and virtualized environments. In some embodiments, these services may be provided to users of the client as web-based or cloud-based services or under a Software as a Service (SaaS) model. The services provided by the security monitoring and control system 102 may include application services. Application services may be provided by the security monitoring and control system 102 via a SaaS platform. The SaaS platform may be configured to provide services that fall under the SaaS category. The SaaS platform may manage and control the underlying software and infrastructure used to provide SaaS services. By utilizing the services provided by the SaaS platform, customers may utilize applications executed in the security monitoring and control system 102, which may be implemented as a cloud infrastructure system. Users may access application services without the need for the customer to purchase separate licenses and support. A variety of different SaaS services may be provided. Users operating the client may then utilize one or more applications to interact with the security monitoring and control system 102 to utilize services provided by the subsystems and/or modules of the security monitoring and control system 102.

安全监视和控制系统102还可以包括或耦合到附加的存储装置,该附加的存储装置可以使用任何类型的持久存储设备来实现,诸如存储器存储设备或其它非瞬态计算机可读存储介质。在一些实施例中,本地存储装置可以包括或实现一个或多个数据库(例如,文档数据库、关系数据库或其它类型的数据库)、一个或多个文件存储、一个或多个文件系统或其组合。例如,安全监视和控制系统102耦合到或包括一个或多个用于存储数据的数据存储,诸如存储装置222。存储器和附加的存储装置都是计算机可读存储介质的示例。例如,计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的任何方法或技术实现的易失性或非易失性、可移动或不可移动介质。The security monitoring and control system 102 may also include or be coupled to additional storage, which may be implemented using any type of persistent storage device, such as a memory storage device or other non-transitory computer-readable storage medium. In some embodiments, the local storage may include or implement one or more databases (e.g., a document database, a relational database, or other type of database), one or more file stores, one or more file systems, or a combination thereof. For example, the security monitoring and control system 102 is coupled to or includes one or more data stores for storing data, such as the storage device 222. Memory and additional storage are both examples of computer-readable storage media. For example, computer-readable storage media may include volatile or non-volatile, removable or non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data.

在图2所示的示例中,存储装置222可以包括租户配置信息 (“租户配置信息”)224,其可以包括用于租户及其帐户以及与每个租户帐户相关联的用户帐户的配置信息。属于租户组织的用户可以具有各种云应用的用户帐户。租户配置信息还可以具有租户帐户,其中云应用对属于该组织的用户的用户帐户行使管理权限。用户的用户帐户通常与用户所属的租户的租户帐户相关联。根据本发明的实施例,可以以各种方式使用用户帐户与租户帐户的关联,包括检索关于与租户相关联的用户的用户活动的信息。如下面将进一步讨论的,租户帐户的凭证可以用于登录到服务提供者系统,以检索关于与租户帐户相关联的服务的用户帐户和活动的数据。这种配置信息可以包括用于访问、日志设置和访问设置的安全设置(例如,白名单和黑名单)。存储装置222可以包括关于向组织注册的每个用户和/或组织租赁的用户信息。存储装置222可以包括基于关于应用使用的事件和为计算环境中的网络活动搜集的日志信息的应用信息232。应用信息232可以包括从数据源为应用获得的组织信息。存储装置222中的信息可以由安全监视和控制系统102基于用户活动和/或用户输入来维护和策展。例如,存储装置222可以包括诸如本文公开的那些的注册表。存储装置222可以包括关于由安全监视和控制系统102执行的安全性分析的安全信息226。安全信息226可以包括从一个或多个数据源获得的安全信息。存储装置222可以包括用于关于应用的服务提供者的域信息的域信息228。In the example shown in FIG2 , storage 222 may include tenant configuration information ("tenant configuration information") 224, which may include configuration information for tenants and their accounts, as well as user accounts associated with each tenant account. Users belonging to a tenant organization may have user accounts for various cloud applications. Tenant configuration information may also include tenant accounts, where cloud applications exercise administrative privileges over the user accounts of users belonging to that organization. A user's user account is typically associated with a tenant account for the tenant to which the user belongs. According to embodiments of the present invention, the association of a user account with a tenant account may be used in various ways, including retrieving information about user activity of users associated with a tenant. As discussed further below, the credentials of a tenant account may be used to log into a service provider system to retrieve data about user accounts and activity for services associated with the tenant account. This configuration information may include security settings for access, logging settings, and access settings (e.g., whitelists and blacklists). Storage 222 may include information about each user registered with an organization and/or user leased by the organization. Storage 222 may include application information 232 based on events regarding application usage and log information collected for network activity within the computing environment. Application information 232 may include organizational information obtained for an application from a data source. The information in the storage 222 can be maintained and curated by the security monitoring and control system 102 based on user activity and/or user input. For example, the storage 222 can include a registry such as those disclosed herein. The storage 222 can include security information 226 related to security analysis performed by the security monitoring and control system 102. The security information 226 can include security information obtained from one or more data sources. The storage 222 can include domain information 228 for domain information about the service provider of the application.

安全监视和控制系统102可以耦合到一个或多个数据源280或与之通信,一个或多个数据源280可以使用任何类型的持久存储设备来实现,诸如存储器存储设备或其它非瞬态计算机可读存储介质。在一些实施例中,本地存储装置可以包括或实现一个或多个数据库(例如,文档数据库、关系数据库或其它类型的数据库)、一个或多个文件存储、一个或多个文件系统或其组合。例如,数据源280可以包括安全信息数据源282、组织信息数据源284和域信息数据源286。数据源中的每一个可以由服务提供者系统提供的服务实现和/或可作为由服务提供者系统提供的服务访问。每个数据源可以包括用于请求关于应用和/或应用的提供者的数据的接口。例如,安全信息数据源282可以由提供Security Score作为服务的公司提供。在另一个示例中,组织信息数据源284可以由服务提供。域信息源286 可以由提供域名系统(DNS)查找服务的提供者系统提供。The security monitoring and control system 102 can be coupled to or communicate with one or more data sources 280, which can be implemented using any type of persistent storage device, such as a memory storage device or other non-transitory computer-readable storage medium. In some embodiments, the local storage device may include or implement one or more databases (e.g., a document database, a relational database, or other type of database), one or more file stores, one or more file systems, or a combination thereof. For example, the data sources 280 may include a security information data source 282, an organizational information data source 284, and a domain information data source 286. Each of these data sources may be implemented and/or accessible as a service provided by a service provider system. Each data source may include an interface for requesting data about an application and/or its provider. For example, the security information data source 282 may be provided by a company that offers Security Score as a service. In another example, the organizational information data source 284 may be provided by a service. The domain information source 286 may be provided by a provider system that provides Domain Name System (DNS) lookup services.

在一些实施例中,安全监视和控制系统102可以包括日志收集器系统234,该系统执行用于收集关于计算环境中的活动的网络数据的操作。网络数据可以从从被监视的一个或多个计算环境获得的日志文件中收集。日志收集器系统234可以被配置为与在每个计算环境中实现的一个或多个模块和/或子系统通信,以收集网络数据。例如,计算环境240和计算环境260中的每一个可以分别包括日志管理器246 和日志管理器266。每个日志管理器可以从被实现为收集关于网络活动的数据的一个或多个代理(例如,计算环境240中的代理244和计算环境260中的代理264)收集和/或汇总数据。可以以日志文件的形式收集数据。每个日志管理器和/或代理可以在网络设备上实现或与网络设备通信。日志收集器系统234可以与日志管理器246、266和/ 或代理244、264通信,以搜集关于计算环境内的网络活动的数据。In some embodiments, security monitoring and control system 102 may include a log collector system 234 that performs operations for collecting network data regarding activity within a computing environment. Network data may be collected from log files obtained from one or more monitored computing environments. Log collector system 234 may be configured to communicate with one or more modules and/or subsystems implemented in each computing environment to collect network data. For example, computing environment 240 and computing environment 260 may each include a log manager 246 and a log manager 266, respectively. Each log manager may collect and/or aggregate data from one or more agents implemented to collect data regarding network activity (e.g., agent 244 in computing environment 240 and agent 264 in computing environment 260). Data may be collected in the form of log files. Each log manager and/or agent may be implemented on or communicate with a network device. Log collector system 234 may communicate with log managers 246, 266 and/or agents 244, 264 to collect data regarding network activity within the computing environment.

日志管理器和代理中的每一个可以以硬件、在硬件上执行的软件 (例如,程序代码、可由处理器执行的指令)或其组合来实现。在一些实施例中,软件可以存储在存储器(例如,非瞬态计算机可读介质) 中、存储器设备或某种其它物理存储器上,并且可以由一个或多个处理单元(例如,一个或多个处理器、一个或多个处理器核、一个或多个GPU等等)执行。(一个或多个)处理单元的计算机可执行指令或固件实现可以包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,以执行本文描述的各种操作、功能、方法和/或处理。存储器可以存储可在(一个或多个)处理单元上加载并执行的程序指令,以及在执行这些程序期间生成的数据。存储器可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存等等)。可以使用任何类型的持久存储设备来实现存储器,诸如计算机可读存储介质。在一些实施例中,计算机可读存储介质可以被配置为保护计算机免受包含恶意代码的电子通信的影响。计算机可读存储介质可以包括存储在其上的指令,当指令在处理器上执行时,执行本文描述的操作。Each of the log manager and agent can be implemented in hardware, software (e.g., program code, instructions executable by a processor) executed on hardware, or a combination thereof. In some embodiments, the software can be stored in memory (e.g., non-transitory computer-readable media), on a storage device, or some other physical storage, and can be executed by one or more processing units (e.g., one or more processors, one or more processor cores, one or more GPUs, etc.). The computer-executable instructions or firmware implementation of the processing unit(s) can include computer-executable instructions or machine-executable instructions written in any suitable programming language to perform the various operations, functions, methods, and/or processes described herein. The memory can store program instructions that can be loaded and executed on the processing unit(s), as well as data generated during the execution of these programs. The memory can be volatile (such as random access memory (RAM)) and/or non-volatile (such as read-only memory (ROM), flash memory, etc.). The memory can be implemented using any type of persistent storage device, such as a computer-readable storage medium. In some embodiments, the computer-readable storage medium can be configured to protect the computer from electronic communications containing malicious code. Computer-readable storage media may include instructions stored thereon that, when executed on a processor, perform the operations described herein.

日志收集器系统234可以被配置为通过由每个服务提供者提供的接口与每个服务提供者通信。日志收集器系统234可以从服务提供者获得关于由一个或多个用户对服务的使用的日志文件和/或事件数据。日志收集器系统234可以被配置为与客户端设备上的模块(例如,代理)和/或移动设备管理服务通信,以获得关于应用使用的事件信息。The log collector system 234 can be configured to communicate with each service provider through an interface provided by each service provider. The log collector system 234 can obtain log files and/or event data about the use of the service by one or more users from the service provider. The log collector system 234 can be configured to communicate with a module (e.g., an agent) on the client device and/or a mobile device management service to obtain event information about application usage.

关于网络活动和应用使用的数据可以由安全监视和控制系统102 中的数据分析系统236处理。数据分析系统236可以实现本文公开的技术,以分析包括日志文件的网络数据来确定被访问的唯一的应用。数据分析系统236可以执行操作,以识别关于提供应用的服务提供者的域的域信息。域信息可以从一个或多个数据源获得,诸如域信息 286。域信息可以通过执行数据源的查询和/或从应用的服务提供者请求证书来获得。Data regarding network activity and application usage can be processed by data analysis system 236 within security monitoring and control system 102. Data analysis system 236 can implement the techniques disclosed herein to analyze network data, including log files, to determine unique applications being accessed. Data analysis system 236 can also perform operations to identify domain information regarding the domain of the service provider providing the application. Domain information can be obtained from one or more data sources, such as domain information 286. Domain information can be obtained by performing queries against the data source and/or requesting credentials from the application's service provider.

安全监视和控制系统102可以包括信息处理机系统238,其被配置为获得关于应用的使用和/或与应用的使用相关的信息。信息处理机238可以与一个或多个数据源280通信,以获得信息。信息处理机 238可以管理和策展存储在存储装置222中的信息。存储在存储装置 222中的所有或一些信息可以基于用户的用户输入和/或策展。The security monitoring and control system 102 may include a processor system 238 configured to obtain information about and/or related to the use of applications. The processor 238 may communicate with one or more data sources 280 to obtain information. The processor 238 may manage and curate information stored in the storage device 222. All or some of the information stored in the storage device 222 may be based on user input and/or curation.

安全监视和控制系统102中的安全性分析器270可以实现本文公开的技术,以确定关于应用、用户或其组合的安全性的测量。The security analyzer 270 in the security monitoring and control system 102 may implement the techniques disclosed herein to determine measures regarding the security of an application, a user, or a combination thereof.

安全监视和控制系统102中的控制管理器272可以处理对计算环境中的应用的访问的管理和控制。安全监视和控制系统可以使用一个或多个策略(例如,安全策略)来控制设备相对于组织的计算环境所允许的对应用的访问。策略可以由用户针对一个或多个用户(或者统称为租赁)配置。策略可以指示基于用户对应用使用的安全性分析来执行的补救动作。补救可以包括发送通知、显示信息(例如,报告),和/或限制或阻止对应用的访问。控制管理器272可以与计算环境通信,以配置网络设备和/或防火墙来防止或限制对应用的访问。这种控制即使不降低安全风险和/或最小化计算资源的低效或不期望的消耗(例如,带宽和存储器使用)也可以防止这种情况。控制管理器 272可以向计算环境和/或网络设备发送一条或多条指令,以控制对应用的访问。在一些实施例中,安全监视和控制系统102可以在每个客户端设备106上实现被配置为与安全监视和控制系统102通信的模块 (例如,代理)。控制管理器272可以向客户端设备106上的代理发送一条或多条指令,以更改设备的功能来防止或减少对应用的访问。The control manager 272 in the security monitoring and control system 102 can manage and control access to applications within the computing environment. The security monitoring and control system can use one or more policies (e.g., security policies) to control the access that devices are allowed to applications within the organization's computing environment. Policies can be configured by users for one or more users (or collectively, tenancies). Policies can dictate remediation actions to be performed based on a security analysis of the users' use of applications. Remediation can include sending notifications, displaying information (e.g., reports), and/or limiting or blocking access to applications. The control manager 272 can communicate with the computing environment to configure network devices and/or firewalls to prevent or limit access to applications. This control can prevent, if not reduce, security risks and/or minimize inefficient or undesirable consumption of computing resources (e.g., bandwidth and memory usage). The control manager 272 can send one or more instructions to the computing environment and/or network devices to control access to applications. In some embodiments, the security monitoring and control system 102 can implement a module (e.g., an agent) on each client device 106 that is configured to communicate with the security monitoring and control system 102. The control manager 272 may send one or more instructions to an agent on the client device 106 to modify the functionality of the device to prevent or reduce access to the application.

在本公开的许多实施例中,用于安全性的系统包括在硬件平台上执行的管理应用、用户界面部件和存储在硬件平台上的数据仓库。图 3中图示了根据本公开实施例的用于安全性的系统300。系统300可以在如本文所公开的安全监视和控制系统中实现,诸如安全监视和控制系统102。系统300中的云管理应用可以包括云爬虫302、云播种器304和数据加载器306。如将在下面进一步详细讨论的,云爬虫应用302可以从云提供者检索关于安全控制的信息,云播种器应用304 可以修改云提供者的租户帐户的安全控制,以反映期望的安全姿态,并且数据加载器应用306可以检索关于云提供者的租户帐户的活动信息并生成分析。In many embodiments of the present disclosure, a system for security includes a management application executed on a hardware platform, a user interface component, and a data repository stored on the hardware platform. FIG3 illustrates a system for security 300 according to an embodiment of the present disclosure. System 300 can be implemented in a security monitoring and control system as disclosed herein, such as security monitoring and control system 102. The cloud management application in system 300 can include a cloud crawler 302, a cloud seeder 304, and a data loader 306. As will be discussed in further detail below, cloud crawler application 302 can retrieve information about security controls from a cloud provider, cloud seeder application 304 can modify security controls of a cloud provider's tenant accounts to reflect a desired security posture, and data loader application 306 can retrieve activity information about the cloud provider's tenant accounts and generate analytics.

在若干实施例中,由云爬虫应用302检索的数据被输入到应用目录数据库308中,并且由数据加载器应用306检索的数据被输入到登陆储存库310和/或分析和威胁情报储存库数据库311中。进入登陆储存库310的数据可以是不同的格式和/或具有不同的值范围–这种数据可以在移动到分析储存库311之前被重新格式化和/或构造。可以利用关于分析储存库311中的活动信息的数据来生成可以经由用户界面可视地呈现给系统管理员的报告,并生成用于确定威胁级别、检测具体威胁和预测潜在威胁的分析。In several embodiments, data retrieved by cloud crawler application 302 is entered into application catalog database 308, and data retrieved by data loader application 306 is entered into logging repository 310 and/or analytics and threat intelligence repository database 311. The data entering logging repository 310 may be in different formats and/or have different value ranges—such data may be reformatted and/or structured before being moved to analytics repository 311. Data regarding activity information in analytics repository 311 may be utilized to generate reports that can be visually presented to system administrators via a user interface, and to generate analytics for determining threat levels, detecting specific threats, and predicting potential threats.

分析存储库311中关于访问模式和其它事件统计量的活动信息的汇总使得系统能够建立用户行为的基线。然后可以应用机器学习技术来检测威胁并提供关于如何响应威胁的推荐。可以开发威胁模型来检测已知或未知或正在出现的威胁。还可以通过将活动数据与外部威胁情报信息(诸如由第三方提供者提供的信息)进行比较来识别威胁,如将在下面进一步讨论的。The aggregation of activity information in the analysis repository 311 regarding access patterns and other event statistics enables the system to establish a baseline of user behavior. Machine learning techniques can then be applied to detect threats and provide recommendations on how to respond to them. Threat models can be developed to detect known or unknown or emerging threats. Threats can also be identified by comparing activity data with external threat intelligence information (such as information provided by third-party providers), as will be discussed further below.

不同云应用中的特定用户的帐户(例如,不同的用户身份)可以在用户身份储存库309中关联在一起。云安全系统中的用户身份储存库309和/或其它存储器可以存储关于租户帐户和与每个租户帐户相关联的用户帐户的信息。属于租户组织的用户可以具有各种云应用的用户帐户。租户组织还可以具有云应用的租户帐户,该帐户对属于该组织的用户的用户帐户行使管理权限。用户的用户帐户通常与该用户所属的租户的租户帐户相关联。根据本公开的实施例,可以以各种方式使用用户帐户与租户帐户的关联,包括检索关于与租户相关联的用户的用户活动的信息。如下面将进一步讨论的,租户帐户的凭证可以用于登录云应用服务,以检索关于与租户帐户相关联的用户帐户的活动数据。The accounts of a particular user in different cloud applications (e.g., different user identities) can be associated together in the user identity repository 309. The user identity repository 309 and/or other storage in the cloud security system can store information about tenant accounts and user accounts associated with each tenant account. Users belonging to a tenant organization can have user accounts for various cloud applications. A tenant organization can also have a tenant account for a cloud application that exercises administrative authority over the user accounts of users belonging to the organization. A user's user account is typically associated with a tenant account of the tenant to which the user belongs. According to embodiments of the present disclosure, the association of a user account with a tenant account can be used in various ways, including retrieving information about user activities of users associated with a tenant. As will be discussed further below, the credentials of a tenant account can be used to log into a cloud application service to retrieve activity data about user accounts associated with the tenant account.

如下面将更详细讨论的,用户身份储存库309还可以用于促进跨多个云应用的用户跟踪和简档。此外,收集关于跨多个云服务的用户行为的信息使得系统能够在基于一个或多个云服务上的行为检测到威胁时预先提醒系统管理员关于其它云服务上的威胁和/或主动保护用户通过应用补救措施在其上维护数据的其它服务,诸如向认证添加附加的步骤、改变密码、阻止特定的一个或多个IP地址、阻止电子邮件消息或发件人,或锁定帐户。As will be discussed in more detail below, the user identity repository 309 can also be used to facilitate user tracking and profiling across multiple cloud applications. In addition, collecting information about user behavior across multiple cloud services enables the system to proactively alert system administrators about threats on other cloud services when a threat is detected based on behavior on one or more cloud services and/or proactively protect other services on which users maintain data by applying remedial measures, such as adding additional steps to authentication, changing passwords, blocking specific one or more IP addresses, blocking email messages or senders, or locking accounts.

在本公开的若干实施例中,系统300包括应用或软件模块以对收集的数据执行分析,这将在下面进一步详细讨论。应用或软件模块可以存储在易失性或非易失性存储器中,并且在被执行时配置处理器 301执行某些功能或处理。这些应用可以包括威胁检测和预测分析应用312和/或描述性分析应用313。威胁检测和预测分析应用312可以使用机器学习和其它算法来生成分析,以从活动模式和行为模型中识别并预测安全威胁。描述性分析应用313可以生成分析,诸如但不限于关于用户、用户活动和资源的统计量。可以使用存储在分析和威胁情报储存库311中的数据来执行分析。In several embodiments of the present disclosure, system 300 includes applications or software modules to perform analytics on collected data, as discussed in further detail below. The applications or software modules can be stored in volatile or non-volatile memory and, when executed, configure processor 301 to perform certain functions or processes. These applications can include threat detection and predictive analytics applications 312 and/or descriptive analytics applications 313. Threat detection and predictive analytics applications 312 can use machine learning and other algorithms to generate analytics to identify and predict security threats from activity patterns and behavioral models. Descriptive analytics applications 313 can generate analytics, such as, but not limited to, statistics about users, user activities, and resources. The analytics can be performed using data stored in analytics and threat intelligence repository 311.

如下面将进一步讨论的,本公开的实施例可以包括补救功能,其响应于威胁而提供手动和/或自动处理。在一些实施例中,分析可以利用从租户系统接收的描述由租户提供的威胁情报的信息。这些可被称为客户基线317的源可包括诸如但不限于要观看或阻止的具体IP 地址、要观看或阻止的电子邮件地址、易受攻击的浏览器或其版本以及易受攻击的移动设备或者移动硬件或软件的版本之类的信息。在附加的实施例中,分析可以利用从外部第三方馈送318、320和321接收的信息来通过提供安全威胁的外部信息增强威胁情报,其中安全威胁诸如但不限于受感染的节点的识别、来自特定的源IP地址的恶意活动、受恶意软件感染的电子邮件消息、易受攻击的Web浏览器版本以及已知的云攻击。As will be discussed further below, embodiments of the present disclosure may include remediation functionality that provides manual and/or automated processing in response to threats. In some embodiments, analysis may utilize information received from tenant systems that describes threat intelligence provided by the tenant. These sources, which may be referred to as customer baselines 317, may include information such as, but not limited to, specific IP addresses to watch or block, email addresses to watch or block, vulnerable browsers or versions thereof, and vulnerable mobile devices or versions of mobile hardware or software. In additional embodiments, analysis may utilize information received from external third-party feeds 318, 320, and 321 to enhance threat intelligence by providing external information of security threats, such as, but not limited to, identification of infected nodes, malicious activity from specific source IP addresses, malware-infected email messages, vulnerable web browser versions, and known cloud attacks.

事故补救应用313可以用于响应于检测到的威胁来协调和/或执行补救动作。当在提醒中呈现并选择推荐的补救动作时,它可以被调用。事故补救应用313可以执行所选择的补救动作或指示另一个应用 (诸如云播种器应用304)执行所选择的补救动作。当所选择的补救动作要手动执行或者在云安全系统外部时,事故补救应用313可以跟踪补救动作的状态以及补救事件是否完整。事故补救应用可以用于将手动或自动补救动作的结果保存到存储器中。在若干实施例中,所选择的补救动作将由云安全系统外部的系统执行,诸如由第三方或租户的事件补救系统执行。在这种情况下,事故补救应用313可以指示或调用第三方或租户的事件补救系统来使用自动集成处理执行动作。The incident remediation application 313 can be used to coordinate and/or perform remedial actions in response to detected threats. It can be invoked when a recommended remedial action is presented and selected in an alert. The incident remediation application 313 can perform the selected remedial action or instruct another application (such as the cloud seeder application 304) to perform the selected remedial action. When the selected remedial action is to be performed manually or outside the cloud security system, the incident remediation application 313 can track the status of the remedial action and whether the remediation incident is complete. The incident remediation application can be used to save the results of manual or automatic remedial actions to memory. In several embodiments, the selected remedial action will be performed by a system external to the cloud security system, such as by a third party or tenant's incident remediation system. In this case, the incident remediation application 313 can instruct or call the third party or tenant's incident remediation system to perform the action using automatic integrated processing.

云播种器应用304可以用于通过在各种云应用中租户的帐户内设置安全控制来实现安全策略。如将在下面进一步详细讨论的,云播种器可以在各种条件下设置安全控制,诸如但不限于威胁的补救的一部分或系统用户的呼叫。可以使用于2014年10月24日提交的标题为“SYSTEMS AND METHODS FOR CLOUD SECURITY MONITORING AND THREATINTELLIGENCE”的美国专利申请 14/523,804中公开的技术来实现安全控制和调整安全控制的技术的示例。The cloud seeder application 304 can be used to implement security policies by setting security controls within tenants' accounts in various cloud applications. As will be discussed in further detail below, the cloud seeder can set security controls under various conditions, such as, but not limited to, as part of threat remediation or at the behest of a system user. Examples of techniques for implementing security controls and adjusting security controls can be implemented using the techniques disclosed in U.S. patent application Ser. No. 14/523,804, filed on October 24, 2014, entitled “SYSTEMS AND METHODS FOR CLOUD SECURITY MONITORING AND THREAT INTELLIGENCE.”

在本公开的其它实施例中,用户界面部件包括管理控制台314,其为用户提供控制管理,以设置用于一个或多个云的安全控制,以及用于查看由系统生成的分析的分析可视化控制台316。如下面将更详细讨论的,数据仓库中的数据可以用于生成用户界面中显示的信息和报告。下面讨论使用云管理应用从云应用检索安全配置数据。In other embodiments of the present disclosure, the user interface components include a management console 314 that provides users with control management for setting security controls for one or more clouds, and an analysis visualization console 316 for viewing analysis generated by the system. As will be discussed in more detail below, data in the data warehouse can be used to generate information and reports displayed in the user interface. The following discusses the use of cloud management applications to retrieve security configuration data from cloud applications.

Ⅲ.用于从云服务检索软件定义的安全配置数据的处理 III. Processing for Retrieving Software-Defined Security Configuration Data from Cloud Services

在本公开的许多实施例中,云爬虫应用从云服务检索软件定义的安全配置数据。软件定义的安全配置数据描述在特定云服务中的安全控制的配置。安全控制是限制对云所容纳的应用和数据的访问的机制。软件定义的安全配置数据可以包括描述以下内容的数据:为用户定义的角色、用户的组和分组、加密密钥、令牌、访问控制、许可、配置、认证策略的类型、移动访问策略以及许多其它类型的安全控制。图4 中图示了从云服务检索软件定义的安全配置数据的处理。In many embodiments of the present disclosure, a cloud crawler application retrieves software-defined security configuration data from a cloud service. Software-defined security configuration data describes the configuration of security controls within a specific cloud service. Security controls are mechanisms that restrict access to applications and data hosted by the cloud. Software-defined security configuration data can include data describing user-defined roles, user groups and subgroups, encryption keys, tokens, access controls, permissions, configurations, authentication policy types, mobile access policies, and many other types of security controls. The process of retrieving software-defined security configuration data from a cloud service is illustrated in Figure 4.

该处理包括用于连接到云的步骤402。云可以需要授权或某种其它同意的表示才能访问系统和内部数据。授权可以通过令牌(诸如使用OAuth开放标准进行授权)或通过凭证(诸如用户名和密码)来提供。本领域技术人员将认识到的是,存在可以用于授权访问云提供者的系统和数据的各种其它技术。连接还可以包括提供服务URL (通用资源定位符)。The process includes step 402 for connecting to the cloud. The cloud may require authorization or some other indication of consent to access systems and internal data. Authorization may be provided via a token (such as using the OAuth open standard) or via credentials (such as a username and password). Those skilled in the art will recognize that there are various other techniques for authorizing access to the cloud provider's systems and data. Connecting may also include providing a service URL (Universal Resource Locator).

该处理还包括步骤404,用于收集关于云应用的安全控制的软件定义的安全配置数据。可以通过利用由云应用提供的API(应用编程接口)来收集软件定义的安全配置数据。可以根据实施例使用的API 和API的类可以包括REST(代表性状态转移)、J2EE(Java 2平台,企业版)、SOAP(简单对象访问协议)和本机编程方法(诸如用于Java的本机应用API)。还可以使用其它技术请求信息,包括脚本语言(诸如Python和PHP)、部署描述符、日志文件、通过 JDBC(Java数据库连接)或REST的数据库连接,以及常驻应用 (云信标),这将在下面进一步讨论。被发送或接收的信息可以以各种格式表示,包括但不限于JSON(JavaScript对象表示法)、XML (可扩展标记语言)和CSV(逗号分隔值)。本领域技术人员将认识到的是,根据本公开的实施例,可以使用各种格式中适合于特定应用的任何一种。The process also includes step 404, which is used to collect software-defined security configuration data about the security controls of the cloud application. The software-defined security configuration data can be collected by utilizing the API (application programming interface) provided by the cloud application. The API and API classes that can be used according to the embodiment may include REST (Representational State Transfer), J2EE (Java 2 Platform, Enterprise Edition), SOAP (Simple Object Access Protocol) and native programming methods (such as native application API for Java). Other technologies can also be used to request information, including scripting languages (such as Python and PHP), deployment descriptors, log files, database connections through JDBC (Java Database Connectivity) or REST, and resident applications (cloud beacons), which will be discussed further below. The information sent or received can be represented in various formats, including but not limited to JSON (JavaScript Object Notation), XML (Extensible Markup Language) and CSV (Comma Separated Values). Those skilled in the art will recognize that according to the embodiments of the present disclosure, any of the various formats suitable for a particular application can be used.

可以在步骤406使用所接收的关于云应用的安全控制的软件定义的安全配置数据来生成安全控制元数据,即,用于将信息输入公共数据库的规格化描述符。安全控制元数据在步骤408被分类(映射到类别中)并被索引。分类可以符合安全组织指定的标准和/或可以由第三方认证和/或审核。此外,安全控制元数据和/或元数据的分类可以围绕特定法规或标准的要求来制定。例如,诸如健康保险流通与责任法案(HIPAA)、Sarbanes-Oxley法案、FedRAMP和支付卡行业数据安全标准(PCI DSS)之类的法规和标准可能需要报告和审计跟踪。安全控制元数据可以以显示法规和标准所需的信息类型的方式被格式化,并促进生成所需的报告。The received software-defined security configuration data about the security controls of the cloud application can be used in step 406 to generate security control metadata, i.e., normalized descriptors for entering information into a common database. The security control metadata is classified (mapped into categories) and indexed in step 408. The classification can conform to standards specified by the security organization and/or can be certified and/or audited by a third party. In addition, the security control metadata and/or classification of metadata can be developed around the requirements of specific regulations or standards. For example, regulations and standards such as the Health Insurance Portability and Accountability Act (HIPAA), the Sarbanes-Oxley Act, FedRAMP, and the Payment Card Industry Data Security Standard (PCI DSS) may require reporting and audit trails. The security control metadata can be formatted in a manner that displays the type of information required by the regulations and standards and facilitates the generation of the required reports.

在步骤410将安全控制元数据输入到应用目录数据库中。在本公开的许多实施例中,应用目录数据库是Cassandra数据库。在其它实施例中,应用目录数据库在适于应用的其它类型的数据库中实现。本领域普通技术人员将认识到的是,根据本公开的实施例,可以使用各种数据库中的任何数据库来存储应用目录,以供稍后检索、报告生成和分析生成,如下面将进一步讨论的。At step 410, the security control metadata is entered into an application catalog database. In many embodiments of the present disclosure, the application catalog database is a Cassandra database. In other embodiments, the application catalog database is implemented in another type of database suitable for the application. Those skilled in the art will recognize that, according to embodiments of the present disclosure, any of a variety of databases may be used to store the application catalog for later retrieval, report generation, and analysis generation, as discussed further below.

以上讨论了根据本公开实施例的用于发现和存储安全控制元数据的具体处理。根据本公开的实施例,可以利用用于检索软件定义的安全配置数据和生成安全控制元数据的各种处理中的任何处理。本领域技术人员将认识到的是,控制的数量和类型以及用于检索软件定义的安全配置数据的机制可以在由不同云应用支持的本公开的不同实施例中变化。例如,可以使用特定于应用的检索机制来支持其它云应用 (诸如Office 365、GitHub、Workday和各种Google应用)。此外,用于检索软件定义的安全配置数据的处理可以基于目标云提供者支持而被自动化或者是手动的。The above discusses specific processes for discovering and storing security control metadata according to embodiments of the present disclosure. According to embodiments of the present disclosure, any of the various processes for retrieving software-defined security configuration data and generating security control metadata may be utilized. Those skilled in the art will recognize that the number and type of controls and the mechanisms for retrieving software-defined security configuration data may vary in different embodiments of the present disclosure supported by different cloud applications. For example, application-specific retrieval mechanisms may be used to support other cloud applications (such as Office 365, GitHub, Workday, and various Google applications). Furthermore, the process for retrieving software-defined security configuration data may be automated or manual based on target cloud provider support.

Ⅳ.控件管理平台 IV. Control Management Platform

在本公开的许多实施例中,控件管理平台向用户提供针对多个云的控件的规格化视图。该平台可以包括用户界面,该用户界面在同一屏幕上显示针对不同云的控件的简化视图。可以使用基于元数据的模式映射从应用目录数据库中检索提供给控件管理平台的信息。该平台可以用于跨云指派一致的访问策略。可以根据指定的分类器显示和/ 或设置控件,诸如但不限于:标准、严格、自定义。越高级别的分类与越严格的控件对应。在若干实施例中,安全控制的分类和/或指定符合由诸如国家标准与技术研究院(NIST)、国际标准化组织(ISO) 和/或支付卡行业数据安全标准(PCI DSS)之类的组织规定的标准和/或由一个此类组织提供的具体定认证。在本公开的若干实施例中,控件管理平台还可以提供插件接口以与SaaS、PaaS和本机应用集成。In many embodiments of the present disclosure, a control management platform provides users with a standardized view of controls for multiple clouds. The platform may include a user interface that displays a simplified view of controls for different clouds on the same screen. Information provided to the control management platform can be retrieved from an application catalog database using metadata-based schema mapping. The platform can be used to assign consistent access policies across clouds. Controls can be displayed and/or set according to specified classifiers, such as, but not limited to: standard, strict, custom. Higher levels of classification correspond to stricter controls. In several embodiments, the classification and/or designation of security controls complies with standards set by organizations such as the National Institute of Standards and Technology (NIST), the International Organization for Standardization (ISO), and/or the Payment Card Industry Data Security Standard (PCI DSS), and/or specific certifications provided by one of such organizations. In several embodiments of the present disclosure, the control management platform may also provide a plug-in interface for integration with SaaS, PaaS, and native applications.

控件管理平台用户界面可以以库格式显示关键安全性指示符,其具有颜色编码的风险因子(诸如红色、绿色、黄色)。可以显示其它统计或度量,诸如但不限于用户登录尝试、具有最多添加用户的组、最多删除的文件、具有最多删除文件的用户以及下载最多文件的用户。一些类型的信息可以特定于特定的云应用提供者,诸如显示谁正在下载机会/预算数据、合同或联系人的Salesforce.com。在本公开的若干实施例中,用户界面为租户的注册云应用提供安全控制的统一视图。用户界面可以显示为针对不同云应用设置的任何或所有安全控制设置的值,以及当前值与预定策略或配置相关联的值的偏差。接下来描述来自云应用提供者的活动数据的集合。The control management platform user interface can display key security indicators in a gallery format with color-coded risk factors (such as red, green, yellow). Other statistics or metrics can be displayed, such as, but not limited to, user login attempts, groups with the most added users, the most deleted files, users with the most deleted files, and users who downloaded the most files. Some types of information can be specific to a particular cloud application provider, such as Salesforce.com showing who is downloading opportunity/budget data, contracts, or contacts. In several embodiments of the present disclosure, the user interface provides a unified view of security controls for a tenant's registered cloud applications. The user interface can display the values of any or all security control settings set for different cloud applications, as well as the deviation of the current values from the values associated with the predetermined policy or configuration. The collection of activity data from the cloud application provider is described next.

Ⅴ.用于从云服务收集活动数据的处理 V. Processing of Activity Data Collected from Cloud Services

在本公开的许多实施例中,云数据加载器应用配置计算设备,以从云服务收集关于租户的用户活动、安全性配置和其它相关信息的活动数据。图5中图示了根据本公开实施例的用于从云服务收集活动数据的处理。In many embodiments of the present disclosure, a cloud data loader application configures a computing device to collect activity data from cloud services regarding user activity, security configuration, and other relevant information for tenants. A process for collecting activity data from cloud services according to an embodiment of the present disclosure is illustrated in FIG5 .

该处理包括用于连接到一个或多个云的步骤502和用于从云收集活动数据的步骤504。在许多实施例中,通过加密的通信信道进行连接。在其它实施例中,必须通过令牌或使用登录凭证来认证连接,如在与上面进一步讨论的云爬虫应用进行的连接中一样。在本公开的若干实施例中,收集被调度为周期性地发生(例如,每4小时或每6小时)。在许多实施例中,用于收集的时间表可由租户配置。在其它实施例中,当事件发生时利用实时计算系统(诸如例如Storm)实时地收集和检索数据。该系统可以被配置为将某些事件或活动指定为高风险事件,以便在被调度的检索之外近实时地进行检索。The process includes a step 502 for connecting to one or more clouds and a step 504 for collecting activity data from the cloud. In many embodiments, the connection is made over an encrypted communication channel. In other embodiments, the connection must be authenticated by a token or using login credentials, as in the connection made with the cloud crawler application discussed further above. In several embodiments of the present disclosure, the collection is scheduled to occur periodically (e.g., every 4 hours or every 6 hours). In many embodiments, the schedule for collection is configurable by the tenant. In other embodiments, data is collected and retrieved in real time using a real-time computing system (such as, for example, Storm) as events occur. The system can be configured to designate certain events or activities as high-risk events so that they can be retrieved in near real time in addition to scheduled retrievals.

当外部系统保持适当的凭证时(该凭证可以由云应用系统或另一个授权实体发布),活动数据可以包括由远程托管的云应用系统到云应用系统外部的系统可访问的各种类型的信息。与用户帐户相关联的活动数据可以包括与在云应用处对用户帐户的使用和/或动作相关的信息。活动数据可以包括诸如(一个或多个)用户日志或(一个或多个)审计跟踪之类的信息源。更具体类型的活动数据可以包括但不限于登录和注销统计量(包括尝试和成功)、用于访问应用的IP地址、用于访问应用的设备以及被访问的云资源(包括但不限于文件管理云应用[诸如Box]中的文件和文件夹,人力资源云应用[诸如Workday] 中的员工和承包商,以及客户关系管理云应用[诸如Salesforce]]中的联系人和帐户)。活动数据可以包括与事件或统计量相关联的用户的用户帐户或其它用户标识符。活动数据可以包括关于云应用系统的系统状态或活动的信息(诸如但不限于服务器活动、服务器重新引导、服务器使用的安全性密钥以及系统凭证),其中这种信息对系统可见或可访问使用授权凭证。Activity data can include various types of information accessible from a remotely hosted cloud application to systems external to the cloud application when the external system maintains appropriate credentials (which can be issued by the cloud application or another authorized entity). Activity data associated with a user account can include information related to the use and/or actions of the user account at the cloud application. Activity data can include information sources such as user logs or audit trails. More specific types of activity data can include, but are not limited to, login and logout statistics (including attempts and successes), IP addresses used to access the application, devices used to access the application, and cloud resources accessed (including, but not limited to, files and folders in file management cloud applications such as Box, employees and contractors in human resources cloud applications such as Workday, and contacts and accounts in customer relationship management cloud applications such as Salesforce). Activity data can include the user account or other user identifier of the user associated with the event or statistic. Activity data can include information about the system state or activity of the cloud application (such as, but not limited to, server activity, server reboots, security keys used by the server, and system credentials), where such information is visible to the system or accessible using authorized credentials.

活动数据还可以包括关于租户(和相关联用户)帐户的安全性配置的信息。安全性配置可以包括为租户(和/或相关联用户)设置安全控制(在上面进一步讨论)的值。Activity data may also include information about security configurations for tenant (and associated user) accounts. Security configurations may include setting values for security controls (discussed further above) for tenants (and/or associated users).

在一些实施例中,某些事件被认为是高风险,并且与这些事件相关的活动数据在被调度的间隔之外近实时地被检索。In some embodiments, certain events are considered high risk, and activity data related to these events is retrieved in near real-time outside of scheduled intervals.

在步骤506处将检索出的活动数据存储在分析和威胁情报储存库数据库311中。分析和威胁情报储存库数据库311可以是具有查询能力的任何数据库或数据储存库。在本公开的若干实施例中,分析和威胁情报储存库数据库311构建在诸如Cassandra或其它分布式数据处理系统之类的基于NoSQL的基础设施中,但是可以适当地利用任何数据仓库基础设施用于该应用。在一些实施例中,首先将数据输入到登陆储存库310中并在被移动到分析储存库311之前被重新格式化和 /或构造。At step 506, the retrieved activity data is stored in the analysis and threat intelligence repository database 311. The analysis and threat intelligence repository database 311 can be any database or data repository with query capabilities. In several embodiments of the present disclosure, the analysis and threat intelligence repository database 311 is built on a NoSQL-based infrastructure such as Cassandra or other distributed data processing systems, but any data warehouse infrastructure can be appropriately utilized for this application. In some embodiments, data is first entered into the login repository 310 and reformatted and/or structured before being moved to the analysis repository 311.

在本公开的一些实施例中,可以以由不同的云应用使用的不同格式来接收数据。例如,数据可以以JSON(JavaScript Object Notation)或其它数据交换格式来格式化,或者可以作为日志文件或数据库条目使用。在其它实施例中,该处理包括步骤508,用于规格化数据并将数据重新格式化为用于存储在分析和威胁情报储存库数据库311中以及从分析和威胁情报储存库数据库311中检索的公共格式。重新格式化数据可以包括将数据分类并结构化为公共格式。在本公开的若干实施例中,通过运行自动化处理来检查改变的数据,数据库适于结构改变和新值。在一些实施例中,云爬虫应用(如上面进一步讨论的)识别所检索的数据的结构或值的差异,并且在应用目录数据库 308和/或分析和威胁情报储存库数据库311中实现改变。系统报告可以在步骤510处由被调度在数据集上运行的作业预先生成。以上讨论了利用云加载器应用来收集活动数据的具体处理。根据本公开的实施例,可以使用各种处理中的任何处理来收集活动数据。下面讨论根据本公开实施例的可以由系统用户或管理员预先生成或按需生成的报告。In some embodiments of the present disclosure, data may be received in different formats used by different cloud applications. For example, the data may be formatted in JSON (JavaScript Object Notation) or other data exchange formats, or may be used as log files or database entries. In other embodiments, the process includes step 508 for normalizing and reformatting the data into a common format for storage in and retrieval from the analysis and threat intelligence repository database 311. Reformatting the data may include categorizing and structuring the data into a common format. In several embodiments of the present disclosure, the database adapts to structural changes and new values by running automated processes to check for changed data. In some embodiments, a cloud crawler application (as discussed further above) identifies differences in the structure or values of the retrieved data and implements the changes in the application catalog database 308 and/or the analysis and threat intelligence repository database 311. System reports may be pre-generated at step 510 by a job scheduled to run on the dataset. A specific process for collecting activity data using a cloud loader application is discussed above. According to embodiments of the present disclosure, any of a variety of processes may be used to collect activity data. The following discusses reports that may be generated in advance or on demand by a system user or administrator according to embodiments of the present disclosure.

Ⅵ.报告 VI. Report

存储在应用目录数据库和/或分析和威胁情报储存库数据库311 中的数据可以用于生成各种报告。报告的类别可以包括:认证和授权、网络和设备、系统和改变数据、资源访问和可用性、恶意软件活动以及故障和严重错误。报告可以基于各种属性,诸如但不限于每个应用、每个用户、每个受保护的资源以及用于访问的每个设备。报告可以突出显示最近的改变,诸如云应用中的更新特征或新修改的策略。报告可以由被调度的作业预先生成(例如,出于性能原因),或者可以由用户或管理员请求。The data stored in the application catalog database and/or the analysis and threat intelligence repository database 311 can be used to generate various reports. Report categories can include: authentication and authorization, network and device, system and change data, resource access and availability, malware activity, and failures and critical errors. Reports can be based on various attributes, such as, but not limited to, per-application, per-user, per-protected resource, and per-device access. Reports can highlight recent changes, such as updated features or newly modified policies in cloud applications. Reports can be pre-generated by a scheduled job (e.g., for performance reasons) or can be requested by a user or administrator.

在本公开的各种实施例中,报告包括关于数据生成的分析。分析可以利用ApacheSoftware Foundation技术,诸如Hadoop、Hive、 Spark和Mahout,或者在所使用的数据存储框架中可用的其它特征。若干实施例利用R编程语言来生成分析。在其它实施例中,分析的生成包括使用机器学习算法、专有算法和/或来自诸如FireEye和Norse之类的外部商业源或者诸如Zeus和Tor之类的公共威胁情报社区的外部威胁情报。下面讨论根据本公开实施例的用于生成分析的技术。In various embodiments of the present disclosure, reports include analytics generated with respect to data. The analytics can utilize Apache Software Foundation technologies such as Hadoop, Hive, Spark, and Mahout, or other features available in the data storage framework being used. Several embodiments utilize the R programming language to generate analytics. In other embodiments, the generation of analytics includes the use of machine learning algorithms, proprietary algorithms, and/or external threat intelligence from external commercial sources such as FireEye and Norse, or public threat intelligence communities such as Zeus and Tor. Techniques for generating analytics according to embodiments of the present disclosure are discussed below.

Ⅶ.分析和安全性情报 VII. Analysis and Security Intelligence

根据本公开实施例的安全监视和控制系统可以使用所收集的数据来生成分析。分析可以由分析处理和/或称为分析引擎的分析模块生成。图6中图示了根据本公开实施例的使用威胁情报平台600的部件生成分析的概述。平台600可以在系统200中实现。平台600的全部或部分可以在安全监视和控制系统102中实现。A security monitoring and control system according to an embodiment of the present disclosure can use the collected data to generate analytics. The analytics can be generated by an analytics process and/or an analytics module, referred to as an analytics engine. FIG6 illustrates an overview of generating analytics using components of a threat intelligence platform 600 according to an embodiment of the present disclosure. Platform 600 can be implemented in system 200. All or part of platform 600 can be implemented in security monitoring and control system 102.

可以生成的一类分析是描述性或统计性分析。可以使用预定义的系统查询集生成统计数据,诸如但不限于MapReduce作业以及 Spark和Apache Hive查询。可以使用关联技术为单个应用或跨多个应用生成描述性分析。可以生成的报告的示例包括但不限于登录统计量(例如,登录失败最多的用户,包括IP信誉、地理位置和其它因素考虑的基于IP地址的登录历史)、用户统计量(例如,资源[文件、EC2机器等等]最多的用户、跨云的权利、改变密码的数量)、活动统计量(例如,用户跨云的活动)、关于密钥轮换的统计量(例如,SSH密钥是否已经过在最近30天内轮换)以及资源统计量(例如,文件夹的数量、用户下载的文件、通过漫游或移动用户下载的文件)。可以识别趋势,诸如某个时间段内的登录活动、基于这些问题的过去历史的密码相关支持问题,或识别在某个时间段内看到最多活动的移动设备的类型。报告中的数据可以作为事件查看器显示在用户界面上,该事件查看器显示事件的“墙”连同用户可以响应或补救事件而采取的动作。可以基于可以包括具体事件和阈值的预定义规则来构建提醒。One type of analysis that can be generated is descriptive or statistical analysis. Statistics can be generated using a predefined set of system queries, such as, but not limited to, MapReduce jobs and Spark and Apache Hive queries. Descriptive analytics can be generated for a single application or across multiple applications using correlation techniques. Examples of reports that can be generated include, but are not limited to, login statistics (e.g., users with the most failed logins, including login history based on IP address taking into account IP reputation, geolocation, and other factors), user statistics (e.g., users with the most resources (files, EC2 machines, etc.), entitlements across clouds, number of password changes), activity statistics (e.g., user activity across clouds), statistics on key rotation (e.g., whether SSH keys have been rotated in the last 30 days), and resource statistics (e.g., number of folders, files downloaded by users, files downloaded by roaming or mobile users). Trends can be identified, such as login activity over a certain time period, password-related support issues based on the past history of these issues, or identifying the types of mobile devices that saw the most activity over a certain time period. The data in the reports can be displayed in a user interface as an event viewer that displays a "wall" of events along with actions that users can take to respond to or remediate them. Alerts can be built based on predefined rules that can include specific events and thresholds.

可以被生成的另一类分析是预测性和启发式分析。这些可以结合机器学习算法以生成威胁模型,诸如但不限于与基线期望的偏离、罕见和不常见事件以及行为分析,以导出用户的可疑行为。可以训练算法和简档,以智能地预测异常行为是否是安全风险。可以集成来自提供者的第三方馈送,诸如但不限于MaxMind、FireEye、Qualys、 Mandiant、AlienVault和Norse STIX,以通过提供潜在安全威胁的和与之相关的外部信息来增强威胁情报,诸如但不限于IP(互联网协议)地址信誉、恶意软件、受感染节点点的标识、易受攻击的 Web浏览器版本、用户对代理或VPN服务器的使用以及对云的已知攻击。在若干实施例中,威胁信息以结构化威胁信息表达(STIX) 数据格式表示。例如,一个或多个服务可以贡献关于特定IP地址的信息,诸如信誉(例如,已知具有软件漏洞、大量恶意软件或攻击源)和/或与IP地址相关联的地理位置。这种信息可以与检索到的涉及IP 地址的活动数据(诸如从该IP地址尝试登录的时间)以及从活动数据导出的信息(诸如登录尝试的距离)组合。这些因素可以用于确定“登录速度”度量。可以为其它活动确定度量标准,诸如文件访问、销售事务或虚拟机实例。Another type of analysis that can be generated is predictive and heuristic analysis. These can be combined with machine learning algorithms to generate threat models, such as, but not limited to, deviations from baseline expectations, rare and uncommon events, and behavioral analysis to derive suspicious user behavior. Algorithms and profiles can be trained to intelligently predict whether abnormal behavior is a security risk. Third-party feeds from providers such as, but not limited to, MaxMind, FireEye, Qualys, Mandiant, AlienVault, and Norse STIX can be integrated to enhance threat intelligence by providing external information about and related to potential security threats, such as, but not limited to, IP (Internet Protocol) address reputation, malware, identification of infected nodes, vulnerable web browser versions, user use of proxy or VPN servers, and known attacks on the cloud. In several embodiments, threat information is represented in the Structured Threat Information Expression (STIX) data format. For example, one or more services can contribute information about a specific IP address, such as its reputation (e.g., known to have software vulnerabilities, a high volume of malware, or an attack source) and/or the geographic location associated with the IP address. This information can be combined with retrieved activity data related to the IP address (such as the time of the login attempt from the IP address) and information derived from the activity data (such as the distance of the login attempt). These factors can be used to determine a "login speed" metric. Metrics can be determined for other activities, such as file access, sales transactions, or virtual machine instances.

在本公开的许多实施例中,各种类型的算法可以对于分析数据特别有用。决策树、时间序列、朴素贝叶斯分析以及用于构建用户行为简档的技术是机器学习技术的示例,其可以用于基于可疑活动和/或外部数据馈送的模式生成预测。诸如聚类之类的技术可以用于检测离群值和异常活动。例如,可以基于访问一个或多个文件的帐户或者从被标记(通过第三方订阅源或其它方式)为恶意的IP地址的一系列登录尝试失败来识别威胁。以类似的方式,威胁也可以基于在一系列时间内一个云中或跨多个云的不同活动模式。如上面进一步讨论的,来自不同云的活动数据可以是不同的格式或具有不同的可能值或值范围。规格化上面讨论的处理中的数据可以包括重新格式化数据,使得它具有可比性、具有相同含义,和/或在不同云之间承载相同的重要性和相关性。因此,算法可以以有意义的方式聚合和比较来自不同云的数据。例如,在一个云中特定用户帐户的一系列失败登录可以被视为不是威胁。但是,跨多个云与用户相关联的用户帐户的一系列失败登录可以指示协同努力破解用户的密码并因此引发警报。聚类和回归算法可以用于对数据进行分类并查找常见的模式。例如,聚类算法可以通过聚合从移动设备登录的用户的所有条目来将数据放入集群中。预测分析还可以包括基于活动来识别威胁,诸如用户在几个月内未访问特定的云应用,然后在下个月显示高活动,或者用户在过去几周内每周下载一个文件,从而展示潜在的高级持续威胁(APT)场景。在本公开的若干实施例中,随时间收集的数据被用于构建正常行为的模型(例如,事件和活动的模式)并且将偏离正常的行为标记为异常行为。在一个或多个标记的事件或活动被表征为真或假阳性(例如,通过用户反馈)之后,可以将该信息提供回一个或多个机器学习算法,以自动修改系统的参数。因此,机器学习算法可以至少以上面讨论的方式使用,以做出推荐并减少误报(假阳性)。在一段时间内从各种参数收集的活动数据可以与机器学习算法一起使用,以生成被称为用户行为简档的模式。活动数据可以包括诸如IP地址和地理位置之类的上下文信息。In many embodiments of the present disclosure, various types of algorithms can be particularly useful for analyzing data. Decision trees, time series, naive Bayesian analysis, and techniques for building user behavior profiles are examples of machine learning techniques that can be used to generate predictions based on patterns of suspicious activity and/or external data feeds. Techniques such as clustering can be used to detect outliers and anomalous activity. For example, a threat can be identified based on a series of failed login attempts to an account that accessed one or more files or from an IP address that has been flagged as malicious (via a third-party feed or otherwise). In a similar manner, a threat can also be based on different activity patterns within a cloud or across multiple clouds over a period of time. As further discussed above, activity data from different clouds can be in different formats or have different possible values or value ranges. Normalizing the data in the processing discussed above can include reformatting the data so that it is comparable, has the same meaning, and/or carries the same importance and relevance across different clouds. Thus, algorithms can aggregate and compare data from different clouds in a meaningful way. For example, a series of failed login attempts to a particular user account in one cloud can be considered not to be a threat. However, a series of failed logins to user accounts associated with a user across multiple clouds can indicate a concerted effort to crack the user's password and therefore raise an alarm. Clustering and regression algorithms can be used to classify data and find common patterns. For example, a clustering algorithm can place data into clusters by aggregating all entries of a user logging in from a mobile device. Predictive analysis can also include identifying threats based on activity, such as a user not accessing a specific cloud application for several months and then showing high activity the next month, or a user downloading a file weekly over the past few weeks, thereby presenting a potential advanced persistent threat (APT) scenario. In several embodiments of the present disclosure, data collected over time is used to build a model of normal behavior (e.g., patterns of events and activities) and to mark behavior that deviates from normal as abnormal behavior. After one or more marked events or activities are characterized as true or false positives (e.g., through user feedback), this information can be provided back to one or more machine learning algorithms to automatically modify the parameters of the system. Therefore, machine learning algorithms can be used in at least the manner discussed above to make recommendations and reduce false positives. Activity data collected from various parameters over a period of time can be used together with machine learning algorithms to generate patterns known as user behavior profiles. Activity data can include contextual information such as IP address and geographic location.

用于关联规则学习的算法可以用于生成推荐。在本公开的若干实施例中,简档链接算法被用于通过查找跨应用相关性来链接跨多个云应用的活动。可以使用一个或多个属性或标识元素(诸如跨云共同使用的主用户标识符(ID)或单点登录(SSO)认证机制(例如,Active Directory、Okta))跨多个云识别单个用户。跨应用的活动的关联可以包括在第一云应用中找到具有第一权利的用户,其在第二云应用中具有第二权利,用户从不同的IP地址同时登录到两个云应用,具有多次登录尝试失败然后改变他们的密码的用户,以及在两个云应用中有大量失败登录的共同用户。Algorithms for association rule learning can be used to generate recommendations. In several embodiments of the present disclosure, a profile linking algorithm is used to link activities across multiple cloud applications by finding cross-application dependencies. A single user can be identified across multiple clouds using one or more attributes or identification elements, such as a master user identifier (ID) or a single sign-on (SSO) authentication mechanism (e.g., Active Directory, Okta) that is commonly used across clouds. Correlations of activities across applications can include finding a user with a first entitlement in a first cloud application who has a second entitlement in a second cloud application, a user logged into two cloud applications simultaneously from different IP addresses, a user who has multiple failed login attempts and then changed their password, and a user who has a large number of failed logins in common across two cloud applications.

在本公开的许多实施例中,可以利用用户身份储存库109来促进跨多个云应用的用户跟踪和简档。可以通过将与账户相关联的用户标识符(例如,jdoe、john.doe等等)、通过如上面提到的主(通用) 用户标识符或SSO机制或其它方法关联在一起来链接不同云应用中的特定用户的账户。用户身份储存库109可以包含将与租户相关联的每个用户的帐户关联在一起的信息。利用在租户的控制或所有权下的多个云应用帐户的用户可以被称为“企业用户”。In many embodiments of the present disclosure, a user identity repository 109 can be utilized to facilitate user tracking and profiling across multiple cloud applications. A specific user's account across different cloud applications can be linked by associating a user identifier associated with the account (e.g., jdoe, john.doe, etc.), through a master (universal) user identifier as mentioned above, or an SSO mechanism or other method. The user identity repository 109 can contain information linking the accounts of each user associated with a tenant. A user who utilizes multiple cloud application accounts under the control or ownership of a tenant can be referred to as an "enterprise user."

在本公开的若干实施例中,推荐引擎跟踪用户活动的异常行为的,以检测攻击和未知的威胁。推荐引擎可以针对可疑事件跟踪跨多个云的用户活动。事件可以包括预定义的风险操作(例如,下载包含信用卡号的文件、复制加密密钥、提升普通用户的特权)。可以用事件的详细信息和补救推荐来发出警报。In several embodiments of the present disclosure, a recommendation engine tracks abnormal behavior in user activity to detect attacks and unknown threats. The recommendation engine can track user activity across multiple clouds for suspicious events. Events can include predefined risky actions (e.g., downloading a file containing credit card numbers, copying encryption keys, elevating privileges of a normal user). Alerts can be issued with detailed information about the event and remediation recommendations.

可以针对与具体用户/雇员有关的事件生成基于动态策略的提醒。处理可以监视与具体用户相关联的活动数据,并为用户采取的具体操作生成自定义提醒。Dynamic policy-based alerts can be generated for events related to specific users/employees. The process can monitor activity data associated with specific users and generate customized alerts for specific actions taken by the user.

在本公开的许多实施例中,设计算法以使用分析和威胁情报储存库数据库311中的用户活动数据来模拟正常用户活动。模拟可以用于训练其它机器学习算法以学习用户在系统中的正常行为。一般而言,特定的安全性问题可能并不总是重复,因此可能无法通过纯监督算法检测到。但是,诸如离群值检测之类的技术建立了对检测异常活动有用的基线。这种异常活动连同上下文威胁情报可以提供具有低预测误差的威胁的更准确预测。In many embodiments of the present disclosure, algorithms are designed to simulate normal user activity using user activity data in the analytics and threat intelligence repository database 311. The simulation can be used to train other machine learning algorithms to learn the normal behavior of users in the system. In general, specific security issues may not always be repeated and therefore may not be detected by purely supervised algorithms. However, techniques such as outlier detection establish a baseline that is useful for detecting anomalous activity. This anomalous activity, together with contextual threat intelligence, can provide more accurate predictions of threats with low prediction errors.

在本公开的其它实施例中,分析可以用于检测安全控制漂移,其可以指以可以增加安全风险的看似任意的方式改变一个或多个安全控制。可以响应于一个或多个云应用中的一个或多个安全控制的改变以及与风险事件(在本文也称为“安全风险”、“风险”、“威胁”和“安全威胁”)相关联的可动作情报来生成风险事件。威胁可以包括与应用的使用相关的异常或不合规的活动、事件或安全控制。与其它类型的事件一样,可以向租户、租户系统或其它监视实体发送提醒。例如,云应用中的租户的密码策略可能已被改变,以强加更少的要求 (例如,字符的类型和/或数量)。这可能生成风险事件和提醒,以推荐将密码策略改回原始密码策略。In other embodiments of the present disclosure, analysis can be used to detect security control drift, which can refer to changing one or more security controls in a seemingly arbitrary manner that can increase security risk. Risk events can be generated in response to changes to one or more security controls in one or more cloud applications and actionable intelligence associated with risk events (also referred to herein as "security risks," "risks," "threats," and "security threats"). Threats can include unusual or non-compliant activities, events, or security controls related to the use of an application. As with other types of events, alerts can be sent to tenants, tenant systems, or other monitoring entities. For example, the password policy for a tenant in a cloud application may have been changed to impose fewer requirements (e.g., the type and/or number of characters). This may generate a risk event and an alert to recommend changing the password policy back to the original password policy.

关于上面讨论的任何事件的提醒可以在诸如上面进一步讨论的控件管理平台之类的用户界面上显示。提醒可以包括关于检测到的事件的信息,诸如但不限于事件标识符、日期、时间、风险级别、事件类别、用户帐户和/或与事件相关联的安全控制、与事件相关联的云应用、事件的描述、补救类型(例如,手动或自动)和/或事件状态 (例如,打开、关闭)。关于每个风险事件的提醒中的信息可以包括标识符(ID)、受影响的云应用和实例、类别、优先级、日期和时间、描述、推荐的补救类型和状态。每个风险事件还可以具有用户可选择的动作,诸如编辑、删除、标记状态完成和/或执行补救动作。补救动作的选择可以调用诸如事故补救应用313和/或云播种器应用 304之类的应用来执行所选择的补救。可以将关于识别出的威胁的提醒和/或其它信息发送到安全监视和控制系统102外部的实体。Alerts regarding any of the events discussed above can be displayed on a user interface, such as the control management platform discussed further above. Alerts can include information about the detected event, such as, but not limited to, the event identifier, date, time, risk level, event category, user account and/or security control associated with the event, cloud application associated with the event, a description of the event, remediation type (e.g., manual or automatic), and/or event status (e.g., open, closed). Information in the alert regarding each risk event can include an identifier (ID), affected cloud application and instance, category, priority, date and time, description, recommended remediation type, and status. Each risk event can also have user-selectable actions, such as editing, deleting, marking status complete, and/or executing a remediation action. Selecting a remediation action can invoke an application, such as incident remediation application 313 and/or cloud seeder application 304, to execute the selected remediation. Alerts and/or other information regarding identified threats can be sent to entities external to security monitoring and control system 102.

在本发明的许多实施例中,提醒可以是可视的并且可以出现在用户控制台中,诸如上面进一步讨论的控制管理平台。在若干实施例中,通过网络传送警报,诸如通过电子邮件、短消息服务(SMS)或文本消息传递或基于web的用户控制台。提醒可以作为安全消息传送 (例如,通过安全通信信道或需要密钥或登录凭证来查看)。提醒可以包含有关所推荐或可用的(一个或多个)补救动作的信息,诸如实施更强的安全控制,并请求选择要采取的(一个或多个)补救动作。In many embodiments of the present invention, alerts can be visual and appear in a user console, such as the control management platform discussed further above. In several embodiments, alerts are delivered over a network, such as via email, short message service (SMS) or text messaging, or a web-based user console. Alerts can be delivered as secure messages (e.g., over a secure communication channel or requiring a key or login credentials to view). Alerts can include information about recommended or available remedial action(s), such as implementing stronger security controls, and requesting selection of remedial action(s) to be taken.

以上讨论了根据本公开实施例的用于检索和分析活动数据的具体处理。根据本公开的实施例,可以使用用于检索和分析活动的各种处理中的任何处理。下面讨论补救识别出的威胁的处理。The above discusses a specific process for retrieving and analyzing activity data according to an embodiment of the present disclosure. According to an embodiment of the present disclosure, any of a variety of processes for retrieving and analyzing activity can be used. The following discusses a process for remediating identified threats.

Ⅷ.用于发现和分析应用的系统 VIII. Systems for Discovering and Analyzing Applications

图7和8图示了根据一些实施例的用于发现和管理应用的安全性的处理的框图。图7图示了安全监视和控制系统102可以如何发现第三方应用并显示具有关于那些应用的信息的图形界面,包括应用和那些应用的用户的安全性的测量。Figures 7 and 8 illustrate block diagrams of processes for discovering and managing the security of applications according to some embodiments. Figure 7 illustrates how the security monitoring and control system 102 can discover third-party applications and display a graphical interface with information about those applications, including measures of the security of the applications and users of those applications.

示出了图7中的处理700,用于应用发现和分析与应用使用相关联的应用风险和用户风险。处理700可以被实现用于已经授权的应用,诸如通过向安全监视和控制系统102注册。处理700可以通过用户操作客户端设备(例如,客户端控制台702)在720开始,以提供关于应用(例如,注册应用)的信息。客户端设备702可以使用接口或服务(例如,代表性状态转移(REST)服务)与安全监视和控制系统 102通信。FIG7 illustrates a process 700 for application discovery and analysis of application risk and user risk associated with application usage. Process 700 can be implemented for an application that has been authorized, such as by registering with the security monitoring and control system 102. Process 700 can begin at 720 by a user operating a client device (e.g., client console 702) to provide information about an application (e.g., registering an application). Client device 702 can communicate with security monitoring and control system 102 using an interface or service (e.g., a Representational State Transfer (REST) service).

安全监视和控制系统102可以执行处理,以发现应用使用以及用于应用和那些应用的用户的安全性的测量。在722处,可以从提供已经注册的应用的服务提供者系统下载应用事件。应用事件可以以关于已被访问的应用的数据记录的形式提供。在724处,应用事件可以用于发现已被访问的应用和/或已经用于访问另一个应用的其它第三方应用或已注册的应用的数据。在726处,关于第三方应用的事件可以存储在储存库中。事件信息可以包括关于事件的时间戳、用户信息 (例如,用户名或电子邮件ID)、第三方应用名称(链接->应用细节)、经批准的营与实例名称、IP地址以及地理位置信息。The security monitoring and control system 102 can perform processing to discover application usage and measures of security for applications and users of those applications. At 722, application events can be downloaded from a service provider system that provides registered applications. The application events can be provided in the form of data records about applications that have been accessed. At 724, the application events can be used to discover data about applications that have been accessed and/or other third-party applications or registered applications that have been used to access another application. At 726, events about third-party applications can be stored in a repository. Event information can include a timestamp about the event, user information (e.g., username or email ID), third-party application name (link->application details), approved operation and instance name, IP address, and geographic location information.

在728处,可以执行处理,以确定关于已被访问的第三方应用的信息。应用事件可以用于确定识别每个应用的唯一的信息。使用关于应用的信息,安全监视和控制系统102可以使用本文公开的技术来计算应用的应用风险得分。在一些实施例中,可以维护应用风险得分注册表704,从中可以获得应用风险得分。可以基于关于应用使用的新的和/或更新后的信息来维护和自动更新注册表。可以基于应用细节和来自使用第三方源(诸如第三方应用注册表706)获得的风险得分馈送740的风险得分指示符来计算应用风险得分。应用细节可以包括关于服务提供者或者提供第三方应用的供应商的供应商信息。供应商信息可以包括供应商名称、供应商徽标、供应商域、供应商描述、供应商类别(业务)和/或安全性指示符(例如,访问安全性得分评估支持数据的得分或链接)。关于应用的信息可以在730处发送到客户端控制台702,以便在诸如图15中描绘的图形界面中显示。At 728, processing may be performed to determine information about the third-party applications that have been accessed. Application events may be used to determine unique information identifying each application. Using the information about the applications, the security monitoring and control system 102 may calculate application risk scores for the applications using the techniques disclosed herein. In some embodiments, an application risk score registry 704 may be maintained from which application risk scores may be obtained. The registry may be maintained and automatically updated based on new and/or updated information about application usage. The application risk score may be calculated based on application details and risk score indicators from a risk score feed 740 obtained using a third-party source, such as a third-party application registry 706. The application details may include vendor information about the service provider or vendor providing the third-party application. The vendor information may include the vendor name, vendor logo, vendor domain, vendor description, vendor category (business), and/or security indicators (e.g., a score or link to access security score assessment support data). The information about the application may be sent to the client console 702 at 730 for display in a graphical interface such as that depicted in FIG15.

在736处,安全监视和控制系统102可以获得关于在应用事件中识别出的应用的用户的用户信息。在734处,可以基于用户信息和应用事件细节来计算用户风险得分。在一些实施例中,可以基于从数据源获得的信息来计算用户风险得分,其中数据源维护关于用户的应用使用的信息。可以将关于用户的信息(包括用户风险得分和应用事件细节)发送到客户端控制台702。在732处,客户端控制台702可以在图形界面中显示关于用户的信息,包括用户风险得分和应用事件细节。处理可以在730和/或732结束。At 736, the security monitoring and control system 102 may obtain user information about the user of the application identified in the application event. At 734, a user risk score may be calculated based on the user information and the application event details. In some embodiments, the user risk score may be calculated based on information obtained from a data source that maintains information about the user's application usage. Information about the user (including the user risk score and application event details) may be sent to the client console 702. At 732, the client console 702 may display the information about the user, including the user risk score and application event details, in a graphical interface. Processing may end at 730 and/or 732.

示出了图8中的处理800,用于应用发现和分析与应用使用相关联的应用风险和用户风险。可以实现处理800,以基于日志数据的分析来发现应用。可以从安全监视和控制系统102的一个或多个代理获得日志数据,该代理可以收集关于不同应用和网络活动的日志信息。FIG8 illustrates a process 800 for application discovery and analysis of application and user risks associated with application usage. Process 800 can be implemented to discover applications based on analysis of log data. Log data can be obtained from one or more agents of security monitoring and control system 102, which can collect log information about various applications and network activities.

图8中的处理800可以通过用户操作客户端设备(例如,客户端控制台802)在820开始,以指定识别日志文件的信息。例如,用户可以提供日志文件和/或信息访问日志文件的源。可以在820处摄取日志文件。客户端设备802可以使用接口或服务(例如,代表性状态转移(REST)服务)与安全监视和控制系统102通信。Process 800 in FIG8 may begin at 820 by a user operating a client device (e.g., client console 802) to specify information identifying a log file. For example, the user may provide a log file and/or information accessing a source of the log file. The log file may be ingested at 820. Client device 802 may communicate with security monitoring and control system 102 using an interface or service (e.g., a Representational State Transfer (REST) service).

安全监视和控制系统102可以执行处理,以发现应用使用以及用于应用和那些应用的用户的安全性的测量。在822处,可以通过分阶段处理获得日志。在824处,可以处理日志以进行解析,以识别唯一的网络活动。在826处,可以分析网络活动,以发现第三方应用。贯穿处理日志的各个阶段,信息可以由安全监视和控制系统102传送到客户端控制台802,以在830处显示日志处理状态。The security monitoring and control system 102 can perform processing to discover application usage and measure security for applications and users of those applications. At 822, logs can be obtained through staged processing. At 824, the logs can be processed for parsing to identify unique network activity. At 826, the network activity can be analyzed to discover third-party applications. Throughout the various stages of log processing, information can be transmitted by the security monitoring and control system 102 to the client console 802 to display the log processing status at 830.

在826处,日志可以被用于确定识别每个应用的唯一的信息。可以基于日志确定关于应用使用的事件细节。事件细节可以包括时间戳、第三方应用名称(链接->应用细节)、IP地址、地理位置、用户信息(例如,用户名或电子邮件ID),和/或请求应用的源设备的地址(例如,MAC地址)。在840处,使用关于应用的信息,安全监视和控制系统102可以确定关于每个发现的应用的信息。该信息可以包括关于应用的细节和使用本文公开的技术的应用风险得分。At 826, the logs can be used to determine unique information identifying each application. Event details regarding application usage can be determined based on the logs. Event details can include a timestamp, a third-party application name (link -> application details), an IP address, a geographic location, user information (e.g., a username or email ID), and/or the address of the source device requesting the application (e.g., a MAC address). At 840, using the information about the applications, the security monitoring and control system 102 can determine information about each discovered application. This information can include details about the application and an application risk score using the techniques disclosed herein.

在一些实施例中,可以维护应用风险得分注册表804,从中可以获得应用风险得分。可以基于关于应用使用的新的和/或更新后的信息来维护和自动更新注册表。可以基于应用细节和来自使用第三方源 (诸如第三方应用注册表806)获得的风险得分馈送846的风险得分指示符来计算应用风险得分。应用细节可以包括关于服务提供者或者提供第三方应用的供应商的供应商信息。供应商信息可以包括供应商名称、供应商徽标、供应商域、供应商描述、供应商类别(业务)和 /或安全指示符(例如,访问安全性得分评估支持数据的得分或链接)。关于应用的信息可以在832被发送到客户端控制台802,以在诸如图15中所示的图形界面中显示(例如,关于应用使用的日志发现报告)。In some embodiments, an application risk score registry 804 may be maintained from which application risk scores may be obtained. The registry may be maintained and automatically updated based on new and/or updated information about application usage. Application risk scores may be calculated based on application details and risk score indicators from a risk score feed 846 obtained using a third-party source (such as a third-party application registry 806). Application details may include vendor information about a service provider or vendor providing a third-party application. Vendor information may include vendor name, vendor logo, vendor domain, vendor description, vendor category (business), and/or security indicators (e.g., a score or link to access security score assessment support data). Information about the application may be sent to the client console 802 at 832 for display in a graphical interface such as that shown in FIG. 15 (e.g., a log discovery report about application usage).

在844处,安全监视和控制系统102可以获得关于在应用事件中识别出的应用的用户的用户信息。在842处,可以基于用户信息和应用事件细节来计算用户风险得分。在一些实施例中,可以基于从数据源获得的信息来计算用户风险得分,其中数据源维护关于用户的应用使用的信息。可以将关于用户的信息(包括用户风险得分和应用事件细节)发送到客户端控制台802。在834处,客户端控制台802可以在图形界面中显示关于用户的信息,包括用户风险得分和应用事件细节。处理可以在832和/或834结束。At 844, the security monitoring and control system 102 may obtain user information about the user of the application identified in the application event. At 842, a user risk score may be calculated based on the user information and the application event details. In some embodiments, the user risk score may be calculated based on information obtained from a data source that maintains information about the user's application usage. Information about the user (including the user risk score and application event details) may be sent to the client console 802. At 834, the client console 802 may display the information about the user, including the user risk score and application event details, in a graphical interface. Processing may end at 832 and/or 834.

Ⅸ.计算应用的安全性的测量 IX. Measuring the Security of Computing Applications

图9图示了根据一些实施例的用于计算应用的安全性的测量的处理的序列流程图900。该处理可以由安全监视和控制系统102实现。9 illustrates a sequence flow diagram 900 of a process for measuring security of a computing application according to some embodiments. The process may be implemented by the security monitoring and control system 102.

可以基于由一个或多个第三方源、一个或多个用户、由安全控制和管理系统102管理和策展的源或其组合提供的信息来计算安全性的测量。安全性的测量可以基于关于应用和应用的提供者的信息(“组织信息”)和/或关于应用的安全性的信息(“安全信息”)。安全性的测量可以是定义应用的安全风险的测量的标度(scale)上的值 (在本文中也称为“应用风险得分”)。例如,可以将标度定义为1 到5之间,其中越高的值表示越大的风险。在其它实施例中,可以使用适合于特定评估的各种范围和值中的任何一个。得分可以被安全监视和控制系统102用来提供提醒、提供报告和/或执行补救措施。安全性的测量是用作优先级指示符的值,以帮助用户(例如,安全管理员)减轻由应用造成的安全威胁。在一些实施例中,可以以若干方式计算安全性的测量。The measure of security may be calculated based on information provided by one or more third-party sources, one or more users, sources managed and curated by the security control and management system 102, or a combination thereof. The measure of security may be based on information about the application and the provider of the application ("organizational information") and/or information about the security of the application ("security information"). The measure of security may be a value on a scale that defines a measure of the security risk of the application (also referred to herein as an "application risk score"). For example, the scale may be defined as between 1 and 5, where higher values represent greater risk. In other embodiments, any of a variety of ranges and values appropriate for a particular assessment may be used. The score may be used by the security monitoring and control system 102 to provide alerts, provide reports, and/or perform remedial actions. The measure of security is a value used as a priority indicator to help users (e.g., security administrators) mitigate security threats posed by the application. In some embodiments, the measure of security may be calculated in several ways.

用于计算安全性的测量的一种技术可以涉及计算风险得分,该风险得分指示关于由具体应用对组织提出的安全威胁的严重性的安全性措施。可以基于一个或多个指示符(在本文中也称为“威胁指示符”或“安全性指示符”)来计算风险得分。每个指示符可以是指示安全风险的值或信息。例如,在图9中,可以从一个或多个数据源902 (本文也称为“风险得分馈送”)获得唯一的安全性指示符,其中每个数据源(“S”)(在本文统称为数据源“S1,S2,......Sn”902) 提供应用的一个或多个指示符的“馈送”。每个唯一的指示符 (“I”)(在本文统称为指示符“I1,I2,...,In”904)可以分别由每个数据源902提供。指示符可以是基于安全信息、组织信息或两者的特定类型的指示符。指示符可以是提供应用造成的安全威胁的指示的值。例如,第一指示符可以是指示应用的第一安全威胁的第一值。第二指示符可以是指示应用的第二安全威胁的第二值。第一指示符可以从第一数据源获得,并且第二指示符可以从第二数据源获得。第一数据源可以是图2中的数据源280之一。第二数据源可以与第一数据源相同或者是数据源280中的不同数据源。One technique for calculating a security measure can involve calculating a risk score that indicates a security measure regarding the severity of the security threat posed by a specific application to an organization. The risk score can be calculated based on one or more indicators (also referred to herein as "threat indicators" or "security indicators"). Each indicator can be a value or information indicating a security risk. For example, in Figure 9, a unique security indicator can be obtained from one or more data sources 902 (also referred to herein as a "risk score feed"), where each data source ("S") (collectively referred to herein as data sources " S1 , S2 , ..., Sn " 902) provides a "feed" of one or more indicators for an application. Each unique indicator ("I") (collectively referred to herein as indicators " I1 , I2 , ..., In " 904) can be provided separately by each data source 902. An indicator can be a specific type of indicator based on security information, organizational information, or both. An indicator can be a value that provides an indication of the security threat posed by an application. For example, a first indicator can be a first value indicating a first security threat posed by an application. A second indicator can be a second value indicating a second security threat posed by an application. The first indicator may be obtained from a first data source, and the second indicator may be obtained from a second data source. The first data source may be one of data sources 280 in FIG. 2 . The second data source may be the same as the first data source or a different data source from data sources 280 .

一种类型的安全威胁指示符是可以由一个或多个第三方源(诸如开源(例如,abuse.ch)或商业源(例如, www.SecurityScoreCard.com))提供的安全威胁指示符。安全威胁指示符可以基于安全信息,诸如但不限于应用的安全状态(诸如具有弱加密算法的不安全网络设置)、端点安全性(诸如供应商组织中使用的过时设备)、供应商的网络中的IP信誉(诸如恶意软件)、黑客聊天(诸如黑客网络中关于应用的讨论)、泄露的信息(诸如公开暴露的来自供应商的敏感信息)、应用安全性(诸如网站漏洞)以及 DNS设置(诸如可能导致欺骗应用网站的错误设置)。One type of security threat indicator is a security threat indicator that can be provided by one or more third-party sources, such as open source (e.g., abuse.ch) or commercial sources (e.g., www.SecurityScoreCard.com). The security threat indicator can be based on security information such as, but not limited to, the security status of the application (e.g., insecure network settings with weak encryption algorithms), endpoint security (e.g., outdated devices used in the vendor's organization), IP reputation in the vendor's network (e.g., malware), hacker chat (e.g., discussions about the application in a hacker network), leaked information (e.g., publicly exposed sensitive information from the vendor), application security (e.g., website vulnerabilities), and DNS settings (e.g., incorrect settings that could lead to spoofed application websites).

另一种类型的安全性指示符可以是由一个或多个第三方源(诸如开源(例如,Wikipedia.com)或商业源(例如,Clearbit.com))提供的基于组织的指示符。基于组织的指示符可以基于组织信息,诸如但不限于业务类别、供应商的物理地址(其包括诸如国家之类的地理位置信息)、业务运营多长时间、应用互联网域注册年龄、根据网站排名列表(诸如Alexa域名排名)的应用的流行度,或其组合。Another type of security indicator may be an organization-based indicator provided by one or more third-party sources, such as open source (e.g., Wikipedia.com) or commercial sources (e.g., Clearbit.com). The organization-based indicator may be based on organizational information, such as, but not limited to, the category of business, the physical address of the provider (which includes geographic location information such as country), how long the business has been in operation, the age of the application's Internet domain registration, the popularity of the application according to a website ranking list (such as Alexa Domain Ranking), or a combination thereof.

每个威胁指示符可以表示安全风险得分,该安全风险得分是根据由那个指示符的源定义的标度指示安全风险或威胁的测量的值。在一些实施例中,可以将威胁指示符与标度进行比较,以确定安全风险得分。标度可以由源提供的信息定义或基于源提供的信息。Each threat indicator may represent a security risk score, which is a value indicating a measure of security risk or threat according to a scale defined by the source of that indicator. In some embodiments, the threat indicator may be compared to the scale to determine the security risk score. The scale may be defined by or based on information provided by the source.

安全监视和控制系统102可以基于一个或多个威胁指示符将安全性的测量计算为值或得分。换句话说,可以将安全性的测量计算为安全风险的组合测量。可以处理每个指示符,以根据要用于所有指示符的标度(例如,从0到100的值的标度)将指示符的值调整(例如,规格化)为调整后的值。一旦被规格化,就可以组合用于每个指示符的值,以确定组合得分。The security monitoring and control system 102 can calculate a measure of security as a value or score based on one or more threat indicators. In other words, the measure of security can be calculated as a combined measure of security risk. Each indicator can be processed to adjust (e.g., normalize) its value to an adjusted value based on a scale to be used for all indicators (e.g., a scale of values from 0 to 100). Once normalized, the values for each indicator can be combined to determine a combined score.

指示风险测量的组合安全性得分908可以基于所有或一些指示符。考虑用于确定组合安全性得分的指示符的数量和/或类型可以是可配置的。照此,安全监视和控制系统102可以被配置为添加或移除从其获得指示符的源902,并且可以被配置为添加或移除从源902获得的指示符904。在一些实施例中,可以呈现图形界面,该图形界面使用户能够配置为得分考虑的指示符的数量和类型。在一些实施例中,组合得分可以基于定义要通过其计算得分的标准的安全策略。标准可以基于安全性的一个或多个属性。这些属性可以用于选择要为得分考虑的指示符。The combined security score 908, indicating a risk measure, can be based on all or some of the indicators. The number and/or type of indicators considered for determining the combined security score can be configurable. As such, the security monitoring and control system 102 can be configured to add or remove sources 902 from which indicators are obtained, and can be configured to add or remove indicators 904 obtained from sources 902. In some embodiments, a graphical interface can be presented that enables a user to configure the number and type of indicators considered for the score. In some embodiments, the combined score can be based on a security policy that defines the criteria by which the score is calculated. The criteria can be based on one or more attributes of security. These attributes can be used to select the indicators to be considered for the score.

在一些实施例中,组合得分908可以基于使用用于每个指示符的权重值的指示符的组合。例如,可以选择权重(“W”)(在本文统称为权重“W1,W2,...,Wn”904)以应用于用于计算组合得分908的一个或多个具体指示符。权重可以是整数1或1的一部分的值。可以为不同的指示符选择不同的权重。在上面的示例中,第一权重可以是用于第一指示符的第一权重值,并且第二权重可以是用于第二指示符的第二权重值。权重值可以不同。In some embodiments, the combined score 908 can be based on a combination of indicators using a weight value for each indicator. For example, a weight ("W") (collectively referred to herein as weights " W1 , W2 , ..., Wn " 904) can be selected to apply to one or more specific indicators used to calculate the combined score 908. The weight can be a value that is an integer of 1 or a fraction of 1. Different weights can be selected for different indicators. In the example above, the first weight can be a first weight value for a first indicator, and the second weight can be a second weight value for a second indicator. The weight values can be different.

权重可以由用户通过图形界面来配置。在一些实施例中,可以基于安全策略来选择权重,其中安全策略基于特定指示符被给予特定权重来定义。当指示符对安全风险具有更多重要性或建议时,可以考虑更大的权重值。当指示符对安全风险具有较少重要性或建议时,可以考虑较小的权重值。在一些实施例中,可以为来自特定源的所有指示符选择权重。例如,可以基于源的可靠性或信任将权重应用于来自那个源的所有指示符。在一些实施例中,安全监视和控制系统102可以存储关于应用的威胁研究分析的数据。这些数据可以用于选择性地为每个指示符选择权重。The weights can be configured by the user through a graphical interface. In some embodiments, the weights can be selected based on a security policy, where the security policy is defined based on specific indicators being given specific weights. When an indicator has more importance or suggestion for a security risk, a larger weight value can be considered. When an indicator has less importance or suggestion for a security risk, a smaller weight value can be considered. In some embodiments, weights can be selected for all indicators from a particular source. For example, a weight can be applied to all indicators from that source based on the reliability or trust of the source. In some embodiments, the security monitoring and control system 102 can store data about the threat research analysis of the application. This data can be used to selectively select a weight for each indicator.

可以基于指示符和对那些指示符的权重的考虑来计算组合得分。在至少一个实施例中,可以使用等式908来计算组合得分,以提供组合得分=(I1(W1)+I2(W2)+.....In(Wn))/(W1+W2+…Wn)。在这个等式中,通过将每个指示符乘以相应的权重(“W”)906来计算每个指示符 (“I”)904的值。计算第一值,该值是针对每个指示符计算的值的总和(I1(W1)+I2(W2)+.....In(Wn))。计算第二值,该值是被应用以获得第一值的每个权重值的总和。可以基于将第一值除以第二值来计算组合得分908。A combined score can be calculated based on the indicators and the weights assigned to those indicators. In at least one embodiment, the combined score can be calculated using equation 908 to provide: Combined score = (I 1 (W 1 ) + I 2 (W 2 ) + ..... In (W n )) / (W 1 + W 2 + .... W n ). In this equation, the value of each indicator ("I") 904 is calculated by multiplying each indicator by a corresponding weight ("W") 906. A first value is calculated, which is the sum of the values calculated for each indicator (I 1 (W 1 ) + I 2 (W 2 ) + ..... In (W n )). A second value is calculated, which is the sum of each weight value applied to obtain the first value. The combined score 908 can be calculated based on dividing the first value by the second value.

在从上面继续的示例中,可以基于将第一指示符的第一值乘以第一权重值来计算第一加权值。可以基于将第二指示符的第二值乘以第二权重值来计算第二加权值。可以基于第一加权值和第二加权值的总和来计算加权总和值。可以基于第一权重值和第二权重值的总和来计算权重总和值。可以将安全性的测量计算为基于将加权总和除以权重总和的值。In the example continuing from above, a first weighted value may be calculated based on multiplying a first value of the first indicator by a first weighted value. A second weighted value may be calculated based on multiplying a second value of the second indicator by a second weighted value. A weighted sum value may be calculated based on the sum of the first weighted value and the second weighted value. A weighted sum value may be calculated based on the sum of the first weighted value and the second weighted value. A measure of security may be calculated as a value based on dividing the weighted sum by the weighted sum.

在一些实施例中,安全监视和控制系统102可以从一个或多个用户获得关于组合得分908的有效性和准确性的反馈910。反馈910可以通过网络获得,通过图形界面或手动反馈来促进。可以基于反馈 910来调整源、指示符和/或权重中的任何一个。基于反馈910,可以调整组合得分908。可以以与计算组合得分908相同的方式计算新的组合得分912(“调整后的得分”)。除调整后的得分912可以基于基于反馈910选择的指示符和/或权重来计算之外。可以从用于计算组合得分908的内容中添加或移除源、指示符和/或权重。用于指示符的权重值可以基于我们的安全性分析师以及客户反馈来周期性地修订,以改进风险得分。用于指示符权重的修订处理可以通过自动机器学习算法(诸如决策树和神经网络)来执行。In some embodiments, the security monitoring and control system 102 may obtain feedback 910 from one or more users regarding the effectiveness and accuracy of the combined score 908. The feedback 910 may be obtained over a network, facilitated by a graphical interface, or manual feedback. Any of the sources, indicators, and/or weights may be adjusted based on the feedback 910. Based on the feedback 910, the combined score 908 may be adjusted. A new combined score 912 ("adjusted score") may be calculated in the same manner as the combined score 908. Except that the adjusted score 912 may be calculated based on indicators and/or weights selected based on the feedback 910. Sources, indicators, and/or weights may be added or removed from the content used to calculate the combined score 908. The weight values for the indicators may be periodically revised based on our security analysts and customer feedback to improve the risk score. The revision process for the indicator weights may be performed by automated machine learning algorithms (such as decision trees and neural networks).

可以基于关于特定安全威胁的每个指示符和/或组合得分来执行回归分析914。回归分析可以包括建立并更新线性回归模型。线性回归模型可以提供诸如S=c1(I1)+c2(I2)+…+cn(In)之类的输出。由回归模型计算出的系数ci可以是新的或修改后的权重,其将替换用于计算组合得分908的初始权重。随着更多反馈和更多数据被收集,该模型将提供更高的准确性。A regression analysis 914 can be performed based on each indicator and/or combined score for a particular security threat. The regression analysis can include building and updating a linear regression model. The linear regression model can provide an output such as S = c 1 (I 1 ) + c 2 (I 2 ) + ... + c n (I n ). The coefficients c i calculated by the regression model can be new or modified weights that replace the initial weights used to calculate the combined score 908. As more feedback and more data are collected, the model will provide greater accuracy.

以下描述安全监视和控制系统102可以使用来自如abuse.ch(S1) 的开源服务和如securityscorecard.io(S2)的商业服务的威胁情报来确定安全性的测量的示例场景。在这个示例中,使用两个源S1和S2。源S1提供域信誉服务,它提供域是否用于托管恶意软件、垃圾邮件程序等等信息。域信誉将是S1的指示符I11。源S2提供关于应用安全性(I21)(例如,域中托管的应用是否存在安全漏洞)、网络安全性 (I22)(例如,使用弱加密算法)的信息。应用安全性将是指示符 I21,并且网络安全性将是S2的指示符I22The following describes an example scenario in which the security monitoring and control system 102 can use threat intelligence from open source services such as abuse.ch ( S1 ) and commercial services such as securityscorecard.io ( S2 ) to determine security measures. In this example, two sources, S1 and S2 , are used. Source S1 provides a domain reputation service that provides information about whether a domain is used to host malware, spam programs, and the like. Domain reputation will be indicator I11 of S1 . Source S2 provides information about application security ( I21 ) (e.g., whether applications hosted on the domain have security vulnerabilities) and network security ( I22 ) (e.g., whether weak encryption algorithms are used). Application security will be indicator I21 , and network security will be indicator I22 of S2 .

在这种场景中,取决于数据源的数据质量和可靠性,可以为每个源指派初始权重值。例如,S1报告的问题可以有40%的权重,w11。由于S1有一个指示符I11,因此这个指示符将接受整个40%的权重。源S2具有两个指示符,它们可以共享指派给该源的权重值。为简单起见,我们假设I21和I22共享相同的重量-w21和w22各占30%。使用本文公开的技术,可以如下计算组合得分908:((I11* w11)+(I21*w21)+(I22*w22))/(w11+w21+w22)。通过插入权重,组合得分可以被反映为=((I11*0.4)+(I21*0.3)+(I22*0.3))/(0.4+0.3+0.3)。在这个示例中,威胁情报源指示符被评为I11=65,I21=91,I22=90,域的风险得分将为80(四舍五入)。在另一种场景中,如果客户确认域是合法的并且没有域信誉的问题,那么I11变为0。因此,用于这个客户的域风险得分降至54(四舍五入)。在还有另一种场景中,如果客户确认他们想要将应用列入白名单,因为供应商已解决了所有报告的问题,那么I11、I21将为0。因此,用于客户的域风险得分将为0,指示对于客户没有来自这个应用的风险。当客户继续调整组合得分时,回归模型可以周期性地学习权重与风险得分之间的关系,并相应地调整权重值。In this scenario, each source can be assigned an initial weight value, depending on the data quality and reliability of the data source. For example, the issue reported by S1 can have a 40% weight, w11 . Since S1 has one indicator I11 , this indicator will receive the entire 40% weight. Source S2 has two indicators, which can share the weight value assigned to the source. For simplicity, we assume that I21 and I22 share the same weight - w21 and w22 each account for 30%. Using the technology disclosed herein, the combined score 908 can be calculated as follows: (( I11 * w11 )+( I21 * w21 )+( I22 * w22 ))/( w11 + w21 + w22 ). By inserting the weights, the combined score can be reflected as =((I 11 *0.4)+(I 21 *0.3)+(I 22 *0.3))/(0.4+0.3+0.3). In this example, the threat intelligence source indicators are rated as I 11 =65, I 21 =91, and I 22 =90, and the domain's risk score will be 80 (rounded up). In another scenario, if the customer confirms that the domain is legitimate and there are no domain reputation issues, then I 11 becomes 0. Therefore, the domain risk score for this customer drops to 54 (rounded up). In yet another scenario, if the customer confirms that they want to whitelist the application because the vendor has resolved all reported issues, then I 11 and I 21 will be 0. Therefore, the domain risk score for the customer will be 0, indicating that there is no risk to the customer from this application. As the customer continues to adjust the combined score, the regression model can periodically learn the relationship between the weights and the risk score and adjust the weight values accordingly.

Ⅹ.用于检测和分析应用的安全性的处理 X. Processing for Detecting and Analyzing Application Security

图10图示了根据实施例的用于发现和管理应用的风险的处理的流程图1000。在许多实施例中,下面讨论的处理的一个或多个特征可以由图1的安全监视和控制系统102执行。10 illustrates a flow chart 1000 of a process for discovering and managing risk to an application, according to an embodiment. In many embodiments, one or more features of the process discussed below may be performed by the security monitoring and control system 102 of FIG.

流程图1000可以通过收集关于由组织的一个或多个用户访问的应用的信息而在1002开始。可以使用本文公开的技术从一个或多个数据源收集信息。数据源可以包括但不限于路由器、网络防火墙、应用防火墙、云应用、云应用移动设备管理(MDM)服务器以及云应用使用跟踪服务器。在一些实施例中,可以通过使用“拉”型机制请求信息从数据源检索信息。在其它实施例中,信息可以由数据源通过“推送”型机制提供而无需请求。可以从组织环境内的网络流量中的数据来监视信息。环境可以是安全的网络环境,诸如配置有一个或多个网络安全性特征(诸如防火墙)的环境。Flowchart 1000 may begin at 1002 by collecting information about applications accessed by one or more users of an organization. Information may be collected from one or more data sources using the techniques disclosed herein. The data sources may include, but are not limited to, routers, network firewalls, application firewalls, cloud applications, cloud application mobile device management (MDM) servers, and cloud application usage tracking servers. In some embodiments, information may be retrieved from the data source by requesting the information using a "pull" type mechanism. In other embodiments, the information may be provided by the data source via a "push" type mechanism without the need for a request. The information may be monitored from data in network traffic within the organization's environment. The environment may be a secure network environment, such as one configured with one or more network security features, such as a firewall.

在各种实施例中,从数据源传送的信息可以是各种格式中的任何一种。一些数据源可以经由指定的应用编程接口(API)与之交互。其它数据源可以将信息存储在数据库表或日志文件中。In various embodiments, the information transmitted from the data source can be in any of a variety of formats. Some data sources can interact with it via a specified application programming interface (API). Other data sources can store information in database tables or log files.

从路由器和网络防火墙检索的信息可以包括关于被访问的网站或由用户的设备做出的其它连接的信息。这种信息可以包括但不限于源和目的地IP、协议、服务(例如,用于HTTP的443)、HTTP请求内的查询字符串和/或产品(例如,用户正在使用什么平台连接到网络的实例名称)。IP地址可以用于执行地理位置的反向查找和/或评估IP地址的信誉。在一些实施例中,利用深度分组检查(DPI) 来访问网络流量内的附加信息,诸如用户名和其它嵌入的数据。用户设备常常利用虚拟专用网络(VPN)连接到企业网络,因此流量穿过企业网络并且可以由网络内的路由器或防火墙捕获。The information retrieved from the router and network firewall may include information about the websites visited or other connections made by the user's device. Such information may include, but is not limited to, source and destination IP, protocol, service (e.g., 443 for HTTP), query string within the HTTP request, and/or product (e.g., instance name of what platform the user is using to connect to the network). The IP address can be used to perform a reverse lookup of the geographic location and/or to assess the reputation of the IP address. In some embodiments, deep packet inspection (DPI) is utilized to access additional information within the network traffic, such as usernames and other embedded data. User devices often utilize a virtual private network (VPN) to connect to the enterprise network, so the traffic traverses the enterprise network and can be captured by a router or firewall within the network.

在某些实施例中,可以从第三方获得关于应用的信息和/或从提供感兴趣的应用的应用或另一个应用获得日志信息。例如,可以从由授权应用提供的数据日志中检索关于授权应用的插件应用的信息。在另一个示例中,线索生成(lead-generation)应用(例如,组织未知的第三方应用)可以与应用(诸如由组织已知的云服务提供者提供的应用)一起使用。第三方应用信息可时以包括但不限于访问时间、用户名、登录URL、应用名称、应用源IP和/或登录时间。此外,可以使用本文公开的技术生成补充信息,诸如URL或IP地址的反向查找。在一些实施例中,可以通过提供应用的服务提供者的接口(例如,应用编程接口)来获得信息。In some embodiments, information about an application can be obtained from a third party and/or log information can be obtained from the application that provides the application of interest or another application. For example, information about a plug-in application of an authorized application can be retrieved from a data log provided by the authorized application. In another example, a lead-generation application (e.g., a third-party application unknown to the organization) can be used in conjunction with an application (such as an application provided by a cloud service provider known to the organization). Third-party application information may include, but is not limited to, access time, username, login URL, application name, application source IP, and/or login time. In addition, supplemental information such as a reverse lookup of a URL or IP address can be generated using the techniques disclosed herein. In some embodiments, information can be obtained through an interface (e.g., an application programming interface) of the service provider that provides the application.

在一些实施例中,服务器可以管理并存储与应用的使用相关的信息。可以从服务器检索这种信息。在一个示例中,跟踪服务器可以存储与组织中的用户对云应用的使用相关的信息。用于移动设备管理 (MDM)的服务器可以管理移动设备(诸如智能电话或平板电脑) 上的应用和其它软件的管理。例如,可以在订阅的基础上向客户提供 Google应用软件套件。Microsoft Server可以管理整个企业中的设备上安装的Microsoft产品。Windows 10应用可以由Windows系统管理员管理。还可以在企业中利用其它跨平台的软件管理系统。In some embodiments, a server can manage and store information related to the use of applications. This information can be retrieved from the server. In one example, a tracking server can store information related to the use of cloud applications by users in an organization. A server used for mobile device management (MDM) can manage the management of applications and other software on mobile devices (such as smartphones or tablets). For example, the Google application suite can be provided to customers on a subscription basis. A Microsoft server can manage Microsoft products installed on devices throughout an enterprise. Windows 10 applications can be managed by Windows system administrators. Other cross-platform software management systems can also be utilized in the enterprise.

在步骤1004处,可以使用在步骤1002获得的信息来确定应用是否与安全风险相关联。安全风险可以用于确定应用是否未授权或未经批准以供组织中的用户使用。例如,关于应用的信息可以用于确定组织是否批准了应用的使用。可以使用诸如图9和11中公开的那些相关技术来处理信息。可以从一个或多个源(包括安全监视和控制系统 102、第三方数据源,以及在步骤1002获得的信息的处理)获得关于应用的信息。该信息可以包括关于提供应用的组织的组织信息。该信息可以包括关于与应用相关的安全性的安全信息。安全信息可以包括与应用的指示符或安全性方面相关的测量或得分。在一些实施例中,可以直接从应用的提供者获得信息。At step 1004, the information obtained in step 1002 can be used to determine whether the application is associated with a security risk. Security risks can be used to determine whether the application is unauthorized or unapproved for use by users in the organization. For example, information about the application can be used to determine whether the organization has approved the use of the application. The information can be processed using relevant technologies such as those disclosed in Figures 9 and 11. Information about the application can be obtained from one or more sources (including security monitoring and control system 102, third-party data sources, and processing of information obtained in step 1002). The information may include organizational information about the organization that provides the application. The information may include security information about security related to the application. The security information may include measurements or scores related to indicators or security aspects of the application. In some embodiments, the information can be obtained directly from the provider of the application.

在步骤1006,可以为正在被评估的应用确定一个或多个特征 (例如,安全性指示符)。特征可以包括但不限于应用是独立的还是对经批准的应用的扩展或插件;扩展或插件应用从经批准的应用访问的数据集(例如,销售数据相对于产品代码);应用的类型或类别(例如,业务内容相对于社交网络);与应用相关联的域名的年龄或注册地点;由第三方信誉或排名服务(例如,Alexa、Google排名或排名因素、市值、公开列出的相对于私营公司,等等)提供的与应用相关联的互联网域的域名信誉和/或互联网站点排名,和/或与应用相关联的网站的IP地址信誉,其指示诸如垃圾邮件或任何恶意软件相关问题历史之类的问题(例如,如由第三方服务提供的)。At step 1006, one or more characteristics (e.g., security indicators) may be determined for the application being evaluated. Characteristics may include, but are not limited to, whether the application is standalone or an extension or plug-in to an approved application; the data sets that the extension or plug-in application accesses from the approved application (e.g., sales data versus product code); the type or category of the application (e.g., business content versus social network); the age or registration location of the domain name associated with the application; the domain name reputation and/or internet site ranking of the internet domain associated with the application as provided by a third-party reputation or ranking service (e.g., Alexa, Google ranking or ranking factors, market capitalization, publicly listed versus private companies, etc.), and/or the IP address reputation of the website associated with the application, which indicates issues such as a history of spam or any malware-related issues (e.g., as provided by a third-party service).

可以使用从其它源检索出的信息来确定特征。该确定涉及通过为被确定用于评估应用可能对组织造成的安全风险而确定的每个特征指派数值(例如,权重)来进行量化。Characteristics may be determined using information retrieved from other sources.The determination involves quantification by assigning a numerical value (eg, a weight) to each characteristic determined for use in assessing the security risk that an application may pose to an organization.

在一些实施例中,附加特征可以关于与被授权的或安全的应用集成的应用。例如,当第三方应用与流行的经批准的应用(诸如 Salesforce、Google应用等等)集成时,经批准的应用供应商会提供关于如何访问数据的指南。由于这种访问,经批准的应用可以被视为具有增加的风险并且其总体风险得分增加。例如,第三方应用可能无法安全地管理和清除被访问的数据,或者第三方应用中的潜在安全漏洞可以是未授权的数据泄漏的源,这超出了经批准的应用的控制范围。可以针对与授予第三方应用的访问的安全性以及第三方应用与经批准或被授权的应用的界面相关的因素确定特征。In some embodiments, additional features may relate to applications that integrate with authorized or secure applications. For example, when a third-party application integrates with a popular approved application (such as Salesforce, Google Apps, etc.), the approved application vendor may provide guidance on how to access data. Due to this access, the approved application may be deemed to have an increased risk and its overall risk score increased. For example, the third-party application may not be able to securely manage and clear the accessed data, or potential security vulnerabilities in the third-party application may be a source of unauthorized data leakage that is beyond the control of the approved application. Features may be determined for factors related to the security of the access granted to the third-party application and the interface of the third-party application with the approved or authorized application.

在步骤1008处,可以基于所确定的特征为一个或多个应用中的每个应用确定安全性得分或安全性的测量。得分和特征可以存储在数据库中,诸如应用注册表。可以使用本文公开的技术(诸如参考图9 的那些技术)来确定得分。At step 1008, a security score or measure of security may be determined for each of the one or more applications based on the determined characteristics. The scores and characteristics may be stored in a database, such as an application registry. The scores may be determined using techniques disclosed herein, such as those described with reference to FIG. 9 .

安全得分可以是定义安全风险的测量的标度上的值。例如,可以将标度定义为1到5之间,其中越高的值表示越大的风险。在其它实施例中,可以使用适合于特定评估的各种范围和值中的任何一个。得分可以被安全监视和控制系统102用来提供提醒、提供报告和/或执行补救措施。此外,安全监视和控制系统102可以结合关于更安全 (例如,认可的、授权的或经批准的)应用的信息来利用关于应用安全性的得分和其它信息进行安全性评估并确定威胁级别。The security score can be a value on a scale that defines a measure of security risk. For example, the scale can be defined as between 1 and 5, with higher values representing greater risk. In other embodiments, any of a variety of ranges and values suitable for a particular assessment can be used. The score can be used by the security monitoring and control system 102 to provide alerts, provide reports, and/or implement remedial measures. In addition, the security monitoring and control system 102 can utilize the score and other information about application security in conjunction with information about more secure (e.g., approved, authorized, or approved) applications to perform security assessments and determine threat levels.

流程图1000可以在步骤1010结束。Flowchart 1000 may end at step 1010 .

图11图示了根据实施例的用于发现和管理应用风险的处理的流程图1100。在许多实施例中,下面讨论的处理的一个或多个特征可以由图1的安全监视和控制系统102执行。流程图1100图示了图10 中描绘的处理的某些实施例。FIG11 illustrates a flowchart 1100 of a process for discovering and managing application risk according to an embodiment. In many embodiments, one or more features of the process discussed below may be performed by the security monitoring and control system 102 of FIG1. Flowchart 1100 illustrates certain embodiments of the process depicted in FIG10.

流程图1100可以通过获得关于用户的网络活动的信息在步骤 1102开始。该信息可以从使用用于监视网络活动的技术(包括参考图8公开的那些技术)获得的数据获得。可以通过监视和/或从网络设备获得数据(例如,日志数据或记录数据)来获得关于网络活动的数据。为了让组织监视应用使用,组织可以监视其内部或受保护的网络(例如,内联网)以进行网络活动。可以通过从组织的网络内部和外部的网络流量的网络资源(例如,网络设备)获得信息来监视网络活动。Flowchart 1100 may begin at step 1102 by obtaining information about a user's network activity. This information may be obtained from data obtained using techniques for monitoring network activity, including those disclosed with reference to FIG. 8 . Data regarding network activity may be obtained by monitoring and/or obtaining data (e.g., log data or recorded data) from network devices. In order for an organization to monitor application usage, the organization may monitor its internal or protected network (e.g., an intranet) for network activity. Network activity may be monitored by obtaining information from network resources (e.g., network devices) about network traffic both within and outside the organization's network.

在一些实施例中,可以从多个数据源收集关于网络活动的数据。可以通过安全监视和控制系统102摄取和处理来获取日志文件,以识别关于网络活动的信息,诸如应用使用。可以使用图8中公开的技术来获得日志文件。可以使用图7中公开的技术从一个或多个源获得关于应用事件的数据。在一些实施例中,可以从一个或多个第三方源 (诸如应用的服务提供者)获得关于网络活动的信息(诸如具体的服务和应用使用)。安全监视和控制系统102可以利用服务提供者的接口来获得关于一个或多个用户的活动的日志信息。In some embodiments, data about network activity can be collected from multiple data sources. Log files can be ingested and processed by the security monitoring and control system 102 to identify information about network activity, such as application usage. Log files can be obtained using the techniques disclosed in FIG8 . Data about application events can be obtained from one or more sources using the techniques disclosed in FIG7 . In some embodiments, information about network activity (such as specific services and application usage) can be obtained from one or more third-party sources (such as service providers for applications). The security monitoring and control system 102 can utilize the service provider's interface to obtain log information about the activities of one or more users.

可以以多种不同格式从多个源获得信息。可以处理包含该信息的数据,以准备(例如,规格化)信息成用于处理的格式,以确定应用使用。可以处理数据以进行重复数据删除,以识别网络活动的唯一的实例。The information may be obtained from multiple sources in a variety of different formats. The data containing the information may be processed to prepare (e.g., normalize) the information into a format for processing to determine application usage. The data may be processed to perform deduplication to identify unique instances of network activity.

在步骤1104处,所获得的关于网络活动的信息被用于确定已被访问的一个或多个应用。所获得的关于网络活动的信息可以从关于网络活动的数据获得。数据可以用于网络上的通信。数据进一步关于作为组织的网络上的租户的多个用户的网络。获得关于网络活动的数据可以包括从网络上的一个或多个网络设备获得网络数据。可以通过本文公开的技术从计算环境中实现的一个或多个代理和/或日志管理器获得网络数据。网络数据可以由安全监视和控制系统的日志收集器获得。可以在组织的计算环境中保护网络,使得计算环境是安全的,免受公共网络影响。At step 1104, the information obtained about the network activity is used to determine one or more applications that have been accessed. The information obtained about the network activity can be obtained from data about the network activity. The data can be used for communications on the network. The data further relates to the network of multiple users who are tenants on the organization's network. Obtaining data about the network activity can include obtaining network data from one or more network devices on the network. The network data can be obtained from one or more agents and/or log managers implemented in the computing environment using the techniques disclosed herein. The network data can be obtained by a log collector of a security monitoring and control system. The network can be protected in the organization's computing environment so that the computing environment is secure from public networks.

访问应用可以包括允许应用的数据由不同的应用访问。例如,应用的数据可以由用户同意以从应用的服务提供者访问用户的数据的第三方应用访问。应用可以由用户访问应用的组织授权(例如,批准) 或未授权(例如,未批准)。该信息可以包括关于所使用的应用的数据。数据可以是应用名称或者指向正被访问的应用的链接。关于应用的信息可以用于从第三方源(例如,应用的提供者)检索信息。该信息可以包括在从提供者的服务提供者系统获得的活动数据中。可以识别每个唯一的应用,以确定用户已访问的应用。在一些实施例中,一些应用可以是相同类型或种类,但是可以与不同的实例和/或不同的访问帐户对应。因为每个唯一的应用可以对所评估的一个或多个特征造成安全漏洞,所以可以确定每个应用用于分析。与每个唯一的应用对应的数据可以关联存储,以供应用进行进一步处理。Accessing an application can include allowing the application's data to be accessed by different applications. For example, the application's data can be accessed by a third-party application that the user agrees to access the user's data from the application's service provider. The application can be authorized (e.g., approved) or unauthorized (e.g., unapproved) by the organization from which the user accesses the application. The information can include data about the application being used. The data can be the application name or a link to the application being accessed. The information about the application can be used to retrieve information from a third-party source (e.g., the provider of the application). This information can be included in activity data obtained from the provider's service provider system. Each unique application can be identified to determine which applications the user has accessed. In some embodiments, some applications can be of the same type or kind, but can correspond to different instances and/or different access accounts. Because each unique application can pose a security vulnerability to one or more of the features being evaluated, each application can be identified for analysis. The data corresponding to each unique application can be stored in association for further processing by the application.

在步骤1106处,为已被访问的一个或多个应用中的每一个确定访问信息。可以使用在步骤1102获得的信息来确定访问信息。可以通过处理数据来识别应用,以识别数据的与对用户访问过的应用的请求对应的部分。数据的该部分可以指示关于对应用的请求的应用信息,该应用信息用于将应用识别为正被用户访问。数据可以包括关于请求的信息(诸如IP地址、源标识符、到应用的链接),或者与请求的源或与应用所在的目的地相关的其它信息。可以根据与每个应用对应的数据来确定访问信息。可以使用数据的部分来确定关于与应用对应的网络活动的访问信息。访问信息可以包括用于访问应用或与访问应用相关的信息。可以从与每个唯一的应用对应的数据获得访问信息。使用关于每个应用的信息,可以为用户识别关于每个应用的访问信息。访问信息可以包括关于访问应用的请求的网络信息,包括关于请求应用的源(例如,源设备)和请求被发送到的目的地的信息。访问信息可以包括但不限于网络活动的时间戳、应用信息(例如,应用名称、访问应用的源位置和/或关于应用的细节)、源的IP地址、的地的IP 地址、关于源的地理位置信息、用户信息(例如,用户标识或电子邮件标识)以及介质访问控制(MAC)地址。应用的源位置可以是链接(诸如URL或URI)。可以处理在步骤1102获得的信息,以识别关于在步骤1104识别出的每个唯一的应用的网络活动。At step 1106, access information is determined for each of the one or more applications that have been accessed. The access information can be determined using the information obtained in step 1102. The application can be identified by processing the data to identify a portion of the data corresponding to the request for the application accessed by the user. The portion of the data can indicate application information about the request for the application, which is used to identify the application as being accessed by the user. The data can include information about the request (such as an IP address, a source identifier, a link to the application), or other information related to the source of the request or the destination where the application is located. The access information can be determined based on the data corresponding to each application. The portion of the data can be used to determine access information about the network activity corresponding to the application. The access information can include information used to access or related to accessing the application. The access information can be obtained from the data corresponding to each unique application. Using the information about each application, access information about each application can be identified for the user. The access information can include network information about the request to access the application, including information about the source of the request (e.g., the source device) and the destination to which the request was sent. The access information may include, but is not limited to, a timestamp of the network activity, application information (e.g., application name, source location accessing the application, and/or details about the application), source IP address, local IP address, geographic location information about the source, user information (e.g., user ID or email ID), and media access control (MAC) address. The source location of the application may be a link (such as a URL or URI). The information obtained in step 1102 may be processed to identify network activity for each unique application identified in step 1104.

在步骤1108处,基于访问信息确定关于提供每个应用的提供者系统的域的域信息。可以使用参考图7和8公开的技术来确定域信息。应用的域可以包括关于提供者和提供应用的提供者的系统的信息(例如,主机系统信息)。例如,域信息可以包括域名、IP地址、系统信息或关于提供者系统中的域的主机系统的其它信息。At step 1108, domain information about the domain of the provider system providing each application is determined based on the access information. The domain information can be determined using the techniques disclosed with reference to Figures 7 and 8. The domain of the application can include information about the provider and the provider's system providing the application (e.g., host system information). For example, the domain information can include a domain name, an IP address, system information, or other information about the host system of the domain in the provider system.

可以通过使用全部或一些访问信息查询一个或多个数据源来确定域信息。安全监视和控制系统102可以维护关于应用和应用的提供者的信息的数据存储。在一些实施例中,第三方数据源可以用于查找或查询关于应用的域的信息。一个第三方数据源可以是由第三方管理的数据库,使得数据库存储关于域的信息和关于一个或多个应用提供者的系统信息。另一个第三方数据源可以是域名系统(DNS)源或存储关于域或域的实体(例如,提供者)的信息的某个其它源。可以基于访问信息来从第三方数据源查询关于域的信息。例如,可以发出 NSlookup命令,以确定访问信息中IP地址的域。Domain information can be determined by querying one or more data sources using all or some of the access information. The security monitoring and control system 102 can maintain a data store of information about applications and providers of applications. In some embodiments, a third-party data source can be used to find or query information about the domain of an application. One third-party data source can be a database managed by a third party, such that the database stores information about the domain and system information about one or more application providers. Another third-party data source can be a Domain Name System (DNS) source or some other source that stores information about a domain or an entity (e.g., a provider) of a domain. Information about the domain can be queried from the third-party data source based on the access information. For example, an NSlookup command can be issued to determine the domain of an IP address in the access information.

在一些实施例中,可以将请求发送到应用的提供者的系统,以获得域信息。基于访问信息,可以生成请求并将其设置到提供应用的系统。可以基于由访问信息指示的应用的源位置来发送请求。通过查询数据源获得的域信息常常可能不提供关于提供者的系统的域的具体信息。该请求可以是对端点(例如,SQL连接端点)的网络调用,以获得应用的证书。该请求可以包括应用的URI。可以从用于应用的访问信息获得URI。在至少一个示例中,网络调用可以是浏览器调用(例如,HTTPS),以获得关于被托管站点的信息的证书,该被托管站点是应用的提供者的域。通过以这种方式发送调用,站点可能无法防止请求被阻止。证书可以包括关于应用的提供者的被托管站点的域信息。除了查询数据源或者作为对查询数据源的替代,可以实现对提供者的系统的请求。In some embodiments, a request may be sent to the system of the provider of the application to obtain domain information. Based on the access information, a request may be generated and set to the system providing the application. The request may be sent based on the source location of the application indicated by the access information. The domain information obtained by querying the data source may often not provide specific information about the domain of the provider's system. The request may be a network call to an endpoint (e.g., a SQL connection endpoint) to obtain a certificate for the application. The request may include the URI of the application. The URI may be obtained from the access information for the application. In at least one example, the network call may be a browser call (e.g., HTTPS) to obtain a certificate for information about a hosted site, which is the domain of the provider of the application. By sending the call in this manner, the site may not be able to prevent the request from being blocked. The certificate may include domain information about the hosted site of the provider of the application. In addition to or as an alternative to querying the data source, a request to the provider's system may be implemented.

步骤1110和1112可以同时执行,或者基于已经识别出的应用以任何次序执行。在步骤1110处,可以为一个或多个应用中的每一个确定组织信息。组织信息可以包括关于服务提供者的每个组织的信息,其与提供已被访问的一个或多个应用中的每一个的提供者系统明显相关联。组织信息可以包括识别与提供应用的提供者系统相关联的组织的信息。组织信息可以包括业务实体信息(诸如组织的注册信息)。组织信息可以包括关于应用的信息,包括关于应用的细节(诸如应用的源和应用的类型)。组织信息可以包括关于提供者系统的位置的位置信息(诸如托管提供者系统的位置)。在一些实施例中,组织信息可以包括关于被访问的每个应用的统计信息。统计信息可以包括与应用相关的网络活动的数据使用、应用的网络流量(例如,上传和下载流量),以及关于应用的使用或操作的其它统计信息。可以使用域信息来确定组织信息,以识别提供应用的组织。Steps 1110 and 1112 can be performed simultaneously or in any order based on the applications that have been identified. At step 1110, organizational information can be determined for each of the one or more applications. The organizational information can include information about each organization of the service provider that is clearly associated with the provider system that provides each of the one or more applications that have been accessed. The organizational information can include information identifying the organization associated with the provider system that provides the application. The organizational information can include business entity information (such as the organization's registration information). The organizational information can include information about the application, including details about the application (such as the source of the application and the type of application). The organizational information can include location information about the location of the provider system (such as the location where the provider system is hosted). In some embodiments, the organizational information can include statistical information about each application that has been accessed. The statistical information can include data usage of network activity related to the application, network traffic of the application (e.g., upload and download traffic), and other statistical information about the use or operation of the application. The organizational information can be determined using domain information to identify the organization that provides the application.

组织信息可以从一个或多个源获得。一个源可以包括汇总关于应用的信息的第三方源,包括提供这些应用的(一个或多个)组织。安全监视和控制系统102可以基于监视网络活动来维护其自己的应用信息的数据存储。在一些实施例中,用户可以提供关于应用的信息。该信息可以由安全监视和控制系统102存储。Organization information can be obtained from one or more sources. One source can include a third-party source that aggregates information about applications, including the organization(s) that provide these applications. The security monitoring and control system 102 can maintain its own data store of application information based on monitoring network activity. In some embodiments, users can provide information about applications. This information can be stored by the security monitoring and control system 102.

在步骤1112处,可以确定关于已被访问的一个或多个应用中的每一个的安全信息。安全信息可以包括关于应用的一个或多个安全性相关事件的信息。安全信息可以提供关于与安全性有关的应用的一个或多个特征的安全性的测量(例如,安全性得分)。在至少一个实施例中,可以经由参考图9公开的一个或多个馈送902来获得安全信息。由馈送提供的安全性的测量可以与应用的安全特征对应。安全性的测量可以基于一个或多个指示符或特征。可以使用域信息、组织信息或其组合来确定安全信息。在一些实施例中,可以基于识别应用的信息来获得安全信息。At step 1112, security information about each of the one or more applications that have been accessed may be determined. The security information may include information about one or more security-related events of the application. The security information may provide a measure of security (e.g., a security score) about one or more features of the application related to security. In at least one embodiment, the security information may be obtained via one or more feeds 902 disclosed with reference to FIG. 9 . The measure of security provided by the feed may correspond to a security feature of the application. The measure of security may be based on one or more indicators or features. The security information may be determined using domain information, organizational information, or a combination thereof. In some embodiments, the security information may be obtained based on information identifying the application.

可以从一个或多个源获得安全信息。一个源可以包括汇总关于应用的安全性相关信息的第三方源,包括提供这些应用的(一个或多个) 组织。安全监视和控制系统102可以基于监视网络活动来维护其自己的应用安全信息的数据存储。在一些实施例中,用户可以提供关于应用的安全信息。该信息可以由安全监视和控制系统102存储。可以在由这些源中的任何一个提供的安全信息中指示安全性的测量。在一些实施例中,可以从不同格式的一个或多个源获得安全信息。每个数据源可以提供具体类型的安全信息。安全信息可以被规格化或处理,以便以特定格式或标度提供安全性的测量。Security information can be obtained from one or more sources. A source may include a third-party source that aggregates security-related information about applications, including the organization(s) that provide these applications. The security monitoring and control system 102 may maintain its own data store of application security information based on monitoring network activity. In some embodiments, users can provide security information about applications. This information can be stored by the security monitoring and control system 102. A measure of security can be indicated in the security information provided by any of these sources. In some embodiments, security information can be obtained from one or more sources in different formats. Each data source can provide a specific type of security information. The security information can be normalized or processed to provide a measure of security in a specific format or scale.

可以基于执行步骤1110和/或1112中的一个或多个来执行步骤 1114。在步骤1114处,计算安全性的测量(例如,应用风险得分),作为针对一个或多个应用中已被访问的每个应用的单独测量。安全性的测量可以是应用的安全性的值或指示。例如,安全性的测量可以是 1(例如,低安全风险)到5(例如,高安全风险)的标度上的值。用于安全性的测量的标度可以基于安全性的一个或多个特征,或者可以共同基于一组特征。Step 1114 may be performed based on performing one or more of steps 1110 and/or 1112. At step 1114, a measure of security (e.g., an application risk score) is calculated as an individual measure for each application that has been accessed from the one or more applications. The measure of security may be a value or indication of the security of the application. For example, the measure of security may be a value on a scale of 1 (e.g., low security risk) to 5 (e.g., high security risk). The scale for the measure of security may be based on one or more characteristics of security, or may be based on a set of characteristics collectively.

在一些实施例中,可以基于一个或多个特征(诸如应用的类型或安全风险)为多个应用计算安全性的测量。可以使用参考图8和9公开的技术来计算安全性的测量。可以使用在流程图1100的先前步骤中确定的任何信息来计算安全性的测量。例如,可以使用组织信息、安全信息或其组合来计算安全性的测量。可以针对安全性的一个或多个指示符或特征来计算安全性的测量。可以为每个特征确定权重值。基于指示符和权重,可以单独或共同为每个特征计算安全性的测量。在一些实施例中,可以基于多个用户(诸如作为具有访问帐户的租户的一组用户)的使用来为应用计算安全性的测量。可以针对由多个用户访问的应用实现流程图1100中的步骤。可以跨一个或多个提供者和/或一个或多个账户针对一种类型的应用计算安全性的测量。In some embodiments, a measure of security can be calculated for multiple applications based on one or more characteristics (such as the type or security risk of the application). The technique disclosed with reference to Figures 8 and 9 can be used to calculate the measure of security. The measure of security can be calculated using any information determined in the previous steps of flowchart 1100. For example, organizational information, security information, or a combination thereof can be used to calculate the measure of security. The measure of security can be calculated for one or more indicators or characteristics of security. A weight value can be determined for each characteristic. Based on the indicators and weights, the measure of security can be calculated for each characteristic individually or collectively. In some embodiments, the measure of security can be calculated for an application based on use by multiple users (such as a group of users as tenants with access accounts). The steps in flowchart 1100 can be implemented for applications accessed by multiple users. The measure of security can be calculated for a type of application across one or more providers and/or one or more accounts.

在一些实施例中,在步骤1116处,可以提供显示以显示关于已被访问的一个或多个应用中的每一个的信息。显示可以是在应用或 web浏览器中提供的图形界面。显示可以是交互式的,以监视和管理应用的安全性。显示可以由安全监视和控制系统102生成。提供显示可以包括使显示器在客户端处呈现。在生成时,可以将显示发送到要呈现的客户端。参考图15-26公开各种交互式显示器的示例。在一些实施例中,可以将显示提供为发送给客户端的消息中的报告。报告可以是关于与应用相关的安全性的通知。In some embodiments, at step 1116, a display may be provided to display information about each of the one or more applications that have been accessed. The display may be a graphical interface provided within the application or a web browser. The display may be interactive to monitor and manage the security of the application. The display may be generated by the security monitoring and control system 102. Providing the display may include rendering the display at the client. Upon generation, the display may be sent to the client for presentation. Examples of various interactive displays are disclosed with reference to Figures 15-26. In some embodiments, the display may be provided as a report in a message sent to the client. The report may be a notification regarding security related to the application.

在步骤1118处,可以为一个或多个被访问的应用中的每一个执行一个或多个补救动作。补救动作是以补救或校正为基础执行的动作,以解决由应用造成的安全性(例如,安全风险或威胁)。补救动作的示例包括但不限于发送关于应用的安全性的通知消息、显示关于应用的安全性的信息、调整应用的操作和/或访问(例如,访问的限制性调整)。At step 1118, one or more remediation actions may be performed for each of the one or more accessed applications. A remediation action is an action performed on a remediation or correction basis to address security concerns (e.g., security risks or threats) posed by an application. Examples of remediation actions include, but are not limited to, sending a notification message regarding the security of an application, displaying information regarding the security of an application, and adjusting the operation and/or access of an application (e.g., restrictive access adjustments).

例如,控制对应用的访问可以包括阻止或防止用户或用户组访问应用。可以以许多方式实现限制、阻止或防止对应用的访问。可以发送或配置一条或多条指令以调整对应用的访问。例如,可以在组织中的网络上配置一条或多条指令,使得可以拒绝对应用的任何请求,或者可以防止在组织外部传送请求,以便有效地拒绝或阻止访问。可以配置一条或多条指令以拒绝对应用的某些类型的请求。可以在界面处提示用户,以提供信息来配置对应用的访问,使得其根据策略受到限制。For example, controlling access to an application can include blocking or preventing a user or group of users from accessing the application. Limiting, blocking, or preventing access to an application can be accomplished in a number of ways. One or more instructions can be sent or configured to adjust access to the application. For example, one or more instructions can be configured on a network within an organization to deny any request to the application, or to prevent requests from being transmitted outside the organization, effectively denying or preventing access. One or more instructions can be configured to deny certain types of requests to the application. Users can be prompted in an interface to provide information to configure access to the application so that it is restricted according to policy.

在另一个示例中,动作可以是将关于应用的信息放置在白名单或黑名单上,以分别允许或拒绝对应用的访问。在一些实施例中,可以不基于根据策略评估应用来针对每个应用执行补救动作。In another example, the action may be to place information about the application on a whitelist or blacklist to allow or deny access to the application, respectively. In some embodiments, remedial actions may not be performed for each application based on evaluating the application according to a policy.

可以基于应用的安全性的测量来执行对应用的补救动作。补救动作可以是自动的、手动的、征求用户或管理员参与,或其组合。可以基于来自用户(例如,分析员)的输入配置动作。可以基于一个或多个策略执行补救动作。策略可以是用户可配置的和/或基于安全性的反馈进行调节,诸如参考图9公开的技术。例如,可以基于满足风险阈值(例如,高风险)的应用的安全性的测量来执行补救动作。在一些实施例中,可以基于用于应用的一个或多个特征的安全信息来执行补救动作。可以基于那些特征来计算安全性的测量。照此,补救措动作施可以基于针对为其计算安全性的测量的那些特征的安全性的测量。参考图15-26显示安全性的测量和补救动作的示例。Remedial actions for an application may be performed based on a measurement of the security of the application. Remedial actions may be automatic, manual, require user or administrator participation, or a combination thereof. Actions may be configured based on input from a user (e.g., an analyst). Remedial actions may be performed based on one or more policies. Policies may be user configurable and/or adjusted based on security feedback, such as the technology disclosed with reference to FIG9 . For example, remedial actions may be performed based on a measurement of the security of an application that meets a risk threshold (e.g., high risk). In some embodiments, remedial actions may be performed based on security information for one or more features of the application. A measurement of security may be calculated based on those features. As such, remedial action may be based on a measurement of the security of those features for which the measurement of security was calculated. Examples of measurements of security and remedial actions are shown with reference to FIG15-26 .

在一些实施例中,可以基于安全策略来执行补救动作。安全策略可以基于安全性的测量和/或安全信息来定义要执行的一个或多个补救动作。可以基于本文所公开的安全性的测量和/或任何信息(例如,组织信息或安全信息)来应用安全策略。可以执行操作以评估安全风险或威胁。安全风险或威胁可以基于安全性的测量和/或安全信息 (例如,一个或多个安全性指示符)。策略可以定义一个或多个标准,诸如定义何时采取补救动作的阈值(例如,安全性阈值或风险阈值)。可以根据安全性测量的标度或由安全性指示符的提供者设置的标度通过一个或多个值来定义标准。例如,应用安全策略可以包括确定安全性的测量是否满足应用的风险阈值。可以将安全性的测量与策略中的一个或多个值进行比较,以评估安全风险的严重性。可以基于一个或多个安全性指示符来定义值。可以基于一个或多个安全性指示符来定义这些值,使得将安全性的测量与基于用于计算安全性的测量的安全性指示符定义的阈值进行比较。还可以比较安全信息中获得的安全指示符,以进一步评估安全风险。In some embodiments, remedial actions may be performed based on a security policy. The security policy may define one or more remedial actions to be performed based on a security measurement and/or security information. The security policy may be applied based on a security measurement and/or any information disclosed herein (e.g., organizational information or security information). Operations may be performed to assess security risks or threats. The security risk or threat may be based on a security measurement and/or security information (e.g., one or more security indicators). The policy may define one or more criteria, such as a threshold (e.g., a security threshold or a risk threshold) for when remedial action is taken. The criteria may be defined by one or more values based on a scale of security measurements or a scale set by a provider of security indicators. For example, applying the security policy may include determining whether the security measurement meets an applied risk threshold. The security measurement may be compared to one or more values in the policy to assess the severity of the security risk. The values may be defined based on one or more security indicators. These values may be defined based on one or more security indicators such that the security measurement is compared to a threshold defined based on the security indicators used to calculate the security measurement. Security indicators obtained in the security information may also be compared to further assess the security risk.

在一些实施例中,补救动作可以是配置计算环境的一个或多个方面以防止在计算环境内访问应用。可以将一条或多条指令发送到组织的计算环境的计算机系统和/或网络设备,以指定要阻止哪个应用以及阻止或限制应用的对象。可以通过可以控制计算环境中的访问的策略或其它可配置信息来配置对应用的访问。在一些实施例中,可以将指令发送到由用户操作的客户端设备上的代理。可以指示代理改变操作以防止对特定应用的访问和/或在使用客户端设备的特定环境中改变应用的操作。补救动作可以是防止由多个用户访问应用。在一些实施例中,补救动作可以包括将一条或多条指令发送到服务提供者系统。例如,可以将指令发送到服务提供者系统,以调整用于访问应用的一个或多个安全控制和/或设置。服务提供者系统可以提供访问安全控制和/或设置的接口。补救动作可以包括使用接口(例如,通过进行呼叫)来调整应用的安全控制和/或设置。In some embodiments, the remedial action may be to configure one or more aspects of the computing environment to prevent access to applications within the computing environment. One or more instructions may be sent to the computer systems and/or network devices of the organization's computing environment to specify which applications to block and to whom the applications are blocked or restricted. Access to applications may be configured through policies or other configurable information that can control access within the computing environment. In some embodiments, instructions may be sent to an agent on a client device operated by a user. The agent may be instructed to change its operation to prevent access to a particular application and/or to change the operation of the application in the particular environment in which the client device is used. The remedial action may be to prevent access to the application by multiple users. In some embodiments, the remedial action may include sending one or more instructions to a service provider system. For example, instructions may be sent to the service provider system to adjust one or more security controls and/or settings for accessing the application. The service provider system may provide an interface for accessing the security controls and/or settings. The remedial action may include using the interface (e.g., by making a call) to adjust the security controls and/or settings of the application.

补救动作可以包括提醒用途。可以向管理员或其他用户的设备发送关于安全风险和/或对应用的访问的改变的提醒。在一些实施例中,针对应用的补救动作包括使图形界面提示用户调整应用的配置操作。Remedial actions may include alerting users. Alerts about security risks and/or changes in access to applications may be sent to administrators or other users' devices. In some embodiments, remedial actions for applications include causing a graphical interface to prompt the user to adjust configuration operations for the application.

流程图1100可以在步骤1120结束。Flowchart 1100 may end at step 1120 .

图12图示了根据实施例的用于发现和管理应用风险的处理的流程图1200。在许多实施例中,下面讨论的处理的一个或多个特征可以由图1的安全监视和控制系统102执行。流程图1200可以被实现为参考图10和11公开的技术的一部分或使用所公开的技术来实现。可以实现参考流程图1200公开的处理,以评估和管理已经跨多个服务提供者(例如,云服务提供者)使用的应用的安全性。该应用可以是第一应用,其使能或促进访问由与应用第一应用的服务提供者不同或相同的服务提供者提供的第二应用和/或第二应用的数据。Figure 12 illustrates a flowchart 1200 of a process for discovering and managing application risks according to an embodiment. In many embodiments, one or more features of the process discussed below can be performed by the security monitoring and control system 102 of Figure 1. Flowchart 1200 can be implemented as part of or using the techniques disclosed with reference to Figures 10 and 11. The process disclosed with reference to flowchart 1200 can be implemented to assess and manage the security of an application that has been used across multiple service providers (e.g., cloud service providers). The application can be a first application that enables or facilitates access to a second application and/or data of the second application provided by a service provider that is different from or the same as the service provider that applied the first application.

流程图1200可以通过获得关于从组织的网络上的服务提供者系统(例如,第一服务提供者系统)访问的一个或多个应用的数据(例如,“第一数据”)在步骤1202开始。可以通过由服务提供者的第一服务提供者系统提供的编程接口来获得第一数据。数据可以提供访问信息,诸如被访问的应用和/或数据以及关于如何访问应用和/或数据的信息。访问信息可以提供关于从第一服务提供者系统访问应用或其数据的第三方应用的信息。Flowchart 1200 may begin at step 1202 by obtaining data (e.g., "first data") about one or more applications accessed from a service provider system (e.g., a first service provider system) on an organization's network. The first data may be obtained via a programming interface provided by the first service provider system of the service provider. The data may provide access information, such as the applications and/or data being accessed and information about how to access the applications and/or data. The access information may provide information about third-party applications accessing the applications or their data from the first service provider system.

在步骤1204处,可以获得关于从组织的网络上的服务提供者系统(例如,第二服务提供者系统)访问的一个或多个应用的数据(例如,“第二数据”)。可以通过由服务提供者的第二服务提供者系统提供的编程接口来获得第二数据。数据可以提供访问信息,诸如被访问的应用和/或数据以及关于如何访问应用和/或数据的信息。访问信息可以提供关于从第二服务提供者系统访问应用或其数据的第三方应用的信息。At step 1204, data (e.g., "second data") about one or more applications accessed from a service provider system (e.g., a second service provider system) on the organization's network may be obtained. The second data may be obtained via a programming interface provided by the service provider's second service provider system. The data may provide access information, such as the applications and/or data accessed and information about how to access the applications and/or data. The access information may provide information about third-party applications accessing the applications or their data from the second service provider system.

可以从若干服务提供者系统汇总访问信息,以评估用户在组织的网络上访问的应用的安全性。来自每个服务提供者系统的访问信息可以被处理,以确定用户在组织的网络上访问的一个或多个应用。应用可以是不同的,但具有一个或多个共同的属性。应用可以是不同的,但可以基于允许第三方应用访问应用和/或其数据的用户而相关。允许第三方应用访问可能存在风险和/或组织不允许。Access information from several service provider systems can be aggregated to assess the security of applications accessed by users on an organization's network. Access information from each service provider system can be processed to identify one or more applications accessed by users on the organization's network. Applications can be distinct but share one or more common attributes. Applications can be distinct but related based on the user who allows third-party applications to access the applications and/or their data. Allowing third-party applications access may be risky and/or unacceptable to the organization.

在步骤1206处,可以确定用户访问的应用(例如,第三应用) 的访问信息。在至少一个实施例中,应用可以是通过第一服务提供者系统和第二提供者系统访问的应用的类型。可以处理来自每个服务提供者系统的访问信息,以识别通过第一服务提供者系统和第二提供者系统访问的应用的应用类型。可以基于从每个提供者系统获得的应用信息将应用识别为一种类型的应用。可以使用一个或多个数据源来检索用于所访问的每个应用的应用信息。在步骤1206之后的步骤中,其中用户访问的(一个或多个)应用具有共同类型,可以为每个应用确定在以下步骤中确定的信息。可以为每个应用或应用的组合计算安全性的测量。安全性的测量可以基于平均值或者基于每个应用的安全性的测量组合的测量。At step 1206, access information for an application (e.g., a third application) accessed by the user may be determined. In at least one embodiment, the application may be a type of application accessed through the first service provider system and the second provider system. The access information from each service provider system may be processed to identify the application type of the application accessed through the first service provider system and the second provider system. The application may be identified as a type of application based on the application information obtained from each provider system. One or more data sources may be used to retrieve application information for each application accessed. In steps subsequent to step 1206, where the application(s) accessed by the user are of a common type, the information determined in the following steps may be determined for each application. A measure of security may be calculated for each application or combination of applications. The measure of security may be based on an average or a measure based on a combination of measures of security for each application.

在至少一个实施例中,来自每个服务提供者系统的访问信息可以用于确定相同的第三方应用正被用于访问由每个服务提供者系统提供的不同应用和/或其数据。每个服务提供者系统可以提供可以指示通过第三方应用访问应用的信息。In at least one embodiment, access information from each service provider system can be used to determine that the same third-party application is being used to access different applications and/or their data provided by each service provider system. Each service provider system can provide information that can indicate that an application is being accessed through a third-party application.

在步骤1208处,可以确定关于(一个或多个)应用的提供者系统的域信息。步骤1210和1212可以同时或基于已经识别的应用以任何次序执行。在步骤1210处,可以为应用确定组织信息。在步骤 1212处,可以确定关于应用的安全信息。可以使用本文公开的技术(诸如参考图11公开的技术)来确定针对流程图1200确定的信息。At step 1208, domain information for the provider system of the application(s) may be determined. Steps 1210 and 1212 may be performed simultaneously or in any order based on the identified applications. At step 1210, organizational information may be determined for the application. At step 1212, security information may be determined for the application. The information determined for flowchart 1200 may be determined using techniques disclosed herein, such as those disclosed with reference to FIG. 11 .

在步骤1214处,可以为已被访问的应用计算安全性的测量。可以为每个应用或者被识别为由用户访问的应用的组合计算安全性的测量。安全性的测量可以基于平均值或基于每个应用的安全性的测量组合的测量。At step 1214, a measure of security may be calculated for the accessed applications. The measure of security may be calculated for each application or for a combination of applications identified as being accessed by the user. The measure of security may be based on an average or a combination of measures of security for each application.

在步骤1216处,提供关于已被访问的(一个或多个)应用的信息的交互式显示。交互式显示可以作为图形界面的一部分包括在内或作为图形界面生成。图形界面可以显示应用的安全性的测量。At step 1216, an interactive display of information about the application(s) that have been accessed is provided. The interactive display may be included as part of or generated as a graphical interface. The graphical interface may display a measure of the security of the application.

在步骤1218处,可以对已被访问的(一个或多个)应用执行补救动作。可以如本文所公开的那样执行补救动作,诸如参考图11公开的技术。在应用是在服务提供者系统处提供对应用或其数据的访问的第三方应用的情况下,可以防止第三方应用访问该应用。在一些实施例中,可以向服务提供者系统发送请求,以限制或拒绝由第三方应用对(一个或多个)应用和/或其数据的访问。在一些实施例中,可以修改交互式显示,以提示用户调整用于第三方应用的设置,以限制或撤销从服务提供者系统对应用和/或其数据的访问。At step 1218, remedial actions may be performed on the accessed application(s). Remedial actions may be performed as disclosed herein, such as the techniques disclosed with reference to FIG. 11 . In the event that the application is a third-party application that provides access to the application or its data at the service provider system, the third-party application may be prevented from accessing the application. In some embodiments, a request may be sent to the service provider system to limit or deny access to the application(s) and/or its data by the third-party application. In some embodiments, an interactive display may be modified to prompt the user to adjust settings for the third-party application to limit or revoke access to the application and/or its data from the service provider system.

流程图1200可以在步骤1220结束。Flowchart 1200 may end at step 1220 .

Ⅺ.基于应用使用计算用户的安全性的测量 XI. Measuring the Security of Computing Users Based on Application Usage

图13和14图示了根据一些实施例的用于基于应用使用来计算用户的安全性的测量的技术。具体而言,图13图示了处理的序列流程图1300的示例。这些技术可以由安全监视和控制系统102实现。可以使用参考图9公开的技术来计算用户的安全性的测量。Figures 13 and 14 illustrate techniques for calculating a measure of a user's safety based on application usage according to some embodiments. Specifically, Figure 13 illustrates an example of a sequence flow chart 1300 of processing. These techniques can be implemented by the security monitoring and control system 102. The technique disclosed with reference to Figure 9 can be used to calculate a measure of a user's safety.

用户的安全性的测量(在本文也称为“用户风险得分”)可以提供指示,作为用户可能对组织造成的安全性的风险或威胁。如上面所讨论的,用户可以基于以未授权或不安全的方式使用应用而对组织的网络造成安全威胁。这种使用可能使组织暴露于其专用网络和数据的漏洞。在一些情况下,应用可能会基于组织的资源(诸如公司网络和 /或计算资源)的低效或不当使用而对组织造成威胁。用户风险得分可以提供指示与组织中的用户相关的安全威胁的严重性的测量。可以通过剖析用户对应用的动作来连续生成用户风险得分。A measure of a user's security (also referred to herein as a "user risk score") can provide an indication of the risk or threat to the security of an organization that the user may pose. As discussed above, a user may pose a security threat to an organization's network based on using applications in an unauthorized or unsafe manner. Such use may expose the organization to vulnerabilities in its private network and data. In some cases, an application may pose a threat to an organization based on inefficient or improper use of the organization's resources (such as corporate networks and/or computing resources). The user risk score can provide a measure that indicates the severity of security threats associated with users in the organization. The user risk score can be continuously generated by profiling the user's actions on the application.

在一些实施例中,安全监视和控制系统102可以提供图形界面,该图形界面可以被呈现,以显示关于风险得分和/或与风险得分相关的信息。图形界面的示例在2017年2月17日提交的标题为“Systems and Methods for Discovering and MonitoringUnsanctioned Enterprise Assets”的优先权申请美国临时申请No. 62/460,716[代理人案卷号:088325-1039197(185502US)]中示出。图形界面可以在控制台中呈现为具有风险得分和相关可视化(KSI) 的用户报告。图形界面可以用作单一管理平台(single pane ofglass),其组合来自各种源的风险元素并且对于经批准和未经批准的应用以统一的方式呈现。图形界面使用户(例如,安全管理员)能够查看相关联的风险指示符,以了解为什么一些用户的风险得分高,其中包括在应用中执行的异常动作,访问过有风险的未经批准的应用等等。这有助于用户采取或配置补救动作,如在防火墙中阻止应用、教育用户避开应用或暂停用户帐户。图形界面可以使用户能够基于创建匹配某些条件(诸如风险应用得分、应用类别、用户风险得分等等) 的策略来配置定制提醒。In some embodiments, the security monitoring and control system 102 may provide a graphical interface that can be presented to display information about and/or related to risk scores. An example of a graphical interface is shown in priority application U.S. Provisional Application No. 62/460,716, filed on February 17, 2017, entitled “Systems and Methods for Discovering and Monitoring Unsanctioned Enterprise Assets” [Attorney Docket No. 088325-1039197 (185502US)]. The graphical interface can be presented in a console as a user report with risk scores and associated visualizations (KSIs). The graphical interface can serve as a single pane of glass that combines risk elements from various sources and presents them in a unified manner for both approved and unapproved applications. The graphical interface enables users (e.g., security administrators) to view associated risk indicators to understand why some users have high risk scores, including unusual actions performed in applications, access to risky unapproved applications, and so on. This helps users take or configure remedial actions such as blocking the application in the firewall, educating users to avoid the application, or suspending the user account. The graphical interface can enable users to configure customized alerts based on creating policies that match certain conditions (such as risky application score, application category, user risk score, etc.).

可以基于由一个或多个第三方源、一个或多个用户、由安全控制和管理系统102管理和策展的源或其组合提供的信息来计算用户的安全性的测量。用户的安全性的测量可以基于包括但不限于以下的信息:关于应用和应用的提供者的信息(“组织信息”)、关于应用的安全性的信息(“安全信息”)和/或与应用相关的使用(“应用使用信息”)。组织信息和安全信息可以包括本文公开的信息,诸如关于确定应用的风险的测量。应用使用信息可以指示关于应用的使用的信息,诸如所执行的操作/动作的类型(例如,数据的大量导出或针对应用的联系人下载或过多的文件访问)、被访问的应用的类别(例如,与恶意软件网站、信息泄露网站或黑客使用的应用/工具相关联的应用将增加用户风险得分),或者与应用的使用的异常偏差。例如,应用使用信息可以基于很少使用一个提供者系统访问文件的用户突然开始下载大量文档来提供恶意软件活动的指示。A measure of a user's security may be calculated based on information provided by one or more third-party sources, one or more users, sources managed and curated by the security control and management system 102, or a combination thereof. The measure of a user's security may be based on information including, but not limited to, information about applications and the providers of the applications ("organizational information"), information about the security of the applications ("security information"), and/or usage associated with the applications ("application usage information"). The organizational information and security information may include information disclosed herein, such as measures regarding determining the risk of an application. The application usage information may indicate information about the use of the application, such as the type of operations/actions performed (e.g., large exports of data or contact downloads for an application, or excessive file access), the categories of applications accessed (e.g., applications associated with malware websites, information leak websites, or applications/tools used by hackers will increase the user's risk score), or unusual deviations from the use of the application. For example, application usage information may provide an indication of malware activity based on a user who rarely uses a provider system to access files suddenly beginning to download a large number of documents.

用户的安全性的测量可以是定义用户的安全风险的测量的标度上的值(例如,用户风险得分)。例如,可以将标度定义为1到5之间,其中越高的值表示用户的越大风险。在其它实施例中,可以使用适合于特定评估的各种范围和值中的任何一个。得分可以被安全监视和控制系统102用来提供提醒、提供报告和/或执行补救措施。安全性的测量是用作优先级指示符的值,以帮助用户(例如,安全管理员)减轻由应用造成的安全威胁。在一些实施例中,可以以若干方式计算安全性的测量。The measure of security for a user can be a value on a scale that defines a measure of the user's security risk (e.g., a user risk score). For example, the scale can be defined as between 1 and 5, where higher values represent greater risk to the user. In other embodiments, any of a variety of ranges and values suitable for a particular assessment can be used. The score can be used by the security monitoring and control system 102 to provide reminders, provide reports, and/or perform remedial actions. The measure of security is a value used as a priority indicator to help users (e.g., security administrators) mitigate security threats posed by applications. In some embodiments, the measure of security can be calculated in several ways.

用户风险得分可以指示关于由具体应用对组织造成的安全威胁的严重性的安全性的测量。可以基于一个或多个指示符(在本文中也称为“威胁指示符”或“安全性指示符”)来计算用户风险得分。每个指示符可以是指示安全风险的值或信息。例如,在图13中,可以从一个或多个数据源(在本文也称为“风险得分馈送”)获得唯一的安全性指示符,提供一个或多个应用指示符的“馈送”。每个唯一的指示符(“I”)(在本文被统称为指示符“I1,I2,...,In”1304)可以分别由每个数据源提供。指示符可以是基于与应用相关或关于应用的信息的特定类型的指示符,诸如上面指出的信息类型。指示符可以是提供由用户造成的安全威胁的指示的值。例如,第一指示符可以是指示用户的第一安全威胁的第一值。第二指示符可以是指示用户的第二安全威胁的第二值。第一指示符可以从第一源获得,并且第二指示符可以从第二源获得。A user risk score can indicate a measure of security regarding the severity of a security threat posed to an organization by a specific application. A user risk score can be calculated based on one or more indicators (also referred to herein as "threat indicators" or "security indicators"). Each indicator can be a value or information indicating a security risk. For example, in Figure 13, a unique security indicator can be obtained from one or more data sources (also referred to herein as a "risk score feed"), providing a "feed" of one or more application indicators. Each unique indicator ("I") (collectively referred to herein as indicators "I 1 , I 2 , ..., In " 1304) can be provided separately by each data source. An indicator can be an indicator of a specific type of information related to or about an application, such as the type of information indicated above. An indicator can be a value that provides an indication of a security threat posed by a user. For example, a first indicator can be a first value indicating a first security threat to a user. A second indicator can be a second value indicating a second security threat to a user. The first indicator can be obtained from a first source, and the second indicator can be obtained from a second source.

指示符1302可以包括,例如,用于授权应用的用户风险得分、用于未知/未授权应用的风险得分,或与应用相关联的动作。以下示例图示如何评估用户风险得分。要注意的是,在这个示例中使用的指示符数量有限,但可以将系统配置为使用附加的指示符。在一个示例中,第一指示符I1可以是从被授权(例如,批准)供组织使用的应用的数据源获得的用户风险得分。可以在经批准的应用中从用户动作计算用户风险得分。这个风险得分组合了经批准的应用中的各种用户活动,诸如文档的上传/下载。第二指示符I2可以是未经批准的应用的上传量偏差的测量。例如,第二指示符可以被计算为(1天上传量 -30天平均上传量)/(30天上传量标准偏差)。第三指示符I3可以是指示所访问的站点的风险得分偏差的度量。例如,第三指示符可以被计算为(应用风险得分的1天总和-30天每日平均应用风险得分) /(30天每日应用风险得分标准偏差)。在这个示例中,可以使用所有三个指示符来计算用户风险得分。在一些实施例中,可以使用诸如参考图14描述的那些附加指示符来计算用户风险得分。Indicators 1302 may include, for example, a user risk score for authorized applications, a risk score for unknown/unauthorized applications, or actions associated with an application. The following example illustrates how a user risk score is assessed. Note that the number of indicators used in this example is limited, but the system can be configured to use additional indicators. In one example, a first indicator I1 may be a user risk score obtained from a data source for applications authorized (e.g., approved) for use by the organization. The user risk score may be calculated from user actions within the approved application. This risk score combines various user activities within the approved application, such as uploading/downloading documents. A second indicator I2 may be a measure of the deviation in upload volume for unapproved applications. For example, the second indicator may be calculated as (1-day upload volume - 30-day average upload volume) / (30-day upload volume standard deviation). A third indicator I3 may be a measure of the deviation in risk scores for visited sites. For example, the third indicator may be calculated as (1-day sum of application risk scores - 30-day daily average application risk scores) / (30-day daily application risk score standard deviation). In this example, all three indicators may be used to calculate a user risk score.In some embodiments, additional indicators such as those described with reference to FIG. 14 may be used to calculate a user risk score.

在一些实施例中,安全监视和控制系统102可以使用用于应用和用户的风险得分来产生图形。可以使用一个或多个图形来导出附加指示符。现在转到图14,改图是访问应用A和B的第一用户集群的图形1402。图14图示了访问应用X、Y和Z的第二用户集群的图形1404。可以使用从一个或多个数据源获得的关于用户和应用使用的信息(诸如本文公开的那些)生成每个图形。可以使用本领域技术人员已知的一种或多种聚类算法来生成图形。集群算法的示例可以包括马尔可夫聚类(MCL)算法。使用一个或多个图形,可以基于一个或多个属性来识别一组用户,诸如访问类似站点的用户。可以使用图形分析来执行这种分析,包括一种或多种已知的图形分析技术,诸如 Girvan-Newman边缘聚类算法。In some embodiments, the security monitoring and control system 102 can use risk scores for applications and users to generate a graph. Additional indicators can be derived using one or more graphs. Turning now to Figure 14, this figure is a graph 1402 of a first cluster of users accessing applications A and B. Figure 14 illustrates a graph 1404 of a second cluster of users accessing applications X, Y, and Z. Each graph can be generated using information about user and application usage obtained from one or more data sources (such as those disclosed herein). The graphs can be generated using one or more clustering algorithms known to those skilled in the art. Examples of clustering algorithms can include Markov clustering (MCL) algorithms. Using one or more graphs, a group of users can be identified based on one or more attributes, such as users who visit similar sites. This analysis can be performed using graph analysis, including one or more known graph analysis techniques, such as the Girvan-Newman edge clustering algorithm.

继续上面的指示符I1-3的示例,可以使用图形分析导出第四指示符I4。例如,I4可以被计算为(应用风险得分的1天总和-集群的 30天每日平均应用风险得分)/(集群的30天每日应用风险得分标准偏差)。第五指示符I5可以被计算为(1天上传量-集群的30天平均上传量)/(集群的30天上传量标准偏差)。Continuing with the example of indicators I1-3 above, a fourth indicator I4 can be derived using graphical analysis. For example, I4 can be calculated as (1-day sum of application risk scores - 30-day daily average application risk scores for the cluster) / (30-day daily application risk score standard deviation for the cluster). A fifth indicator I5 can be calculated as (1-day upload volume - 30-day average upload volume for the cluster) / (30-day upload volume standard deviation for the cluster).

每个威胁指示符可以表示用户风险得分,该用户风险得分是根据由用于那个指示符的源定义的标度指示用户的安全风险或威胁的测量的值。在一些实施例中,可以将威胁指示符与标度进行比较,以确定用户风险得分。标度可以由源提供的信息定义或基于由源提供的信息。Each threat indicator may represent a user risk score, which is a value indicating a measure of the user's security risk or threat according to a scale defined by the source for that indicator. In some embodiments, the threat indicator may be compared to the scale to determine the user risk score. The scale may be defined by or based on information provided by the source.

安全监视和控制系统102可以基于一个或多个威胁指示符来计算用户风险得分。换句话说,可以将安全性的测量计算为用户的安全风险的组合测量。可以处理每个指示符,以根据要用于所有指示符的标度(例如,从0到100的值的标度)将指示符的值调整(例如,规格化)到调整后的值。一旦被规格化,就可以组合每个指示符的值以确定组合得分。The security monitoring and control system 102 can calculate a user risk score based on one or more threat indicators. In other words, a measure of security can be calculated as a combined measure of the user's security risk. Each indicator can be processed to adjust (e.g., normalize) its value to an adjusted value based on a scale to be used for all indicators (e.g., a scale of values from 0 to 100). Once normalized, the values of each indicator can be combined to determine a combined score.

指示用户风险测量的组合安全性得分1308可以基于所有或一些指示符。为确定组合安全得分而考虑的指示符的数量和/或类型可以是可配置的。照此,安全监视和控制系统102可以被配置为添加或移除从其获得指示符的源,并且可以被配置为添加或移除从源获得的指示符1304。在一些实施例中,可以呈现图形界面,其使得用户能够配置为得分而考虑的指示符的数量和类型。在一些实施例中,组合得分可以基于定义要通过其计算得分的标准的安全策略。标准可以基于安全性的一个或多个属性。这些属性可以用于选择要为得分考虑的指示符。The combined security score 1308, indicating a user risk measure, can be based on all or some of the indicators. The number and/or type of indicators considered to determine the combined security score can be configurable. As such, the security monitoring and control system 102 can be configured to add or remove sources from which indicators are obtained, and can be configured to add or remove indicators 1304 obtained from sources. In some embodiments, a graphical interface can be presented that enables the user to configure the number and type of indicators considered for the score. In some embodiments, the combined score can be based on a security policy that defines the criteria by which the score is calculated. The criteria can be based on one or more attributes of security. These attributes can be used to select the indicators to be considered for the score.

在一些实施例中,组合用户风险得分1308可以基于使用用于每个指示符的权重值的指示符的组合。例如,可以选择权重(“W”) (在本文统称为权重“W1,W2,...,Wn”1304)以应用于用于计算组合得分1308的一个或多个具体指示符。权重可以是整数1或1的一部分的值。可以为不同的指示符选择不同的权重。在上面的示例中,第一权重可以是用于第一指示符的第一权重值,并且第二权重可以是用于第二指示符的第二权重值。重量值可以不同。In some embodiments, the combined user risk score 1308 can be based on a combination of indicators using a weight value for each indicator. For example, a weight ("W") (collectively referred to herein as weights " W1 , W2 , ..., Wn " 1304) can be selected to apply to one or more specific indicators used to calculate the combined score 1308. The weight can be a value that is an integer of 1 or a fraction of 1. Different weights can be selected for different indicators. In the example above, the first weight can be a first weight value for the first indicator, and the second weight can be a second weight value for the second indicator. The weight values can be different.

权重可以由用户通过图形界面来配置。在一些实施例中,可以基于安全策略来选择权重,其中安全策略基于特定指示符被给予特定权重来定义。当指示符对安全风险具有更多重要性或建议时,可以考虑更大的权重值。当指示符对安全风险具有较少重要性或建议时,可以考虑较小的权重值。在一些实施例中,可以为来自特定源的所有指示符选择权重。例如,可以基于源的可靠性或信任将权重应用于来自那个源的所有指示符。在一些实施例中,安全监视和控制系统102可以存储关于应用的威胁研究分析的数据。这些数据可以用于选择性地为每个指示符选择权重。The weights can be configured by the user through a graphical interface. In some embodiments, the weights can be selected based on a security policy, where the security policy is defined based on specific indicators being given specific weights. When an indicator has more importance or suggestion for a security risk, a larger weight value can be considered. When an indicator has less importance or suggestion for a security risk, a smaller weight value can be considered. In some embodiments, weights can be selected for all indicators from a particular source. For example, a weight can be applied to all indicators from that source based on the reliability or trust of the source. In some embodiments, the security monitoring and control system 102 can store data about the threat research analysis of the application. This data can be used to selectively select a weight for each indicator.

可以基于指示符和对那些指示符的权重的考虑来计算组合得分。在至少一个实施例中,可以使用等式1308来计算组合得分,以提供组合得分=(I1(W1)+I2(W2)+.....In(Wn))/(W1+W2+…Wn)。在这个等式中,通过将每个指示符乘以相应的权重(“W”)1306来计算每个指示符(“I”)1304的值。计算第一值,该值是针对每个指示符计算的值的总和(I1(W1)+I2(W2)+.....In(Wn))。计算第二值,该值是被应用以获得第一值的每个权重值的总和。可以基于将第一值除以第二值来计算组合得分1308。在从上面继续的示例中,用户风险得分可以被计算为(I1(W1)+I2(W2)+I3(W3)+I4(W4)+I5(W5))/(W1+W2+W3+W4+W5)。A combined score can be calculated based on the indicators and the weights assigned to those indicators. In at least one embodiment, the combined score can be calculated using equation 1308 to provide a combined score = (I 1 (W 1 ) + I 2 (W 2 ) + ..... In (W n )) / (W 1 + W 2 + .... W n ). In this equation, the value of each indicator ("I") 1304 is calculated by multiplying each indicator by a corresponding weight ("W") 1306. A first value is calculated, which is the sum of the values calculated for each indicator (I 1 (W 1 ) + I 2 (W 2 ) + ..... In (W n )). A second value is calculated, which is the sum of each weight value applied to obtain the first value. The combined score 1308 can be calculated based on dividing the first value by the second value. In the example continuing from above, the user risk score may be calculated as (I 1 (W 1 )+I 2 (W 2 )+I 3 (W 3 )+I 4 (W 4 )+I 5 (W 5 ))/(W 1 + W 2 +W 3 + W 4 +W 5 ).

在一些实施例中,安全监视和控制系统102可以从一个或多个用户获得关于组合得分1308的有效性和准确性的反馈1310。反馈1310 可以通过网络获得,通过图形界面或手动反馈来促进。可以基于反馈 1310来调整源、指示符和/或权重中的任何一个。基于反馈1310,可以调整组合得分1308。可以以与计算组合得分1308相同的方式计算新的组合得分1312(“调整后的得分”)。除调整后的得分1312可以基于基于反馈1310选择的指示符和/或权重来计算之外。可以从用于计算组合得分1308的内容中添加或移除源、指示符和/或权重。用于指示符的权重值可以基于我们的安全性分析师以及客户反馈来周期性地修订,以改进风险得分。用于指示符权重的修订处理可以通过自动机器学习算法(诸如决策树和神经网络)来执行。In some embodiments, the security monitoring and control system 102 may obtain feedback 1310 from one or more users regarding the validity and accuracy of the combined score 1308. Feedback 1310 may be obtained via a network, facilitated by a graphical interface, or provided as manual feedback. Any of the sources, indicators, and/or weights may be adjusted based on the feedback 1310. Based on the feedback 1310, the combined score 1308 may be adjusted. A new combined score 1312 ("adjusted score") may be calculated in the same manner as the combined score 1308, except that the adjusted score 1312 may be calculated based on indicators and/or weights selected based on the feedback 1310. Sources, indicators, and/or weights may be added or removed from the content used to calculate the combined score 1308. The weight values for the indicators may be periodically revised based on our security analysts and customer feedback to improve the risk score. The revision process for the indicator weights may be performed using automated machine learning algorithms, such as decision trees and neural networks.

可以基于关于特定安全威胁的每个指示符和/或组合得分来执行回归分析1314。回归分析可以包括建立并更新线性回归模型。线性回归模型可以提供诸如S=c1(I1)+c2(I2)+…+cn(In)之类的输出。由回归模型计算出的系数ci可以是新的或修改后的权重,其将替换用于计算组合得分1308的初始权重。随着更多反馈和更多数据被收集,该模型将提供更高的准确性。A regression analysis 1314 can be performed based on each indicator and/or combined score for a particular security threat. The regression analysis can include building and updating a linear regression model. The linear regression model can provide an output such as S = c 1 (I 1 ) + c 2 (I 2 ) + ... + c n (I n ). The coefficients c i calculated by the regression model can be new or modified weights that replace the initial weights used to calculate the combined score 1308. As more feedback and more data are collected, the model will provide greater accuracy.

在一些实施例中,计算用户风险得分可以包括缩放针对每个指示符计算的各个得分(或Z得分)。在一个说明性方法中,负z得分被设置为0。其原因是低于平均活动水平被认为在正常范围内。高于 6的Z得分可以缩放到6(z得分3被认为是离群值,并且z得分6 被认为是极端离群值)。0到6之间的Z得分如下在0和100之间缩放:缩放后的z得分=z得分*(100/6)。In some embodiments, calculating a user risk score may include scaling the individual scores (or Z-scores) calculated for each indicator. In one illustrative approach, negative z-scores are set to 0. This is because below-average activity levels are considered within the normal range. Z-scores above 6 may be scaled to 6 (a z-score of 3 is considered an outlier, and a z-score of 6 is considered an extreme outlier). Z-scores between 0 and 6 are scaled between 0 and 100 as follows: scaled z-score = z-score * (100/6).

继续上面讨论的示例,指示符I1可以是经批准的应用风险得分 92(0-100的标度),因此该得分可以不缩放。指示符I2可以被计算为原始z得分:(100-20)/10=8,其中今天的上传量是100MB并且最近30天的平均值是20MB并且标准偏差是10MB。由于得分是8,因此可能需要进行缩放。缩放后的得分可以是100.000。指示符I3可以被计算为原始z得分:(50-20)/5=6,其中今天访问的站点的平均风险得分是30,过去30天的平均值是20,并且标准差是5。I3可以被缩放到100.000。指示符I4可以被计算为原始z得分:(30-25)/10=0.5,其中今天访问的站点的平均风险得分是30,过去30天的对等组的平均值是25,并且标准偏差是10。I4的得分可以被缩放到8.3333。指示符I5可以被计算为原始z得分:(40-60)/30=-0.667,其中今天的上传量是40MB,过去30天的对等组的平均值是60MB,并且标准偏差是30MB。I5的得分可以被缩放到0。Continuing with the example discussed above, indicator I1 may be an approved application risk score of 92 (on a scale of 0-100), so this score may not be scaled. Indicator I2 may be calculated as a raw z-score: (100-20)/10=8, where today's upload is 100MB and the average over the last 30 days is 20MB with a standard deviation of 10MB. Since the score is 8, scaling may be required. The scaled score may be 100.000. Indicator I3 may be calculated as a raw z-score: (50-20)/5=6, where the average risk score of sites visited today is 30, the average over the last 30 days is 20, and the standard deviation is 5. I3 may be scaled to 100.000. Indicator I4 may be calculated as a raw z-score: (30-25)/10=0.5, where the average risk score of sites visited today is 30, the average for the peer group over the last 30 days is 25, and the standard deviation is 10. The score of I 4 can be scaled to 8.3333. Indicator I 5 can be calculated as the raw z score: (40-60)/30=-0.667, where today's upload is 40MB, the peer group average over the past 30 days is 60MB, and the standard deviation is 30MB. The score of I 5 can be scaled to 0.

继续该示例,基于数据质量和数量,可以如下为每个指示符指派数据源权重:W1=60%,W2=30%,W3=5%,W4=2%,W5=3%。可以使用权重和指示符(其可以被缩放)来计算用户风险得分。在这个示例中,用户风险得分(缩放后的Z得分)可以被计算为(0.60*92) +(0.30*100.0)+(0.05*100.0)+(0.02*8.333)+(0.03*0)=90(四舍五入)。如果管理员可以验证用户没有其它重大风险,那么管理员可以将最终得分从90调整到25。得分可以通过线性回归算法应用于线性回归分析 1314:特征(I1,I2),...):92,100.0,100.0,8.333,0,目标变量 (调整后的组合得分):25。对所有用户得分使用这些以及特征和目标变量,回归算法将针对客户的每个指示符计算新的权重(w1, w2,...),并相应地更新用于所有用户(在客户租户中)的风险得分。Continuing with this example, based on data quality and quantity, each indicator can be assigned a data source weight as follows: W1 = 60%, W2 = 30%, W3 = 5%, W4 = 2%, W5 = 3%. The weights and indicators (which can be scaled) can be used to calculate a user risk score. In this example, the user risk score (scaled Z score) can be calculated as (0.60*92) + (0.30*100.0) + (0.05*100.0) + (0.02*8.333) + (0.03*0) = 90 (rounded). If the administrator can verify that the user has no other significant risks, the administrator can adjust the final score from 90 to 25. The score can be applied to a linear regression analysis 1314 using a linear regression algorithm: Features ( I1 , I2 , ...): 92, 100.0, 100.0, 8.333, 0, target variable (adjusted combined score): 25. Using these along with the features and target variable for all user scores, the regression algorithm will calculate new weights (w1, w2, ...) for each indicator of the customer and update the risk scores for all users (in the customer tenant) accordingly.

Ⅻ.用于发现和管理应用的安全性的界面 XII. Interface for discovering and managing application security

图15-26图示了根据一些实施例的界面,例如,用于发现和管理计算环境中的应用的安全性的图形界面。诸如图形用户界面(GUI) 之类的每个图形界面可以在客户端处显示,其访问由图中公开的安全监视和控制系统102提供的服务。图形界面可以被显示为访问门户 (诸如网站)的一部分,或者显示在应用中。图形界面的附加示例在于2017年2月17日提交的标题为“Systems and Methods for Discovering and Monitoring UnsanctionedEnterprise Assets”的优先权申请美国临时申请No.62/460,716[代理人案卷号:088325-1039197 (185502US)]中显示。Figures 15-26 illustrate interfaces according to some embodiments, for example, graphical interfaces for discovering and managing the security of applications in a computing environment. Each graphical interface, such as a graphical user interface (GUI), can be displayed at a client that accesses services provided by the security monitoring and control system 102 disclosed in the figures. The graphical interface can be displayed as part of an access portal (such as a website) or displayed within an application. Additional examples of graphical interfaces are shown in priority application U.S. Provisional Application No. 62/460,716, filed on February 17, 2017, entitled "Systems and Methods for Discovering and Monitoring Unsanctioned Enterprise Assets" [Attorney Docket No.: 088325-1039197 (185502US)].

在这个公开中,“元素”可以包括在图形界面中。元素可以是可显示的和/或图形界面的一部分。元素的示例包括但不限于控件、按钮、导航条或其它可见部件,其可以是可以通过声音、视觉、触摸或其组合感知的界面的一部分。元素可以接收输入。例如,交互式元素可以是交互式以接收输入的元素。交互式元素可以接收输入,以使得能够与图形界面交互。例如,交互式元素可以是图形界面中的许多元素之一,诸如为其显示网络数据的热图。In this disclosure, an "element" may be included in a graphical interface. An element may be a displayable and/or part of a graphical interface. Examples of elements include, but are not limited to, controls, buttons, navigation bars, or other visible components, which may be part of an interface that can be perceived by sound, vision, touch, or a combination thereof. An element may receive input. For example, an interactive element may be an element that is interactive to receive input. An interactive element may receive input to enable interaction with the graphical interface. For example, an interactive element may be one of many elements in a graphical interface, such as a heat map for displaying network data.

在图15中,在应用中示出了GUI 1500,其使得用户能够发现和管理在组织的网络上被访问的应用的安全性。GUI 1500被示为交互式界面(例如,仪表板),其是交互式的,以查看已被发现为在组织的网络上被访问的应用。图15-26中的GUI可以作为应用中仪表板的一部分或基于其与应用中的仪表板的交互来呈现。仪表板可以包括用于交互式界面的一个或多个交互式选项卡,诸如“摘要”、“应用发现”和“关键安全性指示符”。界面中的信息和元素可以是附图的多个GUI中的参考,以图示附加的示例。In Figure 15, a GUI 1500 is shown in an application that enables a user to discover and manage the security of applications accessed on an organization's network. GUI 1500 is shown as an interactive interface (e.g., a dashboard) that is interactive for viewing applications that have been discovered to be accessed on an organization's network. The GUIs in Figures 15-26 can be presented as part of a dashboard in an application or based on its interaction with a dashboard in an application. The dashboard can include one or more interactive tabs for the interactive interface, such as "Summary," "Application Discovery," and "Key Security Indicators." The information and elements in the interface can be referenced in multiple GUIs of the accompanying drawings to illustrate additional examples.

现在转到图15的示例,示出了GUI 1500,其中选择了“应用发现”。可以基于如何获得信息来显示关于应用的信息。例如,关于应用的信息可以显示在用于基于注册已知的应用的界面“来自已注册的应用”的选项卡下。在另一个示例中,关于应用的信息可以显示在用于基于这里公开的用于识别由用户访问的应用的技术被发现的应用的界面“来自日志”1504的选项卡下。关于任一选项卡中的应用所示出的功能可以被组合成单个选项卡,或者可以在另一个选项卡中实现。Turning now to the example of FIG. 15 , GUI 1500 is shown with "Application Discovery" selected. Information about applications can be displayed based on how the information was obtained. For example, information about applications can be displayed under a tab in the "From Registered Applications" interface for applications known based on registration. In another example, information about applications can be displayed under a tab in the "From Logs" interface 1504 for applications discovered based on the techniques disclosed herein for identifying applications accessed by a user. Functionality shown for applications in any tab can be combined into a single tab or implemented in another tab.

GUI 1500可以包括是交互式的元素1506,以选择性地提供输入来过滤所发现的应用。可以基于一个或多个属性来执行过滤,诸如时间、日期、应用类型、动作、风险或针对所发现的应用移位 (displated)的任何其它类型的信息。GUI 1500 may include an interactive element 1506 to selectively provide input to filter the discovered applications. Filtering may be performed based on one or more attributes, such as time, date, application type, action, risk, or any other type of information displated for the discovered applications.

如本文所公开的,可以使用许多技术来发现应用,诸如检查用于网络活动的日志文件(例如,系统日志文件)。GUI 1500可以包括是交互式的元素1510,以提供输入来配置如何收集日志文件以进行分析以发现应用。与元素1510的交互可以使得附加的或修改后的GUI 2000(“系统日志设置”)在GUI 1500旁边或与GUI 1500一起显示。GUI 2000可以使得用户能够配置如何收集日志文件。GUI 2000可以包括一个或多个元素,其可以接收输入来配置用于访问日志文件的令牌、用于日志文件的路径或源、放置所收集的日志文件的位置(例如,端点),以及用于日志文件的一个或多个连接参数(例如,端口)。用于配置日志文件的参数可以包括用于安全位置的一个或多个参数和/或用于存储日志文件的连接。As disclosed herein, many technologies can be used to discover applications, such as checking the log files (e.g., system log files) used for network activities. GUI 1500 can include interactive elements 1510 to provide input to configure how to collect log files for analysis to discover applications. Interaction with element 1510 can cause additional or modified GUI 2000 ("system log settings") to be displayed next to or with GUI 1500. GUI 2000 can enable users to configure how to collect log files. GUI 2000 can include one or more elements that can receive input to configure the token used to access log files, the path or source used for log files, the location (e.g., endpoint) for placing collected log files, and one or more connection parameters (e.g., port) for log files. The parameters used to configure log files can include one or more parameters for a secure location and/or the connection for storing log files.

GUI 1500可以是交互式的,以显示关于所发现的每个应用的信息的网格或表视图。在所示的示例中,GUI 1500被显示为具有用于已被发现被访问的每个应用的行。每行显示关于已发现的应用的信息,包括提供该应用的主机系统的域、最高风险、(一个或多个)事故和可配置的补救动作。视图中的每个条目或行可以是交互式的,包括每个条目中的字段。最高风险可以显示关于应用的不同类别的安全风险的信息。GUI 1500 can be interactive to display a grid or table view of information about each application discovered. In the example shown, GUI 1500 is displayed with a row for each application that has been discovered and accessed. Each row displays information about the discovered application, including the domain of the host system providing the application, the highest risk, (one or more) incidents, and configurable remediation actions. Each entry or row in the view can be interactive, including fields within each entry. The highest risk can display information about different categories of security risks for the application.

GUI 1500可以包括交互式的元素1508,以导出表中用于任何应用条目的信息的数据文件。数据文件可以用于管理、监视和跟进关于应用安全性的动作。GUI 1500 may include an interactive element 1508 to export a data file of information for any application entry in the table. The data file may be used to manage, monitor, and follow up on actions related to application security.

与对应于表的条目中的“事故”的元素的交互可以导致图19中的GUI 1900。该元素可以是交互式的,以选择先前打开的一个或多个事故。GUI 1900可以在GUI 1500的顶部或在其旁边显示。可以呈现GUI以显示关于已经打开的事故的信息。GUI 1900可以包括一个或多个交互式元素,以提供输入来配置应用的事件。与用于打开事故的元素的交互可以特定于与条目的元素对应的应用。图19的GUI 1900可以包括元素1902(“类别”)、1904(“发现的应用名称”)、1906(“供应商域”)、1908(“描述”)、1910(“补救动作”)、1912(“指派给”)、1914(“优先权”)、1916(“认可”)、1918(“新事故”)和1920(“取消”)。Interacting with the element corresponding to "Incident" in the entry of the table may result in GUI 1900 in FIG. This element may be interactive, allowing selection of one or more previously opened incidents. GUI 1900 may be displayed on top of or alongside GUI 1500. The GUI may be presented to display information about already opened incidents. GUI 1900 may include one or more interactive elements to provide input for configuring events for an application. Interaction with the element for opening an incident may be specific to the application corresponding to the element in the entry. GUI 1900 in FIG. 19 may include elements 1902 ("Category"), 1904 ("Discovered Application Name"), 1906 ("Vendor Domain"), 1908 ("Description"), 1910 ("Remedial Action"), 1912 ("Assigned To"), 1914 ("Priority"), 1916 ("Approve"), 1918 ("New Incident"), and 1920 ("Cancel").

元素1902可以指示针对其发现应用的一个或多个安全风险。在发起新事故之前,可能已在GUI 1500中选择了风险。元素1904可以指示应用的名称。元素1906可以指示提供该应用的主机系统的域。元素1908可以是交互式的,以指定关于事故的描述。可以基于安全风险预先填写描述。描述可以用于提供关于应用的使用的描述。元素 1910可以是交互式的,以指定一个或多个补救动作。可以基于安全风险在元素1910中预先选择补救动作。元素1912可以是交互式的,以指定要被通知关于应用的安全性的一个或多个用户。元素1914可以是交互式的,以指定应用的优先级。元素1916可以是交互式的,以指示认可创建事故。元素1918可以是交互式的,以基于对GUI 1900的输入来提交创建事故的请求。元素1920可以是交互式的,以取消创建事故。Element 1902 may indicate one or more security risks for which the application has been discovered. Risks may have been selected in GUI 1500 before initiating a new incident. Element 1904 may indicate the name of the application. Element 1906 may indicate the domain of the host system hosting the application. Element 1908 may be interactive to specify a description of the incident. The description may be pre-populated based on the security risk. The description may be used to provide a description of the application's usage. Element 1910 may be interactive to specify one or more remediation actions. Remediation actions may be pre-selected in element 1910 based on the security risk. Element 1912 may be interactive to specify one or more users to be notified about the security of the application. Element 1914 may be interactive to specify the priority of the application. Element 1916 may be interactive to indicate approval of incident creation. Element 1918 may be interactive to submit the request to create the incident based on input in GUI 1900. Element 1920 may be interactive to cancel the incident creation.

与对应于表中的条目的元素的交互可以使GUI 1500被修改,以显示关于与那个条目对应的所发现的应用的信息。例如,在图16中, GUI 1500被示为具有用于所发现的应用的条目的扩展的GUI 1600 (例如,图形界面)。GUI 1600可以显示关于应用的组织信息。组织信息可以包括关于与应用相关的使用的信息,诸如用户的数量、网络活动(例如,上传的数据和下载的数据)、应用的类别以及关于提供应用的组织的信息。关于组织的信息可以包括名称、地址、域、网站、组织的描述和/或关于组织对应用的注册的其它信息。16. The GUI 1500 may be modified by interacting with an element corresponding to an entry in the table to display information about the application found corresponding to that entry. For example, in Figure 16, GUI 1500 is shown as an expanded GUI 1600 (e.g., a graphical interface) with entries for the application found. GUI 1600 may display organizational information about the application. The organizational information may include information about the use associated with the application, such as the number of users, network activity (e.g., uploaded data and downloaded data), the category of the application, and information about the organization providing the application. Information about the organization may include name, address, domain, website, description of the organization, and/or other information about the organization's registration of the application.

GUI 1600可以显示关于在GUI 1500中的条目中显示的每个安全风险的信息。每个安全风险可以与描述该安全风险的信息一起显示,并且可以以关于安全风险的视觉外观显示。例如,视觉外观可以具有图像和颜色,以指示风险的严重性。可以基于为发现的应用确定的安全信息中的安全性指示符来确定安全风险。可以显示特定于统计信息的信息或关于安全风险的底层信息。在一些实施例中,安全风险可以基于由第三方源、用户提供的和/或由安全监视和控制系统102策展的信息。在一些实施例中,安全风险可以基于安全性的一个或多个指示符。安全风险可以基于一个或多个安全策略的应用。可以使用针对一个或多个安全风险确定的安全性的测量来应用安全策略。GUI 1600 can display information about each security risk displayed in an entry in GUI 1500. Each security risk can be displayed along with information describing the security risk and can be displayed with a visual appearance related to the security risk. For example, the visual appearance can have an image and color to indicate the severity of the risk. The security risk can be determined based on security indicators in the security information determined for the discovered application. Information specific to the statistics or underlying information about the security risk can be displayed. In some embodiments, the security risk can be based on information provided by a third-party source, a user, and/or curated by the security monitoring and control system 102. In some embodiments, the security risk can be based on one or more indicators of security. The security risk can be based on the application of one or more security policies. The security policy can be applied using a measure of security determined for one or more security risks.

在图16所示的示例中,GUI 1600可以包括用于每个安全风险的元素。与安全风险对应的元素可以是交互式的,以便或者在GUI 1500旁边或者作为GUI 1500的附加显示GUI。在一个示例中,可以基于与用于安全风险(“IP信誉”)的元素1604的交互来显示图17 的GUI1700。在另一个示例中,可以基于与用于安全风险(“应用安全性”)的元素1606的交互来显示图18的GUI 1800。In the example shown in FIG16 , GUI 1600 may include an element for each security risk. The elements corresponding to the security risks may be interactive so that the GUI is displayed either alongside or in addition to GUI 1500. In one example, GUI 1700 of FIG17 may be displayed based on an interaction with element 1604 for a security risk ("IP Reputation"). In another example, GUI 1800 of FIG18 may be displayed based on an interaction with element 1606 for a security risk ("Application Security").

GUI 1700和1800中的每一个显示关于具体安全风险的信息。该信息可以对应于与访问应用的安全风险相关的一个或多个事件。可以基于包括关于实际事件的信息的每个事件或事件类别来显示信息。可以显示每个安全风险以及关于该问题的信息。可以提供一个或多个补救动作。该信息可以由第三方源、用户提供,和/或由安全监视和控制系统102策展。例如,该信息可以由应用的提供者提供。可以显示每个安全性风险,其具有指示风险严重性的视觉外观。在一些实施例中,可以向元素呈现每个风险,使得元素可以是交互式的,以使得显示另一个GUI以自动化和/或配置补救动作。Each of GUIs 1700 and 1800 displays information about a specific security risk. This information may correspond to one or more events related to the security risk of accessing an application. Information may be displayed based on each event or event category, including information about the actual event. Each security risk may be displayed along with information about the issue. One or more remediation actions may be provided. This information may be provided by a third-party source, a user, and/or curated by the security monitoring and control system 102. For example, this information may be provided by the provider of the application. Each security risk may be displayed with a visual appearance indicating the severity of the risk. In some embodiments, each risk may be presented to an element such that the element may be interactive, causing another GUI to be displayed to automate and/or configure remediation actions.

现在返回图15,对于与唯一发现的应用对应的每个条目,可以在GUI 1500中呈现诸如1512之类的元素。该元素可以是交互式的,以便为应用配置一个或多个补救动作。该元素可以提供一个或多个选项,其可以特定于应用的安全风险。与元素的交互可以使得另一个 GUI在GUI 1500旁边或者作为GUI 150的附加显示,以配置补救动作。可以选择安全风险,以使得为安全风险选择补救选项。在一些实施例中,可以基于安全风险和一个或多个安全策略来呈现一个或多个补救动作。已执行的补救动作也可以与用于已发现的应用的条目一起显示。Returning now to FIG. 15 , for each entry corresponding to a uniquely discovered application, an element such as 1512 may be presented in GUI 1500. The element may be interactive so as to configure one or more remediation actions for the application. The element may provide one or more options that may be specific to the security risk of the application. Interaction with the element may cause another GUI to be displayed alongside GUI 1500 or in addition to GUI 1500 to configure remediation actions. A security risk may be selected so as to select remediation options for the security risk. In some embodiments, one or more remediation actions may be presented based on the security risk and one or more security policies. Executed remediation actions may also be displayed along with the entry for the discovered application.

与元素1502的交互可以使GUI 1500被更新,以显示图21的 GUI 2100。类似于GUI1500,GUI 2100可以显示关于被发现的应用的信息。该信息可能包括安全风险。GUI 2100可以像GUI 1500那样是交互式的。在GUI 2100中识别出的应用可以是已经向组织注册的应用。与图21中的条目2102的交互可以使GUI 2200被显示。Interacting with element 1502 may cause GUI 1500 to be updated to display GUI 2100 of FIG. 21 . Similar to GUI 1500 , GUI 2100 may display information about discovered applications. This information may include security risks. GUI 2100 may be interactive, just like GUI 1500 . Applications identified in GUI 2100 may be applications that have already been registered with the organization. Interacting with item 2102 in FIG. 21 may cause GUI 2200 to be displayed.

类似于图17和18,图23-25显示具有关于在GUI 2200中显示的安全风险的信息的GUI。GUI 2200可以包括用于端点安全风险的元素2202(“端点安全性”)、用于网络安全风险的元素2204 (“网络安全性”),以及用于IP信誉安全风险的元素2206 (“IP信誉”)。元素2202、元素2204和元素2206中的每一个可以分别使得图23的GUI 2300、图24的GUI 2400和图25的GUI 2500在GUI 2200旁边或作为GUI 2200的附加显示。Similar to Figures 17 and 18, Figures 23-25 show GUIs with information about security risks displayed in GUI 2200. GUI 2200 may include element 2202 ("Endpoint Security") for endpoint security risks, element 2204 ("Network Security") for network security risks, and element 2206 ("IP Reputation") for IP reputation security risks. Each of element 2202, element 2204, and element 2206 may cause GUI 2300 of Figure 23, GUI 2400 of Figure 24, and GUI 2500 of Figure 25, respectively, to be displayed alongside or in addition to GUI 2200.

图26图示了“应用发现”的GUI 2600,其示出了关于被发现的应用的细节。GUI2600可以包括交互式视图2602,其针对所发现的每个唯一的应用在表视图中显示条目。类似于图15的GUI 1500,每个条目可以包括关于应用的信息,包括应用名称和应用的提供者。与 GUI 1500一样,每个条目可以是交互式的,以使得显示关于与该条目对应的应用的附加信息。条目可以指示与一个或多个指示符相关联的一个或多个最高风险。与GUI 1500不同,GUI 2600可以示出用于所发现的每个唯一的应用的条目,而不管发现的源(例如,日志或注册)。Figure 26 illustrates a GUI 2600 for "Application Discovery" showing details about the applications that were discovered. GUI 2600 may include an interactive view 2602 that displays an entry in a table view for each unique application discovered. Similar to GUI 1500 of Figure 15, each entry may include information about the application, including the application name and the provider of the application. As with GUI 1500, each entry may be interactive so that additional information about the application corresponding to the entry is displayed. An entry may indicate one or more highest risks associated with one or more indicators. Unlike GUI 1500, GUI 2600 may show an entry for each unique application discovered, regardless of the source of the discovery (e.g., log or registry).

在一些实施例中,条目可以指示关于与所发现的应用相关的事件的其它信息。条目可以指示关于应用的使用的信息,诸如已经访问应用的用户的数量以及访问应用的日期。In some embodiments, the entry may indicate other information about the event related to the discovered application.The entry may indicate information about the use of the application, such as the number of users who have accessed the application and the date the application was accessed.

在一些实施例中,表视图中的条目可以与作为注册的应用和/或从日志发现的应用对应。每个条目可以包括一个或多个元素以执行补救动作。视图2602可以包括一个或多个是交互式的元素(例如,工具栏),以配置何时识别已被访问的应用和/或自动发现应用的时间段。工具栏可以是交互式的,以配置已被访问的应用的通知、设置和搜索。In some embodiments, the entries in the table view may correspond to registered applications and/or applications discovered from the log. Each entry may include one or more elements to perform remedial actions. View 2602 may include one or more interactive elements (e.g., toolbars) to configure when to identify accessed applications and/or a time period for automatically discovering applications. The toolbar may be interactive to configure notifications, settings, and searches for accessed applications.

GUI 2600可以包括区域2604,该区域显示关于应用使用的测量的统计信息的可视化。统计信息可以基于一个或多个安全风险来显示。 GUI 2600可以包括基于使用的测量显示应用使用的可视化的区域 2606。GUI 2600可以包括区域2608,基于诸如类别、域、服务提供者、安全风险或与应用相关联的其它类别的信息之类的信息来显示应用的分组的可视化。GUI 2600 may include an area 2604 that displays a visualization of statistical information regarding a measurement of application usage. The statistical information may be displayed based on one or more security risks. GUI 2600 may include an area 2606 that displays a visualization of application usage based on the measurement of usage. GUI 2600 may include an area 2608 that displays a visualization of groupings of applications based on information such as category, domain, service provider, security risk, or other categories of information associated with the applications.

XIII.用于访问管理系统和客户端系统的通用计算机系统 XIII. General-purpose computer system for access management system and client system

图27描绘了用于实现实施例的分布式系统2700的简化图。在所示的实施例中,分布式系统2700包括一个或多个客户端计算设备 2702、2704、2706和2708,这些客户端计算设备被配置为通过一个或多个网络2710执行和操作客户端应用,诸如web浏览器、专有客户端(例如Oracle Forms)等。服务器2712可以经由网络2710与远程客户端计算设备2702、2704、2706和2708通信地耦合。27 depicts a simplified diagram of a distributed system 2700 for implementing an embodiment. In the illustrated embodiment, the distributed system 2700 includes one or more client computing devices 2702, 2704, 2706, and 2708 configured to execute and operate client applications, such as web browsers, proprietary clients (e.g., Oracle Forms), etc., over one or more networks 2710. A server 2712 can be communicatively coupled to the remote client computing devices 2702, 2704, 2706, and 2708 via the network 2710.

在各种实施例中,服务器2712可以适于运行一个或多个服务或软件应用。在某些实施例中,服务器2712还可以提供其它服务,或者软件应用可以包括非虚拟和虚拟环境。在一些实施例中,这些服务可以作为基于web的或云服务或者在软件即服务(SaaS)模型下提供给客户端计算设备2702、2704、2706和/或2708的用户。操作客户端计算设备2702、2704、2706和/或2708的用户可以进而利用一个或多个客户端应用与服务器2712交互,以利用由这些部件提供的服务。In various embodiments, server 2712 may be adapted to run one or more services or software applications. In certain embodiments, server 2712 may also provide other services, or the software application may include both non-virtualized and virtualized environments. In some embodiments, these services may be provided to users of client computing devices 2702, 2704, 2706, and/or 2708 as web-based or cloud services or under a software-as-a-service (SaaS) model. Users operating client computing devices 2702, 2704, 2706, and/or 2708 may then interact with server 2712 using one or more client applications to utilize the services provided by these components.

在图27中描绘的配置中,系统2700的软件部件2718、2720和 2722被示为在服务器2712上实现。在其它实施例中,系统2700的一个或多个部件和/或由这些部件提供的服务也可以由客户端计算设备2702、2704、2706和/或2708中的一个或多个实现。操作客户端计算设备的用户然后可以利用一个或多个客户端应用来使用由这些部件提供的服务。这些部件可以用硬件、固件、软件或其组合实现。应当理解,各种不同的系统配置是可能的,其可以与分布式系统2700 不同。因此,图27中所示的实施例是用于实现实施例系统的分布式系统的一个示例,并且不旨在进行限制。In the configuration depicted in Figure 27, software components 2718, 2720, and 2722 of system 2700 are shown as being implemented on server 2712. In other embodiments, one or more components of system 2700 and/or the services provided by these components may also be implemented by one or more of client computing devices 2702, 2704, 2706, and/or 2708. A user operating a client computing device can then utilize one or more client applications to use the services provided by these components. These components can be implemented in hardware, firmware, software, or a combination thereof. It should be understood that a variety of different system configurations are possible, which may differ from distributed system 2700. Therefore, the embodiment shown in Figure 27 is an example of a distributed system for implementing an embodiment system and is not intended to be limiting.

客户端计算设备2702、2704、2706和/或2708可以包括各种类型的计算系统。例如,客户端计算设备可以包括便携式手持设备(例如,蜂窝电话、计算平板、个人数字助理 (PDA))或可穿戴设备(例如,Google头戴式显示器),其运行诸如Microsoft Windows之类的软件和/或诸如iOS、 Windows Phone、Android、BlackBerry 10,Palm OS之类的各种移动操作系统。设备可以支持各种应用,诸如各种互联网相关的应用、电子邮件、短消息服务(SMS)应用,并且可以使用各种其它通信协议。客户端计算设备还可以包括通用个人计算机,作为示例,运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行任何各种商用的或类UNIX操作系统(包括但不限于诸如像Google Chrome OS的各种GNU/Linux操作系统)的工作站计算机。客户端计算设备还可以包括能够提供(一个或多个)网络2710通信的电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有手势输入设备的Microsoft游戏控制台) 和/或个人消息传送设备。Client computing devices 2702, 2704, 2706, and/or 2708 may include various types of computing systems. For example, the client computing device may include a portable handheld device (e.g., a cellular phone, a computing tablet, a personal digital assistant (PDA)) or a wearable device (e.g., a Google head-mounted display) running software such as Microsoft Windows and/or various mobile operating systems such as iOS, Windows Phone, Android, BlackBerry 10, and Palm OS. The device may support various applications, such as various Internet-related applications, email, short message service (SMS) applications, and may use various other communication protocols. The client computing device may also include a general-purpose personal computer, for example, a personal computer and/or laptop computer running various versions of Microsoft Apple and/or Linux operating systems. The client computing device may be a workstation computer running any of various commercial or UNIX-like operating systems (including but not limited to various GNU/Linux operating systems such as Google Chrome OS). Client computing devices may also include electronic devices capable of providing network(s) 2710 communications, such as thin client computers, Internet-enabled gaming systems (e.g., Microsoft game consoles with or without gesture input devices), and/or personal messaging devices.

虽然图27中的分布式系统2700被示为具有四个客户端计算设备,但是可以支持任何数量的客户端计算设备。其它设备,诸如具有传感器的设备等,可以与服务器2712交互。Although the distributed system 2700 in Figure 27 is shown as having four client computing devices, any number of client computing devices can be supported. Other devices, such as devices with sensors, etc., can interact with the server 2712.

分布式系统2700中的(一个或多个)网络2710可以是对本领域技术人员熟悉的可以利用任何各种可用协议支持数据通信的任何类型的网络,其中各种协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络2710可以是局域网(LAN)、基于以太网的网络、令牌环、广域网、互联网、虚拟网络、虚拟专用网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,在任何电气和电子协会 (IEEE)802.11协议套件、和/或任何其它无线协议下操作的网络)和/或这些和/或其它网络的任意组合。The network(s) 2710 in the distributed system 2700 may be any type of network familiar to those skilled in the art that can support data communications using any of a variety of available protocols, including, but not limited to, TCP/IP (Transmission Control Protocol/Internet Protocol), SNA (Systems Network Architecture), IPX (Internetwork Packet Exchange), AppleTalk, etc. By way of example only, the network(s) 2710 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network, the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., a network operating under any Institute of Electrical and Electronics Engineers (IEEE) 802.11 protocol suite, and/or any other wireless protocol), and/or any combination of these and/or other networks.

服务器2712可以由一个或多个通用计算机、专用服务器计算机 (作为示例,包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合组成。服务器2712可以包括运行虚拟操作系统的一个或多个虚拟机,或涉及虚拟化的其它计算体系架构。一个或多个灵活的逻辑存储设备池可以被虚拟化,以维护用于服务器的虚拟存储设备。虚拟网络可以由服务器2712利用软件定义的联网来控制。在各种实施例中,服务器2712可以适于运行在前述公开内容中描述的一个或多个服务或软件应用。例如,服务器2712可以与根据本公开的实施例的用于如上所述执行处理的服务器对应。The server 2712 may be comprised of one or more general-purpose computers, dedicated server computers (including, by way of example, PC (personal computer) servers, servers, mid-range servers, mainframe computers, rack-mounted servers, etc.), server farms, server clusters, or any other suitable arrangement and/or combination. The server 2712 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization. One or more flexible logical storage device pools may be virtualized to maintain virtual storage devices for the servers. The virtual network may be controlled by the server 2712 using software-defined networking. In various embodiments, the server 2712 may be adapted to run one or more services or software applications described in the foregoing disclosure. For example, the server 2712 may correspond to a server for performing processing as described above according to an embodiment of the present disclosure.

服务器2712可以运行包括以上讨论的任何操作系统的操作系统,以及任何商用的服务器操作系统。服务器2712还可以运行任何各种附加的服务器应用和/或中间层应用,包括HTTP(超文本传输协议) 服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商业获得的数据库服务器。The server 2712 can run an operating system including any of the operating systems discussed above, as well as any commercially available server operating system. The server 2712 can also run any of a variety of additional server applications and/or middle-tier applications, including HTTP (Hypertext Transfer Protocol) servers, FTP (File Transfer Protocol) servers, CGI (Common Gateway Interface) servers, servers, database servers, etc. Exemplary database servers include, but are not limited to, commercially available database servers from Oracle, Microsoft, Sybase, IBM (International Business Machines), etc.

在一些实现中,服务器2712可以包括一个或多个应用,以分析和整合从客户端计算设备2702、2704、2706和2708的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源和持续数据流接收到的馈送、更新或实时更新,其可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器2712还可以包括经由客户端计算设备2702、2704、2706和2708的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。In some implementations, the server 2712 may include one or more applications to analyze and integrate data feeds and/or event updates received from users of the client computing devices 2702, 2704, 2706, and 2708. By way of example, the data feeds and/or event updates may include, but are not limited to, feeds, updates, or real-time updates received from one or more third-party information sources and continuous data streams, which may include real-time events associated with sensor data applications, financial quote machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, automobile traffic monitoring, etc. The server 2712 may also include one or more applications that display the data feeds and/or real-time events via one or more display devices of the client computing devices 2702, 2704, 2706, and 2708.

分布式系统2700也可以包括一个或多个数据库2714和2716。这些数据库可以提供用于存储信息的机制,诸如用户交互信息、使用模式信息、适应规则信息以及由本公开的实施例使用的其它信息。数据库2714和2716可以驻留在各种位置中。作为示例,数据库2714和2716中的一个或多个可以驻留在服务器2712本地(和/或驻留在其中)的非瞬态存储介质上。可替代地,数据库2714和2716可以远离服务器2712,并且经由基于网络的或专用的连接与服务器2712通信。在一组实施例中,数据库2714和2716可以驻留在存储区域网络 (SAN)中。类似地,用于执行服务器2712所具有的功能的任何必要的文件可以适当地在服务器2712本地存储和/或远程存储。在一组实施例中,数据库2714和2716可以包括适于响应于SQL格式的命令存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。Distributed system 2700 may also include one or more databases 2714 and 2716. These databases can provide a mechanism for storing information, such as user interaction information, usage pattern information, adaptation rule information, and other information used by embodiments of the present disclosure. Databases 2714 and 2716 can reside in various locations. As an example, one or more of databases 2714 and 2716 can reside on a non-transient storage medium local to (and/or residing in) server 2712. Alternatively, databases 2714 and 2716 can be remote from server 2712 and communicate with server 2712 via a network-based or dedicated connection. In one set of embodiments, databases 2714 and 2716 can reside in a storage area network (SAN). Similarly, any necessary files for executing the functions possessed by server 2712 can be appropriately stored locally and/or remotely on server 2712. In one set of embodiments, databases 2714 and 2716 can include a relational database suitable for storing, updating, and retrieving data in response to SQL-formatted commands, such as a database provided by Oracle.

在一些实施例中,云环境可以提供一个或多个服务。图28是根据本公开内容的实施例、其中服务可以被提供为云服务的系统环境 2800的一个或多个部件的简化框图。在图28所示的实施例中,系统环境2800包括可以被用户用来与提供云服务的云基础设施系统2802 交互的一个或多个客户端计算设备2804、2806和2808。云基础设施系统2802可以包括一个或多个计算机和/或服务器,其可以包括以上针对服务器2712所描述的那些。In some embodiments, a cloud environment can provide one or more services. Figure 28 is a simplified block diagram of one or more components of a system environment 2800 in which services can be provided as cloud services, according to an embodiment of the present disclosure. In the embodiment shown in Figure 28, system environment 2800 includes one or more client computing devices 2804, 2806, and 2808 that can be used by users to interact with a cloud infrastructure system 2802 that provides cloud services. Cloud infrastructure system 2802 can include one or more computers and/or servers, which can include those described above for server 2712.

应当认识到的是,图28中所绘出的云基础设施系统2802可以具有除所绘出的那些之外的其它部件。另外,图28中所示的实施例仅仅是可以结合本公开的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统2802可以具有比图中所示出的更多或更少的部件、可以合并两个或更多个部件、或者可以具有不同的部件配置或布置。It should be appreciated that the cloud infrastructure system 2802 depicted in FIG28 may have other components than those depicted. Furthermore, the embodiment shown in FIG28 is merely one example of a cloud infrastructure system that may incorporate embodiments of the present disclosure. In some other embodiments, the cloud infrastructure system 2802 may have more or fewer components than shown, may combine two or more components, or may have a different configuration or arrangement of components.

客户端计算设备2804、2806和2808可以是与以上针对客户端计算设备2702、2704、2706和2708描述的那些设备类似的设备。客户端计算设备2804、2806和2808可以被配置为操作客户端应用,诸如 web浏览器、专有客户端应用(例如,Oracle Forms)或可以被客户端计算设备的用户使用以与云基础设施系统2802交互来使用由云基础设施系统2802提供的服务的一些其它应用。虽然示例性系统环境 2800被示为具有三个客户端计算设备,但是可以支持任何数量的客户端计算设备。诸如具有传感器的设备等的其它设备可以与云基础设施系统2802交互。Client computing devices 2804, 2806, and 2808 can be devices similar to those described above for client computing devices 2702, 2704, 2706, and 2708. Client computing devices 2804, 2806, and 2808 can be configured to operate client applications, such as web browsers, proprietary client applications (e.g., Oracle Forms), or some other application that can be used by users of the client computing devices to interact with cloud infrastructure system 2802 to use services provided by cloud infrastructure system 2802. Although exemplary system environment 2800 is shown with three client computing devices, any number of client computing devices can be supported. Other devices, such as devices with sensors, can interact with cloud infrastructure system 2802.

(一个或多个)网络2810可以促进客户端计算设备2804、2806 和2808与云基础设施系统2802之间的通信和数据交换。每个网络可以是对本领域技术人员熟悉的可以利用任何各种商用的协议支持数据通信的任何类型的网络,其中协议包括以上针对(一个或多个)网络 2110所描述的协议。The network(s) 2810 can facilitate communication and data exchange between the client computing devices 2804, 2806, and 2808 and the cloud infrastructure system 2802. Each network can be any type of network familiar to those skilled in the art that can support data communication using any of a variety of commercially available protocols, including the protocols described above for the network(s) 2110.

在某些实施例中,由云基础设施系统2802提供的服务可以包括按需对云基础设施系统的用户可用的服务的主机。还可以提供各种其它服务,包括但不限于在线数据存储和备份解决方案、基于Web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态扩展,以满足其用户的需求。In certain embodiments, the services provided by the cloud infrastructure system 2802 may include a host of services available on-demand to users of the cloud infrastructure system. A variety of other services may also be provided, including but not limited to online data storage and backup solutions, web-based email services, hosted office suites and document collaboration services, database processing, managed technical support services, etc. The services provided by the cloud infrastructure system can be dynamically scalable to meet the needs of its users.

在某些实施例中,由云基础设施系统2802提供的服务的具体实例化在本文中可以被称为“服务实例”。一般而言,经由通信网络 (诸如互联网)从云服务提供者的系统使得对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供者的系统的服务器和系统与消费者自己的本地服务器和系统不同。例如,云服务提供者的系统可以托管应用,并且用户可以经由诸如互联网的通信网络按需订购和使用应用。In certain embodiments, a specific instantiation of a service provided by cloud infrastructure system 2802 may be referred to herein as a "service instance." Generally speaking, any service made available to users from a cloud service provider's system via a communications network (such as the Internet) is referred to as a "cloud service." Typically, in a public cloud environment, the servers and systems that make up the cloud service provider's system are distinct from the consumer's own on-premises servers and systems. For example, a cloud service provider's system may host an application, and users may subscribe to and use the application on demand via a communications network such as the Internet.

在一些示例中,计算机网络云基础设施中的服务可以包括对存储装置、托管的数据库、托管的web服务器、软件应用或者由云供应商向用户提供的其它服务的受保护的计算机网络访问,或者如本领域中另外已知的。例如,服务可以包括通过互联网对云上的远程存储的受密码保护的访问。作为另一个示例,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,用于由联网的开发人员私人使用。作为另一个示例,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。In some examples, services in a computer network cloud infrastructure may include protected computer network access to storage devices, hosted databases, hosted web servers, software applications, or other services provided by the cloud provider to users, or as otherwise known in the art. For example, a service may include password-protected access to remote storage on the cloud via the Internet. As another example, a service may include a hosted relational database and scripting language middleware engine based on a web service for private use by networked developers. As another example, a service may include access to an email software application hosted on the cloud provider's website.

在某些实施例中,云基础设施系统2802可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给消费者的应用套件、中间件和数据库服务产品。这种云基础设施系统的示例是由本受让人提供的Oracle Public Cloud(Oracle公共云)。In certain embodiments, the cloud infrastructure system 2802 may include application suites, middleware, and database service offerings delivered to consumers in a self-service, subscription-based, elastically scalable, reliable, highly available, and secure manner. An example of such a cloud infrastructure system is the Oracle Public Cloud provided by the assignee.

云基础设施系统2802还可以提供与“大数据”相关的计算和分析服务。术语“大数据”一般用来指可由分析员和研究者存储和操纵以可视化大量数据、检测趋势和/或以其它方式与数据交互的极大数据集。这种大数据和相关应用可以在许多级别和不同规模上由基础设施系统托管和/或操纵。并行链接的数十个、数百个或数千个处理器可以作用于这种数据,以便呈现其或者模拟对数据或其所表示的内容的外力。这些数据集可以涉及结构化数据,诸如在数据库中组织或以其它方式根据结构化模型组织的数据,和/或者非结构化数据(例如,电子邮件、图像、数据blob(二进制大对象)、网页、复杂事件处理)。通过利用实施例相对快速地将更多(或更少)的计算资源聚焦在目标上的能力,云基础设施系统可以更好地用于基于来自企业、政府机构、研究组织、私人个人、一群志同道合的个人或组织或其它实体的需求在大数据集上执行任务。The cloud infrastructure system 2802 can also provide computing and analytical services related to "big data." The term "big data" is generally used to refer to extremely large data sets that can be stored and manipulated by analysts and researchers to visualize large amounts of data, detect trends, and/or otherwise interact with the data. This big data and related applications can be hosted and/or manipulated by the infrastructure system at many levels and different scales. Dozens, hundreds, or thousands of processors linked in parallel can act on this data to render it or simulate external forces on the data or its content. These data sets can involve structured data, such as data organized in a database or otherwise organized according to a structured model, and/or unstructured data (e.g., emails, images, data blobs (binary large objects), web pages, complex event processing). By leveraging the ability of embodiments to relatively quickly focus more (or fewer) computing resources on a target, the cloud infrastructure system can be better used to perform tasks on large data sets based on needs from enterprises, government agencies, research organizations, private individuals, a group of like-minded individuals or organizations, or other entities.

在各种实施例中,云基础设施系统2802可以适于自动地供应、管理和跟踪消费者对由云基础设施系统2802提供的服务的订阅。云基础设施系统2802可以经由不同的部署模型提供云服务。例如,服务可以在公共云模型下提供,其中云基础设施系统2802由销售云服务的组织拥有(例如,由Oracle公司拥有)并且使服务对一般公众或不同的工业企业可用。作为另一个示例,服务可以在私有云模型下提供,其中云基础设施系统2802仅针对单个组织操作,并且可以为组织内的一个或多个实体提供服务。云服务还可以在社区云模型下提供,其中云基础设施系统2802和由云基础设施系统2802提供的服务由相关社区中的若干个组织共享。云服务还可以在混合云模型下提供,混合云模型是两个或更多个不同模型的组合。In various embodiments, the cloud infrastructure system 2802 can be adapted to automatically provision, manage, and track consumer subscriptions to services provided by the cloud infrastructure system 2802. The cloud infrastructure system 2802 can provide cloud services via different deployment models. For example, services can be provided under a public cloud model, where the cloud infrastructure system 2802 is owned by an organization that sells cloud services (e.g., owned by Oracle Corporation) and makes the services available to the general public or different industrial enterprises. As another example, services can be provided under a private cloud model, where the cloud infrastructure system 2802 operates only for a single organization and can provide services to one or more entities within the organization. Cloud services can also be provided under a community cloud model, where the cloud infrastructure system 2802 and the services provided by the cloud infrastructure system 2802 are shared by several organizations in a related community. Cloud services can also be provided under a hybrid cloud model, which is a combination of two or more different models.

在一些实施例中,由云基础设施系统2802提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的服务的其它类别下提供的一个或多个服务。消费者经由订阅订单可以订购由云基础设施系统2802提供的一个或多个服务。云基础设施系统2802然后执行处理,以提供消费者的订阅订单中的服务。In some embodiments, the services provided by cloud infrastructure system 2802 may include one or more services provided under the Software as a Service (SaaS) category, the Platform as a Service (PaaS) category, the Infrastructure as a Service (IaaS) category, or other categories of services including hybrid services. A consumer may subscribe to one or more services provided by cloud infrastructure system 2802 via a subscription order. Cloud infrastructure system 2802 then performs processing to provide the services in the consumer's subscription order.

在一些实施例中,由云基础设施系统2802提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供属于SaaS类别的云服务。例如,SaaS平台可以提供在集成的开发和部署平台上构建和交付点播应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,消费者可以利用在云基础设施系统上执行的应用。消费者可以获取应用服务,而无需消费者单独购买许可证和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供用于销售绩效管理、企业集成和业务灵活性的解决方案的服务。In some embodiments, the services provided by the cloud infrastructure system 2802 may include, but are not limited to, application services, platform services, and infrastructure services. In some examples, application services may be provided by the cloud infrastructure system via a SaaS platform. The SaaS platform may be configured to provide cloud services that fall into the SaaS category. For example, a SaaS platform may provide the ability to build and deliver on-demand application suites on an integrated development and deployment platform. The SaaS platform may manage and control the underlying software and infrastructure used to provide SaaS services. By utilizing the services provided by the SaaS platform, consumers can utilize applications executed on the cloud infrastructure system. Consumers can obtain application services without the need for consumers to purchase licenses and support separately. A variety of different SaaS services may be provided. Examples include, but are not limited to, services that provide solutions for sales performance management, enterprise integration, and business flexibility to large organizations.

在一些实施例中,平台服务可以由云基础设施系统2802经由 PaaS平台提供。PaaS平台可以被配置为提供属于PaaS类别的云服务。平台服务的示例可以包括但不限于使组织(诸如Oracle)能够在共享的共同体系架构上整合现有应用的服务,以及利用由平台提供的共享服务构建新应用的能力。PaaS平台可以管理和控制用于提供 PaaS服务的底层软件和基础设施。消费者可以获取由云基础设施系统2802提供的PaaS服务,而无需消费者购买单独的许可证和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle 数据库云服务(DBCS)以及其它。In some embodiments, platform services can be provided by the cloud infrastructure system 2802 via a PaaS platform. The PaaS platform can be configured to provide cloud services belonging to the PaaS category. Examples of platform services may include, but are not limited to, services that enable organizations (such as Oracle) to integrate existing applications on a shared common architecture, and the ability to build new applications using the shared services provided by the platform. The PaaS platform can manage and control the underlying software and infrastructure used to provide PaaS services. Consumers can obtain PaaS services provided by the cloud infrastructure system 2802 without having to purchase separate licenses and support. Examples of platform services include, but are not limited to, Oracle Java Cloud Service (JCS), Oracle Database Cloud Service (DBCS), and others.

通过利用由PaaS平台提供的服务,消费者可以采用由云基础设施系统支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle Fusion Middleware服务)和Java云服务。在一个实施例中,数据库云服务可以支持共享服务部署模型,其使得组织能够汇集数据库资源并且以数据库云的形式向消费者提供数据库即服务。中间件云服务可以为消费者提供开发和部署各种业务应用的平台,以及Java云服务可以在云基础设施系统中为消费者提供部署Java应用的平台。By utilizing the services provided by the PaaS platform, consumers can adopt programming languages and tools supported by the cloud infrastructure system and also control the deployed services. In some embodiments, the platform services provided by the cloud infrastructure system may include database cloud services, middleware cloud services (e.g., Oracle Fusion Middleware services), and Java cloud services. In one embodiment, the database cloud service may support a shared service deployment model that enables organizations to pool database resources and provide database as a service to consumers in the form of a database cloud. The middleware cloud service can provide consumers with a platform for developing and deploying various business applications, and the Java cloud service can provide consumers with a platform for deploying Java applications in the cloud infrastructure system.

可以由云基础设施系统中的IaaS平台提供各种不同的基础设施服务。基础设施服务促进底层计算资源(诸如存储装置、网络和其它基本计算资源)的管理和控制,以便消费者利用由SaaS平台和PaaS 平台提供的服务。A variety of infrastructure services can be provided by IaaS platforms in cloud infrastructure systems. Infrastructure services facilitate the management and control of underlying computing resources (such as storage, network, and other basic computing resources) so that consumers can utilize the services provided by SaaS and PaaS platforms.

在某些实施例中,云基础设施系统2802还可以包括基础设施资源2830,用于提供用来向云基础设施系统的消费者提供各种服务的资源。在一个实施例中,基础设施资源2830可以包括执行由PaaS 平台和SaaS平台提供的服务的硬件(诸如服务器、存储装置和联网资源)的预先集成和优化的组合,以及其它资源。In certain embodiments, cloud infrastructure system 2802 may also include infrastructure resources 2830 for providing resources used to deliver various services to consumers of the cloud infrastructure system. In one embodiment, infrastructure resources 2830 may include a pre-integrated and optimized combination of hardware (such as servers, storage devices, and networking resources) for executing services provided by PaaS and SaaS platforms, as well as other resources.

在一些实施例中,云基础设施系统2802中的资源可以由多个用户共享并且按需动态地重新分配。此外,资源可以分配给在不同时区中的用户。例如,云基础设施系统2802可以使第一时区内的第一用户集合能够利用云基础设施系统的资源指定的小时数,然后使得能够将相同资源重新分配给位于不同时区中的另一用户集合,从而最大化资源的利用率。In some embodiments, resources in the cloud infrastructure system 2802 can be shared by multiple users and dynamically reallocated as needed. Furthermore, resources can be allocated to users in different time zones. For example, the cloud infrastructure system 2802 can enable a first set of users in a first time zone to utilize the cloud infrastructure system's resources for a specified number of hours, and then enable the reallocation of the same resources to another set of users in a different time zone, thereby maximizing resource utilization.

在某些实施例中,可以提供由云基础设施系统2802的不同部件或模块共享,以使得能够由云基础设施系统2802供应服务的多个内部共享服务2832。这些内部共享服务可以包括,但不限于,安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。In certain embodiments, a plurality of internal shared services 2832 may be provided that are shared by different components or modules of the cloud infrastructure system 2802 to enable provisioning of services by the cloud infrastructure system 2802. These internal shared services may include, but are not limited to, security and identity services, integration services, enterprise repository services, enterprise manager services, virus scanning and whitelisting services, high availability, backup and recovery services, services for enabling cloud support, email services, notification services, file transfer services, and the like.

在某些实施例中,云基础设施系统2802可以在云基础设施系统中提供云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统2802等接收到的消费者的订阅的能力。In certain embodiments, cloud infrastructure system 2802 can provide comprehensive management of cloud services (e.g., SaaS, PaaS, and IaaS services) within the cloud infrastructure system. In one embodiment, cloud management functionality can include the ability to provision, manage, and track subscriptions received by cloud infrastructure system 2802 and the like.

在一个实施例中,如图28中所绘出的,云管理功能可以由诸如订单管理模块2820、订单编排模块2828、订单供应模块2824、订单管理和监视模块2826以及身份管理模块2828的一个或多个模块提供。这些模块可以包括或可以利用一个或多个计算机和/或服务器提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场,服务器集群或任何其它适当的布置和/或组合。28 , cloud management functionality may be provided by one or more modules such as an order management module 2820, an order orchestration module 2828, an order provisioning module 2824, an order management and monitoring module 2826, and an identity management module 2828. These modules may include or may be provided utilizing one or more computers and/or servers, which may be general purpose computers, dedicated server computers, server farms, server clusters, or any other suitable arrangement and/or combination.

在示例性操作中,在2834,使用客户端设备(诸如客户端计算设备2804、2806或2808)的消费者可以通过请求由云基础设施系统 2802提供的一个或多个服务并且对由云基础设施系统2802提供的一个或多个服务的订阅下订单来与云基础设施系统2802交互。在某些实施例中,消费者可以访问诸如云UI 2812、云UI 2814和/或云UI 2822的云用户界面(UI)并经由这些UI下订阅订单。响应于消费者下订单而由云基础设施系统2802接收到的订单信息可以包括识别消费者和消费者打算订阅的由云基础设施系统2802提供的一个或多个服务的信息。In exemplary operation, at 2834, a consumer using a client device (such as client computing device 2804, 2806, or 2808) may interact with cloud infrastructure system 2802 by requesting one or more services provided by cloud infrastructure system 2802 and placing an order for a subscription to the one or more services provided by cloud infrastructure system 2802. In certain embodiments, the consumer may access a cloud user interface (UI), such as cloud UI 2812, cloud UI 2814, and/or cloud UI 2822, and place a subscription order via these UIs. Order information received by cloud infrastructure system 2802 in response to the consumer placing the order may include information identifying the consumer and the one or more services provided by cloud infrastructure system 2802 to which the consumer intends to subscribe.

在步骤2836处,从消费者接收到的订单信息可以存储在订单数据库2818中。如果这是新的订单,则可以为该订单创建新的记录。在一个实施例中,订单数据库2818可以是由云基础设施系统2818操作以及与其它系统元素结合操作的若干数据库当中的一个。At step 2836, the order information received from the customer can be stored in the order database 2818. If this is a new order, a new record can be created for the order. In one embodiment, the order database 2818 can be one of several databases operated by the cloud infrastructure system 2818 and in conjunction with other system elements.

在步骤2838处,订单信息可以被转发到订单管理模块2820,订单管理模块2820可以被配置为执行与订单相关的计费和记帐功能,诸如验证订单,并且在通过验证时,预订订单。At step 2838, the order information may be forwarded to the order management module 2820, which may be configured to perform billing and accounting functions related to the order, such as verifying the order and, upon verification, booking the order.

在步骤2840处,关于订单的信息可以被传送到订单编排模块 2822,订单编排模块2822被配置为编排用于由消费者下的订单的服务和资源的供应。在一些情况下,订单编排模块2822可以使用订单供应模块2824的服务用于供应。在某些实施例中,订单编排模块2822使得能够管理与每个订单相关联的业务过程,并且应用业务逻辑来确定订单是否应当继续供应。At step 2840, information about the order may be communicated to order orchestration module 2822, which is configured to orchestrate the provisioning of services and resources for the order placed by the consumer. In some cases, order orchestration module 2822 may utilize the services of order provisioning module 2824 for provisioning. In certain embodiments, order orchestration module 2822 enables management of the business processes associated with each order and applies business logic to determine whether the order should proceed with fulfillment.

如图28中绘出的实施例所示,在2842处,在接收到新订阅的订单时,订单编排模块2822向订单供应模块2824发送分配资源和配置履行订购订单所需的资源的请求。订单供应模块2824使得能够为由消费者订购的服务分配资源。订单供应模块2824提供由云基础设施系统2800提供的云服务和用来供应用于提供所请求的服务的资源的物理实现层之间的抽象级别。这使得订单编排模块2822能够与实现细节隔离,诸如服务和资源是否实际上实时供应,或者预先供应并且仅在请求时才进行分配/指定。As shown in the embodiment depicted in FIG28 , at 2842 , upon receiving an order for a new subscription, order orchestration module 2822 sends a request to order provisioning module 2824 to allocate resources and configure the resources needed to fulfill the subscription order. Order provisioning module 2824 enables the allocation of resources for the services ordered by the consumer. Order provisioning module 2824 provides a level of abstraction between the cloud services provided by cloud infrastructure system 2800 and the physical implementation layer used to provision the resources for providing the requested services. This enables order orchestration module 2822 to be isolated from implementation details, such as whether services and resources are actually provisioned in real time, or pre-provisioned and allocated/assigned only upon request.

在步骤2844处,一旦供应了服务和资源,就可以向订阅的消费者发送指示所请求的服务现在已准备好用于使用的通知。在一些情况下,可以向消费者发送使得消费者能够开始使用所请求的服务的信息 (例如,链接)。Once the services and resources are provisioned, a notification may be sent to the subscribed consumer indicating that the requested service is now ready for use, at step 2844. In some cases, information (e.g., a link) may be sent to the consumer enabling the consumer to begin using the requested service.

在步骤2846处,可以由订单管理和监视模块2826来管理和跟踪消费者的订阅订单。在一些情况下,订单管理和监视模块2826可以被配置为收集关于消费者使用所订阅的服务的使用统计。例如,可以针对所使用的存储量、所传送的数据量、用户的数量以及系统启动时间和系统停机时间的量等来收集统计数据。At step 2846, the consumer's subscription order may be managed and tracked by the order management and monitoring module 2826. In some cases, the order management and monitoring module 2826 may be configured to collect usage statistics regarding the consumer's use of the subscribed service. For example, statistics may be collected regarding the amount of storage used, the amount of data transferred, the number of users, and the amount of system uptime and system downtime.

在某些实施例中,云基础设施系统2800可以包括身份管理模块 2828,其被配置为提供身份服务,诸如云基础设施系统2800中的访问管理和授权服务。在一些实施例中,身份管理模块2828可以控制关于希望利用由云基础设施系统2802提供的服务的消费者的信息。这种信息可以包括认证这些消费者的身份的信息和描述那些消费者被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行的动作的信息。身份管理模块2828还可以包括关于每个消费者的描述性信息以及关于如何和由谁来访问和修改描述性信息的管理。In certain embodiments, cloud infrastructure system 2800 may include an identity management module 2828 configured to provide identity services, such as access management and authorization services within cloud infrastructure system 2800. In some embodiments, identity management module 2828 may control information about consumers who wish to utilize services provided by cloud infrastructure system 2802. This information may include information authenticating the identities of these consumers and information describing the actions those consumers are authorized to perform with respect to various system resources (e.g., files, directories, applications, communication ports, memory segments, etc.). Identity management module 2828 may also include descriptive information about each consumer and management of how and by whom the descriptive information may be accessed and modified.

图29图示了可以被用来实现本公开的实施例的示例性计算机系统2900。在一些实施例中,计算机系统2900可以被用来实现上述任何各种服务器和计算机系统。如图29所示,计算机系统2900包括各种子系统,包括经由总线子系统2902与多个外围子系统通信的处理单元2904。这些外围子系统可以包括处理加速单元2906、I/O子系统2908、存储子系统2918和通信子系统2924。存储子系统2918可以包括有形的计算机可读存储介质2922和系统存储器2910。FIG29 illustrates an exemplary computer system 2900 that can be used to implement an embodiment of the present disclosure. In some embodiments, computer system 2900 can be used to implement any of the various servers and computer systems described above. As shown in FIG29 , computer system 2900 includes various subsystems, including a processing unit 2904 that communicates with multiple peripheral subsystems via a bus subsystem 2902. These peripheral subsystems may include a processing acceleration unit 2906, an I/O subsystem 2908, a storage subsystem 2918, and a communication subsystem 2924. The storage subsystem 2918 may include a tangible computer-readable storage medium 2922 and a system memory 2910.

总线子系统2902提供用于使计算机系统2900的各种部件和子系统按照期望彼此通信的机制。虽然总线子系统2902被示意性地示为单条总线,但是总线子系统的可替代实施例可以利用多条总线。总线子系统2902可以是若干种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和利用任何各种总线体系架构的局部总线。例如,此类体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围部件互连(PCI)总线,其可以实现为根据IEEE P1386.1标准制造的夹层(Mezzanine)总线,等等。The bus subsystem 2902 provides a mechanism for making the various components and subsystems of the computer system 2900 communicate with each other as desired. Although the bus subsystem 2902 is schematically shown as a single bus, the alternative embodiment of the bus subsystem can utilize multiple buses. The bus subsystem 2902 can be any of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, and a local bus utilizing any various bus architectures. For example, such architectures can include an industry standard architecture (ISA) bus, a microchannel architecture (MCA) bus, an enhanced ISA (EISA) bus, a video electronics standards association (VESA) local bus, and a peripheral component interconnect (PCI) bus, which can be implemented as a mezzanine bus manufactured according to the IEEE P1386.1 standard, or the like.

处理子系统2904控制计算机系统2900的操作并且可以包括一个或多个处理单元2932、2934等。处理单元可以包括一个或多个处理器,其中包括单核或多核处理器、处理器的一个或多个核、或其组合。在一些实施例中,处理子系统2904可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,处理子系统2904的处理单元中的一些或全部可以利用定制电路来实现,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。The processing subsystem 2904 controls the operation of the computer system 2900 and may include one or more processing units 2932, 2934, etc. The processing units may include one or more processors, including single-core or multi-core processors, one or more cores of a processor, or a combination thereof. In some embodiments, the processing subsystem 2904 may include one or more specialized coprocessors, such as a graphics processor, a digital signal processor (DSP), etc. In some embodiments, some or all of the processing units of the processing subsystem 2904 may be implemented using custom circuits, such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs).

在一些实施例中,处理子系统2904中的处理单元可以执行存储在系统存储器2910中或计算机可读存储介质2922上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行的程序或进程。在任何给定的时间,要执行的程序代码中的一些或全部可以驻留在系统存储器2910中和/或计算机可读存储介质2922上,潜在地包括在一个或多个存储设备上。通过适当的编程,处理子系统2904可以提供各种功能。In some embodiments, the processing unit in the processing subsystem 2904 can execute instructions stored in the system memory 2910 or on the computer-readable storage medium 2922. In various embodiments, the processing unit can execute various program or code instructions and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can reside in the system memory 2910 and/or on the computer-readable storage medium 2922, potentially including on one or more storage devices. Through appropriate programming, the processing subsystem 2904 can provide a variety of functions.

在某些实施例中,可以提供处理加速单元2906,用于执行定制的处理或用于卸载由处理子系统2904执行的一些处理,以便加速由计算机系统2900执行的整体处理。In certain embodiments, a processing acceleration unit 2906 may be provided for performing customized processing or for offloading some of the processing performed by the processing subsystem 2904 in order to speed up the overall processing performed by the computer system 2900 .

I/O子系统2908可以包括用于向计算机系统2900输入信息和/或用于从或经由计算机系统2900输出信息的设备和机制。一般而言,术语“输入设备”的使用旨在包括用于向计算机系统2900输入信息的所有可能类型的设备和机制。用户接口输入设备可以包括,例如,键盘、诸如鼠标或轨迹球的指示设备、结合到显示器中的触摸板或触摸屏、滚轮、点拨轮、拨盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备也可以包括使用户能够控制输入设备并与其交互的诸如Microsoft运动传感器的运动感测和/或姿势识别设备、 Microsoft360游戏控制器、提供用于接收利用姿势和口语命令的输入的接口的设备。用户接口输入设备也可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并将眼睛姿势转换为到输入设备(例如,Google )中的输入的Google眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。The I/O subsystem 2908 may include devices and mechanisms for inputting information into the computer system 2900 and/or for outputting information from or via the computer system 2900. In general, the use of the term "input device" is intended to include all possible types of devices and mechanisms for inputting information into the computer system 2900. User interface input devices may include, for example, a keyboard, a pointing device such as a mouse or trackball, a touchpad or touch screen incorporated into a display, a scroll wheel, a click wheel, a dial, buttons, switches, a keypad, an audio input device with a voice command recognition system, a microphone, and other types of input devices. User interface input devices may also include motion sensing and/or gesture recognition devices such as the Microsoft Motion Sensor, the Microsoft 360 game controller, and devices that provide an interface for receiving input using gestures and spoken commands that enable a user to control and interact with the input device. User interface input devices may also include eye gesture recognition devices, such as the Google Blink Detector, which detects eye activity from a user (e.g., a "wink" when taking a picture and/or making a menu selection) and converts the eye gesture into input to an input device (e.g., Google ). Additionally, the user interface input device may include a voice recognition sensing device that enables a user to interact with a voice recognition system (eg, a navigator) through voice commands.

用户接口输入设备的其它示例包括但不限于,三维(3D)鼠标、操纵杆或指示杆、游戏板和图形平板、以及音频/视频设备,诸如扬声器、数字相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及眼睛注视跟踪设备。此外,用户接口输入设备可以包括,例如,医疗成像输入设备,诸如计算机断层摄影、磁共振成像、位置发射断层摄影、医疗超声检查设备。用户接口输入设备也可以包括,例如,音频输入设备,诸如MIDI键盘、数字乐器等。Other examples of user interface input devices include, but are not limited to, three-dimensional (3D) mice, joysticks or indicator rods, game pads and graphic tablets, and audio/video devices such as speakers, digital cameras, digital video cameras, portable media players, webcams, image scanners, fingerprint scanners, barcode readers, 3D scanners, 3D printers, laser rangefinders, and eye tracking devices. In addition, user interface input devices may include, for example, medical imaging input devices such as computed tomography, magnetic resonance imaging, position emission tomography, medical ultrasound equipment. User interface input devices may also include, for example, audio input devices such as MIDI keyboards, digital musical instruments, etc.

用户接口输出设备可以包括显示子系统、指示器灯或诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如利用液晶显示器(LCD)或等离子体显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于从计算机系统2900向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于,可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。User interface output devices may include a display subsystem, indicator lights, or non-visual displays such as audio output devices. The display subsystem may be a cathode ray tube (CRT), a flat panel device such as one utilizing a liquid crystal display (LCD) or plasma display, a projection device, a touch screen, or the like. In general, the use of the term "output device" is intended to include all possible types of devices and mechanisms for outputting information from the computer system 2900 to a user or other computers. For example, user interface output devices may include, but are not limited to, various display devices that visually convey text, graphics, and audio/video information, such as monitors, printers, speakers, headphones, car navigation systems, plotters, voice output devices, and modems.

存储子系统2918提供用于存储由计算机系统2900使用的信息的储存库或数据存储。存储子系统2918提供有形非瞬态计算机可读存储介质,用于存储提供一些实施例的功能的基本编程和数据结构。当由处理子系统2904执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统2918中。软件可以由处理子系统2904 的一个或多个处理单元执行。存储子系统2918也可以提供用于存储根据本公开使用的数据的储存库。The storage subsystem 2918 provides a repository or data storage for storing information used by the computer system 2900. The storage subsystem 2918 provides a tangible, non-transitory, computer-readable storage medium for storing the basic programming and data structures that provide the functionality of some embodiments. The software (programs, code modules, instructions) that provide the above functionality when executed by the processing subsystem 2904 can be stored in the storage subsystem 2918. The software can be executed by one or more processing units of the processing subsystem 2904. The storage subsystem 2918 can also provide a repository for storing data used in accordance with the present disclosure.

存储子系统2918可以包括一个或多个非瞬态存储器设备,包括易失性和非易失性存储器设备。如图29所示,存储子系统2918包括系统存储器2910和计算机可读存储介质2922。系统存储器2910可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和其中存储固定指令的非易失性只读存储器(ROM)或闪存存储器。在一些实现中,包含帮助在诸如启动期间在计算机系统2900内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以存储在ROM中。RAM通常包含当前由处理子系统2904操作和执行的数据和/或程序模块。在一些实现中,系统存储器2910可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。The storage subsystem 2918 may include one or more non-transitory memory devices, including volatile and non-volatile memory devices. As shown in FIG29 , the storage subsystem 2918 includes system memory 2910 and computer-readable storage media 2922. The system memory 2910 may include multiple memories, including volatile main random access memory (RAM) for storing instructions and data during program execution and non-volatile read-only memory (ROM) or flash memory in which fixed instructions are stored. In some implementations, the basic input/output system (BIOS), which contains basic routines that help transfer information between elements within the computer system 2900, such as during startup, may typically be stored in ROM. RAM typically contains data and/or program modules currently being operated on and executed by the processing subsystem 2904. In some implementations, the system memory 2910 may include multiple different types of memory, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

作为示例而非限制,如在图29中所绘出的,系统存储器2910可以存储应用程序2912,其可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等、程序数据2914和操作系统2916。作为示例,操作系统2916可以包括各种版本的 MicrosoftApple和/或Linux操作系统、各种商用或类UNIX操作系统(包括但不限于各种GNU/Linux 操作系统、GoogleOS等)和/或诸如iOS、 Phone、OS、8OS和OS操作系统的移动操作系统。29 , system memory 2910 may store application programs 2912, which may include client applications, web browsers, middle-tier applications, relational database management systems (RDBMS), etc., program data 2914, and an operating system 2916. By way of example, operating system 2916 may include various versions of Microsoft Apple and/or Linux operating systems, various commercial or UNIX-like operating systems (including, but not limited to, various GNU/Linux operating systems, Google OS, etc.), and/or mobile operating systems such as iOS, iPhone, iPod, iPod OS, 8OS, and iPod OS.

计算机可读存储介质2922可以存储提供一些实施例的功能的编程和数据结构。当由处理子系统2904执行时使处理器提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统2918中。作为示例,计算机可读存储介质2922可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CD ROM、DVD、(蓝光)盘或其它光学介质的光盘驱动器。计算机可读存储介质2922可以包括但不限于,驱动器、闪存存储器卡、通用串行总线 (USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质2922也可以包括基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态 ROM等)、基于易失性存储器的SSD(诸如基于固态RAM、动态 RAM、静态RAM、DRAM的SSD、磁阻RAM(MRAM)SSD),以及使用基于DRAM和基于闪存存储器的SSD的组合的混合SSD。计算机可读介质2922可以为计算机系统2900提供计算机可读指令、数据结构、程序模块和其它数据的存储。Computer-readable storage media 2922 can store programming and data structures that provide the functionality of some embodiments. Software (programs, code modules, instructions) that, when executed by processing subsystem 2904, enable the processor to provide the aforementioned functionality can be stored in storage subsystem 2918. By way of example, computer-readable storage media 2922 can include non-volatile memory, such as a hard drive, a magnetic disk drive, or an optical disk drive such as a CD ROM, DVD, (Blu-ray) disk, or other optical media. Computer-readable storage media 2922 can include, but is not limited to, a drive, a flash memory card, a Universal Serial Bus (USB) flash drive, a Secure Digital (SD) card, a DVD disk, a digital video tape, and the like. Computer-readable storage media 2922 can also include a solid-state drive (SSD) based on non-volatile memory (such as a flash memory-based SSD, an enterprise flash drive, a solid-state ROM, and the like), a volatile memory-based SSD (such as a solid-state RAM, dynamic RAM, static RAM, DRAM-based SSD, a magnetoresistive RAM (MRAM) SSD), and a hybrid SSD that uses a combination of DRAM-based and flash memory-based SSDs. Computer-readable media 2922 may provide storage of computer-readable instructions, data structures, program modules, and other data for the computer system 2900 .

在某些实施例中,存储子系统2900也可以包括计算机可读存储介质读取器2920,其可以进一步连接到计算机可读存储介质2922。可选地,与系统存储器2910一起和组合,计算机可读存储介质2922 可以全面地表示远程、本地、固定和/或可移动存储设备加上用于存储计算机可读信息的存储介质。In certain embodiments, the storage subsystem 2900 may also include a computer-readable storage media reader 2920, which may be further connected to a computer-readable storage medium 2922. Optionally, together and in combination with the system memory 2910, the computer-readable storage medium 2922 may comprehensively represent remote, local, fixed, and/or removable storage devices plus storage media for storing computer-readable information.

在某些实施例中,计算机系统2900可以提供对执行一个或多个虚拟机的支持。计算机系统2900可以执行诸如管理程序的程序,以便促进虚拟机的配置和管理。每个虚拟机可以被分配存储器、计算 (例如,处理器、内核)、I/O和联网资源。每个虚拟机通常运行其自己的操作系统,其可以与由计算机系统2900执行的其它虚拟机执行的操作系统相同或不同。相应地,多个操作系统可以潜在地由计算机系统2900并发地运行。每个虚拟机一般独立于其它虚拟机运行。In certain embodiments, the computer system 2900 can provide support for executing one or more virtual machines. The computer system 2900 can execute programs such as a hypervisor to facilitate the configuration and management of virtual machines. Each virtual machine can be allocated memory, computing (e.g., processors, cores), I/O, and networking resources. Each virtual machine typically runs its own operating system, which can be the same as or different from the operating systems executed by other virtual machines executed by the computer system 2900. Accordingly, multiple operating systems can potentially be run concurrently by the computer system 2900. Each virtual machine generally operates independently of the other virtual machines.

通信子系统2924提供到其它计算机系统和网络的接口。通信子系统2924用作用于从计算机系统2900的其它系统接收数据和向其发送数据的接口。例如,通信子系统2924可以使计算机系统2900能够经由互联网建立到一个或多个客户端计算设备的通信信道,用于从客户端计算设备接收信息和发送信息到客户端计算设备。The communication subsystem 2924 provides an interface to other computer systems and networks. The communication subsystem 2924 serves as an interface for receiving data from and sending data to other systems of the computer system 2900. For example, the communication subsystem 2924 can enable the computer system 2900 to establish a communication channel to one or more client computing devices via the Internet for receiving information from and sending information to the client computing devices.

通信子系统2924可以支持有线和/或无线通信协议两者。例如,在某些实施例中,通信子系统2924可以包括用于(例如,使用蜂窝电话技术、高级数据网络技术(诸如3G、4G或EDGE(全球演进的增强数据速率)、WiFi(IEEE 802.11族标准)、或其它移动通信技术、或其任意组合)接入无线语音和/或数据网络的射频(RF)收发器部件、全球定位系统(GPS)接收器部件和/或其它部件。在一些实施例中,作为无线接口的附加或替代,通信子系统2924可以提供有线网络连接(例如,以太网)。The communication subsystem 2924 can support both wired and/or wireless communication protocols. For example, in some embodiments, the communication subsystem 2924 may include a radio frequency (RF) transceiver component, a global positioning system (GPS) receiver component, and/or other components for accessing a wireless voice and/or data network (e.g., using cellular telephone technology, advanced data network technology (such as 3G, 4G or EDGE (Enhanced Data Rates for Global Evolution), WiFi (IEEE 802.11 family of standards), or other mobile communication technologies, or any combination thereof). In some embodiments, the communication subsystem 2924 may provide a wired network connection (e.g., Ethernet) in addition to or in lieu of a wireless interface.

通信子系统2924可以以各种形式接收和发送数据。例如,在一些实施例中,通信子系统2924可以以结构化和/或非结构化的数据馈送2926、事件流2928、事件更新2930等形式接收输入通信。例如,通信子系统2924可以被配置为实时地从社交媒体网络的用户和/或诸如馈送、更新、诸如丰富站点摘要(RSS)馈送的web馈送的其它通信服务接收(或发送)数据馈送2926,和/或来自一个或多个第三方信息源的实时更新。The communication subsystem 2924 can receive and send data in various forms. For example, in some embodiments, the communication subsystem 2924 can receive incoming communications in the form of structured and/or unstructured data feeds 2926, event streams 2928, event updates 2930, etc. For example, the communication subsystem 2924 can be configured to receive (or send) data feeds 2926 in real time from users of social media networks and/or other communication services such as feeds, updates, web feeds such as Rich Site Summary (RSS) feeds, and/or real-time updates from one or more third-party information sources.

在某些实施例中,通信子系统2924可以被配置为以连续数据流的形式接收本质上可能是连续的或无界的没有明确结束的数据,其中连续数据流可以包括实时事件的事件流2928和/或事件更新2930。生成连续数据的应用的示例可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。In certain embodiments, the communication subsystem 2924 may be configured to receive data in the form of a continuous data stream that may be continuous or unbounded in nature and has no clear end, wherein the continuous data stream may include an event stream 2928 of real-time events and/or event updates 2930. Examples of applications that generate continuous data may include, for example, sensor data applications, financial quote machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, automobile traffic monitoring, etc.

通信子系统2924也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送2926、事件流2928、事件更新2930等,其中所述一个或多个数据库可以与耦合到计算机系统2900的一个或多个流数据源计算机通信。The communication subsystem 2924 can also be configured to output structured and/or unstructured data feeds 2926, event streams 2928, event updates 2930, etc. to one or more databases, wherein the one or more databases can communicate with one or more stream data source computers coupled to the computer system 2900.

计算机系统2900可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、计算平板、PDA)、可穿戴设备(例如,Google头戴式显示器)、个人计算机、工作站、大型机、信息站、服务器机架或任何其它数据处理系统。Computer system 2900 can be one of various types, including a handheld portable device (e.g., a cell phone, a computing tablet, a PDA), a wearable device (e.g., a Google head-mounted display), a personal computer, a workstation, a mainframe, a kiosk, a server rack, or any other data processing system.

由于计算机和网络不断变化的性质,对图29中绘出的计算机系统2900的描述旨在仅仅作为具体示例。具有比图29中所绘出的系统更多或更少部件的许多其它配置是可能的。基于本文所提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和 /或方法。Due to the ever-changing nature of computers and networks, the description of the computer system 2900 depicted in FIG29 is intended to be merely a specific example. Many other configurations are possible with more or fewer components than the system depicted in FIG29. Based on the disclosure and teachings provided herein, one of ordinary skill in the art will appreciate other ways and/or methods of implementing the various embodiments.

虽然已经描述了本公开的具体实施例,但是各种修改、更改、替代构造和等效物也包含在本公开的范围之内。修改包括所公开的特征的任何相关组合。本公开的实施例不限于在某些特定数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已利用特定系列的事务和步骤描述了本公开的实施例,但是,对本领域技术人员应当显而易见,本公开的范围不限于所描述系列的事务和步骤。上述实施例的各种特征和方面可以被单独或结合使用。Although specific embodiments of the present disclosure have been described, various modifications, changes, alternative constructions, and equivalents are also included within the scope of the present disclosure. Modifications include any relevant combination of the disclosed features. The embodiments of the present disclosure are not limited to operations within certain specific data processing environments, but can be freely operated within multiple data processing environments. In addition, although the embodiments of the present disclosure have been described using a specific series of transactions and steps, it should be apparent to those skilled in the art that the scope of the present disclosure is not limited to the described series of transactions and steps. The various features and aspects of the above-described embodiments can be used alone or in combination.

另外,虽然已经利用硬件和软件的特定组合描述了本公开的实施例,但是应当认识到,硬件和软件的其它组合也在本公开的范围之内。本公开的实施例可以只用硬件、或只用软件、或利用其组合来实现。本文描述的各种过程可以在同一处理器或以任何组合的不同处理器上实现。相应地,在部件或模块被描述为被配置为执行某些操作的情况下,这种配置可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作、或其任意组合来实现。进程可以利用各种技术来通信,包括但不限于用于进程间通信的常规技术,并且不同的进程对可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。In addition, although embodiments of the present disclosure have been described using specific combinations of hardware and software, it will be appreciated that other combinations of hardware and software are also within the scope of the present disclosure. Embodiments of the present disclosure may be implemented using only hardware, or only software, or a combination thereof. The various processes described herein may be implemented on the same processor or on different processors in any combination. Accordingly, where a component or module is described as being configured to perform certain operations, such configuration may be implemented, for example, by designing electronic circuits to perform the operations, by programming programmable electronic circuits (such as microprocessors) to perform the operations, or any combination thereof. Processes may communicate using various techniques, including but not limited to conventional techniques for inter-process communication, and different pairs of processes may use different techniques, or the same pair of processes may use different techniques at different times.

相应地,说明书和附图应当在说明性而不是限制性的意义上考虑。但是,将显而易见的是,在不背离权利要求中阐述的更广泛精神和范围的情况下,可以对其进行添加、减少、删除和其它修改和改变。因此,虽然已描述了具体的实施例,但是这些实施例不旨在进行限制。各种修改和等效物都在以下权利要求的范围之内。Accordingly, the specification and drawings should be considered in an illustrative rather than a restrictive sense. However, it will be apparent that additions, subtractions, deletions, and other modifications and changes may be made thereto without departing from the broader spirit and scope set forth in the claims. Therefore, while specific embodiments have been described, these embodiments are not intended to be limiting. Various modifications and equivalents are within the scope of the following claims.

Claims (23)

1.一种用于安全管理的计算机实现的方法,包括在安全管理系统的计算机系统处:1. A computer-implemented method for security management, comprising, at a computer system of a security management system: 获得关于在组织的网络上与客户端设备关联的网络活动的数据,其中,网络活动在客户端设备操作为组织的网络的一部分时被生成;Obtain data about network activity associated with client devices on the organization's network, wherein the network activity is generated when the client devices operate as part of the organization's network; 使用关于网络活动的数据来识别在客户端设备操作为组织的网络的一部分时已被客户端设备访问的应用,其中,应用由服务提供者的网络提供给客户端设备,其中组织的网络和服务提供者的网络是不同的网络;Data about network activity is used to identify applications that have been accessed by client devices when the client devices are operating as part of an organization’s network, where the applications are provided to the client devices by a service provider’s network, and where the organization’s network and the service provider’s network are different networks; 使用关于网络活动的数据来确定与应用关联的访问信息,其中,访问信息包括指示从客户端设备访问应用的网络活动;Data about network activity is used to determine access information associated with an application, where the access information includes network activity indicating access to the application from a client device; 使用访问信息来确定关于应用的域信息,其中域信息包括关于服务提供者的信息;Access information is used to determine domain information about the application, which includes information about the service provider; 使用域信息来确定关于应用的安全信息,其中,安全信息包括描述与应用关联的安全威胁的一个或多个指示符;Domain information is used to determine security information about the application, where the security information includes one or more indicators describing the security threats associated with the application; 使用安全信息来计算应用的安全性的测量;以及Using security information to calculate measurements of application security; and 通过基于所述安全性的测量应用安全策略来执行针对应用的补救动作。Remedial actions for the application are performed by applying security policies based on the security measures described above. 2.如权利要求1所述的计算机实现的方法,其中安全信息包括第一值和第二值,第一值是应用的第一安全威胁的第一指示符,第二值是应用的第二安全威胁的第二指示符,其中第一指示符是从第一数据源获得的,并且其中第二指示符是从第二数据源获得的。2. The computer-implemented method of claim 1, wherein the security information includes a first value and a second value, the first value being a first indicator of a first security threat applied, the second value being a second indicator of a second security threat applied, wherein the first indicator is obtained from a first data source, and wherein the second indicator is obtained from a second data source. 3.如权利要求2所述的计算机实现的方法,其中计算所述安全性的测量包括:3. The computer-implemented method of claim 2, wherein calculating the security measurement comprises: 计算基于将第一值乘以第一权重值的第一加权值;The calculation is based on a first weighted value, which is the first value multiplied by the first weight value. 计算基于将第二值乘以第二权重值的第二加权值;The calculation is based on a second weighted value, which is the second value multiplied by the second weight value. 计算基于第一加权值和第二加权值的求和的第一总和;以及Calculate the first sum based on the sum of the first weighted value and the second weighted value; and 计算基于第一权重值和第二权重值的求和的第二总和,其中所述安全性的测量是基于将第一总和除以第二总和而计算的值。Calculate a second sum based on the sum of a first weight value and a second weight value, wherein the security measurement is a value calculated by dividing the first sum by the second sum. 4.如权利要求3所述的计算机实现的方法,其中第一权重值不同于第二权重值,并且其中第一值不同于第二值。4. The computer-implemented method of claim 3, wherein the first weight value is different from the second weight value, and wherein the first value is different from the second value. 5.如权利要求1或2中任一项所述的计算机实现的方法,其中获得关于网络活动的数据包括从组织的网络上的一个或多个网络设备获得网络数据,其中组织的网络在组织的计算环境中受到保护,该计算环境不受公共网络的危害。5. The computer-implemented method of any one of claims 1 or 2, wherein obtaining data about network activity comprises obtaining network data from one or more network devices on the organization's network, wherein the organization's network is protected within the organization's computing environment, which is not vulnerable to public networks. 6.如权利要求1或2中任一项所述的计算机实现的方法,还包括:6. The computer-implemented method as described in any one of claims 1 or 2, further comprising: 为应用确定组织信息;以及To determine organizational information for the application; and 生成显示关于应用的信息的图形界面,其中关于应用的信息是基于组织信息和为应用计算的所述安全性的测量来显示的,并且其中图形界面指示针对应用执行的补救动作。Generate a graphical interface that displays information about the application, wherein the information about the application is displayed based on organizational information and measurements of the security calculated for the application, and wherein the graphical interface indicates remedial actions to be performed for the application. 7.如权利要求1或2中任一项所述的计算机实现的方法,其中关于网络活动的数据用于组织的网络上的通信,其中识别应用包括处理数据以识别与对应用的请求对应的通信,并且其中所述通信指示关于对应用的请求的应用信息,应用信息用于将应用识别为被客户端设备访问。7. The computer-implemented method of any one of claims 1 or 2, wherein data concerning network activity is used for communication on an organization's network, wherein identifying an application includes processing data to identify communication corresponding to a request for the application, and wherein the communication indicates application information regarding the request for the application, the application information being used to identify the application as being accessed by a client device. 8.如权利要求7所述的计算机实现的方法,其中使用所述通信来确定访问信息,并且其中访问信息指示网络活动的时间戳、提供应用的系统的互联网协议(IP)地址、用于访问应用的设备的介质访问控制(MAC)地址、以及关于客户端设备的用户的用户信息。8. The computer-implemented method of claim 7, wherein the communication is used to determine access information, and wherein the access information indicates a timestamp of network activity, an Internet Protocol (IP) address of the system providing the application, a Media Access Control (MAC) address of the device for accessing the application, and user information about the user of the client device. 9.如权利要求1或2中任一项所述的计算机实现的方法,其中访问信息指示提供应用的系统的互联网协议(IP)地址,其中确定域信息包括基于应用的IP地址对与托管应用的域对应的域信息执行查询。9. The computer-implemented method of any one of claims 1 or 2, wherein the access information indicates the Internet Protocol (IP) address of the system providing the application, and wherein determining the domain information includes performing a query on the domain information corresponding to the domain hosting the application based on the application's IP address. 10.如权利要求1或2中任一项所述的计算机实现的方法,其中访问信息指示应用的源信息,该源信息指示由主机提供的应用的位置,并且其中确定域信息包括基于应用的源信息向主机发送对应用的证书的请求。10. The computer-implemented method of any one of claims 1 or 2, wherein the access information indicates source information of the application, the source information indicating the location of the application provided by the host, and wherein determining the domain information includes sending a request for a certificate for the application to the host based on the source information of the application. 11.如权利要求1或2中任一项所述的计算机实现的方法,其中应用安全策略包括确定所述安全性的测量是否满足应用的风险阈值,并且其中补救动作是配置组织的网络以防止在客户端设备在组织的网络上操作时从客户端设备访问应用。11. The computer-implemented method of any one of claims 1 or 2, wherein the application security policy includes determining whether a measurement of the security meets a risk threshold for the application, and wherein a remedial action is configuring the organization's network to prevent access to the application from a client device while the client device is operating on the organization's network. 12.如权利要求1或2中任一项所述的计算机实现的方法,其中关于网络活动的数据包括与多个用户关联的网络活动,其中所述多个用户是组织的网络上的租户,并且其中补救动作是防止应用被所述多个用户访问。12. The computer-implemented method of any one of claims 1 or 2, wherein the data concerning network activity includes network activity associated with a plurality of users, wherein the plurality of users are tenants on an organization’s network, and wherein the remedial action is to prevent the application from being accessed by the plurality of users. 13.如权利要求1或2中任一项所述的计算机实现的方法,其中针对应用的补救动作包括:13. The computer-implemented method of any one of claims 1 or 2, wherein the remedy for the application comprises: 生成图形界面;以及Generate a graphical interface; and 使图形界面显示请求调整应用的配置操作的提示,其中,所述调整基于应用于所述安全性的测量的安全策略。The graphical interface displays a prompt requesting adjustments to the application's configuration, wherein the adjustments are based on a security policy applied to the security measures. 14.一种安全管理系统,包括:14. A security management system, comprising: 一个或多个处理器;以及One or more processors; and 所述一个或多个处理器可访问的存储器,其中存储器存储一条或多条指令,所述一条或多条指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行包括以下的操作:The one or more processors can access memory, wherein the memory stores one or more instructions, which, when executed by the one or more processors, cause the one or more processors to perform operations including: 获得关于在组织的网络上与客户端设备关联的网络活动的数据,其中,网络活动在客户端设备操作为组织的网络的一部分时被生成;Obtain data about network activity associated with client devices on the organization's network, wherein the network activity is generated when the client devices operate as part of the organization's network; 使用关于网络活动的数据来识别在客户端设备操作为组织的网络的一部分时已被客户端设备访问的应用,其中,应用由服务提供者的网络提供给客户端设备,其中组织的网络和服务提供者的网络是不同的网络;Data about network activity is used to identify applications that have been accessed by client devices when the client devices are operating as part of an organization’s network, where the applications are provided to the client devices by a service provider’s network, and where the organization’s network and the service provider’s network are different networks; 使用关于网络活动的数据来确定与应用关联的访问信息,其中,访问信息包括指示从客户端设备访问应用的网络活动;Data about network activity is used to determine access information associated with an application, where the access information includes network activity indicating access to the application from a client device; 使用访问信息来执行对与应用关联的域信息的一个或多个查询;Use access information to perform one or more queries on domain information associated with the application; 确定关于应用的安全信息,其中,安全信息包括描述与应用关联的安全威胁的一个或多个指示符;Determine security information about the application, including one or more indicators describing the security threats associated with the application; 使用域信息和安全信息来计算应用的安全性的测量;以及Using domain information and security information to calculate measurements of application security; and 通过基于所述安全性的测量应用安全策略来执行针对应用的补救动作。Remedial actions for the application are performed by applying security policies based on the security measures described above. 15.如权利要求14所述的安全管理系统,其中安全信息包括第一值和第二值,第一值是应用的第一安全威胁的第一指示符,第二值是应用的第二安全威胁的第二指示符,并且其中计算所述安全性的测量包括:15. The security management system of claim 14, wherein the security information includes a first value and a second value, the first value being a first indicator of a first security threat applied, the second value being a second indicator of a second security threat applied, and wherein the measurement for calculating the security includes: 计算基于将第一值乘以第一权重值的第一加权值;The calculation is based on a first weighted value, which is the first value multiplied by the first weight value. 计算基于将第二值乘以第二权重值的第二加权值;The calculation is based on a second weighted value, which is the second value multiplied by the second weight value. 计算基于第一加权值和第二加权值的求和的第一总和;以及Calculate the first sum based on the sum of the first weighted value and the second weighted value; and 计算基于第一权重值和第二权重值的求和的第二总和,其中所述安全性的测量是基于将第一总和除以第二总和而计算的值。Calculate a second sum based on the sum of a first weight value and a second weight value, wherein the security measurement is a value calculated by dividing the first sum by the second sum. 16.一种用于安全管理的计算机实现的方法,包括在安全管理系统的计算机系统处:16. A computer-implemented method for security management, comprising, at a computer system of a security management system: 从第一服务提供者系统获得关于第一应用的第一数据,其中第一应用被从第一服务提供者系统访问,并且其中对第一应用的访问与用户账户关联;First data about a first application is obtained from a first service provider system, wherein the first application is accessed from the first service provider system, and wherein access to the first application is associated with a user account; 从第二服务提供者系统获得关于第二应用的第二数据,其中第二应用被从第二服务提供者系统访问,并且其中对第二应用的访问与所述用户账户关联;Second data about a second application is obtained from a second service provider system, wherein the second application is accessed from the second service provider system, and wherein access to the second application is associated with the user account; 使用第一数据和第二数据来确定所述用户账户已访问的第三应用的访问信息;The first and second data are used to determine the access information of the third application that the user account has accessed; 使用访问信息搜索关于提供第三应用的提供者系统的域信息;Use access information to search for domain information about the provider system that provides third-party applications; 确定关于第三应用的安全信息;Determine security information regarding third-party applications; 使用域信息和安全信息来计算第三应用的安全性的测量;以及Using domain information and security information to calculate measurements of the security of third-party applications; and 通过基于所述安全性的测量应用安全策略来执行针对第三应用的补救动作。Remedial actions against third-party applications are performed by applying security policies based on the security measures described above. 17.如权利要求16所述的计算机实现的方法,其中第一服务提供者系统不同于第二服务提供者系统,其中第一服务提供者系统提供对第一应用的访问作为第一云服务,并且其中第二服务提供者系统提供对第二应用的访问作为第二云服务。17. The computer-implemented method of claim 16, wherein the first service provider system is different from the second service provider system, wherein the first service provider system provides access to the first application as a first cloud service, and wherein the second service provider system provides access to the second application as a second cloud service. 18.如权利要求16或17中任一项所述的计算机实现的方法,还包括:18. The computer-implemented method as described in any one of claims 16 or 17, further comprising: 为第三应用确定组织信息;以及Determine organizational information for third-party applications; and 生成显示关于第三应用的信息的图形界面,其中基于组织信息和为第三应用计算的所述安全性的测量来显示关于第三应用的信息,并且其中图形界面指示针对第三应用执行的补救动作。A graphical interface is generated to display information about a third application, wherein the information about the third application is displayed based on organizational information and measurements of the security calculated for the third application, and wherein the graphical interface indicates remedial actions to be performed for the third application. 19.如权利要求16或17中任一项所述的计算机实现的方法,其中第一数据指示用户账户已经通过第三应用访问了第一应用,其中第二数据指示用户账户已经通过第三应用访问了第二应用,并且其中确定访问信息包括确定已经访问了第三应用以提供对第一应用和第二应用的访问。19. The computer-implemented method of any one of claims 16 or 17, wherein the first data indicates that a user account has accessed the first application through the third application, wherein the second data indicates that a user account has accessed the second application through the third application, and wherein determining the access information includes determining that the third application has been accessed to provide access to the first and second applications. 20.如权利要求16或17中任一项所述的计算机实现的方法,其中安全信息包括第一值,该第一值是第三应用的第一安全威胁的第一指示符,并且安全信息包括第二值,该第二值是第三应用的第二安全威胁的第二指示符,其中第一指示符是从第一源获得的,其中第一值不同于第二值,其中第二指示符是从第二源获得的,并且其中计算所述安全性的测量包括:20. The computer-implemented method of any one of claims 16 or 17, wherein the security information includes a first value, the first value being a first indicator of a first security threat to a third application, and the security information includes a second value, the second value being a second indicator of a second security threat to a third application, wherein the first indicator is obtained from a first source, wherein the first value is different from the second value, wherein the second indicator is obtained from a second source, and wherein the measurement for calculating said security includes: 计算基于将第一值乘以第一权重值的第一加权值;The calculation is based on a first weighted value, which is the first value multiplied by the first weight value. 计算基于将第二值乘以第二权重值的第二加权值,其中第一权重值不同于第二权重值;The calculation is based on a second weighted value, which is the second value multiplied by the second weight value, where the first weight value is different from the second weight value; 计算基于第一加权值和第二加权值的求和的第一总和;以及Calculate the first sum based on the sum of the first weighted value and the second weighted value; and 计算基于第一权重值和第二权重值的求和的第二总和,其中所述安全性的测量是基于将第一总和除以第二总和而计算的值。Calculate a second sum based on the sum of a first weight value and a second weight value, wherein the security measurement is a value calculated by dividing the first sum by the second sum. 21.一种非瞬态计算机可读介质,包括存储在其上的指令,所述指令在处理器上执行时执行如权利要求1-13或权利要求16-20中任一项所述的方法。21. A non-transient computer-readable medium comprising instructions stored thereon, which, when executed on a processor, perform the method as claimed in any one of claims 1-13 or 16-20. 22.一种安全管理系统,包括:22. A security management system, comprising: 一个或多个处理器;以及One or more processors; and 所述一个或多个处理器可访问的存储器,其中存储器存储一条或多条指令,所述一条或多条指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行如权利要求1-13或权利要求16-20中任一项所述的方法。The one or more processors have access to a memory that stores one or more instructions that, when executed by the one or more processors, cause the one or more processors to perform the method as described in any one of claims 1-13 or 16-20. 23.一种安全管理系统,包括用于执行如权利要求1-13或权利要求16-20中任一项所述的方法的装置。23. A security management system comprising means for performing the method as claimed in any one of claims 1-13 or 16-20.
HK19120532.7A 2016-02-26 2017-02-24 Computer-implemented method, system, and readable medium for security management HK1260681B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US62/300,715 2016-02-26
US62/460,716 2017-02-17
US15/441,154 2017-02-23

Publications (2)

Publication Number Publication Date
HK1260681A1 HK1260681A1 (en) 2019-12-20
HK1260681B true HK1260681B (en) 2022-05-20

Family

ID=

Similar Documents

Publication Publication Date Title
JP7222061B2 (en) Techniques for discovering and managing application security
JP7279227B2 (en) Techniques for Monitoring Privileged Users and Detecting Anomalous Activity in Computing Environments
US12160449B2 (en) Autonomous monitoring of applications in a cloud environment
US12204650B2 (en) High granularity application and data security in cloud environments
US11734148B2 (en) Testing cloud application integrations, data, and protocols
US11637844B2 (en) Cloud-based threat detection
US11165800B2 (en) Cloud based security monitoring using unsupervised pattern recognition and deep learning
JP7088913B2 (en) Introduce dynamic policies to detect threats and visualize access
HK1260681B (en) Computer-implemented method, system, and readable medium for security management
HK1260681A1 (en) Techniques for discovering and managing security of applications