DNS Graph Name Identification for Encrypted CDN Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for identifying communication service types in encrypted HTTP flows and CDN services face challenges due to caching of DNS responses and the use of aliases, leading to inaccurate inference of host names.

Innovation Solution

A name identification device generates graph information from DNS responses, associating names and IP addresses, and uses this information to identify service names by tracing edges in the graph, even when aliases are used, thereby improving the accuracy of host name inference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If DNS response caching is implemented, then network efficiency is improved, but host name accuracy deteriorates due to expired or invalid names

Engineering Contradiction:
Improvenetwork efficiencyVSAvoidhost name accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by generating graph information from DNS responses in advance and storing it for later use. When identifying host names for encrypted flows, the system traces through the pre-built graph to find valid host names, rather than relying on potentially expired cached DNS responses. This allows the system to maintain both caching efficiency and name accuracy.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If CDN services with CNAME aliases are used, then service delivery flexibility is improved, but service identification accuracy deteriorates due to alias names

Engineering Contradiction:
Improveservice delivery flexibilityVSAvoidservice identification accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The system transitions from a simple linear DNS response storage to a multi-dimensional graph structure where nodes represent host names, IP addresses, and CNAME aliases, and edges represent their relationships. This graph structure allows the system to traverse through CNAME aliases and CNAME chains to reach the original service host name, effectively resolving the identification accuracy issue while maintaining CDN flexibility.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Device complexity

If only latest DNS response is managed, then data storage simplicity is improved, but name resolution accuracy deteriorates when aliases are involved

Engineering Contradiction:
Improvedata storage simplicityVSAvoidname resolution accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The system implements a nested structure where the graph information contains multiple levels of host name relationships. CNAME aliases are nested within the graph as intermediate nodes, and the system can traverse through these nested layers to reach the original service name. This nested approach allows comprehensive name resolution while maintaining organized data storage.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10608981B2Name identification device, name identification method, and recording medium
Publication Date: 2020.03.31 NIPPON TELEGRAPH & TELEPHONE CORP
  • US10608981B2 patent drawing
  • US10608981B2 patent drawing
  • US10608981B2 patent drawing

AI summary

A name identification device includes a generation unit configured to generate graph information in which each node represents one of names and IP addresses included in A records and CNAME records included in a DNS response observed in a network, and each edge represents a correspondence relationship between one and another of the names and the IP addresses in the A records and the CNAME records, and to associate the generated graph information with a client corresponding to the DNS response; and an identifying unit configured to identify a name related to a leaf node that is reachable from a node corresponding to the IP address of a server by tracing the edges in the graph information having been associated with the client, for a packet between the client and the server that is observed in the network.