Source-linked AI summary

Robust Smartphone App Identification Via Encrypted Network Traffic Analysis

Vincent F. Taylor, Riccardo Spolaor, Mauro conti, Ivan Martinovic

arXiv:1704.06099v1cs.CRcs.NI

TL;DR

The paper asks whether smartphone apps can be identified from encrypted network traffic despite the loss of packet payloads and the privacy and security implications of app disclosure. It extends AppScanner with side-channel machine learning, ambiguity handling, and robustness evaluation, reporting identification of apps six months later with up to 96% accuracy and persistence across devices and versions to varying extents.

  • Problem

    Traditional smartphone traffic analysis is complicated by encrypted payloads, text-based APIs, and shared traffic, while app disclosures can reveal sensitive information or expose vulnerable apps.

  • Method

    The paper extends AppScanner to classify apps from encrypted-traffic side channels, handle ambiguous traffic, and evaluate fingerprints across time, devices, and app versions.

  • Results

    The framework identified 110 popular apps six months later with up to 96% accuracy, while fingerprints persisted to varying extents across devices and app versions.

  • Takeaways & Limitations

    App classification from network traffic remains feasible despite encryption, but app updates reduce fingerprint accuracy and motivate re-fingerprinting after updates.

Abstract

from arXiv · show

The apps installed on a smartphone can reveal much information about a user, such as their medical conditions, sexual orientation, or religious beliefs. Additionally, the presence or absence of particular apps on a smartphone can inform an adversary who is intent on attacking the device. In this paper, we show that a passive eavesdropper can feasibly identify smartphone apps by fingerprinting the network traffic that they send. Although SSL/TLS hides the payload of packets, side-channel data such as packet size and direction is still leaked from encrypted connections. We use machine learning techniques to identify smartphone apps from this side-channel data. In addition to merely fingerprinting and identifying smartphone apps, we investigate how app fingerprints change over time, across devices and across different versions of apps. Additionally, we introduce strategies that enable our app classification system to identify and mitigate the effect of ambiguous traffic, i.e., traffic in common among apps such as advertisement traffic. We fully implemented a framework to fingerprint apps and ran a thorough set of experiments to assess its performance. We fingerprinted 110 of the most popular apps in the Google Play Store and were able to identify them six months later with up to 96% accuracy. Additionally, we show that app fingerprints persist to varying extents across devices and app versions.

I. INTRODUCTION

Smartphone app traffic can expose sensitive user information and enable targeted attacks, yet encrypted, API-based mobile traffic frustrates traditional fingerprinting. The paper extends AppScanner with ambiguity handling and robustness analyses for practical app identification.

  • Motivation: Smartphone app installations can reveal medical, financial, travel, lifestyle, and sexual or religious information about users.Adversaries may also identify vulnerable apps or target specific users through observed app usage.
  • Problem: Traditional port- and webpage-based fingerprinting is ineffective for smartphone apps because traffic predominantly uses HTTP/HTTPS and text-based APIs.Shared APIs and reduced webpage-like resource information remove useful identifying features.
  • Approach: AppScanner analyzes network side-channel data rather than payloads, so its operation is unchanged when traffic is encrypted.The framework uses coarse traffic patterns such as packet lengths and direction, while evaluating effects of time, devices, and app versions.
  • Contributions: Ambiguous traffic from advertisements, third-party libraries, and common web APIs can create conflicting training labels and hinder classification.The paper introduces a machine-learning strategy to identify and handle such traffic.
  • Contributions: App fingerprints are reported to persist to varying extents across time, devices, and app versions, supporting evaluation of classification in real-world settings.The paper specifically measures identification using fingerprints generated six months earlier.

II. RELATED WORK

Smartphone traffic analysis differs from workstation and webpage fingerprinting because mobile apps use text-based APIs, shared endpoints, and encrypted communications that remove rich identifying features.

  • Traditional Traffic Analysis on Workstations: Webpage fingerprinting methods exploit resources such as HTML-linked images, scripts, stylesheets, file sizes, and resource counts.These artifacts provide information that simplifies webpage classification.
  • Traditional Traffic Analysis on Workstations: CDNs and shared web-service APIs cause many apps to communicate with similar endpoints, weakening destination-IP-only identification.A request to a shared API endpoint may originate from multiple apps.
  • Related Work: Prior encrypted-traffic studies established traffic analysis methods for strong adversaries and web pages, but their assumptions do not directly transfer to smartphone apps.Smartphone applications communicate differently from traditional desktop webpages.
  • Traditional Traffic Analysis on Workstations: Smartphone app fingerprinting is more complicated because text-based APIs remove rich traffic features present in typical desktop HTTP traffic.Prior workstation-focused methods were not designed for smartphone traffic analysis.

B. Traffic Analysis on Smartphones

Smartphone app identification uses encrypted-traffic side channels and machine learning, while addressing shared traffic that can produce false positives. AppScanner organizes traffic into bursts and flows for near-real-time classification.

  • B. Traffic Analysis on Smartphones: Prior smartphone studies used dynamic exploration, device-level background patterns, encrypted 802.11 frames, or flow features to classify apps or user actions.Their settings varied in encryption support, app coverage, trace duration, and classification target.
  • B. Traffic Analysis on Smartphones: The prior AppScanner system classified 110 apps using side-channel features and automated app training, but did not explain fingerprint variability or longevity.This work measures effects from devices, app versions, and elapsed time.
  • System Overview: Shared-library traffic can resemble traffic from multiple apps and create false positives, so AppScanner separates ambiguous traffic from distinctive traffic before classification.Ambiguous traffic includes patterns generated by common libraries such as advertising libraries.
  • System Overview: A burst groups temporally adjacent packets until the interval between packets exceeds a configured burst threshold.The grouping is independent of packet source or destination address.
  • System Overview: A flow is a same-destination-IP-and-port packet sequence within one burst, ending when that burst ends rather than when a TCP session ends.Using flows instead of TCP sessions supports real-time or near-real-time classification.
  • System Overview: The framework elicits app traffic, generates features, trains classifiers, and identifies apps from later unknown traffic.The overview describes this as learning patterns in app-generated network traffic.

A. Equipment Setup

The equipment setup forwards smartphone traffic through a workstation while automated Android scripts simulate app interactions and capture packet metadata for training data.

  • A. Equipment Setup: A workstation forwards traffic between the smartphone’s Wi-Fi access point and the Internet while ADB scripts simulate in-app user actions.This UI-fuzzing process elicits network flows from target apps.
  • A. Equipment Setup: Captured traffic dumps include packet timing, addresses, ports, sizes, protocols, and TCP/IP flags, while payloads are collected but excluded from features.Excluding payloads supports analysis when payload contents may be encrypted.

B. Fingerprint Making

AppScanner builds app fingerprints from network flows using packet side-channel statistics rather than payload content. It separates flows, extracts and selects statistical features, and uses reinforcement learning to relabel traffic shared across apps as ambiguous.

  • Flow construction: Traffic is split into one-second bursts and separated into flows using destination IP address and port information.A maximum flow length is enforced to ignore abnormal traffic and support near-real-time processing.
  • Robustness choices: Destination IP addresses, DNS queries, and unencrypted payloads are excluded from app identification to avoid unstable or domain-specific information.IP addresses can change or be shared, DNS may be cached or common across apps, and payload features lose usefulness as encryption increases.
  • Ambiguity detection: Ambiguity Detection uses reinforcement learning to identify similar flows from different apps and relabel them as an “ambiguous” class during training.This addresses contradictory training examples caused by shared third-party libraries, especially advertising libraries.
  • Feature extraction: 54 statistical features are computed from incoming, outgoing, and bidirectional packet series for each flow.The statistics include distributional measures such as extrema, means, variance, skew, kurtosis, percentiles, and series length.
  • Feature selection: 40 of the original 54 features are retained after min-max scaling and Random Forest significance-based feature selection.Features with significance scores above 1% are selected.

C. App Identification

App identification first classifies unknown flows, then validates non-ambiguous predictions using classifier confidence. Ambiguity detection is trained through preliminary and reinforced classifier stages that relabel incorrectly classified flows as ambiguous.

  • Classification pipeline: Unknown flows are passed to classifiers trained to recognize both app labels and ambiguous traffic.Flows classified as ambiguous are labelled accordingly before other flows undergo validation.
  • Classification validation: Predictions below a validation threshold are withheld, while higher-confidence predictions are reported as app matches.Varying the threshold affects precision, recall, accuracy, and the fraction of flows classified.
  • Ambiguity detection: The reinforcement-learning procedure divides training into preliminary and reinforced classifier stages.A preliminary classifier supplies feedback for constructing the reinforced training set.
  • Ambiguity detection: Incorrectly classified preliminary-testing flows are relabelled as “ambiguous,” while correctly classified flows retain their app labels.The relabelled data are used to train the reinforced classifier.
  • Training separation: No flows from the preliminary training set are reused in the reinforced training set.The preliminary classifier and training set are used only to identify ambiguous flows.

V. DATASET COLLECTION

The evaluation uses datasets designed to measure app-fingerprint robustness across time, devices, operating systems, and app versions. The main collection covers 110 popular free Google Play apps, with controlled six-month and device comparisons.

  • App selection: 110 randomly selected apps came from the 200 most popular free Google Play Store apps.Free apps were chosen because shared advertising libraries are expected to create ambiguous flows, making them a demanding robustness test.
  • Traffic collection: UI fuzzing generated randomized touches, swipes, and button presses for 30 minutes per app during traffic capture.Accounts were manually created when apps required login screens.
  • Dataset design: Dataset-1 is the baseline: 110 app traffic traces collected at T0 on Device-A running Android 4.4.4.It uses the latest app versions available at initial collection.
  • Dataset design: Dataset variants 1a, 4a, and 5a restrict comparisons to the run-without-update subset to balance datasets with different app counts.This controls for the reduced 65-app coverage in Dataset-2 and Dataset-3.

VI. EVALUATION

Evaluation combines within-dataset baselines with independent training and testing sets to assess performance under time, device, and app-version variation. Initial results are explicitly lower bounds because post-processing is not yet applied.

  • Classifier setup: Random Forest classifiers are implemented with scikit-learn using default parameters.Random Forests were selected because they performed best in the authors’ previous work.
  • Evaluation scope: Reported results are lower bounds because ambiguity detection and classification validation have not been applied.The section measures default system performance before post-processing.
  • Baseline evaluation: Training and testing sets use 75% and 25% of each dataset, respectively, for baseline evaluation.Classifiers are trained and evaluated within individual datasets.
  • Baseline evaluation: 66.4%–73.5% accuracy is achieved within datasets before post-processing.These baseline results may overestimate real-world performance because both splits originate from one dataset.
  • Robust evaluation: Independent training and testing datasets are used for a more representative real-world assessment.The evaluation varies factors including time, device, and operating system.

A. Effect of Time

App fingerprints remained most reliable when device and app versions stayed constant across a six-month interval, while changing app versions or both versions and devices substantially reduced accuracy.

  • A. Effect of Time: 40.5% overall accuracy was achieved in the TIME test using fingerprints collected six months earlier with device and app versions held constant.This was the highest-performing test using completely independent training and testing sets.
  • A. Effect of Time: The unchanged device and app versions likely preserved the traffic-generating logic, allowing fingerprints to remain stable after six months.The paper links fingerprint stability to the underlying app and operating-system logic remaining unchanged.
  • B. Effect of a Different Device: 37.2% overall accuracy was obtained when training on 110 apps from one device and testing on the same apps from another device.The run-without-update variant achieved 37.5% accuracy, and the authors suggest device model and operating-system version had no major effect.
  • C. Effect of Different App Versions: 30.4% and 32.8% accuracy were obtained when identifying apps across different app versions, markedly below the TIME and different-device tests.The authors attribute this reduction to changes in app code or logic and recommend keeping fingerprint databases updated.
  • D. Effect of a Different Device and Different App Versions: 19.4% and 19.0% accuracy resulted when both device and app versions changed, although these results remained approximately 20 times better than random guessing.The paper reports that the number of apps in the training and testing sets did not negatively affect accuracy under these conditions.

VII. IMPROVING ACCURACY

The system improves app classification by detecting ambiguous traffic and validating predictions by confidence thresholds. These strategies substantially increase accuracy, especially when devices and app versions differ between training and testing.

  • VII. IMPROVING ACCURACY: Ambiguity detection and classification validation are post-processing strategies designed to identify unreliable network flows before they distort app classification.The framework applies both strategies to flows that are not reliable for fingerprinting.
  • A. Ambiguity Detection: Reinforced classifiers increased overall accuracy by approximately 1.5–2.1 times, with similar gains in precision, recall, and F-1 score.The largest improvements occurred in the most challenging cross-device and cross-version tests.
  • A. Ambiguity Detection: 41.0% accuracy in DV-110 was obtained with ambiguity detection, compared with 19.4% without it.The approximately doubled accuracy highlights the prevalence of ambiguous flows in app traffic.
  • B. Classification Validation: A prediction probability threshold makes classification more conservative as it rises, increasing accuracy while reducing the number of flows accepted as valid.Lower thresholds accept more flows but reduce accuracy; higher thresholds are suited to settings where false positives are undesirable.
  • B. Classification Validation: Classification validation increased DV-110 accuracy from 41% to 73% and DV-65 accuracy from 37% to 76%.The gains show that validation can improve performance under simultaneous device and app-version changes.

VIII. DISCUSSION

App fingerprinting performance varies with mismatches in time, devices, operating systems, and app versions, while ambiguous traffic accounts for much of the performance loss. Reinforcement and validation improve accuracy, but validation reduces the number of flows classified confidently.

  • Independent training and testing datasets produced notably lower performance than same-dataset evaluation, highlighting the need for independent sets.
  • Six-month time differences introduced the least variance in app fingerprints, suggesting models remain resilient to changes in server-returned content.
  • Changing device, operating system, app version, and time together produced the greatest penalty, yet baseline performance remained 20 times better than random guessing.
  • Ambiguous flows account for much of the performance hit because similar traffic from shared third-party libraries can receive different app labels.
  • Classification validation extracts additional accuracy by omitting flows without sufficiently confident predictions, reducing the number of flows classified.

IX. CONCLUSION

The paper extends AppScanner to evaluate smartphone app fingerprinting across time, devices, operating systems, and app versions. Fingerprints persist across these changes to varying extents, with updates reducing accuracy and the strongest mismatched setting still outperforming random guessing.

  • The framework evaluated app-generated traffic collected six months apart across different devices, Android operating systems, and app versions.
  • Time affected app fingerprinting least, while device changes did not significantly increase fingerprint sensitivity.
  • App updates reduced fingerprint accuracy, although fingerprints generated on one device remained identifiable six months later on another device running different app versions.
  • 20 times better than random guessing was the baseline accuracy under simultaneous changes in device, app versions, and time.
Loading 1704.06099v1…