IP Library Granted Patent US 8,601,585
Granted Patent B2
US 8,601,585 · App. 11/745,338 · Granted Dec 3, 2013

Modification of messages for analyzing the security of communication protocols and channels

Inventors: Marshall A. Beddoe (San Francisco, CA); Kowsik Guruswamy (Sunnyvale, CA)
Assignee: Spirent Communications, Inc.
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 8,601,585
App. No.
11/745,338
Granted
Dec 3, 2013
Kind
B2
Abstract

A system is used to analyze the implementation of a protocol by a device-under-analysis (DUA). The system includes a source endpoint, a destination endpoint (the DUA), and a message generator. The source endpoint generates an original message and attempts to send it to the DUA. The original message is intercepted by the message generator, which generates a replacement message. The replacement message is then sent to the DUA instead of the original message. The replacement message is deliberately improper so as to analyze the DUA's implementation of the protocol. The message generator includes a structure recognition system and a mutation system. The structure recognition system determines the underlying structure and/or semantics of a message. After the structure recognition system has determined the structure, it creates a description of the structure (a structure description). The mutation system modifies the message based on the structure description to generate a replacement message.

Claims (43)

1. A method of modifying a network message for use with a message generator testing a device-under-analysis (DUA), comprising:

receiving at the message generator including a processor a network message conforming to a network message protocol sent by a source system that was intended for the DUA, the message being received at the message generator before the network message was received by the DUA;

after receiving the message, determining a packet structure of the network message based, at least in part, on the content of the network message;

after determining the packet structure, creating a description of the packet structure of the message;

modifying the network message based on the description to create a modified message that is at least one of invalid or malformed with respect to the protocol or inappropriate based on the protocol's current state; and

sending the modified message from the message generator toward the DUA in place of the network message.

2. The method of claim 1 , wherein determining the structure of the network message comprises

determining one or more fields that are included in the network message based, at least in part, on the content of the network message.

3. The method of claim 1 , wherein determining the structure of the network message comprises

determining the structure of the message with a heuristic based, at least in part, on the content of the network message.

4. The method of claim 2 , wherein the heuristic comprises using a sequence alignment algorithm to align variable length packets.

5. The method of claim 2 , wherein the heuristic comprises one element of a group containing a delimiter, where the delimiter includes guessing the location of fields in the protocol based on the presence of commonly used delimiter characters, and a protocol extension, where the protocol extension includes parsing a portion of the message that conforms to a base protocol according to the based protocol while treating portions of the message that do not conform to the base protocol as a protocol extension.

6. The method of claim 2 , wherein the heuristic comprises one element of a group containing a sliding window and a Sequitur algorithm to infer the location of fields in the packet.

7. The method of claim 1 , wherein the description comprises text that conforms to the extended Markup Language (XML) format.

8. The method of claim 1 , wherein modifying the network message further comprises:

parsing the network message based on the description;

identifying a field of the parsed message; and

injecting invalid data into the field.

9. A method of modifying a message for use with a message generator testing a device-under-analysis (DUA), comprising:

receiving at the message generator including a processor a message conforming to a protocol sent by a source system that was intended for the DUA, the message being received at the message generator before the message was received by the DUA;

wherein the message comprises a network packet;

after receiving the message, determining a packet structure of the message based, at least in part, on the content of the message;

after determining the structure, creating a description of the packet structure of the message;

modifying the message based on the description to create a modified message that is at least one of invalid or malformed with respect to the protocol or inappropriate based on the protocol's current state; and

sending the modified message from the message generator toward the DUA in place of the message.

10. The method of claim 1 , wherein the message generator intercepts the network message from the source system to the DUA.

11. A computer program product for modifying a network message for use in testing a device-under-analysis (DUA), the computer program product comprising a non-transitory computer-readable medium containing computer program code for performing a method, the method comprising:

receiving a network message conforming to a network message protocol sent by a sending system that was intended for the DUA, the network message being received before the network message was received by the DUA;

after receiving the message, determining a structure of the network message based, at least in part, on the content of the network message;

after determining the structure, creating a description of the structure of the network message;

modifying the network message based on the description to create a modified message that is at least one of invalid or malformed with respect to the protocol or inappropriate based on the protocol's current state; and

sending the modified message toward the DUA in place of the network message.

12. A system for modifying a network message conforming to a protocol, the system comprising:

a structure recognition system including a processor configured to determine, after receipt of the network message and based, at least in part, on the content of the network message, a structure of the message and to create a description of the structure;

and a mutation system including a processor configured to modify the network message based on the description to create a modified message that is at least one of invalid or malformed with respect to the protocol or inappropriate based on the protocol's current state.

13. The system of claim 12 , wherein the structure recognition system is configured to heuristically determine one or more fields that are included in the network message based, at least in part, on the content of the network message, and wherein the mutation system is configured to inject invalid data into the one or more fields determined by the structure recognition system.

14. The system of claim 12 , further comprising:

a source system generating the message for a DUA; and

a message generator comprising the structure recognition system and the mutation system, the message generator configured to serve as a proxy for the source system, and to receive the message from the source system and to send the modified message in place of the message to the DUA in place.

15. The method of claim 1 , further comprising:

before receiving the network message, establishing the message generator as a proxy for the source system.

16. The method of claim 15 , further comprising:

proxying the message from the source system to the DUA via a layer 2 bridge.

Assignments (7)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2025
From: SPIRENT COMMUNICATIONS, INC.
To: VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 073121/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2014
From: MU DYNAMICS, INC
To: SPIRENT COMMUNICATIONS, INC.
Reel/Frame 033099/0185 →
CHANGE OF NAME Recorded Jun 6, 2008
From: MU SECURITY INC.
To: MU DYNAMICS, INC.
Reel/Frame 021062/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2007
From: BEDDOE, MARSHALL A.; GURUSWAMY, KOWSIK
To: MU SECURITY, INC.
Reel/Frame 019274/0972 →
Continuity (1)
Related Publication 20080282352A1 · Nov 13, 2008