Concept - Inference

Definition (s.25): “the process of performing authorized queries and deducing unauthorized information from the legitimate responses received.”

Two techniques (s.26): analysing functional dependencies between attributes (e.g. Rank Salary), and merging views with the same constraints.

Merging views example (s.27-28): V1 = (Availability, Cost) and V2 = (Item, Department), both WHERE Department = "hardware" on the Inventory table. Users may not see the Item-Cost relationship, but if they know the views keep the same row order as Inventory they can merge them to get: Shelf support (in-store/online, 7.99), Lid support (online only, 5.49), Decorative chain (in-store/online, 104.99), all hardware.

Two countermeasure approaches (s.29)

  • At database design: remove the inference channel by changing the structure (e.g. split a table) or the access control regime (e.g. finer-grained RBAC roles).
  • At query time: detect an inference channel during a query or series of queries and deny or alter the query.

Related: Concept - Database Access Control Policies, Concept - SQLi Categories. Appears in 05 Database Security - Chunk 01 (s.1-38).