oblidb oblivious query processing for secure databases
play

ObliDB: Oblivious Query Processing for Secure Databases Saba - PowerPoint PPT Presentation

ObliDB: Oblivious Query Processing for Secure Databases Saba Eskandarian Matei Zaharia Stanford University Stanford University Private Data in the Cloud Compromised cloud can: Read data Read queries Alter data Hardware Enclaves A trusted


  1. ObliDB: Oblivious Query Processing for Secure Databases Saba Eskandarian Matei Zaharia Stanford University Stanford University

  2. Private Data in the Cloud Compromised cloud can: Read data Read queries Alter data

  3. Hardware Enclaves A trusted component in untrusted hardware ● Isolation through protected memory ● Authenticity through attestation Currently available through Azure and IBM cloud, among others Untrusted System Secure Channel Enclave -Data Malicious OS with Attestation/Communication -Secrets Client physical access to device still can’t see inside enclave

  4. Enclaves in the Cloud Enclave memory is limited, but data is big! Enclave

  5. Enclaves in the Cloud Enclave

  6. Enclaves in the Cloud Malicious attacker can observe access patterns to encrypted data! Enclave

  7. Enclaves in the Cloud Malicious attacker can observe access patterns to encrypted data! Enclave

  8. Enclaves in the Cloud Malicious attacker can observe access patterns to encrypted data! Enclave

  9. Enclaves in the Cloud Malicious attacker can observe access patterns to encrypted data! “A persistent passive attacker can Enclave extract even more information by observing an application’s access patterns … In our case study applications, this reveals users’ medical conditions, genomes, and contents of shopping carts”

  10. Naive SELECT is not oblivious! Input Table Output Table * * * * *

  11. Naive SELECT is not oblivious! Input Table Output Table * * * * *

  12. Naive SELECT is not oblivious! Input Table Output Table * * * * * *

  13. Naive SELECT is not oblivious! Input Table Output Table * * * * * *

  14. Naive SELECT is not oblivious! Input Table Output Table * * * * * *

  15. Naive SELECT is not oblivious! Input Table Output Table * * * * * * *

  16. Naive SELECT is not oblivious! Input Table Output Table * * * * * * * * * *

  17. Naive SELECT is not oblivious! Input Table Output Table * * * * * * * * * * Watching when we write to the output table reveals exactly which rows of the input table we select!

  18. Toward Obliviousness Prior work solves pieces of the obliviousness problem very well

  19. Toward Obliviousness Prior work solves pieces of the obliviousness problem very well Opaque provides obliviousness for analytic queries that scan entire tables, but no support for indexes

  20. Toward Obliviousness Prior work solves pieces of the obliviousness problem very well Opaque provides obliviousness for analytic queries that scan entire tables, but no support for indexes Oblix provides an oblivious index, but using an oblivious index to process a query obliviously is still non-trivial

  21. Toward Obliviousness Prior work solves pieces of the obliviousness problem very well Opaque provides obliviousness for analytic queries that scan entire tables, but no support for indexes Oblix provides an oblivious index, but using an oblivious index to process a query obliviously is still non-trivial This work: ObliDB, first system to provide obliviousness for general database read workloads over multiple access methods

  22. ObliDB Overview ● Tables stored encrypted in unprotected memory, enclave only holds metadata ● Two oblivious storage methods: flat tables and oblivious indexes ● Supports most SQL operations ● Various algorithms for each operation - can pick best option at runtime Server Enclave Metadata Oblivious Operators Untrusted RAM or Disk Optimizer Table 1 Table 2 Table 3 Indexed Flat Both Integrity Secure Channel ... Checks Client Protected Memory

  23. Security Guarantees ObliDB protects data and query parameters against an attacker with full control of the OS and VMM ● Detects any malicious attempt to tamper with data ● Leaks only query selectivity, table sizes (including intermediate tables), and query plan ● Optional padding mode available to hide table sizes and query selectivity ● Assumption: limited oblivious memory pool

  24. Oblivious Operators ● Selection ○ Small ○ Large ○ Continuous ○ Hash ● Grouping and Aggregation ● Joins ○ Oblivious hash join ○ Oblivious sort-merge join (from Opaque) ○ Zero oblivious memory sort-merge join

  25. Oblivious Operators ● Selection ○ Small ○ Large Oblivious optimizer ○ Continuous chooses best algorithm for ○ Hash each query at runtime ● Grouping and Aggregation ● Joins ○ Oblivious hash join ○ Oblivious sort-merge join (from Opaque) ○ Zero oblivious memory sort-merge join

  26. Oblivious Operators ● Selection ○ Small ○ Large Oblivious optimizer ○ Continuous chooses best algorithm for ○ Hash each query at runtime ● Grouping and Aggregation ● Joins ○ Oblivious hash join ○ Oblivious sort-merge join (from Opaque) ○ Zero oblivious memory sort-merge join

  27. Oblivious SELECT “Large” SELECT Algorithm: use when almost the whole table is selected Input Table Output Table * * Extra * * * * * * * * * * Extra Copy * * * *

  28. Oblivious SELECT “Large” SELECT Algorithm: use when almost the whole table is selected Input Table Output Table * Delete * X * * * * * Dummy write * * * * * X Copy * * * *

  29. Oblivious SELECT “Continuous” SELECT algorithm: use when a continuous range of rows is selected Dummy Input Table write Output Table * Real * write * * * * * *

  30. Oblivious SELECT “Continuous” SELECT algorithm: use when a continuous range of rows is selected Dummy Input Table write Output Table Real write * * * * * * * * * *

  31. ObliDB Performance highlights: - 1.1-19x faster than Opaque (on Big Data Benchmark queries) - Within 2.6x of Spark SQL (on Big Data Benchmark queries) See paper for system details, more oblivious operators, and full evaluation Paper: http://www.vldb.org/pvldb/vol13/p169-eskandarian.pdf Source Code: https://github.com/SabaEskandarian/ObliDB Questions/Contact: saba@cs.stanford.edu

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