<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2865 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2865.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC4949 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4949.xml">
<!ENTITY RFC5209 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5209.xml">
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
<!ENTITY RFC5792 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5792.xml">
<!ENTITY RFC5793 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5793.xml">
<!ENTITY RFC6733 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6733.xml">
<!ENTITY I-D.draft-ietf-nea-pt-eap-06 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-nea-pt-eap-06.xml">
<!ENTITY I-D.draft-ietf-nea-pt-tls-08 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-nea-pt-tls-08.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-waltermire-sacm-use-cases-04" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="SACM Use Cases">Analysis of Security Automation and Continuous Monitoring (SACM) Use Cases</title>

    <author fullname="David Waltermire" initials="D.W." role="editor"
            surname="Waltermire">
      <organization abbrev="NIST">National Institute of Standards and Technology</organization>

      <address>
        <postal>
          <street>100 Bureau Drive</street>
          <city>Gaithersburg</city>
          <region>Maryland</region>
          <code>20877</code>
          <country>USA</country>
        </postal>
        <phone></phone>
        <email>david.waltermire@nist.gov</email>
      </address>
    </author>
    
    <author fullname="Adam W. Montville" initials="A.W.M." 
      surname="Montville">
      <organization abbrev="TW">Tripwire, Inc.</organization>
      
      <address>
        <postal>
          <street>101 SW Main Street, Suite 1500</street>
          <city>Portland</city>
          <region>Oregon</region>
          <code>97204</code>
          <country>USA</country>
        </postal>
        <phone></phone>
        <email>amontville@tripwire.com</email>
      </address>
    </author>
    <date year="2013" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>General</area>
<!--
    <workgroup>Internet Engineering Task Force</workgroup>
-->
    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>security automation continuous monitoring model scap endpoint</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>This document identifies use cases, derived functional capabilities, and requirements
        needed to provide a foundation for creating interoperable automation tools and continuous
        monitoring solutions that provide visibility into the state of endpoints, user activities,
        and network behavior. Stakeholders will be able to use these tools to aggregate and analyze
        relevant security and operational data to understand the organizations security posture,
        quantify business risk, and make informed decisions that support organizational objectives
        while protecting critical information. Organizations will be able to use these tools to
        augment and automate information sharing activities to collaborate with partners to identify
        and mitigate threats. Other automation tools will be able to integrate with these
        capabilities to enforce policies based on human decisions to harden systems, prevent misuse
        and reduce the overall attack surface.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>This document addresses foundational use cases in security automation. These use cases 
        may be considered when establishing a charter for the Security Automation and Continuous Monitoring 
        (SACM) working group within the IETF.  This working group will address as many of the standards 
        needed to define an interoperable, automation infrastructure required to support timely, accurate and 
        actionable situational awareness over an organization's IT assets. This document enumerates use cases 
        and breaks down related concepts and related requirements for capabilities that cross many IT security information domains.</t>
      
      <t>Sections <xref target="sec-intro-key-concepts"/>, <xref target="sec-use-cases"/>, and <xref target="sec-capability"/> of this document respectively focus on:
        <list>
          <t>Defining the key concepts used within the document providing a common frame of reference;</t>
          <t>Identifying foundational use cases that represent classes of stakeholders, goals, and usage scenarios;</t>
          <t>A set of derived functional capabilities and associated requirements that are needed to support the use cases;</t>
        </list>
      </t>

      <t>The concepts identified in this document provide a foundation for creating interoperable automation tools 
        and continuous monitoring solutions that provide visibility into the posture of endpoints, user activities, and 
        network behavior.  Stakeholders will be able to use these tools to aggregate and analyze relevant security 
        and operational data to understand the organizations security posture, quantify business risk, and make 
        informed decisions that support organizational objectives while protecting critical information.  Organizations
        will be able to use these tools to augment and automate information sharing activities to collaborate with 
        partners to identify and mitigate threats. Other automation tools will be able to integrate with these 
        capabilities to enforce policies based on human decisions to harden systems, prevent misuse and reduce the 
        overall attack surface.</t>

      <section title="Requirements Language">
        <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">RFC 2119</xref>.</t>
      </section>
    </section>


    <!-- TODO: AWM should put some verbiage from the introductory document here. -->
    <section title="Key Concepts" anchor="sec-intro-key-concepts">
      <t>The operational methods we use within the bounds of our present realities are failing us - we are falling behind.  We have begun to recognize that the evolution of threat agents, increasing system complexity, rapid situational security change, and scarce resources are detrimental to our success.  There have been efforts to remedy our circumstance, and these efforts are generally known as "Security Automation."</t>
      
      <t>Security Automation is a general term used to reference specifications originally created by the National Institute of Standards and Technology (NIST) and/or the MITRE Corporation.  Security Automation generally includes languages, protocols (prescribed ways by which specification collections are used), enumerations, and metrics.</t>
      
      <t>These specifications have provided an opportunity for tool vendors and enterprises building customized solutions to take the appropriate steps toward enabling Security Automation by defining common information expressions.  In effect, common expression of information enables interoperability between tools (whether customized, commercial, or freely available).  Another important capability common expression provides is the ability to automate portions of security processes to gain efficiency, react to new threats in a timely manner, and free up security personnel to work on more advanced problems within the processes in which they participate.</t>
      
      <figure anchor="frame-of-reference"><artwork><![CDATA[

  +---------------------------------------+  +-------------+
  |                                       |  |             |
  |     Operational Risk Management       |  |             |
  |                                       |  |             |
  +---------------------------------------+  |             |
                                             |             |
  +---------------------------------------+  |             |
  |                                       |  |             |
  |     Information Risk Management       |  |   Policy    |
  |                                       |  |   Process   |
  +---------------------------------------+  |   Procedure |
                                             |             |
  +---------------------------------------+  |             |
  |                                       |  |             |
  |     Control Frameworks                |  |             |
  |                                       |  |             |
  +---------------------------------------+  |             |
                                             |             |
  +---------------------------------------+  |             |
  |                                       |  |             |
  |     Controls                          |  |             |
  |                                       |  |             |
  +---------------------------------------+  +-------------+
        
        ]]></artwork></figure>
      
      
      <t>The figure above provides some context for our focus area.  Organizations of all sizes will have a more or less formal risk management program, depending upon their maturity and organization-specific needs.  A small business with only a few employees may not have a formally recognized risk management program, but they still lock the doors at night.  Typically, financial entities and governments sit at the other end of the spectrum with often large, laborious risk frameworks.  The point is that all organizations practice, to some degree, Operational Risk Management (ORM).  An Information Risk Management (IRM) program is most likely a constituent of ORM (another constituent might be Financial Risk Management).  In the Information Risk Management domain, we often use control frameworks to provide guidance for organizations practicing ORM in an information context, and these control frameworks define a variety of controls.</t>
      
      <t>From ORM, IRM, control frameworks, and the controls themselves, organizations derive a set of organization-specific policies, processes, and procedures.  Such policies, processes, and procedures make use of a library of supporting information commonly stipulated by the organization (i.e. enterprise acceptable use policies), but often prescribed by external entities (i.e. Payment Card Industry Data Security Standards, Sarbanes-Oxley, or EU Data Privacy Directive).  The focus of this document spans controls, certain aspects of policy, process, and procedure, and control frameworks.</t>
    </section>

    <section title="Use Cases" anchor="sec-use-cases">
      <!-- TODO: Provide description and overview information of use cases -->
      <t>This document addresses three use cases: Endpoint Posture Assessment, Enforcement of Acceptable State, Security Control Verification and Monitoring.  Currently, the first use case, Endpoint Posture Assessment, is being pursued under the SACM charter.  The additional use cases are included to provide broader context to this work and represents additional work that may be considered by SACM or another IETF working group in the future.</t>

      <section title="UC1: Endpoint Posture Assessment" anchor="sec-uc-endpoint-posture-assessment">
        <t>The Endpoint Posture Assessment use case involves collecting information about the posture of a given endpoint. This posture information is gathered and then published to appropriate data repositories to make collected information available for further analysis supporting organizational security processes.</t>
        <section title="Goals">
          <t>The primary goals of the endpoint Posture Assessment use case is:
            <list style="symbols">
              <t>To collect the posture of a given endpoint;</t>
              <t>Make that posture available to the enterprise for further analysis and action; and</t>
              <t>To assess that the endpoint's posture is in compliance with enterprise standards and, therefore, ensure alignment with enterprise policy.</t>
            </list>
          </t>
        </section>

        <section title="Main Success Scenario">
          <t>
            <list style="numbers">
              <t>Define a target endpoint to be assessed</t>
              <t>Select acceptable state policies to apply to the defined target</t>
              <t>Identify the endpoint being assessed</t>
              <t>Collect posture attributes from the target</t>
              <t>Communicate target identity and collected posture to external system for evaluation</t>
              <!-- QUESTION: Is state evaluation part of this use case or UC3? -->
              <t>Compare collected posture attributes from the target endpoint with expected state values as expressed in acceptable state policies</t>
            </list>
          </t>
        </section>
      </section>
      

      <!-- TODO: PROVIDE A MORE DESCRIPTIVE USE CASE -->
      <section title="UC2: Enforcement of Acceptable State" anchor="sec-uc-enforcement-of-acceptable-state">
        
       <!-- <section title="UC2 ORIGINAL COPY">
        <t>Controlling access to networks and services based on the assessment and analysis of host and/or network state based on machine processable content.</t>
        <t>Possible "things" that are being measured:
          <list style="symbols">
            <t>Asset information (e.g., Asset identification, ARF, ASR)</t>
            <t>System configuration (e.g., SCAP)</t>
            <t>System vulnerabilities (e.g., SCAP)</t>
            <t>System weaknesses</t>
            <t>Semi-automated human interrogation methods to assess non-automatable, technical and non-technical controls (e.g., OCIL)</t>
          </list>
        </t>
        
        <t>Possible desired outcomes to address:
          <list style="symbols">
            <t>User/system is allowed access to network resources</t>
            <t>User/system is denied access to network resources
              <list style="symbols">
                <t>Potential mitigation actions are taken</t>
              </list>
            </t>
          </list>
        </t>
        
        <!-\- TODO: DAW: create references for SCAP documents -\->
        <t>The Network Endpoint Assessment (NEA) protocols (<xref target="RFC5792">PA-TNC</xref>, <xref target="RFC5793">PB-TNC</xref>, <xref target="I-D.ietf-nea-pt-tls">PT-TLS</xref>, and <xref target="I-D.ietf-nea-pt-eap">PT-EAP</xref>) may be used to query and transport the things to be measured, as well as providing for manual or automated remediation and mitigation. SCAP content (XCCDF, OVAL, OCIL, etc.) may be transported over the NEA protocols to indicate which things are to be measured and send the results of the measurements. And enforcement may be implemented with <xref target="RFC2865">RADIUS</xref> or <xref target="RFC3588">DIAMETER</xref>.</t>
        </section>-->
        
        <t>Controlling access to a desired resource based on the compliance of an endpoint or user with enterprise policy.</t>
        <section title="Goal">
          <t>Allow or deny access to a desired resource based on the compliance of an endpoint or user with enterprise policy.</t>
        </section>
        <section title="Main Success Scenario">
          <!-- A list of numbered steps -->
          <t>
            <list style="numbers">
              <t>An entity (user on an endpoint or the endpoint itself) requests access to a given resource (i.e. network connection, service)</t>
              <t>Assessment of endpoint posture is achieved using <xref target="sec-uc-endpoint-posture-assessment" format="title"/></t>
              <t>Based on assessment results (i.e. compliance level with enterprise policy)
                <list style="letters">
                  <t>Endpoint or user is allowed access to requested resource, or</t>
                  <t>Endpoint or user is denied access to requested resource</t>
                </list>
              </t>
            </list>
          </t>
        </section>
      </section>
      

      <section title="UC3: Security Control Verification and Monitoring">

<!--        <section title="UC3 ORIGINAL COPY">
          <t>Continuous assessment of the implementation and effectiveness of security controls based on machine processable content.</t>
          <t>Possible "things" that are being measured:
            <list style="symbols">
              <t>Compliance to organizationally defined/required controls
                <list>
                  <t>System configuration</t>
                  <t>System vulnerabilities</t>
                  <t>Network events</t>
                  <t>Semi-automated human interrogation methods to assess non-technical controls</t>
                </list>
              </t>
              <t>Deviations from expected state</t>
            </list>
          </t>
          
          <t>Possible desired outcomes to address:
            <list style="symbols">
              <t>Compliance or non-compliance is recorded and reported</t>
            </list>
          </t>
          
          <t>This use case extends UC1 to ensure that changes to the things measured in UC1 are rapidly detected, reported, and optionally responded to with manual or automated remediation and mitigation.</t>
          
          <t>Possible other things to address:
            <list style="symbols">
              <t>Relevant processes, technologies and techniques.</t>
            </list>
          </t>
        </section>-->
        
        
        <t>This use case involves continuous (uninterrupted) and continual (periodic) monitoring of a set of target endpoints to determine the degree of compliance with acceptable state policies within an enterprise.</t>
        <section title="Goal">
          <t>Continuous assessment of the implementation and effectiveness of security controls based on machine processable content.</t>
        </section>
        <section title="Main Success Scenario">
          <!-- A list of numbered steps -->
          <t>
            <list style="numbers">
              <t>Define set of target endpoints to be assessed.</t>
              <t>Select acceptable state policies to apply to set of target endpoints</t>
              <t>Define assessment trigger based on either a
                <list style="letters">
                  <t>Time period, or</t>
                  <t>An event (e.g. endpoint, network, organizational).</t>
                </list>
              </t>
              <t>Define result reporting/alerting criteria</t>
              <t>Enable continuous assessment</t>
            </list>
          </t>
        </section>
      </section>
    </section>


    <section title="Functional Capabilities and Requirements" anchor="sec-capability">
      <t>In general, the activities of managing
        assets, configurations, and vulnerabilities are common between UC1, UC2, and UC3.  UC2 uses these
        activities to either grant or deny an entity access to a requested resource.  UC3 uses these
        activities in support of compliance measurement on a periodic basis.</t>
      
      <t>At the most basic level, an enterprise needing to satisfy these use cases will need certain
      capabilities to be met.  Specifically, we are talking about risk management capabilities.  This is the central problem domain, so it makes sense to be able to convey
      information about technical and non-technical controls, benchmarks, control requirements,
      control frameworks and other concepts in a common way.</t>
      
      <section title="Capabilities Supporting UC1" anchor="uc1-capabilities">
        <t>The capabilities in this section support assessing endpoint posture in an automated manner as described in Section <xref target="sec-uc-endpoint-posture-assessment"></xref>.</t>
        
        <!-- TODO: Need to add additional information here once the use case is really fleshed out to make for a better transition.  Should be something that describes the capabilities already included in this section below. -->
        
       
        <section title="Asset Management" anchor="sec-capabilitiy-asset-management">
          <t>Organizations manage a variety of assets within their enterprise.  Supporting the use cases in this document requires management of assets including: endpoints, the hardware they are composed of, installed software, hardware/software licenses used, and any appropriate configurations.  Effective Asset Management is a critical foundation upon which all else in risk management is based.  There are two important facets to asset management: 1) understanding coverage (what and how many assets are under control) and, 2) understanding specific asset details.  Coverage is fairly straightforward - assessing 80% of the enterprise assets is better than assessing 50% of the enterprise assets.  Getting asset details is comparatively subtle - if an enterprise does not have a precise understanding of its assets, then all acquired data and consequent actions taken based on the data are considered suspect.  Assessing assets (managed and unmanaged) requires that we have visibility into the posture of endpoints, the ability to understand the composition and relationships between different assets types, and the ability to properly characterize them at the outset and over time.</t>

            <section title="Concepts">
              <t>Managing endpoints and the different types of assets that compose them involves initially discovering and characterizing each asset instance, and then identify them in a common way.  Characterization may take the form of logical characterization or security characterization, where logical characterization may include business context not otherwise related to security, but which may be used as information in support of decision making later in risk management workflows.</t>
          
            <t>The following list details the requisite Asset Management capabilities:
              <list style="symbols">
                <t>Discover assets in the enterprise</t>
                <t>For a given endpoint, understand the composition and relationship of its constituent assets</t>
                <t>Characterize assets according to security and non-security asset properties</t>
                <t>Identify and describe assets using a common vocabulary between implementations</t>
                <t>Reconcile asset representations originating from disparate tools</t>
                <t>Manage asset information throughout the asset's life cycle</t>
              </list>
            </t>
          </section>
          <section title="Requirements">
            <t>A method MUST be provided for identifying an endpoint (asset identification) as a unique entity within the enterprise.
              <list>
                <t>The endpoint identifier SHOULD be able to be determined in an automated manner.</t>
                <t>The endpoint identifier, as communicated between entities, SHOULD be held to a minimal size.</t>
              </list>
            </t>
            <t>A method MUST be provided for defining an endpoint (asset classification) based on a set of organizationally relevant properties (e.g. organizational affiliation, criticality, function).</t>
          </section>
        </section>
        
        <section title="Data Collection" anchor="sec-capabilitiy-data-collection">
          <t>Related to managing the assets related to endpoints, and central to any automated assessment solution, is the ability to collect data from (or related to) an endpoint (some might call this "harvesting").  Of particular interest is data representing the security state of the endpoint and its constituent assets.  The primary interest of the activities demanding data collection is centered on policy attribute collection related to installed hardware and software configuration items, and network device configuration items among others.</t>

          <section title="Concepts">
            <!-- QUESTION: Understand more about what is meant by non-software vulnerabilities -->
            <t>There are many valid perspectives to take when considering required data collection capabilities.  The nature of data collected relating to endpoints supports a variety of information domains including: security configuration management (SCM) and vulnerability management.  SCM deals with the configuration of endpoints (infrastructure devices and computing hosts) including the software installed and in use on these devices.  Vulnerability management involves identifying the patch level of software installed on the device and the identification of insecure custom code (e.g. web vulnerabilities).  All vulnerabilities need to be addressed as part of a comprehensive risk management program, which is a superset of software vulnerabilities.  Thus, the capability of assessing non-software vulnerabilities applicable to the in-scope system is required.  Additionally, it may be necessary to support non-technical assessment of data relating to assets such as aspects related to operational and management controls.</t>
              
            <t>The following assessment capabilities support SCM relative to a target asset:
              <list style="symbols">
                <t>Collect the state of technical controls including, but not necessarily limited to:
                  <list style="symbols">
                    <t>Software inventory (e.g. operating system, applications, patches)</t>
                    <t>Configuration settings</t>
                  </list>
                </t>
                <t>Collect the state of non-technical controls commonly called administrative controls (i.e. policy, process, procedure)</t>
              </list>
            </t>
          </section>

          <section title="Requirements">
            <t>One or more data formats MUST be identified to describe instructions, data collection methods, to drive data collection (e.g. technical, interrogative).</t>
            <t>One or more data formats MUST be identified to instruct what posture attributes need to be collected for a specific set of endpoints.
              <list>
                <t>A method MUST be provided to include OPTIONAL instructions on describing what content must be run on the endpoint.</t>
                <t>A method MUST be provided to include OPTIONAL instructions that determine how to collect data supporting any particular test for that endpoint.</t>
              </list>
            </t>
            <t>A method MUST be provided for retrieving data collection instructions from a remote host (see Section <xref target="sec-capabilitiy-content-management"/>).</t>
            <t>One or more data formats MUST be identified to capture the results of data collection.
              <list>
                <t>This expression MUST be capable of supporting the characterization of assets and any related configuration settings that together compose an endpoint.
                  <list>
                    <t>A mechanism MUST be provided to identify the software and hardware asset instances that compose an endpoint.
                      <list>
                        <t>An asset identifier SHOULD be able to be determined in an automated manner</t>
                        <t>An asset identifier, as communicated between entities, SHOULD be held to a minimal size.</t>
                        <t>An asset identifier SHOULD be able to represented in a simple unambiguous manner, such as a reference, so that its embedded use in places like applicability clauses for individual benchmark tests can be kept from making their usage unwieldy.</t>
                      </list>
                    </t>
                    <t>A mechanism MUST be provided to associate configuration settings values to the installed software.</t>
                    <t>A mechanism MUST be provided to identify additional collected posture attribute/value pairs related to an endpoint.</t>
                  </list>
                </t>
                <t>A mechanism MUST be provided to identify the endpoint the results pertain to (see Section <xref target="sec-capabilitiy-asset-management"/>.</t>
                <t>A mechanism MUST be provided to associate the data collection method with the collected value.</t>
                <t>A mechanism MUST be provided to include provenance information describing what sensor of software collected the data.</t>
                <t>A mechanism MUST be provided to include entailment information, perhaps by reference, describing the methodology used to collect the data.</t>
              </list>
            </t>
            <t>A method of communicating data collection results to another system for further analysis MUST be identified.</t>
            <t>TODO: Communicate, unambiguously and to the necessary level of detail**, the asset details between software components</t>
          </section>
        </section>
        
        <section title="Assessment Result Analysis" anchor="sec-capabilitiy-assessment-result-analysis">
          <t>At the most basic level, the data collected needs to be analyzed for compliance to a standard stipulated by the enterprise.  Analysis methods may vary between enterprises, but commonly take a similar form.</t>
          <section title="Concepts">
          
            <t>The following capabilities support the analysis of assessment results:
              <list style="symbols">
                <t>Comparing actual state to expected state</t>
                <t>Scoring/weighting individual comparison results</t>
                <t>Relating specific comparisons to benchmark-level requirements</t>
                <t>Relating benchmark-level requirements to one or more control frameworks</t>
              </list>
            </t>
          </section>
          <section title="Requirements">
            <!-- TODO: Use of an applicability concept, against a collection of assets to determine what policies (test expressions) are suitable for collection and evaluation. -->
            <t>A method MUST be provided for selecting acceptable state policy, describing how to evaluate collected information, based on characteristics of the endpoint and organizational policy.</t>
            <t>A method MUST be provided for comparing collected data to expected state values (test evaluation).</t>
            <t>Any results produced by analysis processes MUST be capable of being transformed into a human-readable format.</t>
          </section>
        </section>

        <section title="Content Management" anchor="sec-capabilitiy-content-management">
          <t>It should be clear by now that the capabilities required to support risk management state measurement will yield volumes of content.  The efficacy of risk management state measurement depends directly on the stability of the driving content, and, subsequently, the ability to change content according to enterprise needs.</t>
          
          <section title="Concepts">
            <t>Capabilities supporting Content Management should provide the ability to create/define or modify content, as well as store and retrieve said content of at least the following types:
              <list style="symbols">
                <t>Configuration checklists</t>
                <t>Assessment rules</t>
                <t>Data collection rules and methods</t>
                <t>Scoring models</t>
                <t>Vulnerability information</t>
                <t>Patch information</t>
                <t>Asset characterization data and rules</t>
              </list>
            </t>
            <t>Note that the ability to modify content is in direct support of tailoring content for enterprise-specific needs.</t>
          </section>
          <section title="Requirements">
            <t>A protocol MUST be identified for retrieving SACM content from a content repository</t>
            <t>A protocol MUST be identified for querying SACM content held in a content repository.  The protocol MUST support querying content by applicability to asset characteristics.
              <list>
                <t>TODO: Determine what content can or must be run on the endpoint</t>
              </list>
            </t>
            <t>A protocol MUST be identified for curating SACM content in a content repository.  Note: This might be an area where we can limit the scope of work relative to the initial SACM charter.</t>
          </section>
        </section>
      </section>
      

      <section title="Capabilities Supporting UC2" anchor="uc2-capabilities">
        <t>UC2 is dependent upon UC1 and, therefore, includes all of the capabilities described in Section <xref target="uc1-capabilities"/>.  UC2 describes the ability to make a resource access decision based on an assessment of the requesting system (either by the system itself or on behalf of a user operating that system).  There are two chief capabilities required to meet the needs expressed in Section <xref target="sec-uc-enforcement-of-acceptable-state"/>: Assessment Query and Transport, and Acceptable State Enforcement.</t>
        
        <section title="Assessment Query and Transport" anchor="assessment-transport-capability">
          <t>Under certain circumstances, the system requesting access may be unknown, which can make querying the system problematic (consider a case where a system is connecting to the network and has no assessment software installed). Note that The Network Endpoint Assessment (NEA) protocols (<xref target="RFC5792">PA-TNC</xref>, <xref target="RFC5793">PB-TNC</xref>, <xref target="I-D.ietf-nea-pt-tls">PT-TLS</xref>, and <xref target="I-D.ietf-nea-pt-eap">PT-EAP</xref>) may be used to query and transport the things to be measured.</t>
        </section>
        
        <section title="Acceptable State Enforcement" anchor="state-enforcement-capability">
          <t>Once the assessment has been performed a decision to allow or deny access to the requested resource can be made.  Making this decision is a necessary but insufficient condition for enforcement of acceptable state, and an implementation must have the ability to actively allow or deny access to the requested resource.  For example, network enforcement may be implemented with <xref target="RFC2865">RADIUS</xref> or <xref target="RFC6733">DIAMETER</xref>.</t>
        </section>
        
      </section>
      
      
      <section title="Capabilities Supporting UC3" anchor="uc3-capabilities">
        <t>Recall that UC3 is dependent upon UC1 and therefore includes all of the capabilities described in <xref target="uc1-capabilities"/>.  The difference in UC3 is the notion of when to assess rather than what to assess.  Therefore, the capabilities described in this section are relevant only to the "when" and not to the "what."</t>
        
        <section title="Tasking and Scheduling" anchor="task-schedule-capabilities">
          <t>The ability to task and schedule assessments is requisite for any effective risk management program.  Tasking refers to the ability to create a set of instructions to be conveyed at a later time via scheduling.  Tasking, therefore, involves selecting a set of assessment criteria, assigning that set to a group of assets, and expressing that information in a manner that can be consumed by a collection tool.  Scheduling comes into play when the enterprise determines when to perform a specific assessment task (or set of tasks).  Scheduling may be expressed in a way that constrains tasks to execute only during defined periods, can be ad hoc, or may be triggered by the analysis of previous assessment results or events detected in the enterprise.</t>
          
          <t>The following capabilities support Tasking and Scheduling:
            <list style="symbols">
              <t>Selection of assessment criteria</t>
              <t>Defining in-scope assets (i.e. targeting)</t>
              <t>Defining periodic assessments for a given set of tasks</t>
              <t>Defining assessment triggers for a given set of tasks</t>
            </list>
          </t>
        </section>
        
        <section title="Data Aggregation and Reporting" anchor="aggregation-reporting-capabilities">
          <t>Assessment results are produced for every asset assessed, and these results must be reported not only individually, but in the aggregate, and in accordance with enterprise needs.  Enterprises should be able to aggregate and report on the data their assessments produce in a number of different ways in order to support different levels of decision making.  At times, security operations personnel may be interested in understanding where the most critical risks exist in their enterprise so as to focus their remediation efforts in the most effective way (in terms of cost and return).  At other times, only aggregated scores will matter, as might be the case when reporting to an information security manager or other executive-level role.</t>
          
          <t>It is not the position of these capabilities to provide explicit details about how reports should be formatted for presentation, but only what information they should contain for a particular purpose.  Furthermore, it is quite easy to imagine the need for a capability providing extensibility to aggregation and reporting.</t>
          
          <t>Aggregating assessment results by the following capabilities supports Data Aggregation and Reporting
            <list style="symbols">
              <t>By asset characterization</t>
              <t>By assessment criteria</t>
              <t>By control framework</t>
              <t>By benchmark</t>
              <t>By other attributes/properties of assessment characteristics</t>
              <t>Extensible aggregation and reporting</t>
            </list>
          </t>
        </section>
        
      </section>
    </section>


    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>

      <t>All drafts are required to have an IANA considerations section (see
      <xref target="RFC5226">
      RFC 5226</xref> for a guide). If the draft does not require IANA to do
      anything, the section contains an explicit statement that this is the
      case (as above). If there are no requirements for IANA, the section will
      be removed during conversion into an RFC by the RFC Editor.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>All drafts are required to have a security considerations section.
      See <xref target="RFC3552">RFC 3552</xref> for a guide.</t>
      <t>This section needs to be fleshed out to include concerns including:
        <list style="symbols">
          <t>Authentication</t>
          <t>Authorization</t>
          <t>Endpoint and user identity management</t>
          <t>Encryption of communications</t>
          <t>Content signing and validation</t>
          <t>etc...</t>
        </list>
      </t>
      <t>While not strictly a security concern, network bandwidth and similar communications requirements also need to be addressed.</t>
    </section>

    <section anchor="sec-terms" title="Terms and Definitions">
      
      <t>assessment
        <list>
          <t>Defined in <xref target="RFC5209"/> as "the process of collecting posture for a set of capabilities on the endpoint (e.g., host-based firewall) such that the appropriate validators may evaluate the posture against compliance policy."</t>
          <t>Within this document the use of the term is expanded to support other uses of collected posture (e.g. reporting, network enforcement, vulnerability detection, license management).  The phrase "set of capabilities on the endpoint" includes: hardware and software installed on the endpoint."</t>
        </list>
      </t>
      
      <t>asset
        <list>
          <t>Defined in <xref target="RFC4949"/> as "a system resource that is (a) required to be protected by an information system's security policy, (b) intended to be protect by a countermeasure, or (c) required for a system's mission.</t>
        </list>
      </t>
      
      <t>attribute
        <list>
          <t>Defined in <xref target="RFC5209"/> as "data element including any requisite meta-data describing an observed, expected, or the operational status of an endpoint  feature (e.g., anti-virus software is currently in use)."</t>
        </list>
      </t>
      
      <t>endpoint
        <list>
          <t>Defined in <xref target="RFC5209"/> as "any computing device that can be connected to a network. Such devices normally are associated with a particular link layer address before joining the network and potentially an IP address once on the network. This includes: laptops, desktops, servers, cell phones, or any device that may have an IP address."</t>
          <t>Network infrastructure devices (e.g. switches, routers, firewalls), which fit the definition, are also considered to be endpoints within this document.</t>
          <t>Based on the previous definition of an asset, an endpoint is a type of asset.</t>
        </list>
      </t>
      
      <t>posture
        <list>
          <t>Defined in <xref target="RFC5209"/> as "configuration and/or status of hardware or software on an endpoint as it pertains to an organization's security policy."</t>
          <t>This term is used within the scope of this document to represent the state information that is collected from an endpoint (e.g. software/hardware inventory, configuration settings).</t>
        </list>
      </t>
      
      <t>posture attributes
        <list>
          <t>Defined in <xref target="RFC5209"/> as "attributes describing the configuration or status (posture) of a feature of the endpoint.  For example, a Posture Attribute might describe the version of the operating system installed on the system."</t>
          <t>Within this document this term represents a specific assertion about endpoint state (e.g. configuration setting, installed software, hardware).  The phrase "features of the endpoint" refers to installed software or software components.</t>
        </list>
      </t>
      
      <t>system resource
        <list>
          <t>Defined in <xref target="RFC4949"/> as "data contained in an information system; or a service provided by a system; or a system capacity, such as processing power or communication bandwidth; or an item of system equipment (i.e., hardware, firmware, software, or documentation); or a facility that houses system operations and equipment.</t>
        </list>
      </t>
<!--
      <t>
        <list>
          <t>Defined in <xref target="RFC"/> as </t>
        </list>
      </t>
-->
    </section>

    <section title="Acknowledgements">
      <t>The author would like to thank Kathleen Moriarty and Stephen Hanna for contributing text to this document.  The author would also like to acknowledge the members of the SACM mailing list for their keen and insightful feedback on the concepts and text within this document.</t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      &RFC2119;

    </references>

    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->
      
      &RFC2865;
      &RFC3552;
      &RFC4949;
      &RFC5209;
      &RFC5226;
      &RFC5792;
      &RFC5793;
      &RFC6733;
      
      &I-D.draft-ietf-nea-pt-eap-06;
      &I-D.draft-ietf-nea-pt-tls-08;
    </references>
  </back>
</rfc>

