
Building Private-by-Design IoT Systems Igor Zavalyshyn INESC-ID / Instituto Superior Técnico, Universidade de Lisboa, Lisbon, Portugal UCLouvain, ICTEAM, Louvain-la-Neuve, Belgium [email protected] Abstract growing amount and variety of sensitive data they collect, Internet of Things (IoT) devices have revolutionized the way there is still a deficit of mechanisms to ensure user privacy we interact with our physical environment. With a single tap and security. In fact, existing IoT systems often resemble a on a smartphone screen or a voice command one can control “black hole“ that collects sensitive sensor data from the con- home lighting, thermostats and cameras, monitor physical nected devices leaving the end users clueless about further activity, and keep track of personal belongings. However, data whereabouts. Unfortunately, this situation has already while these devices become more and more embedded in our caused numerous incidents of massive data leackage [7], daily lives, there are growing concerns over the privacy and security breaches [8], insider-related eavesdropping or peep- security of highly sensitive data they collect. Numerous cases ing [1, 6], as well as created opportunities for unauthorized of data abuse, unauthorized sharing and leakage have been surveillance and forensic investigations [3, 4]. reported. Unfortunately, existing IoT systems have not only To fill this gap, we propose a clean-slate approach to build- failed to prevent such cases, but often contributed to those. ing secure and private-by-design IoT systems. It aims to em- To address this issue, we propose a clean-slate approach to power end users with full control over sensor-collected data, building secure and private-by-design IoT systems, in which and enable them to specify and enforce privacy and security users retain full control and ownership of their IoT data. The preferences regarding sensor data collection, processing and approach builds upon key design concepts: (1) a dataflow sharing. Our approach builds upon two key design concepts. programming model for building IoT apps and services, and First, we introduce a novel dataflow programming model for (2) a mechanism to track sensitive sensor data flows inside IoT developers and service providers to create their privacy- these apps and automatically verify their compliance with aware data processing applications, apps. It allows to keep user-defined privacy and security preferences. track not only (1) of how the sensor data flows within the app, but also (2) of the semantics of the data as it gets processed CCS Concepts: • Security and privacy ! Information inside the app. Our second key design concept enables end flow control; Access control. users to automatically verify if a given app can violate any of Keywords: IoT, privacy, data flows tracking and verification their privacy expectations. To this end, we generate a formal model of the app’s elements graph using Prolog predicates, ACM Reference Format: and issue a set of queries to determine the existence of data Igor Zavalyshyn. 2020. Building Private-by-Design IoT Systems. flows that are in conflict with user-defined privacy policy. A In 21st International Middleware Conference Doctoral Symposium user can, e.g., determine if an app that requires access to a (Middleware ’20 Doctoral Symposium), December 7–11, 2020, Delft, Netherlands. ACM, New York, NY, USA, 5 pages. https://doi.org/10. camera feed for motion detection can potentially send raw 1145/3429351.3431750 camera images to a security company instead of the ‘motion detected’ events as expected. 1 Introduction We applied these concepts in the design of three systems that span across local (home), cloud and mobile domains. For With the rising popularity of IoT systems, such as Ama- the local domain, we present HomePad [10], a privacy-aware zon Alexa, Google Home or Samsung SmartThings, and a smart home hub that provides a runtime environment for Permission to make digital or hard copies of all or part of this work for IoT apps that follow the dataflow programming model to pro- personal or classroom use is granted without fee provided that copies cess sensitive sensor data in accordance with user-defined are not made or distributed for profit or commercial advantage and that rules. It offers a rich API with an extensive set of built-in copies bear this notice and the full citation on the first page. Copyrights elements for IoT app development, and a verification engine for components of this work owned by others than the author(s) must for the end users to assess the apps’ privacy properties. For be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific the cloud domain, we introduce PatrIoT, a private-by-design permission and/or a fee. Request permissions from [email protected]. IoT platform that extends a dataflow programming model Middleware ’20 Doctoral Symposium, December 7–11, 2020, Delft, Netherlands to the cloud. It leverages Intel SGX to prevent unauthorized © 2020 Copyright held by the owner/author(s). Publication rights licensed access to the sensor data when processed at an untrusted to ACM. cloud environment, and offers the end users an intuitive ACM ISBN 978-1-4503-8200-7/20/12...$15.00 security abstraction named flowwall which allows them to https://doi.org/10.1145/3429351.3431750 Middleware ’20 Doctoral Symposium, December 7–11, 2020, Delft, Netherlands Igor Zavalyshyn App Graph (1) Rule type? Allow Block Motion HTTP IPCamera App Code frame Detection motion motion Request (2) event Sandbox detected Source? Data type? Sink? When? Anywhere Image Anywhere Time 12h-14h Figure 1. Element graph of a MotionAlert app. IP Cameras (3) Video (4) Web sites (5) LivRoomCam Audio Dropbox Day specify flexible yet effective policies for controlling sensitive FrontDoorCam Everything Any Wednesday sensor data flows within the apps they install. Finally, for AllCameras the mobile domain, we propose Flowverine [2], a system for building privacy-aware mobile apps handling sensitive IoT data on Android phones. Flowverine adapts the dataflow Figure 2. Schematic representation of the UI workflow to specify programming model to a more complex Android program- a privacy rule using dataflow model. ming and runtime environment, and uses Aspect-Oriented Programming (AOP) for dynamic taint analysis. Policy specification and rule syntax: Since the app de- Complementary to these three systems, we introduce ad- scribed above requires access to both camera and the net- ditional techniques that aim to enhance the security and work, the user will want to make sure that the app cannot privacy properties of IoT systems using N-version program- leak raw camera images to the security company. To pre- ming and software hardening. Next, we provide more details vent that, he can specify a ‘block’ privacy policy rule with a on the proposed dataflow programming model, developed particular camera (e.g. LivRoomCam) selected as a source, systems, and complementary security enhancing techniques. an Image data type, and the Internet sink (to denote any web host). More concretely, a privacy policy consists of a 2 Dataflow Programming Model sequence of allow / block rules which are evaluated sequen- Our idea of a private-by-design IoT system is one where the tially and applied atomically by the underlying application end users retain full control over their IoT device data, and runtime. In general, the format of a rule is as follows: can decide themselves on how this data can be shared and allow j block hdata type listi from hsource endpoint listi processed by various IoT apps and services. Unfortunately, to hsink endpoint listi [at htime period listi] a permission-based access control model used in existing IoT systems can only control the range of devices an app The keywords “allow” or “block” indicate the rule type, can interact with, and fails to capture apps’ data process- i.e., whether the rule allows or disallows the data flows ing and sharing capabilities. As a result, the apps are often matched by the rule, respectively. The data type list indi- overprivileged and may leak sensitive sensor data. cates one or multiple types of data to be matched. They can API based on element graphs: The dataflow programming be simple types, e.g., Video, or the wildcard Everything to indi- model aims to address the problem of permission-based sys- cate all possible simple types. The keywords “from” and “to” tems. It provides easy-to-use programming abstractions for are followed by a list of source and sink endpoints, respec- IoT developers to build privacy-aware apps with all inter- tively, that may specify individual devices, e.g., LivRoomCam, nal data flows made explicit and easy to analyze. Theapp types of devices, e.g., IPCamera to refer to all IP cameras, is implemented as a directed elements graph, in which ele- or include wildcards, such as Anywhere to refer to any valid ments represent functional units offered by the system itself endpoint. Optionally, it is possible to specify temporal restric- (as part of an API) or implemented by the app developer, tions by using the keyword “at” followed by a time period, and the edges describe the only paths through which data e.g., “12:00-14:00”, and one or multiple weekdays. can flow within an app. With each element having awell- User interface for policy specification: To simplify the defined specification, both in terms of interface and expected process of policy rules specification, our dataflow model ex- behavior, such element-based app structure allows for sound poses a simple UI that guides the user along a five step pro- and efficient data flow tracking. To illustrate our program- cess (see Figure 2) and allows to reason in terms of privacy- ming model, consider an element-graph of a MotionAlert sensitive/insensitive data flows the user wants to be blocked app at Figure 1.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages5 Page
-
File Size-