Secure Web Framework Using Sandboxed Iframes and Shadow DOM
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods to prevent malicious web browser extensions from interfering with interactions between users and web application servers are inadequate, as they rely on detection mechanisms that can be bypassed by sophisticated attacks, and users struggle to identify malicious extensions due to lack of clear information during installation.
Innovation Solution
A method that involves transmitting a web browser-intelligible file with a custom element to create a sandboxed page, embedded in iframes with a shadow DOM, to protect sensitive content from privileged extensions, using verification tokens and a proxy agent to ensure secure interaction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If detection mechanisms are used to identify malicious extensions, then security against malicious extensions is improved, but the mechanisms can be bypassed by sophisticated attacks
Solution Approach 1:
The web page is segmented into protected portions that are isolated in sandboxed iframes, separating critical content from the rest of the page. This segmentation prevents malicious extensions from accessing protected portions even if they compromise other parts of the page.
Solution Approach 2:
A shadow DOM is introduced as an intermediary layer between the protected web content and the browser extension environment. This intermediary encapsulates the protected content, creating a barrier that prevents direct access by malicious extensions while allowing controlled interaction.
2Adaptability or versatility
If privileged access is granted to browser extensions, then functionality and user experience are improved, but security risks and data exposure increase
Solution Approach 1:
Different portions of the web page are treated differently: protected portions are isolated in sandboxed iframes with shadow DOM encapsulation, while non-protected portions remain accessible to extensions. This local differentiation allows extensions to maintain functionality where needed while protecting critical data.
Solution Approach 2:
The web application is divided into protected and non-protected segments. The sandboxed iframe contains only the necessary protected content, minimizing the attack surface while allowing extensions to interact with non-protected portions freely.
3Reliability
If sandboxed iframes with shadow DOM are used to protect content, then security against extension interference is improved, but device complexity increases
Solution Approach 1:
The shadow DOM provides self-contained encapsulation for protected content, managing its own scope and accessibility rules without requiring complex external control mechanisms. This self-service capability simplifies the overall architecture despite the added layer of protection.
4Measurement precision
If verification tokens are implemented to ensure integrity, then detection of tampering is improved, but processing time and computational overhead increase
Solution Approach 1:
Verification tokens are generated and attached to protected content in advance, before the user visits the page. This preliminary action allows for rapid verification during page loading without requiring complex real-time computation, reducing processing time while maintaining detection precision.
Data Source
AI summary
There is disclosed a method of preventing privileged web browser extensions installed in a web browser from interfering in interactions between a user of the web browser and a web application server accessible via the web browser, the method including transmitting a web browser-intelligible file to the web browser (including a custom element designating an enclave portion); creating a sandboxed page; copying at least part of the enclave portion to the sandboxed page to create a local enclave; embedding the sandboxed page in a first iframe for rendering; embedding the first iframe in a second iframe; providing an API for the local enclave using web-accessible resources for access to entities outside the local enclave; providing a software agent in the second iframe to act as a proxy between the first iframe and external entities; and encapsulating the second iframe in a shadow document object model associated with a host page.


