2011 · 18 citations · 24 references
ComputingComputer ScienceComputer SystemsApplication SecurityComputer SecurityDatabasesAccess ControlDatabase AdministrationDatabase ManagementDatabase SecurityQuery ProcessingSql InjectionAccess Control In DatabasesCode Review For Sql InjectionDatabase AuthorizationDatabase Integrity ProtectionDatabase Security ArchitectureInjection AttacksPrivilege Separation
Database-backed applications typically grant complete database access to every part of the application. In this scenario, a flaw in one module can expose data that the module never uses for legitimate purposes. Drawing parallels to traditional privilege separation, we argue that database data should be subject to limitations such that each section of code receives access to only the data it needs. We call this data separation. Data separation defends against SQL-based errors including buggy queries and SQL injection attacks and facilitates code review, since a module's policy makes the extent of its database access explicit to programmers and code reviewers. We construct a system called Diesel, which implements data separation by intercepting database queries and applying modules' restrictions to the queries. We evaluate Diesel on three widely-used applications: Drupal, JForum, and WordPress.
24
Proceedings of the 11th USENIX Security Symposium
Dan Boneh · 2002 · 2.5K citations
The protection of information in computer systems
Jerome H. Saltzer, Michael Schroeder · Proceedings of the IEEE · 1975 · 1.9K citations
Protection of information in computer systems
Jerome H. Saltier, Michael P. Schroeder · IEEE CSIT Newsletter · 1975 · 1.4K citations
William G. J. Halfond, Alessandro Orso · 2005 · 525 citations