• Skip navigation
  • Skip to navigation
  • Skip to the bottom
Simulate organization breadcrumb open Simulate organization breadcrumb close
IT Security Infrastructures Lab
  • FAUTo the central FAU website
  1. Friedrich-Alexander-Universität
  2. Faculty of Engineering
  3. Department Computer Science
  • Campo
  • UnivIS
  • Jobs
  • Map
  • Help
  1. Friedrich-Alexander-Universität
  2. Faculty of Engineering
  3. Department Computer Science

IT Security Infrastructures Lab

Navigation Navigation close
  • Research
    • Forensic Computing Group
    • Human Factors in Security and Privacy Group
    • Multimedia Security
    • Security Education Development Group
    • System Security Group
    • Archive
    • Funded Projects
    • Publications
    Portal Research
  • Lab
    • Staff & Research Groups
    • Alumni
    • Partners
    Portal Lab
  • Teaching
    • Courses
    • Hinweise zu den Lehrveranstaltungen
    • Notes on Examinations
    • eTeaching
    • Theses
    • Writing a Thesis at Informatik 1
    Portal Teaching
  • How to reach us
  1. Home
  2. Research
  3. Forensic Computing Group
  4. DiOS: Dynamic Privacy Analysis of iOS Applications

DiOS: Dynamic Privacy Analysis of iOS Applications

In page navigation: Research
  • Forensic Computing Group
    • DiOS: Dynamic Privacy Analysis of iOS Applications
    • Fingerprinting Mobile Devices Using Personalized Configurations
    • Selective Deletion
  • Human Factors in Security and Privacy Group
    • Antivirus Usability
    • Browser Fingerprinting
    • IoT Security Update Labels
    • Phishing Susceptibility
    • Security Experts
    • ZigBee Security Research
  • Multimedia Security
    • Image & Video Forensics
    • Image Analysis & Enhancement
    • X-ray Phase Contrast
    • Blog
    • Code and Data
      • Copy-Move Forgery Detectors and Ground Truth Generator
      • Image Manipulation Dataset
    • Colloquium
  • Security Education Development Group
    • Open C3S Overview
    • Open-C3S-Projektergebnisse
    • Ulix – a Literate OS
  • System Security Group
    • AppAuth: On App-based Matrix Code Authentication in Online Banking
    • AppTAN (In)Security: (In)Security of App-based TAN Methods in Online Banking
    • AVX Crypto: AVX Instructions to Accelerate Crypto Primitives
    • Bispe: A Bytecode Interpreter for Secure Program Execution in Untrusted Main Memory
    • Centroid
    • CPU-bound Encryption (TRESOR, TreVisor, ARMORED)
    • FROST: Forensic Recovery Of Scrambled Telephones
    • How Android’s UI Security is Undermined by Accessibility
    • HyperCrypt: Hypervisor-based Encryption of Kernel and User Space
    • N26
    • Nomorp
    • One Key to Rule Them All: Recovering the Master Key from RAM to break Android’s File-Based Encryption
    • RamCrypt: Kernel-based Address Space Encryption for User-mode Processes
    • ReFuzz — Structure Aware Fuzzing of the Resilient File System (ReFS)
    • RISCoT – Security Analysis of Trusted Execution Environments on RISC-V
    • SED (In)Security: Hardware-based Full Disk Encryption (In)Security
    • SGX-Kernel: Isolating Operating System Components with Intel SGX
    • SGX-Timing: Cache Attacks on Intel SGX
    • SoK: The Evolution of Trusted UI on Mobile
    • Soteria: Offline Software Protection within Low-cost Embedded Devices
    • STARK / MARK: Tamperproof/Mutual Authentication to Resist Keylogging
    • TEEshift: Protecting Code Confidentiality by Selectively Shifting Functions into TEEs
    • VMAttack: Deobfuscating Virtualization-Based Packed Binaries
  • Archive
    • ContrOWL: A new security app based on crowed intelligence
    • Ext4 File Recovery
    • Forensic Email Visualization
    • Forensic RAID Recovery
    • Forensig²: File System Images for Training Courses in Forensic Computing
    • Mobile Hotspots
    • Mobile-Sandbox & ADEL: Automated Malware Analyses / Mobile Phone Forensics
    • Privacy Aspects of Forensic Computing
    • PyBox – A Python Sandbox
    • TrustedPals: Framework to Help Establish Security in a Mutually Untrusted Distributed System
    • VirMA: Windows NT pagefile.sys Virtual Memory Analysis
    • Win Vista/7/8/10 Thumbnails Analyzer
  • Funded Projects
  • Publications
    • Technische Berichte in Digitaler Forensik

DiOS: Dynamic Privacy Analysis of iOS Applications

DiOS: Dynamic Privacy Analysis of iOS Applications

Abstract

We present DiOS, a practical system to perform automated dynamic privacy analysis of iOS apps. DiOS provides a highly scalable and fully automated solution to schedule apps from the official Apple App Store for privacy analysis to iOS devices. While apps are automatically executed, user interaction is simulated using random and smart execution strategies, and sensitive API calls as well as network connections are tracked. We evaluated the system on 1,136 of the most popular free apps from the iOS App Store and found out that almost 20% of all investigated apps are tracking users’ locations on every app start, one third of all accesses to users’ address books are attributed to apps from the social network category and almost half of all apps are tracking users’ app usage behavior by incorporating tracking and advertising libraries.

Technical Report: “DiOS: Dynamic Privacy Analysis of iOS Applications” (PDF)

Authors: Andreas Kurtz, Andreas Weinlein, Christoph Settgast and Felix C. Freiling

Source Code: DiOS is licensed under the BSD License. The full source code is available at https://github.com/DiOS-Analysis/DiOS.

Contact: For general questions on DiOS, please contact us at dios@i1.cs.fau.de. For feature requests or bug reports, please use the issue tracking system: https://github.com/DiOS-Analysis/DiOS/issues.

DiOS in Action

System Overview

Display external content

At this point content of an external provider (source: YouTube) is integrated. When displaying, data may be transferred to third parties or cookies may be stored, therefore your consent is required.

You can find more information and the possibility to revoke your consent in our privacy policy.

I agree

Open-Close Execution

The most basic execution strategy within DiOS launches an app for a defined duration. After a few seconds (15s by default) the app is suspended to the background by simulating a tap on the iOS device’s home button. Again, five seconds later the app is resumed for another 15 seconds until execution is finally terminated. Apart from handling alerts by pressing the default button no other user interaction is simulated.

Display external content

At this point content of an external provider (source: YouTube) is integrated. When displaying, data may be transferred to third parties or cookies may be stored, therefore your consent is required.

You can find more information and the possibility to revoke your consent in our privacy policy.

I agree

Random Execution

Moreover, DiOS provides a random execution strategy that utilizes Apple’s UI Automation framework to execute randomly chosen events, from pressing the home-button, changing a devices orientation or location, shaking the device, or adjusting the volume, to tapping on a random screen position or performing any advanced gestures. To allow the simulated user interaction to be as realistic as possible, the random events were weighted and can be freely adjusted. Thus, the event of tapping a random screen position, e.g., is ten times more likely to occur than changing a device’s orientation. Using this approach we aimed to effectively maximize an app’s coverage without the need for exploring the actual UI in detail.

Display external content

At this point content of an external provider (source: YouTube) is integrated. When displaying, data may be transferred to third parties or cookies may be stored, therefore your consent is required.

You can find more information and the possibility to revoke your consent in our privacy policy.

I agree

Smart Execution

The third execution strategy implemented within DiOS examines the actual user interface in great detail. For this, it explores the available UI elements on every screen and keeps track of already executed UI paths. This enables targeted navigation through an app’s user interface, while avoiding repeated execution of already visited contents.

Display external content

At this point content of an external provider (source: YouTube) is integrated. When displaying, data may be transferred to third parties or cookies may be stored, therefore your consent is required.

You can find more information and the possibility to revoke your consent in our privacy policy.

I agree

Lehrstuhl für Informatik 1
Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)

Martensstrasse 3
91058 Erlangen
  • Impressum
  • Datenschutz
Up