IP Library Granted Patent US 11,411,923
Granted Patent B2
US 11,411,923 · App. 16/894,222 · Granted Aug 9, 2022

Methods and systems for deep learning based API traffic security

Inventors: Udayakumar Subbarayan (Bangalore, IN); Bernard Harguindeguy (Atherton, CA); Anoop Krishnan Gopalakrishnan (Bangalore, IN); Nagabhushana Angadi (Bengaluru, IN); Ashwani Kumar (Bengaluru, IN); Santosh Sahu (Bangalore, IN); Abdu Raheem Poonthiruthi (Bangalore, IN); Avinash Kumar Sahu (Bangalore, IN); Yasar Kundottil (Bangalore, IN)
Assignee: Ping Identity Corporation
H04L63/0281G06F21/55G06F21/554G06F21/6281G06N20/00H04L63/02H04L63/04H04L63/0807H04L63/0876H04L63/1425H04L63/1458H04L63/1491
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 11,411,923
App. No.
16/894,222
Granted
Aug 9, 2022
Kind
B2
Abstract

The present invention relates to the field of networking and API/application security. In particular, the invention is directed towards methods, systems and computer program products for deep learning based API traffic analysis and network security. The invention provides an automated approach to threat and/or attack detection by machine learning based accumulation and/or interpretation of various API/application traffic patterns, identifying and mapping characteristics of normal traffic for each API, and thereafter identifying any deviations from the normal traffic parameter baselines, which deviations may be classified as anomalies or attacks.

Claims (59)

1. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the instructions comprising code to cause the processor to:

identify, at a network gateway associated with a plurality of Application Programming Interfaces (APIs) implemented on a plurality of servers, a predefined API class from a plurality of predefined API classes and for an API from the plurality of APIs and implemented on a server from the plurality of servers;

identify a predefined parameter baseline for the predefined API class;

generate, for the API and using the predefined parameter baseline, an anomaly detection model including traffic parameter baseline values;

receive a data packet;

identify the data packet as being directed to the API;

analyze, using the anomaly detection model, traffic parameter data from the data packet to identify deviations between the traffic parameter data and the traffic parameter baseline values; and

route the data packet to the server based on the deviations meeting a criterion and based on the data packet being identified as being directed to the API.

2. The non-transitory processor-readable medium of claim 1 , wherein the code to cause the processor to generate includes code to cause the processor to generate the anomaly detection model using the predefined parameter baseline and data extracted from a plurality of data packets directed to the API.

3. The non-transitory processor-readable medium of claim 1 , wherein the anomaly detection model is a first anomaly detection model, the API is a first API, the server is a first server from the plurality of servers, and the data packet is a first data packet, the instructions further comprising code to cause the processor to:

generate, for a second API from the plurality of APIs and based on the predefined parameter baseline, a second anomaly detection model including traffic parameter baseline values, the second API being associated with the predefined API class and implemented on a second server from the plurality of servers;

receive a second data packet;

identify the second data packet as being directed to the second API;

analyze, using the second anomaly detection model, traffic parameter data from the second data packet to identify deviations between the traffic parameter data from the second data packet and the traffic parameter baseline values of the second anomaly detection model; and

route the second data packet to the second server based on the deviations between the traffic parameter data from the second data packet and the traffic parameter baseline values of the second anomaly detection model meeting a criterion and based on the second data packet being identified as being directed to the second API.

4. The non-transitory processor-readable medium of claim 1 , wherein the traffic parameter baseline values of the anomaly detection model vary based on at least one of a day or a time.

5. The non-transitory processor-readable medium of claim 1 , wherein the traffic parameter baseline values of the anomaly detection model are associated with at least one of a location of a device sending the data packet, a type of device sending the data packet, or a type of application sending the data packet.

6. The non-transitory processor-readable medium of claim 1 , wherein the predefined API class is at least one of a login API or a shopping cart API.

7. The non-transitory processor-readable medium of claim 1 , wherein the predefined API class is associated with at least one vertical market associated with the API.

8. An apparatus, comprising:

a memory; and

a processor of a network gateway associated with a plurality of Application Programming Interfaces (APIs) implemented on a plurality of servers, the processor operatively coupled to the memory, the processor configured to:

generate, based on parameter data extracted from a set of data packets directed to a first API from the plurality of APIs, a first anomaly detection model including first traffic parameter baseline values, the first API implemented on a first server from the plurality of servers;

generate, based on parameter data extracted from a set of data packets directed to a second API from the plurality of APIs, a second anomaly detection model including second traffic parameter baseline values, the second API implemented on a second server from the plurality of servers;

receive a first data packet directed to the first API;

receive a second data packet directed to the second API;

identify, using the first anomaly detection model, deviations between parameter data from the first data packet and the first traffic parameter baseline values;

identify, using the second anomaly detection model, deviations between parameter data from the second data packet and the second traffic parameter baseline values;

route the first data packet to the first server based on the deviations between the parameter data from the first data packet and the first traffic parameter baseline values meeting a first criterion and based on the first data packet being identified as being directed to the first API; and

discard the second data packet based on the deviations between the parameter data from the second data packet and the second traffic parameter baseline values not meeting a second criterion.

9. The apparatus of claim 8 , wherein the first traffic parameter baseline values of the first anomaly detection model vary based on at least one of a day or a time.

10. The apparatus of claim 8 , wherein the first traffic parameter baseline values of the first anomaly detection model are associated with at least one of a location of a device sending the first data packet, a type of device sending the first data packet, or a type of application sending the first data packet.

11. The apparatus of claim 8 , wherein the processor is configured to generate the first anomaly detection model based on a predefined API class associated with the first API.

12. The apparatus of claim 8 , wherein the first anomaly detection model is associated with multiple APIs including the first API.

13. The apparatus of claim 8 , wherein the first data packet is received at the network gateway based on traffic addressed to the first API being routed to the network gateway.

14. A method, comprising:

identifying a predefined API class from a plurality of predefined API classes and for an API, each predefined API class from the plurality of predefined API classes being associated with at least one of an API type or a vertical market;

identifying a predefined parameter baseline for the predefined API class;

generating, for the API and using the predefined parameter baseline, an anomaly detection model including traffic parameter baseline values;

receiving a data packet directed to the API;

identifying, in the data packet, traffic parameter data;

analyzing, using the anomaly detection model, the traffic parameter data to identify deviations between the traffic parameter data and the traffic parameter baseline values; and

classifying the data packet as an anomaly when the deviations meet a criterion.

15. The method of claim 14 , further comprising:

routing the data packet to a server associated with the API when the deviations do not meet the criterion.

16. The method of claim 14 , further comprising:

discarding the data packet based on classifying the data packet as an anomaly.

17. The method of claim 14 , wherein, the identifying the predefined API class from the plurality of predefined API classes is at a network gateway associated with a plurality of APIs implemented on a plurality of servers, the API being from the plurality of APIs.

18. The method of claim 14 , wherein the generating includes generating the anomaly detection model using the predefined parameter baseline and data extracted from a plurality of data packets directed to the API.

19. The method of claim 14 , wherein the API is a first API, the data packet is a first data packet, the traffic parameter baseline values are first traffic parameter baseline values and the criterion is a first criterion, the method further comprising:

generating, for a second API associated with the predefined class and using the predetermined parameter baseline, a second anomaly detection model including second traffic parameter baseline values;

receiving a second data packet, the second data packet being directed to the second API;

identifying, in the second data packet, traffic parameter data;

analyzing, using the second anomaly detection model, the traffic parameter data from the second data packet to identify deviations between the traffic parameter data from the second data packet and the second traffic parameter baseline values; and

routing the second data packet to a server implementing the second API when the deviations between the traffic parameter data from the second data packet and the second traffic parameter baseline values do not meet a second criterion.

20. The method of claim 14 , wherein the API is a first API and the predefined API class is a first predefined API class, the method further comprising:

identifying a second predefined API class from the plurality of predefined API classes and for a second API;

identifying a predefined parameter baseline for the second predefined API class; and

generating, for the second API and using the predefined parameter baseline for the second predefined API class, an anomaly detection model.

Assignments (8)
RELEASE OF SECURITY INTEREST AT R/F 61703/0988 Recorded Nov 14, 2025
From: BLUE OWL CAPITAL CORPORATION
To: PING IDENTITY CORPORATION
Reel/Frame 073570/0777 →
SECURITY INTEREST Recorded Nov 13, 2025
From: PING IDENTITY CORPORATION; PING IDENTITY INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 073557/0093 →
RELEASE OF SECURITY INTEREST Recorded Oct 19, 2022
From: BANK OF AMERICA, N.A.
To: PING IDENTITY CORPORATION
Reel/Frame 061709/0527 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Oct 18, 2022
From: PING IDENTITY CORPORATION
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 061703/0988 →
SECURITY INTEREST Recorded Nov 23, 2021
From: PING IDENTITY CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 058944/0687 →
CHANGE OF NAME Recorded Nov 13, 2020
From: ELASTIC BEAM INC.
To: ELASTIC BEAM, LLC
Reel/Frame 054408/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2020
From: SUBBARAYAN, UDAYAKUMAR; HARGUINDEGUY, BERNARD; GOPALAKRISHNAN, ANOOP KRISHNAN; ANGADI, NAGABHUSHANA; KUMAR, ASHWANI; SAHU, SANTOSH; POONTHIRUTHI, ABDU RAHEEM; SAHU, AVINASH KUMAR; KUNDOTTIL, YASAR
To: ELASTIC BEAM, INC.
Reel/Frame 052865/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2020
From: ELASTIC BEAM, LLC
To: PING IDENTITY CORPORATION
Reel/Frame 052865/0635 →
Priority Claims (1)
IN 201611036787 · Oct 26, 2016 · national
Continuity (2)
Continuation 15793671 · Oct 25, 2017
Related Publication 20200304470A1 · Sep 24, 2020