<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>bert hubert finally blogs: In violation of my own draft-draft RFC!</title>
  <subtitle type="html">code, musings and more</subtitle>
  <id>tag:blog.netherlabs.nl,2005:Typo</id>
  <generator version="4.0" uri="http://www.typosphere.org">Typo</generator>
  <link href="http://blog.netherlabs.nl/xml/atom/article/324/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="http://blog.netherlabs.nl/articles/2006/05/13/in-violation-of-my-own-draft-draft-rfc" rel="alternate" type="text/html"/>
  <updated>2006-08-10T13:37:34+02:00</updated>
  <entry>
    <author>
      <name>bert hubert</name>
      <email>bert.hubert@netherlabs.nl</email>
    </author>
    <id>urn:uuid:309d75e5-aacb-484e-b5a0-d102ef6eb8ec</id>
    <published>2006-05-13T00:08:00+02:00</published>
    <updated>2006-08-10T13:37:34+02:00</updated>
    <title type="html">In violation of my own draft-draft RFC!</title>
    <link href="http://blog.netherlabs.nl/articles/2006/05/13/in-violation-of-my-own-draft-draft-rfc" rel="alternate" type="text/html"/>
    <category term="powerdns" scheme="http://blog.netherlabs.nl/articles/category/powerdns" label="PowerDNS"/>
    <category term="netherlabs" scheme="http://blog.netherlabs.nl/articles/category/netherlabs" label="Netherlabs"/>
    <summary type="html">&lt;p&gt;Talk about embarrassing. You may know I&amp;#8217;m busy working on a draft-draft RFC (it becomes an &amp;#8216;Internet-Draft&amp;#8217; once submitted) about making DNS safer through some implementation and operational guidelines (see &lt;a href="http://ds9a.nl/rfc/dns-anti-spoofing.html"&gt;dns-anti-spoofing.html&lt;/a&gt; and 
&lt;a href="http://ds9a.nl/rfc/dns-anti-spoofing.txt"&gt;dns-anti-spoofing.txt&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;While writing this document, I decided to add a section on the &amp;#8216;birthday paradox attack&amp;#8217;. Reported in 2002, this is a curious mathematical phenomenon that makes spoofing a nameserver vastly easier to do.&lt;/p&gt;

&lt;p&gt;So I wrote down the specification:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; Given the above, a recursor MUST:

* Use a new random source port from its available 
  range for each outgoing query
* Make full use of all 16 bits of the ID field
* Assure that its choices of port and ID cannot 
  be predicted by an attacker having knowledge of
  its (pseudo-)random generator
* Take measures to prevent having multiple equivalent
  questions outstanding to any authoritative server
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Which is all fine. Except that PowerDNS did not adhere to the bit about equivalent outstanding questions! PowerDNS contains a general system that prevents heaps of identical queries from leaving the server, but that doesn&amp;#8217;t translate well into &amp;#8216;standardese&amp;#8217;, you&amp;#8217;d get something like &amp;#8216;recursors MUST have a system that sort of prevents most of the identical queries&amp;#8217;.&lt;/p&gt;

&lt;p&gt;So, I added &amp;#8216;query-chaining&amp;#8217; to PowerDNS, which detects this situation and puts an MThread to sleep when it tries to send out a duplicate question. When the answer to the initial question arrives, they all get woken up.&lt;/p&gt;

&lt;p&gt;Due to the throttling code already in place, and the source port randomisation, this does not improve our security significantly, but at least I&amp;#8217;m now in compliance of my own draft-draft RFC :-)&lt;/p&gt;

&lt;p&gt;Code is linked &lt;a href="http://mailman.powerdns.com/pipermail/pdns-users/2006-May/003389.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;Talk about embarrassing. You may know I&amp;#8217;m busy working on a draft-draft RFC (it becomes an &amp;#8216;Internet-Draft&amp;#8217; once submitted) about making DNS safer through some implementation and operational guidelines (see &lt;a href="http://ds9a.nl/rfc/dns-anti-spoofing.html"&gt;dns-anti-spoofing.html&lt;/a&gt; and 
&lt;a href="http://ds9a.nl/rfc/dns-anti-spoofing.txt"&gt;dns-anti-spoofing.txt&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;While writing this document, I decided to add a section on the &amp;#8216;birthday paradox attack&amp;#8217;. Reported in 2002, this is a curious mathematical phenomenon that makes spoofing a nameserver vastly easier to do.&lt;/p&gt;

&lt;p&gt;So I wrote down the specification:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; Given the above, a recursor MUST:

* Use a new random source port from its available 
  range for each outgoing query
* Make full use of all 16 bits of the ID field
* Assure that its choices of port and ID cannot 
  be predicted by an attacker having knowledge of
  its (pseudo-)random generator
* Take measures to prevent having multiple equivalent
  questions outstanding to any authoritative server
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Which is all fine. Except that PowerDNS did not adhere to the bit about equivalent outstanding questions! PowerDNS contains a general system that prevents heaps of identical queries from leaving the server, but that doesn&amp;#8217;t translate well into &amp;#8216;standardese&amp;#8217;, you&amp;#8217;d get something like &amp;#8216;recursors MUST have a system that sort of prevents most of the identical queries&amp;#8217;.&lt;/p&gt;

&lt;p&gt;So, I added &amp;#8216;query-chaining&amp;#8217; to PowerDNS, which detects this situation and puts an MThread to sleep when it tries to send out a duplicate question. When the answer to the initial question arrives, they all get woken up.&lt;/p&gt;

&lt;p&gt;Due to the throttling code already in place, and the source port randomisation, this does not improve our security significantly, but at least I&amp;#8217;m now in compliance of my own draft-draft RFC :-)&lt;/p&gt;

&lt;p&gt;Code is linked &lt;a href="http://mailman.powerdns.com/pipermail/pdns-users/2006-May/003389.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>hydrocodone</name>
    </author>
    <id>urn:uuid:76b57123-64f2-4a4d-bef5-182b4dd93e3f</id>
    <published>2006-10-08T09:01:30+02:00</published>
    <updated>2006-10-08T09:01:30+02:00</updated>
    <title type="html">Comment on In violation of my own draft-draft RFC! by hydrocodone</title>
    <link href="http://blog.netherlabs.nl/articles/2006/05/13/in-violation-of-my-own-draft-draft-rfc#comment-8900" rel="alternate" type="text/html"/>
    <content type="html">Hello all really cool blog
&lt;a href="http://www.alprazolam-drug-info.com"&gt;alprazolam&lt;/a&gt; &lt;a href="http://www.fioricet-drug-info.com"&gt;fioricet&lt;/a&gt; &lt;a href="http://www.hydrocodone-drug-info.com"&gt;hydrocodone&lt;/a&gt; &lt;a href="http://www.vicodin-drug-info.com"&gt;vicodin&lt;/a&gt; &lt;a href="http://www.tramadol-drug-info.com"&gt;tramadol&lt;/a&gt; &lt;a href="http://www.xanax-drug-info.com"&gt;xanax&lt;/a&gt; &lt;a href="http://www.valium-drug-info.com"&gt;valium&lt;/a&gt; &lt;a href="http://www.ultram-drug-info.com"&gt;ultram&lt;/a&gt; &lt;a href="http://www.soma-drug-info.com"&gt;soma&lt;/a&gt; &lt;a href="http://www.carisoprodol-drug-info.com"&gt;carisoprodol&lt;/a&gt; &lt;a href="http://www.ambien-drug-info.com"&gt;ambien&lt;/a&gt; &lt;a href="http://www.ativan-drug-info.com"&gt;ativan&lt;/a&gt; &lt;a href="http://www.lorazepam-drug-info.com"&gt;lorazepam&lt;/a&gt; &lt;a href="http://www.propecia-drug-info.com"&gt;propecia&lt;/a&gt; &lt;a href="http://www.adipex-drug-info.com"&gt;adipex&lt;/a&gt; &lt;a href="http://www.didrex-drug-info.com"&gt;didrex&lt;/a&gt; &lt;a href="http://www.cialis-drug-info.com"&gt;cialis&lt;/a&gt; &lt;a href="http://www.levitra-drug-info.com"&gt;levitra&lt;/a&gt; &lt;a href="http://www.paxil-drug-info.com"&gt;paxil&lt;/a&gt; &lt;a href="http://www.meridia-drug-info.com"&gt;meridia&lt;/a&gt; &lt;a href="http://www.viagra-drug-info.com"&gt;viagra&lt;/a&gt; &lt;a href="http://www.wellbutrin-drug-info.com"&gt;wellbutrin&lt;/a&gt; &lt;a href="http://www.clonazepam-drug-info.com"&gt;clonazepam&lt;/a&gt; &lt;a href="http://www.xenical-drug-info.com"&gt;xenical&lt;/a&gt; &lt;a href="http://www.prozac-drug-info.com"&gt;prozac&lt;/a&gt; &lt;a href="http://www.butalbital-drug-info.com"&gt;butalbital&lt;/a&gt; &lt;a href="http://www.phentermine-drug-info.com"&gt;phentermine&lt;/a&gt;
&lt;a href="http://www.buy-ativan-online-rx.com"&gt;buy ativan&lt;/a&gt; &lt;a href="http://www.buy-adipex-online-rx.com"&gt;buy adipex&lt;/a&gt; &lt;a href="http://www.buy-didrex-online-rx.com"&gt;buy didrex&lt;/a&gt; &lt;a href="http://www.buy-levitra-online-rx.com"&gt;buy levitra&lt;/a&gt; &lt;a href="http://www.buy-cialis-online-rx.com"&gt;buy cialis&lt;/a&gt; &lt;a href="http://www.buy-phentermine-online-rx.com"&gt;buy phentermine&lt;/a&gt; &lt;a href="http://www.buy-soma-online-rx.com"&gt;buy soma&lt;/a&gt; &lt;a href="http://www.buy-tramadol-online-rx.com"&gt;buy tramadol&lt;/a&gt; &lt;a href="http://www.buy-diazepam-online-rx.com"&gt;buy diazepam&lt;/a&gt; &lt;a href="http://www.buy-carisoprodol-online-rx.com"&gt;buy carisoprodol&lt;/a&gt; &lt;a href="http://www.buy-meridia-online-rx.com"&gt;buy meridia&lt;/a&gt; &lt;a href="http://www.buy-paxil-online-rx.com"&gt;buy paxil&lt;/a&gt; &lt;a href="http://www.buy-valium-online-rx.com"&gt;buy valium&lt;/a&gt; &lt;a href="http://www.buy-xanax-online-rx.com"&gt;buy xanax&lt;/a&gt; &lt;a href="http://www.buy-ultram-online-rx.com"&gt;buy ultram&lt;/a&gt; &lt;a href="http://www.buy-fioricet-online-rx.com"&gt;buy fioricet&lt;/a&gt; &lt;a href="http://www.usa-tooth-whitening.com"&gt;tooth whitening&lt;/a&gt; &lt;a href="http://www.getpharmacyonline.com"&gt;online pharmacy&lt;/a&gt; &lt;a href="http://www.alprazolam-rx.com/alprazolam.html"&gt;alprazolam&lt;/a&gt; &lt;a href="http://www.car-insurance-tonight.com"&gt;car insurance&lt;/a&gt; &lt;a href="http://www.payday-loan-tonight.com"&gt;payday loan&lt;/a&gt; &lt;a href="http://www.newweb-directory.com"&gt;web directory&lt;/a&gt; &lt;a href="http://www.newbusiness-directory.com"&gt;business directory&lt;/a&gt; &lt;a href="http://www.carisoprodol.happyhost.org"&gt;carisoprodol&lt;/a&gt; &lt;a href="http://www.cheap-hydrocodone.com"&gt;hydrocodone&lt;/a&gt; &lt;a href="http://www.buy-vicodin-online-rx.com"&gt;buy vicodin&lt;/a&gt;
</content>
  </entry>
</feed>

