<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.4 (Ruby 3.0.6) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC1034 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY RFC1035 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC8499 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8499.xml">
<!ENTITY RFC8914 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8914.xml">
<!ENTITY RFC8484 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml">
]>


<rfc ipr="trust200902" docName="draft-pan-dnsop-explicit-forged-answer-signal-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="EFAS">Explicit Forged Answer Signal</title>

    <author initials="L." surname="Pan" fullname="Lanlan Pan">
      <organization></organization>
      <address>
        <postal>
          <city>Guangdong</city>
          <country>China</country>
        </postal>
        <email>abbypan@gmail.com</email>
      </address>
    </author>

    <date year="2024" month="January" day="10"/>

    <area>ops</area>
    <workgroup>dnsop</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 112?>

<t>This document describes that recursive resolver should give explict signal in the forged answer.</t>

<t>Client could react more clearly based on the explict forged answer signal, to protect user on security and privacy.</t>



    </abstract>



  </front>

  <middle>


<?line 118?>

<section anchor="background-and-motivation"><name>Background and Motivation</name>

<t>Recursive server may replace a forged answer to a query with a configured answer of the authoritative server
in some specific scenarios, 
such as NXDOMAIN, phishing, fraud, malware, ransomware, botnet DDoS attack, and legal requirement, etc.
See also <xref target="NXRedierct"/> <xref target="ISPRedirect"/> <xref target="DNSFirewall"/> <xref target="LegalRedirect"/>.</t>

<t>The RCODE of faked answer is NOERROR, which make client hard to distinguish it with honest answer, if client doesn't make iterative dns query by itself, or make DNSSEC validation.</t>

<t>At least, the client has the right to know that it has received a forged answer and it could make clearer reaction by itself.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref target="RFC2119"/>.</t>

<t>Basic terms used in this specification are defined in the documents <xref target="RFC1034"/>, <xref target="RFC1035"/>, <xref target="RFC8499"/>.</t>

<t><list style="symbols">
  <t>Authoritative Server: Described in <xref target="RFC8499"/>.</t>
  <t>Recursive Resolver: Described in <xref target="RFC8499"/>.</t>
</list></t>

</section>
<section anchor="attack-surface"><name>Attack Surface</name>

<t>Faked answer can avoid user to visit malicious website, however, it may also increase the security and privacy risk.</t>

<section anchor="http-cookies-leakage"><name>HTTP Cookies Leakage</name>

<t>The HTTP cookies risk has been well discussed in <xref target="NXDamageControl"/> and <xref target="NXDNSLies"/>. Furthermore, the risk is not only occured on NXDOMAIN scenario, but also on other faked answer scenarios.</t>

<t>Imagine that user visits "abc.example.com" in browser.</t>

<t>Recursive resolver return a faked answer to browser.</t>

<t>Browser will visit the faked server, and leak the HTTP cookies in "example.com" of the user to it.</t>

<t>With the leaked HTTP cookies, the faked server may pretend as the user to visit "abc.example.com", result in user's security issue and privacy leakage.</t>

</section>
</section>
<section anchor="explicit-forged-answer-signal"><name>Explicit Forged Answer Signal</name>

<t>Recursive resolver should give explict forged answer signal to client.</t>

<section anchor="format-1-use-extended-dns-errors"><name>Format 1: Use Extended DNS Errors</name>

<t><xref target="RFC8914"/> defined Extended DNS Errors (EDE) extension.</t>

<t>Recursive resolver could give the signal by include additional EDE information in DNS response:</t>

<t><list style="symbols">
  <t>INFO-Code is 4.</t>
  <t>EXTRA-TEXT is the specific scenario desciption, for example, malware.</t>
</list></t>

</section>
<section anchor="format-2-use-txt-rr"><name>Format 2: Use TXT RR</name>

<t><xref target="RFC1035"/> defined TXT RDATA format.</t>

<t>Recursive resolver could give the signal by include additional TXT RR in DNS response, such as:</t>

<figure><artwork><![CDATA[
abc.example.com  300 IN  A  1.2.3.4
abc.example.com  300 IN  TXT  "faked=malware" 
]]></artwork></figure>

</section>
</section>
<section anchor="client-reaction"><name>Client Reaction</name>

<t>Client could make its own reaction when it received an explict forged answer signal from recursive resolver.</t>

<section anchor="reaction-1-use-dnssec"><name>Reaction 1: Use DNSSEC</name>

<t>Client could make DNSSEC query by itself.</t>

<t>If the domain has deployed DNSSEC, the client could validate the honest answer from authoritative server.</t>

</section>
<section anchor="reaction-2-change-recursive-resolver"><name>Reaction 2: Change Recursive Resolver</name>

<t>Client could change to another recursive resolver which is not lying.</t>

</section>
<section anchor="reaction-3-stop-visit"><name>Reaction 3: Stop Visit</name>

<t>Client could stop to visit on the website, since it knows that the answer is faked.</t>

</section>
<section anchor="reaction-4-limited-visit"><name>Reaction 4: Limited Visit</name>

<t>Client could make limited visit on the website, prevent HTTP cookies from being send to the faked server.</t>

<t>For example, browser should not send user's HTTP cookies to the faked server, if it gets an explict faked answer signal in the DoH response <xref target="RFC8484"/>.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Faked answer is unauthenticated by authoritative server, just offered by recursive resolver on some specific scenarios.</t>

<t>Ideally, with the DNSSEC deployed on second level domain, client would not trust any faked answer if it makes all RRSIG validation by itself.</t>

<t>Explicit faked answer signal is to help client to make clearer reaction on faked answer, with the help of recursive resolver.</t>

<t>As a trade-off, explict faked answer signal could help browser to mitigate the http cookies leaked to faked server, protect user security and privacy in conditional limited environment.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>Thanks to all in the DNSOP mailing list.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">

&RFC2119;
&RFC1034;
&RFC1035;
&RFC8499;
&RFC8914;
&RFC8484;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="NXRedierct" target="https://kb.isc.org/docs/aa-01150">
  <front>
    <title>NXDOMAIN Redirection Using DLZ in BIND 9.10 and later</title>
    <author >
      <organization>ISC</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ISPRedirect" target="https://datatracker.ietf.org/doc/draft-livingood-dns-redirect/">
  <front>
    <title>DNS Redirect Use by Service Providers</title>
    <author initials="J. L. R." surname="Weber" fullname="J. Livingood, R. Weber">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="DNSFirewall" target="https://www.isc.org/rpz/">
  <front>
    <title>Response Policy Zones (RPZ)</title>
    <author >
      <organization>ISC</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="LegalRedirect" target="https://pulse.internetsociety.org/blog/oups-french-government-mistakenly-blocks-telegram-access-for-millions">
  <front>
    <title>Oups! French Government Mistakenly Blocks Telegram Access for Millions</title>
    <author initials="D." surname="York" fullname="Dan York">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="NXDamageControl" target="https://queue.acm.org/detail.cfm?id=1647302">
  <front>
    <title>What DNS Is Not</title>
    <author initials="P." surname="Vixie" fullname="Paul Vixie">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="NXDNSLies" target="https://www.potaroo.net/ispcol/2009-12/nxdomain.pdf">
  <front>
    <title>NXDOMAIN?</title>
    <author initials="G." surname="Huston" fullname="Geoff Huston">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>


<?line 245?>



  </back>

<!-- ##markdown-source:
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
aS0bAAA=

-->

</rfc>

