<?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-01" category="bcp" consensus="true" 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>
    <author initials="Y." surname="Fu" fullname="Yu Fu">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>fuy186@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="C." surname="Wang" fullname="Cuicui Wang">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>wangcc107@chinaunicom.cn</email>
      </address>
    </author>

    <date year="2024" month="August" day="20"/>

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

    <abstract>


<?line 143?>

<t>This document describes about the forged answer provided by recursive resolver.</t>

<t>Client could protect user on security and privacy more efficiently if recursive resolver gives explict signal in the forged answer.</t>



    </abstract>



  </front>

  <middle>


<?line 149?>

<section anchor="background"><name>Background</name>

<t>Recursive resolver may make a forged answer for a dns query 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>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="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="explicit-forged-answer-signal"><name>Explicit Forged Answer Signal</name>

<t>To avoid the HTTP cookies leakage, the recursive resolver is responsible for giving explict forged answer signal to client, and client could make its own reaction when it received an explict forged answer signal from recursive resolver.</t>

<section anchor="recursive-resolver"><name>Recursive Resolver</name>

<t>Recursive resolver could give the explict forged answer signal by including an additional Extended DNS Errors (EDE) information in DNS response, which is defined in <xref target="RFC8914"/>.</t>

<t>Alternatively, recursive resolver could include an TXT RR in DNS answer section, 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 anchor="client"><name>Client</name>

<t>Client could implement its own policy to deal with the forged answer:</t>

<t><list style="symbols">
  <t>Use DNSSEC: Client could make DNSSEC query by itself. If the domain has deployed DNSSEC, the client could validate the honest answer from authoritative server.</t>
  <t>Change Recursive Resolver: Client could change to another recursive resolver which is not lying.</t>
  <t>Stop Visit: Client could stop to visit on the website, since it knows that the answer is faked.</t>
  <t>Limited Visit: Client could make limited visit on the website, prevent HTTP cookies from being send to the faked server. 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>
</list></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.
With the DNSSEC deployed on second level domain, client would not trust any faked answer if it makes all RRSIG validation by itself.
Ideally, recursive resolver should be honest to client, give the explicit faked answer signal in DNS response.
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 234?>



  </back>

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

-->

</rfc>

