Hybrid Static Dynamic Analysis for Minimal Permission Profiles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for determining minimal permission sets for computer executable functions are either inaccurate due to static analysis or incomplete due to dynamic analysis limitations, as they fail to account for all possible behaviors and execution paths.

Innovation Solution

A system and method that combines static and dynamic analysis to identify the minimal set of permissions required for computer executable functions by executing the function multiple times with distinct parameter combinations, associating detected behaviors with risk scores, and determining a permission profile that includes only the necessary permissions, excluding those with high risk scores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If static analysis is used to determine permissions, then the analysis can be performed without executing the code, but the accuracy is insufficient because actual behaviors depend on runtime parameters

Engineering Contradiction:
Improveease of analysisVSAvoidpermission determination accuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent combines static analysis and dynamic analysis into a hybrid approach. Static analysis is performed first to identify potential permission requirements from code structure, then dynamic analysis with fuzzing executes the code with various parameter combinations to discover actual runtime behaviors. The results of both analyses are merged to determine the final minimal permission set, thereby achieving both ease of analysis and high accuracy.

Inventive Principle:
Principle #5Merging (Combining)

2Measurement precision

If dynamic analysis is used to determine permissions, then the actual runtime behaviors can be observed, but the completeness is insufficient because some behaviors occur seldomly

Engineering Contradiction:
Improvepermission determination accuracyVSAvoidpermission determination completeness
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent employs fuzzing technology to periodically and repeatedly execute the code with randomly generated parameter combinations. This periodic execution with varied inputs increases the probability of triggering rare or seldomly executed code paths, thereby improving the completeness of permission determination while maintaining the accuracy benefits of dynamic analysis.

Inventive Principle:
Principle #19Periodic action

3Reliability

If the code is executed multiple times with distinct parameter combinations, then complete permission coverage is achieved, but the analysis time and computational resources increase

Engineering Contradiction:
Improvepermission determination completenessVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs static analysis as a preliminary step before dynamic analysis. This preliminary action identifies potential permission requirements from the code structure without execution, filtering out many obvious permission needs. Subsequently, dynamic analysis with fuzzing focuses only on discovering additional permissions that static analysis missed, thereby reducing the total analysis time while maintaining completeness.

Inventive Principle:
Principle #10Preliminary action

4Object-affected harmful factors

If a minimal set of permissions is assigned to the function, then security is improved by limiting damage potential, but the risk of insufficient permissions affecting function operation increases

Engineering Contradiction:
Improvedamage potential from intrudersVSAvoidfunction operation reliability
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The patent uses feedback from both static analysis (code structure insights) and dynamic analysis with fuzzing (actual runtime behaviors) to accurately identify the minimal permission set required for correct function operation. This feedback loop ensures that permissions are not overly restrictive (which would harm reliability) nor excessively permissive (which would increase security risk), achieving an optimal balance between security and operational reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11481517B2System and method for determining permission profiles for computer executable functions
Publication Date: 2022.10.25 CHECK POINT SERVERLESS SECURITY LTD
  • US11481517B2 patent drawing
  • US11481517B2 patent drawing
  • US11481517B2 patent drawing

AI summary

Systems, methods, and software products, determine permission profiles for computer executable functions (functions). The systems, methods and software products, utilize both static analysis and dynamic analysis, in order to determine the minimal set of permissions based on the inter-relations between these two analysis methods, i.e., static analysis, and dynamic analysis, to determine the permission profiles for computer executable functions (functions).