verena: end-to-end integrity protection for web applications conf/37th... · end-to-end integrity...

15
IEEE Security & Privacy 2016 Verena: End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa, Srdjan Capkun

Upload: others

Post on 15-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

IEEE Security & Privacy 2016

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

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

Page 2: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 152

Information Integrity is Critical for Decision Making

Submit data View data

Patient with implant Physician

Remote monitoringmedical web app View false data

Take action if necessaryTake wrong action, or erroneously omit action

EKG,heart rate,

EKG,avg heart rate,

Page 3: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 15

Problem Definition

3

• How can we provide integrity guarantees in web applications?

• Example: Mean heart rate of a patient over a period of time

• Correctness • Completeness • Freshness

avgheartrate?

71

Page 4: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 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

Page 5: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 15

Related Work

5

• Filesystem integrity • SUNDR (OSDI’04),…

• Database integrity • IntegriDB (CCS’15),…

• Authenticated data structures • Balanced Merkle hash trees • Skip lists • …

Page 6: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 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

Page 7: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 157

Our Contribution

Verena

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

Page 8: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 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

staticcode

dynamicdata

Code signing[Mylar, NSDI’14]

hashserver

Page 9: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 159

Verena Architecture

mainserver

hashserver

id

heartrate

avgheartratebetweenmon-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

Page 10: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 1510

Trust Contexts

mainserver

Trust Context

writeheartrate

avgheartratebetweenmon-wed?

71 bpm

hashserver

Page 11: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 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

Page 12: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 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

Page 13: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 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

Page 14: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

/ 15

Takeaway

14

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

Under web server compromise

With acceptable overhead

Page 15: Verena: End-to-End Integrity Protection for Web Applications Conf/37th... · End-to-End Integrity Protection for Web Applications Nikos Karapanos, Alexandros Filios, Raluca Ada Popa,

Thank you for your attention! Any Questions?

[email protected]

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