IP Library Granted Patent US 10,581,904
Granted Patent B2
US 10,581,904 · App. 15/585,090 · Granted Mar 3, 2020

Determining the likelihood of traffic being legitimately received at a proxy server in a cloud-based proxy service

Inventors: Lee Hahn Holloway (Santa Cruz, CA); Srikanth N. Rao (San Francisco, CA); Matthew Browning Prince (San Francisco, CA); Matthieu Philippe François Tourne (San Francisco, CA); Ian Gerald Pye (Santa Cruz, CA); Ray Raymond Bejjani (San Francisco, CA); Terry Paul Rodery, Jr. (Millbrae, CA)
Assignee: CLOUDFARE, INC.
H04L63/1458G06F21/552G06F21/577H04L63/0281H04L63/1408H04L63/1416H04L63/1425H04L63/1433H04L63/1466H04L63/20
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,581,904
App. No.
15/585,090
Granted
Mar 3, 2020
Kind
B2
Abstract

Message(s) are received from each one of multiple proxy servers, which are anycasted to the same IP address, that indicate source IP addresses of packets that are received that are directed to that same IP address. These proxy servers receive the packets as result of domain(s) resolving to that same IP address, and a particular one of the proxy servers receives the packets as a result of an anycast protocol implementation selecting that proxy server. Based on these message(s) from each of the proxy servers, a determination of the likelihood of a packet having a particular source IP address being legitimately received at each of the proxy servers is determined. A message is transmitted to each of the proxy servers that indicates which source IP addresses of packets are not likely to be legitimately received at that proxy server.

Claims (36)

1. A method for determining a likelihood of a packet having a particular source address being received at a particular one of a plurality of proxy servers that are anycasted to a same IP address, wherein the proxy servers are part of a cloud-based proxy service and are situated between a plurality of client computing devices accessing network resources and a plurality of origin servers that serve network resources, the method comprising:

receiving, from each of the plurality of proxy servers, one or more messages that indicate source IP addresses of packets received at that proxy server that are directed to the same IP address, wherein the proxy servers receive traffic at the same IP address as a result of one or more domains resolving to the same IP address, and wherein a first proxy server of the proxy servers receives packets directed to the same IP address as a result of an anycast protocol implementation selecting the first proxy server of the proxy servers as the closest in terms of routing protocol metric used to route traffic to the proxy servers;

determining, based on an historical analysis of the source IP addresses of packets received at the plurality of proxy servers as a result of the anycast protocol implementation as indicated in the one or more messages from each of the plurality of proxy servers, a likelihood of a packet having a particular source IP address being legitimately received at each of the proxy servers, wherein packets are likely to be legitimately received at each of the proxy servers when probabilities for each source-destination IP address pair determined using the historical analysis are above a threshold value;

transmitting, to each of the proxy servers, a message that indicates which source IP addresses of packets are not likely to be legitimately received at that proxy server based on the probabilities for each source-destination IP address pair determined using the historical analysis; and

responsive to a network event that affects the likelihood of a packet having a particular source IP address being legitimately received at each of the proxy servers, transmitting a message to the proxy servers that indicates a suspension of any rate limits that have been installed as a result of transmitting the messages to the proxy servers that indicate which source IP addresses of packets are not likely to be legitimately received at the proxy servers.

2. The method of claim 1 , wherein the message transmitted to each of the proxy servers includes a set of rules to rate limit packets received with source IP addresses that are not likely to be legitimately received by that proxy server.

3. The method of claim 1 , wherein the message transmitted to each of the proxy servers includes a set of rules to block packets received with source IP addresses that are not likely to be legitimately received by that proxy server.

4. The method of claim 1 , wherein the message transmitted to each of the proxy servers specifies the source IP addresses of packets that are likely to be legitimately received at that proxy server.

5. The method of claim 1 , wherein the message transmitted to each of the proxy servers specifies the source IP addresses of packets that are not likely to be legitimately received at that proxy server.

6. The method of claim 1 , wherein the step of receiving from each of the plurality of proxy servers the one or more messages that indicate source IP addresses of packets received at that proxy server that are directed to the same IP address, occurs only when the same IP address is not currently under a denial of service (DoS) attack.

7. The method of claim 1 , wherein the one or more messages received from each of the plurality of proxy servers further indicates a number of packets of each source IP address received at that proxy server.

8. The method of claim 1 , wherein the one or more messages are received as a result of a client-side script that is inserted by the proxy servers into web pages of domains that resolve to the same IP address, wherein the client-side script, when executed, causes a packet to be transmitted to the same IP address.

9. An apparatus, comprising:

a plurality of proxy servers that are anycasted to a same IP address, each of the plurality of proxy servers running on one or one or more physical devices, wherein each of the plurality of proxy servers is configured to perform the following:

receive packets at the same IP address as a result of one or more domains resolving to the same IP address, wherein this proxy server receives the packets at the same IP address as a result of an anycast protocol implementation selecting this one of the plurality of proxy servers as the closest in terms of routing protocol metric used to route traffic to the plurality of proxy servers;

transmit one or more messages to a central server computer that indicate source IP addresses of the received packets; and

receive, from the central server computer, a message that indicate source IP addresses of packets that are not likely to be legitimately received at that proxy server; and

install, based on the received message, one or more rules to rate limit packets that are received having a source IP address that is not likely to be legitimately received at that proxy server; and

the central server computer coupled with the plurality of proxy servers, wherein the central server computer is configured to perform the following:

receive, from each of the plurality of proxy servers, the one or more messages that indicate source IP addresses of the received packets;

determine, based on an historical analysis of the source IP addresses of packets received at the plurality of proxy servers as a result of the anycast protocol implementation as indicated in the one or more messages received from the plurality of proxy servers, a likelihood of a packet having a particular source IP address being legitimately received at each of the proxy servers, wherein packets are likely to be legitimately received at each of the proxy servers when probabilities for each source-destination IP address pair determined using the historical analysis are above a threshold value;

transmit, to each of the proxy servers, the message that indicates which source IP addresses of packets are not likely to be legitimately received at that proxy server based on the probabilities for each source IP address determined using the historical analysis; and

responsive to a network event that affects the likelihood of a packet having a particular source IP address being legitimately received at each of the proxy servers, transmit a message to the proxy servers that indicates a suspension of any rate limits that have been installed as a result of transmitting the messages to the proxy servers that indicate which source IP addresses of packets are not likely to be legitimately received at the proxy servers.

10. The apparatus of claim 9 , wherein the message transmitted to each of the proxy servers includes a set of rules to rate limit packets received with source IP addresses that are not likely to be legitimately received by that proxy server.

11. The apparatus of claim 9 , wherein the message transmitted to each of the proxy servers includes a set of rules to block packets received with source IP addresses that are not likely to be legitimately received by that proxy server.

12. The apparatus of claim 9 , wherein the message transmitted to each of the proxy servers specifies the source IP addresses of packets that are likely to be legitimately received at that proxy server.

13. The apparatus of claim 9 , wherein the message transmitted to each of the proxy servers specifies the source IP addresses of packets that are not likely to be legitimately received at that proxy server.

14. The apparatus of claim 9 , wherein the proxy servers are configured to transmit the one or more messages to the central server computer that indicate source IP addresses of the received packets only when the destination IP address of those packets is not-currently under a denial of service (DoS) attack.

15. The apparatus of claim 9 , wherein the one or more messages to be transmitted by each of the proxy servers further indicates a number of packets of each source IP address received at that proxy server.

16. The apparatus of claim 9 , wherein the one or more messages to be transmitted by each of the proxy servers are to be transmitted as a result of a client-side script that is inserted by the proxy servers into web pages of domains that resolve to the same IP address, wherein the client-side script, when executed, causes a packet to be transmitted to the same IP address.

17. A non-transitory computer-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to perform operations for determining a likelihood of a packet having a particular source address being received at a particular one of a plurality of proxy servers that are anycasted to a same IP address, wherein the proxy servers are part of a cloud-based proxy service and are situated between a plurality of client computing devices accessing network resources and a plurality of origin servers that serve network resources, the operations comprising:

receiving, from each of the plurality of proxy servers, one or more messages that indicate source IP addresses of packets received at that proxy server that are directed to the same IP address, wherein the proxy servers receive traffic at the same IP address as a result of one or more domains resolving to the same IP address, and wherein a first proxy server of the proxy servers receives packets directed to the same IP address as a result of an anycast protocol implementation selecting the first proxy server of the proxy servers as the closest in terms of routing protocol metric used to route traffic to the proxy servers;

determining, based on an historical analysis of the source IP addresses of packets received at the plurality of proxy servers as a result of the anycast protocol implementation as indicated in the one or more messages from each of the plurality of proxy servers, a likelihood of a packet having a particular source IP address being legitimately received at each of the proxy servers, wherein packets are likely to be legitimately received at each of the proxy servers when probabilities for each source-destination IP address pair determined using the historical analysis are above a threshold value;

transmitting, to each of the proxy servers, a message that indicates which source IP addresses of packets are not likely to be legitimately received at that proxy server based on the probabilities for each source IP address determined using the historical analysis; and

responsive to a network event that affects the likelihood of a packet having a particular source IP address being legitimately received at each of the proxy servers, transmitting a message to the proxy servers that indicates a suspension of any rate limits that have been installed as a result of transmitting the messages to the proxy servers that indicate which source IP addresses of packets are not likely to be legitimately received at the proxy servers.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the message transmitted to each of the proxy servers includes a set of rules to rate limit packets received with source IP addresses that are not likely to be legitimately received by that proxy server.

Assignments (1)
SECURITY INTEREST Recorded May 20, 2024
From: CLOUDFLARE, INC.
To: CITIBANK, N.A.
Reel/Frame 067472/0246 →
Continuity (5)
Continuation 14172823 · Feb 4, 2014
Continuation 13665802 · Oct 31, 2012
Provisional Application 61719116 · Oct 26, 2012
Provisional Application 61680684 · Aug 7, 2012
Related Publication 20170237757A1 · Aug 17, 2017
Cited By (1)
US 12,381,958