Platform Code Security Evaluation via Metadata Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In contemporary computing, running untrusted code from the Internet poses security risks due to potential exposure of elevated privileges, making it difficult to secure platforms that enable code downloads without prompting users, as users are often unable to make informed security decisions and platform code flaws can inadvertently expose untrusted code to unsafe operations.

Innovation Solution

A methodology to mark and evaluate platform code as security critical or safe for being called by untrusted code, assessing whether the code leaks criticality by analyzing its callers and callees, and applying metadata to identify and audit critical operations, ensuring secure execution environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If platform code is marked as security critical using metadata, then the likelihood of security flaws is reduced, but the code-review process becomes more complex and burdensome

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidcode-review complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system automatically evaluates platform code by analyzing metadata annotations and code paths to determine security criticality, eliminating the need for manual security team review. The code itself (through metadata) provides the information needed for security evaluation, making the process self-service rather than relying on external security experts.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual mechanical process of security code review by security teams is replaced with an automated computational system that analyzes metadata and code paths algorithmically. This substitution transforms a labor-intensive human process into an automated technical process that can evaluate code objectively and consistently.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If user prompting is implemented for permission requests, then security control is improved, but user experience deteriorates due to inability to make informed decisions

Engineering Contradiction:
Improvesecurity controlVSAvoiduser operation ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system introduces an automated security evaluation mechanism as an intermediary between the code and the user. Instead of directly prompting the user with security decisions they cannot make, the system automatically evaluates the code's security criticality through metadata analysis and code path examination, then makes authorization decisions on behalf of the user.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The security evaluation system serves itself by automatically analyzing code metadata and determining security criticality without requiring user intervention. The system performs its own security assessment and makes authorization decisions, eliminating the need for users to make informed security decisions they are ill-equipped to make.

Inventive Principle:
Principle #25Self-service

3Reliability

If sandboxing is implemented to limit application privileges, then security against untrusted code is improved, but platform functionality is restricted

Engineering Contradiction:
Improvesecurity against untrusted codeVSAvoidplatform functionality
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system applies different security evaluation standards to different parts of the platform code based on their security criticality. Code marked with specific metadata annotations is evaluated more stringently and granted appropriate permissions, while non-critical code receives standard treatment. This localized quality approach allows the platform to maintain security for critical operations while preserving functionality for non-critical operations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The security permission model is made dynamic rather than static. Instead of applying uniform sandbox restrictions to all code, the system dynamically evaluates each code path's security criticality through metadata analysis and adjusts permissions accordingly. This allows the platform to adaptively grant or restrict access based on the actual security needs of each code segment.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7926105B2Using security-related attributes
Publication Date: 2011.04.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7926105B2 patent drawing
  • US7926105B2 patent drawing
  • US7926105B2 patent drawing

AI summary

Described is a technology including an evaluation methodology by which a set of privileged code such as a platform's API method may be marked as being security critical and/or safe for being called by untrusted code. The set of code is evaluated to determine whether the code is security critical code, and if so, it is identified as security critical. Such code is further evaluated to determine whether the code is safe with respect to being called by untrusted code, and if so, is marked as safe. To determine whether the code is safe, a determination is made as to whether the first set of code leaks criticality, including by evaluating one or more code paths corresponding to one or more callers of the first set of code, and by evaluating one or more code paths corresponding to one or more callees of the first set of code.