# US 2019/0319929 A1 · Cross-tenant data leakage isolation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0319929 A1
- Document ID: US20190319929A1
- Status: Published application
- Kind: A1
- Application number: 16/394,385
- Filed: 2019-04-25
- Published: 2019-10-17
- Earliest claimed: 2016-08-29
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC.
- Inventors: Liran MOYSI; Noam LIRAN
- Web page: https://patentgrep.com/patent/US20190319929A1

## CPC

- H04L 63/0281: {Proxies}
- G06F 16/2456: {Join operations}
- G06F 16/9017: {using directory or table look-up (use of a directory or look-up table in file systems G06F16/13)}
- G06F 16/903: Querying (for retrieval from the web G06F16/953)
- G06F 16/9035: Filtering based on additional data, e.g. user or group profiles
- G06F 21/604: {Tools and structures for managing or administering access control systems}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/1408: {by monitoring network traffic (monitoring network traffic per se H04L43/00)}
- G06F 16/24534: {Query rewriting; Transformation}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for cross-tenant data leakage isolation in a multi-tenant database are provided. The method includes monitoring, by a proxy device, traffic flows between a server executing at least one cloud-based application and the multi-tenant database, wherein the proxy device is connected between the server and the multi-tenant database; capturing, by the proxy device, at least a response from the multi-tenant database, wherein the response includes returned data; analyzing the response to determine if the returned data relates to a global-tenant table; upon determining that the returned data relates to the global-tenant table, modifying the response to designate at least one tenant-specific table name that the returned data belongs to; and sending the modified response to the server.

## Claims

### Claim 1

A method for cross-tenant data leakage isolation in a multi-tenant database, comprising:
monitoring, by a proxy device, traffic flows between a server executing at least one cloud-based application and the multi-tenant database, wherein the proxy device is connected between the server and the multi-tenant database;
capturing, by the proxy device, at least a response from the multi-tenant database, wherein the response includes returned data;
analyzing the response to determine if the returned data relates to a global-tenant table;
upon determining that the returned data relates to the global-tenant table, modifying the response to designate at least one tenant-specific table name that the returned data belongs to; and
sending the modified response to the server.

### Claim 2 (depends on 1)

The method of claim 1, wherein analyzing the response further comprises:
determining at least a query embedded in a request corresponding to the response;
identifying a type of a command of the query embedded in the corresponding request; and
determining whether the command relates to the global-tenant table.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
checking if the type of the command requires a modification of the response, wherein the check is based on predetermined list of command types.

### Claim 4 (depends on 2)

The method of claim 2, wherein the global-tenant table is a joint of all tables maintained for all tenants supported by the at least one cloud-based application.

### Claim 5 (depends on 2)

The method of claim 2, wherein the global-tenant table includes records of individual database tables of tenants in the multi-tenant database, wherein the record of each individual database tenant table is associated with a unique tenant identifier of a respective tenant.

### Claim 6 (depends on 2)

The method of claim 2, further comprising:
creating the global-tenant table.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
associating a unique tenant identifier with each individual database table, wherein each unique tenant identifier is of a tenant of a plurality of tenants of the multi-tenant database;
joining all of the individual database tables of the tenants to create the global-tenant table; and
adding, to the global-tenant table, a column designating the tenant identifier associated with each individual database table.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
performing at least one optimization process to optimize performance of accessing and maintaining the global-tenant table.

### Claim 9 (depends on 1)

The method of claim 1, wherein the database specific protocol includes at least one of: a Wire protocol and a hypertext transfer protocol.

### Claim 10

A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute a process for cross-tenant data leakage isolation in a multi-tenant database, the process comprising:
monitoring, by a proxy device, traffic flows between a server executing at least one cloud-based application and the multi-tenant database, wherein the proxy device is connected between the server and the multi-tenant database;
capturing, by the proxy device, at least a response from the multi-tenant database, wherein the response including returned data;
analyzing the response to determine if the returned data relates to a global-tenant table;
upon determining that the returned data relates to the global-tenant table, modifying the response to designate at least one tenant-specific table name that the returned data belongs to; and
sending the modified response to the server.

### Claim 11

A proxy device for cross-tenant data leakage isolation in a multi-tenant database, the proxy device is connected between a server executing a cloud-based application and the multi-tenant database, comprising:
a processing circuitry; and
a memory, the memory containing instructions that, when executed by the processing circuitry, configure the proxy device to:
monitor, by a proxy device, traffic flows between a server executing at least one cloud-based application and the multi-tenant database, wherein the proxy device is connected between the server and the multi-tenant database;
capture, by the proxy device, at least a response from the multi-tenant database, wherein the response including returned data;
analyze the response to determine if the returned data relates to a global-tenant table;
modify the response to designate at least one tenant-specific table name that the returned data belongs to, upon determining that the returned data relates to the global-tenant table; and
send the modified response to the server.

### Claim 12 (depends on 11)

The proxy device of claim 11, wherein the proxy device is further configured to:
determine at least a query embedded in a request corresponding to the captured response;
identify a type of a command of the query of the corresponding request; and
determine whether the command of the query of the corresponding request relates to a global-tenant table.

### Claim 13 (depends on 12)

The proxy device of claim 12, wherein the proxy device is further configured to:
check if a type of the command type requires a modification of the response, wherein the check is based on predefined list of commend types.

### Claim 14 (depends on 12)

The proxy device of claim 12, wherein the global-tenant table is a joint of all tables maintained for all tenants supported by the cloud-based application.

### Claim 15 (depends on 12)

The proxy device of claim 12, wherein the global-tenant table includes records of individual database tables of tenants in the multi-tenant database, wherein the record of each individual database tenant table is associated with a unique tenant identifier of a respective tenant.

### Claim 16 (depends on 12)

The proxy device of claim 12, wherein the proxy device is further configured to:
create the global-tenant table.

### Claim 17 (depends on 16)

The proxy device of claim 16, wherein the proxy device is further configured to:
associate a unique tenant identifier with each individual database table of tenants of the multi-tenant database;
join all of the individual database tables of the tenants to create the global-tenant table; and
add, to the global-tenant table, a column designating a tenant identifier of the tenant associated with each individual database table.

### Claim 18 (depends on 11)

The proxy device of claim 11, wherein the proxy device is further configured to:
perform at least one optimization process to optimize performance of accessing and maintaining the global-tenant table.

### Claim 19 (depends on 11)

The proxy device of claim 11, wherein the database specific protocol includes at least one of: a Wire protocol and a hypertext transfer protocol.
