FlowFence: IoT security Mikal Fourrier Internet of Things - - PowerPoint PPT Presentation

flowfence iot security
SMART_READER_LITE
LIVE PREVIEW

FlowFence: IoT security Mikal Fourrier Internet of Things - - PowerPoint PPT Presentation

FlowFence: IoT security Mikal Fourrier Internet of Things Interconnection of numerous devices which interacts and exchange data Examples: smart home, smart grid Vague term, like the Cloud 2 Study: Samsung SmartThings


slide-1
SLIDE 1

FlowFence: IoT security

Mikaël Fourrier

slide-2
SLIDE 2

2

Internet of Things

  • Interconnection of numerous devices which

interacts and exchange data

  • Examples: smart home, smart grid
  • Vague term, like the Cloud
slide-3
SLIDE 3

3

Study: Samsung SmartThings

  • Subscribe: abstraction of the hardware
  • Polling
  • Access control with a device-level granularity
slide-4
SLIDE 4

4

Study: Google Fit

  • Wearables-oriented
  • Only callbacks
  • Access control with scopes

– Ex: FITNESS_BODY_READ

slide-5
SLIDE 5

5

Study: Android Sensor API

  • Events: Motion, Environment, Position
  • Callback-based except for Position
  • No access control except for Position and

heart rate

slide-6
SLIDE 6

6

Study: IoT architecture

  • Hub
  • Cloud
slide-7
SLIDE 7

7

Problems with IoT

  • Lots of devices → hard to secure
  • Very sensitive data: health, home locking,

cameras

  • Third-party applications have few

restrictions: a face-recognition door unlocker can send images to the network

slide-8
SLIDE 8

8

FlowFence: basic ideas

  • Normal execution environment vs sandbox

(Quarantined Modules)

  • Use of opaque handles
  • Enforce declared data use patterns
  • Sandbox treated as a black box
slide-9
SLIDE 9

9

API example

slide-10
SLIDE 10

10

Publisher examples

slide-11
SLIDE 11

11

Taint arithmetic

slide-12
SLIDE 12

12

Architecture

slide-13
SLIDE 13

13

Sandboxes

  • Android process with the “isolatedProcess”

flag

– Disable all rights except IPC for FlowFence

  • Cleaned after QM execution
slide-14
SLIDE 14

14

Key-value store

  • key → (sensible value, taint)
  • Polling easy to implement
  • Event channels for callbacks
  • Device agnostic
slide-15
SLIDE 15

15

Overhead

  • 3M/sandbox

– reasonable

  • 100ms if spare sandboxes

– same as network call

  • 30M/s bandwidth

– the Nest camera uses 1M/s, so should be sufficient

slide-16
SLIDE 16

16

Ported applications

slide-17
SLIDE 17

17

Weaknesses

  • QM could forge keys to leak data

– Keys must already exist in the QM

  • QM can control it's execution time

– Asynchronous execution in future version

  • Can't prevent user to approve all
  • Over-tainting

– Taint bound