Cloud DNS Proxy and AHID Isolation Against Cross-Account Data Exfiltration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Malicious apps can exfiltrate user data by using Trojan session tokens to transfer data from a consumer's account to a producer's internal stage in cloud data platforms, posing a security risk.

Innovation Solution

Implement a multi-layer defense system with unique block-storage hostnames per account, DNS proxy to limit hostname resolution, and SNI filtering to ensure secure data access, using Account Host Identifiers (AHID) and Extended Berkeley Packet Filter (EBPF) to validate TLS handshakes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If internal stages are shared across multiple accounts for data storage, then data accessibility and platform versatility are improved, but security risks increase due to potential unauthorized data transfer between accounts

Engineering Contradiction:
Improvedata accessibilityVSAvoidunauthorized data transfer
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system segments the shared storage space by creating account-specific namespaces within internal stages. Each account receives a unique identifier that is prepended to all stage names, effectively partitioning the shared storage into isolated logical sections. This allows multiple accounts to access the same physical storage infrastructure while preventing unauthorized cross-account data transfer, as malicious code cannot guess or access stage names belonging to other accounts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary layer (the account identifier prefix) between the user-facing stage names and the actual storage locations. This intermediary ensures that all data access requests are automatically routed through account-specific naming conventions, providing built-in protection against unauthorized access while maintaining efficient access to legitimate data.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If unique hostnames are implemented per account for TLS verification, then security against data exfiltration is improved, but system complexity increases due to additional hostname management

Engineering Contradiction:
ImprovesecurityVSAvoidhostname management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges the account identifier (which already exists for authentication and stage naming purposes) with the hostname generation process. By reusing the existing account identifier to construct unique hostnames, the system avoids creating a separate identity management mechanism, thereby reducing overall complexity while still providing unique TLS verification credentials for each account.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The account identifier serves multiple functions simultaneously: it authenticates users, names internal stages, and generates unique hostnames for TLS verification. This multi-functionality eliminates the need for separate hostname management infrastructure, reducing system complexity while maintaining strong security through unique per-account hostnames.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12621260B2Data protection in cloud data platform
Publication Date: 2026.05.05 SNOWFLAKE INC
  • US12621260B2 patent drawing
  • US12621260B2 patent drawing
  • US12621260B2 patent drawing

AI summary

A system is disclosed comprising a memory containing instructions and one or more computer processors. When the instructions are executed, the system performs an operation to configure a Domain Name System (DNS) proxy, executing in a node of a cloud data platform associated with a first account, to perform hostname resolution of an Account Host Identifier (AHID) of the first account. The DNS proxy receives a DNS request from a process executing in a pod of the node, and the system fails to resolve the DNS request if the name in the DNS request differs from the AHID of the first account. The system returns an Internet Protocol (IP) address if the name in the DNS request matches the AHID. The process executing in the pod of the node is configured to send data to data storage of the cloud data platform using the returned IP address.