Ensuring Authorized Updates in Multi-user Database-Backed Applications
summary
Presents a practical enforcement technique called phantom extraction and an implementation named SafeD that runs as a JDBC driver to enforce per-user read/write policies even when policies require joins. A survey finds 21% of tables need join-based policies. SafeD uses read-set-intersection plus V-copy and no-copy strategies; on MySQL it adds about 6% transaction latency, and on Postgres the no-copy mode is roughly an order of magnitude faster than built-in controls for join-heavy policies.
AI-written summary · about
chapters (21)
- 0:00Intro
- 0:19Database Backend
- 1:07Built-in Database Access Controls
- 2:28Application based Access Controls
- 2:51Database View
- 4:38Survey of Existing Web Applications
- 5:22Insecure Code
- 6:10Design Goals
- 7:36Solution Outline
- 7:56Database Policies
- 8:10Policy Definitions
- 10:37Ensuring Query Safety
- 11:16Read Set Intersection
- 11:56Phantom Extraction
- 15:24Benchmark
- 15:35Access Roles and Policy
- 16:13Performance Measures
- 17:04MySQL Performance Results
- 17:38Modified Security Policy
- 20:22Syntax Knowledge Required
- 21:13Ensuring Authorized Updates in Multi-user Database-Backed Applications
related talks
15mPolyjuice: High-Performance Transactions via Learned Concurrency Control
40mPostgreSQL Security for Application Developers
53mSecurity techniques for cross database access
21mAgents on GuardRails: Deterministic Safety for Database Operations
42mAnatomy of Table-Level Locks in PostgreSQL
31mHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
39mAnatomy of Table-Level Locks in PostgreSQL
45mTransactions and Concurrency Control Patterns
