Archief - De topics van lang geleden

DNS exploit

28-07-2008, 15:48 door Anoniem, 22 reacties
Alle DNS servers binnen ons bedrijf zijn gepatched.
echter de clients (XP) en alle andere member servers zijn dit (nog) niet. Geldt
dezelfde prioriteit voor DNS clients?
Reacties (22)
28-07-2008, 16:28 door SirDice
Nee, het is een issue met de DNS server, niet de clients.
28-07-2008, 17:41 door Emphyrio
Door SirDice
Nee, het is een issue met de DNS server, niet de clients.

mmm, niet volledig akkoord, SirDice.
Zoals ik reeds op
[url=http://www.security.nl/article/19156/1/Misbruik_ernstig_DNS-
lek_kinderspel_door_exploits.html]24 Juli 2008 op deze site[/url]
aanhaalde:

Het dient opgemerkt te worden dat, zowel de DNS client als de server, beide
kwetsbaar zijn voor deze exploits.
Zij het dat de uitwerking via een besmette DNS server cache een groter effect gaat
hebben.


Bron: McAfee
[url=http://www.avertlabs.com/research/blog/index.php/2008/07/23/the-cat-is-
out-of-the-bag-dns-bug/]Oorspronkelijke tekst[/url]:

It should be noted that both DNS clients and server are vulnerable to these
issues
although the potential impact of a successful exploitation is greater when a
DNS server cache can be poisoned.
28-07-2008, 18:23 door SirDice
Alleen als de client z'n source port en transaction ID niet
voldoende random heeft gemaakt.

Maar inderdaad, het zou mogelijk kunnen zijn. Overigens is
het al gepatched..

http://www.microsoft.com/technet/security/bulletin/ms08-037.mspx
28-07-2008, 18:33 door Emphyrio
Inderdaad.

Doch vermoed ik dat ze die patch manueel zullen moeten ophalen, want ikzelf
(Telenet, non-vurnable) heb géén update van MS meer ontvangen sinds 20 juli
2008.
28-07-2008, 22:01 door Bitwiper
Door Anoniem
Alle DNS servers binnen ons bedrijf zijn gepatched.
Okay, maar weet je zeker dat er geen NAT-router en/of firewall tussen jouw bedrijf en 'het internet' zit die de randomisation van de source port ongedaan maakt? En als die DNS servers van een upstream DNS server gebruik maken, is die safe? Checken kan webbased o.a. [url=https://www.dns-oarc.net/oarc/services/dnsentropy]hier[/url] of lees [url=https://www.dns-oarc.net/oarc/services/porttest]dit[/url].
echter de clients (XP) en alle andere member servers zijn dit (nog) niet. Geldt dezelfde prioriteit voor DNS clients?
Als het pad vanaf je clients tot je eigen DNS servers in orde is, en je PC's maken daar gebruik van, dan is in principe alles in orde. Echter, als er gebruikers zijn met admin rechten (die de DNS instellingen zouden kunnen wijzigen) of indien er één of meer PC's in je (W-) LAN (of VPN-hosts) gecompromitteerd zijn, kun je (ook al zijn je switches hartstikke secure geconfigueerd waardoor ARP-spoofing is uitgesloten) toch een probleem hebben, afhankelijk van het patch-level: lees het volgende document!

In maart 2004 heeft [url=http://webteca.altervista.org/whitepapers.htm]ing. Roberto Larcher[/url] een uitstekend document geschreven genaamd [url=http://webteca.altervista.org/download/download4.php?get=wp_predictability_en]Predictability of Windows DNS Resolver[/url] dat bij de huidige exploits heel verhelderend werkt (pdf is evt. ook [url=http://www.infosecwriters.com/text_resources/pdf/predictability_of_Windows_DNS_resolver.pdf]hier[/url] te downloaden; [url=http://www.securiteam.com/securityreviews/5QP022KO1E.html]dit[/url] was mijn bron).

Ergens in de loop van 2004 heeft Microsoft stilletjes (ik kon er niets over vinden, mogelijk met W2K SP4 en XP SP2) het versturen van DNS requests met een incremental transaction ID in een enigszins random transaction ID gepatched in nieuwere operating systems. Clients die nog XP SP1 draaien zijn waarschijnlijk extra kwetsbaar. Overigens heeft MS [url=http://support.microsoft.com/kb/167629]dezelfde patch[/url] er in 2006 nog uit geperst voor NT4 server.

In nov. 2007 heeft Microsoft [url=http://www.microsoft.com/technet/security/bulletin/ms07-062.mspx]deze patch[/url] uitgebracht om in W2K(3) server meer randomness in de transaction ID's te geven; in die patch worden XPSP2 en Vista als not vulnerable opgegeven. Dat bleek niet juist (3x = scheepsrecht?) want met [url=http://www.microsoft.com/technet/security/Bulletin/MS08-020.mspx]deze patch van april 2008[/url] (overigens voor alle actuele besturingssystemen) wordt er eindelijk een (hopelijk) onvoorspelbare random number generator gebruikt voor het genereren van DNS transaction ID's.

Echter tot dan toe (alhoewel velen er eerder al voor waarschuwden, waaronder Roberto Larcher in 2004) werd de source port niet gerandomized; dat is pas deze maand gebeurd met [url=http://www.microsoft.com/technet/security/Bulletin/ms08-037.mspx]deze patch van 8 juli 2008[/url] (bovendien is daarin ook sprake van using strongly random DNS transaction ID values dus kennelijk is 4x scheepsrecht...)

Door Emphyrio
En de patch is van 25 Juli 2008
Nee, de patch is van 8 juli ([url=http://www.microsoft.com/technet/security/Bulletin/ms08-037.mspx]het security bulletin[/url] is op 25 juli geupdate, maar niet de patch zelf; je kunt checken of je de juiste files hebt aan de hand van [url=http://support.microsoft.com/kb/953230]deze MS publicatie[/url]).
29-07-2008, 00:50 door Emphyrio
@Bitwiper: U heeft volkomen gelijk.
29-07-2008, 11:33 door Anoniem
Door SirDice
Alleen als de client z'n source port en transaction ID niet
voldoende random heeft gemaakt.

Maar inderdaad, het zou mogelijk kunnen zijn. Overigens is
het al gepatched..

http://www.microsoft.com/technet/security/bulletin/ms08-037.mspx

Zelf heb ik een ST780 router. Als ik de patch van MS
installeer, kan het dan nog steeds zo zijn dat mijn router
port randomisation/transaction ID verstoort?

Zo ja, hoe kan je dat oplossen? Helpt het om de DNS
instellingen van OpenDNS te gebruiken?
29-07-2008, 12:22 door Anoniem
gelukkig hoef ja, als je server tenminste op hetzelfde
netwerk staat, 'alleen maar' je netwerk te vertrouwen (ik
neem tenminste aan dat een pakketje dat beweert van binnen
het netwerk komen bij de poort al de deur gewezen wordt). Ze
moeten wel gepatcht worden natuurlijk, maar het heeft *iets*
minder prioriteit.
29-07-2008, 14:21 door SirDice
Zelf heb ik een ST780 router. Als ik de patch van MS
installeer, kan het dan nog steeds zo zijn dat mijn router
port randomisation/transaction ID verstoort?
Het zou kunnen dat jouw router als DNS server fungeert. Dat
kun je eenvoudig controleren op je computer met ipconfig
/all
.
Let op het IP adres van de DNS server(s), als deze hetzelfde
zijn als de default gateway word je router als DNS gebruikt.

Mocht bij een ipconfig de DNS servers van je ISP te zien
zijn dan kan je router (door het NAT'en) de boel alsnog in
de war gooien. Even die test op het web doen in dat geval.

Zo ja, hoe kan je dat oplossen? Helpt het om de DNS
instellingen van OpenDNS te gebruiken?
Dat kun je altijd nog doen ;)
29-07-2008, 14:42 door Anoniem
Door SirDice
Zelf heb ik een ST780 router. Als ik de patch van MS
installeer, kan het dan nog steeds zo zijn dat mijn router
port randomisation/transaction ID verstoort?
Het zou kunnen dat jouw router als DNS server fungeert. Dat
kun je eenvoudig controleren op je computer met ipconfig
/all
.
Let op het IP adres van de DNS server(s), als deze hetzelfde
zijn als de default gateway word je router als DNS gebruikt.

Mocht bij een ipconfig de DNS servers van je ISP te zien
zijn dan kan je router (door het NAT'en) de boel alsnog in
de war gooien. Even die test op het web doen in dat geval.

Zo ja, hoe kan je dat oplossen? Helpt het om de DNS
instellingen van OpenDNS te gebruiken?
Dat kun je altijd nog doen ;)

Mijn DNS server geeft hetzelfde IP adres aan als mijn
default gateway, dus dat zou dan goed moeten zijn?
In mijn router staan primary/secondary DNS wel op
194.109.xxx.xxx. Maakt dat nog uit?
29-07-2008, 20:55 door Bitwiper
Anoniem op dinsdag 29 juli 2008 11:33
Als ik de patch van MS installeer, kan het dan nog steeds zo zijn dat mijn router port randomisation/transaction ID verstoort?
en
Door Anoniem op dinsdag 29 juli 2008 14:42
Mijn DNS server geeft hetzelfde IP adres aan als mijn default gateway, dus dat zou dan goed moeten zijn?
Wat is 'goed'? Met zo'n vraag ontkom ik niet aan een lang verhaal, want een simpele ja of nee kan ik je niet geven...

Als ipconfig /all laat zien dat 1 of meer DNS servers zijn ingesteld op een private range IP adres (10.x.x.x, 172.16.x.x, 169.254.x.x of 192.168.x.x) dan betekent dit dat je een locale DNS server gebruikt. Als dat hetzelfde adres is als de ingestelde Default Gateway dan is dat zeker in je router/ADSL modem.

In dat geval maakt het weinig uit of je PC gepatched is omdat die DNS server na jouw aanvragen hoogstwaarschijnlijk geheel nieuwe request pakketten aanmaakt en verstuurt. De kwaliteit daarvan (d.w.z. hoe random zijn zowel de transaction ID als de source port) is waarschijnlijk lastig vast te stellen (zie verderop). Vaak zal zo'n ding wel cachen, maar hoe lang en hoeveel entries weet ik niet.

Ik durf het niet met zekerheid te zeggen, maar ik vermoed dat in routertjes en modems (net als in de meeste besturingssystemen) uitsluitend zogenaamde stub resolvers zitten. Een stub resolver is non-recursive oftewel deze itereert niet zelf maar laat dat over aan een upstream DNS server (van je ISP, 194.109.xxx.xxx bij de tweede anoniem, of bijv. OpenDNS), door in de aanvraag de 'Recursion desired' vlag te zetten. Dit betekent: beste upstream DNS server, zoek jij het maar helemaal voor me uit en geef me het antwoord.

[color=blue]Toelichting van DNS en de exploit[/color]

Als jij om het adres van aaaaa.security.nl vraagt betekent dat 'uitzoeken' door een iterative of recursive resolver: aan 1 van de rootservers vragen wie authoritative is voor het NL domain, aan het gerourneerde IP-adres vragen wie authoritative is voor security.nl, en aan dat IP-adres vragen wat het IP-adres is van aaaaa.security.nl (in al die gevallen wordt eerst in de cache gekeken natuurlijk, maar aaaaa.security.nl zit daar waarschijnlijk niet in).

De 'Dan Kaminsky' kwetsbaarheid bestaat er uit dat een attacker eerder antwoord geeft op de laatste vraag (zonder die gezien te hebben, timing is dus kritisch). Dat doet hij met een gespoofd afzenderadres, en in het antwoord vermeldt hij tevens dat het IP-adres van de authoritative nameserver voor security.nl x.x.x.x is - met een flink lange geldigheidsduur. Daarbij is x.x.x.x natuurlijk onder controle van die attacker (bijv. een zombie-PC). Die gegevens zet de upstream DNS server in z'n cache waarna vervolgens alle aanvragen (van iedereen) voor *.security.nl naar x.x.x.x gestuurd worden (overigens zullen DNS servers die informatie alleen in de cache schrijven als de oude entry verlopen is, maar dat tijdstip kan de attacker op afsand vaststellen).

Die attacker kan deze blind attack uitvoeren als hij weet wat het IP-adres is van de echte authoritative server waar de aanvraag naar toe gestuurd is, het UDP source port nummer en de transaction ID in het pakket. Die eerste is meestal een makkie, en als je in Roberto Larcher's [url=http://webteca.altervista.org/download/download4.php?get=wp_predictability_en]Predictability of Windows DNS Resolver[/url] leest dat in XPSP1 (met draaiende DNS client service) zowel de UDP source port als het transaction ID telkens met 1 worden verhoogd dan begrijp je dat het raden daarvan ook een eitje is. Als de aanvaller misgokt laat hij de DNS server om aaaab.security.nl vragen etc. en voert zo een brute force attack uit, net zo lang tot er toevallig een antwoord geaccepteerd wordt. De kans op succes is natuurlijk lager naarmate er meer randomness is in zowel de UDP source port als de transaction ID.

[color=blue]Stel je gebruikt de DNS resolver in je modem, wat kan er dan gebeuren?[/color]

Als jouw router/modem zelf itereert (d.w.z. non-recursive requests verstuurt) dan is het erg belangrijk dat deze zowel de UDP source port als het transaction ID goed randomized. Ik vermoed sterk dat beide bar tegenvallen in de huidige generatie routers/modems. Je kunt vaststellen of je modem zelf itereert door [url=https://www.dns-oarc.net/oarc/services/dnsentropy]deze test[/url] te draaien. Zie je jouw eigen IP-adres dan gebruik je een full blown DNS server; of die veilig is zie je dan meteen.

Als jouw modem een stub resolver bevat (dwz het oplossen van vraagstukken geheel aan de DNS server van je ISP overlaat) dan zal deze in principe nooit zelf DNS requests naar aanvallers sturen, waardoor zij niet weten wat de huidige waarde is van evt. sequentiële tellers (maar wie weet zijn sommige modems te truuken op dit gebied, bijv. vulnerabilities voor pakketten waardoor de router/modem reboot). Ook kunnen zij (als het goed is!) geen requests via jouw modem/router DSL server versturen en zo leren van de werking. Bovendien is het voor aanvallers (momenteel) lucratiever om grotere servers aan te vallen (alhoewel er ook wormen denkbaar zijn). Het probleem is dat je lastig kunt vaststellen hoe goed een ingebouwde DNS server in je modem randomized; als je extreme pech hebt kunnen zowel de UDP source port als het transaction ID een fixed waarde hebben, en kun je snel de pisang zijn zodra aanvallers in jou geïnteresseerd zijn en achterhaald hebben welk type router je gebruikt (simpel).

[color=blue]Wat als je PC de DNS server(s) van je ISP gebruikt?[/color]

Als ipconfig /all voor de DNS server(s) geen private range adres(sen) laat zien en je PC is gepatched, dan is in elk geval de randomization van de transaction ID in orde (tenzij MS dat na 4x 'fixen' nog niet voor elkaar heeft). N.B. dat ID zit in het pakket, een router/modem zal daar niets aan veranderen bij het doorsturen. Het enige dat je niet weet is of je modem de source port voor DNS pakketten voldoende randomized.

Conclusie: zolang je niet zeker weet wat je router/modem doet zou ik niet van de DNS server in dat doosje gebruik maken, maar in plaats daarvan in Windows de DNS gegevens van je ISP (of als die niet gaat patchen, OpenDNS) zelf inkloppen onder de TCP/IP settings. Zeker als de default instelling van je modem is om DHCP clients de ingebouwde DNS server te laten gebruiken, ben je, als je dit wijzigt, minder kwetsbaar dan al die andere gebruikers met hetzelfde modem die dit niet doen.

Mocht je hetzelfde willen horen van [url=http://en.wikipedia.org/wiki/Paul_Vixie]Paul Vixie[/url] lees dan [url=http://www.circleid.com/posts/87143_dns_not_a_guessing_game/#4210]dit[/url]. Is trouwens een [url=http://www.circleid.com/posts/87143_dns_not_a_guessing_game/]heel interessante discussie[/url] (nog actief) tussen enkele bekende Internet Guru's over dit onderwerp.
29-07-2008, 21:30 door Bitwiper
Over OpenDNS: ik zou hier alleen gebruik van maken als ik (a) weet dat mijn ISP z'n DNS servers niet voor elkaar heeft en (b) ik zeker wist dat mijn eigen modem/router de UDP source port goed randomized (naast een goede randomization van de transaction ID natuurlijk).

Waarom? Omdat het, in elk geval bij de betere ISP's, waarschijnlijk lastig is om in hun fisieke domain pakketten te verzenden met als afzenderadres een IP adres van één van de DNS servers van die ISP. De meeste ISP's zullen in hun routers voorkomen dat een pakket van buiten naar binnen een afzenderadres van 'binnen' bevat, zeker als dat toebehoort aan kritische apparatuur zoals DNS servers. Het is dus voor mensen buiten het fisieke domein van je ISP onmogelijk om antwoorden van de DNS server van die ISP te spoofen (hooguit andere klanten van diezelfde ISP kunnen dat, maar ook dat zal bij de betere ISP's zijn dichtgezet hoop ik; iemand die daar meer van weet?).

Ik weet echter zo goed als zeker dat vanaf veel (te veel) plaatsen op internet pakketten verzonden kunnen worden met als afzender IP-adres 208.67.222.222 of 208.67.220.220 (van OpenDNS). Als jouw ISP zo'n pakket van buiten ontvangt weet hij niet wie de echte afzender is en zal dat niet tegenhouden. Dus als jouw PC DNS requests verstuurt naar OpenDNS is het waarschijnlijk eenvoudiger voor een externe aanvaller om gespoofde antwoorden te sturen.

Daarnaast, hoewel een veel minder realistisch scenario, bestaat er een kans dat jouw pakketje onderweg naar OpenDNS wordt afgeluisterd of geheel onderschept waarmee de attacker natuuurlijk elk gewenst antwoord kan terugsturen. De kans hierop, hoewel erg klein, is natuurlijk wel groter dan dat dit in het domain van jouw eigen ISP gebeurt.

E.e.a. los van de commerciële redenen waarom OpenDNS zo aardig is.
30-07-2008, 08:02 door Anoniem
Conclusie: zolang je niet zeker weet wat je
router/modem doet zou ik niet van de DNS server in dat
doosje gebruik maken, maar in plaats daarvan in Windows de
DNS gegevens van je ISP (of als die niet gaat patchen,
OpenDNS) zelf inkloppen onder de TCP/IP settings. Zeker als
de default instelling van je modem is om DHCP clients de
ingebouwde DNS server te laten gebruiken, ben je, als je dit
wijzigt, minder kwetsbaar dan al die andere gebruikers met
hetzelfde modem die dit niet doen.

Een heel verhaal Bitwiper. Ik begrijp het grootste gedeelte
ervan.

Nog 1 vraag: Als ik onder TCP/IP settings dus ook
194.xxx.xxx.xxx invul (ipv automatisch een DNS adres laten
toewijzen), dan staan de DNS servers zowel op mijn pc als in
mijn router op 194.xxx.xxx.xxx

Wat nu als je na het testen (op de site die jij ook
aangeeft) dan alsnog het volgende te zien krijgt?:

Source port randomness: poor
Transaction ID randomness: great
30-07-2008, 10:04 door Bitwiper
Door Anoniem
Nog 1 vraag: Als ik onder TCP/IP settings dus ook 194.xxx.xxx.xxx invul (ipv automatisch een DNS adres laten toewijzen), dan staan de DNS servers zowel op mijn pc als in mijn router op 194.xxx.xxx.xxx
Opmerking: als je DNS servers op je PC hard instelt maakt de configuratie in je modem natuurlijk niet meer uit. Als je niet wilt dat de DNS server in je modem ooit nog gebruikt wordt (door andere PC's die alle gegevens via DHCP krijgen) kun je proberen de DNS server in je modem uit te schakelen, als daar geen 'knop' voor is kun je proberen de DNS server settings in je modem/router te overschrijven met 0.0.0.0 of evt. 127.0.0.1.

Bijna onderaan [url=http://www.security.nl/article/19144/1/Morgen_online_presentatie_over_ernstig_DNS-lek.html]deze security.nl thread[/url] staat een verwijzing naar [url=http://www.xs4all.nl/helpdesk/servers.php]de XS4All pagina met hun server gegevens[/url] met inderdaad bovenaan de IP-adressen van 3 resolvers die klanten zouden moeten gebruiken (op hun PC als ze handmatig configureren, gangbaar is om er 2 in te voeren). Gebruik je die?

Zo ja, in [url=http://www.security.nl/article/19177/1/DNS-aanvallen_begonnen%2C_grote_ISPs_ongepatcht_%2Aupdate%2A.html]deze security.nl thread[/url] zijn resultaten te zien voor 194.109.21.132, 194.109.21.133 en 194.109.21.251: alle drie okay. Overigens zijn dat XS4All computers/firewalls die de uitgaande requests verzorgen.
Source port randomness: poor
Transaction ID randomness: great
Als dat waar is zou XS4all nog niet in haar hele DNS infrastructuur de zaken voor elkaar hebben. Voor welk IP-adres en/of hostname gold dat?
30-07-2008, 10:29 door Anoniem
Bijna onderaan deze security.nl thread staat een
verwijzing naar de XS4All pagina met hun server gegevens met
inderdaad bovenaan de IP-adressen van 3 resolvers die
klanten zouden moeten gebruiken (op hun PC als ze handmatig
configureren, gangbaar is om er 2 in te voeren). Gebruik je
die?

Ja (de eerste en de derde)

Zo ja, in deze security.nl thread zijn resultaten te
zien voor 194.109.21.132, 194.109.21.133 en 194.109.21.251:
alle drie okay. Overigens zijn dat XS4All
computers/firewalls die de uitgaande requests verzorgen.

Je zegt dat deze drie goed zijn, maar bij 194.109.21.251
staat wel het volgende: Your name server, at 194.109.21.251,
appears to be safe, but
make sure the ports listed below aren't following an obvious
pattern (:1001, :1002, :1003, or :30000, :30020,
:30100...)

Maakt dat dan niet uit?
Die IP-adressen
(194.109.21.132/194.109.21.133/194.109.21.251) zijn anders
dan de DNS adressen die XS4All opgeeft op hun site
(194.109.6.66/194.109.104.104). Dat is normaal?

Als dat waar is zou XS4all nog niet in haar hele DNS
infrastructuur de zaken voor elkaar hebben. Voor welk
IP-adres en/of hostname gold dat?

Dit was op 194.109.21.133. Kan dit niet door mijn router
komen vraag ik me af? Hoeveel resolvers zijn er, want ik zie
ook 194.109.21.147 staan in 1 van die posts.
30-07-2008, 11:48 door Anoniem

Je zegt dat deze drie goed zijn, maar bij 194.109.21.251
staat wel het volgende: Your name server, at 194.109.21.251,
appears to be safe, but
make sure the ports listed below aren't following an obvious
pattern (:1001, :1002, :1003, or :30000, :30020,
:30100...)

Ja dus je moet even kijken of het lijstje gebruikte poorten
dat eronder staat geen duidelijk patroon volgt.
30-07-2008, 12:17 door Bitwiper
Door Anoniem op woensdag 30 juli 2008 11:48
make sure the ports listed below aren't following an obvious pattern (:1001, :1002, :1003, or :30000, :30020, :30100...)
Ja dus je moet even kijken of het lijstje gebruikte poorten dat eronder staat geen duidelijk patroon volgt.
Klopt, die :1001, :1002 etc. zijn bedoeld als voorbeelden (is verwarrend, ik zat ook even te kijken de 1e keer).
Door Anoniem op woensdag 30 juli 2008 10:29
Die IP-adressen (194.109.21.132/194.109.21.133/194.109.21.251) zijn anders dan de DNS adressen die XS4All opgeeft op hun site (194.109.6.66/194.109.104.104). Dat is normaal?
Ja, zoals ik in m'n eerdere bijdrage van vandaag schreef: dat zijn uitgaande firewalls o.i.d., dus hoogstwaarschijnlijk geen volledige resolvers, maar dozen die uitsluitend requests van de echte interne XS4all DNS servers aannemen en doorsturen, net zoals jouw router nu doet zeg maar.
Source port randomness: poor
Transaction ID randomness: great
[...]
Dit was op 194.109.21.133. Kan dit niet door mijn router komen vraag ik me af?
Nee.
Hoeveel resolvers zijn er, want ik zie ook 194.109.21.147 staan in 1 van die posts.
Nogmaals dat zijn frontends, zeg maar 'requestors', geen idee hoeveel ze daarvan hebben.

Interessant is wel dat die 194.109.21.133 niet in orde lijkt te zijn. Misschien kun je de test nog een paar keer herhalen en hier vermelden welke resultaten je ziet bij elke 'requestor' server?
30-07-2008, 21:35 door Bitwiper
Source port randomness: poor
Transaction ID randomness: great
[...]
Dit was op 194.109.21.133.
Dat zou wel eens toeval geweest kunnen zijn. Ik heb zojuist (2008-07-30 tussen 20:40 en 21:00) een aantal tests gedaan vanaf een xs4all account, en jouw resultaat niet reproducerend gekregen. Wel viel iets anders op!

Op de betreffende PC met xs4al account stonden als DNS servers ingesteld: 194.109.6.66 en 194.109.9.99. Daarmee heb ik in het totaal 8 webbased tests gedaan naar [url=https://www.dns-oarc.net/oarc/services/dnsentropy]dns-oarc.net[/url]. In alle gevallen was de transaction ID randomness prima in orde, dus die noem ik verder niet. V.w.b. de DNS source port randomness kreeg het volgende resultaat, gesorteerd op IP-adres:

194.109.21.131 GREAT; Range: 1136 - 64701

194.109.21.132 GREAT; Range: 2264 - 63512
194.109.21.132 GREAT; Range: 8045 - 64467
194.109.21.132 GREAT; Range: 2267 - 61004
194.109.21.132 GREAT; Range: 3408 - 62317

194.109.21.133 GREAT; Range: 1679 - 58863
194.109.21.133 GREAT; Range: 1509 - 58686
194.109.21.133 GREAT; Range: 3095 - 61363

194.109.21.251 GOOD; Range: 53428 - 63244

194.109.21.252 GOOD; Range: 49495 - 62007
194.109.21.252 GREAT; Range: 50052 - 65411
194.109.21.252 GREAT; Range: 50250 - 65476
194.109.21.252 GREAT; Range: 49793 - 64351

194.109.21.253 GREAT; Range: 49750 - 64173
194.109.21.253 GREAT; Range: 49973 - 63577
194.109.21.253 GREAT; Range: 50386 - 65512

Telkens zag ik het resultaat van 2 IP-adressen, waarbij de hoge nummers duidelijk een kleinere reeks hebben (waarschijnlijk 49152 t/m 65535, bij de lagere IP-nummers is dit waarschijnlijk 1024..65535). Ook zag ik in elk resultaat zowel een hoog als een laag IP-adres. Da's vreemd!

Vervolgens in de TCP/IP settings op de PC elke keer slechts 1 resolver ingevuld en daarmee 3 tests gedraaid, met het volgende resultaat:

DNS resolver = 194.109.6.66:
194.109.21.131 GREAT; Range: 3551 - 64623
194.109.21.132 GREAT; Range: 5134 - 64705
194.109.21.132 GREAT; Range: 5012 - 65492

DNS resolver = 194.109.9.99:
194.109.21.253 GREAT; Range: 50605 - 65096
194.109.21.253 GREAT; Range: 50072 - 65167
194.109.21.253 GREAT; Range: 49272 - 65332

DNS resolver = 194.109.104.104:
194.109.21.131 GREAT; Range: 4690 - 65175
194.109.21.131 GREAT; Range: 6866 - 63898
194.109.21.131 GREAT; Range: 1663 - 65317


DNS resolver zowel 194.109.6.66 als 194.109.104.104, 1 test gedaan:
194.109.21.133 GREAT; Range: 5065 - 65074
194.109.21.131 GREAT; Range: 1428 - 65070

Da's duidelijk. Zowel het gebruik van 194.109.6.66 als 194.109.104.104 leiden ertoe dat de uiteindelijke request door xs4all vanaf 194.109.21.1xx wordt verzonden; bij het gebruik van 194.109.9.99 gebeurt dit vanaf 194.109.21.2xx welke uit een kleinere range een DNS source port kiest.

Is het voor jezelf veiliger om 194.109.9.99 te mijden in je TCP/IP instellingen? Nauwelijks, tenzij iedereen dat doet (immers elke internetter kan de cache van xs4all laten vervuilen). Beter is het natuurlijk als xs4all alle dozen aanpast tot de maximale range (voor 194.109.21.2xx kan het ca. 4x beter dan nu).
31-07-2008, 07:51 door Anoniem
Bedankt voor je uitgebreide toelichting Bitwiper. Ik was er
zelf nog niet aan toe gekomen om wat uitgebreider te testen.

Dus even resumerend: als ik de DNS servers hard inklop in
mijn TCP/IP instellingen/router dan kan mijn router geen
spelbreker zijn in dit geheel (qua port randomisation) en
sowieso de MS patch hiervoor installeren?
31-07-2008, 12:59 door Bitwiper
Door Anoniem
Dus even resumerend: als ik de DNS servers hard inklop in mijn TCP/IP instellingen/router dan kan mijn router geen spelbreker zijn in dit geheel (qua port randomisation) en sowieso de MS patch hiervoor installeren?
Als je op je PC als DNS servers 194.109.6.66 en 194.109.104.104 instelt, gebruik je niet de DNS stub resolver in je router/modem, ongeacht wat je daarop configureert. Echter die router/modem stuurt wel jouw request door, en wijzigt daarbij hoogstwaarschijnlijk de source port (niet de transaction ID). De kans dat dit source port minder randmom maakt dan wat uit een volledig gepatchte windows PC komt, is groot. Echter het feit dat je uitsluitend met xs4all DNS resolvers communiceert verkleint de mogelijkheden voor spoofed antwoorden direct naar jouw IP-adres aanzienlijk.

Als je de DNS server in je router/modem gebruikt zal naast de source port randomization, ook de transaction ID randomization door de DNS server in je router/modem wordt gerealiseerd. Tenzij je zeker weet dat beide prima in orde zijn, raad ik deze setup af (omdat in de eerst genoemde setup in elk geval de door Windows gegenereerde transaction ID goed random is).

Verder zie mijn bijdrage van 30 juli 2008 10:04.
01-08-2008, 18:07 door Bitwiper
Er is een interessante discussie met onderwerp On the 'randomness' of DNS gaande op [url=http://www.mail-archive.com/cryptography%40metzdowd.com/]de cryptography maillijst (webbased)[/url] die begint met [url=http://www.mail-archive.com/cryptography%40metzdowd.com/msg09546.html]deze bijdrage[/url] van [url=http://en.wikipedia.org/wiki/Ben_Laurie]Ben Laurie[/url] waarin hij stelt dat je de output van de bekende DNS tests niet mag vertrouwen voor wat betreft de randomness:
Ever since the recent DNS alert people have been testing their DNS servers with various cute things that measure how many source ports you use, and how "random" they are. Not forgetting the command line versions, of course

dig +short porttest.dns-oarc.net TXT
dig +short txidtest.dns-oarc.net TXT

which yield output along the lines of

"aaa.bbb.ccc.ddd is GREAT: 27 queries in 12.7 seconds from 27 ports with std dev 15253"

But just how GREAT is that, really? Well, we don't know. Why? Because there isn't actually a way test for randomness.
Daar heeft Ben gelijk in. Maar wel is het natuurlijk zo dat als uit zo'n test blijkt dat het bereik van de mogelijke waarden beperkt is, de kans dat iemand zo'n waarde raadt groter is.

Met name [url=http://www.mail-archive.com/cryptography%40metzdowd.com/msg09561.html]deze bijdrage[/url] van William Allen Simpson vind ik interessant, ten eerst omdat hij het onderwerp wijzigt in On the unpredictability of DNS: onvoorspelbaarheid is natuurlijk je doel, dat mogelijkerwijs met een bepaald type [url=http://en.wikipedia.org/wiki/PRNG]PRNG[/url] bereikt kan worden (P voor Pseudo, niet Predictable natuurlijk!), met bijv. de eis dat er geen sprake is van een sequence die bijv. herstart bij na een reboot. M.a.w. het hangt af van de definitie van goede randomness of je er in dit geval wat aan hebt; zoals sommigen schrijven lijkt sha(1), sha(2), ... sha(n) redelijke random waarden op te leveren, maar die getallen zijn natuurlijk hartstikke voorspelbaar als je dat algoritme kent of kunt raden.

Ten tweede is [url=http://www.mail-archive.com/cryptography%40metzdowd.com/msg09561.html]die bijdrage[/url] interessant omdat William daarin een uitspraak doet over de kwaliteit van de source port predictability van zijn D-Link en Linksys NAT routers:
All my tests of locally accessible NATs (D-Link and Linksys) show that the sequence is fairly predictable. And no code updates available....
04-08-2008, 15:24 door Anoniem
@BitWiper
Het vaktijdschrift Informatiebeveiliging (PvIB) zoekt een
auteur om een actueel artikel over deze materie te
schrijven. Bij interesse graag contact opnemen met R.
Greuter (rob.greuter@kpn-officedsl.nl
Groet.
Rob
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.