Home Mobile News Introducing OpenDrop, an open-source implementation of Apple AirDrop written in Python

Introducing OpenDrop, an open-source implementation of Apple AirDrop written in Python

Effect with water drops on blue textile
3 min read

A group of German researchers recently published a paper “A Billion Open Interfaces for Eve and Mallory: MitM, DoS, and Tracking Attacks on iOS and macOS Through Apple Wireless Direct Link”, at the 28th USENIX Security Symposium (August 14–16), USA. The paper reveals security and privacy vulnerabilities in Apple’s AirDrop file-sharing service as well as denial-of-service (DoS) attacks which leads to privacy leaks or simultaneous crashing of all neighboring devices.

As part of the research, Milan Stute and Alexander Heinrich, two researchers have developed an open-source implementation of Apple AirDrop written in Python – OpenDrop. OpenDrop is like a FOSS implementation of AirDrop. It is an experimental software and is the result of reverse engineering efforts by the Open Wireless Link project (OWL). It is compatible with Apple AirDrop and used for sharing files among Apple devices such as iOS and macOS or on Linux systems running an open re-implementation of Apple Wireless Direct Link (AWDL).

Learn Programming & Development with a Packt Subscription

The OWL project consists of researchers from the Secure Mobile Networking Lab at TU Darmstadt looking into Apple’s wireless ecosystem. It aims to assess security, privacy and enables cross-platform compatibility for next-generation wireless applications.

Currently, OpenDrop only supports Apple devices. However, it does not support all features of AirDrop and may be incompatible with future AirDrop versions. It uses the current version of OpenSSL and libarchive and requires Python 3.6+ version. OpenDrop is licensed under the GNU General Public License v3.0. It is not affiliated with or endorsed by Apple Inc.

Limitations in OpenDrop

Triggering macOS/iOS receivers via Bluetooth Low Energy: Since Apple devices begin their AWDL interface and AirDrop server only after receiving a custom advertisement via Bluetooth LE, it is possible that Apple AirDrop receivers may not be discovered.

Sender/Receiver authentication and connection state: Currently, OpenDrop does not conduct peer authentication. It does not verify that the TLS certificate is signed by Apple’s root or not. Also, OpenDrop accepts any file that it receives automatically.

Sending multiple files: OpenDrop does not support sending multiple files for sharing, a feature supported by Apple’s AirDrop.

Users are excited to try the new OpenDrop implementation.

A Redditor comments, “Yesssss! Will try this out soon on Ubuntu.”

Another comment reads, “This is neat. I did not realize that enough was known about AirDrop to reverse engineer it. Keep up the good work.”

Another user says, “Wow, I can’t wait to try this out! I’ve been in the Apple ecosystem for years and AirDrop was the one thing I was really going to miss.”

Few Android users wish to see such implementations in an Android app.

A user on Hacker News says, “Would be interesting to see an implementation of this in the form of an Android app, but it looks like that might require root access.”

A Redditor comments, “It’d be cool if they were able to port this over to android as well.”

To know how to send and receive files using OpenDrop, check out its Github page.

Read Next

Apple announces expanded security bug bounty program up to $1 million; plans to release iOS Security Research Device program in 2020

Google Project Zero reveals six “interactionless” bugs that can affect iOS via Apple’s iMessage

‘FaceTime Attention Correction’ in iOS 13 Beta 3 uses ARKit to fake eye contact