Intermediary Browser Detection via Instruction Injection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current technologies face challenges in distinguishing between legitimate user browsers and malicious bots, which are used for unauthorized activities, making it difficult for web servers to differentiate and respond appropriately.
Innovation Solution
A system and method that intercepts instructions sent to client computers, injects browser detection instructions, and determines whether the browser is legitimate or a bot by analyzing the internal state of the execution environment, using techniques such as stack traces, predefined objects, and other detection tests, to differentiate between the two.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional browser identification methods are used, then simple implementation is maintained, but security against bot attacks deteriorates
Solution Approach 1:
The detection system is segmented into multiple independent detection tests (stack trace analysis, predefined object checking, timing tests, canvas fingerprinting) that can be executed separately and combined. Each test targets specific bot behaviors, allowing comprehensive security without requiring a single complex detection mechanism.
Solution Approach 2:
The patent introduces an intermediary detection layer between the browser and web server. The detection system acts as a mediator that intercepts browser requests, performs multiple detection tests, and determines whether to allow or block access based on the analysis results, without requiring changes to the core browser or server infrastructure.
2Reliability
If multiple detection tests are performed to accurately identify bots, then security improves, but processing time increases
Solution Approach 1:
The system performs a subset of detection tests based on risk assessment and observed browser behavior. Not all detection tests are executed for every request - the system selectively applies tests based on initial indicators, performing only necessary checks to maintain accuracy while minimizing processing time overhead.
Solution Approach 2:
The detection system performs preliminary lightweight checks (such as user-agent analysis, referrer verification) before committing to more resource-intensive detection tests. This preliminary action allows the system to quickly filter obvious bot traffic or legitimate users, reserving complex detection methods for borderline cases that require deeper analysis.
3Adaptability or versatility
If detection instructions are injected into browser instructions, then bot identification capability improves, but system complexity increases
Solution Approach 1:
The detection instructions use universal JavaScript constructs and browser APIs that work across all modern browsers. The same detection framework can identify multiple types of bots (headless browsers, scrapers, automation tools) using a single versatile system, rather than requiring separate detection mechanisms for each bot type.
Solution Approach 2:
The detection system modifies browser behavior by changing execution parameters (timing, sequence of operations, resource usage patterns) rather than fundamentally altering browser architecture. By injecting instructions that measure execution time, memory usage, and operational sequences, the system detects bots through parameter variations without requiring complex structural changes.
Data Source
AI summary
In an embodiment, a computer system is configured to improve security of server computers interacting with client computers through an intermediary computer, and comprising: a memory comprising processor logic; one or more processors coupled to the memory, wherein the one or more processors execute the processor logic, which causes the one or more processors to: intercept, from a server computer, one or more original instructions to be sent to a browser being executed on a client computer; inject, into the one or more original instructions, one or more browser detection instructions, which when executed cause one or more operations to be performed by an execution environment on the client computer and send a result that represents an internal state of the execution environment after performing the one or more operations to the intermediary computer; send the one or more original instructions with the one or more browser detection instructions to the browser; receive the result and determine whether the browser is a legitimate browser, or a headless browser, based, at least in part, on the result.


