  Emerging Internet of Thing (IoT) platforms provide a convenient solution for
integrating heterogeneous IoT devices and deploying home automation
applications. However, serious privacy threats arise as device data now flow
out to the IoT platforms, which may be subject to various attacks. We observe
two privacy-unfriendly practices in emerging home automation systems: first,
the majority of data flowed to the platform are superfluous in the sense that
they do not trigger any home automation; second, home owners currently have
nearly zero control over their data.
  We present PFirewall, a customizable data-flow control system to enhance user
privacy. PFirewall analyzes the automation apps to extract their semantics,
which are automatically transformed into data-minimization policies; these
policies only send minimized data flows to the platform for app execution, such
that the ability of attackers to infer user privacy is significantly impaired.
In addition, PFirewall provides capabilities and interfaces for users to define
and enforce customizable policies based on individual privacy preferences.
PFirewall adopts an elegant man-in-the-middle design, transparently executing
data minimization and user-defined policies to process raw data flows and
mediating the processed data between IoT devices and the platform (via the
hub), without requiring modifications of the platform or IoT devices. We
implement PFirewall to work with two popular platforms: SmartThings and
openHAB, and set up two real-world testbeds to evaluate its performance. The
evaluation results show that PFirewall is very effective: it reduces IoT data
sent to the platform by 97% and enforces user defined policies successfully.
