Internet DRAFT - draft-vesely-mile-mail-abuse

draft-vesely-mile-mail-abuse






Network Working Group                                          A. Vesely
Internet-Draft                                           October 4, 2011
Intended status: Standards Track
Expires: April 6, 2012


            IODEF Extension to Support Mail Abuse Reporting
                    draft-vesely-mile-mail-abuse-00

Abstract

   This document extends the Incident Object Description Exchange Format
   (IODEF) to allow mail-abuse reports to be shared as Incidents in the
   IODEF framework.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 6, 2012.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





Vesely                    Expires April 6, 2012                 [Page 1]

Internet-Draft             iodef-arf extension              October 2011


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Applicability  . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.1.  Conversion to IODEF  . . . . . . . . . . . . . . . . . . .  4
     3.2.  Conversion from IODEF  . . . . . . . . . . . . . . . . . .  4
   4.  Extension Definition . . . . . . . . . . . . . . . . . . . . .  4
     4.1.  AbuseReport  . . . . . . . . . . . . . . . . . . . . . . .  5
       4.1.1.  Text . . . . . . . . . . . . . . . . . . . . . . . . .  5
       4.1.2.  ArfHeader  . . . . . . . . . . . . . . . . . . . . . .  6
       4.1.3.  EmailMessage . . . . . . . . . . . . . . . . . . . . .  7
     4.2.  Note on Newline Representation . . . . . . . . . . . . . .  7
   5.  Example  . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     8.1.  Normative References . . . . . . . . . . . . . . . . . . .  9
     8.2.  Informative References . . . . . . . . . . . . . . . . . .  9
   Appendix A.  ARF Extension Schema  . . . . . . . . . . . . . . . . 10
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12






























Vesely                    Expires April 6, 2012                 [Page 2]

Internet-Draft             iodef-arf extension              October 2011


1.  Introduction

   Spam victims may tag some received messages as abusive.  The Abuse
   Reporting Format [ARF] was developed for reporting those messages to
   where they can be taken care of.  For example, [ARF] is used by
   Mailbox Providers to forward abuse reports to senders who had
   established a Feedback Loop [FBL].

   Mail-abuse can be reported to a Network Provider related to the IP
   address that relayed an abusive email message, whether using ARF or
   simply attaching the abusive message to a complaint, depending on the
   tools at hand.  Both the "abuse@domain" role address specified by
   [MAILBOX-NAMES] and the abuse-mailbox contacts as found in whois
   databases are possible targets of unsolicited abuse reports.  In
   addition, [REPORTING-DISCOVERY] defines ways to discover or publish
   contacts for FBL subscriptions.

   When received by a party held responsible for the abusive message, an
   abuse report may highlight the need for corrective actions that can
   be carried out more conveniently if the report is converted in the
   Incident Object Description Exchange Format [IODEF].  For example,
   the original message may turn out to be a phishing attempt and needs
   to be further converted to the format defined by [FRAUD-EXT], it may
   call for trace-back, mitigation, or further reporting, or it may
   reveal that the emitting machine is infected.

   This [IODEF] extension defines a representation of an abuse-report,
   whereby a IODEF Incident may contain one or more complaints, either
   ARF or plain text with a message attachment.  It is beyond the scope
   of this memo to outline possible use cases, albeit they are mentioned
   above as examples.


2.  Terminology

   The terminology used in this document follows the one defined in
   [IODEF] and [TEMPLATE].

   Network provider is defined in [RID].

   Mailbox Provider is defined in [FBL].  It includes email facilities
   in corporations, universities, and similar organizations.

   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 RFC 2119 [RFC2119].





Vesely                    Expires April 6, 2012                 [Page 3]

Internet-Draft             iodef-arf extension              October 2011


3.  Applicability

3.1.  Conversion to IODEF

   Network providers may want to convert abuse reports received over
   [SMTP] into EventData instances to deploy IODEF infrastructures.
   Conversion notes are given along with the definition (Section 4).

3.2.  Conversion from IODEF

   An Incident representing an abuse report may need to be converted
   back to an email message for transmitting it via SMTP if, for
   example, the target party does not support IODEF.

   [ARF] is designed to be readable without specific tools, and machine-
   readable as well.  It is advisable to use ARF, so as to allow
   automated processing.  However, plain text with attachment(s) has to
   be used when it is necessary to convey information which cannot be
   formatted in ARF, as its human-readable part is likely to be
   discarded by automated processes.


4.  Extension Definition

   This extension defines a simple structure to represent an abuse
   report.  The following diagram is reproduced from [IODEF] and
   modified to show where the AbuseReport class lies.

   +--------------------+
   | Incident           |
   +--------------------+
   | ENUM purpose       |<>----------[ IncidentID      ]
   | STRING ext-purpose |<>--{0..1}--[ AlternativeID   ]
   | ENUM lang          |<>--{0..1}--[ RelatedActivity ]
   | ENUM restriction   |<>--{0..1}--[ DetectTime      ]
   |                    |<>--{0..1}--[ StartTime       ]
   |                    |<>--{0..1}--[ EndTime         ]
   |                    |<>----------[ ReportTime      ]
   |                    |<>--{0..*}--[ Description     ]
   |                    |<>--{1..*}--[ Assessment      ]
   |                    |<>--{0..*}--[ Method          ]
   |                    |<>--{1..*}--[ Contact         ]
   |                    |<>--{0..*}--[ EventData       ]
   |                    |              |<>--[ AdditionalData ]
   |                    |                     |<>--[ AbuseReport ]
   |                    |<>--{0..1}--[ History         ]
   |                    |<>--{0..*}--[ AdditionalData  ]
   +--------------------+



Vesely                    Expires April 6, 2012                 [Page 4]

Internet-Draft             iodef-arf extension              October 2011


            The AbuseReport position within the Incident Class

   An incident normally refers to the abusive message, not to the act of
   reporting it.  However, the EventData instance that hosts an
   AbuseReport SHOULD contain information about the report sender.  If
   the report was sent via [SMTP], its header may contain authentication
   information such as [DKIM] or [SPF], possibly validated on reception
   and reported in an Authentication-Result [A-R] header field.  The
   [EMAIL] header of the report will not be part of the AbuseReport.
   Therefore it is RECOMMENDED that any assessment on authenticity and
   trust be conveyed using general [IODEF] classes.  By contrast, note
   that the full header of the abusive message being reported MUST be
   present, as abuse reports don't make sense without it.

4.1.  AbuseReport

   The AbuseReport structure closely resembles either [ARF] or a plain
   text complaint with an abusive message attached.

   +--------------------+
   | AbuseReport        |
   +--------------------+
   |                    |<>--{0..1}--[ Text         ]
   |                    |<>--{0..1}--[ ArfHeader    ]
   |                    |<>----------[ EmailMessage ]
   +--------------------+

                           AbuseReport structure

   At least one of Text or ArfHeader SHOULD be present.  The meaning of
   each element is as follows:

   Text:  Zero or one.  ML_STRING.  The human-readable part of an [ARF]
      report or the textual part of a manually submitted report.

   ArfHeader:  Zero or one.  The machine-readable part of an [ARF]
      report.

   EmailMessage:  One. ML_STRING.  The abusive message reported.

4.1.1.  Text

   Zero or one.  ML_STRING.

   Meaningful values of header fields MAY be retained from the report's
   header.  In particular, the following fields are often considered
   meaningful: From, Subject, Date, To, CC, Reply-To.  However, if the
   Subject merely repeats that of the reported message, and the Date as



Vesely                    Expires April 6, 2012                 [Page 5]

Internet-Draft             iodef-arf extension              October 2011


   well as the relevant contacts are being conveyed in other parts of
   the EventData, it is not necessary to repeat those values here.

   The human-readable part of machine generated [ARF] reports usually
   consists of boilerplate informing what is an ARF message.  Such kind
   of text MAY be omitted, and if no header field is retained, the Text
   element MAY be omitted altogether.

4.1.2.  ArfHeader

   The presence of this element indicates that this Incident represents
   an [ARF] report, as opposed to a manually written complaint.

   +--------------------+
   | ArfHeader          |
   +--------------------+
   |                    |<>--{0..*}--[ Field ]
   +--------------------+

                            ArfHeader structure

   An ArfHeader consists of a sequence of fields.

   Field:  Zero or more.  A field is a name/value pair.

   [ARF] defines required and optional fields, appearing once or
   multiple times.  It is an extensible specification, and there are two
   IANA registries tracking report types and allowed field names
   respectively.  The order of the fields is unimportant.

   +--------------------+
   | Field              |
   +--------------------+
   | STRING Name        |
   +--------------------+

                              ArfHeader Field

   A Field is a name/value pair.  The name is represented as an
   attribute, while the value is its content.  [ARF] header fields are
   formatted like [EMAIL] header fields; that is, a name followed by a
   colon (":") and a value.

   name:  One. Restricted STRING.  Allowable names are restricted by
      [EMAIL] to printable US-ASCII characters not including the colon.
      We further restrict names to lowercase, since they are meant to be
      case insensitive while the values of XML attributes are not.




Vesely                    Expires April 6, 2012                 [Page 6]

Internet-Draft             iodef-arf extension              October 2011


   element content:  STRING.  Leading and trailing whitespace MAY be
      omitted.  Any internal newlines MAY be retained.  If an internal
      newline is retained, some, but not all, of the leading whitespace
      in the following line MAY be omitted.  See also Section 4.2.

4.1.3.  EmailMessage

   An EmailMessage contains one ML_STRING.  This is the [EMAIL] message
   content; that is, the header possibly followed by the body.  The
   header MUST be present, and the body SHOULD be present.

4.2.  Note on Newline Representation

   [EMAIL] states that messages consists of multiple lines, and that the
   CRLF two-byte sequence is the line termination when messages are
   transmitted over [SMTP].  The header is a sequence of header fields,
   where each line starting with a non-whitespace character is the
   beginning of a field.  The line length is limited to 78 characters,
   excluding the CRLF, hence the limit on valid field names.  Field
   values may span multiple lines, provided that each successive line
   starts with whitespace.  An empty line delimits the end of the
   header.

   [XML] end-of-line handling provides for CRLF to be normalized as LF.
   This poses no problems, as many mail agents handle local storage in
   the same way.  Conversion to/from IODEF has to adapt to local
   conventions for receiving/sending email messages.


5.  Example

   The "simple report" given in Appendix B.1 of RFC 5965 can be
   converted as follows:

   <?xml version="1.0" encoding="UTF-8"?>
    <IODEF-Document lang="en-US"
      xmlns:arf="urn:ietf:params:xml:ns:iodef-arf-1.0"
      xmlns="urn:ietf:params:xml:ns:iodef-1.0"
      xmlns:iodef="urn:ietf:params:xml:ns:iodef-1.0">
     <Incident purpose="reporting">
      <IncidentID name="example.net">FBL20050308-3</IncidentID>
      <ReportTime>2005-03-08T17:40:36-04:00</ReportTime>
      <Assessment>
       <Impact type="policy" lang="en"/>
      </Assessment>
      <Contact role="creator" type="organization">
       <ContactName>example.net</ContactName>
       <Email>abuse@example.net</Email>



Vesely                    Expires April 6, 2012                 [Page 7]

Internet-Draft             iodef-arf extension              October 2011


      </Contact>
      <EventData>
       <DetectTime>2005-03-08T17:40:36-04:00</DetectTime>
       <Contact role="irt" type="organization">
        <ContactName>example.com</ContactName>
        <Description>Feedback Generator</Description>
        <Email>abusedesk@example.com</Email>
       </Contact>
       <Flow>
        <System>
         <Node>
          <NodeName>fbl-out.example.com</NodeName>
          <Address category="ipv4-addr">192.0.2.129</Address>
         </Node>
        </System>
       </Flow>
       <AdditionalData dtype="xml">
        <arf:AbuseReport>
         <arf:ArfHeader>
          <arf:Field name="feedback-type">abuse</arf:Field>
          <arf:Field name="user-agent">SomeGenerator/1.0</arf:Field>
          <arf:Field name="version">1</arf:Field>
         </arf:ArfHeader>
         <arf:EmailMessage>
   Received: from mailserver.example.net
        (mailserver.example.net [192.0.2.1])
        by example.com with ESMTP id M63d4137594e46;
        Thu, 08 Mar 2005 14:00:00 -0400
   From: &lt;somespammer@example.net&gt;
   To: &lt;Undisclosed Recipients&gt;
   Subject: Earn money
   MIME-Version: 1.0
   Content-type: text/plain
   Message-ID: 8787KJKJ3K4J3K4J3K4J3.mail@example.net
   Date: Thu, 02 Sep 2004 12:31:03 -0500

   Spam Spam Spam
   Spam Spam Spam
   Spam Spam Spam
   Spam Spam Spam
         </arf:EmailMessage>
        </arf:AbuseReport>
       </AdditionalData>
      </EventData>
     </Incident>
    </IODEF-Document>

                         ARF Converted to Incident



Vesely                    Expires April 6, 2012                 [Page 8]

Internet-Draft             iodef-arf extension              October 2011


6.  IANA Considerations

   TBD.


7.  Security Considerations

   TBD.


8.  References

8.1.  Normative References

   [ARF]      Shafranovich, Y., Levine, J., and M. Kucherawy, "An
              Extensible Format for Email Feedback Reports", RFC 5965,
              August 2010.

   [IODEF]    Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident
              Object Description Exchange Format", RFC 5070,
              December 2007.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [XML]      Yergeau, F., Bray, T., Sperberg-McQueen, C., Maler, E.,
              and J. Paoli, "Extensible Markup Language (XML) 1.0 (Fifth
              Edition)", World Wide Web Consortium Recommendation REC-
              xml-20081126, November 2008,
              <http://www.w3.org/TR/2008/REC-xml-20081126>.

8.2.  Informative References

   [A-R]      Kucherawy, M., "Message Header Field for Indicating
              Message Authentication Status", RFC 5451, April 2009.

   [DKIM]     Allman, E., Callas, J., Delany, M., Libbey, M., Fenton,
              J., and M. Thomas, "DomainKeys Identified Mail (DKIM)
              Signatures", RFC 4871, May 2007.

   [EMAIL]    Resnick, P., Ed., "Internet Message Format", RFC 5322,
              October 2008.

   [FBL]      Falk, J., "Creation and Use of Email Feedback Reports: An
              Applicability Statement for the Abuse Reporting Format
              (ARF)", draft-ietf-marf-as-00 (work in progress),
              September 2011.




Vesely                    Expires April 6, 2012                 [Page 9]

Internet-Draft             iodef-arf extension              October 2011


   [FRAUD-EXT]
              Cain, P. and D. Jevans, "Extensions to the IODEF-Document
              Class for Reporting Phishing", RFC 5901, July 2010.

   [MAILBOX-NAMES]
              Crocker, D., "MAILBOX NAMES FOR COMMON SERVICES, ROLES AND
              FUNCTIONS", RFC 2142, May 1997.

   [REPORTING-DISCOVERY]
              Falk, J., "A DNS TXT Record for Advertising and
              Discovering Willingness to Provide or Receive ARF
              Reports", draft-ietf-marf-reporting-discovery-00 (work in
              progress), January 2011.

   [RID]      Moriarty, K., "Real-time Inter-network Defense (RID)",
              RFC 6045, November 2010.

   [SMTP]     Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
              October 2008.

   [SPF]      Wong, M. and W. Schlitt, "Sender Policy Framework (SPF)
              for Authorizing Use of Domains in E-Mail, Version 1",
              RFC 4408, April 2006.

   [TEMPLATE]
              Trammell, B., "Guidelines for Extensions to IODEF for
              Managed Incident Lightweight Exchange",
              draft-trammell-mile-template-01 (work in progress),
              July 2011.


Appendix A.  ARF Extension Schema

   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema attributeFormDefault="unqualified"
              elementFormDefault="qualified"
              targetNamespace="urn:ietf:params:xml:ns:iodef-arf-1.0"
              xmlns="urn:ietf:params:xml:ns:iodef-1.0"
              xmlns:xs="http://www.w3.org/2001/XMLSchema"
              xmlns:arf="urn:ietf:params:xml:ns:iodef-arf-1.0"
              xmlns:iodef="urn:ietf:params:xml:ns:iodef-1.0">

    <!--
    ==========================================================
    ===  Top-Level Class:  AbuseReport                     ===
    ==========================================================

    It is incorporated within an



Vesely                    Expires April 6, 2012                [Page 10]

Internet-Draft             iodef-arf extension              October 2011


    IODEF.Incident.EventData.AdditionalData element.

    -->

    <xs:element name="AbuseReport">
     <xs:complexType>
      <xs:sequence>

       <!-- the readable text part (boilerplate may be omitted) -->
       <xs:element minOccurs="0" name="Text"
                   type="iodef:MLStringType"/>

       <!-- an ArfHeader is present iff the report was in ARF format -->
       <xs:element minOccurs="0" name="ArfHeader">
        <xs:complexType>
         <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="unbounded" name="Field">
           <xs:complexType>
            <xs:simpleContent>
             <xs:extension base="xs:string">
              <!-- the name attribute indicates the field-name,
                   as defined by RFC 5322 (and RFC5335bis) i.e.
                   printable US-ASCII characters not including ":",
                   we additionally forbid uppercase letters -->
              <xs:attribute name="name" use="required">
               <xs:simpleType>
                <xs:restriction base="xs:string">
                 <xs:pattern value="[&#33;-&#126;-[:A-Z]]{1,77}"/>
                </xs:restriction>
               </xs:simpleType>
              </xs:attribute>
             </xs:extension>
            </xs:simpleContent>
           </xs:complexType>
          </xs:element>
         </xs:sequence>
        </xs:complexType>
       </xs:element>

       <!-- the original message (header + body) -->
       <xs:element name="EmailMessage"
                   type="iodef:MLStringType"/>

      </xs:sequence>
     </xs:complexType>
    </xs:element>
   </xs:schema>




Vesely                    Expires April 6, 2012                [Page 11]

Internet-Draft             iodef-arf extension              October 2011


Author's Address

   Alessandro Vesely
   v. L. Anelli 13
   Milano, MI  20122
   IT

   Email: vesely@tana.it











































Vesely                    Expires April 6, 2012                [Page 12]