Dynamic Security Profile Segmentation for Application Launch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing security measures for processor-based devices are inefficient in dynamically restricting resource access by applications, leading to performance issues and high memory usage due to statically configured security profiles that do not adapt to runtime environments.

Innovation Solution

A system where a precompiled base security profile is shared among applications, with dynamic compilation of application-specific profile extensions at runtime, allowing for efficient resource access control and reduced memory usage by enforcing a sandboxed operating environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a security profile is compiled for each application based on entitlements, then resource access control is enforced, but application launch time increases and memory consumption increases

Engineering Contradiction:
Improveresource access controlVSAvoidapplication launch time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The security profile is segmented into a base profile (common to all applications) and application-specific extensions. The base profile contains resource access rules that apply to all applications, while extensions add application-specific restrictions. This segmentation allows the system to load only necessary profile portions during application launch, reducing launch time while maintaining comprehensive security control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The base security profile is precompiled and stored in advance, containing common resource access rules that apply to all applications. This preliminary preparation eliminates the need to compile the entire security profile from scratch during each application launch, significantly reducing launch time while ensuring security rules are already validated and ready for enforcement.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If security profiles are maintained for a large number of applications, then resource access control is enforced, but memory usage increases

Engineering Contradiction:
Improveresource access controlVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple applications share a common base security profile that contains resource access rules applicable to all of them. Instead of maintaining separate complete security profiles for each application, the system merges the common base profile with minimal application-specific extensions, dramatically reducing the total memory footprint while maintaining individualized security control for each application.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The base security profile serves as a universal template that can be applied to multiple applications simultaneously. This single base profile contains general resource access rules that are common across many applications, allowing the system to enforce security controls for numerous applications using one shared profile structure rather than duplicating entire profiles for each application.

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

Data Source

PatentUS10216928B2Methods for restricting resources used by an application based on a base profile and an application specific profile
Publication Date: 2019.02.26 APPLE INC
  • US10216928B2 patent drawing
  • US10216928B2 patent drawing
  • US10216928B2 patent drawing

AI summary

In response to a request for launching an application within an operating system of a data processing system, one or more extended entitlements are extracted from the application, where the one or more extended entitlements specify one or more resources the application is entitled to access. One or more security profile extensions corresponding to the one or more extended entitlements are dynamically generated. A security profile specifically for the application is created based on the one or more security profile extensions and a base security profile that has been previously compiled, where the base security profile specifies a list of a plurality of base resources. The application is then launched in a sandboxed operating environment that is configured based on the security profile specifically generated for the application.