Input Validation via Mathematical Expression Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing input validation systems face challenges in validating user inputs locally with up-to-date algorithms without exposing themselves to remote code execution vulnerabilities, particularly when validation algorithms change frequently.

Innovation Solution

The method employs mathematical expressions stored as text strings within a validation package, which are used to scan and validate input strings, preventing the distribution of executable code and thus mitigating remote code execution risks. This involves a scan controller to locate hit strings, a validation controller to evaluate mathematical expressions, and an application that processes input strings to generate validation results and obfuscate sensitive information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If validation algorithms are updated periodically, then validation effectiveness is improved, but remote code execution vulnerability risk increases

Engineering Contradiction:
Improvevalidation effectivenessVSAvoidremote code execution vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the harmful executable code component from the validation algorithm distribution process. Instead of distributing executable validation algorithms that could contain vulnerabilities, the system distributes only data-driven validation rules (regex patterns, validation logic) that are incapable of executing arbitrary code. This separation eliminates the remote code execution vulnerability while preserving validation effectiveness through continuous updates of the data-driven rules.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a compiler intermediary that translates high-level validation algorithms into safe, data-driven representations. The compiler acts as a mediator between the validation algorithm source and the execution environment, converting potentially harmful executable code into safe validation rules that can be updated periodically without introducing remote code execution vulnerabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If validation is performed locally without web service access, then latency is reduced, but ability to update validation algorithms becomes limited

Engineering Contradiction:
Improvevalidation latencyVSAvoidvalidation algorithm update capability
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by pre-compiling validation algorithms into data-driven validation rules that can be distributed and stored locally. The compilation process occurs in advance, producing portable validation rule sets that can be deployed to local systems without requiring web service access during execution. This enables both low-latency local validation and periodic updates through redistribution of updated rule sets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamics by making the local validation system updateable through redistribution of data-driven validation rules. While the local execution environment remains static for performance, the validation rules themselves are dynamic and can be updated by redistributing new rule sets from validation algorithm sources, combining local speed with update capability.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If executable validation code is distributed, then validation functionality is complete, but security exposure increases

Engineering Contradiction:
Improvevalidation functionalityVSAvoidsecurity exposure
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent substitutes the mechanical execution model with a data-driven validation model. Instead of distributing executable code that mechanically performs validation operations, the system distributes data structures (regex patterns, validation rules) that describe validation logic. The execution engine on the client side interprets these data structures, achieving complete validation functionality while eliminating security exposure associated with distributing executable validation code.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12019758B2Input validation using mathematical expressions
Publication Date: 2024.06.25 INTUIT INC
  • US12019758B2 patent drawing
  • US12019758B2 patent drawing
  • US12019758B2 patent drawing

AI summary

A method implements input validation using mathematical expressions. The method includes receiving an input string, scanning the input string to locate a hit string matching a hit expression from a validation package, and converting the hit string to a list of values corresponding to characters from the hit string. The method further includes validating the hit string by evaluating a validation expression from the validation package using the list of values to generate a validation result and returning the validation result.