Automated Dynamic Application Classification via Network Feature Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic applications pose security risks due to their dependence on network-provided data, making it difficult for security administrators to confirm their safety, as their nature can change significantly after evaluation, whereas static applications can be automatically examined for security issues.

Innovation Solution

An automated approach using static analysis and machine learning to identify dynamic applications by extracting program-related features indicative of network dependence, training a discriminative machine learning model with manually labeled static and dynamic applications, and classifying applications as static or dynamic based on network-related function calls and their criticality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dynamic applications are deployed to application marketplaces, then functionality and user experience are improved, but security risks increase due to continuous changes from network-provided data

Engineering Contradiction:
Improveapplication functionalityVSAvoidsecurity safety
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent performs preliminary classification of applications as static or dynamic before deployment to the application marketplace. By analyzing program-related features and network dependence characteristics in advance, the system identifies dynamic applications that require enhanced security screening, thereby preventing security risks before they can affect the marketplace environment.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If security screening is performed on dynamic applications, then security risks are reduced, but evaluation complexity increases due to continuous changes in application nature

Engineering Contradiction:
Improvesecurity safetyVSAvoidevaluation process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the security evaluation process into two distinct paths: one for static applications and another for dynamic applications. By classifying applications based on their network dependence and program features, the system applies appropriate security screening methods to each segment, avoiding the need to apply complex dynamic analysis to all applications while ensuring thorough screening for dynamic ones.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If manual evaluation is used for dynamic applications, then security assessment accuracy is improved, but processing time and resource consumption increase

Engineering Contradiction:
Improvesecurity assessment accuracyVSAvoidevaluation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements an automated classification system that performs initial security assessment and categorization of applications without requiring manual intervention. The system automatically analyzes program-related features, identifies network dependence characteristics, and classifies applications as static or dynamic, thereby reducing the time and resources required while maintaining assessment accuracy through systematic automated analysis.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11704589B1Automatically identifying dynamic applications
Publication Date: 2023.07.18 AMAZON TECH INC
  • US11704589B1 patent drawing
  • US11704589B1 patent drawing
  • US11704589B1 patent drawing

AI summary

Disclosed are various embodiments for automatically identifying whether applications are static or dynamic. In one embodiment, code of an application is analyzed to determine instances of requesting data via a network in the application. Characteristics of the instances of requesting data via the network are provided to a machine learning model. The application is automatically classified as either dynamic or static according to the machine learning model.