CN115462055A - 从网络业务推断防火墙规则 - Google Patents
从网络业务推断防火墙规则 Download PDFInfo
- Publication number
- CN115462055A CN115462055A CN202180031011.4A CN202180031011A CN115462055A CN 115462055 A CN115462055 A CN 115462055A CN 202180031011 A CN202180031011 A CN 202180031011A CN 115462055 A CN115462055 A CN 115462055A
- Authority
- CN
- China
- Prior art keywords
- network
- firewall
- graph
- rule set
- grouping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
所公开的技术的各方面包括基于业务生成防火墙规则,将所生成的防火墙规则输出到输出文件,以及使用该输出文件来设置网络中的防火墙规则。可以在没有网络的先验知识的情况下生成防火墙规则;替代地,不需要防火墙规则。可以针对用户偏好调整所生成的规则,以调整所生成的防火墙规则的数量,以及它们对非历史业务数据的过度包容性或欠包容性。
Description
相关申请的交叉引用
本申请是2020年12月14日提交的美国专利申请No.17/121,082的继续申请。该申请要求2020年11月24日提交的美国临时专利申请No.63/117,810的申请日的权益,其公开内容通过引用并入本文。
背景技术
现代计算环境通常包括通过网络彼此通信以共享信息的各种计算设备。这种通信通常在规定防火墙形式的安全特征以及诸如分组大小等其他特征的规则或许可的场境中执行。这种计算环境可以包括企业网络(例如,在公司的不同办公室之间)以及涉及云计算资源的通信。现代云环境能够包含非常大量的虚拟机(VM)。云系统或云环境由云运营商或所有者维护。通常,云环境或虚拟机的一部分属于不同的用户或用户组。云环境上的每个虚拟机能够部署特定于其所属的用户或用户组的各种应用。
云环境的用户可能期望为云内的各个机器或机器组配置防火墙。防火墙是监视传入和传出网络业务的安全程序、设备或模块。防火墙能够被配置为基于规则集来许可或阻止某些数据分组。因此,防火墙允许要被阻止或许可传入或传出的数据分组通过。因此,防火墙能够阻止某些不期望的业务,诸如病毒、可执行代码或对来自欺诈性或未经认证的源的请求的响应。防火墙的配置对于网络管理员来说是一项复杂的任务,这需要手动监视、配置和初始化数百或数千个单独的规则来管理防火墙。多个规则之间的相互作用在有效地管理、诊断和使用防火墙方面产生了意想不到的复杂性。
在云环境的场境中,用户可能希望将网络操作从他们的企业网络迁移到云环境,或者在由不同提供商支持的不同云环境之间或在给定的云计算环境内迁移那些操作。在这样的示例中,现有规则可能无法正确地转换到新的云环境。此外,可能已经特别创建的规则的数量的复杂性可能不会转化为防火墙的预期行为。另外,旧的或管理的规则可能在新环境中具有意外的效果,并且考虑到通常创建它们的自组织性质,可能造成安全风险或导致低效操作。
云环境的新用户可能希望为新虚拟机创建或建立防火墙规则集。
发明内容
所公开的技术的方面包括基于网络内的历史业务信息来生成防火墙规则并且诸如在输出文件内输出防火墙规则并且使用该输出文件来设置、建立或实例化网络内的防火墙规则的方法、系统和装置。
所公开的技术的方面包括:通过接收与通过网络连接的计算设备相关联的数据业务流信息生成防火墙规则;从接收到的数据业务流信息生成具有节点和边的网络图;对网络图的节点进行分组以生成新图;从新图生成防火墙规则集;以及将该防火墙规则集输出为输出文件、数据,或者将那些规则发送到防火墙。
所公开的技术的方面包括:通过接收与通过网络连接的计算设备相关联的数据业务流信息生成防火墙规则;从接收到的数据业务流信息生成具有节点和边的网络图;对网络图的节点进行分组以生成新图;从新图生成防火墙规则集;以及将该防火墙规则集输出为输出文件、数据,或者将那些规则发送到防火墙。
分组能够通过机器学习算法发生。能够基于输出为输出文件或其他格式输出的防火墙规则集,自动配设与对应于网络图的另一网络相关联的网络设备,以进行通信或包含防火墙规则。分组能够在没有业务数据的先验知识的情况下发生。图的节点能够被分组成组,并且每个组是新图的节点。分组能够基于迭代,分组能够在没有业务数据的先验知识的情况下发生。能够改变与分组算法相关联的参数,以最小化或以其他方式改变所生成的防火墙规则的类型的数量。
能够基于历史业务数据和原始防火墙规则集来验证防火墙规则集。能够基于合成业务数据和原始防火墙规则集来验证防火墙规则集。能够生成总结与所生成的防火墙规则相关的度量的验证报告。
防火墙规则集能够在验证或生成之后自动地或响应于用户输入被实现。防火墙规则集能够在网络环境内被调整或周期性地更新和实现。防火墙规则集能够被加载到防火墙组件中,并且防火墙组件能够被用于通过防火墙组件或网络控制网络流量。
用于分组的机器学习方法能够是以下之一:(i)社区检测算法,(ii)基于中心性度量的算法,(iii)视觉机器学习方法,(iv)基于小团体(clique)的方法,(v)网页排名(pagerank)算法,(vi)生成对抗网络,(vii)机器学习分类算法。
附图说明
附图不旨在按比例绘制。各个附图中相同的附图标记和名称指示相同的元件。为了清楚起见,并非每个组件都可以在每个附图中标记。
在附图中:
图1图示了根据本公开的各方面的示例计算系统。
图2图示了根据本公开的各方面的网络的示意图。
图3图示了根据本公开的各方面的示例网络图。
图4A图示了根据本公开的各方面的图分析之后的示例网络图。
图4B图示了根据本公开的各方面的图分析之后的示例网络图。
图5是根据本公开的方面的示例性示意性系统架构。
图6图示了根据本公开的各方面的示例方法。
图7是根据本公开的各方面的能够被用于生成图的示例方法。
图8是根据本公开的方面的能够被用于图分析的示例方法。
图9是根据本公开的方面的能够被用于生成防火墙规则的示例方法。
具体实施方式
概述
如本公开中所使用的,点、顶点和节点在图论的场境中可互换使用。业务数据是与从虚拟机或计算设备到另一虚拟机或计算设备的信息的进入或离开有关的信息,该另一虚拟机或计算设备能够在特定云环境内或在该云环境外部。
云内部和云外部的历史业务数据能够被表示为数学图。每个对象,诸如虚拟机、路由器、设备、计算机,能够被表示为节点,并且两个对象之间的连接能够被表示为那些节点之间的边。在一些示例中,对于“n”个对象的网络,表示数据流方向的n*(n-1)个有向边能够存在于图内,并且n*(n-1)/2个非有向边能够存在。
能够在网络的表示上使用图分析算法,以将网络内的顶点在组内分组或以其他方式分析图。在一些示例中,每个组能够是c。第一图的每个组能够被用于变换或创建新图的新节点。先前图内的边能够被组合成单个边。该新图能够表示新的简化防火墙规则集。该新的防火墙规则集通常将在计算上更高效,更容易被诸如网络管理员的人类用户理解,并且以图形格式更直观地表示。可以将新的防火墙规则集编译成文件,然后使用该文件来配设由迁移产生的网络。
图分析算法能够基于各种参数。在一些示例中,分析或分组能够是更“激进的”,导致更少数量的组和更少数量的边。在其他示例中,不太激进的分组能够导致更多的组,具有更大数量的边和更多生成的防火墙规则。由于组集合和所生成的防火墙规则不是“唯一的”,因此能够基于用户输入、偏好、要求或标准来优化所生成的防火墙规则。由于能够以不同的方式对图中的节点进行分组,因此对于不同的分组,对应的节点集合和所得到的防火墙规则能够是不同的。不同的分组导致在所得到的规则集中,例如在所得到的规则集的总体大小和复杂度与能够以其区分来自不同源和目的地的业务的粒度之间,进行不同的技术权衡。
能够基于历史业务数据和合成业务分别验证和调整与分组或图分析算法相关的所生成的规则和参数。合成业务能够测试不是历史业务数据的一部分的连接。此外,还能够基于所生成的规则来允许或拒绝未知或非历史业务模式的行为。在一些示例中,能够基于合成数据来测试所生成的规则的过包容性或欠包容性,并相应地对其进行调整。在其他示例中,能够迭代地执行上述过程,诸如通过迭代地使用分组方法迭代地创建组,或者附加地或结合使用监督或无监督机器学习,以生成多个防火墙规则集。例如,在每次迭代中,能够执行分组以生成新图,然后能够以迭代方式再次对该新图进行分组等。
在一些示例中,合成流量数据能够被用来针对未被包括在用于生成防火墙规则的历史信息中的业务流来测试所生成的防火墙规则,并且针对未看到的业务数据或未知的历史业务数据来验证防火墙规则。
所公开的技术的各方面允许所生成的防火墙规则集,其(1)是正确的,因为它们与历史业务日志匹配,(2)是安全的,因为它们比未生成的防火墙规则集更通用(更通用是因为它们更适用于未知类型的业务,其不是或尚未是历史日志的一部分,因为所有未知类型的数据都能够被拒绝),或(3)是简单的,因为所生成的规则的数量能够比常规的防火墙规则集更少且更精简,并且更可以被用户或网络管理员理解。使用本文中公开的技术生成的防火墙规则通常增加了由管理员或其他常规技术创建的防火墙规则的安全性,因为所生成的业务规则能够使得在历史业务日志中未遇到的业务通常被拒绝。此外,所公开的技术的各方面允许周期性更新,以及当到网络的流量模式或网络内的业务模式随时间改变时自动调整防火墙规则。因此,能够在网络环境内周期性地更新或自动地实现所生成的防火墙规则。
所公开的技术的各方面能够结合与各种“物联网”设备,诸如路由器、智能恒温器或彼此通信并包含私有或敏感信息的其他设备,相关或专用于各种“物联网”设备的虚拟机之中和之间的通信来使用。
所公开的技术的各方面允许使用验证输出或混淆矩阵来验证防火墙规则,其能够被用于“调整”或影响所生成的规则。
所公开的技术的各方面允许在没有用于生成防火墙规则的网络数据的类型的知识的情况下使用分组和生成防火墙规则。因此,所公开的技术允许缺少与正在被使用的历史网络数据相关的先验知识,并且该方法能够与正在被使用的网络数据的类型无关。
示例系统
以下附图图示了所公开技术的各方面。本领域技术人员将理解,各种公开的组件能够通过所公开的电子器件、处理器和计算设备中的一个或多个电子地耦合,以执行本文中公开的方法和技术。为了简单和清楚起见,没有图示每个电子器件或数据链路。
在一些示例中,现有云用户能够使用历史业务日志来实现防火墙规则的优化集合或新集合。在其他示例中,迁移到新云环境的用户能够在新环境中导入或记录业务数据以生成新的防火墙规则集。
图1是图示示例性计算机系统110的框图100,利用该示例性计算机系统110能够实现本公开的各方面,包括本文中描述的机器学习系统和技术及其任何组件。在某些方面,计算机系统110可以使用硬件或软件和硬件的组合来实现,或者在专用服务器中实现,或者集成到另一实体中,或者分布在多个实体上。在一些示例中,示例性计算系统110能够是用户计算系统或设备。在其他示例中,例如如图2所示,云201能够由类似于计算系统110的一个或多个示例计算机系统组成,其经由软件和硬件组件耦合或链接以作为云共同操作。
概括地说,计算系统110包括用于根据指令执行动作的至少一个处理器150和用于存储指令和数据的一个或多个存储器设备170或175。所图示的示例性计算系统110包括经由总线115与具有连接到一个或多个网络设备124的一个或多个网络接口卡122的至少一个网络接口驱动器控制器120通信的一个或多个处理器150、存储器170和任何其他设备180(例如,I/O接口)。网络接口卡122可以具有一个或多个网络接口驱动器端口,以与所连接的设备或组件通信。通常,处理器150执行从存储器接收的指令。所图示的处理器150合并或直接连接到高速缓冲存储器175。
更详细地,处理器150可以是处理指令,例如,从存储器170或高速缓存175提取的指令,的任何逻辑电路。在许多实施例中,处理器150是微处理器单元或专用处理器。计算设备110可以基于能够如本文中所述进行操作的任何处理器或处理器集合。处理器150可以是单核或多核处理器。处理器150可以是多个处理器。在一些实施方式中,处理器150能够被配置为运行多线程操作。在一些实施方式中,处理器150可以托管一个或多个虚拟机或容器,以及用于管理虚拟机或容器的操作的管理程序或容器管理器。在这样的实施方式中,图4-6中示出和描述的方法能够在处理器150上提供的虚拟化或容器化环境内实现。
存储器170可以是适合于存储计算机可读数据的任何设备。存储器170可以是具有固定存储的设备或用于读取可移除存储介质的设备。示例包括所有形式的非易失性存储器、介质和存储器设备、半导体存储器设备,诸如EPROM、EEPROM、SDRAM,和闪存设备、磁盘、磁光盘和光盘,诸如CD ROM、DVD-ROM和盘。计算系统110可以具有任何数量的存储器设备170。在一些实施方式中,存储器170支持可由计算系统110所提供的虚拟机或容器执行环境访问的虚拟化或容器化存储器。
高速缓冲存储器175通常是一种形式的计算机存储器,其被放置成紧邻处理器150以用于快速读取时间。在一些实施方式中,高速缓冲存储器175是处理器150的一部分或者与处理器150在同一芯片上。在一些实施方式中,存在多级高速缓存175,例如L2和L3高速缓存层。
网络接口驱动器控制器120管理经由网络接口驱动器122(也称为网络接口驱动器端口)的数据交换。网络接口驱动器控制器120处理用于网络通信的OSI模型的物理和数据链路层。在一些实施方式中,网络接口驱动器控制器的任务中的一些由处理器150处理。在一些实施方式中,网络接口驱动器控制器120是处理器150的一部分。在一些实施方式中,计算系统110具有多个网络接口驱动器控制器120。在网络接口卡122中配置的网络接口驱动器端口是用于物理网络链路的连接点。在一些实施方式中,网络接口控制器120支持无线网络连接,并且与网络接口卡122相关联的接口端口是无线接收器/发射器。通常,计算设备110经由与网络接口卡122中配置的网络接口驱动器端口对接的物理或无线链路与其他网络设备124交换数据。在一些实施方式中,网络接口控制器120实现诸如以太网的网络协议。
其他网络设备124经由包括在网络接口卡122中的网络接口驱动器端口被连接到计算设备110。其他网络设备124可以是对等计算设备、网络设备或具有网络功能的任何其他计算设备。例如,第一网络设备124可以是将计算设备110连接到诸如图1所示的互联网或云201的数据网络的网络设备,诸如集线器、桥接器、交换机或路由器。
其他设备180可以包括I/O接口、外部串行设备端口和任何附加的协处理器。例如,计算系统110可以包括用于连接输入设备(例如,键盘、麦克风、鼠标或其他指示设备)、输出设备(例如,视频显示器、扬声器或打印机)或附加存储器设备(例如,便携式闪存驱动器或外部介质驱动器)的接口(例如,通用串行总线(USB)接口)。在一些实施方式中,计算设备100包括诸如协处理器的附加设备180,例如,数学协处理器能够帮助处理器150进行高精度或复杂的计算。
计算系统110上的指令可以控制计算系统110的各种组件和功能。例如,可以执行指令以执行本公开中指示的任何方法。在一些示例中,算法能够被包括为包括在计算系统110上的指令的子集或以其他方式作为指令的一部分。指令能够包括用于执行本公开内描述的任何方法或方法子集的算法。
计算系统110上的用户界面可以包括允许用户与计算系统110交互的屏幕,诸如触摸屏或按钮。还能够包括显示器,诸如LCD、LED、移动电话显示器、电子墨水或其他显示器,以显示关于计算系统110的信息。用户界面能够允许来自用户的输入和向用户的输出。(一个或多个)通信接口能够包括硬件和软件,以能够通过诸如Wi-Fi、蓝牙、红外、无线电波和/或其他模拟和数字通信标准的标准进行数据通信。(一个或多个)通信接口允许更新计算系统110并且允许将由计算系统110生成的信息共享给其他设备。在一些示例中,(一个或多个)通信接口能够将存储在存储器中的信息发送到另一用户设备以进行显示、存储或进一步分析。
图2图示了具有云201、虚拟机211-215、分别与用户221-225相关联的设备231-235的网络200的示例的示意图。云201能够包含硬件,该硬件能够包括例如联网设备,如交换机、路由器、防火墙、负载平衡器、存储阵列、备份设备和服务器。云201能够被认为是将服务器连接在一起的抽象,划分和抽象资源以使它们可由用户经由虚拟机VM访问。云201能够包含防火墙模块250、管理程序240和虚拟机211-215。
尽管云201被表示为单个实体,但是本领域技术人员应当理解,云201是分布式硬件和软件系统的概念化。云201能够由其他云组成。在其他示例中,云201能够是虚拟机或本身位于另一云内的虚拟云。在一些示例中,云201能够跨能够相互链接或相互连接的诸如数据中心的多个物理位置而被分布或划分。在其他示例中,云201的部分能够被异地托管。例如,在一些示例中,云201的计算机处理或计算硬件能够位于一个位置,而存储介质能够位于其他区域。
云201还能够被配置为使得云环境的各方面被控制。例如,云201能够包含响应于用户需求或请求的软件,诸如增加或减少虚拟机的大小、专用于虚拟机的资源量或给定用户可用的虚拟机的数量。
云201能够包含多个虚拟机211-215。通常,虚拟机是计算机系统或计算机网络的仿真。虚拟机基于计算机架构,并且能够提供物理计算机的功能。实施方式可以涉及专用硬件、软件或组合。每个虚拟机211-219能够在云上托管或运行。在一些示例中,能够响应于用户请求而实例化虚拟机。在一些示例中,每个虚拟机能够是虚拟机组或虚拟机的网络。
云201还能够包含管理程序240或多个管理程序。管理程序也被称为虚拟机监视器、VMM或虚拟器。管理程序是能够创建、运行或监视虚拟机的一份计算机软件、固件或硬件。在一些示例中,管理程序240能够仅访问关于云201中的虚拟机的某些类型的信息。
每个虚拟机能够由用户221-225管理。每个用户能够通过由云提供商提供的工具,诸如通过用户设备231-235,访问他或她的对应的虚拟机。在一些示例中,这通过使用通常由云提供商提供的web界面,诸如web界面241,来发生。在其他示例中,安装在用户设备上的专用软件能够被用于与云或特定虚拟机交互。用户设备231-235能够类似于上面参考图1描述的计算系统110。
用户设备236可以是不控制或订阅云201的虚拟机但能够访问云201的信息或资源的设备。在一些示例中,用户设备236能够请求或尝试访问托管在云201上的资源。例如,用户设备236可以尝试使用web界面做出特定请求,该web界面继而能够被路由到云201上的特定虚拟机。
每个虚拟机或虚拟机组可以运行一个或多个应用、软件、操作系统并存储数据。另外,从用户到云、到一个或多个虚拟机或虚拟机之间的请求能够生成网络数据或业务。
图3将虚拟机之间的可允许连接的图形表示图示为图300。图通常被认为是用于图示或概念化对象之间的成对关系的数学结构。图能够由点(也称为节点)组成。边是两个节点之间的连接,其指示节点之间的关系。图通常在任何两个节点之间具有单个边,而多图可以在任何两个节点之间具有多于一个边。本领域技术人员应当理解,图能够指图论中的各种对象,包括例如多图。本领域技术人员还应当理解,能够使用等同的数学结构来代替本文中所述的图300或与本文中所述的图300结合使用。
在图300中,每个虚拟机能够被表示为节点。两个虚拟机之间的可允许连接能够被表示为两个节点或顶点之间的边或连接。在一些示例中,图300能够是有向图,其中,每个边具有相关联的方向。在其他示例中,边能够是双向的。在其他示例中,图300能够是多图。在其他示例中,图300能够是混合图,其中一些边是有向的,而其他边是无向的。
能够在图300内编码或表示附加信息,诸如所使用的虚拟机的端口或所使用的协议。例如,5元组{VM1,端口1,VM2,端口2,协议}导致虚拟机VM1和VM2之间的边,其中,端口和协议作为边元数据。该元数据能够被用于分组以及用于规则生成,如本文中进一步描述的。
图4A图示了虚拟机之间的可允许连接的图形表示,其中,虚拟机已经被分类或分组或聚束在一起作为图400。在本公开中进一步描述了用于按组生成或分类虚拟机的示例方法。
节点组由虚线界定。在一些示例中,这些组能够通过分类或分组方法形成,诸如本公开中描述的那些方法。在一些示例中,空间分组算法能够被用来将图400内的顶点生成或分类成组。例如,能够在二维、三维或其他几何或测量空间中抽象或表示图,无论是欧几里得还是非欧几里得。空间对象的位置和扩展能够定义空间邻域的隐式关系,诸如拓扑、距离和方向关系,其能够由空间分组算法或空间数据挖掘算法使用。本文中描述了附加示例算法和方法。
图4B图示了可允许连接的图形表示,其中,两组节点之间的边已被单个边替换,图450。图4B中的每个边与所生成的防火墙规则相关,如下面进一步解释的。
图5图示了与所公开的技术相关的示例性架构500和示例性处理流程。图5图示了处理、生成和防火墙引擎505、机器学习引擎510、业务日志515、数据处理模块520、网络图525、规则生成模块530、防火墙规则535、业务记录540、配置验证引擎545和验证报告550。本领域技术人员应当理解,关于参考架构500所使用的名称和所使用的描述仅是示例,并且其他架构、名称以及模块和引擎的组合是可能的。
业务日志515能够被存储在计算机系统110上、网络200内或云201内。作为一个示例,业务日志515能够包括多个日志,其能够包括与业务方向、源机器或虚拟机、目标虚拟机或机器、或源端口、所使用的互联网或通信协议、目的地端口和请求时间、批准或拒绝的时间请求、所请求的数据类型以及数据量有关的信息。
数据处理模块520能够包含从业务日志515读取、解析、解释和提取信息的软件。在一些示例中,数据处理模块520还能够基于规则数据库来组合从某些业务日志提取的信息。作为一个示例,数据处理模块520能够将顺序的或在彼此内的一定量的时间内,诸如在固定数量的秒或分钟内,的日志组合成经处理的数据的相同记录。在其他示例中,能够对业务记录进行采样以减少日志量、简化分析或移除重复的业务记录。在其他示例中,数据处理模块能够利用新的业务记录更新先前处理的结果,或者基于定期,诸如每周、每月或每天,获得的记录来更新处理的数据。在其他示例中,数据处理模块能够生成与业务日志相关的比较信息,诸如某一时间帧内的数据量、特定时间帧内的数据量或从一个节点到另一节点的数据量。在一些示例中,业务日志数据的采样能够基于该比较信息。
数据处理模块520也能够生成业务记录540。业务记录540能够与业务日志515相关,并且能够通过移除重复、过滤数据或以其他方式处理业务日志515中的数据来生成。
能够从通过数据处理模块520的处理获得的数据生成网络图525。在一些示例中,能够使用一个或多个图生成模块来生成网络图525。在其他示例中,网络图525能够在易失性或非易失性存储器内示意性地被表示为图的等效数学表示,诸如图理论数据结构,中的二进制代码。网络图525。网络图525的其他非限制性示例包括图之间的差异、被生成为时间间隔,诸如周或月,的时间序列的图。
规则生成模块530能够处理或解释网络图525或相关数据以生成表示或等同于网络图525的防火墙规则集,诸如防火墙规则535。在一些示例中,规则生成模块530能够与机器学习(ML)引擎510结合工作。
ML引擎510能够包含机器学习相关模型和软件模块。ML引擎510能够包含分组或图分析算法,诸如角色提取、社区检测、中心性测量和连通分量。作为一个示例,ML引擎510能够基于使用基于训练数据集的监督或无监督训练方法。训练数据集能够包含训练节点集。该训练节点集还能够包括根据训练节点集制成的图,并且包括边,诸如参考图3所示的边。训练数据集还能够包括被训练的输出,诸如能够表示防火墙规则集或与防火墙规则集相关的输出图。例如,输出图能够类似于参考图4B描述的图450。在一些示例中,训练数据能够包含节点集和这些节点之间的边,表示网络内的端点和这些端点之间的业务数据。
防火墙规则535能够表示从规则生成模块520或ML引擎510生成的规则集。防火墙规则535能够针对特定标准进行优化,诸如规则的数量、复杂性、对某些机器或端口的优先级、处理时间或复杂性、或网络内的延迟。
配置验证引擎545能够通过处理业务并将所生成的业务日志与历史业务日志进行比较被用于与所生成的防火墙规则相关的信息。在一些示例中,配置验证引擎545能够与处理、生成和防火墙引擎505并行地或结合地工作。在一些示例中,配置验证引擎545能够使用两个防火墙规则集,诸如与云环境相关联的原始防火墙和所生成的防火墙规则集,诸如防火墙规则535,并且使用两个规则集“运行”业务记录。能够使用原始防火墙规则生成第一响应,并且能够使用第二防火墙规则集生成第二响应。在一些示例中,第一响应和第二响应能够包含关于许可或拒绝去往和来自云环境内的虚拟机的哪些连接的信息。能够将第一响应和第二响应作为验证结果的一部分进行比较。
验证报告550能够包含与所生成的防火墙规则相关的概要信息或其他信息,以用于呈现给终端用户或用于存储在计算设备内。示例性验证报告能够采取如下形式:
示例方法
图6图示了示例方法600。方法600能够被用于生成能够在云环境内存储和实现的防火墙规则集。在一些示例中,方法600能够以预定间隔自动执行。在其他示例中,能够响应于用户输入或用户命令来执行方法600。在其他示例中,方法600能够在预定事件时执行,诸如虚拟机的增加、对云环境的请求的增加或超过阈值,诸如请求的数量或对特定虚拟机的请求的百分比增加或减少。
在一些示例中,某些云或虚拟机能够具有与其相关联的持久规则。例如,能够知道某些虚拟机或云环境包含始终能够访问的公共信息,并且还能够设置与这样的虚拟机或云环境相关联的防火墙规则以允许传入请求。在其他示例中,某些虚拟机能够仅允许其他预先识别的机器之间的连接。
在一些示例中,能够向用户或网络管理员显示所生成的防火墙规则集以使用、实现、修改或以其他方式与其交互。在一些示例中,网络管理员能够手动修改防火墙规则的子集,或者指示与网络相关的附加意图,这能够“强制”特定顶点的特定类型的分类或分组。
在一些示例中,能够针对某些度量,诸如防火墙连接的数量、规则的数量或用户可以定义或测试的另一用户定义或测试度量,“调整”或优化组的数量或分组算法。取决于所使用的分组算法,分组阈值允许用户定制以满足他们的要求。例如,粗组逻辑导致较少数量的组,并且因此所生成的防火墙规则在数量上也较小并且提供粗粒度安全性。另一方面,细粒度分组导致更大数量的组以及防火墙规则,其紧密地模仿底层业务模式,从而导致更严格的安全简档。
在框610处,能够获得业务日志,诸如业务日志515。能够在该框处获得业务日志,该业务日志能够是历史日志,并且能够与云环境上的一个或多个虚拟机相关。业务日志能够具有诸如本文中所述的信息。在一些示例中,能够获得防火墙日志而不是业务日志,并且该防火墙日志能够包含附加的元数据。业务日志经由数据处理模块520接收,并且可以取决于网络设计被推送或拉取。
在框620处,能够基于所获得的业务日志来生成图。所生成的图能够等效于其他数学表示。能够在框620处执行附加框,诸如参考图7描述的那些框。
在框630处,能够对网络图进行分组。在该框处,能够将网络图的各种节点或顶点分组在一起。能够在框630处执行附加框,诸如参考图8描述的那些框。
在框640处,能够从网络图生成规则。能够在框640处执行附加框,诸如参考图9描述的那些框。
在框650处,能够优化防火墙规则。在一些示例中,防火墙优化能够基于包含公共标识符的两个虚拟机发生,诸如例如,被识别为在同一组内。在一些示例中,防火墙规则能够被保存为用于在输出文件内实现的文件。
在框660处,能够发生业务验证。在该框处,能够分析附加的两个防火墙规则集,诸如与云环境相关联的原始防火墙和所生成的防火墙规则集或优化的防火墙规则集,诸如防火墙规则535。能够针对合成业务或历史业务日志使用两个规则集。在该步骤能够生成第一响应和第二响应。该第一响应和该第二响应能够对应于通过使用所生成的防火墙规则和合成防火墙规则而生成的防火墙响应。在一些示例中,诸如图10所图示的“混淆矩阵”能够被生成或被用作业务验证的一部分。混淆矩阵,也称为误差矩阵,是允许机器学习或分组算法的性能的可视化的特定表布局。
在框670处,能够生成防火墙推荐。在该框处,还能够向防火墙的用户或管理员显示防火墙推荐。
在框680处,能够实现所生成的防火墙规则。在一些示例中,能够自动地实现所生成的防火墙规则。在其他示例中,能够在从用户或管理员接收到肯定响应或请求之后实现所生成的防火墙规则。在其他示例中,能够将所生成的防火墙规则与核心防火墙规则集进行比较,并且如果所生成的规则至少与核心防火墙规则集一样严格,则自动地实现所生成的防火墙规则。
图7图示了能够被用于生成图的方法700。
在框710,能够获得网络数据或网络日志。网络数据能够包含指示虚拟机的数量、它们的身份、它们已经被实例化多长时间、虚拟机的IP地址或另一标识符的数据。网络数据还能够包括在两个虚拟机之间允许哪些连接或传输,以及该连接或传输是在云环境内部还是在两个云环境之间。在一些示例中,网络数据能够已经被预处理以移除两组虚拟机之间的重复连接或传输。在其他示例中,能够对业务量进行归一化。
在框720处,能够将每个虚拟机识别为图的节点。在一些示例中,每个虚拟机将形成图的一个节点。在其他示例中,多个节点或顶点能够对应于虚拟机,其中多个节点中的每个节点对应于特定的元数据集,诸如虚拟机的端口或用于通信的协议。
在框730处,能够标记或识别每个节点。
在框740处,将在所获得的网络日志或网络数据内反映的来自节点的每个传入或传出连接能够被表示为图的两个顶点或节点之间的边。在一些示例中,边能够是有向的。在其他示例中,边能够是双向的。在其他示例中,每个边能够是无向的。
图8图示了能够被用于例如分组的方法800。尽管参考图8讨论了用于分组的示例性方法,但是本领域技术人员将理解,能够使用其他方法和技术来对图的顶点进行分组或关联,包括但不限于机器学习技术、生成对抗网络、高斯技术、密度技术、二进制技术、贝叶斯分类器、二进制森林、随机森林、神经网络、神经网、最近邻技术和提升树。
在框810处,能够接收表示历史信息的图。接收到的图能够类似于上面所图示的图300。
在框820,能够使用图分析算法或分组技术来分析图,其能够包括使用机器学习或深度学习技术。本领域技术人员将认识到,所描述的方法是示例性的,并且能够以各种组合彼此结合使用,或以其他方式调整或修改。在该框处,该方法能够导致将图的元素分组成多个组。
在一些示例中,能够使用社区检测算法。在一些示例中,能够使用最小切割方法。在其他示例中,“最小切割”的数量能够基于结束图的期望特性,诸如期望的防火墙规则的数量,而变化。在一些示例中,能够使用分层方法。能够被使用的其他社区方法包括但不限于Girvan-Newman算法、模块化最大化方法、统计推断方法或基于小团体的方法。能够基于日志数据的计算复杂度、底层节点中的信息的灵敏度或其他方法来选择或挑选模块化最大化方法。统计推断方法能够包括生成模型。基于小团体的方法能够与固定大小或变化大小的小团体一起使用。
在其他示例中,能够使用基于中心性度量的算法。在一些示例中,节点之间的中心性测量能够被用作机器学习模型的特征或输入。也能够使用其他度量。作为一个示例,能够使用“中间中心性”。在其他示例中,能够使用“度中心性”。基于以中心性度量为基础的算法,能够将节点分类成组,这些组能够形成新图的基础。在一些示例中,能够使用连通分量方法,包括连通分量标记、区域标记或区域提取,其中能够基于所提供的试探法来唯一地标记节点组。
在其他示例中,当在防火墙规则的生成中将节点分组为组时,能够使用其他基于机器学习的分类方法来基于边和业务数据的过包容性和欠包容性之间的确定将节点分类为组。机器学习分类方法能够在训练集上被配置或被训练,这能够确保所提供的分组或分类不过包容或欠包容,并且满足为输出的分组和/或相关防火墙规则指定的条件。
在一些示例中,能够使用以下技术中的一种或多种。在一些示例中,能够使用概率方法。例如,能够使用高斯混合模型。高斯混合模型是用于表示总体群体内正态分布子群体的概率模型。在高斯混合模型中,不要求观察到的数据集应该表征或说明分布内的特定观察属于哪个子群体。
能够使用的示例机器学习技术包括以下。在一些示例中,能够使用监督学习技术和无监督学习技术的混合。在一些示例中,生成对抗网络能够被用于预测或检测网络异常。生成对抗网络使用两个网络,一个是对抗网络,一个是生成网络,以试图通过由生成网络生成的对象欺骗对抗网络的方式。在一些示例中,图分析方法能够被用于对输入、网络参数、训练模型或虚拟机进行分组。能够实时使用图分析或分组方法来对模型或模型组与虚拟机或虚拟机组进行分类和匹配。技术的一些其他示例包括降维。降维能够被用于移除影响最小或统计上最不显著的信息量。在生成大量数据并且能够观察到许多类型的数据的网络中,可以结合本文中描述的任何技术使用降维。一个示例降维方法是主成分分析(PCA)。PCA能够被用于通过找到能够使数据的线性变化最大化的新向量来减少“空间”的维度或变量的数量。PCA还允许观察丢失的信息量,并且允许在要选择的新矢量中进行调整。另一示例技术是t-随机邻域嵌入(t-SNE),其能够被用于基于相对空间关系和端点到图中的一个或多个空间映射来将图内的节点分组到图中。能够使用集成方法,其主要使用组合若干预测模型的想法,这些预测模型能够是监督ML或无监督ML以获得比每个模型本身可以提供的更高质量的预测。作为一个示例,随机森林算法、神经网络和深度学习技术也能够被用于上述技术。神经网络通常试图在将输入和输出之间的连接“打开”或“关闭”时复制生物大脑的行为,以试图最大化所选择的目标。
在框830,在分配每个组时,能够基于所生成的组将图划分为组。在数学上,图的分区是通过将原始图的节点划分为互斥组来将图简化或变换为新的或更小的图。在组之间交叉的原始图的边将在分区图中产生边。
图9图示了能够被用于规则生成的方法900的各方面。如方法900中所图示,来自图的边的集合,诸如集合910,能够与分组的集合或图分析结果,诸如集合920,组合,以将该边的集合变换或映射到具有边的组的集合中,诸如通过框930中的分组边和分析。例如,能够在930期间移除重复边以生成信息集合940。940能够包括关于所生成的新图形的信息。来自集合940的信息能够被用于生成防火墙规则,诸如规则950和规则960。规则950能够对应于集合940中的“组1→组3”,而规则960能够对应于集合940中的“组1→组2”。从图9中能够看出,分组或图分析的结果继而改变从集合910和集合920到集合940的变换,并且因此影响所生成的防火墙规则内包含的数量和信息。当不为该集合生成“允许”规则时,默认能够在图的两个组或元素之间生成拒绝防火墙规则。在一些示例中,“拒绝”规则因此能够是图中的“允许”规则的补充。在一些其他示例中,能够通过其他机器学习算法生成“拒绝”规则。
尽管参考虚拟机(VM)图示了图9,但是应当理解,能够使用其他网络标签来代替VM,诸如外部IP地址。类似地,诸如基于IP地址的特性,能够存在用于外部IP地址集的组或单元。例如,IP地址的一部分能够指IP地址的“网络部分”,而IP地址的一部分能够指IP地址的“主机”部分。作为示例组映射,具有相同“网络”部分的所有地址能够被认为在一个组中。在其他示例中,能够共同使用具有相同“网络”和“主机”部分的地址,但是基于元数据来区分组。
在一些示例中,所生成的防火墙规则能够通过重放该数据以及针对合成业务数据来针对历史业务日志测试。预期所生成的防火墙规则将与历史业务日志“匹配”,因为所生成的防火墙规则将拒绝先前被拒绝的所有业务并允许先前被拒绝的所有业务。类似地,预期对于合成数据,所生成的防火墙规则将拒绝原始防火墙规则已经拒绝的所有数据。该信息能够在下表中可视化。
在上表中,每条合成数据将落入四个象限中的一个。在一些示例中,可以知道或配置对于针对原始防火墙规则和所生成的防火墙规则两者重放的特定合成数据日志预期哪些结果。
在上表中,能够根据规则的可取性对所生成的防火墙规则进行分类。“理想”能够表示预期或要求的情况,而“不可接受”能够表示特定合成数据的结果或防火墙规则行为,其指示所生成的防火墙规则缺乏重要或关键特征或显示意外行为。
类似地,在上表中,多个规则可以落入“不理想但可接受的”类别,其中,所生成的防火墙的行为仍然是可接受的但不理想的,因为更严格的安全性将导致该特定合成数据被拒绝。“理想”能够指示表示所生成的防火墙规则的更严格安全性的行为。在一些示例中,能够将数据点的数量划分为上述象限,并且能够“调整”防火墙规则和相关联的算法以导致更多或更少数量的“不理想但可接受的”结果。
尽管上述分类是示例性的,但是本领域技术人员将理解,所生成的防火墙规则的附加变型和测试配置是可能的,包括更大的表或更细粒度的测试是可能的,并且能够在所生成的防火墙规则中“调整”附加参数。
虽然本公开内容包含许多具体的实施细节,但是这些细节不应被解释为对可能要求保护的范围的限制,而是作为特定于特定实施方式的特征的描述。在本说明书中在分开的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实现。相反,在单个实施方式的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施方式中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求以所示的特定顺序或以顺序执行这些操作,或者执行所有图示的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示所描述的术语中的单个、多于一个和全部中的任何一个。标签“第一”、“第二”、“第三”等不一定意味着指示顺序,并且通常仅被用于区分相同或相似的项目或元件。
对本公开内容中描述的实施方式的各种修改对于本领域技术人员来说是显而易见的,并且在不脱离本公开内容的精神或范围的情况下,本文定义的一般原理可以被应用于其它实施方式。因此,权利要求不旨在限于本文中所示的实施方式,而是符合与本公开内容、本文公开的原理和新颖特征相一致的最宽范围。
所公开的技术的非限制性方面能够包括以下特征:
特征1.一种生成防火墙规则的方法,所述方法包括:
接收与通过网络连接的计算设备相关联的数据业务流信息;
从接收到的数据业务流信息生成具有节点和边的网络图;
对所述网络图的节点进行分组以生成新图;
从所述新图生成防火墙规则集;以及
将所述防火墙规则集输出为输出文件。
特征2.根据特征1的方法,其中,分组通过机器学习算法发生。
特征3.根据特征1-2的方法,包括基于所述防火墙规则集,自动配设与另一网络相关联的网络设备以进行通信,所述另一网络实现为对应于所述网络图。
特征4.根据特征1-3的方法,其中,分组在没有所述业务数据的先验知识的情况下发生。
特征5.根据特征1-3的方法,其中,所述节点被分组成组,并且每个组是新图的节点。
特征6.根据特征5的方法,其中,分组基于迭代分组发生。
特征7.根据特征1-3的方法,包括改变与分组算法相关联的参数以最小化所述防火墙规则集。
特征8.根据特征1-3的方法,包括基于历史业务数据和原始防火墙规则集来验证所述防火墙规则集。
特征9.根据特征1-3的方法,包括基于合成业务数据和原始防火墙规则集来验证所述防火墙规则集。
特征10.根据特征7-8的方法,包括生成总结与所生成的防火墙规则相关的度量的验证报告。
特征11.根据特征1-8的方法,包括在验证之后自动地实现所述防火墙规则集。
特征12.根据特征1-8的方法,包括将所述防火墙规则加载到防火墙组件中,并且使用所述防火墙组件来控制通过所述防火墙组件或所述网络的网络业务。
特征13.根据特征1-12的方法,其中,用于分组的所述机器学习方法是以下之一:(i)社区检测算法,(ii)基于中心性度量的算法,(iii)视觉机器学习方法,(iv)基于小团体(clique)的方法,(v)网页排名(pagerank)算法,(vi)生成对抗网络,(vii)机器学习分类算法。
特征14.一种系统,包括:
一个或多个处理设备,所述一个或多个处理设备耦合到包含指令的存储器,所述指令使得所述一个或多个处理设备:
接收与通过网络连接的计算设备相关联的数据业务流信息;
从接收到的数据业务流信息生成具有节点和边的网络图;
对所述网络图的节点进行分组以生成新图;
从所述新图生成防火墙规则集;以及
将所述防火墙规则集输出为输出文件。
特征15.根据特征14的系统,其中,分组通过机器学习算法发生。
特征16.根据特征14-15的系统,包括指令,所述指令使得所述一个或多个处理设备基于所述防火墙规则集,自动配设与另一网络相关联的网络设备以进行通信,该另一网络实现为对应于所述网络图。
特征17.根据特征14-16的系统,其中,分组在没有所述业务数据的先验知识的情况下发生。
特征18.根据特征14-16的系统,其中,所述节点被分组成组,并且每个组是新图的节点。
特征19.根据特征14-18的系统,包括指令,所述指令使得所述一个或多个处理设备改变与分组算法相关联的参数以最小化所述防火墙规则集。
特征20.根据特征14-19的系统,包括指令,所述指令使得所述一个或多个处理设备基于历史业务数据和原始防火墙规则集来验证所述防火墙规则集。
特征21.根据特征14-19的系统,包括指令,所述指令使得所述一个或多个处理设备基于合成业务数据和原始防火墙规则集来验证所述防火墙规则集。
特征22.根据特征14-19的系统,包括指令,所述指令使得所述一个或多个处理设备生成总结与所生成的防火墙规则相关的度量的验证报告。
特征23.根据特征14-19的系统,包括指令,所述指令使得所述一个或多个处理设备在验证之后自动地实现所述防火墙规则集。
特征24.根据特征14-19的系统,包括指令,所述指令使得所述一个或多个处理设备将所述防火墙规则加载到防火墙组件中,并且使用所述防火墙组件来控制通过所述防火墙组件或所述网络的网络业务。
Claims (20)
1.一种生成防火墙规则的方法,所述方法包括:
接收与通过网络连接的计算设备相关联的数据业务流信息;
从接收到的数据业务流信息生成具有节点和边的网络图;
对所述网络图的节点进行分组以生成新图;
从所述新图生成防火墙规则集;以及
将所述防火墙规则集输出为输出文件。
2.根据权利要求1所述的方法,其中,分组通过机器学习算法发生。
3.根据权利要求1所述的方法,包括基于所述防火墙规则集,自动配设与另一网络相关联的网络设备以进行通信,所述另一网络被实现为对应于所述网络图。
4.根据权利要求1所述的方法,其中,分组在没有所述业务数据的先验知识的情况下发生。
5.根据权利要求1所述的方法,其中,所述节点被分组成组,并且每个组是新图的节点。
6.根据权利要求5所述的方法,其中,分组基于迭代分组发生。
7.根据权利要求5所述的方法,包括改变与分组算法相关联的参数以最小化所述防火墙规则集,其中,最小化的防火墙规则集与接收到的数据业务流信息一致。
8.根据权利要求1所述的方法,包括基于历史业务数据和原始防火墙规则集来验证所述防火墙规则集。
9.根据权利要求1所述的方法,包括基于合成业务数据和原始防火墙规则集来验证所述防火墙规则集。
10.根据权利要求7所述的方法,包括生成总结与所生成的防火墙规则相关的度量的验证报告。
11.根据权利要求1所述的方法,包括在验证之后自动地实现所述防火墙规则集。
12.根据权利要求11所述的方法,包括将所述防火墙规则加载到防火墙组件中,并且使用所述防火墙组件来控制通过所述防火墙组件或所述网络的网络业务。
13.根据权利要求2所述的方法,其中,用于分组的所述机器学习方法是以下之一:(i)社区检测算法,(ii)基于中心性度量的算法,(iii)视觉机器学习方法,(iv)基于小团体的方法,(v)网页排名算法,(vi)生成对抗网络,(vii)机器学习分类算法。
14.一种系统,包括:
一个或多个处理设备,所述一个或多个处理设备耦合到包含指令的存储器,所述指令使得所述一个或多个处理设备:
接收与通过网络连接的计算设备相关联的数据业务流信息;
从接收到的数据业务流信息生成具有节点和边的网络图;
对所述网络图的节点进行分组以生成新图;
从所述新图生成防火墙规则集;以及
将所述防火墙规则集输出为输出文件。
15.根据权利要求14所述的系统,其中,分组通过机器学习算法发生。
16.根据权利要求14所述的系统,其中,用于分组的所述机器学习方法是以下之一:(i)社区检测算法,(ii)基于中心性度量的算法,(iii)视觉机器学习方法,(iv)基于小团体的方法,(v)网页排名算法,(vi)生成对抗网络,(vii)机器学习分类算法。
17.根据权利要求14所述的系统,包括指令,所述指令使得所述一个或多个处理设备基于所述防火墙规则集,自动配设与另一网络相关联的网络设备以进行通信,所述另一网络实现为对应于所述网络图。
18.根据权利要求14所述的系统,其中,所述节点被分组成组,并且每个组是新图的节点。
19.根据权利要求14所述的系统,包括指令,所述指令使得所述一个或多个处理设备改变与分组算法相关联的参数以最小化所述防火墙规则集。
20.根据权利要求14所述的系统,包括指令,所述指令使得所述一个或多个处理设备在验证之后自动地实现所述防火墙规则集。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063117810P | 2020-11-24 | 2020-11-24 | |
US63/117,810 | 2020-11-24 | ||
US17/121,082 US11716311B2 (en) | 2020-11-24 | 2020-12-14 | Inferring firewall rules from network traffic |
US17/121,082 | 2020-12-14 | ||
PCT/US2021/060802 WO2022115590A1 (en) | 2020-11-24 | 2021-11-24 | Inferring firewall rules from network traffic |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115462055A true CN115462055A (zh) | 2022-12-09 |
Family
ID=81657670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180031011.4A Pending CN115462055A (zh) | 2020-11-24 | 2021-11-24 | 从网络业务推断防火墙规则 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11716311B2 (zh) |
EP (1) | EP4252404A1 (zh) |
CN (1) | CN115462055A (zh) |
WO (1) | WO2022115590A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200314066A1 (en) * | 2019-03-29 | 2020-10-01 | Cloudflare, Inc. | Validating firewall rules using data at rest |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220385635A1 (en) * | 2021-05-27 | 2022-12-01 | Palo Alto Networks, Inc. | Combined machine learning and formal techniques for network traffic analysis |
US20220400113A1 (en) * | 2021-06-15 | 2022-12-15 | Fortinet, Inc | Systems and methods for focused learning of application structure and ztna policy generation |
US20230319115A1 (en) * | 2022-04-04 | 2023-10-05 | Arista Networks, Inc. | Systems and methods for validating, maintaining, and visualizing security policies |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7610621B2 (en) * | 2004-03-10 | 2009-10-27 | Eric White | System and method for behavior-based firewall modeling |
CN103067344B (zh) * | 2011-10-24 | 2016-03-30 | 国际商业机器公司 | 在云环境中自动分发安全规则的非侵入性方法和设备 |
US9059960B2 (en) * | 2012-08-31 | 2015-06-16 | International Business Machines Corporation | Automatically recommending firewall rules during enterprise information technology transformation |
US9578061B2 (en) * | 2013-03-13 | 2017-02-21 | FireMon, LLC | System and method for modeling a networking device policy |
US9843560B2 (en) * | 2015-09-11 | 2017-12-12 | International Business Machines Corporation | Automatically validating enterprise firewall rules and provisioning firewall rules in computer systems |
US10778645B2 (en) * | 2017-06-27 | 2020-09-15 | Microsoft Technology Licensing, Llc | Firewall configuration manager |
US10645121B1 (en) * | 2017-12-11 | 2020-05-05 | Juniper Networks, Inc. | Network traffic management based on network entity attributes |
US10887281B2 (en) * | 2017-12-19 | 2021-01-05 | Salesforce.Com, Inc. | Automated host-based firewall configuration management |
US11451514B2 (en) * | 2019-01-03 | 2022-09-20 | Illumio, Inc. | Optimizing rules for configuring a firewall in a segmented computer network |
US20200314066A1 (en) * | 2019-03-29 | 2020-10-01 | Cloudflare, Inc. | Validating firewall rules using data at rest |
US11516182B2 (en) * | 2019-04-10 | 2022-11-29 | Google Llc | Firewall rules intelligence |
US11483284B2 (en) * | 2019-04-17 | 2022-10-25 | Vmware, Inc. | Recommending network NANO-segmentation for micro-services using flow analysis |
US11245729B2 (en) * | 2019-07-09 | 2022-02-08 | Salesforce.Com, Inc. | Group optimization for network communications |
US11340931B2 (en) * | 2019-07-23 | 2022-05-24 | Vmware, Inc. | Recommendation generation based on selection of selectable elements of visual representation |
US11784948B2 (en) * | 2020-01-29 | 2023-10-10 | International Business Machines Corporation | Cognitive determination of message suitability |
EP4136818A1 (en) * | 2020-04-13 | 2023-02-22 | Google LLC | Firewall insights processing and machine learning |
US20220006783A1 (en) * | 2020-07-02 | 2022-01-06 | Accenture Global Solutions Limited | Privacy preserving cooperative firewall rule optimizer |
US20220051111A1 (en) * | 2020-08-17 | 2022-02-17 | Accenture Global Solutions Limited | Knowledge graph enhancement by prioritizing cardinal nodes |
-
2020
- 2020-12-14 US US17/121,082 patent/US11716311B2/en active Active
-
2021
- 2021-11-24 WO PCT/US2021/060802 patent/WO2022115590A1/en unknown
- 2021-11-24 EP EP21831156.1A patent/EP4252404A1/en active Pending
- 2021-11-24 CN CN202180031011.4A patent/CN115462055A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200314066A1 (en) * | 2019-03-29 | 2020-10-01 | Cloudflare, Inc. | Validating firewall rules using data at rest |
Also Published As
Publication number | Publication date |
---|---|
US11716311B2 (en) | 2023-08-01 |
US20220166756A1 (en) | 2022-05-26 |
EP4252404A1 (en) | 2023-10-04 |
WO2022115590A1 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11237897B2 (en) | Detecting and responding to an anomaly in an event log | |
CN115462055A (zh) | 从网络业务推断防火墙规则 | |
US10977389B2 (en) | Anonymity assessment system | |
US10860622B1 (en) | Scalable recursive computation for pattern identification across distributed data processing nodes | |
CN115668865A (zh) | 网络异常检测 | |
US11483319B2 (en) | Security model | |
US11483211B2 (en) | Infrastructure discovery and analysis | |
US11455554B2 (en) | Trustworthiness of artificial intelligence models in presence of anomalous data | |
US20220198266A1 (en) | Using disentangled learning to train an interpretable deep learning model | |
US20230421534A1 (en) | Autotuning a virtual firewall | |
Shahzad et al. | Survey and future trends for FPGA cloud architectures | |
US11636386B2 (en) | Determining data representative of bias within a model | |
US20240004993A1 (en) | Malware detection in containerized environments | |
Araújo et al. | A hybrid optimization-machine learning approach for the VNF placement and chaining problem | |
US11302096B2 (en) | Determining model-related bias associated with training data | |
US11354297B2 (en) | Detecting positivity violations in multidimensional data | |
Ibrahim et al. | Intrusion detection system for cloud based software-defined networks | |
Sourbier et al. | SECURE-GEGELATI always-on intrusion detection through GEGELATI lightweight tangled program graphs | |
Wang et al. | DockerWatch: a two-phase hybrid detection of malware using various static features in container cloud | |
Lopes et al. | Network intrusion detection based on the temporal convolutional model | |
US11687793B2 (en) | Using machine learning to dynamically determine a protocol for collecting system state information from enterprise devices | |
US11283841B2 (en) | Community-based anomaly detection policy sharing among organizations | |
US20240163291A1 (en) | Deploying handwriting recognition servers for different security levels | |
US20240005032A1 (en) | Discovering, assessing, and remediating cloud native application risks due to security misconfigurations | |
Kabanda | Performance of Machine Learning and Big Data Analytics Paradigms in Cyber Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |