Hybrid Security Verification for Mobile Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing security verification methods for mobile applications are inadequate in accurately detecting and validating dataflow vulnerabilities, often resulting in false positives or missing real vulnerabilities due to limitations in taint analysis and dynamic dataflow analysis.

Innovation Solution

A hybrid security verification approach that combines static analysis to identify potential dataflow vulnerabilities, string analysis to gather constraints, and UI instrumentation to map vulnerabilities to user interface entry points, followed by directed testing to validate the presence of vulnerabilities, ensuring precise and automated validation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If taint analysis is used to detect dataflow vulnerabilities, then coverage is improved, but false positives increase

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidfalse positive rate
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system implements feedback by using dynamic dataflow analysis results to validate and refine static analysis findings. The dynamic analysis provides runtime feedback on actual dataflow paths, allowing the system to distinguish true vulnerabilities from false positives by comparing static predictions against actual execution behavior.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system introduces an intermediary validation layer that mediates between static analysis results and final vulnerability confirmation. This intermediary dynamic analysis component filters and verifies static analysis findings, reducing false positives while maintaining comprehensive coverage.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If dynamic dataflow analysis is used to validate vulnerabilities, then false positives are reduced, but computational complexity increases

Engineering Contradiction:
Improvevulnerability validation accuracyVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the security verification process into distinct phases: static analysis for initial vulnerability identification, followed by dynamic analysis for validation. This segmentation allows each phase to focus on specific tasks, reducing overall system complexity while maintaining high accuracy through specialized analysis components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary static analysis to identify candidate vulnerabilities before executing resource-intensive dynamic analysis. This preliminary action filters the search space, allowing dynamic analysis to focus only on potential true positives, thereby reducing computational complexity while maintaining validation accuracy.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive static analysis is performed to identify all potential vulnerabilities, then coverage is improved, but analysis time increases

Engineering Contradiction:
Improvevulnerability coverageVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary static analysis to quickly identify candidate vulnerabilities across the entire codebase, ensuring comprehensive coverage. This preliminary action is followed by targeted dynamic validation only on high-priority candidates, reducing total verification time while maintaining complete coverage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different analysis depths and methods to different parts of the codebase based on risk assessment. High-risk areas receive comprehensive static and dynamic analysis, while lower-risk areas receive streamlined analysis, optimizing verification time while maintaining reliable coverage where it matters most.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11032306B2System, method and apparatus for fully precise hybrid security verification of mobile applications
Publication Date: 2021.06.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11032306B2 patent drawing
  • US11032306B2 patent drawing
  • US11032306B2 patent drawing

AI summary

A security verification system and method that includes outputting a list of potential dataflow vulnerabilities as a first output from inputting a subject program and security specification, mapping candidate vulnerabilities to a user interface (UI) entry point and payload from the output of the list of potential dataflow vulnerabilities to provide a second output, and performing directed testing of the second output.