One document matched: draft-ietf-sacm-use-cases-01.xml


<?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 RFC1213 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1213.xml">
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC0826 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.0826.xml">
<!ENTITY RFC2790 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2790.xml">
<!ENTITY RFC2863 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2863.xml">
<!ENTITY RFC2865 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2865.xml">
<!ENTITY RFC2922 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2922.xml">
<!ENTITY RFC3535 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3535.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC4363 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4363.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 RFC5424 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5424.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 RFC6876 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6876.xml">
<!ENTITY RFC6933 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6933.xml">
<!ENTITY I-D.draft-ietf-nea-pt-eap-09 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-nea-pt-eap-09.xml">
<!-- <!ENTITY I-D.draft-asai-vmm-mib-04 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-asai-vmm-mib-04.xml"> -->
<!ENTITY I-D.draft-ietf-netmod-interfaces-cfg-12 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-netmod-interfaces-cfg-12.xml">
<!ENTITY I-D.draft-ietf-netmod-system-mgmt-08 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-netmod-system-mgmt-08.xml">
<!ENTITY I-D.draft-ietf-savi-framework-06 SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-savi-framework-06.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-ietf-sacm-use-cases-01" 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="Enterprise Use Cases for Security Assessment">Using Security Posture Assessment
      to Grant Access to Enterprise Network Resources</title>

    <author fullname="David Waltermire" initials="D.W." 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/>
        <email>david.waltermire@nist.gov</email>
      </address>
    </author>

    <author fullname="David Harrington" initials="D.B.H" surname="Harrington">
      <organization>Effective Software</organization>

      <address>
        <postal>
          <street>50 Harding Rd</street>
          <city>Portsmouth</city>
          <region>NH</region>
          <code>03801</code>
          <country>USA</country>
        </postal>
        <phone/>
        <email>ietfdbh@comcast.net</email>
      </address>
    </author>
    <date year="2013"/>

    <!-- Meta-data Declarations -->

    <area>Security</area>
    <workgroup>Security Automation and Continuous Monitoring WG</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</keyword>
    <keyword>continuous monitoring</keyword>
    <keyword>endpoint</keyword>
    <keyword>posture assessment</keyword>
    <keyword>use case</keyword>
    <keyword>asset management</keyword>
    <keyword>configuration management</keyword>
    <keyword>vulnerability management</keyword>
    <keyword>content management</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 memo documents a sampling of use cases for securely aggregating configuration and
        operational data and assessing that data to determine an organization's security posture.
        From these operational use cases, we can derive common functional capabilities and
        requirements to guide development of vendor-neutral, interoperable standards for aggregating
        and assessing data relevant to security posture. </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Our goal with this document is to improve our agreement on which problems we're trying to
        solve. We need to start with short, simple problem statements and discuss those by email and
        in person. Once we agree on which problems we're trying to solve, we can move on to propose
        various solutions and decide which ones to use.</t>
      <t>This document describes example use cases for endpoint posture assessment for enterprises.
        It provides a sampling of use cases for securely aggregating configuration and operational
        data and assessing that data to determine the security posture of individual endpoints, and,
        in the aggregate, the security posture of an enterprise.</t>
      <t>These use cases cross many IT security information domains. From these operational use
        cases, we can derive common concepts, common information expressions, functional
        capabilities and requirements to guide development of vendor-neutral, interoperable
        standards for aggregating and assessing data relevant to security posture.</t>
      <t>Using this standard data, tools can analyze the state of endpoints, user activities and
        behaviour, and assess the security posture of an organization. Common expression of
        information should enable interoperability between tools (whether customized, commercial, or
        freely available), and 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. </t>
      <t>The goal is to enable organizations to make informed decisions that support organizational
        objectives, to enforce policies for hardening systems, to prevent network misuse, to
        quantify business risk, and to collaborate with partners to identify and mitigate threats. </t>

      <t>It is expected that use cases for enterprises and for service providers will largely
        overlap, but there are additional complications for service providers, especially in
        handling information that crosses administrative domains.</t>
      <t>The output of endpoint posture assessment is expected to feed into additional processes,
        such as policy-based enforcement of acceptable state, verification and monitoring of
        security controls, and compliance to regulatory requirements.</t>


    </section>

    <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 title="Endpoint Posture Assessment" anchor="endpoint-posture-assessment">
      <t>Endpoint posture assessment involves orchestrating and performing data collection and
        analysis pertaining to the posture of a given endpoint. Typically, endpoint posture
        information is gathered and then published to appropriate data repositories to make
        collected information available for further analysis supporting organizational security
        processes.</t>

      <t>Endpoint posture assessment typically includes: <list style="symbols">
          <t>Collecting the posture of a given endpoint;</t>
          <t>Making that posture available to the enterprise for further analysis and action;
            and</t>
          <t>Performing analysis to assess that the endpoint's posture is in compliance with
            enterprise standards and policy.</t>
        </list>
      </t>

      <t>As part of these activities it is often necessary to identify and acquire any supporting
        content that is needed to drive data collection and analysis.</t>

      <t>The following is a typical success scenario for endpoint posture assessment: <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>

      <t>The following subsections detail specific use cases for data collection, analysis, and
        related operations pertaining to the publication and use of supporting content.</t>

      <section title="Definition and Publication of Automatable Configuration Guides">
        <t>QUESTION: This use case applies equally to vendors representing other endpoint types. Should this be generalized to capture this notion?</t>
        <t>A network device vendor manufactures a number of enterprise grade routers and other
          network devices. The also develop and maintain an operating system for these devices that
          enables end-user organizations to configure a number of security and operational settings
          for these devices. As part of their customer support activities, they publish a number of
          secure configuration guides that provide minimum security guidelines for configuring their
          devices.</t>
        <t>Each guide they produce applies to a specific model of device and version of the
          operating system and provides a number of specialized configurations depending on the
          devices intended function and what add-on hardware modules and software licenses are
          installed on the device. To enable their customers to assess the security posture of their
          devices to ensure that all appropriate minimal security settings are enabled, they publish
          an automatable configuration checklist using a popular data format that defines what
          settings to check using a network management protocol and appropriate values for each
          setting. They publish these guides to a public content repository that customers can query
          to retrieve applicable guides for their deployed enterprise network infrastructure
          endpoints.</t>
        <t>To support this use case, the following capabilities will be utilized: <list
            style="symbols">
            <t>Asset Identification (see section <xref target="sec-fc-asset-identification"
                format="counter"/>) - Hardware and software class-level asset identities will be
              used to identify the applicable targets for each configuration guide and within the
              guide specialized targets for licensed features and hardware modules.</t>
            <t>Asset Characterization - Asset characteristics will be used to identify the target
              endpoint functions addressed by each configuration guide.</t>
            <t>Asset Targeting - Applicability expressions will be described using asset
              identification and characterization attributes to scope the checklist and specific
              groupings of configurations to associated hardware and software products, features,
              and asset functions.</t>
            <t>[TODO: Need to list other functions here as the sections stabilize.]</t>
          </list></t>
        <t>QUESTION: Is providing traceability to functional capabilities useful? If so, we need to
          replicate this for the other use cases.</t>
      </section>

      <section title="Automated Checklist Verification">
        <t>A financial services company operates a heterogeneous IT environment. In support of their
          risk management program, they utilize vendor provided automatable security configuration
          checklists for each operating system and application used within their IT environment.
          Multiple checklists are used from different vendors to insure adequate coverage of all IT
          assets.</t>
        <t>To identify what checklists are needed, they use automation to gather an inventory of the
          software versions utilized by all IT assets in the enterprise. This data gathering will
          involve querying existing data stores of previously collected endpoint software inventory
          posture data and actively collecting data from reachable endpoints as needed utilizing
          network and systems management protocols. Previously collected data may be provided by
          periodic data collection, network connection-driven data collection, or ongoing
          event-driven monitoring of endpoint posture changes.</t>
        <t>Using the gathered software inventory data and associated asset management data
          indicating the organizational defined functions of each endpoint, they locate and query
          each vendors content repository for the appropriate checklists. These checklists are
          cached locally to reduce the need to download the checklist multiple times.</t>
        <t>Driven by the setting data provided in the checklist, a combination of existing
          configuration data stores and data collection methods are used to gather the appropriate
          posture information from each endpoint. Specific data is gathered based on the defined
          enterprise function and software inventory of each endpoint. The data collection paths
          used to collect software inventory posture will be used again for this purpose. Once the
          data is gathered, the actual state is evaluated against the expected state criteria in
          each applicable checklist. Deficiencies are identified and reported to the appropriate
          endpoint operators for remedy.</t>
      </section>

      <section title="Organizational Software Policy Compliance">
        <t>Example Corporation, in support of compliance requirements, has identified a number of
          secure baselines for different endpoint types that exist across their enterprise IT
          environment. Determining which baseline applies to a given endpoint is based on the
          organizationally defined function of the device.</t>
        <t>Each baseline, defined using an automatable standardized data format, identifies the
          expected hardware, software and patch inventory, and software configuration item values
          for each endpoint type. As part of their compliance activities, they require that all
          endpoints connecting to their network meet the appropriate baselines. Each endpoint is
          checked to make sure it complies with the appropriate baseline whenever it connects to the
          network and at least once a day thereafter. These daily compliance checks assess the
          posture of each endpoint and report on its compliance with the appropriate baseline.</t>
        <t>[TODO: Need to speak to how the baselines are identified for a given endpoint connecting
          to the network.]</t>
      </section>
      <section title="Detection of Posture Deviations">
        <t>Example corporation has established secure configuration baselines for each different
          type of endpoint within their enterprise including: network infrastructure, mobile,
          client, and server computing platforms. These baselines define an approved list of
          hardware, software (i.e., operating system, applications, and patches), and associated required
          configurations. When an endpoint connects to the network, the appropriate baseline
          configuration is communicated to the endpoint based on its location in the network, the
          expected function of the device, and other asset management data. It is checked for
          compliance with the baseline indicating any deviations to the device's operators. Once the
          baseline has been established, the endpoint is monitored for any change events pertaining
          to the baseline on an ongoing basis. When a change occurs to posture defined in the
          baseline, updated posture information is exchanged allowing operators to be notified
          and/or automated action to be taken.</t>
      </section>
      <section title="Others...">
        <t>Additional use cases will be identified as we work through other domains.</t>
      </section>
    </section>
    <section title="Functional Capabilities" anchor="sec-functional-capabilities">
      <!--     <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>
      

	  -->
      <t>The use cases defined in the previous section highlight various uses of endpoint posture
        assessment to support a variety of IT security business processes. The following subsections
        address derived functional capabilities that are needed to support these use cases.</t>

      <section title="Asset Identification" anchor="sec-fc-asset-identification">
        <t>Organizations manage a variety of assets within their enterprise including: endpoints,
          the hardware they are composed of, installed software, hardware/software licenses used,
          and configurations. Identifying assets is critical for managing information provided about
          and collected from endpoints. In order to manage these assets over time it is necessary to
          uniquely identify them and to use this identification to express asset properties and to
          establish relationships between different assets.</t>

        <t>When possible, stable identification mechanisms should be used that will allow the asset
          to be identified over time enabling information pertaining to the asset to be correlated.
          In some cases stable asset identifiers may not be available or they may change over time
          due to operational conditions. For example, identifiers may be stable for the life of a
          hardware component. In other cases (e.g., MAC addresses), the identifier may be mutable
          within software. In an enterprise context it is often necessary to use multiple
          identification viewpoints for an asset to correlate data generated from endpoint, network,
          and human sources. To deal with these scenarios, it is important to use multiple forms of
          asset identification concurrently to allow asset data to be deconflicted (see section <xref
            target="sec-fc-asset-deconfliction"/>.</t>

        <t>REQUIREMENT: Many standard and proprietary forms of asset identification exist today. To
          provide adequate coverage, use of any identification mechanism, both standardized and
          proprietary, SHOULD be allowed.</t>

        <t>Object-oriented programming introduces two different concepts when dealing with data:
          classes and instances. A class represents a data type which can be varied in a number of
          ways, while an instance represents a realized variation of a class. This distinction can
          be applied to identifying assets as described in the following subsections.</t>

        <section title="Asset Class Identification">
          <t>An asset class identifies a distinct type of asset. Assets identified at the class
            level are useful for describing things that can be instantiated or duplicated. Having
            the ability to associate data with asset classes enable common properties and
            relationships to be expressed that apply to all copies.</t>

          <t>Examples of class-level asset identities include: <list style="symbols">
              <t>Software releases and patches - Identifiers that represent distinct software
                revision releases for firmware, operating systems, applications, software suites,
                and patches and other forms of software updates.</t>
              <t>Hardware components - Identifiers that distinguish specific parts and production
                runs for hardware devices and components.</t>
              <t>Organizational endpoint types - Identifiers that represent distinct endpoint
                configurations associated with a specific organizational IT function.</t>
              <t>Others? - Please suggest any additional examples on the list</t>
            </list>
          </t>

          <t>By identifying different types of assets at the class-level, common characteristics
            (see section <xref target="sec-fc-asset-characterization" format="counter"/>) and
            content (see section <xref target="sec-fc-asset-targeting" format="counter"/>) can be
            associated. Using class identification it is possible to define relationships between
            assets and other data including: software dependencies, associated patches, supported
            hardware architectures, associated vulnerabilities, and related configuration items.</t>

          <t>In many object-oriented languages classes can exist in hierarchies. This enables
            association of data at different levels of abstraction. This is also a useful concept
            for asset identification. For example, a class may exist for router endpoint types, with
            subclasses representing different vendor product releases. This enables characteristics
            and content to be associated at various levels of abstraction reducing data management
            challenges.</t>

          <t>A variety of asset identification schemes exist for asset classes, including some that
            can be exposed within an operating environment for data collection. These may include:
            part numbers and revisions for hardware and software product identifiers. [TODO: We need
            examples of existing standardized asset class identification schemes?</t>

          <t>REQUIREMENT: When available these asset identifiers SHOULD be used to identify asset
            classes in collected and analyzed data.</t>
        </section>

        <section title="Asset Instance Identification">
          <t>An asset instance identifies a specific copy or variation of an asset identification
            class. Identification of asset instances is necessary for expressing specific properties
            and relationships within an installed context. For example a network interface card
            installed in a specific router in branch office's network closet, or a word processing
            application release installed on Bob's desktop.</t>

          <t>Identification of asset instances can be supported using a variety of identification
            schemes. Hardware vendors often expose asset instance identification data to the
            operating system including: product tags, CPU identifiers, etc. In some cases, such as
            for software, it may be necessary to express instance information as a relation to the
            installed device. For example, using a software class identifier with a hardware
            identifier to establish the software instance on a specific endpoint. Organizationally
            provided identifiers can also be used to identify assets such as those provided by
            hardware and software certificates, and other configurable identification sources.</t>

          <t>Accessing specific identifiers on an endpoint may require privileges on the device. When
            identifying an endpoint from a network context, or if other forms of device
            identification are not available or access is not authorized, it may be necessary to
            identify an endpoint using network addressing information (e.g., MAC addresses, IP
            addresses). If only network data is used, additional analysis will be needed to
            correlate an endpoint's identity across multiple connection sessions often resulting in
            partial confidence of the assets identity over time.</t>

          <t>Some existing standards support the identification of the hardware and the system
            software on a given endpoint. For example, the SYSTEM-MIB <xref target="RFC1213"/>
            contains a description of the endpoint, an authoritative identifier of the type of
            endpoint assigned by the vendor of the endpoint, an administrative name for the
            endpoint, plus the endpoint's contact person, the location of the endpoint, system time,
            and an enumerator that identifies the layer of services provided by the endpoint. The
            system description includes the vendor, product type, model number, OS version, and
            networking software version. </t>

          <t>Similar information is available via the YANG module ietf-system
            <!--xref target="I-D.draft-ietf-netmod-system-mgmt-08"/-->. This module includes data
            node definitions for system identification, time-of-day management, user management, DNS
            resolver configuration, and some protocol operations for system management.</t>
        </section>
      </section>

      <section title="Asset Characterization" anchor="sec-fc-asset-characterization">
        <t>TERM: Asset characterization is the process of defining attributes that describe
          properties of an identified asset.</t>

        <t>Asset characterization provides additional context that is useful to support automated
          and human decision making as part of operational and security processes. It is necessary
          to gather, organize, store, manage, and exchange a variety of different asset
          characteristics. Often this information helps to bridge automated and human-oriented
          processes. To assess assets (managed and unmanaged), we need to understand the composition
          and relationships between different assets types. We need the ability to properly
          characterize assets at the outset and over time.</t>

        <t>Managing endpoints, and the different types of assets that compose them, involves
          initially identifying and characterizing each asset. This information is important to
          provide additional context for supporting management of assets using human and automated
          processes. Characterization may include business context not otherwise related to
          security, but which may be used as information in support of security decision making. For
          example, it may be possible to automate assessing that an endpoint is out of compliance
          with organizational configuration guidelines, but additional information is needed to
          determine who to notify to correct the configuration. Information provided by asset
          characterization will enable notifications to be sent, trouble tickets to be generated, or
          specific reports to be generated at a dashboard for a systems administrator.</t>

        <t>The following are examples of useful asset characteristics that may be provided:</t>
        <t>For asset classes: <list style="symbols">
            <t>Information pertaining to the developer, manufacturer, and/or publisher of hardware
              and software</t>
            <t>The composition, dependencies, and function of hardware and software</t>
            <t>Production version</t>
            <t>Hardware characteristics and software operational requirements (e.g., processor
              architecture, memory, storage, network interfaces)</t>
            <t>Metadata identifying: product family, edition, licensing</t>
            <t>End-of-support dates</t>
          </list>
        </t>
        <t>For asset instances: <list style="symbols">
            <t>The business and operational context (e.g., required function/role, owning
              organization, responsible parties)</t>
            <t>The composition and relationship of its constituent and containing assets (e.g.,
              installed hardware and software versions</t>
            <t>Assigned location for physical devices</t>
            <t>The current location within network(s)</t>
            <t>Current/historic operational state (e.g., running software, processes, user
              sessions)</t>
          </list>
        </t>

        <t>It can be important to characterize the components of an endpoint, including physical and
          logical components, and the relationships between the components, such as containment of
          components within other components, or mappings between logical entities and the physical
          entities used to instantiate them. The information about the physical entities might
          include manufacturer-assigned serial number, manufacture date, an asset identifier for the
          component, and so. Logical entities may be defined, and associated with the physical
          entities using a mapping table.</t>

        <t>Assets may be characterized based on data collected directly from endpoints (see section
            <xref target="sec-fc-data-collection" format="counter"/>) or by data provided by humans.
          While machnine-oriented sources of asset characterization data may be preferred, in many
          cases it is impractical or infeasible to collect specific asset details using technical
          data collection mechanisms. This is often true for asset characterization details that
          relate to the business, operational, or security context of the asset. In these cases
          human data entry is required to provide the necessary data.</t>

        <t>Asset characterization data may be made available to tools from a variety of sources.
          Asset data that is human-oriented and that infrequently changes may be provided as records
          in a content repository. Other sources of asset characterization data may include: asset
          management, configuration management, and other enterprise data stores.</t>

        <t>Example standardized data models include the ENTITY-MIB <xref target="RFC6933"/> the
          Q-BRIDGE-MIB MIB <xref target="RFC4363"/> and the MIB for Virtual Machines Controlled by a
          Hypervisor <!--xref target="draft-asai-vmm-mib-04"/-->.</t>
        <t>Another example is the HOST-RESOURCES-MIB <xref target="RFC2790"/>.</t>

        <t>[QUESTION: Do we need to document more examples?.]</t>

        <t>[QUESTION: Are these examples appropriate for this section? They seem to be more about
          data collection.]</t>

        <t>[QUESTION: It's not clear if aspects of endpoint posture should be included in this
          category. One way to look at asset characterization is that it is metadata that is
          provided by humans only. Do we want to move concepts that pertain to posture collected
          from endpoints to a different sub-section?]</t>
      </section>

      <section title="Deconfliction of Asset Identities" anchor="sec-fc-asset-deconfliction">
        <t>Different tools and data sources will use varying methods for asset identification. These methods should be standardized as much as possible to reduce the need for deconfliction. In reality, it will not be possible to standardize all forms of asset identification due to legacy, authorization, or network visibility concerns. In these cases, multiple forms of asset identity will need to be collected to enable tools to perform correlation of provided asset identification data.</t>
        <t>For class-level asset identities, it may be necessary for vendors and end-user organizations to provide mapping data enabling translations between different representations. Maintaining mappings between asset identification representations is often a labor-intensive, manual process that should be avoided by encouraging use of standardized asset identifiers.</t>
        <t>For instance-level asset identities, multiple forms of asset identification should be provided when collecting data from endpoints. Algorithms can then be used to weight and reconcile different types asset identities, and collected characteristics to correlate new data collected with historic information pertaining to an asset and/or endpoint. In many cases where insufficient identification information is available, it may only be possible to associate data collected from different points of view at a minimum level of confidence.</t>
      </section>

      <section title="Asset Targeting" anchor="sec-fc-asset-targeting">
        <t>TERM: Asset targeting is the use of asset identification and categorization information
          to drive human-directed, automated decision making for data collection and analysis in
          support of endpoint posture assessment.</t>

        <t>Endpoints, and the assets that compose them, contain a wealth of posture information. It
          is impractical to collect the full posture of all endpoints managed by and accessing
          resources within an organization. To support practical assessment of endpoint posture, it
          is necessary to collect specific posture information from endpoints based on an
          anticipated or actual need for the data. This collection may be performed by polling the
          endpoint for specific posture information on an ad-hoc basis or at regular intervals, or
          by communicating to the endpoint what posture information it should monitor and provide
          when changes occur. To support both methods, it will be necessary to associate what
          posture details need to be collected with asset identification and categorization
          information that describe what types of endpoints and assets that may provide these
          details. Furthermore, it will be necessary to use asset identification and categorization
          information to identify what assets should be evaluated for specific assessments.</t>

        <t>When defining content that drives data collection and analysis activities, or that
          provides information that enriches analysis of collected data, the need exists to relate
          this data to identified assets or to categories of assets described by asset
          characteristics. These associations, often called "statements of applicability" are
          critical to exposing information for machine processing.</t>
 
        <t>Statements of applicability enable digital policies (e.g., checklists, baselines, access
          control rules), data records (e.g., vulnerability data, associations of patches to
          software) to be associated with asset, security, operational, and business contexts. Using
          these associations, applicable content can be queried in content repositories and made
          available at the points where the data needs to be used. They also enable humans to query
          and (re)use content provided by other individuals in their organization, by vendors, and
          3rd parties in constructing policies and configuring data collection and analysis
          tools.</t>

        <t>For example, in order to establish an understanding of the security state of endpoints
          managed by an organization, the security system needs to be able to make use of various
          asset management data. It needs to: <list style="symbols">

            <t>Determine what is the expected state for those endpoints. To do this it will need to
              identify what expected state criteria is associated with the endpoint based on the
              identification and characterization of the endpoint, and any assets that compose the
              endpoint.</t>
            <t>Once the criteria is identified, it will need to determine what actual state data is
              needed to feed the analysis. This data will need to be retrieved from existing data
              stores and from the endpoints directly if necessary. Data collection rules may be
              associated with specific asset identifiers or characteristics that indicate what data
              sources or collectors to use to acquire the data.</t>
            <t>Once the necessary actual state information is acquired, the evaluator may need
              additional content to perform the analysis. Based on the collected information,
              specific records will be queried from a content repository based on asset identifiers
              and characteristics.</t>
            <t>Finally, the appropriate assessment can be performed.</t>
          </list>
        </t>
      </section>

<!--
      <section title="Asset Management" anchor="sec-uc-asset-management">
        <t>This text is a placeholder for future use cases.</t>

        <section title="Maintaining Asset Inventories">
          <t>Coverage involves understanding what and how many assets are under control. Assessing 80%
            of the enterprise assets is better than assessing 50% of the enterprise assets.</t>
          <t>Getting asset details can be 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.</t>
          <t>The security system may initiate an asset inquiry for updated asset information based on an alert from defensive monitoring systems or vulnerability bulletins, for example.  Such a request may be related to a new asset, requesting the asset management system to do a data refresh for an asset, or may instead ask for current information.</t>
        </section>

        <section title="Asset Discovery">
          <t>Many network management systems periodically test for the presence of endpoints or
            interfaces in a network, including discovering endpoints that have suddenly appeared in
            a network that are not authorized to be part of the network. Other approaches can be
            used to identify new endpoints as they connect to the network alowing for authentication
            and authorization to occur dynamically as part of a network access control decision.
            There are many layers of endpoints, and many standardized information models for
            determining endpoints in a network.</t>
          <t>These standardized collections include ARP tables <xref target="RFC0826"/>, Interface
            tables such as the Interfaces MIB (IF-MIB) <xref target="RFC2863"/> or the YANG module
            ietf-interfaces !-  xref target="I-D.draft-ietf-netmod-interfaces-cfg-12"/ -, Link
            Layer Discovery tables <xref target="RFC2922"/>, DHCP tables (Ref:???), and so on.</t>
        </section>


      </section>
-->
      <section title="Other Unedited Content">
        <t>The current editorial focus has been on the old asset management subsection. The content in these subsections needs to be reworked next.</t>
      <section title="Endpoint Configuration Management" anchor="sec-uc-configuration-management">
        <t>Organizations manage a variety of configurations within their enterprise including:
          endpoints, the hardware they are composed of, installed software, hardware/software
          licenses used, and configurations.</t>
        <t>Security configuration management (SCM) deals with the configuration of endpoints,
          including networking infrastructure devices and computing hosts. Data will include
          installed hardware and software, its configuration, and its use on the endpoint.</t>
        <t>[TODO: While some configuration settings might not be considered security relevant, it is
          not always possible to draw a clear distinction between security and non-security settings
          (e.g., power saving features). Do we want to make a distinction between security and
          non-security configuration settings?]</t>

        <t>The following list details some requisite Configuration Management capabilities: <list
            style="symbols">
            <t>[todo]</t>
          </list>
        </t>
        <section title="Organizing Configuration Metadata">
          <t>Configuration metadata supports tooling helping organizations understand what
            configuration they should implement, using specific configuration values.</t>
          <t>Enable data repositories containing machine-readable representations of: <list>
              <t>Configuration scoring: Characterizations of the relative security value of discrete
                configuration settings and specific values</t>
              <t>Configuration dependencies (e.g., lists of settings, associated software,
                pre-requisite configurations)</t>
              <t>Control catalog mappings supporting compliance [todo: in scope?]</t>
            </list>
          </t>
        </section>
        <section title="Publishing Recommended Configuration Posture">
          <t>Provide a mechanism for vendors and organizations to exchange machine-oriented
            descriptions of recommended configuration setting for software products. Enable
            organizations to apply recommended settings as expected configuration posture. Enable
            association of data-driven collection instructions using appropriate formats.</t>
        </section>
        <section title="Defining Organizationally Expected Configuration Posture">
          <t>Provide a mechanism for organizations to define and exchange expected configuration
            posture including: authorized software and associated configuration settings.</t>
          <t>[TODO: Should software installation posture be defined separately?]</t>
        </section>
        <section title="Collecting Endpoint Configuration Posture">
          <t>Enable collection and exchange of actual configuration posture including: installed
            software and values for configured settings.</t>
          <t>[TODO: Should collecting software installation posture be defined separately?]</t>
        </section>
        <section title="Comparing Expected and Actual Configuration Posture">
          <t>Enable evaluation of actual configuration posture against expected configuration
            posture. Generate a machine-oriented description of conformant and non-conformant posture
            including software inventory and configuration values.</t>
          <t>[TODO: Should collecting software installation posture be defined separately?]</t>
          <t>[TODO: Examining software version configuration - Example - HOST-RESOURCES-MIB</t>
        </section>

        <section title="Examining configuration of logical to physical mappings">
          <t>[TODO: not sure what this is? Is it in scope?]</t>
          <t>Example - ENTITY-MIB</t>
        </section>
        <section title="Configuring Endpoint Interfaces">
          <t>[TODO: not sure what this is? Is it in scope?]</t>
          <t>Example - YANG module ietf-interfaces</t>
        </section>
      </section>

      <section title="Endpoint Posture Change Management" anchor="sec-capability-change-management">
        <t>Organizations manage a variety of changes within their enterprise including: [todo] </t>

        <t>The following list details some requisite Change Management capabilities: <list
            style="symbols">
            <t>[todo]</t>
          </list>
        </t>
        <section title="Defining and Exchanging Baselines">
          <t>[todo]</t>
        </section>

        <section title="Detecting Unauthorized Changes">
          <t>[todo]</t>
          <t>[todo: figure out where these need to go]</t>
          <section title="Endpoint Addressing Changes">
            <t>Example - DHCP addressing</t>
          </section>
          <section title="Service Authorization Changes">
            <t>Example - RADIUS network access</t>
          </section>
          <section title="Dynamic Resource Assignment Changes">
            <t>Example - NAT logging</t>
          </section>
          <section title="Security Authorization Status Changes">
            <t>Example - SYSLOG Authorization messages. SYSLOG <xref target="RFC5424"/> includes
              facilities for security authorization messages. These messages can be used to alert an
              analysts that an authorization attempt failed, and the analyst might choose to follow
              up and assess potential attacks on the relevant endpoint. </t>
          </section>
        </section>

      </section>

      <section title="Security Vulnerability Management"
        anchor="sec-capability-vulnerability-management">
        <t> 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 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>policy attribute collection</t>
        <t>The following list details some requisite Vulnerability Management capabilities: <list
            style="symbols">
            <t>Collect the state of non-technical controls commonly called administrative controls
              (i.e. policy, process, procedure)</t>
            <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>
          </list>
        </t>
        <section title="Example - NIDS response">
          <t>1. An organization's Network Intrusion Detection System detects a suspect packet
            received by an endpoint and sends an alert to an analyst. The analyst looks up the
            endpoint in the asset inventory database, looks up the configuration policy associated
            with that endpoint, and initiates an endpoint assessment of installed software and
            patches on the endpoint to determine if the endpoint is compliant with policy. </t>
          <t>The analyst reviews the results of the assessment and takes action according to
            organization policy and procedures. </t>
        </section>
        <section title="Example - Historical vulnerability analysis">
          <t>When a serious vulnerability or a zero-day attack is discovered, one of the first
            priorities in any organization is to determine which endpoints may have been affected
            and assess those endpoints to try to determine whether they were compromised. Checking
            current endpoint state is not sufficient because an endpoint may have been temporarily
            compromised due to this vulnerability and then the infection may have removed itself. In
            fact, the vulnerable software may have been removed or upgraded since the compromise
            took place. And if the endpoint is still compromised, the malware on the endpoint may
            cause it to lie about its configuration. In this environment, maintaining historical
            information about endpoint configuration is essential. Such information can be used to
            find endpoints that had the vulnerable software installed at some point in time. Those
            endpoints can be checked for current or past indicators of compromise such as files or
            behavior linked to a known exploit for this vulnerability. Endpoints found to be
            vulnerable can be isolated to prevent infection while remediation is done. Endpoints
            believed to be compromised can be isolated for analysis and to limit the spread of
            infection. </t>
        </section>
        <section title="Source Address Validation">
          <t>Source Address Validation Improvement methods were developed to prevent nodes attached
            to the same IP link from spoofing each other's IP addresses, so as to complement ingress
            filtering with finer- grained, standardized IP source address validation. The framework
            document <!-- xref target="I-D.draft-ietf-savi-framework-06"/ --> describes and
            motivates the design of the SAVI methods. Particular SAVI methods are described in other
            documents. </t>
        </section>
      </section>


      <section title="Data Collection" anchor="sec-fc-data-collection">
        <t>Central to any automated assessment solution is the ability to collect data from, or
          related to, an endpoint, such as the security state of the endpoint and its constituent
          assets. </t>
        <t>So, is data collection a requirement or an architectural concept rather than a use
          case?</t>
        <t>QUESTION: Understand more about what is meant by non-software vulnerabilities </t>
      </section>

      <section title="Assessment Result Analysis" anchor="sec-capability-assessment-result-analysis">
        <t>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>

        <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="Content Management" anchor="sec-capability-content-management">
        <t>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>


        <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>
    </section>



    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>This memo documents, for Informational purposes, use cases for security automation. While
        it is about security, it does not affect security.</t>
    </section>


    <section title="Acknowledgements">
      <t>The National Institute of Standards and Technology (NIST) and/or the MITRE Corporation have
        developed specifications under the general term "Security Automation" including languages,
        protocols, enumerations, and metrics.</t>
      <t>The authors would like to recognize and thank Adam Montville for his work on early edits of
        this draft. Additionally, the authors would like to thank Kathleen Moriarty and Stephen
        Hanna for contributing text to this document. The authors 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>
    <section title="Change Log">
      <section title="-00- to -01-">
        <t>
          <list style="symbols">
            <t>Work on this revision has been focused on document content relating primarily to use of asset management data and functions.</t>
            <t>Made significant updates to section 3 including:<list style="symbols">
              <t>Reworked introductory text.</t>
              <t>Replaced the single example with multiple use cases that focus on more discrete uses of asset management data to support hardware and software inventory, and configuration management use cases.</t>
              <t>For one of the use cases, added mapping to functional capabilities used. If popular, this will be added to the other use cases as well.</t>
              <t>Additional use cases will be added in the next revision capturing additional discussion from the list.</t>
            </list></t>
            <t>Made significant updates to section 4 including:<list style="symbols">
              <t>Renamed the section heading from "Use Cases" to "Functional Capabilities" since use cases are covered in section 3. This section now extrapolates specific functions that are needed to support the use cases.</t>
              <t>Started work to flatten the section, moving select subsections up from under asset management.</t>
              <t>Removed the subsections for: Asset Discovery, Endpoint Components and Asset Composition, Asset Resources, and Asset Life Cycle.</t>
              <t>Renamed the subsection "Asset Representation Reconciliation" to "Deconfliction of Asset Identities".</t>
              <t>Expanded the subsections for: Asset Identification, Asset Characterization, and Deconfliction of Asset Identities.</t>
              <t>Added a new subsection for Asset Targeting.</t>
              <t>Moved remaining sections to "Other Unedited Content" for future updating.</t>
            </list></t>
          </list>
        </t>
      </section>

      <section title="draft-waltermire-sacm-use-cases-05 to draft-ietf-sacm-use-cases-00">
        <t>
          <list style="symbols">
            <t>Transitioned from individual I/D to WG I/D based on WG consensus call.</t>
            <t>Fixed a number of spelling errors. Thank you Erik!</t>
            <t>Added keywords to the front matter.</t>
            <t>Removed the terminology section from the draft. Terms have been moved to:
              draft-dbh-sacm-terminology-00</t>
            <t>Removed requirements to be moved into a new I/D.</t>
            <t>Extracted the functionality from the examples and made the examples less
              prominent.</t>
            <t>Renamed "Functional Capabilities and Requirements" section to "Use Cases". <list style="symbols">
                <t>Reorganized the "Asset Management" sub-section. Added new text throughout. <list
                    style="symbols">
                    <t>Renamed a few sub-section headings.</t>
                    <t>Added text to the "Asset Characterization" sub-section.</t>
                  </list>
                </t>
              </list>
            </t>
            <t>Renamed "Security Configuration Management" to "Endpoint Configuration Management".
              Not sure if the "security" distinction is important. <list style="symbols">
                <t>Added new sections, partially integrated existing content.</t>
                <t>Additional text is needed in all of the sub-sections.</t>
              </list>
            </t>

            <t>Changed "Security Change Management" to "Endpoint Posture Change Management". Added
              new skeletal outline sections for future updates.</t>
          </list>
        </t>
      </section>
      <section title="-04- to -05-">
        <t><list style="symbols">
            <t> Are we including user activities and behavior in the scope of this work? That seems
              to be layer 8 stuff, appropriate to an IDS/IPS application, not Internet stuff. </t>
            <t>I removed the references to what the WG will do because this belongs in the charter,
              not the (potentially long-lived) use cases document. I removed mention of charter
              objectives because the charter may go through multiple iterations over time; there is
              a website for hosting the charter; this document is not the correct place for that
              discussion.</t>
            <t>I moved the discussion of NIST specifications to the acknowledgements section.</t>
            <t>Removed the portion of the introduction that describes the chapters; we have a table
              of concepts, and the existing text seemed redundant.</t>
            <t>Removed marketing claims, to focus on technical concepts and technical analysis, that
              would enable subsequent engineering effort.</t>
            <t>Removed (commented out in XML) UC2 and UC3, and eliminated some text that referred to
              these use cases. </t>
            <t>Modified IANA and Security Consideration sections. </t>
            <t>Moved Terms to the front, so we can use them in the subsequent text. </t>
            <t>Removed the "Key Concepts" section, since the concepts of ORM and IRM were not
              otherwise mentioned in the document. This would seem more appropriate to the arch doc
              rather than use cases.</t>
            <t>Removed role=editor from David Waltermire's info, since there are three editors on
              the document. The editor is most important when one person writes the document that
              represents the work of multiple people. When there are three editors, this role
              marking isn't necessary.</t>
            <t>Modified text to describe that this was specific to enterprises, and that it was
              expected to overlap with service provider use cases, and described the context of this
              scoped work within a larger context of policy enforcement, and verification.</t>
            <t>The document had asset management, but the charter mentioned asset, change,
              configuration, and vulnerability management, so I added sections for each of those
              categories.</t>
            <t>Added text to Introduction explaining goal of the document.</t>
            <t>Added sections on various example use cases for asset management, config management,
              change management, and vulnerability management.</t>

          </list></t>
      </section>
    </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. -->
      &RFC0826; &RFC1213;
      &RFC2790; &RFC2863; &RFC2922; &RFC4363;
      &RFC5424;    &RFC6933; 
      
     
<!--
      &I-D.draft-ietf-nea-pt-eap-09;
      &RFC6876;
      &I-D.draft-ietf-netmod-interfaces-cfg-12;
      &I-D.draft-ietf-netmod-system-mgmt-08;
      &I-D.draft-ietf-savi-framework-06;
      &RFC2865;
      &RFC3535;
      &RFC3552;
      &RFC4949;
      &RFC5209;
      &RFC5226;
      &RFC5792;
      &RFC5793;
      &RFC6733;
-->
      <!-- &I-D.draft-asai-vmm-mib-04; -->
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 07:27:47