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-2026 | 2026-04-24 07:27:47 |