Browser Debug Channel via Repeater Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging applications across client-server environments poses security risks due to the need for privilege elevation, as browser-based applications at clients lack sufficient privileges to debug server-based applications without installing additional enabling software.

Innovation Solution

Establishing a bidirectional communication channel between browser-based debugger and debuggee applications allows for debugging without elevating privilege levels, using a channel repeater module to transmit debug-related messages and perform debug operations, enabling low-privilege debugging through standard web security mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If privilege elevation is performed to enable client-based browser applications to debug server-based applications, then debugging capability is improved, but security risks increase

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a channel repeater module as an intermediary component that enables communication between the debugger and debuggee applications without requiring privilege elevation. The channel repeater acts as a mediator that transmits debug-related messages bidirectionally, allowing the client-based browser application to debug the server-based application while maintaining security boundaries and avoiding direct privilege access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If additional enabling software is installed to raise privilege level for debugging, then debugging functionality is improved, but system complexity and installation requirements worsen

Engineering Contradiction:
Improvedebugging functionalityVSAvoidsoftware installation requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the privilege elevation requirement from the debugging process by implementing a channel repeater module that operates within existing privilege boundaries. This removes the need for additional enabling software installations while preserving debugging functionality, as the channel repeater handles the communication protocol without requiring elevated permissions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The channel repeater module serves multiple functions: it establishes bidirectional communication channels, transmits debug-related messages, and manages the debugging session without requiring separate privilege elevation software. This multi-functional approach eliminates the need for additional installations while maintaining full debugging capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If high privilege is granted to debugger processes to enable full debugging functionality, then debugging capability is improved, but susceptibility to software cracking and security breaches worsens

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsoftware cracking capability
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The channel repeater module serves as an intermediary that enables debugging operations without transferring high privileges to the debugger process. By mediating the communication between client and server applications, the channel repeater allows debugging functionality to operate within secure privilege boundaries, preventing the debugger from accessing sensitive information or bypassing copy protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2427826B1Low-privilege debug channel
Publication Date: 2019.01.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2427826B1 patent drawingFigure 1~2
  • EP2427826B1 patent drawingFigure 3
  • EP2427826B1 patent drawingFigure 4

AI summary

A browser-based debugger application is configured to debug a second browser based application. A channel repeater module is invoked to establish a bidirectional communication channel between the debugger application and the second application. A start indication is transmitted from the second application through the channel repeater module. The second application enters a blocked wait state. A debug operation is performed on the second application. A debug request message is transmitted to the second application through the channel repeater module to cause the second application to transition from the blocked wait state to a run state and to perform a debug action indicated by the debug request message. A response to the debug request message is received from the second application through the channel repeater module. The second application transitions to the blocked wait state from the run state.