With the release of iOS 7 and later OS X Yosemite, Apple has quietly introduced on both platforms a nifty feature called Multipeer Connectivity.
Using a surprisingly small and simple set of APIs, developers can create applications that have the ability to discover and directly communicate with nearby iOS devices and Macs over Bluetooth or Wi-Fi, without the need for an Internet connection. While the Multipeer Connectivity Framework brings the promise of Peer-to-peer and Mesh Networking Apps significantly closer to reality, little is known regarding how it actually works behind the scenes and what the risks are for applications leveraging this functionality.
This talk will first describe the process of reverse-engineering what happens at the network level when two devices start communicating with each other over Wi-Fi. The various protocols and encryption algorithms used by the Multipeer Connectivity Framework will be uncovered and analyzed.
From this analysis, we’ll derive a security model for Multipeer Connectivity connections and describe the threats and underlying assumptions that developers and security researchers should be aware of when building or breaking applications that use the Framework. The impact of the various pairing options, data transmission modes and encryption settings exposed by the Framework will also be explained. Lastly, we’ll study the implementation of a real-world App that uses the Framework and describe issues and potential weaknesses.