IP Library Granted Patent US 11,647,031
Granted Patent B2
US 11,647,031 · App. 17/667,372 · Granted May 9, 2023

Determining an origin server is potentially compromised

Inventors: Jonathan Philip Levine (San Francisco, CA); Rustam Xing Lalkaka (San Francisco, CA); Evan Johnson (San Francisco, CA)
Assignee: CLOUDFLARE, INC.
H04L63/1416H04L63/1433H04L63/1441H04L63/1483H04L67/02
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,647,031
App. No.
17/667,372
Granted
May 9, 2023
Kind
B2
Abstract

An edge server receives a request from a client network application for a web page hosted at an origin server. The edge server transmits the requested web page in a response. The edge server accesses an edge server request log to retrieve a log entry associated with the request for the web page, where the log entry associated with the request for the web page includes information regarding the request and the response. The edge server retrieves one or more characteristics of an asset of the web page, where each characteristics has an expected value. The edge server determines whether the origin server is compromised when a value for a characteristic is not within a threshold range of the expected value for the characteristic of the asset and performs a mitigation action in response.

Claims (62)

1. A computer-implemented method comprising:

receiving, by an edge server, a request for a web page hosted by an origin server;

transmitting a response to the request, the response including the web page;

accessing an edge server request log to retrieve a log entry associated with the request for the web page, the log entry associated with the request for the web page including information regarding the request for the web page and the response to the request for the web page;

retrieving a security element associated with a website from the log entry associated with the request for the web page, the website containing the web page;

determining that the origin server is compromised when the security element is invalid; and

performing a mitigation action in response to determining that the origin server is compromised.

2. The computer-implemented method of claim 1 , wherein the security element is a security certificate, and wherein determining that the origin server is compromised when the security element is invalid further comprises:

determining whether the security certificate associated with the website matches a stored fingerprint of the security certificate associated with the website; and

determining that the security certificate does not match the stored fingerprint of the security certificate.

3. The computer-implemented method of claim 2 , wherein determining whether the security certificate associated with the website matches the stored fingerprint of the security certificate associated with the website comprises:

generating a fingerprint of the security certificate from the log entry associated with the request for the web page; and

comparing the generated fingerprint of the security certificate to the stored fingerprint of the security certificate.

4. The computer-implemented method of claim 1 , wherein the mitigation action includes blocking network traffic associated with the website.

5. The computer-implemented method of claim 1 , further comprising:

identifying the log entry associated with the request for the web page using a request identifier associated with the request; and

storing the information regarding the response to the request for the web page in the log entry associated with the request for the web page.

6. The computer-implemented method of claim 1 , wherein accessing the edge server request log to retrieve the log entry associated with the request for the web page comprises:

determining that a defined amount of time has elapsed since a previous retrieval from the edge server request log; and

retrieving one or more log entries from the edge server request log, the one or more log entries generated in the defined amount of time since the previous retrieval from the edge server request log.

7. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, cause said processor to perform operations comprising:

receiving, by an edge server, a request for a web page hosted by an origin server;

transmitting a response to the request, the response including the web page;

accessing an edge server request log to retrieve a log entry associated with the request for the web page, the log entry associated with the request for the web page including information regarding the request for the web page and the response to the request for the web page;

retrieving a security element associated with a website from the log entry associated with the request for the web page, the website containing the web page;

determining that the origin server is compromised when the security element is invalid; and

performing a mitigation action in response to determining that the origin server is compromised.

8. The non-transitory machine-readable storage medium of claim 7 , wherein the security element is a security certificate, and wherein determining that the origin server is compromised when the security element is invalid further comprises:

determining whether the security certificate associated with the website matches a stored fingerprint of the security certificate associated with the website; and

determining that the security certificate does not match the stored fingerprint of the security certificate.

9. The non-transitory machine-readable storage medium of claim 8 , wherein determining whether the security certificate associated with the website matches the stored fingerprint of the security certificate associated with the website comprises:

generating a fingerprint of the security certificate from the log entry associated with the request for the web page; and

comparing the generated fingerprint of the security certificate to the stored fingerprint of the security certificate.

10. The non-transitory machine-readable storage medium of claim 7 , wherein the mitigation action includes blocking network traffic associated with the website.

11. The non-transitory machine-readable storage medium of claim 7 , further comprising:

identifying the log entry associated with the request for the web page using a request identifier associated with the request; and

storing the information regarding the response to the request for the web page in the log entry associated with the request for the web page.

12. The non-transitory machine-readable storage medium of claim 7 , further comprising: wherein accessing the edge server request log to retrieve the log entry associated with the request for the web page comprises:

determining that a defined amount of time has elapsed since a previous retrieval from the edge server request log; and

retrieving one or more log entries from the edge server request log, the one or more log entries generated in the defined amount of time since the previous retrieval from the edge server request log.

13. An apparatus, comprising:

a processor;

a non-transitory machine-readable storage medium coupled with the processor that stores instructions that, when executed by the processor, causes said processor to perform the following:

receive a request for a web page hosted by an origin server;

transmit a response to the request, the response including the web page;

access an edge server request log to retrieve a log entry associated with the request for the web page, the log entry associated with the request for the web page including information regarding the request for the web page and the response to the request for the web page;

retrieve a security element associated with a website from the log entry associated with the request for the web page, the website containing the web page;

determine that the origin server is compromised when the security element is invalid; and

perform a mitigation action in response to determining that the origin server is compromised.

14. The apparatus of claim 13 , wherein the security element is a security certificate, and wherein the instructions to determine that the origin server is compromised when the security element is invalid further cause said processor to perform the following:

determine whether the security certificate associated with the website matches a stored fingerprint of the security certificate associated with the website; and

determine that the security certificate does not match the stored fingerprint of the security certificate.

15. The apparatus of claim 14 , wherein determining whether the security certificate associated with the website matches the stored fingerprint of the security certificate associated with the website comprises:

generating a fingerprint of the security certificate from the log entry associated with the request for the web page; and

comparing the generated fingerprint of the security certificate to the stored fingerprint of the security certificate.

16. The apparatus of claim 13 , wherein the mitigation action includes blocking network traffic associated with the website.

17. The apparatus of claim 13 , wherein the instructions further cause said processor to perform the following:

identify the log entry associated with the request for the web page using a request identifier associated with the request; and

store the information regarding the response to the request for the web page in the log entry associated with the request for the web page.

18. The apparatus of claim 13 , wherein accessing the edge server request log to retrieve the log entry associated with the request for the web page comprises:

determining that a defined amount of time has elapsed since a previous retrieval from the edge server request log; and

retrieving one or more log entries from the edge server request log, the one or more log entries generated in the defined amount of time since the previous retrieval from the edge server request log.

Assignments (2)
SECURITY INTEREST Recorded May 20, 2024
From: CLOUDFLARE, INC.
To: CITIBANK, N.A.
Reel/Frame 067472/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2023
From: LEVINE, JONATHAN PHILIP; LALKAKA, RUSTAM XING; JOHNSON, EVAN
To: CLOUDFLARE, INC.
Reel/Frame 063190/0058 →
Continuity (2)
Continuation 16810187 · Mar 5, 2020
Related Publication 20220166786A1 · May 26, 2022