﻿<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[
  <!ENTITY xml-names SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml4/reference.W3C.REC-xml-names-20091208.xml">
  <!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
  <!ENTITY RFC2141 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2141.xml">
  <!ENTITY RFC2616 SYSTEM
  "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2616.xml">
  <!ENTITY RFC3444 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3444.xml">
  <!ENTITY RFC3688 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3688.xml">
  <!ENTITY RFC3986 SYSTEM
  "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml">
  <!ENTITY RFC4287 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4287.xml">
  <!ENTITY RFC4949 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4949.xml">
  <!ENTITY RFC5070 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5070.xml">
  <!ENTITY RFC5023 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5023.xml">
  <!ENTITY RFC5005 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5005.xml">
  <!ENTITY RFC6545 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6545.xml">
  <!ENTITY RFC6546 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6546.xml">
  <!ENTITY RFC5070bis SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-mile-rfc5070-bis-25.xml">
  <!ENTITY RFC8322 SYSTEM
  "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8322.xml">
    <!ENTITY RFC7970 SYSTEM
  "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7970.xml">
]>
<?xml-stylesheet type="text/css" href="rfc7749.css"?>
<rfc ipr="trust200902" category="info"
    docName="draft-ietf-mile-rolie-csirt-01">
    <!-- Working draft of supporting document for ROLIE -->
    <?rfc compact="yes"?>
    <?rfc subcompact="no"?>
    <?rfc toc="yes"?>
    <?rfc symrefs="yes"?>
    <front>
        <title abbrev="ROLIE CSIRT">Definition of ROLIE CSIRT
            Extension</title>
        <author initials="S.A." surname="Banghart"
            fullname="Stephen A. Banghart">
            <organization abbrev="NIST">National Institute of Standards
                and Technology</organization>
            <address>
      <postal>
        <street>100 Bureau Drive</street>
        <city>Gaithersburg</city>
        <region>Maryland</region>
        <country>USA</country>
      </postal>
      <phone>(301)975-4288</phone>
      <email>sab3@nist.gov</email>
    </address>
        </author>
        <author initials="J.P." surname="Field" fullname="John P. Field">
            <organization abbrev="Pivotal">Pivotal Software,
                Inc.</organization>
            <address>
      <postal>
        <street>625 Avenue of the Americas</street>
        <city>New York</city>
        <region>New York</region>
        <country>USA</country>
      </postal>
      <phone>(646)792-5770</phone>
      <email>jfield@pivotal.io</email>
    </address>
        </author>
        <date year="2019"/>
        <area>Security</area>
        <workgroup>MILE Working Group</workgroup>
        <abstract>
            <t>This document extends the Resource-Oriented Lightweight
                Information Exchange (ROLIE) core to add the information
                type categories and related requirements needed to
                support Computer Security Incident Response Team (CSIRT)
                use cases. The indicator and incident information types
                are defined as ROLIE extensions. Additional supporting
                requirements are also defined that describe the use of
                specific formats and link relations pertaining to the new
                information types.</t>
        </abstract>
    </front>
    <middle>
        <section title="Introduction" anchor="starting-intro">
            <t>Threats to computer security are evolving ever more
                rapidly as time goes on. As software increases in
                complexity, the number of vulnerabilities in systems and
                networks can increase exponentially. Threat actors
                looking to exploit these vulnerabilities are making more
                frequent and more widely distributed attacks across a
                large variety of systems. The adoption of liberal
                information sharing amongst attackers allows a discovered
                vulnerability to be shared and used to attack a
                vulnerable system within a narrow window of time. As the
                skills and knowledge required to identify and combat
                these attacks become more and more specialized, even a
                well established and secure system may find itself unable
                to quickly respond to an incident. Effective
                identification of and response to a sophisticated attack
                requires open cooperation and collaboration between
                defending operators, software vendors, and end-users. To
                improve the timeliness of responses, automation must be
                used to acquire, contextualize, and put to use shared
                computer security information.</t>

            <t> CSIRTS share two primary forms of information: incidents
                and indicators. Using these forms of information,
                analysts are able to perform a wide range of activities
                both proactive and reactive to ensure the security of
                their systems. </t>
            <t>Incident information describes a cyber security incident.
                Such information may include attack characteristics,
                information about the attacker, and attack vector data.
                Sharing this information helps analysts within the
                sharing community to inoculate their systems against
                similar attacks, providing proactive protection.</t>

            <t>Indicator information describes the symptoms or necessary
                pre-conditions of an attack. Everything from system
                vulnerabilities to unexpected network traffic can help
                analysts secure systems and prepare for an attack. Making
                this information available for sharing aids in the
                proactive defense of systems both within an operating
                unit but also for any CSIRTs that are part of a sharing
                consortium.</t>

            <t>As a means to bring automation of content discovery and
                dissemination into the CSIRT domain, this specification
                provides an extension to the Resource-Oriented
                Lightweight Information Exchange (ROLIE) core <xref
                target="RFC8322"/> designed to address CSIRT use cases.
                The primary purpose of this extension is to define two
                new information types: incident, and indicator, along
                with formats and link relations that support these
                information-types.</t>

        </section>
        <section title="Terminology" anchor="ext-terminology">
            <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>Definitions for some of the common computer
                security-related terminology used in this document can be
                found in Section 2 of <xref target="RFC5070"/>.</t>
        </section>
        <section
            title="Additional Requirements for the Atom Publishing Protocol"
            anchor="ext-APP">
            <t>This document specifies the following additional
                requirements for use of the Atom Publishing
                Protocol.<xref target="RFC5023"/></t>
            <section title="Use of HTTP requests" anchor="ext-app-http">
                <t>This document defines the following requirements on
                    HTTP request behavior: </t>
                <section title="/ (forward slash) Resource URL"
                    anchor="rid-ref">
                    <t>The forward slash resource URL SHOULD be supported
                        as defined in <xref target="RFC8322">Section
                        5.5</xref>. Note that this is a stricter
                        requirement than <xref target="RFC8322"/>.</t>
                </section>
            </section>
        </section>
        <section
            title="Additional Requirements for the Atom Syndication Format">
            <t>This document does not specify any additional requirements
                for the Atom Syndication Format. <xref target="RFC4287"
                /></t>
        </section>
        <section title="Information-type Extensions" anchor="infotype">
            <section title="The &quot;incident&quot; information type"
                anchor="infotype-incident">
                <t>The &quot;incident&quot; information type represents
                    any information describing or pertaining to a
                    computer security incident. This document uses the
                    definition of incident provided by <xref
                    target="RFC4949"/>. Provided below is a
                    non-exhaustive list of information that may be
                    considered to be an incident information type. <list
                    style="symbols">
                    <t>Timing information: start and end times for the
                        incident and/or the response.</t>
                    <t>Descriptive information: plain text or machine
                        readable data that provides some degree of
                        description of the incident itself.</t>
                    <t>Response information: the methods and results of a
                        response to the incident.</t>
                    <t>Meta and contact information: data about the CSIRT
                        that recorded the information, or the operator
                        that enacted the response.</t>
                    <t>Effect and result information: data that describes
                        the effects of an incident, or what the final
                        results of the incident are.</t>
                    </list> </t>
                <t>Note again that this list is not exhaustive, any
                    information that in is the abstract realm of an
                    incident should be classified under this
                    information-type.</t>
            </section>
            <section title="The &quot;indicator&quot; information type"
                anchor="infotype-indicator">
                <t> The &quot;indicator&quot; information type represents
                    computer security indicators or any information
                    surrounding them. This document uses the definition
                    of indicator provided by <xref target="RFC4949"/>.
                    Some examples of indicator information is provided
                    below, but note that indicator is defined in an
                    abstract sense, to be understood as a flexible and
                    widely-applicable definition. <list style="symbols">
                    <t>Specific vulnerabilities that indicate a vector
                        for attack.</t>
                    <t>Signs of malicious reconnaissance.</t>
                    <t>Definitions of patterns of other indicators.</t>
                    <t>Events that may indicate an attack and information
                        regarding those events.</t>
                    <t>Meta information about the collecting agent.</t>
                    </list> </t>
                <t>This list is intended to provide examples of the
                    indicator information-type, not to define it.</t>
            </section>
            <section title="Use of the rolie:format element"
                anchor="ext-synd-format">
                <t>This document does not contain any additional
                    requirements for the rolie:format element; the
                    formats that follow are provided as examples of
                    formats that describe the incident and indicator
                    information type. The formats are in no particular
                    order, and are not requirements, nor suggestions by
                    the authors.</t>
                <section title="IODEF Format"
                    anchor="ext-synd-format-iodef">
                    <t>The Incident Object Description Exchange Format
                        (IODEF) is a format for representing computer
                        security information commonly exchanged between
                        Computer Security Incident Response Teams
                        (CSIRTs) or other operational security teams. </t>
                    <t>IODEF conveys indicators, incident reports,
                        response activities, and related meta-data in an
                        XML serialization. This information is formally
                        structured in order to support and encourage
                        automated machine-to-machine security
                        communication, as well as enhanced processing at
                        the endpoint.</t>
                    <t>The full IODEF specification provides further
                        high-level discussion and technical details.</t>
                </section>
                <section title="STIX Format"
                    anchor="ext-synd-format-stix">
                    <t>STIX is a structured language for describing a
                        wide range of security resources. STIX approaches
                        the problem with a focus on flexibility,
                        automation, readability, and extensibility. </t>
                    <t>The use of STIX as the content of an Entry does
                        not impose any additional requirements on ROLIE
                        implementations.</t>
                </section>
            </section>
        </section>
        <section title="rolie:property Extensions">
            <t>This document provides new registrations for valid
                rolie:property names. These properties provide optional
                exposure point for valuable information in the linked
                content document. Exposing this information in a
                rolie:property element means that clients do not need to
                download the linked document to determine if it contains
                the information they are looking for.</t>
            <section title="urn:ietf:params:rolie:property:csirt:ID"
                anchor="prop-id">
                <t>Provides an XML element that can be populated with an
                    identifier from the indicator or incident document
                    linked to by an atom:content element. This value
                    SHOULD be a uniquely identifying value for the
                    document linked to in this entry's atom:content
                    element.</t>
            </section>
        </section>
        <section title="Use of the atom:link element"
            anchor="ext-synd-entries-link">
            <t>These sections define requirements for atom:link elements
                in Entries. Note that the requirements are determined by
                the information type that appears in either the Entry or
                in the parent Feed.</t>
            <section
                title="Link relations for the 'incident'
                information-type"
                anchor="links-inc">
                <t>If the category of an Entry is the incident
                    information type, then the following requirements
                    MUST be followed for inclusion of atom:link
                    elements.</t>
                <texttable anchor="links-inc-table"
                    title="Link Relations for Resource-Oriented Lightweight Indicator Exchange">
                    <ttcol align="left">Name</ttcol>
                    <ttcol align="left">Description</ttcol>
                    <ttcol align="left">Conformance</ttcol>
                    <c>indicators</c>
                    <c>Provides a link to a collection of zero or more
                        instances of cyber security indicators that are
                        associated with the resource.</c>
                    <c>SHOULD</c>
                    <c>evidence</c>
                    <c>Provides a link to a collection of zero or more
                        resources that provides some proof of attribution
                        for an incident. The evidence may or may not have
                        any identified chain of custody.</c>
                    <c>SHOULD</c>
                    <c>attacker</c>
                    <c>Provides a link to a collection of zero or more
                        resources that provides a representation of the
                        attacker.</c>
                    <c>SHOULD</c>
                    <c>vector</c>
                    <c>Provides a link to a collection of zero or more
                        resources that provides a representation of the
                        method used by the attacker.</c>
                    <c>SHOULD</c>
                </texttable>
            </section>
            <section
                title="Link relations for the 'indicator'
                information-type"
                anchor="links-ind">
                <t>If the category of an Entry is the indicator
                    information type, then the following requirements
                    MUST be followed for inclusion of atom:link
                    elements.</t>
                <texttable anchor="links-ind-table"
                    title="Link Relations for Resource-Oriented Lightweight Indicator Exchange">
                    <ttcol align="left">Name</ttcol>
                    <ttcol align="left">Description</ttcol>
                    <ttcol align="left">Conformance</ttcol>
                    <c>incidents</c>
                    <c>Provides a link to a collection of zero or more
                        instances of incident representations associated
                        with the resource.</c>
                    <c>SHOULD</c>
                </texttable>
            </section>
            <section title="Link relations for both information-types"
                anchor="links-both">
                <t>If the category of an Entry is either
                    information-type, the following requirements MUST be
                    followed for inclusion of atom:link elements.</t>
                <texttable anchor="links-both-table"
                    title="Link Relations for Resource-Oriented Lightweight Indicator Exchange">
                    <ttcol align="left">Name</ttcol>
                    <ttcol align="left">Description</ttcol>
                    <ttcol align="left">Conformance</ttcol>
                    <c>assessments</c>
                    <c>Provides a link to a collection of zero or more
                        resources that represent the results of executing
                        a benchmark.</c>
                    <c>MAY</c>
                    <c>reports</c>
                    <c>Provides a link to a collection of zero or more
                        resources that represent RID reports.</c>
                    <c>MAY</c>
                    <c>traceRequests</c>
                    <c>Provides a link to a collection of zero or more
                        resources that represent RID traceRequests.</c>
                    <c>MAY</c>
                    <c>investigationRequests</c>
                    <c>Provides a link to a collection of zero or more
                        resources that represent RID
                        investigationRequests.</c>
                    <c>MAY</c>
                </texttable>
            </section>

        </section>
        <section title="Other Extensions" anchor="ext-other">
            <t>This document defines additional extensions as
                follows:</t>
            <section title="Use of atom:category">
                <section title="Newly registered category values"
                    anchor="iodefcategory">
                    <t> This document registers two additional registered
                        atom:category names:
                        'urn:ietf:params:rolie:category:csirt:iodef:purpose'
                        and
                        'urn:ietf:params:rolie:category:csirt:iodef:restriction'.
                        These categories IODEF content exposure provides
                        valuable metadata for the searching and
                        organization of IODEF documents.</t>
                    <t>When the name attribute of the category is
                        'urn:ietf:params:rolie:category:csirt:iodef:purpose',
                        the value attribute SHOULD be constrained as per
                        section 3.2 of IODEF <xref target="RFC7970"/>,
                        e.g. traceback, mitigation, reporting, or other. </t>
                    <t>When the name attribute of the category is
                        'urn:ietf:params:rolie:category:csirt:iodef:restriction',
                        the value attribute SHOULD be constrained as per
                        section 3.2 of IODEF <xref target="RFC7970"/>,
                        e.g. public, need-to-know, private, default. </t>
                </section>
                <section title="Expectation and Impact Classes"
                    anchor="normative-expectation-impact">
                    <t>It is frequently the case that an organization
                        will need to triage their investigation and
                        response activities based upon, e.g., the state
                        of the current threat environment, or simply as a
                        result of having limited resources. </t>
                    <t> In order to enable operators to effectively
                        prioritize their response activity, it is
                        RECOMMENDED that feed implementers provide Atom
                        categories that correspond to the IODEF
                        Expectation and Impact classes. The availability
                        of these feed categories will enable clients to
                        more easily retrieve and prioritize cyber
                        security information that has already been
                        identified as having a specific potential impact,
                        or having a specific expectation. </t>
                    <t> Support for these categories may also enable
                        efficiencies for organizations that already have
                        established (or plan to establish) operational
                        processes and workflows that are based on these
                        IODEF classes. </t>
                </section>
            </section>
        </section>
        <section title="IANA Considerations" anchor="iana">
            <section title="information-type registrations"
                anchor="iana-it">
                <t>IANA has added the following entries to the "ROLIE
                    Security Resource Information Type Sub-Registry"
                    registry located at <eref
                    target="https://www.iana.org/assignments/rolie/category/information-type"
                    /> . </t>
                <section title="incident information-type"
                    anchor="iana-it-inc">

                    <t>The entry is as follows:<list>
                        <t>name: incident</t>
                        <t>index: TBD</t>
                        <t>reference: This document, <xref
                            target="infotype-incident"/></t>
                        </list></t>
                </section>
                <section title="indicator information-type"
                    anchor="iana-it-ind">
                    <t>The entry is as follows:<list>
                        <t>name: indicator</t>
                        <t>index: TBD</t>
                        <t>reference: This document, <xref
                            target="infotype-indicator"/></t>
                        </list></t>
                </section>
            </section>
            <section title="atom:category scheme registrations"
                anchor="iana-cat">
                <t> IANA has added the following entries to the "ROLIE
                    URN Parameters" registry located in <eref
                    target="https://www.iana.org/assignments/rolie/"
                    />.</t>
                <section title="category:csirt:iodef:purpose"
                    anchor="iana-cat-purpose">
                    <t>The entry is as follows:<list>
                        <t>name: category:csirt:iodef:purpose</t>
                        <t>Extension IRI:
                            urn:ietf:params:rolie:category:csirt:iodef:purpose</t>
                        <t>Reference: This document, <xref
                            target="iodefcategory"/></t>
                        <t>Subregistry: None</t>
                        </list></t>
                </section>
                <section title="category:csirt:iodef:restriction"
                    anchor="iana-cat-restriction">
                    <t>The entry is as follows:<list>
                        <t>name: category:csirt:iodef:restriction</t>
                        <t>Extension IRI:
                            urn:ietf:params:rolie:category:csirt:iodef:restriction</t>
                        <t>Reference: This document, <xref
                            target="iodefcategory"/></t>
                        <t>Subregistry: None</t>
                        </list></t>
                </section>
            </section>
            <section title="rolie:property name registrations"
                anchor="iana-prop">
                <t>IANA has added the following entries to the "ROLIE URN
                    Parameters" registry located in <eref
                    target="https://www.iana.org/assignments/rolie/"
                    />.</t>
                <section title="property:csirt:id" anchor="iana-prop-id">
                    <t>The entry is as follows:<list>
                        <t>name: property:csirt:id</t>
                        <t>Extension IRI:
                            urn:ietf:params:rolie:property:csirt:id</t>
                        <t>Reference: This document, section 6.3.1</t>
                        <t>Subregistry: None</t>
                        </list></t>
                </section>
            </section>

        </section>
        <section title="Security Considerations">
            <t>This document implies the use of ROLIE in high-security
                use cases, as such, added care should be taken to fortify
                and secure ROLIE repositories and clients using this
                extension. The guidance in the ROLIE core specification
                is strongly recommended, and implementers should consider
                adding additional security measures as they see fit.</t>
            <t>When providing a private workspace for closed sharing, it
                is recommended that the ROLIE repository checks user
                authorization when the user sends a GET request to the
                service document. If the user is not authorized to send
                any requests to a given workspace or collection, that
                workspace or collection should be truncated from the
                service document in the response. In this way the
                existence of unauthorized content remains unknown to
                potential attackers, hopefully reducing attack
                surface.</t>
        </section>

    </middle>
    <back>
        <references title="Normative References"> &RFC2119; &RFC5070;
            &RFC8322; &RFC4949; &RFC5023; &RFC4287; &RFC7970; </references>
        <section title="Non-Normative Examples" anchor="non-norm-ex">
            <t>The following provide examples of some potential use cases
                of the CSIRT ROLIE extension, and provides a showcase for
                some of its benefits over traditional solutions. </t>
            <t>The general non-normative examples provided in the core
                ROLIE document remain an excellent reference resource for
                typical ROLIE usage.</t>
            <section title="Use of Link Relations"
                anchor="link-relations">
                <t> A key benefit of using the RESTful architectural
                    style is the ability to enable the client to navigate
                    to related resources through the use of hypermedia
                    links. In the Atom Syndication Format, the type of
                    the related resource identified in a &lt;link&gt;
                    element is indicated via the "rel" attribute, where
                    the value of this attribute identifies the kind of
                    related resource available at the corresponding
                    "href" attribute. Thus, in lieu of a well-known URI
                    template the URI itself is effectively opaque to the
                    client, and therefore the client must understand the
                    semantic meaning of the "rel" attribute in order to
                    successfully navigate. Broad interoperability may be
                    based upon a sharing consortium defining a well-known
                    set of Atom Link Relation types. These Link Relation
                    types may either be registered with IANA, or held in
                    a private registry. </t>
                <t> Individual CSIRTs may always define their own link
                    relation types in order to support specific use
                    cases, however support for a core set of well-known
                    link relation types is encouraged as this will
                    maximize interoperability. </t>
                <t> In addition, it may be beneficial to define use case
                    profiles that correspond to specific groupings of
                    supported link relationship types. In this way, a
                    CSIRT may unambiguously specify the classes of use
                    cases for which a client can expect to find support. </t>
                <t> The following sections provide non-normative examples
                    of link relation usage. Three distinct cyber security
                    information sharing use case scenarios are described.
                    In each use case, the unique benefits of adopting a
                    resource-oriented approach to information sharing are
                    illustrated. It is important to note that these use
                    cases are intended to be a small representative set
                    and is by no means meant to be an exhaustive list.
                    The intent is to illustrate how the use of link
                    relationship types will enable this resource-oriented
                    approach to cyber security information sharing to
                    successfully support the complete range of existing
                    use cases, and also to motivate an initial list of
                    well-defined link relationship types. </t>
                <section title="Use Case: Incident Sharing"
                    anchor="info-share">
                    <t> This section provides a non-normative example of
                        an incident sharing use case. </t>
                    <t> In this use case, a member CSIRT shares incident
                        information with another member CSIRT in the same
                        consortium. The client CSIRT retrieves a feed of
                        incidents, and is able to identify one particular
                        entry of interest. The client then does an HTTP
                        GET on that entry, and the representation of that
                        resource contains link relationships for both the
                        associated "indicators" and the incident
                        "history", and so on. The client CSIRT recognizes
                        that some of the indicator and history may be
                        relevant within her local environment, and can
                        respond proactively. </t>
                    <t>Example HTTP GET response for an incident
                        entry:</t>
                    <figure height="" suppress-title="false" width=""
                        alt="" title="" align="left">
                        <artwork height="" name="" width="" type="" alt="" align="left" xml:space="preserve"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>        
<entry xmlns="http://www.w3.org/2005/Atom"
  xmlns:rolie="urn:ietf:params:xml:ns:rolie-1.0">
  <id>http://www.example.org/csirt/private/incidents/123456</id>
  <title>Sample Incident</title>
  <link href="http://www.example.org/csirt/private/incidents/123456" 
    rel="self"/>
  <link href="http://www.example.org/csirt/private/incidents/123456" 
    rel="alternate"/>
  <published>2012-08-04T18:13:51.0Z</published>
  <updated>2012-08-05T18:13:51.0Z</updated>
  
  <link href="http://www.example.org/csirt/private/incidents/123456" 
    rel="edit"/>
            
  <!-- The links to indicators related to this incident,
       and the history of this incident, and so on.... -->
  <link href="http://www.example.org/csirt/private/incidents/123456
    /relationships/indicators" rel="indicators"/>
  <link href="http://www.example.org/csirt/private/incidents/123456
    /relationships/history" rel="history"/>
  <link href="http://www.example.org/csirt/private/incidents/123456
    /relationships/campaign" rel="campaign"/>

  <!-- navigate up to the full collection.  
       Might also be rel="collection" as per IANA registry -->
  <link href="http://www.example.org/csirt/private/incidents" rel="up"/>
  <rolie:format ns="urn:example:iodef"/>
  <content type="application/xml" src="example.org/123456/source">
  <!-- Content provided here as example, the content tag is only a 
       link to this file. -->
    <iodef:IODEF-Document lang="en" 
      xmlns:iodef="urn:ietf:params:xml:ns:iodef-1.0">
      <iodef:Incident purpose="traceback" restriction="need-to-know">              
        <iodef:IncidentID name="http://www.example.org/csirt/private/
          incidents">123456</iodef:IncidentID>
        <!-- ...additional incident data.... -->
        </iodef:Incident>
    </iodef:IODEF-Document>
    
  </content>
</entry>  ]]></artwork>
                    </figure>
                    <t>As can be seen in the example response, the Atom
                        &lt;link&gt; elements enable the client to
                        navigate to the related indicator resources,
                        and/or the history entries associated with this
                        incident.</t>
                </section>
                <section title="Use Case: Collaborative Investigation"
                    anchor="collab-analysis">
                    <t>This section provides a non-normative example of a
                        collaborative investigation use case. </t>
                    <t> In this use case, two member CSIRTs that belong
                        to a closed sharing consortium are collaborating
                        on an incident investigation. The initiating
                        CSIRT performs an HTTP GET to retrieve the
                        service document of the peer CSIRT, and
                        determines the collection name to be used for
                        creating a new investigation request. The
                        initiating CSIRT then POSTs a new incident entry
                        to the appropriate collection URL. The target
                        CSIRT acknowledges the request by responding with
                        an HTTP status code 201 Created.</t>
                    <t>Example HTTP GET response for the service
                        document:</t>
                    <figure height="" suppress-title="false" width=""
                        alt="" title="" align="left">
                        <artwork height="" name="" width="" type="" alt="" align="left" xml:space="preserve"><![CDATA[
HTTP/1.1 200 OK
Date: Fri, 24 Aug 2012 17:09:11 GMT
Content-Length: 934
Content-Type: application/atomsvc+xml;charset="utf-8"

<?xml version="1.0" encoding="UTF-8"?>
<service xmlns="http://www.w3.org/2007/app"
         xmlns:atom="http://www.w3.org/2005/Atom">
    <workspace xml:lang="en-US" 
      xmlns:xml="http://www.w3.org/XML/1998/namespace">
      <atom:title type="text">RID Use Case Requests</atom:title>
      <collection  
        href="http://www.example.org/csirt/RID/InvestigationRequests">
         <atom:title type="text">Investigation Requests</atom:title>
         <accept>application/atom+xml; type=entry</accept>
      </collection>
      <collection href="http://www.example.org/csirt/RID/TraceRequests">
         <atom:title type="text">Trace Requests</atom:title>
         <accept>application/atom+xml; type=entry</accept>
      </collection>
      <!-- ...and so on.... -->
    </workspace>
</service>  ]]></artwork>
                    </figure>
                    <t>As can be seen in the example response, the Atom
                        &lt;collection&gt; elements enable the client to
                        determine the appropriate collection URL to
                        request an investigation or a trace.</t>
                    <t>The client CSIRT then POSTs a new entry to the
                        appropriate feed collection. Note that the
                        &lt;content&gt; element of the new entry may
                        contain a RID message of type
                        "InvestigationRequest" if desired, however this
                        would NOT be required. The entry content itself
                        need only be an IODEF document, with the choice
                        of the target collection resource URL indicating
                        the callers intent. A CSIRT would be free to use
                        any URI template to accept
                        investigationRequests.</t>
                    <figure height="" suppress-title="false" width=""
                        alt="" title="" align="left">
                        <artwork height="" name="" width="" type="" alt="" align="left" xml:space="preserve"><![CDATA[
POST /csirt/RID/InvestigationRequests HTTP/1.1
Host: www.example.org
Content-Type: application/atom+xml;type=entry
Content-Length: 852 

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom"
  xmlns:rolie="urn:ietf:params:xml:ns:rolie-1.0">
  <title>New Investigation Request</title>
  <id>http://www.example2.org/csirt/private/incidents/123456</id>
  <!-- id and updated not guranteed to be preserved --> 
  <!-- may want to profile that behavior in this document -->
  <updated>2012-08-12T11:08:22Z</updated>                         
  <author><name>Name of peer CSIRT</name></author>
  <rolie:format ns="urn:example:iodef"/>
  <content type="application/xml">
    <iodef:IODEF-Document lang="en" 
      xmlns:iodef="urn:ietf:params:xml:ns:iodef-1.0">
      <iodef:Incident purpose="traceback" restriction="need-to-know">              
      <iodef:IncidentID name="http://www.example2.org/csirt/
        private/incidents">123</iodef:IncidentID>
        <!-- ...additional incident data.... -->
      </iodef:Incident>
    </iodef:IODEF-Document>
  </content>
</entry>  ]]></artwork>
                    </figure>
                    <t>The receiving CSIRT acknowledges the request with
                        HTTP return code 201 Created. </t>
                    <figure height="" suppress-title="false" width=""
                        alt="" title="" align="left">
                        <artwork height="" name="" width="" type="" alt="" align="left" xml:space="preserve"><![CDATA[
HTTP/1.1 201 Created
Date: Fri, 24 Aug 2012 19:17:11 GMT
Content-Length: 906
Content-Type: application/atom+xml;type=entry
Location: http://www.example.org/csirt/RID/InvestigationRequests/823
ETag: "8a9h9he4qphqh"

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom"
  xmlns:rolie="urn:ietf:params:xml:ns:rolie-1.0">
  <title>New Investigation Request</title>
  <id>http://www.example.org/csirt/RID/InvestigationRequests/823</id>
  <!-- id and updated not guranteed to be preserved --> 
  <!-- may want to profile that behavior in this document -->
  <updated>2012-08-12T11:08:30Z</updated>                              
  <published>2012-08-12T11:08:30Z</published>
  <author><name>Name of peer CSIRT</name></author>
  <rolie:format ns="urn:example:iodef"/>
  <content type="application/xml">
    <iodef:IODEF-Document lang="en" 
      xmlns:iodef="urn:ietf:params:xml:ns:iodef-1.0">
      <iodef:Incident purpose="traceback" restriction="need-to-know">              
      <iodef:IncidentID name="http://www.example.org/csirt/private
        /incidents">123</iodef:IncidentID>
        <!-- ...additional incident data.... -->
      </iodef:Incident>
    </iodef:IODEF-Document>
  </content>
</entry> ]]></artwork>
                    </figure>
                    <t>Consistent with HTTP/1.1 RFC, the location header
                        indicates the URL of the newly created
                        InvestigationRequest. If for some reason the
                        request were not authorized, the client would
                        receive an HTTP status code 403 Unauthorized. In
                        this case the HTTP response body may contain
                        additional details, if an as appropriate.</t>
                </section>
                <section title="Use Case:  Cyber Data Repository"
                    anchor="cyber-repo">
                    <t>This section provides a non-normative example of a
                        cyber security data repository use case. </t>
                    <t> In this use case a client accesses a persistent
                        repository of cyber security data via a RESTful
                        usage model. Retrieving a feed collection is
                        analogous to an SQL SELECT statement producing a
                        result set. Retrieving an individual Atom Entry
                        is analogous to a SQL SELECT statement based upon
                        a primary key producing a unique record. The
                        cyber security data contained in the repository
                        may include different data types, including
                        indicators, incidents, benchmarks, or any other
                        related resources. In this use case, the
                        repository is queried via HTTP GET, and the
                        results that are returned to the client may
                        optionally contain URL references to other cyber
                        security resources that are known to be related.
                        These related resources may also be persisted
                        locally, or they may exist at another (remote)
                        cyber data respository. </t>
                    <t>Example HTTP GET request to a persistent
                        repository for any resources representing
                        Distributed Denial of Service (DDOS) attacks:</t>
                    <figure height="" suppress-title="false" width=""
                        alt="" title="" align="left">
                        <artwork height="" name="" width="" type="" alt="" align="left" xml:space="preserve"><![CDATA[
GET /csirt/repository/ddos
Host: www.example.org
Accept: application/atom+xml  ]]></artwork>
                    </figure>
                    <t>The corresponding HTTP response would be an XML
                        document containing the DDOS feed.</t>
                    <t>Example HTTP GET response for a DDOS feed:</t>
                    <figure height="" suppress-title="false" width=""
                        alt="" title="" align="left">
                        <artwork height="" name="" width="" type="" alt="" align="left" xml:space="preserve"><![CDATA[

HTTP/1.1 200 OK
Date: Fri, 24 Aug 2012 17:20:11 GMT
Content-Length: nnnn
Content-Type: application/atom+xml;type=feed;charset="utf-8"

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
    xmlns:rolie="urn:ietf:params:xml:ns:rolie-1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.w3.org/2005/Atom 
                        file:/C:/schemas/atom.xsd
                        urn:ietf:params:xml:ns:iodef-1.0 
                        file:/C:/schemas/iodef-1.0.xsd"
    xml:lang="en-US">

    <generator version="1.0" xml:lang="en-US">
      emc-csirt-iodef-feed-service</generator>
    <id>http://www.example.org/csirt/repository/ddos</id>
    <title type="text" xml:lang="en-US">
      Atom formatted representation of a feed of known ddos resources.
      </title>
    <updated xml:lang="en-US">2012-05-04T18:13:51.0Z</updated> 
    <author>
        <email>csirt@example.org</email>
        <name>EMC CSIRT</name>
    </author>

    <!-- By convention there is usually a self link for the feed -->
    <link href="http://www.example.org/csirt/repository/ddos" 
      rel="self"/>
             
    <entry>
        <id>http://www.example.org/csirt/repository/ddos/123456</id>
        <title>Sample DDOS Incident</title>
        <link href="http://www.example.org/csirt/repository/ddos/123456" 
          rel="self"/>          <!-- by convention -->
        <link href="http://www.example.org/csirt/repository/ddos/123456" 
          rel="alternate"/>     <!-- required by Atom spec -->
        <link href="http://www.example.org/csirt/repository/ddos/987654" 
          rel="related"/>       <!-- link to a related DDOS resource
          in this repository -->
        <link href="http://www.cyber-agency.gov/repository/
          indicators/1a2b3c" rel="related"/>  
          <!-- link to a related DDOS resource in another repository -->              
        <published>2012-08-04T18:13:51.0Z</published>
        <updated>2012-08-05T18:13:51.0Z</updated>
        <!-- The category is based upon IODEF 
                    purpose and restriction attributes -->
        <category term="traceback" scheme="purpose" label="trace back"/>
        <category term="need-to-know" scheme="restriction" 
          label="need to know" />
        <category term="ddos" scheme="ttp" 
          label="tactics, techniques, and procedures"/>
        <summary>A short description of this DDOS attack, extracted 
        from the IODEF Incident class, <description> element. </summary>
        <rolie:format ns="urn:example:iodef"/>
        <content href="http://www.example.org/ddos/123456/data"/>
    </entry>
    
    <entry>
        <!-- ...another entry... -->
    </entry>
              
</feed>  ]]></artwork>
                    </figure>
                    <t>This feed document has two atom entries, one of
                        which has been elided. The completed entry
                        illustrates an Atom &lt;entry&gt; element that
                        provides a summary of essential details about one
                        particular DDOS incident. Based upon this summary
                        information and the provided category
                        information, a client may choose to do an HTTP
                        GET operation to retrieve the full details of the
                        DDOS incident. This example shows how a
                        persistent repository may provide links to
                        additional resources, both local and remote.</t>
                    <t>Note that the provider of a persistent repostory
                        is not obligated to follow any particular URL
                        template scheme. The repository available at the
                        hypothetical provider "www.example.com" uses a
                        different URL pattern than the hypothetical
                        repository available at "www.cyber-agency.gov".
                        When a client de-references a link to resource
                        that is located in a remote repository the client
                        may be challenged for authentication credentials
                        acceptable to that provider. If the two
                        repository providers choose to support a
                        federated identity scheme or some other form of
                        single-sign-on technology, then the user
                        experience can be improved for interactive
                        clients (e.g., a human user at a browser).
                        However, this is not required and is an
                        implementation choice that is out of scope for
                        this specification. </t>
                </section>
            </section>
        </section>
    </back>
</rfc>
