IP Library Patent Application 18693608
Patent Application
App. No. 18/693,608

SYSTEMS AND METHODS FOR A RUNTIME VIRTUAL BARRIER FOR FINE GRAINED EXECUTION CONTROL

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 None
App. No.
18/693,608
Filed
Mar 20, 2024
Art Unit
2443
USPC
726/22
Abstract

Systems, methods, and non-transitory computer readable media including instructions for implementing a runtime virtual barrier for fine grained execution control are disclose. Implementing the runtime virtual barrier for fine grained execution control includes receiving, by an application capable of JavaScript execution, an executable code including an API invocation; intercepting, by a virtual barrier, the API invocation; determining that the API invocation is an invocation for a native API configured for subsequent execution in response to a trigger event; based on the determination that the API invocation is an invocation for a native API configured for subsequent execution, recording an invocation source identifier; and upon occurrence of the trigger event: retrieving the invocation source identifier; and influencing execution of the native API based on the invocation source identifier.

Claims (45)

1 . A non-transitory computer readable medium containing instructions that when executed by at least one processor cause the at least one processor to perform operations, comprising:

receiving, by an application capable of JavaScript execution, an executable code including an API invocation;

intercepting, by a virtual barrier, the API invocation;

determining that the API invocation is an invocation for a native API configured for subsequent execution in response to a trigger event;

based on the determination that the API invocation is an invocation for a native API configured for subsequent execution, recording an invocation source identifier; and

upon occurrence of the trigger event:

retrieving the invocation source identifier; and

influencing execution of the native API based on the invocation source identifier.

2 . The non-transitory computer readable medium of claim 1 , wherein determining that the API invocation is an invocation for a native API configured for subsequent execution in response to a trigger event includes inspecting at least one argument of the API invocation, and identifying the at least one argument as a callback function.

3 . The non-transitory computer readable medium of claim 1 , wherein the instructions are further executable by the at least one processor to cause the at least one processor to perform additional operations, comprising: prior to detecting the trigger event, generating a wrapped API and replacing the invocation for the native API with the wrapped API, wherein influencing execution of the native API includes executing the wrapped API in place of the native API.

4 . The non-transitory computer readable medium of claim 3 , wherein replacing the invocation for the native API with the wrapped API imposes the virtual barrier between the executable code and the native API.

5 . The non-transitory computer readable medium of claim 3 , wherein recording the invocation source identifier includes storing an association between the wrapped API, the native API, and the invocation source identifier.

6 . The non-transitory computer readable medium of claim 5 , wherein the association is stored in a map accessible by the wrapped API and the native API.

7 . The non-transitory computer readable medium of claim 1 , wherein influencing execution of the native API based on the invocation source identifier includes modifying the execution when the invocation source identifier is determined to violate a security rule.

8 . The non-transitory computer readable medium of claim 7 , wherein modifying the execution includes suspending the execution.

9 . The non-transitory computer readable medium of claim 7 , wherein modifying the execution includes:

detecting an object having a size exceeding a predetermined threshold; and

in response to detecting an object having a size exceeding a predetermined threshold, decreasing the size of the object.

10 . The non-transitory computer readable medium of claim 9 , wherein decreasing the size includes restoring an original size of the object.

11 . The non-transitory computer readable medium of claim 1 , wherein the instructions are further executable by the at least one processor to cause the at least one processor to perform additional operations, comprising: inspecting at least one return value of the influenced execution of the native API.

12 . The non-transitory computer readable medium of claim 1 , wherein the trigger event is a network request.

13 . The non-transitory computer readable medium of claim 1 , wherein the trigger event is a Document Object Model (DOM) event.

14 . The non-transitory computer readable medium of claim 1 , wherein the trigger event is a user input.

15 . The non-transitory computer readable medium of claim 14 , wherein the user input is at least one of: a computer mouse gesture, a gesture on a touch screen, a cursor movement, or a key press.

16 . The non-transitory computer readable medium of claim 1 , wherein the source identifier is a Uniform Resource Locator (URL).

17 . The non-transitory computer readable medium of claim 1 , wherein the instructions are further executable by the at least one processor to cause the at least one processor to perform additional operations, comprising: recording an invocation sequence of invocations of the native API in the executable code and determining an asynchronous loop when the invocation sequence satisfies at least one invocation sequence pattern parameter.

18 . A method for performing cybersecurity operations for tracing an execution of an asynchronous Application Programming Interface (API), the method comprising:

receiving, by an application capable of JavaScript execution, an executable code including an API invocation;

intercepting, by a virtual barrier, the API invocation;

determining that the API invocation is an invocation for a native API configured for subsequent execution in response to a trigger event;

based on the determination that the API invocation is an invocation for a native API configured for subsequent execution, recording an invocation source identifier;

upon detecting the trigger event:

retrieving the invocation source identifier; and

influencing execution of the native API based on the invocation source identifier.

19 . The method of claim 18 , wherein influencing execution of the native API based on the invocation source identifier includes modifying the execution when the invocation source identifier is determined to be suspicious.

20 . A system for performing cybersecurity operations for tracing an execution of an asynchronous Application Programming Interface (API), the system comprising:

at least one processor configured to:

receive, by an application capable of JavaScript execution, an executable code including an API invocation;

intercept, by a virtual barrier, the API invocation;

determine that the API invocation is an invocation for a native API configured for subsequent execution in response to a trigger event;

based on the determination that the API invocation is an invocation for a native API configured for subsequent execution record an identifier for a source of the native API;

upon detecting the trigger event:

retrieve the invocation source identifier; and

influence execution of the native API based on the invocation source identifier.

21 - 159 . (canceled)

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jun 25, 2026
From: HSBC BANK PLC
To: SERAPHIC ALGORITHMS LTD
Reel/Frame 075079/0275 →
SECURITY INTEREST Recorded May 12, 2025
From: SERAPHIC ALGORITHMS LTD
To: HSBC BANK PLC
Reel/Frame 071088/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2024
From: COHEN, AVIHAY
To: SERAPHIC ALGORITHMS LTD.
Reel/Frame 066837/0430 →