Abstract: Query processors often receive queries to be processed against a data set, such as by inserting user input into parameterized fields of a query template. Some queries may include a conditional statement, and manipulation of user input (e.g., injection attacks) may introduce a delay through a conditional branch. The time required to fulfill the query may indicate which conditional branch was taken, thus revealing properties of the data set that are intended to be withheld. Instead, a query processor may examine the query to identify, between a pair of conditional branches, a processing delay of the first conditional branch as compared with the second conditional branch. The query processor may identify a query adaptation that reduces the processing delay of the first conditional branch as compared with the second conditional branch, and evaluate the query against the data set according to the query adaptation to present a query result.
Type:
Grant
Filed:
April 18, 2017
Date of Patent:
December 3, 2019
Assignee:
MICROSOFT TECHNOLOGY LICENSING, LLC
Inventors:
David Edward Brookler, Tomer Weisberg, Oren Yossef, Tomer Rotstein