IP Library Granted Patent US 8,190,752
Granted Patent B1
US 8,190,752 · App. 11/383,843 · Granted May 29, 2012

Secure delivery of flash content over networks

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,190,752
App. No.
11/383,843
Granted
May 29, 2012
Kind
B1
Abstract

A method for securing delivery of flash content over a network includes rewriting flash content action code capable of making a network request for flash content to redirect network communication associated with the flash content to a network device.

Claims (81)

1. A system comprising:

a secure network device to:

receive, via a network, flash content,

disassemble the flash content into action code,

locate a portion of the action code making a network request associated with the flash content, where the secure network device, when locating the portion of the action code, is further to:

examine stack and trace constants of the action code to locate a function,

determine whether the function is associated with making the network request associated with the flash content, and

examine the action code to determine the number of arguments for the function when the function is making the network request for the flash content,

rewrite the portion of the action code making the network request to redirect a network communication associated with the flash content to the secure network device, where the secure network device, when rewriting the portion of the action code, is further to:

replace a function invocation in the action code with a rewriting function, to redirect, before invoking the function, the network communication associated with the flash content to the secure network device, and

provide secure communication of the flash content, via the network, to a client device.

2. The system of claim 1 , where the secure network device is further to:

inject a client side process into the action code.

3. The system of claim 2 , where the secure network device, when injecting the client side process, is further to:

determine whether an object of the action code is of a certain class; and

rewrite arguments of the action code, to redirect network communication of the object to the secure network device, when the object is of the certain class.

4. The system of claim 2 , where the secure network device, when injecting the client side process, is further to:

determine whether an application class, of the action code, implements an action unrelated to the network; and

inject a code sequence that replaces a statement in the action code when the application class implements the action unrelated to the network.

5. The system of claim 1 , where the secure network device is further to:

perform a flow analysis on the action code and inspect a stack of the action code to locate a code parameter related to making the network request associated with the flash content;

rewrite the code parameter to redirect the network communication associated with the flash content to the secure network device; and

replace the code parameter with the rewritten code parameter.

6. A non-transitory computer-readable memory device that stores computer executable instructions for securing delivery of flash content over a network, the non-transitory computer readable memory device comprising:

instructions, which when executed by a processor, cause the processor to determine whether an object of flash content action code is of a certain class;

instructions, which when executed by the processor, cause the processor to rewrite arguments of the flash content action code, to redirect a network communication associated with the object to a network device, when the object is determined to be of the certain class;

instructions, which when executed by the processor, cause the processor to determine whether an application class, of the flash content action code, implements one or more actions that are unrelated to the network;

instructions, which when executed by the processor, cause the processor to inject a code sequence that replaces a statement in the flash content action code when the flash content action code implements the one or more actions that are unrelated to the network;

instructions, which when executed by the processor, cause the processor to examine stack and trace constants of the flash content action code to locate an action related to making the network request associated with the flash content;

instructions, which when executed by the processor, cause the processor to determine a number of arguments for the action; and

instructions, which when executed by the processor, cause the processor to replace invocation of the action, in the action code, with a rewriting function that redirects, before invoking the action, the network communication associated with the flash content to a secure network device.

7. The non-transitory computer-readable memory device of claim 6 , further comprising:

instructions to inject a client side process into the action code.

8. The non-transitory computer-readable memory device of claim 7 , where the instructions to inject the client side process include:

instructions to determine whether an object of the action code is of a certain class; and

instructions to rewrite arguments of the action code, to redirect network communication of the object to the secure network device, when the object is of the certain class.

9. The non-transitory computer-readable memory device of claim 7 , where the instructions to inject the client side process include:

instructions to determine whether an application class, of the action code, implements an action unrelated to the network; and

instructions to inject a code sequence that replaces a statement in the action code when

the application class implements the action unrelated to the network.

10. The non-transitory computer-readable memory device of claim 6 , further comprising:

instructions to perform a flow analysis on the flash content action code and to inspect a stack of the flash content action code to locate a code parameter related to making the network request associated with the flash content;

instructions to rewrite the code parameter to redirect the network communication associated with the flash content to the secure network device; and

instructions to replace the code parameter with the rewritten code parameter.

11. A method comprising:

receiving, by a network device and via a network, executable content;

disassembling, by the network device, the executable content into action code;

locate, by the network device, a portion of the action code making a network request associated with the executable content, where locating the portion of the action code includes:

examining stack and trace constants of the action code to locate a function,

determining whether the function is associated with making the network request associated with the executable content, and

examining the action code to determine the number of arguments for the function when the function is associated with making the network request associated with the executable content;

rewriting, by the network device, the portion of the action code making the network request to redirect a network communication associated with the executable content to the secure network device, where rewriting the portion of the action code includes:

replacing a function invocation in the action code with a rewriting function, to redirect before invoking the function, the network communication associated with the executable content to the network device, and

providing, by the network device, secure communication of the executable content, via the network, to a client device associated with the executable content.

12. The method of claim 11 , further comprising:

injecting a client side process into the flash content action code, where the client side process rewrites the flash content action code, to redirect a network request for a flash object to the secure network device, when the flash object is of a certain class.

13. The method of claim 12 , where the client side process injects a code sequence that replaces a statement in the flash content action code when an application class of the flash content action code implements a non-network related action.

14. The method of claim 11 , where providing the secure communication includes:

establishing a secure socket connection with the client device.

15. The method of claim 11 , further comprising:

performing a flow analysis on the action code, where performing the flow analysis includes inspecting a stack of the action code to locate a code parameter related to making the network request associated with the executable content;

rewriting the code parameter to redirect the network communication associated with the executable content to the secure network device; and

replacing the code parameter with the rewritten code parameter.

16. A method comprising:

determining, by a processor, whether an object of executable content action code is of a certain class;

rewriting, by the processor, arguments of the executable content action code, to redirect a network communication associated with the object to a network device, when the object is determined to be of the certain class;

determining, by the processor, whether an application class, of the executable content action code, implements one or more actions that are unrelated to the network;

injecting, by the processor, a code sequence that replaces a statement in the executable content action code when the executable content action code implements the one or more actions that are unrelated to the network;

examining, by the processor, stack and trace constants of the executable content action code to locate an action related to making the network request associated with the executable content;

determining, by the processor, a number of arguments for the action; and

replacing, by the processor, invocation of the action, in the executable content action code, with a rewriting function that redirects, before invoking the action, the network communication associated with the executable content to a secure network device.

17. The method of claim 16 , further comprising:

injecting a client side process into the action code.

18. The method of claim 16 , further comprising:

performing a flow analysis on the action code, where performing the flow analysis includes inspecting a stack of the action code to locate a code parameter related to making the network request associated with the executable content;

rewriting the code parameter to redirect the network communication associated with the executable content to the secure network device; and

replacing the code parameter with the rewritten code parameter.

19. The method of claim 16 , where the executable content action code includes one or more of:

flash content,

JavaScript, or

ActiveX code.

Assignments (16)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 3, 2025
From: PULSE SECURE LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0027 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 053638-0220 Recorded Dec 1, 2020
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: PULSE SECURE, LLC
Reel/Frame 054559/0368 →
SECURITY INTEREST Recorded Aug 29, 2020
From: PULSE SECURE, LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 053638/0220 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 042380/0859 Recorded Aug 29, 2020
From: CERBERUS BUSINESS FINANCE, LLC, AS AGENT
To: PULSE SECURE, LLC
Reel/Frame 053638/0259 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2020
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
Reel/Frame 053271/0307 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL 037338, FRAME 0408 Recorded May 1, 2017
From: US BANK NATIONAL ASSOCIATION
To: PULSE SECURE, LLC
Reel/Frame 042381/0568 →
GRANT OF SECURITY INTEREST PATENTS Recorded May 1, 2017
From: PULSE SECURE, LLC
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 042380/0859 →
SECURITY INTEREST Recorded Dec 21, 2015
From: PULSE SECURE, LLC
To: U.S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037338/0408 →
SECURITY INTEREST Recorded Dec 30, 2014
From: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 034713/0950 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2014
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 034045/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2006
From: XIA, ZEQING
To: JUNIPER NETWORKS, INC.
Reel/Frame 017631/0879 →