enClosure: Group Communication via Encounter Closures
New applications enabled by personal smart devices and the Internet- of-Things (IoT) require communication in the context of periods of spatial co-location. Examples of this encounter-based communication (EbC) include social exchange among individuals who met or shared an experience, and interaction among personal and IoT devices that provide location-based services. Existing EbC systems are limited to communication among participants that share a direct encounter.
We present the design of enClosure, a service providing group communication based on encounter closures for mobile and IoT applications, and a prototype implementation for Android and the Microsoft Embedded Social Cloud platform. enClosure is motivated by two key observations: (1) encounters also enable group communication among devices connected by paths in the encounter graph that is contextual, spontaneous, secure, and does not require users to reveal identifying or linkable information; and (2) addressing communication partners using encounter closures subject to causal, spatial, and temporal constraints enables powerful new forms of group communication. Using real-world traces, we show that enClosure provides a privacy-preserving, secure platform for a wide range of group communication applications ranging from connecting attendees of a large event and virtual guest books to disseminating health risk warnings, lost-and-found, and tracing missing persons.
Automatically Tracking Speculative Execution Points of Binary Programs
Side-channel attacks such as Spectre, Meltdown, and MDS have made us increasingly aware of how little we understand speculative processor behavior. Intel and AMD release very minimal specifications for their processors' microarchitectures, leaving us no choice but to reverse-engineer it. If we can understand the behavior of our processors, we can not only find new attacks, but also ways to stop them. In this talk, we describe the challenges we faced in developing a novel, memory-bus-based approach to reverse-engineer when and how processors speculatively execute data accesses, which would allow us to evaluate and discover side-channel mitigations as well as characterize what data is speculatively leaked during execution.