One document matched: draft-bortzmeyer-dnsop-privacy-sol-00.xml


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc1034 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY rfc1035 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY rfc2119 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2181 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2181.xml">
<!ENTITY rfc4033 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.4033.xml">
<!ENTITY rfc5246 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5246.xml">
<!ENTITY rfc5936 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5936.xml">
<!ENTITY rfc6347 SYSTEM
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.6347.xml">
<!ENTITY rfc6973 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6973.xml">
<!ENTITY I-D.koch-perpass-dns-confidentiality SYSTEM
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.koch-perpass-dns-confidentiality.xml">
<!ENTITY I-D.vandergaast-edns-client-subnet SYSTEM
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.vandergaast-edns-client-subnet">
<!ENTITY I-D.wijngaards-dnsop-confidentialdns SYSTEM
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.wijngaards-dnsop-confidentialdns">
<!ENTITY I-D.bortzmeyer-dnsop-dns-privacy SYSTEM
"http://xml.resource.org/public/rfc/bibxml3/reference.I-D.bortzmeyer-dnsop-dns-privacy.xml">
]>

<rfc docName="draft-bortzmeyer-dnsop-privacy-sol-00" category="info" ipr="trust200902">
<?rfc toc="yes"?>
<?rfc strict="yes"?> 
<front>
<title abbrev="Enhancements to DNS privacy">Possible solutions to DNS privacy issues</title>
<author fullname="Stephane Bortzmeyer" initials="S." surname="Bortzmeyer">
<organization>AFNIC</organization>
<address><postal><street>Immeuble International</street><code>78181</code><city>Saint-Quentin-en-Yvelines</city><country>France</country></postal> <phone>+33 1 39 30 83 46</phone><email>bortzmeyer+ietf@nic.fr</email><uri>http://www.afnic.fr/</uri></address>
</author>
<date month="December" year="2013"/>
<abstract>
<t>This document describes some possible solutions to the DNS privacy issues described in <xref target="I-D.bortzmeyer-dnsop-dns-privacy"/>.</t>
<t>Discussions of the document should currently take place on the <xref target="dnsop">dnsop
mailing list</xref>.</t>
</abstract>
</front>

<middle>
<section title="Introduction and background">
<t>The problem statement is exposed in <xref target="I-D.bortzmeyer-dnsop-dns-privacy"/>. The terminology here 
is also defined in this companion document.</t>
</section>

<section anchor="solutions" title="Possible technical solutions">

<t>We mention here only the solutions that could be deployed in the
current Internet. Disruptive solutions, like replacing the DNS with a
completely new resolution protocol, are interesting but are kept for a
future work. Remember that the focus of this document is on describing
the threats, not in detailing solutions. This section is therefore
non-normative and is NOT
a technical specification of solutions. For the same reason, there are
not yet actual recommendations in this document.</t>

<t>Raising seriously the bar against
the eavesdropper will require SEVERAL actions. Not one is decisive
by itself but, together, they can have an effect. The most important
suggested here are:
<list>
<t>qname minimization,</t>
<t>encryption of DNS traffic,</t>
<t>padding (sending random queries from time to time).</t>
</list>
</t>

<t>We detail some of these actions later, classified by the kind of
observer (on the wire, in a server, etc). Some actions will help
against several kinds of observers. For instance, padding, sending gratuitous queries from time to time (queries where
you're not interested in the replies, just to disturb the
analysis), is useful against all sorts of observers. It is a costly
technique, because it increases the traffic on the network but it
seriously blurs the picture for the observer.</t>

<section title="On the wire">
<section title="Reducing the attack surface">
<t>See <xref target="solutions-in-resolvers"/> since the
solution described there apply against on-the-wire eavesdropping as
well as against observation by the resolver.</t>
</section>
<section title="Encrypting the DNS traffic">
<t>To really defeat an eavesdropper, there is only one solution:
encryption. But, from the end user point of view, even if you check
that your communication between your stub resolver and the resolver is
encrypted, you have no way to ensure that the communication between
the resolver and the autoritative name servers will be. There are two
different cases, 
communication between the stub resolver and the resolver (no caching but only
two parties so solutions which rely on an agreement may work) and
communication between the resolver and the authoritative servers (less
data because of caching, but many
parties involved, so any solution has to scale well).
Encrypting the "last mile", between the user's stub resolver and the
resolver may be
sufficient since the biggest danger for privacy is between the stub resolver and
the resolver, because there is no caching involved there.</t>
<t>The only encryption mechanism available for DNS which is today an IETF
standard is IPsec in ESP mode. Its deployment in the wide Internet is
very limited, for reasons which are out of scope here. Still, it may be a solution for "the last mile" and, indeed,
many VPN solutions use it this way, encrypting the whole traffic,
including DNS to the safe resolver. In the IETF standards, a possible
alternative could be
DTLS <xref target="RFC6347"/>. It enjoyed very little actual
deployment and its interaction with the DNS has
never been considered, studied or of course implemented. There are
also non
standard encryption techniques like DNScrypt <xref target="dnscrypt"/> for the
stub resolver <-> resolver communication or
DNScurve <xref target="dnscurve"/> for the resolver <-> authoritative server
communication. It seems today that the possibility of massive encryption of
DNS traffic is very remote.</t>
<t>A last "pervasive encryption" solution for the DNS could be
the promising <xref target="I-D.wijngaards-dnsop-confidentialdns"/>.</t>
<t>Another solution would be to use more TCP for the queries, together
with TLS <xref target="RFC5246"/>. DNS can run over TCP and it
provides a good way to leverage the software and experience of the TLS
world. There have been discussions to use more TCP for the DNS, in
light of reflection attacks (based on the spoofing of the source IP
address, which is much more difficult with TCP). For instance, a stub
resolver could open a TCP connection with the resolver at startup and
keep it open to send queries and receive responses. The server would
of course be free to tear down these connections at will (when it is
under stress, for instance) and the client could reestablish them when necessary.
Remember that TLS sessions can survive
TCP connections so there is no need to restart the TLS negociation
each time. This DNS-over-TLS-over-TCP is already implemented in the
Unbound resolver. It is safe only if pipelining multiple questions over
the same channel. Name compression should also be disabled, or
<xref target="crime">CRIME-style</xref> attacks can apply.
</t>
<t>Encryption alone does not guarantee perfect privacy, because of the
available metadata. For instance, the size of questions and responses, even encrypted, provide hints about what queries have
been sent. (DNScrypt uses random-length padding, and a
64 bytes block size, to limit this risk, but this raises other issues,
for instance during amplification attacks. Other security protocols use similar techniques, for instance ESPv3.) Observing the periodicity of encrypted questions/responses also discloses the TTL, which is
yet another hint about the queries. Non-cached responses are
disclosing the RTT between the resolver and authoritative
servers. This is a very useful indication to guess where authoritative
servers are located. Web pages are made of many resources, leading to multiple requests, whose number and timing
fingerprint which web site is being browsed. So, observing encrypted
traffic is not enough to recover any plaintext queries, but is enough
to answer the question “is one of my employees browsing Facebook?”. Finally, attackers can
perform a denial-of-service attack on possible targets, check if this makes a difference on the
encrypted traffic they observe, and infer what a query was.
</t>  
</section>
</section>

<section title="In the servers">

<section anchor="solutions-in-resolvers" title="In the resolvers">
<t>It does not seem there is a possible solution against a leaky
resolver. A resolver has to see the entire DNS traffic in clear.</t>
<t>The best approach to limit the problem is to have local resolvers
whose caching will limit the leak. Local networks should have a local
caching resolver (even if it forwards the unanswered questions to a
forwarder) and individual laptops can have their very own resolver, too.</t>
<t>One mechanism to potentially mitigate on the wire attacks between stub
resolvers and caching resolvers is to determine if the network location of
the caching resolver can be moved closer to the end user's computer
(reducing the attack surface).  As
noted earlier in <xref target="I-D.bortzmeyer-dnsop-dns-privacy"/>, if an end user's computer is configured with
a caching resolver on the edge of the local network, an attacker would
need to gain access to that local network in order to successfully execute
an on the wire attack against the stub resolver.  On the other hand, if
the end user's computer is configured to use a public DNS service as the
caching resolver, the attacker needs to simply get in the network path
between the end user and the public DNS server and so there is a much
greater opportunity for a successful attack.  Configuring a caching
resolver closer to the end user can also reduce the possibility of on the wire
attacks.</t>
</section>

<section title="In the authoritative name servers">
<t>A possible solution would be to minimize the amount of data sent
from the resolver. When a resolver receives the query "What is the
AAAA record for www.example.com?", it sends to the root (assuming a
cold resolver, whose cache is empty) the very same question. Sending
"What are the NS records for .com?" would be sufficient (since
it will be the answer from the root anyway). To do so would be
compatible with the current DNS system and therefore could be
deployable, since it is an unilateral change to the resolvers.</t>
<t>To do so, the resolver needs to know the zone cut <xref
target="RFC2181"/>. There is not a zone cut at every label
boundary. If we take the name www.foo.bar.example, it is possible that
there is a zone cut between "foo" and "bar" but not between "bar" and
"example"<!-- A real example is www.economie.gouv.fr -->. So, assuming the resolver already knows
the name servers of .example, when it receives the query "What is the
AAAA record of www.foo.bar.example", it does not always know if the
request should be sent to the name servers of bar.example or to those
of example. <xref
target="RFC2181"/> suggests an algorithm to find the zone cut, so
resolvers may try it.</t>
<t>Note that DNSSEC-validating resolvers already have access to this information, since they
have to find the zone cut (the DNSKEY record set is just below, the DS
record set just above).</t>
<t>It can be noted that minimizing the amount of data sent also partially addresses the case of a wire sniffer.</t>
<t>One should note that the behaviour suggested here
(minimizing the amount of data sent in qnames) is NOT forbidden by the <xref
target="RFC1034"/> (section 5.3.3) or <xref target="RFC1035"/>
(section 7.2). Sending the full qname to the authoritative name server
is a tradition, not a protocol requirment.</t>
<t>Another note is that the answer to the
NS query, unlike the referral sent when the question is a full qname,
is in the Answer section, not in the Authoritative section. It has
probably no practical consequences.</t>
</section>

<section title="Rogue servers">
<t>Traditional security measures (do not let malware change
the system configuration) are of course a must. A protection against rogue servers announced
by DHCP could be to have a local resolver, and to always use it,
ignoring DHCP.</t>
</section>

</section>

</section>

<section title="Security considerations">
<t>Hey, man, the entire document is about security!</t>
</section>

<section title="Acknowledgments">
<t>Thanks to Olaf Kolkman and Francis Dupont for the
interesting discussions, specially about qname minimization. Thanks to Mohsen Souissi for proofreading.</t>
</section>

</middle>

<back>

<references title='Normative References'>
&rfc1034;
&rfc1035;
&rfc2119;
&rfc6973;
&I-D.bortzmeyer-dnsop-dns-privacy;
</references>

<references title='Informative References'>
&rfc2181;
&rfc4033;
&rfc5246;
&rfc5936;
&rfc6347;
&I-D.koch-perpass-dns-confidentiality;
&I-D.vandergaast-edns-client-subnet;
&I-D.wijngaards-dnsop-confidentialdns;

<reference anchor="dnsop">
<front>
<title>The dnsop mailing list</title>
<author fullname="IETF" surname="IETF"/>
<date month="October" year="2013"/>
<abstract>
<t>DNSOP is the IETF Working Group tasked with all the DNS operations issues <eref target="http://www.ietf.org/mail-archive/web/dnsop/"/></t>
</abstract>
</front>
</reference>

<reference anchor="dagon-malware">
<front>
<title>Corrupted DNS Resolution Paths: The Rise of a Malicious
Resolution Authority</title>
<author surname="Dagon" initials="D." fullname="David Dagon"/>
<date year="2007"/>
<abstract>
<t>Presented at the DNS-OARC meeting in Atlanta. <eref target="https://www.dns-oarc.net/files/workshop-2007/Dagon-Resolution-corruption.pdf"/></t>
</abstract>
</front>
</reference>

<reference anchor="dns-footprint">
<front>
<title>DNS footprint of malware</title>
<author fullname="Ed Stoner" surname="Stoner" initials="E."/>
<date day="13" month="October" year="2010"/>
<abstract>
<t>Finding Malicious Activity Using Network Flow Data. Presented at the DNS-OARC meeting in Denver. <eref target="https://www.dns-oarc.net/files/workshop-201010/OARC-ers-20101012.pdf"/></t>
</abstract>
</front>
</reference>

<reference anchor="darkreading-dns">
<front>
<title>Got Malware? Three Signs Revealed In DNS Traffic</title>
<author fullname="Robert Lemos" surname="Lemos" initials="R."/>
<date month="May" year="2013" day="3"/>
<abstract>
<t>Monitoring your network's requests for domain lookups can reveal
network problems and potential malware infections. <eref target="http://www.darkreading.com/monitoring/got-malware-three-signs-revealed-in-dns/240154181"/></t>
</abstract>
</front>
</reference>

<reference anchor="dnschanger">
<front>
<title>DNSchanger</title>
<author fullname="Wikipedia" surname="Wikipedia"/>
<date month="November" year="2011"/>
<abstract>
<t><eref target="http://en.wikipedia.org/wiki/DNSChanger"/></t>
</abstract>
</front>
</reference>

<reference anchor="dnscrypt">
<front>
<title>DNSCrypt</title>
<author fullname="Frank Denis" surname="Denis" initials="F."/>
<date/>
<abstract>
<t>A tool for securing communications between a client [stub resolver]
and a DNS resolver. <eref target="http://dnscrypt.org/"/></t>
</abstract>
</front>
</reference>

<reference anchor="dnscurve">
<front>
<title>DNScurve</title>
<author fullname="Dan Bernstein" surname="Bernstein" initials="D."/>
<date/>
<abstract>
<t>DNSCurve uses high-speed high-security elliptic-curve cryptography
and claims 
to "drastically improve every dimension of DNS security". <eref target="http://dnscurve.org/"/><!-- The text in
http://dnscurve.org/espionage.html mentions only wire sniffing and
copmpletey forgets PRISM-style attacks. --></t></abstract>
</front>
</reference>

<reference anchor="prism">
<front>
<title>PRISM</title>
<author fullname="National Security Agency" surname="NSA"/>
<date year="2007"/>
<abstract>
<t><eref target="http://en.wikipedia.org/wiki/PRISM_%28surveillance_program%29"/></t>
</abstract>
</front>
</reference>

<reference anchor="crime">
<front>
<title>The CRIME attack against TLS</title>
<author surname="Rizzo" initials="J." fullname="Juliano Rizzo"/>
<author surname="Dong" initials="T." fullname="Thai Duong"/>
<date year="2012"/>
<abstract>
<t><eref target="http://en.wikipedia.org/wiki/CRIME_(security_exploit)"/></t>
</abstract>
</front>
</reference>

<reference anchor="ditl">
<front>
<title>A Day in the Life of the Internet (DITL)</title>
<author fullname="CAIDA"/>
<date year="2002"/>
<abstract>
<t>CAIDA, ISC, DNS-OARC, and many partnering root nameserver operators
and other organizations to coordinate and conduct large-scale,
simultaneous traffic data collection events with the goal of capturing
datasets of strategic interest to researchers. Over the last several
years, we have come to refer to this project and related activities as
"A Day in the Life of the Internet" (DITL). <eref target="http://www.caida.org/projects/ditl/"/></t>
</abstract>
</front>
</reference>

<reference anchor="data-protection-directive">
<front>
<title>European directive 95/46/EC on the protection of individuals
with regard to the processing of personal data and on the free
movement of such data</title>
<author fullname="European Parliament"/>
<date day="23" month="November" year="1995"/>
<abstract>
<t><eref target="http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31995L0046:EN:HTML"/></t>
</abstract>
</front>
</reference>

<reference anchor="passive-dns">
<front>
<title>Passive DNS Replication</title>
<author fullname="Florian Weimer" initials="F." surname="Weimer"/>
<date month="April"  year="2005"/>
<abstract>
<t>FIRST 17 <eref target="http://www.enyo.de/fw/software/dnslogger/#2"/></t>
</abstract>
</front>
</reference>

<reference anchor="tor-leak">
<front>
<title>DNS leaks in Tor</title>
<author fullname="Tor Project"/>
<date year="2013"/>
<abstract><t><eref target="https://trac.torproject.org/projects/tor/wiki/doc/TorFAQ#IkeepseeingthesewarningsaboutSOCKSandDNSandinformationleaks.ShouldIworry"/></t></abstract>
</front>
</reference>

</references>

</back>

</rfc>




PAFTECH AB 2003-20262026-04-24 03:14:14