IP Library › Granted Patent US 12,218,937
Granted Patent B2
US 12,218,937 · App. 17/731,893 · Granted Feb 4, 2025

Packet processing method and apparatus, device, and computer-readable storage medium

Inventor: Shiguang Li (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L63/0876
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,218,937
App. No.
17/731,893
Granted
Feb 4, 2025
Kind
B2
Abstract

A packet processing method. A protection device receives a first access request packet. The first access request packet includes a packet sent based on a TCP/IP protocol. The protection device extracts a first fingerprint feature from a transport-layer packet header and/or a network-layer packet header of the first access request packet. The first fingerprint feature corresponds to an operating system type of a terminal device that transmits the first access request packet. The protection device recognizes the first fingerprint feature based on a fingerprint feature database to determine whether to allow the first access request packet to access a server. The protection device allows the first access request packet to pass through when the first access request packet is allowed to access the server. The protection device blocks the first access request packet when the first access request packet is not allowed to access the server.

Claims (81)

1. A packet processing method implemented by a protection device, the packet processing method comprising:

configuring the protection device to protect a server;

receiving from a terminal device a first access request packet comprising a packet that is communicated based on Transmission Control Protocol/Internet Protocol (TCP/IP) and that is destined for the server;

extracting a first fingerprint feature from a transport-layer packet header and/or a network-layer packet header of the first access request packet, wherein the first fingerprint feature corresponds to a first operating system (OS) type of the terminal device;

recognizing the first fingerprint feature based on a fingerprint feature database to determine whether to allow the first access request packet to access the server, wherein the fingerprint feature database comprises a second fingerprint feature corresponding to a second OS type of the terminal device that is allowed to access the server;

determining whether the fingerprint feature database comprises the first fingerprint feature;

allowing, when the fingerprint feature database comprises the first fingerprint feature, the first access request packet to access the server;

disallowing, when the fingerprint feature database does not comprise the first fingerprint feature, the first access request packet to access the server;

allowing, when the first access request packet is allowed to access the server, the first access request packet to pass through; and

blocking, when the first access request packet is not allowed to access the server, the first access request packet.

2. The method according to claim 1 , further comprising:

receiving an input comprising a transport-layer fingerprint feature and/or a network-layer fingerprint feature prior to receiving the first access request packet, and storing the transport-layer fingerprint feature and/or the network-layer fingerprint feature in the fingerprint feature database; or

analyzing a second access request packet in a normal service model to obtain the transport-layer fingerprint feature and/or the network-layer fingerprint feature, and storing the transport-layer fingerprint feature and/or the network-layer fingerprint feature in the fingerprint feature database.

3. The method according to claim 1 , further comprising:

recognizing, based on the fingerprint feature database, the first OS type corresponding to the first fingerprint feature; and

determining, based on a first OS type list or a second OS type list, whether to allow the first access request packet to access the server, wherein the first OS type list comprises at least one of the second OS type that is allowed to access the server, and the second OS type list comprises at least one of the third OS type that is not allowed to access the server.

4. The method according to claim 1 , wherein the first fingerprint feature and the second fingerprint feature in the fingerprint feature database are transport-layer fingerprint features, and wherein the transport-layer fingerprint features comprise one or more of the following:

option sorting information of a TCP option;

maximum segment size information or window size information;

window scale information; and

don't fragment (DF) flag bit information.

5. The method according to claim 1 , wherein the first fingerprint feature and the second fingerprint feature in the fingerprint feature database are network-layer fingerprint features, and wherein the network-layer fingerprint features comprise one or more of the following:

time-to-live (TTL) information of an IP packet; and

IP header identification information.

6. The method according to claim 1 , further comprising detecting the server is subject to a distributed denial-of-service (DDoS) attack prior to determining whether to allow the first access request packet to access the server.

7. A protection device comprising:

a network interface configured to receive a first access request packet comprising a packet that is communicated based on Transmission Control Protocol/Internet Protocol (TCP/IP) and that is destined for a server protected by the protection device; and

at least one processor coupled to the network interface and configured to:

extract a first fingerprint feature from a transport-layer packet header and/or a network-layer packet header of the first access request packet, wherein the first fingerprint feature corresponds to a first OS type of a terminal device that transmitted the first access request packet;

recognize the first fingerprint feature based on a fingerprint feature database to determine whether to allow the first access request packet to access the server, wherein the fingerprint feature database comprises a second fingerprint feature corresponding to a second OS type of the terminal device that is allowed to access the server; and

allow, when the fingerprint feature database comprises the first fingerprint feature, the first access request packet to access the server;

disallow, when the fingerprint feature database does not comprise the first fingerprint feature, the first access request packet to access the server;

allow, when the first access request packet is allowed to access the server, the first access request packet to pass through; and

block, when the first access request packet is not allowed to access the server, the first access request packet.

8. The protection device according to claim 7 , wherein the protection device further comprises an input device; and the input device is configured to:

receive a transport-layer fingerprint feature and/or a network-layer fingerprint feature prior to receiving the first access request packet, and

store the transport-layer fingerprint feature and/or the network-layer fingerprint feature in the fingerprint feature database.

9. The protection device according to claim 7 , wherein the instructions when executed by the at least one processor further cause the device to:

analyze, prior to receiving the first access request packet, a second access request packet in a normal service model to obtain a transport-layer fingerprint feature and/or a network-layer fingerprint feature; and

store the transport-layer fingerprint feature and/or the network-layer fingerprint feature in the fingerprint feature database.

10. The protection device according to claim 7 , wherein the instructions when executed by the at least one processor further cause the device to:

recognize, based on the fingerprint feature database, the first OS type corresponding to the first fingerprint feature; and

determine, based on a first OS type list or a second OS type list, whether to allow the first access request packet to access the server, wherein the first OS type list comprises at least one OS type that is allowed to access the server, and wherein the second OS type list comprises at least one of the third OS type that is not allowed to access the server.

11. The protection device according to claim 7 , wherein the first fingerprint feature and the second fingerprint feature in the fingerprint feature database are transport-layer fingerprint features, and wherein the transport-layer fingerprint features comprise one or more of the following:

option sorting information of a TCP option;

maximum segment size information;

window size information;

window scale information; or

don't fragment (DF) flag bit information.

12. The protection device according to claim 7 , wherein the first fingerprint feature and the second fingerprint feature in the fingerprint feature database are network-layer fingerprint features, and wherein the network-layer fingerprint features comprise one or more of the following:

time-to-live (TTL) information of an IP packet; or

IP header identification information.

13. The protection device according to claim 7 , wherein the instructions when executed by the at least one processor further cause the device to detect the server is subject to a distributed denial-of-service (DDoS) attack.

14. A packet processing method implemented by a protection device, the packet processing method comprising:

configuring the protection device to protect a server;

receiving from a terminal device a first access request packet comprising a packet that is communicated based on Transmission Control Protocol/Internet Protocol (TCP/IP) and that is destined for the server;

extracting a first fingerprint feature from a transport-layer packet header and/or a network-layer packet header of the first access request packet, wherein the first fingerprint feature corresponds to a first operating system (OS) type of the terminal device;

recognizing the first fingerprint feature based on a fingerprint feature database to determine whether to allow the first access request packet to access the server, wherein the fingerprint feature database comprises a second fingerprint feature corresponding to a second OS type of the terminal device that is not allowed to access the server;

determining whether the fingerprint feature database comprises the first fingerprint feature;

allowing, when the fingerprint feature database does not comprise the first fingerprint feature, the first access request packet to access the server;

disallowing, when the fingerprint feature database comprises the first fingerprint feature, the first access request packet to access the server;

allowing, when the first access request packet is allowed to access the server, the first access request packet to pass through; and

blocking, when the first access request packet is not allowed to access the server, the first access request packet.

15. The method according to claim 14 , further comprising:

receiving an input comprising a transport-layer fingerprint feature and/or a network-layer fingerprint feature prior to receiving the first access request packet; and

storing the transport-layer fingerprint feature and/or the network-layer fingerprint feature in the fingerprint feature database.

16. The method according to claim 14 , further comprising:

analyzing a third access request packet in an attack service model to obtain a transport-layer fingerprint feature and/or a network-layer fingerprint feature; and

storing the transport-layer fingerprint feature and/or the network-layer fingerprint feature in the fingerprint feature database.

17. The method according to claim 14 , further comprising:

recognizing, based on the fingerprint feature database, the first OS type corresponding to the first fingerprint feature; and

determining, based on a first OS type list or a second OS type list, whether to allow the first access request packet to access the server, wherein the first OS type list comprises at least one of the second OS type that is allowed to access the server, and the second OS type list comprises at least one of the third OS type that is not allowed to access the server.

18. The method according to claim 14 , wherein the first fingerprint feature and the second fingerprint feature in the fingerprint feature database are transport-layer fingerprint features, and wherein the transport-layer fingerprint features comprise one or more of the following:

option sorting information of a TCP option;

maximum segment size information or window size information;

window scale information; and

don't fragment (DF) flag bit information.

19. The method according to claim 14 , wherein the first fingerprint feature and the second fingerprint feature in the fingerprint feature database are network-layer fingerprint features, and wherein the network-layer fingerprint features comprise one or more of the following:

time-to-live (TTL) information of an IP packet; and

IP header identification information.

20. The method according to claim 14 , further comprising detecting the server is subject to a distributed denial-of-service (DDoS) attack prior to determining whether to allow the first access request packet to access the server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2023
From: LI, SHIGUANG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 063630/0622 →
Priority Claims (1)
CN 201911057490.8 · Oct 31, 2019 · national
Continuity (2)
Continuation PCTCN2020117875 · Sep 25, 2020
Related Publication 20220263823A1 · Aug 18, 2022
References Cited (21)
US 7496662B1 · Roesch et al. · 2009 [cited by applicant]
US 20100050260A1 · Nakakoji et al. · 2010 [cited by applicant]
US 20160241576A1 · Rathod et al. · 2016 [cited by applicant]
US 20170085567A1 · Long · 2017 [cited by examiner]
US 20170094527A1 · Shattil et al. · 2017 [cited by applicant]
US 20190037025A1 · Li · 2019 [cited by examiner]
CN 106534068A · 2017 [cited by applicant]
CN 106789934A · 2017 [cited by applicant]
CN 107800668A · 2018 [cited by applicant]
CN 108521408A · 2018 [cited by applicant]
CN 108600145A · 2018 [cited by applicant]
CN 110113290A · 2019 [cited by applicant]
CN 111565203A · 2020 [cited by applicant]
JP 2010050939A · 2010 [cited by applicant]
JP 2018534526A · 2018 [cited by applicant]
JP 2019022066A · 2019 [cited by applicant]
JP 2019036830A · 2019 [cited by applicant]
KR 101859562B1 · 2018 [cited by applicant]
Yalewski M: “Passive OS fingerprinting tool version 2.0.8,” Apr. 7, 2010, XP055963348, 20 pages. [cited by applicant]
OpenBSD, “pf.conf(5)—OpenBSD manual pages,” Sep. 18, 2019, XP055963260, 31 pages. [cited by applicant]
Edge Jake, “Passive OS fingerprinting added to netfilter,” Jun. 10, 2009, XP055963324, 2 pages. [cited by applicant]