DNS Labeled Data Sets

An IXIA BreakingPoint box to simulate both normal and attack (DNS tunnelling) DNS traffic. The resulting pcaps were obtained and fields relevant to Spot injested (both original pcaps and injested parquet files are available in Amazon-S3). The attacks and the normal activity can be differentiated due to codes that were inserted into the Transaction ID field(upon ingestion the field is: ‘dns_id’) which identifies either the fact that the traffic was normal or identifies the specific dns tunneling activity being used. We provide the schema for the injested pcap data, location and specifications of the data within Amazon-S3, and how to interpret the ‘dns_id’ codes.

Spot (using version #####fill in here###.) was run on these datasets with ten repetitions each. We provide the Area Under the Curve (AUC) value related to how well the attacks were detected. We also provide the rank distributions for the various attacks within the dataset, with a rank of 1 meaning the entry was found to be the most suspicious entry out of all other entries.

Schema For Ingested Data (same for both data sets)

The schema for this DNS data has one additional field, ‘dns_id’, over what is usually used for DNS data in Spot. The schema is as follows:

NameType
frame_timestring
unix_tstampbigint
frame_lenint
ip_dststring
ip_srcstring
dns_qry_namestring
dns_qry_classstring
dns_qry_typeint
dns_qry_rcodeint
dns_astring
dns_idstring

Transaction ID Interpretations (same for both data sets)

The following provides interpretations for the values of the transaction ID field, ‘dns_id’. Each value indicates that either the data row was taken from a packet capture of simulated normal DNS traffic, or from a packet capture of a particular type of simulated attack.

Within BreakingPoint, Transaction IDs are represented as a decimal number. However, tshark dissect the transaction id in its hexadecimal representation in the format contained within parenthesis below.

Within Apache Spot only responses from DNS servers are ingested (since the response packet contains the query made by the client and the response from the server in the same packet)

Super Flow NameTransaction IDsDescription
Brandon_DNS_domain_Test1008 (0x000003f0)[Normal] This super flow simulates normal DNS queries distributed over time and IP address within the network.
DNS_Tunnel_BE_11002 (0x000003ea)[Attack] This super flow simulates a message being tunneled over DNS via the query name field (url's are random strings), with a ip address response (drawn from a file of randomly generated IPs) being sent via the DNS answer field.
DNS_Tunnel_BE_21003 (0x000003eb})[Attack] This super flow simulates a message being tunneled over DNS via the query name field (url's random strings), with a response being given as no such url found.
TCP_DNS_Tunnel_BE_11001 (0x000003e9)[Attack] This super Flow emulates tunneling random noise using TCP over DNS. The payload is generated by a Markov Dictionary and encoded in the DNS requests (responses) by using hex0x20Hack encoding.
TCP_DNS_Tunnel_BE_21005 (0x000003ed)[Attack] This super Flow emulates tunneling random noise using TCP over DNS. The payload is generated by a Markov Dictionary and encoded in the DNS requests (responses) by using Base16Alpha encoding.
TCP_DNS_Tunnel_BE_31007 (0x000003ef)[Attack] This super Flow emulates tunneling random noise using TCP over DNS. The payload is generated by a Markov Dictionary and encoded in the DNS requests (responses) by using Base63 encoding.

Data Sets

Simulation DateTypeLocationSizeAdditional Comments
May 9, 2017Tarball of pcap files
May 9, 2017Tarball of ingested data (parquet format)
July 20, 2017Tarball of pcap files
July 20, 2017Tarball of ingested data (parquet format)
Simulation DateTotal Recordsdns_id=1008dns_id=1002dns_id=1003dns_id=1001dns_id=1005dns_id=1007
5/9/2017391,364,387391,314,47716,31721,6664,1562,7435, 028
7/20/2017406,050,508406,043,9218561,2691,1671,6941,601

More to do here?