Procedural Code Generation for Bot Detection Obfuscation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current bot detection mechanisms are vulnerable to attackers who can easily manipulate challenge code and interrogation results due to the use of plain text, allowing malicious bots to bypass security measures.

Innovation Solution

The implementation of procedural code generation techniques to obfuscate challenge code and interrogation results, using reversible transformations and client-generated random values, making it difficult for attackers to understand the challenge code and outputs sent to the bot detection server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If challenge code and interrogation results are sent as plain text, then it is easy for attackers to analyze and manipulate the code, but the ease of operation and debugging is improved

Engineering Contradiction:
Improveease of debuggingVSAvoidvulnerability to manipulation
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies procedural code generation to create obfuscated versions of the challenge code and interrogation results. Instead of sending plain text, the system generates transformed copies that preserve the functional behavior but hide the underlying logic and data structures from attackers, making analysis and manipulation significantly more difficult while maintaining the ability to debug through controlled deobfuscation

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transforms the challenge code and interrogation results by applying procedural generation techniques that change the parameters of the code representation. This includes transforming readable text into obfuscated forms with different structural parameters, making it difficult for attackers to understand and manipulate while preserving the essential functionality for legitimate clients

Inventive Principle:
Principle #35Parameter changes

2Object-affected harmful factors

If procedural code generation is used to obfuscate challenge code, then security against manipulation is improved, but the device complexity increases

Engineering Contradiction:
Improveresistance to manipulationVSAvoidcode generation complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent segments the challenge code generation process into distinct procedural steps, where each segment handles a specific aspect of obfuscation. This modular approach manages complexity by breaking down the overall transformation task into smaller, more manageable components that can be independently developed and maintained

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces procedural code generation as an intermediary layer between the original challenge code and the transmitted data. This intermediary transformation process obfuscates the code while preserving its functional semantics, creating a buffer that protects against manipulation without requiring direct modification of the core security logic

Inventive Principle:
Principle #24Intermediary (Mediator)

3Object-affected harmful factors

If obfuscation techniques are applied to interrogation results, then attacker understanding is reduced, but the processing time increases

Engineering Contradiction:
Improveattacker understandingVSAvoidprocessing time
Core Design Contradiction:
Object-affected harmful factorsVSLoss of time

Solution Approach 1:

The patent applies obfuscation techniques in advance during the challenge code generation phase, before the actual interrogation and analysis occur. This preliminary transformation ensures that the obfuscated form is already in place when data is transmitted, reducing the need for real-time processing and minimizing time loss during critical detection operations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11748460B2Procedural code generation for challenge code
Publication Date: 2023.09.05 IMPERVA INC
  • US11748460B2 patent drawing
  • US11748460B2 patent drawing
  • US11748460B2 patent drawing

AI summary

A method by one or more computing devices for obfuscating challenge code. The method includes obtaining challenge code for interrogating a client, inserting, into the challenge code, code for obfuscating outputs that are to be generated by the client, where the code for obfuscating the outputs includes code for applying a first chain of reversible transformations to the outputs using client-generated random values, interning strings appearing in the challenge code with obfuscated strings, inserting code for deobfuscating the obfuscated strings into the challenge code, inlining function calls in the challenge code, removing function definitions that are unused in the challenge code due to the inlining, reordering the challenge code without changing the functionality of the challenge code, and providing the challenge code for execution by the client.