verena end to end integrity protection for web
play

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,


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

  2. Information Integrity is Critical for Decision Making EKG, EKG, heart rate, avg heart rate, … … Remote monitoring 
 View false data Submit data View data medical web app Patient with 
 Physician implant Take wrong action, or erroneously omit action Take action if necessary 2 / 15

  3. Problem Definition • How can we provide integrity guarantees in web applications? • Example: Mean heart rate of a patient over a period of time Correctness • avg heart rate? Completeness • 71 Freshness • 3 / 15

  4. 
 Threat Model • Full server compromise (front-/back- end) • Corrupted server responses False ( correctness ) • Incomplete ( completeness ) • Stale ( freshness ) 
 • • Clients are not fully trusted either 4 / 15

  5. Related Work • Filesystem integrity SUNDR (OSDI’04),… • • Database integrity IntegriDB (CCS’15),… • • Authenticated data structures Balanced Merkle hash trees • Skip lists • … • 5 / 15

  6. Challenges • 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 • 6 / 15

  7. Our Contribution Verena 
 Framework for providing end-to-end integrity guarantees in web applications 7 / 15

  8. Verena Architecture: Setup hash server Code signing • Users [Mylar, NSDI’14] Key pair • Sign write operations 
 • <script language=javascript> document.write("Hello World!"); </script> <script language=javascript> window.alert("Welcome to my si </script> <script language=javascript> window.prompt("please ente </script> static code • Client-side web application dynamic data Code & data separation • Dynamic page rendering on the client • • Hash server Ensure freshness • Simple logic, narrow interface • 8 / 15

  9. Verena Architecture • Is the result correct and complete ? hash server id • Is the result fresh ? • Was the result affected by authorized users? main server heart rate id proof proof avg heart rate between mon-wed? 71 bpm proof proof 9 / 15

  10. Trust Contexts hash server write heart rate main server Trust Context avg heart rate between mon-wed? 71 bpm 10 / 15

  11. Verena API • 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 11 / 15

  12. 
 Implementation • 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 • 12 / 15

  13. Some Evaluation Results - Remote Monitoring Medical Application • Vanilla Meteor • Page loading time for various views An order of magnitude faster ( 3-10ms ) Patient list ( ~66ms ) • • Patient for review ( ~82ms ) • VS Patient profile ( ~14ms ) • Patient EKG ( ~23ms ) • Mean heart rate ( ~13ms ) • User experience is not affected 13 / 15

  14. Takeaway Verena provides end-to-end integrity protection to web applications Under web server compromise With acceptable overhead 14 / 15

  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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend