Android Inter-Component Communication Security via Static Runtime Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current security techniques for Android mobile operating systems are inadequate in detecting and preventing inter-app attacks, particularly intent spoofing, unauthorized intent receipt, and privilege escalation, due to limitations in data-flow analyses and runtime protection, which often result in false alarms and require expertise, and fail to scale effectively with large numbers of apps.

Innovation Solution

The SEALANT system identifies vulnerable inter-component communication (ICC) paths between apps using a combination of static data-flow analysis and compositional ICC pattern matching, enabling on-the-fly blocking of potential attacks through user confirmation, thereby reducing false alarms and supporting scalable analysis across multiple apps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data-flow analyses are used to detect inter-app attacks, then detection capability is improved, but false alarms increase and scalability deteriorates

Engineering Contradiction:
Improvedetection capabilityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the detection system into two distinct components: a static analysis phase that performs comprehensive data-flow analysis to identify vulnerable ICC paths, and a runtime monitoring phase that only monitors pre-identified vulnerable paths. This segmentation allows the system to maintain high detection capability while improving scalability, as the runtime phase does not need to analyze all possible ICC paths but only those already identified as vulnerable during static analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary static analysis to identify vulnerable ICC paths before runtime monitoring begins. By pre-identifying vulnerable paths through data-flow analysis and storing them for later use, the system avoids the computational burden of performing comprehensive analysis at runtime, thereby improving scalability while maintaining detection accuracy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If runtime protection techniques are used, then security is improved, but false alarms increase due to coarse granularity

Engineering Contradiction:
ImprovesecurityVSAvoidgranularity
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent applies local quality by implementing fine-grained monitoring only at specifically identified vulnerable ICC paths rather than applying coarse-grained monitoring universally. The static analysis phase identifies precise locations where security monitoring is needed, and the runtime phase applies monitoring selectively at these locations, improving both security precision and reducing false alarms caused by overly broad monitoring.

Inventive Principle:
Principle #3Local quality

3Reliability

If comprehensive static analysis is performed on large numbers of apps, then detection coverage is improved, but analysis time and resource consumption increase

Engineering Contradiction:
Improvedetection coverageVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and stores the results of static analysis (vulnerable ICC paths) for reuse during runtime monitoring. By extracting the essential security information during static analysis and storing it in a format suitable for runtime use, the system avoids repeating comprehensive analysis work, thereby maintaining detection coverage while significantly reducing analysis time during runtime operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10827349B2SEALANT: security for end-users of android via light-weight analysis techniques
Publication Date: 2020.11.03 UNIV OF SOUTHERN CALIFORNIA
  • US10827349B2 patent drawing
  • US10827349B2 patent drawing
  • US10827349B2 patent drawing

AI summary

A system for providing increased security in a mobile operating system includes at least one mobile device and a remote computing device that is remote from the mobile device. The remote computing device receives a list of two or more applications that are currently installed or intended to be installed on the mobile device's operating system. The remote computing device identifies vulnerable inter-component communication (ICC) paths by analyzing files associated with each of the two or more applications. A list of the vulnerable ICC paths is stored in memory of the mobile device. The mobile processor compares the list of the vulnerable ICC paths to intents sent by the components of the two or more applications and identifies a potential unsecure intent that matches one of the list of the vulnerable ICC paths. Unsecured intents can then be blocked by the user.