Auto-Elevating Software Instructions for User Intent Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing devices often perform tasks automatically without explicit user input, making it difficult to distinguish between legitimate and malicious instructions, leading to user frustration and potential security risks due to redundant verification requests.

Innovation Solution

Implementing a mechanism where computer-executable instructions that perform consequential actions must present a user interface and receive user input at a high privilege level before executing, with optional use of a wrapper to ensure compliance with guidelines, thereby reducing redundant user verification and enhancing security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the computing device double-checks each instruction with the user prior to performing it, then the security against malicious instructions is improved, but the user frustration increases due to repeated verification requests

Engineering Contradiction:
ImprovesecurityVSAvoiduser frustration
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary actions by establishing user intent and context before the consequential action occurs. The computing device determines whether a user has already provided input in response to a previously presented user interface, and uses this pre-established intent to avoid redundant verification requests, thereby maintaining security while reducing user frustration.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the computing device requires user input for all consequential actions, then the authentication of user intent is improved, but the productivity decreases due to additional verification steps

Engineering Contradiction:
Improveauthentication of user intentVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback mechanisms to determine whether a user has already provided input in response to a previously presented user interface. This feedback allows the computing device to authenticate user intent without requiring redundant verification steps, thereby maintaining authentication reliability while improving productivity by avoiding unnecessary delays.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If the computing device filters and reduces the number of double-checks, then the user frustration is reduced, but the security coverage decreases due to fewer verification checks

Engineering Contradiction:
Improveuser frustrationVSAvoidsecurity coverage
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system applies local quality by differentiating between consequential and non-consequential actions. The computing device determines whether an action is consequential and applies verification requirements selectively. This allows the system to reduce user frustration by avoiding redundant checks for non-consequential actions while maintaining security coverage for consequential actions that require verification.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8996866B2Unobtrusive assurance of authentic user intent
Publication Date: 2015.03.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8996866B2 patent drawing
  • US8996866B2 patent drawing
  • US8996866B2 patent drawing

AI summary

Computer-executable instructions that are directed to the performance of consequential actions and automatically elevate to execute at a higher privilege level to do so can perform such consequential actions only after user notification. Doing so can enable monitoring processes to avoid presenting duplicative user notification upon detection of such auto-elevation. In addition, prior to presenting user notification, input from the execution environment can be ignored and access to DLLs for performing consequential actions can be avoided. A static analyzer can identify non-conforming computer-executable instructions. A wrapper can be utilized to provide compliance by otherwise unknown or non-conforming computer-executable instructions.