Automated Application Permission Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Many applications are developed with unused code segments, leading to incorrect permissions being included in the submitted list, which can result in the application failing to operate properly or being flagged as a security risk, causing user experience issues and unnecessary security reviews.

Innovation Solution

A system and process that reviews application packages to identify differences between the features actually requested by the application and the permissions submitted, ensuring only necessary permissions are included, by processing the application code to determine which features are called and comparing the results with the submitted permissions list.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers use common code segments and disable unused portions, then application development efficiency is improved, but incorrect permissions are included in the submitted list

Engineering Contradiction:
Improveapplication development efficiencyVSAvoidpermissions accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary analysis of application code before submission to identify actually used features. By examining the code in advance and comparing it against the permissions list, the system detects discrepancies between declared permissions and actual usage, allowing developers to correct permission lists before submission and avoid security review delays.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive permissions are included in the submitted list, then application functionality is ensured, but security review time increases

Engineering Contradiction:
Improveapplication functionalityVSAvoidsecurity review time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system provides feedback to developers about discrepancies between their submitted permissions list and the actual features used in their code. This feedback mechanism allows developers to refine their permissions lists to include only necessary permissions, resulting in faster security reviews while maintaining complete application functionality.

Inventive Principle:
Principle #23Feedback

3Object-affected harmful factors

If accurate permissions are determined through code analysis, then security risks are reduced, but review process complexity increases

Engineering Contradiction:
Improvesecurity risksVSAvoidreview process complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The system enables automated self-analysis of application code to determine which features are actually used. By automatically examining the codebase, comparing it against the permissions list, and identifying discrepancies, the system reduces security risks without requiring manual review complexity, as the process is primarily automated.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9665465B1Automated determination of application permissions
Publication Date: 2017.05.30 AMAZON TECH INC
  • US9665465B1 patent drawing
  • US9665465B1 patent drawing
  • US9665465B1 patent drawing

AI summary

This disclosure describes, in part, a system and process that allows for the automated review of a submitted application to determine the actually requested permissions and identify differences between the requested permissions and a submitted permissions list associated with the application. For example, when an application is submitted for review or approval it may include a submitted permissions list identifying the permissions that are to be associated with the application. In some instances, the permissions included in the submitted permissions list may not correspond with the permissions actually needed for proper operation of the application—there may be omitted permissions that should be included and/or permissions included in the permissions list that are never requested by the application. This disclosure describes, in part, a system and process for confirming that the appropriate permissions are included in the submitted permissions list.