DNS(SEC) Client Analyses - Bart Gijsen, TNO

20
Bart Gijsen (TNO) DNS-OARC, San Francisco, March 2011 DNS(SEC) client analysis assisted by powered by

Transcript of DNS(SEC) Client Analyses - Bart Gijsen, TNO

Page 1: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 1/20

Bart Gijsen (TNO) DNS-OARC, San Francisco, March 2011

DNS(SEC) client analysis assistedby

poweredby

Page 2: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 2/20

‘Overview’ DNS traffic analysis

[4]

[8], [9]

[2]

[1]

[5][6]

[7]

[13],[14]

[16]

Focus of DNS analysis has been on resolver and authoritativebulk data analysis

Operating system

DNS stub

Applic.browser

Cache

Cache

CLIENTResolver

(DNS proxy)

Server OS

DNS resolver SW Cache

AuthoritativeRoot DNS

AuthoritativeRoot DNS

Authoritative

TLD

Authoritative

TLD

AuthoritativeSLD

AuthoritativeSLD

)

Tx device

Page 3: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 3/20

Key question:

How will DNSSEC change the behavior of DNSclient querying?

More specific …

How do DNS stub resolvers react to response typessuch as ServFail, responses > 512 Bytes, …?

Page 4: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 4/20

11-3-20114

DNS clientanalysisDNS clientanalysis ImpactImpact

ExperimentsExperiments

Summary &

next steps

Summary &

next steps

Page 5: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 5/20

Experimental set-up

Controlled

DNS Server

DNS Resolver

Client

Monitoringstation

Configure OS / browser on clientmachineOS: Windows XP, Windows 7, Ubuntu

Linux, Mac OSX

Browsers: IE, Firefox, Chrome, Safarinot all combi’s, but quite some …

clean OS imageall settings left on defaults

Page 6: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 6/20

Test execution

Execute test runquery each URLs with predefined response(ldns tool)

Valid, Valid (>512 Bytes), NXdomain, Partial, ServFail,

No reply, Truncated, Recursion refused

query via ping (=> OS only) and via browser(=> browser & OS)

repeat query once to check impact of caching

Observe the number of repeated queriesand delays

Page 7: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 7/20

Example of DNS client behaviour:Linux-Ubuntu /w Firefox

3 immediate retries in

case of servfail response

and IPv4?

OS sends servfail to FireFox;

Firefox makes OS retry

example: servfail response

16 queries in 0.14 seconds

Page 8: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 8/20

Browser & OS DNS query amplification

DNS query count in case of:

single authoritative NS; in case of primary and secondary => 2xonly IPv4; in case of IPv4 and IPv6 => 2x

x8x4x2ServFail / No response / Refused

x4x2x2NXdomain / Partial

1+TCP1+TCPx1Truncated

x1x1x1Valid

TotalLinuxFirefoxResponse type

x8x4x2ServFail / No response / Refused

x4x2x2NXdomain / Partial

1+TCP1+TCPx1Truncated

x1x1x1Valid

TotalLinuxFirefoxResponse type

x4x4x1ServFail / No response / Refused

x2x2x1NXdomain / Partial

1+TCP1+TCPx1Truncated

x1x1x1Valid

TotalMac OSXSafariResponse type

x4x4x1ServFail / No response / Refused

x2x2x1NXdomain / Partial

1+TCP1+TCPx1Truncated

x1x1x1Valid

TotalMac OSXSafariResponse type

Page 9: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 9/20

Browser & OS DNS query amplification

In fact, same behaviour for IE, Chrome, Firefox, Safari onWindows XP or Windows 7

x5x5x1No response

x1x1x1Partial / ServFail / Refused

1+TCP1+TCPx1Truncated

x1x1x1Valid / NXdomain

TotalWindows XPIEResponse type

x5x5x1No response

x1x1x1Partial / ServFail / Refused

1+TCP1+TCPx1Truncated

x1x1x1Valid / NXdomain

TotalWindows XPIEResponse type

x5x5x1No response

x1x1x1Partial / ServFail / Refused

1+TCP1+TCPx1Truncated

x1x1x1Valid / NXdomain

TotalWindows XPChromeResponse type

x5x5x1No response

x1x1x1Partial / ServFail / Refused

1+TCP1+TCPx1Truncated

x1x1x1Valid / NXdomain

TotalWindows XPChromeResponse type

Page 10: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 10/20

Other sources of aggressive DNS clients

(not investigated)

Greedy – synchronisation apps: bonjour, facebookapps, …

may generate continuous stream of DNS requests

Browser pre-fetchingFirefox by default queries “anticipated next URLs” for a page

Chrome pre-fetches stored, successfully retrieved URLs, when

started

Ubuntu Linux: by default no DNS caching

Page 11: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 11/20

Impact of the caching resolver

Some damping of aggressive client behaviour by (BIND9) resolver

In case of no-response the resolver retries (7 retries, with exponential

timer back-off), while holding back client side retries

Valid, NXdomain and truncated responses are cached

TCP session for truncated responses is handled by resolver

But also some amplification / modification by the resolver

Resolver ‘double checks’ ServFail responses

Unvalidatable response is returned as ServFail to client by non-DNSSEC

enabled resolver

Also: partial, recursion refused and timeout are fed back as ServFail

Controlled

DNS Server

DNS Resolver

Client

Monitoringstation

Page 12: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 12/20

GNU Library C (‘glibc’) DNS service

static code analysis:overall glibc no ordinary characteristics found

dynamic code analysis of DNS part:

‘responsible’ code part is pinpointed

code part is complex improvement not

found yet

Causes of aggressive DNS client behavior?

Ok, before we drill down to the cause … what’s the impact?

Page 13: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 13/20

11-3-201113

DNS client

analysis

DNS client

analysisImpactImpact

ExperimentsExperiments

Summary &

next steps

Summary &

next steps

Page 14: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 14/20

Impact model (“perfect behavior ”)

Response Repeat query User Firefox Linux Resid.GW BIND9 Authoritative NS

Query to Root  1,0E-01 9,0E-02 9,0E-02 900 900.000 Root 

Valid 1,98

Valid (>512B) 0,00 682.200 (Repeated queries)

Nxdomain 2,2E-03 2,2E-03 2,2E-03 22,32

Repeat-NXdomain 4,5E-03 8,9E-03 67,0

Partial 0,0E+00 0,0E+00 0,0E+00 0,00

Repeat-Partial 0,0E+00 0,0E+00 0,0

Servfail 9,0E-06 9,0E-06 9,0E-06 0,09

Repeat-Servfail 1,8E-05 7,2E-05 1,3

Timeout 0,0E+00 0,0E+00 0,0E+00 0,00

Repeat-Timeout 0,0E+00 0,0E+00 0,0

Refused 0,0E+00 0,0E+00 0,0E+00 0,00

Repeat-Refused 0,0E+00 0,0E+00 0,0

Truncated 0,00

Repeat-Truncated 0,0

Query to TLD  181.980 TLD 

Valid 127,39

Valid (>512B) 1,82 69.152 (Repeated queries)

Nxdomain 9,1E-04 9,1E-04 9,1E-04 9,10

Repeat-NXdomain 1,8E-03 3,6E-03 27,3

Partial 0,0E+00 0,0E+00 0,0E+00 0,00

Repeat-Partial 0,0E+00 0,0E+00 0,0

Servfail 1,8E-04 1,8E-04 1,8E-04 1,82

Repeat-Servfail 3,6E-04 1,5E-03 25,5

Timeout 0,0E+00 0,0E+00 0,0E+00 0,00

Repeat-Timeout 0,0E+00 0,0E+00 0,0

Refused 1,8E-04 1,8E-04 1,8E-04 1,82

Repeat-Refused 3,6E-04 1,5E-03 12,7

Truncated 3,64

Repeat-Truncated 3,6

Query to SLD  31.285 SLD 

Valid 2,9E-02 2,2E-02 2,2E-02 224,03

Valid (>512B) 1,5E-04 1,5E-04 1,5E-04 3,2E-04 3,20 12.162

Nxdomain 1,6E-03 1,6E-03 1,6E-03 16,00

Repeat-NXdomain 3,2E-03 6,4E-03 48,0

Partial 0,0E+00 0,0E+00 0,0E+00 0,00

Repeat-Partial 0,0E+00 0,0E+00 0,0

Servfail 3,2E-04 3,2E-04 3,2E-04 3,20

Repeat-Servfail 6,4E-04 2,6E-03 44,8

Timeout 1,7E-04 1,7E-04 1,7E-04 0,0E+00 0,00

Repeat-Timeout 3,4E-04 1,3E-03 0,0Refused 3,2E-04 3,2E-04 3,2E-04 3,20

Repeat-Refused 6,4E-04 2,6E-03 22,4

Truncated 6,4E-04 6,4E-04 6,4E-04 6,40

Repeat-Truncated 6,4

Page 15: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 15/20

Impact on average DNS traffic volume

Predicted query load reduction as result of modifying

aggressive Linux/Mac behavior is small

penetration of Linux / Mac OSX relatively lowbehavior occurs in case of ‘exceptions’ (ServFail, NXdomain, …)

-3%

-3%

-1%

-3%

Operating system

DNS stub

Applic. browser

Cache

Cache

CLIENT

Resolver

(DNS proxy)

Server OS

DNS resolver SW Cache

Authoritative

Root DNS

AuthoritativeTLD

Authoritative

SLDTx device

Page 16: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 16/20

Impact outlook- scenario: 10% DNSSEC validation error for SLD

DNSSEC configuration errors at a domain will attractmore traffic, due to observed behavior

-3%

-3%

-10%

-1%

Operating system

DNS stub

Applic. browser

Cache

Cache

CLIENT

Resolver

(DNS proxy)

Server OS

DNS resolver SW Cache

AuthoritativeRoot DNS

AuthoritativeTLD

AuthoritativeSLDTx device

Page 17: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 17/20

Impact outlook- scenario: NXdomain caching disabled at resolver

Some amplification of bogus traffic to the Root

-2%

-3%

-3%

-15%

Operating system

DNS stub

Applic. browser

Cache

Cache

CLIENT

Resolver

(DNS proxy)

Server OS

DNS resolver SW Cache

Authoritative

Root DNS

Authoritative

TLD

AuthoritativeSLDTx device

Page 18: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 18/20

11-3-201118

DNS client

analysis

DNS client

analysisImpactImpact

ExperimentsExperiments

Summary &

next steps

Summary &

next steps

Page 19: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 19/20

Summary

Linux and Mac clients display aggressive DNSbehavior, in case of non-valid responses

Resolvers partly damp aggressive behavior, but also amplify it

Impact of client behavior on average DNS traffic isrelatively lowbecause fraction of Mac / Linux traffic is relatively low and

behavior occurs in particular for minority of DNS responses

Although, for some particular cases the behavioramplifies traffic volume and rate

Page 20: DNS(SEC) Client Analyses - Bart Gijsen, TNO

8/3/2019 DNS(SEC) Client Analyses - Bart Gijsen, TNO

http://slidepdf.com/reader/full/dnssec-client-analyses-bart-gijsen-tno 20/20

Next steps

Share experiences with other experts

Contribute to improving DNS function in the glibc(?)alternative for pinpointed code part causing the amplification

Further quantitative scenario impact analysisfurther verification with ISP (SURFnet), SIDN data

compare to greedy apps behavior

Is mobile internet different from other ISP traffic?ABI Research: “in 2015 62% of mobile device will be Linux-based” …