Query Log Analysis
Detecting Anomalies in DNS Traffic at a TLD Resolver
Pieter Robberechts, Maarten Bosteels, Jesse Davis and Wannes Meert
Query Log Analysis Detecting Anomalies in DNS Tra ffi c at a TLD - - PowerPoint PPT Presentation
Query Log Analysis Detecting Anomalies in DNS Tra ffi c at a TLD Resolver Pieter Robberechts , Maarten Bosteels, Jesse Davis and Wannes Meert Goal and Context Goal and Context The QLAD System Results Conclusion DNS The Domain Name System
Detecting Anomalies in DNS Traffic at a TLD Resolver
Pieter Robberechts, Maarten Bosteels, Jesse Davis and Wannes Meert
DNS
The Domain Name System
Browser www.cs.kuleuven.be 14.154.78.252 DNS
Browser Recursive Resolver (ISP) Root Servers TLD Name Server Authoritative Name Server Cache Cache
DNS
The Domain Name System
? .cs.kuleuven.be ? .be 174.34.28.193 ? .kuleuven.be 54.186.35.8 ? .cs.kuleuven.be 1 4 . 1 5 4 . 7 8 . 2 5 2 14.154.78.252
DNS Belgium
The .be ccTLD resolver
Domain name registry for .be/.vlaanderen/.brussels
domains
Highlights uit 2016. DNS Belgium. URL: https://www.dnsbelgium.be/sites/default/files/generated/files/documents/cijfers%20deel%201%20-%20980px_v04_NL.pdf
nameservers
queries / day
DNS Belgium
Current Situation
PCAP files
DNS Belgium
Current Situation
We believe that proactive and real-time analysis
and security of DNS Belgium’s service.
QLAD
System Overview
ENTRADA DSC QLAD-flow QLAD-global QLAD-UI
DATA TRANSFORMATION ANOMALY DETECTION PRESENTATION
Data Transformation
ENTRADA vs DSC
ENTRADA DSC + convert archive SQL aggregate archive MonogDB API
Data Transformation
ENTRADA vs DSC
ENTRADA DSC
"ClientAddr": [ { "val": "195.238.24.111", "count": 1014 }, { "val": "195.238.25.53", "count": 70 }, { "val": "195.238.25.99", "count": 63 }, { "val": "195.238.24.117", "count": 61 }, { "val": "194.78.30.189", "count": 59 }, { "val": "42.236.23.92", "count": 55 }, { "val": "195.238.25.108", "count": 55 }, { "val": "42.236.23.91", "count": 54 }, { "val": "193.58.1.131", "count": 52 },
QLAD-flow
Dewaele, G., Fukuda, K., Borgnat, P ., Abry, P ., & Cho, K. (2007). Extracting Hidden Anomalies using Sketch and Non Gaussian Multiresolution Statistical Detection Procedures. Proc. ACM SIGCOMM Workshop on Large-Scale Attack Defense (LSAD’07), 1–8.
h₁
Hash packets
α₁, β₁ Level 1 2 1 3 2 1 3 1 2 1 α₂, β₂ Level 2 3 3 3 4 2 α₃, β₃ Level 3 6 7 2
QLAD-flow
Algorithm
Count packets at different aggregation levels
α₁ β₁ α₁ β₁ α₁ β₁ + + + Level 1 Level 2 Level 3 Avg Distance
QLAD-flow
Algorithm
Anomalous group
Compare groups at each aggregation level Identify groups that differ from average
QLAD-flow
Algorithm
h1 h2 h3
Repeat with different hash functions
Some attacks span a lot of flows
e.g. DoS with spoofed IP address
QLAD-flow
Shortcomings
QLAD-flow is unable to detect these
QLAD-global
Algorithm
Observation: each traffic anomaly causes changes in the distribution of one or more traffic features
Look at entropy!
QLAD-global
Algorithm
ENTRADA DSC GET NEW ENTROPIES UPDATE MODELS RUN DETECTOR
REPORT ANOMALIES
anomaly
TLD SLD qtype rcode client ASN country response size TLD SLD qtype rcode client ASN country response size
1 2 4 3
Data
Description of the evaluation dataset
Sunday 12 to Monday 13 February 2017
server
Results
Detected anomalies
QLAD-flow (source IP) QLAD-flow (query name) QLAD-global Total (unique) Bening Caching resolver 12 2 12 Email marketing 8 2 9 Other 1 2 3 Malicious Spam sender 3 3 Domain enumeration 5 2 5 Reflection attack 1 1 2 Phishing 1 1 DoS attack 3 2 1 4 Unknown 1 1 1 TOTAL 35 4 9 39
Results
Detected anomalies
→ Impossible to use standard evaluation → Manual inspection of detected anomalies
QLAD
is a combination that works! Anomaly ≠ attack / abuse ➡ filtering needed
Can this be automated?
However,
Any questions? Interested? All software is open source! QLAD: https://github.com/DNSBelgium/qlad ENTRADA: https://github.com/SIDN/entrada DSC: https://github.com/DNS-OARC/dsc