<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WwW.TarikZengin.CoM &#187; Internet</title>
	<atom:link href="http://tarikzengin.com/tag/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://tarikzengin.com</link>
	<description>Japonya&#039;dan bildiriyor....</description>
	<lastBuildDate>Sat, 01 Oct 2011 06:25:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Dan Kaminsky DNS Vulnerability</title>
		<link>http://tarikzengin.com/dan-kaminsky-dns-vulnerability/</link>
		<comments>http://tarikzengin.com/dan-kaminsky-dns-vulnerability/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 15:08:29 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Makaleler]]></category>
		<category><![CDATA[Cache Poisoning]]></category>
		<category><![CDATA[Dan Kaminsky]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNS Vulnerability]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Global Top Level Domain]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.tarikzengin.com/blog/?p=583</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/dan-kaminsky-dns-vulnerability/" title="Dan Kaminsky DNS Vulnerability"></a>Abstract The Domain Name System (DNS) is a naming system which transforms human readable domain names, into machine readable IP addresses and vice versa. The DNS servers create a database entry for each domain and send the equivalent IP address &#8230;<p class="read-more"><a href="http://tarikzengin.com/dan-kaminsky-dns-vulnerability/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/dan-kaminsky-dns-vulnerability/" title="Dan Kaminsky DNS Vulnerability"></a><p style="text-align: justify;"><strong>Abstract</strong><br />
The Domain Name System (DNS) is a naming system which transforms human readable domain names, into machine readable IP addresses and vice versa. The DNS servers create a database entry for each domain and send the equivalent IP address when they receive a query. DNS servers synchronize themselves with the authoritative DNS sources. When a query came to DNS server, it caches this request for future queries. If this request comes from a non-authentic client and has cached by DNS server, this causes a poisoned cache. This request may come from an improper software, a wrong configured name server or a malicious software which is created to exploit the DNS system.</p>
<p style="text-align: justify;"><strong>Conventional DNS Query</strong></p>
<p style="text-align: justify;">Let&#8217;s explain this with an example. At first, the client  makes a request for www.example.net to the IPS&#8217;s DNS server. The DNS server knows that this client is not an authoritative for the domain, so it also knows that it has to find it out of its cache, not in the local zone.<span id="more-583"></span></p>
<p style="text-align: justify;">The DNS server forwards this query randomly to one of its 13 root servers. The root server receives this query but know nothing about this new domain. But it knows the Global Top Level Domain (GTLD) servers which are responsible for .net domains. GTLD server receives the same query from root server. If it also knows nothing about this domain, it adds a referral to the query and sends it back.<br />
This cycle returns until one of the servers knows the exact answer of our query. This true equivalent of the domain is called A Record.</p>
<p style="text-align: justify;">The DNS server also files away this answer into its own cache for the future queries.</p>
<p style="text-align: justify;">
<div id="attachment_584" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-584 colorbox-583" title="NormalDNSQuery" src="http://www.tarikzengin.com/blog/wp-content/uploads/2009/02/figure1.gif" alt="A Normal DNS Query" width="500" height="478" /><p class="wp-caption-text">A Normal DNS Query (from www.unixwiz.net)</p></div>
<p>Figure 1 shows a normal procedure of DNS query. Here, the client sends a DNS query for the site www.unixwiz.net. The local recursive nameserver doesn&#8217;t know the answer and asks to an other root server. It sends back the message with a referral to an other root server. Local server tries all the authoritative root servers, until it finds the closest name server which is in the same domain with the target site. Finally, it sends a query to that name server and receives back the IP address.</p>
<p style="text-align: justify;"><strong>Cache Poisoning</strong><br />
The previous scenario was the way how a DNS query should be. The DNS server caches the A Record for future queries, but not forever, just for a while. This time interval is defined by the Time To Live (TTL) variable in the server configuration, and the only authorized person is the administrator of the DNS server. During TTL, each query for the same domain, will be answered from the local database. After the TTL passed, the record in the server database will be dropped and any query will cause a complete DNS cycle.</p>
<p style="text-align: justify;">If our bad guy wants to redirect the innocent clients to his malicious site rather than the original “good one”, he has to change this local database entry with his fake data.</p>
<p style="text-align: justify;">Indeed, it&#8217;s not so easy to send random DNS packets to the server. Because, DNS servers just allow the expected packets from other servers. And they have some specific messages between each other, that make the connection unique. Communication between servers is over UDP ports that the query (Question and Query ID of the DNS packet) was sent through.  So, the bad guy has to know these data to send a response to DNS server, which is like coming from an authoritative root server.</p>
<p style="text-align: justify;">The method he used is, sending a query for the target site and replying his own query before the original root server will. Figure 2 shows this process over an example.</p>
<p style="text-align: justify;">
<div id="attachment_585" class="wp-caption aligncenter" style="width: 581px"><img class="size-full wp-image-585 colorbox-583" title="DNSCachePoisoning" src="http://www.tarikzengin.com/blog/wp-content/uploads/2009/02/figure2.gif" alt="DNS Server Cache Poisoning (from www.unixwiz.net)" width="571" height="534" /><p class="wp-caption-text">DNS Server Cache Poisoning (from www.unixwiz.net)</p></div>
<p style="text-align: justify;">In this example, the bad guy sends a query to the DNS server for the target site www.bankofsteve.com. DNS server doesn&#8217;t know the IP address of this site and sends a query to a root server. The bad guy starts to flood at this point with increasing Query IDs. If he can find the true Query ID as fast as possible and sends back the poisoned DNS message to the victim name server with this Query ID, the DNS server accepts this response rather than the original one. In this example, the bad guy sends his malicious site&#8217;s IP address as a response of the original bank site query, before the bank&#8217;s original name server replies the query. The victim nameserver rejects the original nameserver&#8217;s response, because the Query ID will not be expected, after the bad guy sends the message by using this ID.</p>
<p style="text-align: justify;"><strong>Dan Kaminsky Method for Cache Poisoning</strong><br />
In 2008, Dan Kaminsky who is a security researcher and Director of Penetration Testing for IOActive, found a way to poison not just the addresses one by one. He discovered a way to change the authority records too.</p>
<p style="text-align: justify;">In this method, the basic idea is same with the early cache poisoning method, but there is a difference. The bad guy server floods the victim server with the response of the target site query and the authoritative record for the target domain. This means, the bad guy server becomes both the target site and the target name server.</p>
<p style="text-align: justify;"><strong>How to Fix</strong><br />
The key point here is the Query ID. If the bad guy can not guess the Query ID, all the method collapses. But the problem is the number of Query IDs that DNS servers use. Old style DNS servers uses 16 bit Query IDs, which means 64k chance to find the ID number. So randomization of the Query ID is a solution. But it&#8217;s still feasible to find the ID by trying.</p>
<p style="text-align: justify;">Increasing the Query ID bits may be a solution to this problem. But all the Internet infrastructure lies on the 16 bit DNS Query ID. So it&#8217;s impossible to change the Query ID structure.</p>
<p style="text-align: justify;">The most effective way to solve this problem is randomizing both the Query ID and the ports. The client talks to a nameserver on port 53/tcp. And the nameservers talks to each other on random UDP ports with random Query IDs and finds the answer. And than, the nameserver answers back to the client on port  53/tcp.</p>
<p style="text-align: justify;">By this way, finding the true Query ID and the port combination is a fat chance.</p>
<p style="text-align: justify;"><strong>Conclusion</strong><br />
Today all the major DNS servers support the method above. The most common DNS servers, BIND and MS DNS server have already patched their software against this vulnerability.<br />
The major Unix/Linux distributions such as RedHat, Gentoo and SuSE, have some security tools that scans the entire system against the vulnerabilities. <a href="http://www.gentoo.org/doc/en/security/security-handbook.xml?part=1&amp;chap=14">Glsa-check</a> tool of Gentoo Linux is one of them. It scans the system and updates the packets which are marked as insecure by the Gentoo Development Team. So being updated as fast as possible is the key point of being secure.</p>
<p style="text-align: justify;"><strong>References</strong><br />
1.<a href="http://en.wikipedia.org/wiki/DNS_cache_poisoning">http://en.wikipedia.org/wiki/DNS_cache_poisoning</a><br />
2.<a href="http://www.unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html">http://www.unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html</a><br />
3.<a href="http://bugs.gentoo.org/show_bug.cgi?id=231201">http://bugs.gentoo.org/show_bug.cgi?id=231201</a><br />
4.<a href="http://security.freebsd.org/advisories/FreeBSD-SA-08:06.bind.asc">http://security.freebsd.org/advisories/FreeBSD-SA-08:06.bind.asc</a><br />
5.<a href="http://www.softpanorama.org/DNS/dns_ports.shtml">http://www.softpanorama.org/DNS/dns_ports.shtml</a><br />
6.<a href="http://www.doxpara.com/DMK_BO2K8.ppt">http://www.doxpara.com/DMK_BO2K8.ppt</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/dan-kaminsky-dns-vulnerability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>İnternet bu muymuş?</title>
		<link>http://tarikzengin.com/internet-bu-muymus/</link>
		<comments>http://tarikzengin.com/internet-bu-muymus/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 06:28:36 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[Seyahat]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Japan]]></category>
		<category><![CDATA[Japonya]]></category>
		<category><![CDATA[Upload]]></category>

		<guid isPermaLink="false">http://tarikzengin.wordpress.com/2007/06/22/internet-bu-muymus/</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/internet-bu-muymus/" title="İnternet bu muymuş?"></a>Az önce internetin hızını test etmek için aşağıdaki siteye girdim. Sonuç şaşırtıcı. Bizim &#8220;Interjet&#8221;cilerin bunu bi görmesi lazım. Mazhar abiye haber verin. Söylediklerine göre bu hız yüksek bile değilmiş. Kim bilir daha neler vardır. Görmek istemiyorum. Torrent indirirken download hızım &#8230;<p class="read-more"><a href="http://tarikzengin.com/internet-bu-muymus/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/internet-bu-muymus/" title="İnternet bu muymuş?"></a><p>Az önce internetin hızını test etmek için aşağıdaki siteye girdim. Sonuç şaşırtıcı. Bizim &#8220;Interjet&#8221;cilerin bunu bi görmesi lazım. Mazhar abiye haber verin.<br />
Söylediklerine göre bu hız yüksek bile değilmiş. Kim bilir daha neler vardır. Görmek istemiyorum. Torrent indirirken download hızım yavaş olduğu için değil, seeder&#8217;ların upload hızı yavaş olduğu için tıkanıyorum. Ancak 500kb ile indirebildim. Hızın bu kadar yavaş olması sinir bozucu <img src='http://tarikzengin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-44' /> </p>
<p><a href="http://www.speedtest.net"></a></p>
<p style="text-align:center;"><a href="http://www.speedtest.net"><img class="colorbox-44"  src="http://www.speedtest.net/result/143795698.png" /></a></p>
<p>Sonradan gelen edit : Az önce yurttaki bağlantımı test ettim. Daha iyi bi sonuç elde ettim.<br />
<a href="http://www.speedtest.net"></a></p>
<p style="text-align:center;"><a href="http://www.speedtest.net"><img class="colorbox-44"  src="http://www.speedtest.net/result/148527905.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/internet-bu-muymus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

