Verena: End-to-End Integrity Protection for Web Applications IEEE - - PowerPoint PPT Presentation

verena end to end integrity protection for web
SMART_READER_LITE
LIVE PREVIEW

Verena: End-to-End Integrity Protection for Web Applications IEEE - - PowerPoint PPT Presentation

Verena: End-to-End Integrity Protection for Web Applications IEEE Security & Privacy 2016 Nikos Karapanos, Alexandros Filios, Raluca Ada Popa, Srdjan Capkun Information Integrity is Critical for Decision Making EKG, EKG, heart rate,


slide-1
SLIDE 1

IEEE Security & Privacy 2016

Verena: 
 End-to-End Integrity Protection for Web Applications

Nikos Karapanos, Alexandros Filios, Raluca Ada Popa, Srdjan Capkun

slide-2
SLIDE 2

/ 15 2

Information Integrity is Critical for Decision Making

Submit data View data

Patient with
 implant Physician Remote monitoring
 medical web app

View false data Take action if necessary Take wrong action, or erroneously omit action

EKG, heart rate, … EKG, avg heart rate, …

slide-3
SLIDE 3

/ 15

Problem Definition

3

  • How can we provide integrity guarantees in web

applications?

  • Example: Mean heart rate of a patient over a period
  • f time
  • Correctness
  • Completeness
  • Freshness

avg heart rate? 71

slide-4
SLIDE 4

/ 15

Threat Model

4

  • Full server compromise (front-/back- end)
  • Corrupted server responses
  • False (correctness)
  • Incomplete (completeness)
  • Stale (freshness)


  • Clients are not fully trusted either
slide-5
SLIDE 5

/ 15

Related Work

5

  • Filesystem integrity
  • SUNDR (OSDI’04),…
  • Database integrity
  • IntegriDB (CCS’15),…
  • Authenticated data structures
  • Balanced Merkle hash trees
  • Skip lists
slide-6
SLIDE 6

/ 15

Challenges

6

  • Multiple users in a dynamic environment
  • No single data owner
  • Stateless clients, not always on
  • How can the developer express the integrity

policy?

  • Don’t change coding patterns
slide-7
SLIDE 7

/ 15 7

Our Contribution

Verena
 Framework for providing end-to-end integrity guarantees in web applications

slide-8
SLIDE 8

/ 15

Verena Architecture: Setup

8

  • Users
  • Key pair
  • Sign write operations

  • Client-side web application
  • Code & data separation
  • Dynamic page rendering on the client
  • Hash server
  • Ensure freshness
  • Simple logic, narrow interface

static code dynamic data Code signing

[Mylar, NSDI’14]

document.write("Hello World!"); <script language=javascript> </script> window.alert("Welcome to my si <script language=javascript> </script> window.prompt("please ente <script language=javascript> </script>

hash server

slide-9
SLIDE 9

/ 15 9

Verena Architecture

main server hash server

id

heart rate avg heart rate between mon-wed?

  • Is the result correct and complete?
  • Is the result fresh?
  • Was the result affected by authorized users?

id

71 bpm proof proof proof proof

slide-10
SLIDE 10

/ 15 10

Trust Contexts

main server Trust Context write heart rate avg heart rate between mon-wed? 71 bpm hash server

slide-11
SLIDE 11

/ 15

Verena API

11

  • Each query runs within a trust context
  • Ability to run over multiple trust contexts and still

ensure completeness

  • API to manage trust contexts
  • Annotate using Integrity Query Prototypes

Queries

slide-12
SLIDE 12

/ 15

Implementation

12

  • Platform of choice: Meteor framework (Node.js)


  • Main server/client: Meteor package
  • Chrome Native Client for PK crypto in browser
  • ~5100 LOC
  • Hash server in Golang/OpenSSL
  • RocksDB key/value store
  • ~650 LOC
slide-13
SLIDE 13

/ 15

Some Evaluation Results - Remote Monitoring Medical Application

13

  • Page loading time for various views
  • Patient list (~66ms)
  • Patient for review (~82ms)
  • Patient profile (~14ms)
  • Patient EKG (~23ms)
  • Mean heart rate (~13ms)

User experience is not affected

  • Vanilla Meteor
  • An order of magnitude faster (3-10ms)

VS

slide-14
SLIDE 14

/ 15

Takeaway

14

Verena provides end-to-end integrity protection to web applications

Under web server compromise With acceptable overhead

slide-15
SLIDE 15

Thank you for your attention! Any Questions?

knikos@inf.ethz.ch

Some of the icons used in this presentation were taken and adapted from opensecurityarchitecture.org