Automated Mobile App Interaction for Security Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Detecting vulnerabilities in applications running on embedded devices is difficult and time-consuming, especially since a single application can be compiled into multiple specialized versions with different vulnerabilities, making it challenging to protect users and developers from attacks.

Innovation Solution

A system is implemented to monitor and automatically interact with specialized applications on embedded devices, using gesture recognition and directed graphs to record and analyze user interactions, thereby facilitating the detection of vulnerabilities and ensuring all features and functions are tested.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual vulnerability detection methods are used, then security assessment can be performed, but the process is difficult and time-consuming

Engineering Contradiction:
Improvesecurity assessment qualityVSAvoidvulnerability detection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically instrumenting the application code with monitoring logic before execution. This preprocessing step enables continuous automated monitoring of application states, user inputs, and security-relevant events, eliminating the need for time-consuming manual security assessments while maintaining high reliability through systematic coverage of all application paths.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a virtual model or copy of the application's execution environment and monitors it automatically. By instrumenting the code and tracking execution states in a controlled manner, the system can assess vulnerabilities without interfering with the actual application operation, enabling rapid repeated assessments with consistent high quality.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If a single application is compiled into multiple specialized applications for different embedded devices, then device compatibility is improved, but the complexity of detecting and managing vulnerabilities across all versions increases

Engineering Contradiction:
Improvedevice compatibilityVSAvoidvulnerability management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements a universal vulnerability detection framework that can automatically instrument and monitor multiple specialized applications across different embedded devices using the same methodology. The core monitoring infrastructure remains consistent while adapting to device-specific characteristics, enabling centralized management of vulnerabilities across all application versions without proportionally increasing complexity.

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

Solution Approach 2:

The system manages complexity by parameterizing the detection approach based on device and application characteristics. Rather than creating entirely separate detection processes for each specialized application, the system adjusts monitoring parameters and instrumented code paths according to the specific embedded device configuration, enabling scalable vulnerability management across diverse platforms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9477399B1Automated interaction for mobile applications
Publication Date: 2016.10.25 SYNACK
  • US9477399B1 patent drawing
  • US9477399B1 patent drawing
  • US9477399B1 patent drawing

AI summary

Embedded devices, such as smart phones, can execute an application for performing a set of discrete tasks. To evaluate applications for security vulnerabilities, the application is executed and monitored. Part of this process involves the time-consuming process of performing or invoking the various user interface elements included in the application. An automated interaction system automatically, without human intervention, simulates various gestures that can be performed within each view of the application. The automated interaction system further identifies unactivated elements within subviews of the views and tracks its interactions to ensure that all of the identified UI elements within each view and subview are activated.