CSS Pseudo-class Mitigation for Privacy Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Pseudo-class styles in CSS can reveal personally identifiable information, such as browsing history, which can be exploited by attackers to deliver targeted attacks, through structural formatting changes and image requests that infer user actions.

Innovation Solution

Implementing a mitigation component in web browsers that limits CSS pseudo-class functionality to allow only visual formatting changes, blocking structural formatting changes and image fetching that could expose personally identifiable information, by using a whitelist of acceptable properties and sanitizing the calculated format to prevent script access and image fetching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If CSS pseudo-classes are used to apply styles based on user browsing history, then visual formatting of web content is improved, but personally identifiable information about user actions is revealed

Engineering Contradiction:
Improvevisual formatting capabilityVSAvoidpersonally identifiable information
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent extracts and removes the harmful functionality from CSS pseudo-classes that reveals personally identifiable information. Specifically, it disables structural formatting changes and image fetching operations that could expose user browsing history, while preserving only safe visual formatting capabilities through a whitelist approach.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameters of CSS pseudo-class functionality by restricting which properties can be modified. Instead of allowing all CSS properties to be changed based on browsing history, it limits changes to a predefined whitelist of safe visual properties, thereby changing the scope of information disclosure.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If CSS pseudo-classes enable structural formatting changes, then content layout is improved, but attack vectors for targeted attacks increase

Engineering Contradiction:
Improvecontent layout flexibilityVSAvoidattack vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent removes the harmful structural formatting capabilities from CSS pseudo-classes that could be exploited for targeted attacks. It specifically blocks properties that affect document structure and layout, eliminating the attack vector while preserving safe visual styling options.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If CSS pseudo-classes trigger image requests to remote sources, then visual content is improved, but personally identifiable information is disclosed through HTTP traffic analysis

Engineering Contradiction:
Improvevisual content renderingVSAvoidbrowsing history information
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent extracts and blocks the image fetching functionality from CSS pseudo-class processing. It prevents remote image requests that would otherwise reveal user browsing history through HTTP traffic analysis, while maintaining the ability to display local images and safe visual content.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9092536B2Enabling pseudo-class styles without revealing personal information
Publication Date: 2015.07.28 ZHIGU HLDG
  • US9092536B2 patent drawing
  • US9092536B2 patent drawing
  • US9092536B2 patent drawing

AI summary

Various embodiments enable particular CSS pseudo-classes to be employed, but limit particular functionality aspects of those pseudo-classes that can lead to divulging personally identifiable information. Thus, various embodiments can change how a CSS pseudo-class is allowed to function. For example, in at least some embodiments, CSS pseudo-classes are permitted to be used to make the visual formatting changes to a web page, but not structural formatting changes. That is, changes that do not affect the structure of content within a web document are allowed, while changes that affect the structure of the content are not allowed.