DNS(SEC) client analysis assisted by Bart Gijsen (TNO) DNS-OARC, - - PowerPoint PPT Presentation

dns sec client analysis
SMART_READER_LITE
LIVE PREVIEW

DNS(SEC) client analysis assisted by Bart Gijsen (TNO) DNS-OARC, - - PowerPoint PPT Presentation

powered by DNS(SEC) client analysis assisted by Bart Gijsen (TNO) DNS-OARC, San Francisco, March 2011 Overview DNS traffic analysis CLIENT [8], [9] Resolver [7] (DNS proxy) Authoritative Authoritative Applic. Root DNS ) Root


slide-1
SLIDE 1

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

DNS(SEC) client analysis

assisted by powered by

slide-2
SLIDE 2

‘Overview’ DNS traffic analysis

[4] [8], [9] [2] [1] [5] [6] [7] [13],[14] [16]

Focus of DNS analysis has been on resolver and authoritative bulk data analysis

Operating system DNS stub Applic. browser Cache Cache

CLIENT Resolver (DNS proxy)

Server OS DNS resolver SW Cache

Authoritative Root DNS Authoritative Root DNS Authoritative TLD Authoritative TLD Authoritative SLD Authoritative SLD

)

Tx device

slide-3
SLIDE 3

Key question: How will DNSSEC change the behavior of DNS client querying? More specific … How do DNS stub resolvers react to response types such as ServFail, responses > 512 Bytes, …?

slide-4
SLIDE 4

11-3-2011 4

DNS client analysis DNS client analysis Impact Impact Experiments Experiments Summary & next steps Summary & next steps

slide-5
SLIDE 5

Experimental set-up

Controlled DNS Server DNS Resolver Client Monitoring station

Configure OS / browser on client machine

OS: Windows XP, Windows 7, Ubuntu Linux, Mac OSX Browsers: IE, Firefox, Chrome, Safari not all combi’s, but quite some …

clean OS image all settings left on defaults

slide-6
SLIDE 6

Test execution

Execute test run

query 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 queries and delays

slide-7
SLIDE 7

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

slide-8
SLIDE 8

Browser & OS DNS query amplification

DNS query count in case of:

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

  • nly IPv4; in case of IPv4 and IPv6 => 2x

x8 x4 x2 ServFail / No response / Refused x4 x2 x2 NXdomain / Partial 1+TCP 1+TCP x1 Truncated x1 x1 x1 Valid Total Linux Firefox Response type x8 x4 x2 ServFail / No response / Refused x4 x2 x2 NXdomain / Partial 1+TCP 1+TCP x1 Truncated x1 x1 x1 Valid Total Linux Firefox Response type x4 x4 x1 ServFail / No response / Refused x2 x2 x1 NXdomain / Partial 1+TCP 1+TCP x1 Truncated x1 x1 x1 Valid Total Mac OSX Safari Response type x4 x4 x1 ServFail / No response / Refused x2 x2 x1 NXdomain / Partial 1+TCP 1+TCP x1 Truncated x1 x1 x1 Valid Total Mac OSX Safari Response type

slide-9
SLIDE 9

Browser & OS DNS query amplification

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

x5 x5 x1 No response x1 x1 x1 Partial / ServFail / Refused 1+TCP 1+TCP x1 Truncated x1 x1 x1 Valid / NXdomain Total Windows XP IE Response type x5 x5 x1 No response x1 x1 x1 Partial / ServFail / Refused 1+TCP 1+TCP x1 Truncated x1 x1 x1 Valid / NXdomain Total Windows XP IE Response type x5 x5 x1 No response x1 x1 x1 Partial / ServFail / Refused 1+TCP 1+TCP x1 Truncated x1 x1 x1 Valid / NXdomain Total Windows XP Chrome Response type x5 x5 x1 No response x1 x1 x1 Partial / ServFail / Refused 1+TCP 1+TCP x1 Truncated x1 x1 x1 Valid / NXdomain Total Windows XP Chrome Response type

slide-10
SLIDE 10

Other sources of aggressive DNS clients (not investigated)

Greedy – synchronisation apps: bonjour, facebook apps, …

may generate continuous stream of DNS requests

Browser pre-fetching

Firefox 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

slide-11
SLIDE 11

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 Monitoring station

slide-12
SLIDE 12

GNU Library C (‘glibc’) DNS service

static code analysis:

  • verall 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?

slide-13
SLIDE 13

11-3-2011 13

DNS client analysis DNS client analysis Impact Impact Experiments Experiments Summary & next steps Summary & next steps

slide-14
SLIDE 14

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,0

Refused

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

slide-15
SLIDE 15

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 low behavior 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 Authoritative TLD Authoritative SLD Tx device

slide-16
SLIDE 16

Impact outlook

  • scenario: 10% DNSSEC validation error for SLD

DNSSEC configuration errors at a domain will attract more 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

Authoritative Root DNS Authoritative TLD Authoritative SLD Tx device

slide-17
SLIDE 17

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 Authoritative SLD Tx device

slide-18
SLIDE 18

11-3-2011 18

DNS client analysis DNS client analysis Impact Impact Experiments Experiments Summary & next steps Summary & next steps

slide-19
SLIDE 19

Summary

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

Resolvers partly damp aggressive behavior, but also amplify it

Impact of client behavior on average DNS traffic is relatively low

because fraction of Mac / Linux traffic is relatively low and behavior occurs in particular for minority of DNS responses

Although, for some particular cases the behavior amplifies traffic volume and rate

slide-20
SLIDE 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 analysis

further 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” …