Code Rewriting System for Mobile App Privacy Enforcement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face challenges in managing app permissions on mobile devices, as apps often misuse granted permissions, leading to privacy issues, and existing tools lack the ability to revoke permissions without affecting the app's functionality or causing crashes.

Innovation Solution

A method that analyzes how an application utilizes sensitive system resources and selectively disables permission-requiring aspects by 'mocking' objects and their values, allowing users to revoke permissions while preserving the app's core functionality and privacy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Object-affected harmful factors

If users revoke permissions from applications, then privacy protection is improved, but application functionality deteriorates or crashes

Engineering Contradiction:
Improveprivacy infringementVSAvoidapplication functionality
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The patent introduces a code rewriting system as an intermediary between the user's permission revocation request and the application's actual data access operations. The system intercepts permission-related code, transforms it into mock data access operations, and injects the modified code back into the application. This mediator enables permission revocation while preserving application functionality by replacing actual data access with simulated operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates mock objects that replicate the interface and behavior of real data access objects without actually accessing private user data. These mock objects serve as copies that satisfy the application's data access requirements while preventing actual privacy infringement. The mock objects maintain the same structure and methods as the original objects, allowing the application to function normally without accessing sensitive information.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If applications access sensitive system resources, then application functionality is improved, but privacy security deteriorates

Engineering Contradiction:
Improveapplication functionalityVSAvoidprivacy leakage
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The code rewriting system acts as an intermediary layer between the application and sensitive system resources. It intercepts all data access operations, determines whether they involve private user data, and replaces them with mock operations. This mediator allows the application to maintain its data access functionality while preventing actual access to sensitive resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the harmful data access operations from the application code and replaces them with benign mock operations. By identifying and removing the actual data access statements while preserving the application logic structure, the system separates the functional requirements from the privacy-infringing operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Object-affected harmful factors

If users minimize access to sensitive system resources, then privacy protection is improved, but application behavior optimization deteriorates

Engineering Contradiction:
Improveprivate data leakageVSAvoidapplication optimization
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

The patent creates mock objects that replicate the interface and behavior of real data access objects without actually accessing private user data. These mock objects serve as copies that satisfy the application's data access requirements while preventing actual privacy infringement. The mock objects maintain the same structure and methods as the original objects, allowing the application to function normally without accessing sensitive information.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9940478B2Fine-grained user control over usages of sensitive system resources having private data with applications in privacy enforcement
Publication Date: 2018.04.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9940478B2 patent drawing
  • US9940478B2 patent drawing
  • US9940478B2 patent drawing

AI summary

A system and method whereby permission is accessed that is to be revoked for an application. The permission involves access to private data of a user via an API of an OS. It is determined, in the application, program point(s) involving access to the private data of the user via the API. For each selected one of the program point(s), code in the application is rewritten to replace a source statement, at the selected program point, that accesses the private data with another statement that allocates a mock object or value based on a type of an actual value returned by the source statement. The mock object or value does not expose the private data of the user. The application with the rewritten code is packaged as an output application able to be subsequently executed by the user, and is output for use by the user.