proposal for an ABNF grammar

This commit is contained in:
Aaron Kaplan 2013-12-25 19:15:28 +01:00
parent 6acff38a33
commit 422cd1813b
2 changed files with 77 additions and 63 deletions

View file

@ -73,14 +73,15 @@ Table of Contents
3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3. Mandatory Fields . . . . . . . . . . . . . . . . . . . . . 4 3.3. Mandatory Fields . . . . . . . . . . . . . . . . . . . . . 4
3.3.1. rrname . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3.1. General remarks on mandatory fields . . . . . . . . . . 4
3.3.2. rrtype . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3.2. rrname . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3.3. rdata . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3.3. rrtype . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3.4. time_first . . . . . . . . . . . . . . . . . . . . . . 5 3.3.4. rdata . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3.5. time_last . . . . . . . . . . . . . . . . . . . . . . . 5 3.3.5. time_first . . . . . . . . . . . . . . . . . . . . . . 5
3.3.6. time_last . . . . . . . . . . . . . . . . . . . . . . . 5
3.4. Optional Fields . . . . . . . . . . . . . . . . . . . . . . 5 3.4. Optional Fields . . . . . . . . . . . . . . . . . . . . . . 5
3.4.1. count . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.4.1. count . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4.2. Bailiwick . . . . . . . . . . . . . . . . . . . . . . . 5 3.4.2. Bailiwick . . . . . . . . . . . . . . . . . . . . . . . 6
3.5. Additional Fields . . . . . . . . . . . . . . . . . . . . . 6 3.5. Additional Fields . . . . . . . . . . . . . . . . . . . . . 6
3.5.1. sensor_id . . . . . . . . . . . . . . . . . . . . . . . 6 3.5.1. sensor_id . . . . . . . . . . . . . . . . . . . . . . . 6
3.5.2. zone_time_first . . . . . . . . . . . . . . . . . . . . 6 3.5.2. zone_time_first . . . . . . . . . . . . . . . . . . . . 6
@ -88,7 +89,7 @@ Table of Contents
3.6. Additional Fields Registry . . . . . . . . . . . . . . . . 6 3.6. Additional Fields Registry . . . . . . . . . . . . . . . . 6
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. Normative References . . . . . . . . . . . . . . . . . . . 7 7.1. Normative References . . . . . . . . . . . . . . . . . . . 7
7.2. References . . . . . . . . . . . . . . . . . . . . . . . . 7 7.2. References . . . . . . . . . . . . . . . . . . . . . . . . 7
@ -107,7 +108,6 @@ Table of Contents
Dulaunoy, et al. Expires June 28, 2014 [Page 2] Dulaunoy, et al. Expires June 28, 2014 [Page 2]
Internet-Draft Passive DNS - Common Output Format December 2013 Internet-Draft Passive DNS - Common Output Format December 2013
@ -197,14 +197,18 @@ Internet-Draft Passive DNS - Common Output Format December 2013
Implementation MUST support all the mandatory fields. Implementation MUST support all the mandatory fields.
The tuple (rrname,rrtype,rdata) will always be unique within one 3.3.1. General remarks on mandatory fields
answer per server.
3.3.1. rrname Uniqueness property: the tuple (rrname,rrtype,rdata) will always be
unique within one answer per server. While rrname and rrtype are
always individual JSON primitive types (strings, numbers, booleans or
null), rdata MAY be an array as defined in JSON [RFC4627]
3.3.2. rrname
This field returns the name of the queried resource. This field returns the name of the queried resource.
3.3.2. rrtype 3.3.3. rrtype
This field returns the resource record type as seen by the passive This field returns the resource record type as seen by the passive
DNS. The key is rrtype and the value is in the interpreted record DNS. The key is rrtype and the value is in the interpreted record
@ -213,10 +217,6 @@ Internet-Draft Passive DNS - Common Output Format December 2013
3597 [RFC3597]. The resource record type can be any values as 3597 [RFC3597]. The resource record type can be any values as
described by IANA in the DNS parameters document in the section 'DNS described by IANA in the DNS parameters document in the section 'DNS
Label types' (http://www.iana.org/assignments/dns-parameters). Label types' (http://www.iana.org/assignments/dns-parameters).
Currently known and supported textual descriptions of rrtypes are: A,
AAAA, CNAME, PTR, SOA, TXT, DNAME, NS, SRV, RP, NAPTR, HINFO, A6. A
client MUST be able to understand these textual rtype values. In
addition, a client MUST be able to handle a decimal value (as
@ -225,9 +225,13 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 4]
Internet-Draft Passive DNS - Common Output Format December 2013 Internet-Draft Passive DNS - Common Output Format December 2013
Currently known and supported textual descriptions of rrtypes are: A,
AAAA, CNAME, PTR, SOA, TXT, DNAME, NS, SRV, RP, NAPTR, HINFO, A6. A
client MUST be able to understand these textual rtype values. In
addition, a client MUST be able to handle a decimal value (as
mentioned above) as answer. mentioned above) as answer.
3.3.3. rdata 3.3.4. rdata
This field returns the data of the queried resource. In general, This field returns the data of the queried resource. In general,
this is to be interpreted as string. Depending on the rtype, this this is to be interpreted as string. Depending on the rtype, this
@ -238,14 +242,14 @@ Internet-Draft Passive DNS - Common Output Format December 2013
unknown DNS resource records, the server must follow the transparency unknown DNS resource records, the server must follow the transparency
principle as described in RFC 3597 [RFC3597]. principle as described in RFC 3597 [RFC3597].
3.3.4. time_first 3.3.5. time_first
This field returns the first time that the record / unique tuple This field returns the first time that the record / unique tuple
(rrname, rrtype, rdata) has been seen by the passive DNS. The date (rrname, rrtype, rdata) has been seen by the passive DNS. The date
is expressed in seconds (decimal ASCII) since 1st of January 1970 is expressed in seconds (decimal ASCII) since 1st of January 1970
(Unix timestamp). The time zone MUST be UTC. (Unix timestamp). The time zone MUST be UTC.
3.3.5. time_last 3.3.6. time_last
This field returns the last time that the unique tuple (rrname, This field returns the last time that the unique tuple (rrname,
rrtype, rdata) record has been seen by the passive DNS. The date is rrtype, rdata) record has been seen by the passive DNS. The date is
@ -266,10 +270,6 @@ Internet-Draft Passive DNS - Common Output Format December 2013
other type fields has been seen in the given time interval (between other type fields has been seen in the given time interval (between
time_last and time_first). Decimal number. time_last and time_first). Decimal number.
3.4.2. Bailiwick
The bailiwick is the best estimate of the apex of the zone where this
data is authoritative. String.
@ -281,6 +281,11 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 5]
Internet-Draft Passive DNS - Common Output Format December 2013 Internet-Draft Passive DNS - Common Output Format December 2013
3.4.2. Bailiwick
The bailiwick is the best estimate of the apex of the zone where this
data is authoritative. String.
3.5. Additional Fields 3.5. Additional Fields
Implementations MAY support the following fields: Implementations MAY support the following fields:
@ -323,12 +328,7 @@ Internet-Draft Passive DNS - Common Output Format December 2013
This memo includes no request to IANA. This memo includes no request to IANA.
6. Security Considerations
In some cases, Passive DNS output might contain confidential
information and its access might be restricted. When a user is
querying multiple Passive DNS and aggregating the data, the
sensitivity of the data must be considered.
@ -337,6 +337,14 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 6]
Internet-Draft Passive DNS - Common Output Format December 2013 Internet-Draft Passive DNS - Common Output Format December 2013
6. Security Considerations
In some cases, Passive DNS output might contain confidential
information and its access might be restricted. When a user is
querying multiple Passive DNS and aggregating the data, the
sensitivity of the data must be considered.
7. References 7. References
7.1. Normative References 7.1. Normative References
@ -377,14 +385,6 @@ Internet-Draft Passive DNS - Common Output Format December 2013
"Black ops 2008: It's the end of the cache as we know "Black ops 2008: It's the end of the cache as we know
it.", 2008, <http://kurser.lobner.dk/dDist/DMK_BO2K8.pdf>. it.", 2008, <http://kurser.lobner.dk/dDist/DMK_BO2K8.pdf>.
[DNSDB] "DNSDB API", 2013, <https://api.dnsdb.info/>.
[PDNSCERTAT]
"pDNS presentation at 4th Centr R&D workshop Frankfurt Jun
5th 2012", 2012, <http://www.centr.org/system/files/
agenda/attachment/rd4-papst-passive_dns.pdf>.
[PDNSCIRCL]
@ -393,6 +393,14 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 7]
Internet-Draft Passive DNS - Common Output Format December 2013 Internet-Draft Passive DNS - Common Output Format December 2013
[DNSDB] "DNSDB API", 2013, <https://api.dnsdb.info/>.
[PDNSCERTAT]
"pDNS presentation at 4th Centr R&D workshop Frankfurt Jun
5th 2012", 2012, <http://www.centr.org/system/files/
agenda/attachment/rd4-papst-passive_dns.pdf>.
[PDNSCIRCL]
"CIRCL Passive DNS", 2012, <http://pdns.circl.lu/>. "CIRCL Passive DNS", 2012, <http://pdns.circl.lu/>.
[PDNSCLIENT] [PDNSCLIENT]
@ -425,17 +433,9 @@ Internet-Draft Passive DNS - Common Output Format December 2013
July 2003. July 2003.
Authors' Addresses
Alexandre Dulaunoy
CIRCL
41, avenue de la gare
Luxembourg, L-1611
Luxembourg
Phone: (+352) 247 88444
Email: alexandre.dulaunoy@circl.lu
URI: http://www.circl.lu/
@ -449,6 +449,19 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 8]
Internet-Draft Passive DNS - Common Output Format December 2013 Internet-Draft Passive DNS - Common Output Format December 2013
Authors' Addresses
Alexandre Dulaunoy
CIRCL
41, avenue de la gare
Luxembourg, L-1611
Luxembourg
Phone: (+352) 247 88444
Email: alexandre.dulaunoy@circl.lu
URI: http://www.circl.lu/
L. Aaron Kaplan L. Aaron Kaplan
CERT.at CERT.at
Karlsplatz 1/2/9 Karlsplatz 1/2/9
@ -468,7 +481,7 @@ Internet-Draft Passive DNS - Common Output Format December 2013
Phone: Phone:
Email: paul@redbarn.org Email: paul@redbarn.org
URI: / URI: https://www.farsightsecurity.com/
Henry Stern Henry Stern
@ -478,21 +491,8 @@ Internet-Draft Passive DNS - Common Output Format December 2013
Canada Canada
Phone: +1 408 922 4555 Phone: +1 408 922 4555
Email: hestern@cisco.com Email: stern@fsi.io
URI: http://www.cisco.com/security URI: https://www.farsightsecurity.com/

View file

@ -179,11 +179,25 @@ The document does not describe the protocol (e.g. <xref target="RFC3912">WHOIS</
... (separated by newline)... ... (separated by newline)...
]]></artwork></figure> ]]></artwork></figure>
</section> </section>
<!--
<section title="ABNF grammar">
<figure><preamble>ABNF:</preamble><artwork><![CDATA[
answer = elements
elements = * ( element CR)
element = "{" keyvallist "}"
keyvallist = JSON object
CR = %x0D
]]></artwork></figure>
<t>Note that JSON Object is defined in <xref target="RFC4627">JSON</xref></t>.
</section>
-->
<section title="Mandatory Fields"> <section title="Mandatory Fields">
<t>Implementation MUST support all the mandatory fields.</t> <t>Implementation MUST support all the mandatory fields.</t>
<t>The tuple (rrname,rrtype,rdata) will always be unique within one answer per server.</t> <section title="General remarks on mandatory fields">
<t>Uniqueness property: the tuple (rrname,rrtype,rdata) will always be unique within one answer per server. While rrname and rrtype are always individual JSON primitive types (strings, numbers, booleans or null), rdata MAY be an array as defined in <xref target="RFC4627">JSON</xref></t>
</section>
<section title="rrname"> <section title="rrname">
<t>This field returns the name of the queried resource.</t> <t>This field returns the name of the queried resource.</t>
</section> </section>
<section title="rrtype"> <section title="rrtype">
<t>This field returns the resource record type as seen by the passive DNS. The key is rrtype and the value is in the interpreted record type. If the value cannot be interpreted the <t>This field returns the resource record type as seen by the passive DNS. The key is rrtype and the value is in the interpreted record type. If the value cannot be interpreted the