IP Library Granted Patent US 10,805,267
Granted Patent B2
US 10,805,267 · App. 16/261,090 · Granted Oct 13, 2020

Systems and methods for geoprocessing-based computing network security

Inventor: Dejan Nenov (Boise, ID)
Assignee: Fortress Cyber Security, LLC
H04L63/0236H04L63/107H04L67/18H04L63/0263
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 10,805,267
App. No.
16/261,090
Granted
Oct 13, 2020
Kind
B2
Abstract

The present disclosure describes systems and methods for geoprocessing-based packet processing and network security. Filter parameters, such as Internet Protocol (IP) addresses or other such information, may be used to define one or more minimum bounding rectangles (MBR). Parameters of an incoming packet may be compared to the MBR data using spatial algorithms, such as a coordinate search within an R-tree data structure. The identified MBRs within the tree may be used to apply corresponding filtering and/or forwarding rules to the packet. This may significantly accelerate rule searching and matching algorithms, reducing delays and computing resource requirements and accelerating network security processing.

Claims (40)

1. A method for geoprocessing-based computing network security, comprising:

receiving, by a network interface of a security device deployed as an intermediary between a plurality of computing devices, a first packet from a first computing device of the plurality of computing devices directed to a second computing device of the plurality of computing devices;

extracting, by a packet processing engine of the security device, a plurality of identifiers of the first packet;

identifying, by a filter analyzer of the security device, a position within a spatial map corresponding to a value of the extracted plurality of identifiers, the spatial map comprising one or more predefined regions, each predefined region of the one or more predefined regions corresponding to a filter condition and result;

determining, by the filter analyzer, that the identified position is within a first predefined region of the one or more predefined regions by generating a database query comprising a coordinate search within an R-tree data structure, the query comprising an identification of a boundary of the first predefined region and the identified position, wherein the identification of the boundary of the first predefined region comprises a minimum bounding rectangle; and

responsive to the determination, filtering the first packet, by the packet processing engine, according to the filter result corresponding to the first predefined region.

2. The method of claim 1 , wherein the plurality of identifiers comprises a source internet protocol address and a destination internet protocol address.

3. The method of claim 1 , wherein identifying the position within the spatial map corresponding to the value of the extracted plurality of identifiers further comprises, for each of the extracted plurality of identifiers, converting, by the filter analyzer, the value of said extracted identifier to a second value within a predetermined linear range for the identifier.

4. The method of claim 3 , wherein identifying the position within the spatial map corresponding to the value of the extracted plurality of identifiers further comprises generating a point at coordinates of a converted value for a first identifier of the extracted plurality of identifiers by a converted value for a second identifier of the extracted plurality of identifiers.

5. The method of claim 1 , wherein the filter result corresponding to the first predefined region comprises a blocking rule, and wherein filtering the first packet comprises preventing forwarding of the first packet by the packet processing engine to the second computing device.

6. The method of claim 1 , wherein the filter result corresponding to the first predefined region comprises a redirection rule, and wherein filtering the first packet comprises forwarding the first packet by the packet processing engine to a third computing device.

7. The method of claim 1 , wherein the filter result corresponding to the first predefined region comprises a modification rule, and wherein filtering the first packet comprises:

rewriting, by the packet processing engine, a portion of the first packet; and

forwarding the first packet, by the packet processing engine, to the second computing device.

8. The method of claim 1 , further comprising:

receiving, by the network interface of the security device, a second packet from a third computing device of the plurality of computing devices directed to a second computing device of the plurality of computing devices;

extracting, by the packet processing engine, a second plurality of identifiers of the second packet;

identifying, by the filter analyzer, a second position within the spatial map corresponding to a value of the extracted second plurality of identifiers;

determining, by the filter analyzer, that the identified second position is external to the one or more predefined regions; and

responsive to the determination, forwarding the second packet, by the packet processing engine, to the fourth computing device.

9. A system for geoprocessing-based computing network security, comprising:

a security device deployed as an intermediary between a plurality of computing devices comprising a network interface, a memory device, and a processor executing a packet processing engine and a filter analyzer;

wherein the network interface is configured to receive a first packet from a first computing device of the plurality of computing devices directed to a second computing device of the plurality of computing devices;

wherein the packet processing engine of the security device is configured to extract a plurality of identifiers of the first packet;

wherein the filter analyzer of the security device is configured to:

identify a position within a spatial map stored in the memory device corresponding to a value of the extracted plurality of identifiers, the spatial map comprising one or more predefined regions, each predefined region of the one or more predefined regions corresponding to a filter condition and result, and

determine that the identified position is within a first predefined region of the one or more predefined regions by generating a database query comprising a coordinate search within an R-tree data structure, the query comprising an identification of a boundary of the first predefined region and the identified position, wherein the identification of the boundary of the first predefined region comprises a minimum bounding rectangle; and

wherein the packet processing engine is further configured to filter the first packet, responsive to the determination, according to the filter result corresponding to the first predefined region.

10. The system of claim 9 , wherein the plurality of identifiers comprises a source internet protocol address and a destination internet protocol address.

11. The system of claim 9 , wherein the filter analyzer is further configured to convert the value of said extracted identifier to a second value within a predetermined linear range for the identifier.

12. The system of claim 11 , wherein the filter analyzer is further configured to identify the position within the spatial map corresponding to the value of the extracted plurality of identifiers by generating a point at coordinates of a converted value for a first identifier of the extracted plurality of identifiers by a converted value for a second identifier of the extracted plurality of identifiers.

13. The system of claim 9 , wherein the filter result corresponding to the first predefined region comprises a blocking rule, and the packet processing engine is further configured to prevent forwarding of the first packet by the packet processing engine to the second computing device.

14. The system of claim 9 , wherein the filter result corresponding to the first predefined region comprises a redirection rule, and the packet processing engine is further configured to forward the first packet to a third computing device.

15. The system of claim 9 , wherein the filter result corresponding to the first predefined region comprises a modification rule, and the packet processing engine is further configured to:

rewrite a portion of the first packet; and

forward the first packet to the second computing device.

16. The system of claim 9 , wherein the network interface is further configured to receive a second packet from a third computing device of the plurality of computing devices and directed to a second computing device of the plurality of computing devices;

wherein the packet processing engine is further configured to extract a second plurality of identifiers of the second packet;

wherein the filter analyzer is further configured to identify a second position within the spatial map corresponding to a value of the extracted second plurality of identifiers, and determine that the identified second position is external to the one or more predefined regions; and

wherein the packet processing engine is further configured to forward the second packet to the fourth computing device, responsive to the determination.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jul 2, 2025
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: FORTRESS CYBER SECURITY, LLC
Reel/Frame 071594/0876 →
SECURITY INTEREST Recorded Jun 30, 2025
From: FORTRESS CYBER SECURITY, LLC
To: WESTERN ALLIANCE BANK
Reel/Frame 071570/0495 →
SECURITY INTEREST Recorded Oct 2, 2023
From: FORTRESS CYBER SECURITY, LLC
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 065097/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2020
From: FORTRESS INFORMATION SECURITY, LLC
To: FORTRESS CYBER SECURITY, LLC
Reel/Frame 053578/0478 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2020
From: NENOV, DEJAN
To: FORTRESS INFORMATION SECURITY
Reel/Frame 053563/0118 →
Continuity (2)
Continuation 15253531 · Aug 31, 2016
Related Publication 20190158463A1 · May 23, 2019