Javascript Landmark Fingerprinting for Bot Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting bots and automated attacks on websites and mobile applications are inefficient and lack effective mechanisms, especially with the deprecation of user-agent strings.

Innovation Solution

A method and apparatus for data collection that utilizes client-side execution of a script to identify Javascript 'landmark' features, allowing for efficient bot detection by testing against specific API calls and function calls, rather than an unconstrained set of API calls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional user-agent based fingerprinting is used, then browser identification is straightforward, but the method is being deprecated and lacks computational efficiency for modern privacy-focused browsers

Engineering Contradiction:
Improvebrowser identification accuracyVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent segments the fingerprinting process into two distinct phases: coarse-grained evaluation using landmark features to identify browser type, and fine-grained evaluation to determine specific version. This segmentation allows the system to achieve reliable identification while reducing computational overhead by only performing detailed analysis when necessary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-identifying landmark Javascript features that serve as quick indicators of browser type. These landmark features are evaluated first before any detailed version analysis, enabling the system to quickly eliminate incompatible browsers and focus computational resources only on relevant candidates.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If an unconstrained set of API calls is tested for fingerprinting, then comprehensive browser identification is achieved, but computational efficiency deteriorates

Engineering Contradiction:
Improvebrowser version identification accuracyVSAvoidclient-side operation efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the API testing process into two hierarchical levels: landmark feature testing for broad browser type classification, and detailed API function testing for specific version identification. This segmentation ensures comprehensive measurement precision while maintaining productivity by limiting detailed testing to only when landmark features indicate a match.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by testing only a selective subset of API calls rather than an unconstrained set. The system tests landmark features first, and only proceeds to test additional API functions if the initial landmarks suggest a potential match, thereby achieving sufficient precision without excessive computational action.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If detailed API function testing is performed for all browsers, then accurate version detection is achieved, but computational resources are wasted on incompatible browsers

Engineering Contradiction:
Improvebrowser version detection accuracyVSAvoidcomputational resource waste
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent performs preliminary action by evaluating landmark features before detailed version detection. These landmark features serve as a filtering mechanism that quickly identifies compatible browsers, preventing wasteful computational resource expenditure on browsers that are fundamentally incompatible with the application.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by performing detailed API function testing only on browsers that pass the landmark feature evaluation. This selective approach ensures accurate version detection for compatible browsers while avoiding the energy waste of testing incompatible browsers with the same level of detail.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12212598B2Javascript engine fingerprinting using landmark features and API selection and evaluation
Publication Date: 2025.01.28 AKAMAI TECHNOLOGIES INC
  • US12212598B2 patent drawing
  • US12212598B2 patent drawing
  • US12212598B2 patent drawing

AI summary

A method and apparatus for data collection to facilitate bot detection. According to this approach, and in lieu of conventional user agent-based fingerprinting, a client script is executed to attempt to identify one or more Javascript “landmark” features. In one embodiment, a landmark Javascript feature is a Javascript implementation that exists in a first browser type but not a second browser type distinct from the first browser type, and that also exists in one or more releases of the first browser type, but not in one or more other releases of the first browser type. By testing against landmark Javascript features as opposed to an unconstrained set of API calls and the like, the technique herein provides for much more computationally-efficient client-side operation.