IP Library Granted Patent US 12,659,355
Granted Patent B2
US 12,659,355 · App. 18/752,049 · Granted Jun 16, 2026

Adaptive policy generation in distributed security fabrics

Inventors: Vincent Parla (North Hampton, NH); Eric Maximilian Roquemore (Austin, TX); John Michael Lake (Cary, NC); Andrew Zawadowskiy (Hollis, NH)
Assignee: Cisco Technology, Inc.
H04L63/20H04L63/1425
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,659,355
App. No.
18/752,049
Granted
Jun 16, 2026
Kind
B2
Abstract

A system and method are provided for placing security operations at selected enforcement points in a distributed security fabric. The enforcement points at which the security operations are placed can be endpoints, nodes, and/or network devices within the network. The security operations can be updated by monitoring data flows through the network to generate network data, and then determining, based on the network data, one or more changes to the security operations, based on the generated network data. Recommended changes can be obtained by applying the network data to a machine-learning model that indicates suspicious data packets (e.g., disseminates packets suspected of being malicious from normal traffic) and crafts new policies to deny the suspicious data packets. Performance of the network can also be improved by analyzing the security operations for redundancies and/or inefficiencies and modifying the security operations to mitigate them.

Claims (65)

1 . A method of optimizing a distributed security fabric, the method comprising:

receiving, at a controller, respective security policies being implemented in a network comprising enforcement points at respective nodes within the network;

determining, by the controller, selected enforcement points within the network at which the respective security policies are applied;

sending, to the selected enforcement points, instructions to apply the security policies at the selected enforcement points, respectively; and

determining one or more changes to be applied to the security policies based on continuous monitoring of data flows through the network, wherein

the selected enforcement points are determined based on an estimated flow cost representing an aggregation of consumed resources at the selected enforcement points that is determined based on a topology of the network, and

the one or more changes are automatically applied based on a corresponding score associated with the one or more changes.

2 . The method of claim 1 , wherein

the selected enforcement points are selected from firewall enforcement points within a distributed firewall and security hook enforcement points applied at one or more endpoints of the network.

3 . The method of claim 1 , wherein the estimated flow cost is an objective function that accounts for changes in an amount of computational resources used to apply the security policies resulting from how the security policies are segmented and where the security policies are placed within the network.

4 . The method of claim 1 , further comprising:

modifying the security policies in accordance with the one or more changes.

5 . The method of claim 1 , wherein determining the one or more changes to the security policies further comprises:

applying network data to a machine-learning model to output recommended changes, the network data corresponding to the data flows through the network.

6 . The method of claim 5 , wherein:

each of the recommended changes respectively include the corresponding score,

for a score that corresponds to a recommended change, the recommended change is implemented automatically when the score is in a first range, the recommended change being one of the one or more changes,

when the score is in a second range, the recommended change is signaled to an authorized user to be implemented manually,

when the authorized user takes an action with respect to the recommended change, the action is used to label the recommended change to generate labeled training data that is added to a training data set, and

the machine-learning model is trained using the training data set for reinforcement learning.

7 . The method of claim 5 , wherein the machine-learning model is an unsupervised learning model that groups data packets of the data flows into clusters and identifies data packets outside the clusters as suspicious.

8 . The method of claim 5 , wherein the machine-learning model predicts suspicious packets from the network data and determines the one or more changes to the security policies based on the suspicious packets.

9 . The method of claim 5 , wherein:

the machine-learning model is a generative adversarial network model that includes a generator model and a discriminator model, the generator model is trained to generate data packets that are consistent with allowed packets, the discriminator model is trained to discriminate the allowed packets from not allowed packets, and ingress packets that are detected by the discriminator model as the not allowed packets are flagged as suspicious packets and used for determining the one or more changes to the security policies,

the machine-learning model is a latent variable model that determines the suspicious packets based on a distance measure between an input packet and output packet, wherein the output packet is generated by applying the input packet to the latent variable model, or

the machine-learning model is a transformer model that determines the suspicious packets by predicting, based on the network data, whether a data packet is suspicious.

10 . The method of claim 1 , further comprising:

analyzing the security policies to determine redundancies and/or inefficiencies among the security policies;

modifying the security policies to mitigate the redundancies and/or the inefficiencies; and

validating the security policies to confirm that modifying the security policies maintains an effectiveness of the security policies.

11 . The method of claim 1 , wherein the security policies include 5 -tuple rules dictating actions taken on a data packet based on a 5 -tuple that includes a source address of the data packet, a source port of the data packet, a destination address of the data packet, a destination port of the data packet, and a protocol of the data packet.

12 . The method of claim 11 , wherein the security policies further include IPS signature detection, deep packet inspection, authentication, an access list, HTTP or HTTPS filtering, or an advanced inspection and prevention security operation module.

13 . A computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the computing apparatus to:

receive, at a controller, security policies being implemented in a network comprising enforcement points at respective nodes within the network;

determine, by the controller, selected enforcement points within the network at which the respective security policies are applied;

send, to the selected enforcement points, instructions to apply the security policies at the selected enforcement points, respectively; and

determine one or more changes to be applied to the security policies based on continuous monitoring of data flows through the network, wherein

the selected enforcement points are determined based on an estimated flow cost representing an aggregation of consumed resources at the selected enforcement points that is determined based on a topology of the network, and

the one or more changes are automatically applied based on a corresponding score associated with the one or more changes.

14 . The computing apparatus of claim 13 , wherein the selected enforcement points are selected from firewall enforcement points within a distributed firewall and security hook enforcement points applied at one or more endpoints of the network.

15 . The computing apparatus of claim 13 , wherein, when executed by the processor, the instructions that are stored in the memory further configure the computing apparatus to:

modify the security policies in accordance with the one or more changes.

16 . The computing apparatus of claim 13 , wherein, when executed by the processor, the instructions determine the one or more changes to the security policies by further configuring the computing apparatus to:

apply network data to a machine-learning model to output recommended changes, the network data corresponding to the data flows through the network.

17 . The computing apparatus of claim 16 , wherein

each of the recommended changes respectively include the corresponding score, scores,

for a score that corresponds to a recommended change, the recommended change is implemented automatically when the score is in a first range, the recommended change being one of the one or more changes,

when the score is in a second range, the recommended change is signaled to an authorized user to be implemented manually,

when the authorized user takes an action with respect to the recommended change, the action is used to label the recommended change to generate labeled training data that is added to a training data set, and

the machine-learning model is trained using the training data set for reinforcement learning.

18 . The computing apparatus of claim 16 , wherein

the machine-learning model is an unsupervised learning model that groups data packets of the data flows into clusters and identifies data packets outside the clusters as suspicious;

the machine-learning model is a generative adversarial network model that includes a generator model and a discriminator model, the generator model being trained to generate data packets that are consistent with allowed packets, the discriminator model being trained to discriminate the allowed packets from not allowed packets, and ingress packets that are detected by the discriminator model as the not allowed packets are flagged as suspicious packets and used for determining the one or more changes to the security policies,

the machine-learning model is a latent variable model that determines the suspicious packets based on a distance measure between an input packet and output packet, wherein the output packet is generated by applying the input packet to the latent variable model, or

the machine-learning model is a transformer model that determines the suspicious packets by predicting, based on the network data, whether a data packet is suspicious.

19 . The computing apparatus of claim 13 , wherein the security policies include 5-tuple rules dictating actions taken on a data packet based on a 5-tuple that includes a source address of the data packet, a source port of the data packet, a destination address of the data packet, a destination port of the data packet, and a protocol of the data packet.

20 . A non-transitory computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

receive, at a controller, security policies being implemented in a network;

determine, by the controller, selected enforcement points within the network where the security policies are applied;

send, to the selected enforcement points, instructions to apply the security policies at the selected enforcement points, respectively; and

determine one or more changes to be applied to the security policies based on continuous monitoring of data flows through the network, wherein

the selected enforcement points are determined based on an estimated flow cost representing an aggregation of consumed resources at the selected enforcement points that is determined based on a topology of the network, and

the one or more changes are automatically applied based on a corresponding score associated with the one or more changes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2024
From: ROQUEMORE, ERIC MAXIMILIAN; LAKE, JOHN MICHAEL; PARLA, VINCENT; ZAWADOWSKIY, ANDREW
To: CISCO TECHNOLOGY, INC.
Reel/Frame 067841/0086 →
Continuity (3)
Provisional Application 63635573 · Apr 17, 2024
Provisional Application 63516448 · Jul 28, 2023
Related Publication 20250039239A1 · Jan 30, 2025
References Cited (20)
US 8196125B2 · Maes · 2012 [cited by examiner]
US 10666514B2 · Burke · 2020 [cited by examiner]
US 20030027551A1 · Rockwell · 2003 [cited by examiner]
US 20120023546A1 · Kartha · 2012 [cited by examiner]
US 20150304354A1 · Rogers · 2015 [cited by examiner]
US 20170048107A1 · Dosovitsky · 2017 [cited by examiner]
US 20170250875A1 · Jensen et al. · 2017 [cited by applicant]
US 20180026856A1 · Yang · 2018 [cited by examiner]
US 20180063085A1 · Shanks et al. · 2018 [cited by applicant]
US 20190028552A1 · Johnson, II · 2019 [cited by examiner]
US 20190036776A1 · Smith · 2019 [cited by examiner]
US 20190364063A1 · Lee · 2019 [cited by examiner]
US 20200067980A1 · Livny et al. · 2020 [cited by applicant]
US 20200106806A1 · Gupta · 2020 [cited by examiner]
US 20200228538A1 · Soule · 2020 [cited by examiner]
US 20200296172A1 · Gunjal · 2020 [cited by examiner]
US 20210314388A1 · Zhou · 2021 [cited by examiner]
US 20220166756A1 · Gupta et al. · 2022 [cited by applicant]
US 20230179572A1 · Kambi Ravi et al. · 2023 [cited by applicant]
Sicari et al., “Dynamic Policies in Internet of Things: Enforcement and Synchronization”, Sep. 2017, IEEE Internet of Things Journal, vol. 4, No. 6, pp. 2228-2238 (Year: 2017). [cited by examiner]