IP Library › Granted Patent US 12,273,320
Granted Patent B2
US 12,273,320 · App. 17/676,598 · Granted Apr 8, 2025

Physical hardware controller for provisioning security services on processing devices

Inventors: Victor Fong (Melrose, MA); Kenneth Durazzo (Morgan Hill, CA)
Assignee: Dell Products L.P.
H04L63/0236H04L63/101H04L63/1416
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,273,320
App. No.
17/676,598
Granted
Apr 8, 2025
Kind
B2
Abstract

An apparatus comprises a first processing device, the first processing device comprising a physical hardware controller configured for coupling with a second processing device. The first processing device is configured to identify remote security service instances attached to the second processing device and to initiate, at the first processing device, one or more network emulation modules for the remote security service instances attached to the second processing device that emulate physical network interface devices configured for attachment to the second processing device. The first processing device is also configured to provision the remote security service instances to the second processing device by utilizing hardware resources of the physical hardware controller to analyze network traffic associated with the second processing device, to modify at least a portion of the network traffic, and to provide the modified network traffic to the second processing device via the emulated physical network interface devices.

Claims (51)

1. An apparatus comprising:

a first processing device comprising a physical hardware controller;

the first processing device being configured for coupling with a second processing device;

the physical hardware controller being configured to perform steps of:

identifying one or more remote security service instances attached to the second processing device;

initiating, at the first processing device, one or more network emulation modules for the one or more remote security service instances attached to the second processing device, the one or more network emulation modules emulating one or more physical network interface devices configured for attachment to the second processing device; and

provisioning the one or more remote security service instances to the second processing device by utilizing hardware resources of the physical hardware controller, instead of hardware resources of the second processing device, to analyze network traffic associated with the second processing device, to modify at least a portion of the network traffic based at least in part on the analysis, and to provide the modified network traffic to the second processing device via the emulated one or more physical network interface devices;

wherein analyzing the network traffic associated with the second processing device comprises utilizing a data structure distributed across two or more levels of a multi-level hierarchy, at least a first portion of the data structure providing a first one of the two or more levels of the multi-level hierarchy being stored by the first processing device and at least a second portion of the data structure providing a second one of the two or more levels of the multi-level hierarchy being stored in one or more computing sites remote from the first processing device and the second processing device, the first and second portions of the data structure comprising disjoint subsets of network information utilized for modifying said at least a portion of the network traffic, the second portion of the data structure being larger than the first portion of the data structure;

wherein analyzing the network traffic associated with second processing device comprises, for a given portion of the network traffic associated with the second processing device;

querying, by the physical hardware controller, the first portion of the data structure to determine whether one or more network addresses associated with the given portion of the network traffic are present in the first portion of the data structure; and

responsive to determining that at least one of the one or more network addresses associated with the given portion of the network traffic is not present in the first portion of the data structure, (i) sending, from the physical hardware controller to at least one of the one or more remote computing sites, a request to query the second portion of the data structure and (ii) receiving, at the physical hardware controller from said at least one of the one or more remote computing sites, a result of the query to the second portion of the data structure.

2. The apparatus of claim 1 wherein the network traffic associated with the second processing device comprises one or more network access requests originating at the second processing device.

3. The apparatus of claim 2 wherein analyzing the network traffic associated with the second processing device comprises identifying one or more destination network addresses for the one or more network access requests and determining whether any of the one or more destination network addresses are identified as potentially malicious in an access control list maintained in the data structure.

4. The apparatus of claim 3 wherein modifying said at least a portion of the network traffic based at least in part on the analysis comprises blocking ones of the one or more network access requests that are directed to destination network addresses identified as potentially malicious in the access control list.

5. The apparatus of claim 3 wherein the access control list is stored in local caches across the two or more levels of the multi-level hierarchy of the data structure, at least a first portion of the access control list being stored in a first local cache of the first processing device providing the first portion of the data structure, and at least a second portion of the access control list being stored in at least a second local cache of the second portion of the data structure, the first and second portions of the access control list comprising disjoint subsets of a plurality of destination network addresses identified as potentially malicious in the access control list.

6. The apparatus of claim 1 wherein analyzing the network traffic associated with the second processing device comprises utilizing one or more network traffic pattern detection models.

7. The apparatus of claim 6 wherein analyzing the network traffic associated with the second processing device comprises filtering the network traffic to reduce an overall data size of the network traffic, and providing the filtered network traffic to one or more computing sites remote from the first processing device and the second processing device that execute the one or more network traffic pattern detection models.

8. The apparatus of claim 6 wherein analyzing the network traffic associated with the second processing device comprises utilizing the one or more network traffic pattern detection models to determine that at least a portion of the network traffic associated with the second processing device is part of an attack.

9. The apparatus of claim 8 wherein modifying said at least a portion of the network traffic based at least in part on the analysis comprises blocking the portion of the network traffic associated with the second processing device that is part of the attack and allowing one or more other portions of the network traffic associated with the second processing device not determined to be part of the attack.

10. The apparatus of claim 8 wherein responsive to determining that the portion of the network traffic associated with the second processing device is part of the attack, generating one or more updated network traffic pattern detection models for utilization by remote security service instances attached to one or more additional processing devices that are associated with a same enterprise as the first processing device.

11. The apparatus of claim 1 wherein the first processing device is one of: internally coupled to the second processing device as an embedded component of the second processing device; and externally coupled to the second processing device as an external pluggable component.

12. The apparatus of claim 1 wherein identifying the one or more remote security service instances attached to the second processing device comprises:

obtaining a device identifier of the second processing device; and

determining, utilizing the obtained device identifier of the second processing device, the one or more remote security service instances attached to the second processing device.

13. The apparatus of claim 12 wherein determining the one or more remote security service instances attached to the second processing device utilizes a remote service software server, the one or more network emulation modules being downloaded from the remote service software server.

14. The apparatus of claim 1 wherein at least a portion of the analysis of the network traffic associated with the second processing device is offloaded from the hardware resources of the physical hardware controller of the first processing device to at least one of the one or more computing sites remote from the first processing device and the second processing device.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by a first processing device comprising a physical hardware controller causes the first processing device to perform steps of:

identifying one or more remote security service instances attached to a second processing device that the physical hardware controller is coupled to;

initiating, at the first processing device, one or more network emulation modules for the one or more remote security service instances attached to the second processing device, the one or more network emulation modules emulating one or more physical network interface devices configured for attachment to the second processing device; and

provisioning the one or more remote security service instances to the second processing device by utilizing hardware resources of the physical hardware controller, instead of hardware resources of the second processing device, to analyze network traffic associated with the second processing device, to modify at least a portion of the network traffic based at least in part on the analysis, and to provide the modified network traffic to the second processing device via the emulated one or more physical network interface devices;

wherein analyzing the network traffic associated with the second processing device comprises utilizing a data structure distributed across two or more levels of a multi-level hierarchy, at least a first portion of the data structure providing a first one of the two or more levels of the multi-level hierarchy being stored by the first processing device and at least a second portion of the data structure providing a second one of the two or more levels of the multi-level hierarchy being stored in one or more computing sites remote from the first processing device and the second processing device, the first and second portions of the data structure comprising disjoint subsets of network information utilized for modifying said at least a portion of the network traffic, the second portion of the data structure being larger than the first portion of the data structure;

wherein analyzing the network traffic associated with second processing device comprises, for a given portion of the network traffic associated with the second processing device:

querying, by the physical hardware controller, the first portion of the data structure to determine whether one or more network addresses associated with the given portion of the network traffic are present in the first portion of the data structure; and

responsive to determining that at least one of the one or more network addresses associated with the given portion of the network traffic is not present in the first portion of the data structure, (i) sending, from the physical hardware controller to at least one of the one or more remote computing sites, a request to query the second portion of the data structure and (ii) receiving, at the physical hardware controller from said at least one of the one or more remote computing sites, a result of the query to the second portion of the data structure.

16. The computer program product of claim 15 wherein identifying the one or more remote security service instances attached to the second processing device comprises:

obtaining a device identifier of the second processing device; and

determining, utilizing the obtained device identifier of the second processing device, the one or more remote security service instances attached to the second processing device.

17. The computer program product of claim 15 wherein at least a portion of the analysis of the network traffic associated with the second processing device is offloaded from the hardware resources of the physical hardware controller of the first processing device to at least one of the one or more computing sites remote from the first processing device and the second processing device.

18. A method comprising:

identifying, at a first processing device comprising a physical hardware controller coupled to a second processing device, one or more remote security service instances attached to the second processing device;

initiating, at the first processing device, one or more network emulation modules for the one or more remote security service instances attached to the second processing device, the one or more network emulation modules emulating one or more physical network interface devices configured for attachment to the second processing device; and

provisioning the one or more remote security service instances to the second processing device by utilizing hardware resources of the physical hardware controller, instead of hardware resources of the second processing device, to analyze network traffic associated with the second processing device, to modify at least a portion of the network traffic based at least in part on the analysis, and to provide the modified network traffic to the second processing device via the emulated one or more physical network interface devices;

wherein the method is performed by the first processing device;

wherein analyzing the network traffic associated with the second processing device comprises utilizing a data structure distributed across two or more levels of a multi-level hierarchy, at least a first portion of the data structure providing a first one of the two or more levels of the multi-level hierarchy being stored by the first processing device and at least a second portion of the data structure providing a second one of the two or more levels of the multi-level hierarchy being stored in one or more computing sites remote from the first processing device and the second processing device, the first and second portions of the data structure comprising disjoint subsets of network information utilized for modifying said at least a portion of the network traffic, the second portion of the data structure being larger than the first portion of the data structure; and

wherein analyzing the network traffic associated with second processing device comprises, for a given portion of the network traffic associated with the second processing device:

querying, by the physical hardware controller, the first portion of the data structure to determine whether one or more network addresses associated with the given portion of the network traffic are present in the first portion of the data structure; and

responsive to determining that at least one of the one or more network addresses associated with the given portion of the network traffic is not present in the first portion of the data structure, (i) sending, from the physical hardware controller to at least one of the one or more remote computing sites, a request to query the second portion of the data structure and (ii) receiving, at the physical hardware controller from said at least one of the one or more remote computing sites, a result of the query to the second portion of the data structure.

19. The method of claim 18 wherein identifying the one or more remote security service instances attached to the second processing device comprises:

obtaining a device identifier of the second processing device; and

determining, utilizing the obtained device identifier of the second processing device, the one or more remote security service instances attached to the second processing device.

20. The method of claim 18 wherein at least a portion of the analysis of the network traffic associated with the second processing device is offloaded from the hardware resources of the physical hardware controller of the first processing device to at least one of the one or more computing sites remote from the first processing device and the second processing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2022
From: FONG, VICTOR; DURAZZO, KENNETH
To: DELL PRODUCTS L.P.
Reel/Frame 059058/0961 →
Continuity (1)
Related Publication 20230269225A1 · Aug 24, 2023
References Cited (31)
US 20020172207A1 · Saito · 2002 [cited by examiner]
US 20050114478A1 · Popescu · 2005 [cited by examiner]
US 20080117909A1 · Johnson · 2008 [cited by examiner]
US 20110093575A1 · Dube · 2011 [cited by examiner]
US 20120182860A1 · Liu · 2012 [cited by examiner]
US 20140237071A1 · Friman · 2014 [cited by examiner]
US 20150207665A1 · Basso · 2015 [cited by examiner]
US 20160359897A1 · Yadav · 2016 [cited by examiner]
US 20200278892A1 · Nainar · 2020 [cited by examiner]
US 20200280592A1 · Ithal · 2020 [cited by examiner]
US 20230269225A1 · Fong · 2023 [cited by examiner]
Maxim Integrated, “USB On-The-Go (OTG): Uses and Support,” https://www.maximintegrated.com/en/design/technical-documents/tutorials/1/1822.html, Tutorials 1822, Accessed Feb. 18, 2022, 3 pages. [cited by applicant]
D. Adib, “What is Edge Computing?” https://stlpartners.com/articles/edge-computing/what-is-edge-computing/, Accessed, Jan. 21, 2022, 10 pages. [cited by applicant]
J. James, “The Telco Edge Cloud Explained,” https://mobiledgex.com/blog/2021/05/27/the-telco-edge-cloud-explained/, May 27, 2021, 3 pages. [cited by applicant]
Raspberry Pi Ltd. “Raspberry Pi Zero 2 W,” Oct. 2021, 6 pages. [cited by applicant]
Raspberry Pi Ltd. “Setting up your Raspberry Pi,” https://www.raspberrypi.com/documentation/computers/getting-started.html, Accessed Feb. 18, 2022, 19 pages. [cited by applicant]
Cloudfoundry Foundation, Inc. “Open Service Broker API,” https://www.openservicebrokerapi.org/, Accessed Feb. 18, 2022, 5 pages. [cited by applicant]
O. Michel et al., “The Programmable Data Plane: Abstractions, Architectures, Algorithms, and Applications,” ACM Computing Surveys, vol. 1, No. 1, Jan. 2021, 35 pages. [cited by applicant]
M. Tork et al., “Lynx: A SmartNIC-driven Accelerator-centric Architecture for Network Servers,” Architectural Support for Programming Languages and Operating Systems, Mar. 2020, 15 pages. [cited by applicant]
The Linux Foundation Projects, “About DPDK,” https://www.dpdk.org/about/, Accessed Feb. 18, 2022, 3 pages. [cited by applicant]
Y. Le et al., “UNO: Unifying Host and Smart NIC Offload for Flexible Packet Processing,” Proceedings of the 2017 Symposium on Cloud Computing, Sep. 24-27, 2017, 14 pages. [cited by applicant]
Wikipedia, “Zombie (computing)” https://en.wikipedia.org/wiki/Zombie_(computing)#:˜:text=In%20computing%2C%20a%20zombie%20is,remote%20direction%20of%20the%20hacker, Dec. 20, 2021, 3 pages. [cited by applicant]
Wikipedia, “Computing,” https://en.wikipedia.org/wiki/Computing, Oct. 23, 2021, 16 pages. [cited by applicant]
Wikipedia, “Computer Security,” https://en.wikipedia.org/wiki/Computer_security, Nov. 22, 2021, 51 pages. [cited by applicant]
Wikipedia, “Security Hacker,” https://en.wikipedia.org/wiki/Security_hacker, Oct. 7, 2021, 16 pages. [cited by applicant]
Wikipedia, “Computer Virus,” https://en.wikipedia.org/wiki/Computer_virus, Nov. 22, 2021, 22 pages. [cited by applicant]
Wikipedia, “Computer Worm,” https://en.wikipedia.org/wiki/Computer_worm, Nov. 15, 2021, 7 pages. [cited by applicant]
Wikipedia, “Trojan Horse (computing)” https://en.wikipedia.org/wiki/Trojan_horse_(computing), Nov. 13, 2021, 6 pages. [cited by applicant]
Wikipedia, “Botnet,” https://en.wikipedia.org/wiki/Botnet, Nov. 20, 2021, 15 pages. [cited by applicant]
Wikipedia, “Email Spam,” https://en.wikipedia.org/wiki/Email_spam, Nov. 15, 2021, 15 pages. [cited by applicant]
Wikipedia, “Denial-of-service Attack,” https://en.wikipedia.org/wiki/Denial-of-service_attack, Nov. 18, 2021, 28 pages. [cited by applicant]