IP Library Granted Patent US 12,255,904
Granted Patent B2
US 12,255,904 · App. 17/236,612 · Granted Mar 18, 2025

Early validation of communication behavior

Inventors: Farida Shafik (Cairo, EG); Shary Beshara (Cairo, EG); Michael Estrin (Austin, TX)
Assignee: EMC IP Holding Company LLC
H04L63/1425H04L63/306G06F8/60
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,255,904
App. No.
17/236,612
Granted
Mar 18, 2025
Kind
B2
Abstract

One example method includes extracting an expected communication specification of a service that is in development in a build pipeline, stimulating the service to exercise communication variations of the service, capturing communication traffic involving the service and one or more endpoints, comparing the captured communication traffic to the expected communication specification, and based on the comparing, detecting, in the captured communication traffic, and flagging, any anomalous communication behavior of the service.

Claims (37)

1. A method, comprising:

extracting an expected communication specification of a service, which is in development in a build pipeline, from a source code repository for the service, wherein the build pipeline runs each time source code changes are introduced to the source code repository for the service that is under the development;

stimulating the service to exercise communication variations of the service;

capturing communication traffic involving the service and one or more endpoints by using a packet filter and a proxy, wherein the captured communication traffic is a portion of all the communication traffic involving the service and the one or more endpoints, and the packet filter runs at a kernel level to intercept the communication traffic and reroute the intercepted communication traffic to the proxy, which logs the intercepted communication traffic as the captured communication traffic;

comparing the captured communication traffic to the expected communication specification; and

based on the comparing, detecting, in the captured communication traffic, and flagging, any anomalous communication behavior of the service.

2. The method as recited in claim 1 , wherein the expected communication specification identifies expected communications by the service, and includes one or more communication rules governing communication by the service.

3. The method as recited in claim 1 , wherein the method is performed by an evaluation service that is an element of the build pipeline.

4. The method as recited in claim 1 , wherein the expected communication specification identifies a network communications protocol, a domain name and/or IP address, a port number, a direction of communication origin, and the action to be taken in the event an anomaly is identified in the captured communication traffic.

5. The method as recited in claim 1 , wherein the method is implemented without any change to source code of the service by the packet filter.

6. The method as recited in claim 1 , wherein the captured communication traffic is outgoing traffic from the service, incoming traffic to the service, or traffic to and/or from a particular entity or group of entities taking place while the service is running the communication variations.

7. The method as recited in claim 1 , wherein the anomalous communication behavior comprises failure of the service to communicate with a specified endpoint, and/or communication by the service with a prohibited endpoint.

8. A computer readable storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

extracting an expected communication specification of a service, which is in development in a build pipeline, from a source code repository for the service, wherein the build pipeline runs each time source code changes are introduced to the source code repository for the service that is under the development;

stimulating the service to exercise communication variations of the service;

capturing communication traffic involving the service and one or more endpoints by using a packet filter and a proxy, wherein the captured communication traffic is a portion of all the communication traffic involving the service and the one or more endpoints, and the packet filter runs at a kernel level to intercept the communication traffic and reroute the intercepted communication traffic to the proxy, which logs the intercepted communication traffic as the captured communication traffic;

comparing the captured communication traffic to the expected communication specification; and

based on the comparing, detecting, in the captured communication traffic, and flagging, any anomalous communication behavior of the service.

9. The computer readable storage medium as recited in claim 8 , wherein the expected communication specification identifies expected communications by the service, and includes one or more communication rules governing communication by the service.

10. The computer readable storage medium as recited in claim 8 , wherein the computer readable storage medium is performed by an evaluation service that is an element of the build pipeline.

11. The computer readable storage medium as recited in claim 8 , wherein the expected communication specification identifies a network communications protocol, a domain name and/or IP address, a port number, a direction of communication origin, and the action to be taken in the event an anomaly is identified in the captured communication traffic.

12. The computer readable storage medium as recited in claim 8 , wherein the computer readable storage medium is implemented without any change to source code of the service by the packet filter.

13. The computer readable storage medium as recited in claim 8 , wherein the captured communication traffic is outgoing traffic from the service, incoming traffic to the service, or traffic to and/or from a particular entity or group of entities taking place while the service is running the communication variations.

14. The computer readable storage medium as recited in claim 8 , wherein the anomalous communication behavior comprises failure of the service to communicate with a specified endpoint, and/or communication by the service with a prohibited endpoint.

15. A system, comprising:

one or more hardware processors; and

a computer readable storage medium having stored therein instructions that are executable by the one or more hardware processors to perform operations comprising:

extracting an expected communication specification of a service, which is in development in a build pipeline, from a source code repository for the service, wherein the build pipeline runs each time source code changes are introduced to the source code repository for the service that is under the development;

stimulating the service to exercise communication variations of the service;

capturing communication traffic involving the service and one or more endpoints by using a packet filter and a proxy, wherein the captured communication traffic is a portion of all the communication traffic involving the service and one or more endpoints, and the packet filter runs at a kernel level to intercept the communication traffic and reroute the intercepted communication traffic to the proxy, which logs the intercepted communication traffic as the captured communication traffic;

comparing the captured communication traffic to the expected communication specification; and

based on the comparing, detecting, in the captured communication traffic, and flagging, any anomalous communication behavior of the service.

16. The system as recited in claim 15 , wherein the expected communication specification identifies expected communications by the service, and includes one or more communication rules governing communication by the service, and the expected communication specification identifies a network communications protocol, a domain name and/or IP address, a port number, a direction of communication origin, and the action to be taken in the event an anomaly is identified in the captured communication traffic.

17. The system as recited in claim 15 , wherein the system is performed by an evaluation service that is an element of the build pipeline.

18. The system as recited in claim 15 , wherein the system is implemented without any change to source code of the service by the packet filter.

19. The system as recited in claim 15 , wherein the captured communication traffic is outgoing traffic from the service, incoming traffic to the service, or traffic to and/or from a particular entity or group of entities taking place while the service is running the communication variations.

20. The system as recited in claim 15 , wherein the anomalous communication behavior comprises failure of the service to communicate with a specified endpoint, and/or communication by the service with a prohibited endpoint.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2023
From: SHAFIK, FARIDA; BESHARA, SHARY; ESTRIN, MICHAEL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 063287/0632 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
Continuity (1)
Related Publication 20220345471A1 · Oct 27, 2022
References Cited (25)
US 10248533B1 · Shah · 2019 [cited by examiner]
US 10749906B2 · Rogers · 2020 [cited by examiner]
US 11005867B1 · Song · 2021 [cited by examiner]
US 11151025B1 · Gupta · 2021 [cited by examiner]
US 11483339B1 · Kaimal · 2022 [cited by examiner]
US 11563758B2 · Ahn · 2023 [cited by examiner]
US 20020152061A1 · Shimogori · 2002 [cited by examiner]
US 20040205356A1 · Maida-Smith · 2004 [cited by examiner]
US 20050071650A1 · Jo · 2005 [cited by examiner]
US 20120166637A1 · White, Jr. · 2012 [cited by examiner]
US 20150244773A1 · Wang · 2015 [cited by examiner]
US 20160054985A1 · Cragun · 2016 [cited by examiner]
US 20170149810A1 · Keshet · 2017 [cited by examiner]
US 20170329583A1 · Martinez · 2017 [cited by examiner]
US 20180007089A1 · Watters · 2018 [cited by examiner]
US 20180324204A1 · McClory · 2018 [cited by examiner]
US 20190174319A1 · Backholm · 2019 [cited by examiner]
US 20190297053A1 · Gaddehosur · 2019 [cited by examiner]
US 20190305959A1 · Reddy · 2019 [cited by examiner]
US 20200073783A1 · Hortala · 2020 [cited by examiner]
US 20200117434A1 · Biskup · 2020 [cited by examiner]
US 20200177638A1 · Salman · 2020 [cited by examiner]
US 20210349814A1 · Joshi · 2021 [cited by examiner]
US 20220019515A1 · Daniali · 2022 [cited by examiner]
US 20220294715A1 · Agrawal · 2022 [cited by examiner]