Privacy Leak Detection in .NET Framework via Method Call Graph Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a need for effective detection of privacy leaks in software applications using the .NET framework on mobile devices, as malicious or well-intentioned applications can gather and transmit sensitive user information without user consent, posing a risk to user privacy.

Innovation Solution

The method involves disassembling binary applications into human-readable CIL or MSIL code, constructing a method call graph to identify source and sink API call chains, and alerting for potential privacy leaks if common methods are found between these chains, indicating unauthorized data collection or transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If binary applications are disassembled into human-readable code and method call graphs are constructed to detect privacy leaks, then detection accuracy is improved, but analysis complexity and processing time increase

Engineering Contradiction:
Improveprivacy leak detection accuracyVSAvoidcode analysis complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the binary code into method call chains, separating source APIs (data collection) from sink APIs (data transmission). By breaking down the complex binary into manageable method-level units and organizing them into call chains, the system achieves detailed privacy leak detection while maintaining manageable analysis complexity through structured decomposition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces method call graphs as an intermediary representation between the binary code and the privacy leak detection logic. This intermediate structure translates complex binary relationships into a graph format that can be systematically analyzed to identify connections between data collection and transmission operations, simplifying the detection process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Difficulty of detecting and measuring

If method call graphs are constructed to identify source and sink API call chains, then detection capability is improved, but processing time increases

Engineering Contradiction:
Improveprivacy leak detection capabilityVSAvoidcode analysis processing time
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-identifying source APIs (data collection functions) and sink APIs (data transmission functions) before analyzing the method call graph. This pre-categorization allows the system to quickly trace connections between data collection and transmission without re-analyzing all code, significantly reducing processing time while maintaining detection capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the relevant method call chains that connect source and sink APIs from the complete method call graph. By filtering and extracting only the critical paths that indicate privacy leaks, the system avoids processing entire codebases unnecessarily, reducing analysis time while focusing computational resources on the most suspicious code paths.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9208322B1Privacy leak detection in .NET framework
Publication Date: 2015.12.08 TREND MICRO INC
  • US9208322B1 patent drawing
  • US9208322B1 patent drawing
  • US9208322B1 patent drawing

AI summary

A binary application suitable for the .Net framework is disassembled into human readable code. Or, CIL or MSIL code is obtained. The methods are put into a representation indicating which methods of the code call other methods. A source method call chain having a source API and a sink method call chain having a sink API are discerned from the representation. APIs are put into the same format as the methods to allow matching. A method in common between the two call chains indicates that a privacy leak exists. The application is downloaded from a remote server to a computing device where the analysis occurs.