IP Library Granted Patent US 12,401,685
Granted Patent B2
US 12,401,685 · App. 17/955,793 · Granted Aug 26, 2025

Methods for mitigating DDoS attack using hardware device and devices thereof

Inventors: Sandeep Agarwal (Seattle, WA); Pete Thornewell (Seattle, WA); Bruce Zurfluh (Seattle, WA); Judge K. Arora (Seattle, WA); Ravneet Dhaliwal (Seattle, WA)
Assignee: F5, Inc.
H04L63/1458H04L63/126H04L67/146
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,401,685
App. No.
17/955,793
Granted
Aug 26, 2025
Kind
B2
Abstract

Methods, non-transitory computer readable media, network traffic manager apparatuses, and systems that assist with mitigating DDoS attack using a hardware device includes determining when a received network packet in an established connection between a client and a destination server includes a connection identifier cookie. A connection validation cookie is generated based on at least data in the received network packet, when the determination indicates the received network packet includes the connection identifier cookie. The connection identifier cookie is compared against the generated connection validation cookie. The received network packet is dropped when the comparison indicates the connection validation cookie fails to match the connection identifier cookie.

Claims (48)

1. A method for mitigating distributed denial of service attack comprising one or more network traffic apparatuses, client devices, or server devices, the method comprising:

determining when a received network packet in an established connection between a client and a destination server comprises a connection identifier cookie within a TCP timestamp data field in the received network packet;

generating a connection validation cookie based on at least data in the received network packet, when the determination indicates the received network packet includes the connection identifier cookie;

comparing the connection identifier cookie against the generated connection validation cookie; and

dropping the received network packet when the comparison indicates the connection validation cookie fails to match the connection identifier cookie.

2. The method as set forth in claim 1 further comprising:

receiving an initial network packet in the established connection;

generating the connection identifier cookie based on at least data associated with an initial network packet of the established connection; and

transmitting the connection identifier cookie to the client in the established connection.

3. The method as set forth in claim 2 wherein the connection validation cookie and the connection identifier cookie are each further generated based on a secret key.

4. The method as set forth in claim 1 further comprising, sending the received network packet to a destination device when the generated connection validation cookie exactly matches with the connection identifier cookie.

5. The method as set forth in claim 1 further comprising, extracting the connection identifier cookie prior from the subsequently received network packet to generating the connection validation cookie.

6. A non-transitory computer readable medium having stored thereon instructions for mitigating distributed denial of service attack executable code which when executed by one or more processors, causes the processors to:

determine when a received network packet in an established connection between a client and a destination server comprises a connection identifier cookie within a TCP timestamp data field in the received network packet;

generate a connection validation cookie based on at least data in the received network packet, when the determination indicates the received network packet includes the connection identifier cookie;

compare the connection identifier cookie against the generated connection validation cookie; and

drop the received network packet when the comparison indicates the connection validation cookie fails to match the connection identifier cookie.

7. The medium as set forth in claim 6 further comprising:

receiving an initial network packet in the established connection;

generating the connection identifier cookie based on at least data associated with an initial network packet of the established connection; and

transmitting the connection identifier cookie to the client in the established connection.

8. The medium as set forth in claim 6 wherein the connection validation cookie and the connection identifier cookie are each further generated based on a secret key.

9. The medium as set forth in claim 6 further comprising, sending the received network packet to a destination device when the generated connection validation cookie exactly matches with the connection identifier cookie.

10. The medium as set forth in claim 6 further comprising, extracting the connection identifier cookie prior from the subsequently received network packet to generating the connection validation cookie.

11. A network traffic manager apparatus, comprising memory comprising programmed instructions stored in the memory and one or more processors configured to be capable of executing the programmed instructions stored in the memory to:

determine when a received network packet in an established connection between a client and a destination server comprises a connection identifier cookie within a TCP timestamp data field in the received network packet;

generate a connection validation cookie based on at least data in the received network packet, when the determination indicates the received network packet includes the connection identifier cookie;

compare the connection identifier cookie against the generated connection validation cookie; and

drop the received network packet when the comparison indicates the connection validation cookie fails to match the connection identifier cookie.

12. The device as set forth in claim 11 wherein the one or more processors are further configured to be capable of executing the programmed instructions stored in the memory to:

receive an initial network packet in the established connection;

generate the connection identifier cookie based on at least data associated with an initial network packet of the established connection; and

transmit the connection identifier cookie to the client in the established connection.

13. The device as set forth in claim 11 wherein the connection validation cookie and the connection identifier cookie are each further generated based on a secret key.

14. The device as set forth in claim 11 wherein the one or more processors are further configured to be capable of executing the programmed instructions stored in the memory to send the received network packet to a destination device when the generated connection validation cookie exactly matches with the connection identifier cookie.

15. The device as set forth in claim 11 wherein the one or more processors are further configured to be capable of executing the programmed instructions stored in the memory to extract the connection identifier cookie prior from the subsequently received network packet to generating the connection validation cookie.

16. A network traffic management system, comprising one or more traffic management apparatuses, client devices, or server devices, the network traffic management system comprising memory comprising programmed instructions stored thereon and one or more processors configured to be capable of executing the stored programmed instructions to:

determine when a received network packet in an established connection between a client and a destination server comprises a connection identifier cookie within a TCP timestamp data field in the received network packet;

generate a connection validation cookie based on at least data in the received network packet, when the determination indicates the received network packet includes the connection identifier cookie;

compare the connection identifier cookie against the generated connection validation cookie; and

drop the received network packet when the comparison indicates the connection validation cookie fails to match the connection identifier cookie.

17. The network traffic management system of claim 16 wherein the one or more processors are further configured to be capable of executing the programmed instructions stored in the memory to:

receive an initial network packet in the established connection;

generate the connection identifier cookie based on at least data associated with an initial network packet of the established connection; and

transmit the connection identifier cookie to the client in the established connection.

18. The network traffic management system of claim 16 wherein the connection validation cookie and the connection identifier cookie are each further generated based on a secret key.

19. The network traffic management system of claim 16 wherein the one or more processors are further configured to be capable of executing the programmed instructions stored in the memory to send the received network packet to a destination device when the generated connection validation cookie exactly matches with the connection identifier cookie.

20. The network traffic management system of claim 16 wherein the one or more processors are further configured to be capable of executing the programmed instructions stored in the memory to extract the connection identifier cookie prior from the subsequently received network packet to generating the connection validation cookie.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2023
From: AGARWAL, SANDEEP; THORNEWELL, PETE; ZURFLUH, BRUCE; ARORA, JUDGE K.
To: F5, INC.
Reel/Frame 062330/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2023
From: DHALIWAL, RAVNEET SINGH
To: F5, INC.
Reel/Frame 062331/0533 →
Continuity (2)
Provisional Application 63255761 · Oct 14, 2021
Related Publication 20230119260A1 · Apr 20, 2023
References Cited (145)
US 4783828A · Sadjadi · 1988 [cited by applicant]
US 6118893A · Li · 2000 [cited by applicant]
US 6537488B1 · Okumura et al. · 2003 [cited by applicant]
US 6748056B1 · Bapriotti · 2004 [cited by applicant]
US 6769066B1 · Botros · 2004 [cited by applicant]
US 7228412B2 · Freed · 2007 [cited by applicant]
US 7406606B2 · Chawla · 2008 [cited by applicant]
US 7441429B1 · Nucci · 2008 [cited by applicant]
US 7519834B1 · Dondeti · 2009 [cited by applicant]
US 7568224B1 · Jennings · 2009 [cited by examiner]
US 7624447B1 · Horowitz · 2009 [cited by applicant]
US 7743415B2 · Poletto et al. · 2010 [cited by applicant]
US 8572733B1 · Rockwood · 2013 [cited by applicant]
US 8578482B1 · Yang · 2013 [cited by applicant]
US 8756684B2 · Frantz · 2014 [cited by applicant]
US 8886620B1 · Mukerji · 2014 [cited by applicant]
US 8943588B1 · Speegle · 2015 [cited by applicant]
US 9032519B1 · Maher · 2015 [cited by applicant]
US 9077709B1 · Dall · 2015 [cited by applicant]
US 9203837B2 · Pierson · 2015 [cited by applicant]
US 9578055B1 · Khanal · 2017 [cited by applicant]
US 9628499B1 · Yu · 2017 [cited by applicant]
US 9654485B1 · Neumann · 2017 [cited by applicant]
US 9900344B2 · Smith · 2018 [cited by applicant]
US 9942250B2 · Stiansen · 2018 [cited by applicant]
US 9948629B2 · Eisen · 2018 [cited by applicant]
US 9967250B2 · Johansson · 2018 [cited by applicant]
US 10050792B1 · Johnson · 2018 [cited by applicant]
US 10237298B1 · Nguyen · 2019 [cited by applicant]
US 10397250B1 · Shemesh · 2019 [cited by applicant]
US 10693901B1 · Chan · 2020 [cited by applicant]
US 11228609B1 · Finkelshtein · 2022 [cited by examiner]
US 11336575B1 · Milley et al. · 2022 [cited by applicant]
US 20020116615A1 · Nguyen · 2002 [cited by applicant]
US 20030042439A1 · Rusu · 2003 [cited by applicant]
US 20030073091A1 · Krylov · 2003 [cited by applicant]
US 20030145232A1 · Poletto · 2003 [cited by applicant]
US 20030199762A1 · Fritz · 2003 [cited by applicant]
US 20040037326A1 · D'Souza et al. · 2004 [cited by applicant]
US 20040103283A1 · Hornak · 2004 [cited by applicant]
US 20040170123A1 · Carpenter · 2004 [cited by applicant]
US 20050027846A1 · Nolfe · 2005 [cited by applicant]
US 20050111367A1 · Chao · 2005 [cited by applicant]
US 20050195840A1 · Krapp · 2005 [cited by applicant]
US 20050198519A1 · Tamura · 2005 [cited by applicant]
US 20060031483A1 · Lund · 2006 [cited by applicant]
US 20060031928A1 · Conley · 2006 [cited by applicant]
US 20070014276A1 · Bettink · 2007 [cited by applicant]
US 20070118894A1 · Bhatia · 2007 [cited by applicant]
US 20070280114A1 · Chao · 2007 [cited by applicant]
US 20070294187A1 · Scherrer · 2007 [cited by applicant]
US 20080028467A1 · Kommareddy · 2008 [cited by applicant]
US 20080263215A1 · Schnellbaecher · 2008 [cited by applicant]
US 20080320567A1 · Shulman · 2008 [cited by applicant]
US 20090024737A1 · Goldspink · 2009 [cited by applicant]
US 20090199297A1 · Jarrett · 2009 [cited by applicant]
US 20100031315A1 · Feng · 2010 [cited by applicant]
US 20100070451A1 · Hugues · 2010 [cited by applicant]
US 20100284282A1 · Solie · 2010 [cited by applicant]
US 20100325418A1 · Kanekar · 2010 [cited by applicant]
US 20110012586A1 · Montanar · 2011 [cited by applicant]
US 20110072516A1 · Cohen · 2011 [cited by applicant]
US 20110154026A1 · Edstrom · 2011 [cited by applicant]
US 20110264905A1 · Ovvsiannikov · 2011 [cited by applicant]
US 20120051236A1 · Hegde · 2012 [cited by applicant]
US 20120079592A1 · Pandrangi · 2012 [cited by applicant]
US 20120117239A1 · Holloway · 2012 [cited by applicant]
US 20120144487A1 · Kim · 2012 [cited by applicant]
US 20120167210A1 · Oro · 2012 [cited by applicant]
US 20120173710A1 · Rodriguez · 2012 [cited by applicant]
US 20120227106A1 · Shulman · 2012 [cited by applicant]
US 20120323700A1 · Aleksandrovich · 2012 [cited by applicant]
US 20130080407A1 · Levow · 2013 [cited by applicant]
US 20130263268A1 · Kim · 2013 [cited by applicant]
US 20130276114A1 · rFiedrichs · 2013 [cited by applicant]
US 20130305365A1 · Rubin · 2013 [cited by applicant]
US 20140095865A1 · Yerra · 2014 [cited by applicant]
US 20140289854A1 · Mahvi · 2014 [cited by applicant]
US 20140298419A1 · Boubez · 2014 [cited by applicant]
US 20140310805A1 · Kandekar · 2014 [cited by applicant]
US 20140317739A1 · Be'ery et al. · 2014 [cited by applicant]
US 20150067328A1 · Yin · 2015 [cited by applicant]
US 20150088662A1 · Moller · 2015 [cited by applicant]
US 20150163234A1 · Tal · 2015 [cited by applicant]
US 20150215334A1 · Bingham · 2015 [cited by applicant]
US 20150271179A1 · Nang · 2015 [cited by applicant]
US 20150295945A1 · Canzanese · 2015 [cited by applicant]
US 20150310196A1 · Turgeman · 2015 [cited by applicant]
US 20160021084A1 · Eisen · 2016 [cited by applicant]
US 20160021117A1 · Harmon · 2016 [cited by applicant]
US 20160127406A1 · Smith · 2016 [cited by applicant]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160337314A1 · Yu · 2016 [cited by applicant]
US 20170171231A1 · Reybok, Jr. · 2017 [cited by applicant]
US 20170249306A1 · Alien · 2017 [cited by applicant]
US 20170318053A1 · Singh · 2017 [cited by applicant]
US 20180124073A1 · Scherman · 2018 [cited by applicant]
US 20180124300A1 · Brook · 2018 [cited by applicant]
US 20180139228A1 · Kanakarajan · 2018 [cited by examiner]
US 20180165457A1 · Holz · 2018 [cited by applicant]
US 20200296125A1 · Alderson · 2020 [cited by applicant]
US 20200351244A1 · Moore · 2020 [cited by applicant]
US 20210075790A1 · Hebert · 2021 [cited by examiner]
US 20220121362A1 · Liu · 2022 [cited by applicant]
US 20230016035A1 · Mykytianskyi · 2023 [cited by examiner]
US 20230146962A1 · Reddy et al. · 2023 [cited by applicant]
US 20240265057A1 · Kol · 2024 [cited by applicant]
US 20240283674A1 · Konda · 2024 [cited by applicant]
US 20240291744A1 · Chhabra · 2024 [cited by applicant]
US 20240291745A1 · Chhabra · 2024 [cited by applicant]
US 20250007835A1 · Chhabra · 2025 [cited by applicant]
US 20250007937A1 · Mittal · 2025 [cited by applicant]
US 20250148034A1 · Shribman · 2025 [cited by applicant]
US 20250159039A1 · Shribman · 2025 [cited by applicant]
CN 109391600A · 2019 [cited by applicant]
CN 110365712A · 2019 [cited by applicant]
WO WO0235860A1 · 2002 [cited by applicant]
Improving Syncookies (Year: 2008). [cited by examiner]
Online discussion forum on F5 Network's website—Software SYN cookies without a TCP timestamp include TCP Options that are not encoded. (Year: 2018). [cited by examiner]
BIG-1P® Analytics: Implementations, version 11.3, Nov. 15, 2012, F5 Networks, Inc., pp. 1-40. [cited by applicant]
F5 Networks, “BIG-1 P Local Traffic Manager: Concepts”, version 11.4, pp. 1-178, retrieved from https://support.f5.comkb/en-us/products/bigipltm/manuals/producl/ltm-concepts-11-4-0 .html on Feb. 12, 2015. [cited by applicant]
F5 Networks, “BIG-1P Local Traffic Manager: Implementations”, version 11.4, pp. 1-234, retrieved from https://support.5 .com/kb/en-us/products/bigipltm/manuals/product/ltm-implementations-11-4-0 .html on Feb. 12, 2015. [cited by applicant]
F5 Networks, “BIG-1 P Local Traffic Manager: Monitors Reference”, version 11.4, pp. 1-106, retrieved from hllps://support. f5 .com/kb/en-us/products/big-ip ltm/manuals/producl/ltm-monitorsreference-11-4-0 .html on Feb. … [cited by applicant]
F5 Networks, “Operations Guide 1.0 F5 Local Traffic Manager and Global Traffic Manager”, pp. 1.144, retrieved from hllps://support. f5 .com/kb/en-us/products/bigipltm/manuals/product/f5-1 tm-gtm-operations-guide-1--0 .h… [cited by applicant]
F5 Networks, “Release Note: Big-IP L TM and TMOS”, version 11.4.1, pp. 1-58, retrieved from hllps://support.f5.com/kb/en-us/products/bigipltm/releasenotes/product/relnote-ltm-11-4-1.html on Feb. 12, 2015. [cited by applicant]
F5 Networks, Inc., “BIG-IP Application Security Manager Operations Guide”, Manual, Feb. 5, 2016, pp. 1-181, F5 Networks, Inc. [cited by applicant]
F5 Networks, Inc., “BIG-IP ASM 11.5.0”, Release Notes, Apr. 12, 2016, Version 11.5.0. [cited by applicant]
F5 Networks, Inc., “BIG-IPASM”, Release Notes, Jun. 13, 2016, pp. 1-18, version 11.6.1 F5 Networks, Inc. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Analytics: Implementations”, Manual, Jan. 31, 2014, pp. 1-50, Version 11.5. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Analytics: Implementations”, Manual, Aug. 25, 2014, pp. 1-62, v11.6, F5 Networks, Inc. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Application Security Manager TM: Getting Started”, Manual, Aug. 25, 2014, pp. 1-78, version 11.6, F5 Networks, Inc. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Application Security Manager TM: Implementations”, Manual, Aug. 25, 2014, pp. 1-420, version 11.6, F5 Networks, Inc. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Application Security ManagerTM: Implementations”, Manual, Jan. 31, 2014, pp. 1-396, Version 11.5. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Application Security ManagerTM:Implementations”, F5 Networks, Inc., Dec. 10, J014, version 11.6, pp. 1-420. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Local Traffic Management: Basics”, Manual, Aug. 25, 2014, pp. 1-74, version 11.6, F5 Networks, Inc. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Network Firewall: Policies and Implementations”, Manual, Aug. 10, 2016, pp. 1-166, ,11.6, F5 Networks, Inc. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Systems: DoS Protection and Protocol Firewall Implementations”, Manual, Aug. 25, 2014, pp. 1-108, v11.6, F5 Networks, Inc. [cited by applicant]
F5 Networks, Inc., “BIG-IP® TMOS®: Concepts”, Manual, Nov. 11, 2014, pp. 1-148, Version 11.5. [cited by applicant]
F5 Networks, Inc., “BIG-IP® TMOS®: Implementations”, Manual, Jan. 31, 2014, pp. 1-274, Version 11.5. [cited by applicant]
F5 Networks, Inc., “F5 BIG-IP TMOS: Operations Guide”, Manual, Mar. 5, 2015, pp. 1-276 version 11.6, F5 Networks, Inc. [cited by applicant]
r5 Networks, Inc., “BIG-IP Application Security Manager: Implementations”, F5 Networks, Inc., Dec. 10, 2014, version 11.6, pp. 1-420. [cited by applicant]
F5 Networks, Inc., “BIG-IP® Application Security Manager™: Implementations”, Manual, Nov. 10, 2017, pp. 1-348, version 13.0, F5 Networks, Inc. [cited by applicant]
European Search Report Dated Feb. 17, 2025. European Patent Appln No. 24216113.1. [cited by applicant]
International Search Report dated Mar. 25, 2024 issued in International Application No. PCT/US2023/083393. [cited by applicant]
European Search Report Date Dec. 18, 2024. European Patent Application No. 24193938.8. [cited by applicant]
Cited By (1)
US 12,609,952