Call Stack Integrity Check on Client Server Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client/server systems face challenges in distinguishing between legitimate user interactions and malicious activities, such as bot attacks and injected malware, which compromise the security of web servers by executing unauthorized functions.

Innovation Solution

Implementing a supervisor function that intercepts and validates calls to protected functions on client computers, using caller function identifiers and a polymorphic protocol to ensure only authorized functions can execute protected operations, thereby preventing unauthorized access and data breaches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a browser executes instructions received from a web server, then complex user interfaces can be generated and presented to users, but malicious bots and injected malware can also execute unauthorized functions to commit fraud and data theft

Engineering Contradiction:
Improvebrowser functionalityVSAvoidmalware execution
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a supervisor function as an intermediary between the browser and protected functions. This supervisor validates the call stack of any function attempting to access protected operations, acting as a mediator that allows legitimate browser functionality while blocking malicious bots and malware from executing unauthorized functions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary validation of the call stack before executing protected functions. By checking whether the calling function is authorized in advance, the system prevents malicious code from executing protected operations without requiring the malicious code to have already infiltrated the browser.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If web server administrators implement security measures to prevent attacks, then unauthorized functions can be blocked, but legitimate user interactions may be restricted

Engineering Contradiction:
ImprovesecurityVSAvoiduser interaction
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies local quality by differentiating between authorized and unauthorized call stacks. The supervisor function examines the specific calling context (local quality) to determine whether to allow or block execution, ensuring that security measures only affect malicious interactions while preserving legitimate user operations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The supervisor function provides feedback about the calling function's authorization status to the protected function. This feedback mechanism allows the system to make informed decisions about whether to execute the protected function, balancing security with usability by allowing legitimate calls while blocking malicious ones.

Inventive Principle:
Principle #23Feedback

3Reliability

If the system validates call stacks to distinguish legitimate users from bots, then security against bot attacks improves, but system complexity increases

Engineering Contradiction:
ImproveauthenticationVSAvoidvalidation mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The supervisor function serves multiple purposes: it validates call stacks, distinguishes between legitimate users and bots, and controls access to protected functions. By making the validation mechanism multi-functional, the patent reduces overall system complexity while improving authentication reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUSRE50024E1Call stack integrity check on client/server systems
Publication Date: 2024.06.25 SHAPE SECURITY INC
  • USRE50024E1 patent drawing
  • USRE50024E1 patent drawing
  • USRE50024E1 patent drawing

AI summary

Computer systems and methods in various embodiments are configured for improving the security and efficiency of client computers interacting with server computers through supervising instructions defined in a web page and/or web browser. In an embodiment, a computer system comprising one or more processors, coupled to a remote client computer, and configured to send, to the remote client computer, one or more instructions, which when executed by the remote client computer, cause a run-time environment on the remote client computer to: intercept, within the run-time environment, a first call to execute a particular function defined in the run-time environment by a first caller function in the run-time environment; determine a first caller identifier, which corresponds to the first caller function identified in a run-time stack maintained by the run-time environment; determine whether the first caller function is authorized to call the particular function based on the first caller identifier.